From d733e30604f820cca9739a1c0b7401a2f1c8affd Mon Sep 17 00:00:00 2001 From: Zyie <24736175+Zyie@users.noreply.github.com> Date: Wed, 22 Jun 2022 14:40:44 +0100 Subject: [PATCH] Chore: Convert Tests To Jest (#8411) --- .github/CONTRIBUTING.md | 10 +- .github/workflows/nodejs.yml | 2 +- .npmrc | 1 + global.d.ts | 3 + jest.config.js | 32 + package-lock.json | 47075 +++++++++------- package.json | 41 +- .../test/AccessibilityManager.tests.ts | 34 +- .../test/accessibleTarget.tests.ts | 12 +- packages/app/test/Application.tests.ts | 68 +- .../canvas-display/test/Container.tests.ts | 19 +- .../test/CanvasExtract.tests.ts | 31 +- .../test/CanvasGraphicsRenderer.tests.ts | 6 +- .../test/PolygonUtils.tests.ts | 29 +- .../canvas-mesh/test/NineSlicePlane.tests.ts | 7 +- .../test/CanvasMaskManager.tests.ts | 33 +- .../test/CanvasRenderer.tests.ts | 16 +- .../test/CanvasSpriteRenderer.tests.ts | 30 +- packages/constants/test/constants.tests.ts | 27 +- packages/core/test/ArrayResource.tests.ts | 23 +- packages/core/test/BaseTexture.tests.ts | 117 +- packages/core/test/BatchRenderer.tests.ts | 30 +- packages/core/test/CanvasResource.tests.ts | 30 +- packages/core/test/CubeResource.tests.ts | 7 +- packages/core/test/FilterSystem.tests.ts | 54 +- packages/core/test/FramebufferSystem.tests.ts | 159 +- packages/core/test/Geometry.tests.ts | 31 +- .../core/test/ImageBitmapResource.tests.ts | 24 +- packages/core/test/ImageResource.tests.ts | 75 +- packages/core/test/MaskSystem.tests.ts | 106 +- packages/core/test/ProjectionSystem.tests.ts | 13 +- packages/core/test/RenderTexture.tests.ts | 81 +- packages/core/test/RenderTexturePool.tests.ts | 31 +- .../core/test/RenderTextureSystem.tests.ts | 37 +- packages/core/test/Renderer.tests.ts | 44 +- packages/core/test/SVGResource.tests.ts | 87 +- packages/core/test/Shader.tests.ts | 4 +- packages/core/test/ShaderSystem.tests.ts | 9 +- packages/core/test/Texture.tests.ts | 213 +- packages/core/test/TextureSystem.tests.ts | 37 +- packages/core/test/UniformBuffer.tests.ts | 16 +- packages/core/test/VideoResource.tests.ts | 29 +- .../core/test/autoDetectResource.tests.ts | 33 +- packages/display/test/Container.tests.ts | 454 +- packages/display/test/DisplayObject.tests.ts | 166 +- packages/display/test/toGlobal.tests.ts | 9 +- packages/display/test/toLocal.tests.ts | 13 +- packages/events/test/EventBoundary.tests.ts | 64 +- packages/events/test/EventSystem.tests.ts | 74 +- packages/extract/test/Extract.tests.ts | 32 +- .../filter-alpha/test/AlphaFilter.tests.ts | 7 +- packages/filter-blur/test/BlurFilter.tests.ts | 19 +- .../test/ColorMatrixFilter.tests.ts | 9 +- .../graphics-extras/test/Graphics.tests.ts | 40 +- packages/graphics/test/Graphics.tests.ts | 324 +- .../interaction/test/InteractionData.tests.ts | 5 +- .../test/InteractionManager.tests.ts | 789 +- .../loaders/test/AppLoaderPlugin.tests.ts | 15 +- packages/loaders/test/AsyncQueue.tests.ts | 183 +- packages/loaders/test/Loader.tests.ts | 55 +- packages/loaders/test/LoaderBase.tests.ts | 396 +- packages/loaders/test/LoaderResource.test.ts | 2 + packages/loaders/test/TextureLoader.tests.ts | 22 +- packages/math-extras/test/Point.tests.ts | 190 +- packages/math-extras/test/Rectangle.tests.ts | 94 +- packages/math-extras/test/floatEqual.tests.ts | 5 +- .../test/lineIntersection.tests.ts | 19 +- .../test/segmentIntersection.tests.ts | 24 +- packages/math/test/Circle.tests.ts | 65 +- packages/math/test/Ellipse.tests.ts | 71 +- packages/math/test/Matrix.tests.ts | 192 +- packages/math/test/ObservablePoint.tests.ts | 34 +- packages/math/test/Point.tests.ts | 33 +- packages/math/test/Polygon.tests.ts | 44 +- packages/math/test/Rectangle.tests.ts | 275 +- packages/math/test/RoundedRectangle.tests.ts | 65 +- packages/math/test/Transform.tests.ts | 55 +- .../mesh-extras/test/NineSlicePlane.tests.ts | 21 +- packages/mesh-extras/test/SimpleMesh.tests.ts | 5 +- .../mesh-extras/test/SimplePlane.tests.ts | 13 +- packages/mesh-extras/test/SimpleRope.tests.ts | 5 +- packages/mesh/test/Mesh.tests.ts | 79 +- .../test/cacheAsBitmap.tests.ts | 33 +- .../test/getChildByName.tests.ts | 17 +- .../test/getGlobalPosition.tests.ts | 13 +- .../test/ParticleContainer.tests.ts | 5 +- .../test/ParticleRenderer.tests.ts | 10 +- packages/prepare/test/BasePrepare.tests.ts | 79 +- packages/prepare/test/CountLimiter.tests.ts | 17 +- packages/prepare/test/Prepare.tests.ts | 13 +- packages/prepare/test/TimeLimiter.tests.ts | 9 +- packages/runner/test/Runner.tests.ts | 76 +- packages/settings/test/settings.tests.ts | 32 +- .../test/AnimatedSprite.tests.ts | 127 +- .../sprite-tiling/test/TilingSprite.tests.ts | 86 +- packages/sprite/test/Sprite.tests.ts | 77 +- .../spritesheet/test/Spritesheet.tests.ts | 82 +- .../test/SpritesheetLoader.tests.ts | 151 +- packages/text-bitmap/test/BitmapFont.tests.ts | 32 +- .../test/BitmapFontLoader.tests.ts | 492 +- packages/text-bitmap/test/BitmapText.tests.ts | 59 +- packages/text/test/Text.tests.ts | 66 +- packages/text/test/TextMetrics.tests.ts | 249 +- packages/text/test/TextStyle.tests.ts | 23 +- packages/ticker/test/Ticker.tests.ts | 242 +- packages/ticker/test/TickerPlugin.tests.ts | 46 +- .../utils/test/CanvasRenderTarget.tests.ts | 31 +- packages/utils/test/TextureCache.tests.ts | 31 +- packages/utils/test/trimCanvas.tests.ts | 7 +- packages/utils/test/utils.tests.ts | 116 +- test/index.ts | 39 +- tools/integration-tests/test/Bounds.tests.ts | 220 +- .../integration-tests/test/Container.tests.ts | 41 +- .../test/DisplayObject.tests.ts | 5 +- .../test/getLocalBounds.tests.ts | 99 +- 115 files changed, 31804 insertions(+), 23554 deletions(-) create mode 100644 jest.config.js diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 3677fcffee..7de7a6ec4d 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -64,11 +64,11 @@ bug if it ever happens again. This prevents regressions from sneaking in. Tips for a faster workflow: - Run `npm start` in one terminal. This watches the source tree and compiles it incrementally. -- When desired, run `npm run unit-test` in another terminal. This runs tests using the compilation output from `npm start`. -- Run `npm run unit-test:debug` to use headful DevTools to debug or develop tests -- For testing specific a package, use `--package` flag, e.g., `npm run unit-test -- --package=@pixi/math` -- The `--package` flag supports multiple packages, e.g., `npm run unit-test -- --package=@pixi/math --package=@pixi/core` -- The `--package` flag supports debug testing as well, e.g., `npm run unit-test:debug -- --package=@pixi/math` +- When desired, run `npm run test` in another terminal. This runs tests using the compilation output from `npm start`. +- Run `npm run test:debug` to use headful DevTools to debug or develop tests +- For testing specific a package, use `npm run test:pkg` with the `--packages` flag, e.g., `npm run test:pkg -- --packages=@pixi/math` +- The `--packages` flag supports multiple packages, e.g., `npm run test:pkg -- --packages=@pixi/math @pixi/core` +- Run `npm run test:pkg:debug` for debugging specific packages `npm run test:pkg:debug -- --packages=@pixi/math @pixi/core` ### Submitting Your Change diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index fce815b46b..145d1d57b6 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -37,7 +37,7 @@ jobs: - name: Run Unit Tests uses: GabrielBB/xvfb-action@v1.0 with: - run: npm run coverage:ci + run: npm run coverage env: NODE_ENV: production diff --git a/.npmrc b/.npmrc index c42da845b4..120713954a 100644 --- a/.npmrc +++ b/.npmrc @@ -1 +1,2 @@ engine-strict = true +legacy-peer-deps diff --git a/global.d.ts b/global.d.ts index 5cbf29eafc..244fd07fb7 100644 --- a/global.d.ts +++ b/global.d.ts @@ -1,3 +1,6 @@ +// eslint-disable-next-line spaced-comment +/// + declare module '*.frag' { const value: string; diff --git a/jest.config.js b/jest.config.js new file mode 100644 index 0000000000..0ba320f418 --- /dev/null +++ b/jest.config.js @@ -0,0 +1,32 @@ +module.exports = { + testPathIgnorePatterns: ['/node_modules/', '/src/', '/dist/', '/lib/'], + preset: 'ts-jest/presets/js-with-ts', + runner: 'jest-electron/runner', + testEnvironment: 'jest-electron/environment', + setupFilesAfterEnv: [ + 'jest-extended/all', + ], + transform: { + '\\.vert$': 'jest-raw-loader', + '\\.frag$': 'jest-raw-loader', + }, + moduleNameMapper: { + '^@pixi/(.*)$': '/packages/$1/src', + }, + testMatch: ['**/?(*.)+(spec|tests).[tj]s?(x)'], + globals: { + 'ts-jest': { + tsconfig: { + module: 'ESNext', + esModuleInterop: true, + }, + diagnostics: false, + }, + }, + collectCoverageFrom: [ + '/packages/**/*.ts', + '!/packages/**/*.d.ts', + '!/packages/polyfill/**/*.ts', + ], + coverageDirectory: '/dist/coverage', +}; diff --git a/package-lock.json b/package-lock.json index 1fcd93fb41..49039a14f0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,6 @@ "tools/*" ], "devDependencies": { - "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "~7.20.1", "@pixi-build-tools/api-extractor-lerna-monorepo": "~1.1.0", "@pixi/eslint-config": "^4.0.1", @@ -23,21 +22,20 @@ "@rollup/plugin-node-resolve": "^9.0.0", "@rollup/plugin-typescript": "^6.0.0", "@types/chai": "^4.3.1", - "@types/mocha": "^8.2.3", - "@types/sinon": "^10.0.11", - "@types/sinon-chai": "^3.2.8", + "@types/jest": "^26.0.0", "@webdoc/cli": "^1.5.5", - "chai": "~4.3.6", "copyfiles": "^2.1.0", "cross-env": "^5.2.0", "electron": "^12.0.0", "eslint": "^7.2.0", "eslint-plugin-jsdoc": "^39.2.9", - "floss": "^5.0.0", "glob": "^7.1.3", + "jest": "^26.0.0", + "jest-electron": "^0.1.12", + "jest-extended": "^1.2.1", + "jest-raw-loader": "^1.0.1", "lerna": "^4.0.0", "npm-run-all": "^4.1.5", - "nyc": "^15.1.0", "pre-commit": "^1.2.2", "rimraf": "^2.6.3", "rollup": "^2.70.1", @@ -46,12 +44,12 @@ "rollup-plugin-string": "^3.0.0", "rollup-plugin-terser": "^7.0.2", "rollup-plugin-typescript": "^1.0.1", - "sinon": "^7.3.2", - "sinon-chai": "^3.3.0", + "ts-jest": "^26.0.0", "ts-node": "^9.0.0", "tsconfig-paths": "^3.10.1", "typescript": "~4.3.0", - "workspaces-run": "^1.0.1" + "workspaces-run": "^1.0.1", + "yargs-parser": "^21.0.1" }, "engines": { "node": ">=14", @@ -526,9 +524,10 @@ } }, "node_modules/@babel/parser": { - "version": "7.14.1", + "version": "7.18.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.5.tgz", + "integrity": "sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw==", "dev": true, - "license": "MIT", "bin": { "parser": "bin/babel-parser.js" }, @@ -536,6 +535,66 @@ "node": ">=6.0.0" } }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-jsx": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz", @@ -551,6 +610,93 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-transform-react-display-name": { "version": "7.15.1", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.15.1.tgz", @@ -707,12 +853,34 @@ "node": ">=6.9.0" } }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, "node_modules/@changesets/types": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/@changesets/types/-/types-0.4.0.tgz", "integrity": "sha512-TclHHKDVYQ8rJGZgVeWiF7c91yWzTTWdPagltgutelGu/Psup5PQlUq6svx7S8suj+jXcaE34yEEsfIvzXXB2Q==", "dev": true }, + "node_modules/@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "dev": true, + "dependencies": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + }, + "bin": { + "watch": "cli.js" + }, + "engines": { + "node": ">=0.1.95" + } + }, "node_modules/@electron/get": { "version": "1.12.4", "dev": true, @@ -833,298 +1001,403 @@ "node": ">=8" } }, - "node_modules/@istanbuljs/nyc-config-typescript": { - "version": "1.0.1", + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", "dev": true, - "license": "ISC", - "dependencies": { - "@istanbuljs/schema": "^0.1.2" - }, + "license": "MIT", "engines": { "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz", + "integrity": "sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^26.6.2", + "jest-util": "^26.6.2", + "slash": "^3.0.0" }, - "peerDependencies": { - "nyc": ">=15", - "source-map-support": "*", - "ts-node": "*" + "engines": { + "node": ">= 10.14.2" } }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", + "node_modules/@jest/console/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@jsbits/escape-regex-str": { - "version": "1.0.3", + "node_modules/@jest/console/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=4.2" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@jsbits/get-package-version": { - "version": "1.0.3", + "node_modules/@jest/console/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">=4.2" + "node": ">=7.0.0" } }, - "node_modules/@lerna/add": { + "node_modules/@jest/console/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/add/-/add-4.0.0.tgz", - "integrity": "sha512-cpmAH1iS3k8JBxNvnMqrGTTjbY/ZAiKa1ChJzFevMYY3eeqbvhsBKnBcxjRXtdrJ6bd3dCQM+ZtK+0i682Fhng==", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "@lerna/bootstrap": "4.0.0", - "@lerna/command": "4.0.0", - "@lerna/filter-options": "4.0.0", - "@lerna/npm-conf": "4.0.0", - "@lerna/validation-error": "4.0.0", - "dedent": "^0.7.0", - "npm-package-arg": "^8.1.0", - "p-map": "^4.0.0", - "pacote": "^11.2.6", - "semver": "^7.3.4" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 10.18.0" + "node": ">=8" } }, - "node_modules/@lerna/add/node_modules/@lerna/validation-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", - "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", + "node_modules/@jest/core": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz", + "integrity": "sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==", "dev": true, "dependencies": { - "npmlog": "^4.1.2" + "@jest/console": "^26.6.2", + "@jest/reporters": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^26.6.2", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-resolve-dependencies": "^26.6.3", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "jest-watcher": "^26.6.2", + "micromatch": "^4.0.2", + "p-each-series": "^2.1.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">= 10.18.0" + "node": ">= 10.14.2" } }, - "node_modules/@lerna/add/node_modules/hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "node_modules/@jest/core/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@lerna/add/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/@jest/core/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "dependencies": { - "yallist": "^4.0.0" + "fill-range": "^7.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/@lerna/add/node_modules/npm-package-arg": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", - "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "node_modules/@jest/core/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@lerna/add/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "node_modules/@jest/core/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" + "color-name": "~1.1.4" }, - "bin": { - "semver": "bin/semver.js" + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/core/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/@lerna/add/node_modules/yallist": { + "node_modules/@jest/core/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "node_modules/@lerna/bootstrap": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-4.0.0.tgz", - "integrity": "sha512-RkS7UbeM2vu+kJnHzxNRCLvoOP9yGNgkzRdy4UV2hNalD7EP41bLvRVOwRYQ7fhc2QcbhnKNdOBihYRL0LcKtw==", + "node_modules/@jest/core/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/@jest/core/node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "dependencies": { - "@lerna/command": "4.0.0", - "@lerna/filter-options": "4.0.0", - "@lerna/has-npm-version": "4.0.0", - "@lerna/npm-install": "4.0.0", - "@lerna/package-graph": "4.0.0", - "@lerna/pulse-till-done": "4.0.0", - "@lerna/rimraf-dir": "4.0.0", - "@lerna/run-lifecycle": "4.0.0", - "@lerna/run-topologically": "4.0.0", - "@lerna/symlink-binary": "4.0.0", - "@lerna/symlink-dependencies": "4.0.0", - "@lerna/validation-error": "4.0.0", - "dedent": "^0.7.0", - "get-port": "^5.1.1", - "multimatch": "^5.0.0", - "npm-package-arg": "^8.1.0", - "npmlog": "^4.1.2", - "p-map": "^4.0.0", - "p-map-series": "^2.1.0", - "p-waterfall": "^2.1.1", - "read-package-tree": "^5.3.1", - "semver": "^7.3.4" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, "engines": { - "node": ">= 10.18.0" + "node": ">=8.6" } }, - "node_modules/@lerna/bootstrap/node_modules/@lerna/validation-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", - "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", + "node_modules/@jest/core/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "dependencies": { - "npmlog": "^4.1.2" + "glob": "^7.1.3" }, - "engines": { - "node": ">= 10.18.0" + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@lerna/bootstrap/node_modules/hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "node_modules/@jest/core/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/@lerna/bootstrap/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/@jest/core/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "yallist": "^4.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/@lerna/bootstrap/node_modules/npm-package-arg": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", - "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "node_modules/@jest/core/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "dependencies": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" + "is-number": "^7.0.0" }, "engines": { - "node": ">=10" + "node": ">=8.0" } }, - "node_modules/@lerna/bootstrap/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "node_modules/@jest/environment": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", + "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2" }, "engines": { - "node": ">=10" + "node": ">= 10.14.2" } }, - "node_modules/@lerna/bootstrap/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "node_modules/@jest/environment/node_modules/jest-mock": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", + "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "@types/node": "*" + }, + "engines": { + "node": ">= 10.14.2" + } }, - "node_modules/@lerna/changed": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/changed/-/changed-4.0.0.tgz", - "integrity": "sha512-cD+KuPRp6qiPOD+BO6S6SN5cARspIaWSOqGBpGnYzLb4uWT8Vk4JzKyYtc8ym1DIwyoFXHosXt8+GDAgR8QrgQ==", + "node_modules/@jest/fake-timers": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz", + "integrity": "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==", "dev": true, "dependencies": { - "@lerna/collect-updates": "4.0.0", - "@lerna/command": "4.0.0", - "@lerna/listable": "4.0.0", - "@lerna/output": "4.0.0" + "@jest/types": "^26.6.2", + "@sinonjs/fake-timers": "^6.0.1", + "@types/node": "*", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" }, "engines": { - "node": ">= 10.18.0" + "node": ">= 10.14.2" } }, - "node_modules/@lerna/check-working-tree": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/check-working-tree/-/check-working-tree-4.0.0.tgz", - "integrity": "sha512-/++bxM43jYJCshBiKP5cRlCTwSJdRSxVmcDAXM+1oUewlZJVSVlnks5eO0uLxokVFvLhHlC5kHMc7gbVFPHv6Q==", + "node_modules/@jest/fake-timers/node_modules/jest-mock": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", + "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", "dev": true, "dependencies": { - "@lerna/collect-uncommitted": "4.0.0", - "@lerna/describe-ref": "4.0.0", - "@lerna/validation-error": "4.0.0" + "@jest/types": "^26.6.2", + "@types/node": "*" }, "engines": { - "node": ">= 10.18.0" + "node": ">= 10.14.2" } }, - "node_modules/@lerna/check-working-tree/node_modules/@lerna/validation-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", - "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", + "node_modules/@jest/globals": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz", + "integrity": "sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==", "dev": true, "dependencies": { - "npmlog": "^4.1.2" + "@jest/environment": "^26.6.2", + "@jest/types": "^26.6.2", + "expect": "^26.6.2" }, "engines": { - "node": ">= 10.18.0" + "node": ">= 10.14.2" } }, - "node_modules/@lerna/child-process": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/child-process/-/child-process-4.0.0.tgz", - "integrity": "sha512-XtCnmCT9eyVsUUHx6y/CTBYdV9g2Cr/VxyseTWBgfIur92/YKClfEtJTbOh94jRT62hlKLqSvux/UhxXVh613Q==", + "node_modules/@jest/reporters": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz", + "integrity": "sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==", "dev": true, "dependencies": { - "chalk": "^4.1.0", - "execa": "^5.0.0", - "strong-log-transformer": "^2.1.0" + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.3", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "jest-haste-map": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^7.0.0" }, "engines": { - "node": ">= 10.18.0" + "node": ">= 10.14.2" + }, + "optionalDependencies": { + "node-notifier": "^8.0.0" } }, - "node_modules/@lerna/child-process/node_modules/ansi-styles": { + "node_modules/@jest/reporters/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", @@ -1139,7 +1412,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@lerna/child-process/node_modules/chalk": { + "node_modules/@jest/reporters/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -1155,7 +1428,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@lerna/child-process/node_modules/color-convert": { + "node_modules/@jest/reporters/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", @@ -1167,7 +1440,7 @@ "node": ">=7.0.0" } }, - "node_modules/@lerna/child-process/node_modules/has-flag": { + "node_modules/@jest/reporters/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", @@ -1176,7 +1449,7 @@ "node": ">=8" } }, - "node_modules/@lerna/child-process/node_modules/supports-color": { + "node_modules/@jest/reporters/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", @@ -1188,50 +1461,78 @@ "node": ">=8" } }, - "node_modules/@lerna/clean": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/clean/-/clean-4.0.0.tgz", - "integrity": "sha512-uugG2iN9k45ITx2jtd8nEOoAtca8hNlDCUM0N3lFgU/b1mEQYAPRkqr1qs4FLRl/Y50ZJ41wUz1eazS+d/0osA==", + "node_modules/@jest/source-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz", + "integrity": "sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==", "dev": true, "dependencies": { - "@lerna/command": "4.0.0", - "@lerna/filter-options": "4.0.0", - "@lerna/prompt": "4.0.0", - "@lerna/pulse-till-done": "4.0.0", - "@lerna/rimraf-dir": "4.0.0", - "p-map": "^4.0.0", - "p-map-series": "^2.1.0", - "p-waterfall": "^2.1.1" + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" }, "engines": { - "node": ">= 10.18.0" + "node": ">= 10.14.2" } }, - "node_modules/@lerna/cli": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/cli/-/cli-4.0.0.tgz", - "integrity": "sha512-Neaw3GzFrwZiRZv2g7g6NwFjs3er1vhraIniEs0jjVLPMNC4eata0na3GfE5yibkM/9d3gZdmihhZdZ3EBdvYA==", + "node_modules/@jest/test-result": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz", + "integrity": "sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==", "dev": true, "dependencies": { - "@lerna/global-options": "4.0.0", - "dedent": "^0.7.0", - "npmlog": "^4.1.2", - "yargs": "^16.2.0" + "@jest/console": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" }, "engines": { - "node": ">= 10.18.0" + "node": ">= 10.14.2" } }, - "node_modules/@lerna/cli/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/@jest/test-sequencer": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz", + "integrity": "sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==", "dev": true, + "dependencies": { + "@jest/test-result": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3" + }, "engines": { - "node": ">=8" + "node": ">= 10.14.2" } }, - "node_modules/@lerna/cli/node_modules/ansi-styles": { + "node_modules/@jest/transform": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", + "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^26.6.2", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-util": "^26.6.2", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/transform/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", @@ -1246,147 +1547,142 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@lerna/cli/node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "node_modules/@jest/transform/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@lerna/cli/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/@jest/transform/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "color-name": "~1.1.4" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@lerna/cli/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/@lerna/cli/node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@lerna/cli/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "node_modules/@jest/transform/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">=8" + "node": ">=7.0.0" } }, - "node_modules/@lerna/cli/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/@jest/transform/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "to-regex-range": "^5.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/@lerna/cli/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/@jest/transform/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, "engines": { "node": ">=8" } }, - "node_modules/@lerna/cli/node_modules/wrap-ansi": { + "node_modules/@jest/transform/node_modules/is-number": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/@jest/transform/node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">=8.6" } }, - "node_modules/@lerna/cli/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "node_modules/@jest/transform/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/@lerna/cli/node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "node_modules/@jest/transform/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "is-number": "^7.0.0" }, "engines": { - "node": ">=10" + "node": ">=8.0" } }, - "node_modules/@lerna/cli/node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "node_modules/@jest/transform/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" } }, - "node_modules/@lerna/collect-uncommitted": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/collect-uncommitted/-/collect-uncommitted-4.0.0.tgz", - "integrity": "sha512-ufSTfHZzbx69YNj7KXQ3o66V4RC76ffOjwLX0q/ab//61bObJ41n03SiQEhSlmpP+gmFbTJ3/7pTe04AHX9m/g==", + "node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", "dev": true, "dependencies": { - "@lerna/child-process": "4.0.0", - "chalk": "^4.1.0", - "npmlog": "^4.1.2" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": ">= 10.18.0" + "node": ">= 10.14.2" } }, - "node_modules/@lerna/collect-uncommitted/node_modules/ansi-styles": { + "node_modules/@jest/types/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", @@ -1401,7 +1697,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@lerna/collect-uncommitted/node_modules/chalk": { + "node_modules/@jest/types/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -1417,7 +1713,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@lerna/collect-uncommitted/node_modules/color-convert": { + "node_modules/@jest/types/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", @@ -1429,7 +1725,7 @@ "node": ">=7.0.0" } }, - "node_modules/@lerna/collect-uncommitted/node_modules/has-flag": { + "node_modules/@jest/types/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", @@ -1438,7 +1734,7 @@ "node": ">=8" } }, - "node_modules/@lerna/collect-uncommitted/node_modules/supports-color": { + "node_modules/@jest/types/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", @@ -1450,78 +1746,44 @@ "node": ">=8" } }, - "node_modules/@lerna/collect-updates": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-4.0.0.tgz", - "integrity": "sha512-bnNGpaj4zuxsEkyaCZLka9s7nMs58uZoxrRIPJ+nrmrZYp1V5rrd+7/NYTuunOhY2ug1sTBvTAxj3NZQ+JKnOw==", - "dev": true, - "dependencies": { - "@lerna/child-process": "4.0.0", - "@lerna/describe-ref": "4.0.0", - "minimatch": "^3.0.4", - "npmlog": "^4.1.2", - "slash": "^3.0.0" - }, - "engines": { - "node": ">= 10.18.0" - } - }, - "node_modules/@lerna/command": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/command/-/command-4.0.0.tgz", - "integrity": "sha512-LM9g3rt5FsPNFqIHUeRwWXLNHJ5NKzOwmVKZ8anSp4e1SPrv2HNc1V02/9QyDDZK/w+5POXH5lxZUI1CHaOK/A==", + "node_modules/@jsbits/escape-regex-str": { + "version": "1.0.3", "dev": true, - "dependencies": { - "@lerna/child-process": "4.0.0", - "@lerna/package-graph": "4.0.0", - "@lerna/project": "4.0.0", - "@lerna/validation-error": "4.0.0", - "@lerna/write-log-file": "4.0.0", - "clone-deep": "^4.0.1", - "dedent": "^0.7.0", - "execa": "^5.0.0", - "is-ci": "^2.0.0", - "npmlog": "^4.1.2" - }, + "license": "MIT", "engines": { - "node": ">= 10.18.0" + "node": ">=4.2" } }, - "node_modules/@lerna/command/node_modules/@lerna/validation-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", - "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", + "node_modules/@jsbits/get-package-version": { + "version": "1.0.3", "dev": true, - "dependencies": { - "npmlog": "^4.1.2" - }, + "license": "MIT", "engines": { - "node": ">= 10.18.0" + "node": ">=4.2" } }, - "node_modules/@lerna/conventional-commits": { + "node_modules/@lerna/add": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-4.0.0.tgz", - "integrity": "sha512-CSUQRjJHFrH8eBn7+wegZLV3OrNc0Y1FehYfYGhjLE2SIfpCL4bmfu/ViYuHh9YjwHaA+4SX6d3hR+xkeseKmw==", + "resolved": "https://registry.npmjs.org/@lerna/add/-/add-4.0.0.tgz", + "integrity": "sha512-cpmAH1iS3k8JBxNvnMqrGTTjbY/ZAiKa1ChJzFevMYY3eeqbvhsBKnBcxjRXtdrJ6bd3dCQM+ZtK+0i682Fhng==", "dev": true, "dependencies": { + "@lerna/bootstrap": "4.0.0", + "@lerna/command": "4.0.0", + "@lerna/filter-options": "4.0.0", + "@lerna/npm-conf": "4.0.0", "@lerna/validation-error": "4.0.0", - "conventional-changelog-angular": "^5.0.12", - "conventional-changelog-core": "^4.2.2", - "conventional-recommended-bump": "^6.1.0", - "fs-extra": "^9.1.0", - "get-stream": "^6.0.0", - "lodash.template": "^4.5.0", + "dedent": "^0.7.0", "npm-package-arg": "^8.1.0", - "npmlog": "^4.1.2", - "pify": "^5.0.0", + "p-map": "^4.0.0", + "pacote": "^11.2.6", "semver": "^7.3.4" }, "engines": { "node": ">= 10.18.0" } }, - "node_modules/@lerna/conventional-commits/node_modules/@lerna/validation-error": { + "node_modules/@lerna/add/node_modules/@lerna/validation-error": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", @@ -1533,34 +1795,7 @@ "node": ">= 10.18.0" } }, - "node_modules/@lerna/conventional-commits/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/conventional-commits/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@lerna/conventional-commits/node_modules/hosted-git-info": { + "node_modules/@lerna/add/node_modules/hosted-git-info": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", @@ -1572,19 +1807,7 @@ "node": ">=10" } }, - "node_modules/@lerna/conventional-commits/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@lerna/conventional-commits/node_modules/lru-cache": { + "node_modules/@lerna/add/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", @@ -1596,7 +1819,7 @@ "node": ">=10" } }, - "node_modules/@lerna/conventional-commits/node_modules/npm-package-arg": { + "node_modules/@lerna/add/node_modules/npm-package-arg": { "version": "8.1.5", "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", @@ -1610,19 +1833,7 @@ "node": ">=10" } }, - "node_modules/@lerna/conventional-commits/node_modules/pify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", - "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@lerna/conventional-commits/node_modules/semver": { + "node_modules/@lerna/add/node_modules/semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", @@ -1637,101 +1848,46 @@ "node": ">=10" } }, - "node_modules/@lerna/conventional-commits/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@lerna/conventional-commits/node_modules/yallist": { + "node_modules/@lerna/add/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "node_modules/@lerna/create": { + "node_modules/@lerna/bootstrap": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/create/-/create-4.0.0.tgz", - "integrity": "sha512-mVOB1niKByEUfxlbKTM1UNECWAjwUdiioIbRQZEeEabtjCL69r9rscIsjlGyhGWCfsdAG5wfq4t47nlDXdLLag==", + "resolved": "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-4.0.0.tgz", + "integrity": "sha512-RkS7UbeM2vu+kJnHzxNRCLvoOP9yGNgkzRdy4UV2hNalD7EP41bLvRVOwRYQ7fhc2QcbhnKNdOBihYRL0LcKtw==", "dev": true, "dependencies": { - "@lerna/child-process": "4.0.0", "@lerna/command": "4.0.0", - "@lerna/npm-conf": "4.0.0", + "@lerna/filter-options": "4.0.0", + "@lerna/has-npm-version": "4.0.0", + "@lerna/npm-install": "4.0.0", + "@lerna/package-graph": "4.0.0", + "@lerna/pulse-till-done": "4.0.0", + "@lerna/rimraf-dir": "4.0.0", + "@lerna/run-lifecycle": "4.0.0", + "@lerna/run-topologically": "4.0.0", + "@lerna/symlink-binary": "4.0.0", + "@lerna/symlink-dependencies": "4.0.0", "@lerna/validation-error": "4.0.0", "dedent": "^0.7.0", - "fs-extra": "^9.1.0", - "globby": "^11.0.2", - "init-package-json": "^2.0.2", + "get-port": "^5.1.1", + "multimatch": "^5.0.0", "npm-package-arg": "^8.1.0", - "p-reduce": "^2.1.0", - "pacote": "^11.2.6", - "pify": "^5.0.0", - "semver": "^7.3.4", - "slash": "^3.0.0", - "validate-npm-package-license": "^3.0.4", - "validate-npm-package-name": "^3.0.0", - "whatwg-url": "^8.4.0", - "yargs-parser": "20.2.4" - }, - "engines": { - "node": ">= 10.18.0" - } - }, - "node_modules/@lerna/create-symlink": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/create-symlink/-/create-symlink-4.0.0.tgz", - "integrity": "sha512-I0phtKJJdafUiDwm7BBlEUOtogmu8+taxq6PtIrxZbllV9hWg59qkpuIsiFp+no7nfRVuaasNYHwNUhDAVQBig==", - "dev": true, - "dependencies": { - "cmd-shim": "^4.1.0", - "fs-extra": "^9.1.0", - "npmlog": "^4.1.2" + "npmlog": "^4.1.2", + "p-map": "^4.0.0", + "p-map-series": "^2.1.0", + "p-waterfall": "^2.1.1", + "read-package-tree": "^5.3.1", + "semver": "^7.3.4" }, "engines": { "node": ">= 10.18.0" } }, - "node_modules/@lerna/create-symlink/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/create-symlink/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@lerna/create-symlink/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@lerna/create/node_modules/@lerna/validation-error": { + "node_modules/@lerna/bootstrap/node_modules/@lerna/validation-error": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", @@ -1743,22 +1899,7 @@ "node": ">= 10.18.0" } }, - "node_modules/@lerna/create/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/create/node_modules/hosted-git-info": { + "node_modules/@lerna/bootstrap/node_modules/hosted-git-info": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", @@ -1770,19 +1911,7 @@ "node": ">=10" } }, - "node_modules/@lerna/create/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@lerna/create/node_modules/lru-cache": { + "node_modules/@lerna/bootstrap/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", @@ -1794,7 +1923,7 @@ "node": ">=10" } }, - "node_modules/@lerna/create/node_modules/npm-package-arg": { + "node_modules/@lerna/bootstrap/node_modules/npm-package-arg": { "version": "8.1.5", "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", @@ -1808,19 +1937,7 @@ "node": ">=10" } }, - "node_modules/@lerna/create/node_modules/pify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", - "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@lerna/create/node_modules/semver": { + "node_modules/@lerna/bootstrap/node_modules/semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", @@ -1835,59 +1952,42 @@ "node": ">=10" } }, - "node_modules/@lerna/create/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@lerna/create/node_modules/yallist": { + "node_modules/@lerna/bootstrap/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "node_modules/@lerna/create/node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/describe-ref": { + "node_modules/@lerna/changed": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-4.0.0.tgz", - "integrity": "sha512-eTU5+xC4C5Gcgz+Ey4Qiw9nV2B4JJbMulsYJMW8QjGcGh8zudib7Sduj6urgZXUYNyhYpRs+teci9M2J8u+UvQ==", + "resolved": "https://registry.npmjs.org/@lerna/changed/-/changed-4.0.0.tgz", + "integrity": "sha512-cD+KuPRp6qiPOD+BO6S6SN5cARspIaWSOqGBpGnYzLb4uWT8Vk4JzKyYtc8ym1DIwyoFXHosXt8+GDAgR8QrgQ==", "dev": true, "dependencies": { - "@lerna/child-process": "4.0.0", - "npmlog": "^4.1.2" + "@lerna/collect-updates": "4.0.0", + "@lerna/command": "4.0.0", + "@lerna/listable": "4.0.0", + "@lerna/output": "4.0.0" }, "engines": { "node": ">= 10.18.0" } }, - "node_modules/@lerna/diff": { + "node_modules/@lerna/check-working-tree": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/diff/-/diff-4.0.0.tgz", - "integrity": "sha512-jYPKprQVg41+MUMxx6cwtqsNm0Yxx9GDEwdiPLwcUTFx+/qKCEwifKNJ1oGIPBxyEHX2PFCOjkK39lHoj2qiag==", + "resolved": "https://registry.npmjs.org/@lerna/check-working-tree/-/check-working-tree-4.0.0.tgz", + "integrity": "sha512-/++bxM43jYJCshBiKP5cRlCTwSJdRSxVmcDAXM+1oUewlZJVSVlnks5eO0uLxokVFvLhHlC5kHMc7gbVFPHv6Q==", "dev": true, "dependencies": { - "@lerna/child-process": "4.0.0", - "@lerna/command": "4.0.0", - "@lerna/validation-error": "4.0.0", - "npmlog": "^4.1.2" + "@lerna/collect-uncommitted": "4.0.0", + "@lerna/describe-ref": "4.0.0", + "@lerna/validation-error": "4.0.0" }, "engines": { "node": ">= 10.18.0" } }, - "node_modules/@lerna/diff/node_modules/@lerna/validation-error": { + "node_modules/@lerna/check-working-tree/node_modules/@lerna/validation-error": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", @@ -1899,492 +1999,283 @@ "node": ">= 10.18.0" } }, - "node_modules/@lerna/exec": { + "node_modules/@lerna/child-process": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/exec/-/exec-4.0.0.tgz", - "integrity": "sha512-VGXtL/b/JfY84NB98VWZpIExfhLOzy0ozm/0XaS4a2SmkAJc5CeUfrhvHxxkxiTBLkU+iVQUyYEoAT0ulQ8PCw==", + "resolved": "https://registry.npmjs.org/@lerna/child-process/-/child-process-4.0.0.tgz", + "integrity": "sha512-XtCnmCT9eyVsUUHx6y/CTBYdV9g2Cr/VxyseTWBgfIur92/YKClfEtJTbOh94jRT62hlKLqSvux/UhxXVh613Q==", "dev": true, "dependencies": { - "@lerna/child-process": "4.0.0", - "@lerna/command": "4.0.0", - "@lerna/filter-options": "4.0.0", - "@lerna/profiler": "4.0.0", - "@lerna/run-topologically": "4.0.0", - "@lerna/validation-error": "4.0.0", - "p-map": "^4.0.0" + "chalk": "^4.1.0", + "execa": "^5.0.0", + "strong-log-transformer": "^2.1.0" }, "engines": { "node": ">= 10.18.0" } }, - "node_modules/@lerna/exec/node_modules/@lerna/validation-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", - "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", + "node_modules/@lerna/child-process/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "npmlog": "^4.1.2" + "color-convert": "^2.0.1" }, "engines": { - "node": ">= 10.18.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@lerna/filter-options": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-4.0.0.tgz", - "integrity": "sha512-vV2ANOeZhOqM0rzXnYcFFCJ/kBWy/3OA58irXih9AMTAlQLymWAK0akWybl++sUJ4HB9Hx12TOqaXbYS2NM5uw==", + "node_modules/@lerna/child-process/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "@lerna/collect-updates": "4.0.0", - "@lerna/filter-packages": "4.0.0", - "dedent": "^0.7.0", - "npmlog": "^4.1.2" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 10.18.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@lerna/filter-packages": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-4.0.0.tgz", - "integrity": "sha512-+4AJIkK7iIiOaqCiVTYJxh/I9qikk4XjNQLhE3kixaqgMuHl1NQ99qXRR0OZqAWB9mh8Z1HA9bM5K1HZLBTOqA==", - "dev": true, - "dependencies": { - "@lerna/validation-error": "4.0.0", - "multimatch": "^5.0.0", - "npmlog": "^4.1.2" - }, - "engines": { - "node": ">= 10.18.0" - } - }, - "node_modules/@lerna/filter-packages/node_modules/@lerna/validation-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", - "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", - "dev": true, - "dependencies": { - "npmlog": "^4.1.2" - }, - "engines": { - "node": ">= 10.18.0" - } - }, - "node_modules/@lerna/get-npm-exec-opts": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-4.0.0.tgz", - "integrity": "sha512-yvmkerU31CTWS2c7DvmAWmZVeclPBqI7gPVr5VATUKNWJ/zmVcU4PqbYoLu92I9Qc4gY1TuUplMNdNuZTSL7IQ==", + "node_modules/@lerna/child-process/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "npmlog": "^4.1.2" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 10.18.0" + "node": ">=7.0.0" } }, - "node_modules/@lerna/get-packed": { + "node_modules/@lerna/child-process/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/get-packed/-/get-packed-4.0.0.tgz", - "integrity": "sha512-rfWONRsEIGyPJTxFzC8ECb3ZbsDXJbfqWYyeeQQDrJRPnEJErlltRLPLgC2QWbxFgFPsoDLeQmFHJnf0iDfd8w==", - "dev": true, - "dependencies": { - "fs-extra": "^9.1.0", - "ssri": "^8.0.1", - "tar": "^6.1.0" - }, - "engines": { - "node": ">= 10.18.0" - } - }, - "node_modules/@lerna/get-packed/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/@lerna/get-packed/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "node_modules/@lerna/child-process/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "universalify": "^2.0.0" + "has-flag": "^4.0.0" }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@lerna/get-packed/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, "engines": { - "node": ">= 10.0.0" + "node": ">=8" } }, - "node_modules/@lerna/github-client": { + "node_modules/@lerna/clean": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/github-client/-/github-client-4.0.0.tgz", - "integrity": "sha512-2jhsldZtTKXYUBnOm23Lb0Fx8G4qfSXF9y7UpyUgWUj+YZYd+cFxSuorwQIgk5P4XXrtVhsUesIsli+BYSThiw==", + "resolved": "https://registry.npmjs.org/@lerna/clean/-/clean-4.0.0.tgz", + "integrity": "sha512-uugG2iN9k45ITx2jtd8nEOoAtca8hNlDCUM0N3lFgU/b1mEQYAPRkqr1qs4FLRl/Y50ZJ41wUz1eazS+d/0osA==", "dev": true, "dependencies": { - "@lerna/child-process": "4.0.0", - "@octokit/plugin-enterprise-rest": "^6.0.1", - "@octokit/rest": "^18.1.0", - "git-url-parse": "^11.4.4", - "npmlog": "^4.1.2" + "@lerna/command": "4.0.0", + "@lerna/filter-options": "4.0.0", + "@lerna/prompt": "4.0.0", + "@lerna/pulse-till-done": "4.0.0", + "@lerna/rimraf-dir": "4.0.0", + "p-map": "^4.0.0", + "p-map-series": "^2.1.0", + "p-waterfall": "^2.1.1" }, "engines": { "node": ">= 10.18.0" } }, - "node_modules/@lerna/gitlab-client": { + "node_modules/@lerna/cli": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/gitlab-client/-/gitlab-client-4.0.0.tgz", - "integrity": "sha512-OMUpGSkeDWFf7BxGHlkbb35T7YHqVFCwBPSIR6wRsszY8PAzCYahtH3IaJzEJyUg6vmZsNl0FSr3pdA2skhxqA==", + "resolved": "https://registry.npmjs.org/@lerna/cli/-/cli-4.0.0.tgz", + "integrity": "sha512-Neaw3GzFrwZiRZv2g7g6NwFjs3er1vhraIniEs0jjVLPMNC4eata0na3GfE5yibkM/9d3gZdmihhZdZ3EBdvYA==", "dev": true, "dependencies": { - "node-fetch": "^2.6.1", + "@lerna/global-options": "4.0.0", + "dedent": "^0.7.0", "npmlog": "^4.1.2", - "whatwg-url": "^8.4.0" - }, - "engines": { - "node": ">= 10.18.0" - } - }, - "node_modules/@lerna/global-options": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/global-options/-/global-options-4.0.0.tgz", - "integrity": "sha512-TRMR8afAHxuYBHK7F++Ogop2a82xQjoGna1dvPOY6ltj/pEx59pdgcJfYcynYqMkFIk8bhLJJN9/ndIfX29FTQ==", - "dev": true, - "engines": { - "node": ">= 10.18.0" - } - }, - "node_modules/@lerna/has-npm-version": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/has-npm-version/-/has-npm-version-4.0.0.tgz", - "integrity": "sha512-LQ3U6XFH8ZmLCsvsgq1zNDqka0Xzjq5ibVN+igAI5ccRWNaUsE/OcmsyMr50xAtNQMYMzmpw5GVLAivT2/YzCg==", - "dev": true, - "dependencies": { - "@lerna/child-process": "4.0.0", - "semver": "^7.3.4" + "yargs": "^16.2.0" }, "engines": { "node": ">= 10.18.0" } }, - "node_modules/@lerna/has-npm-version/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/has-npm-version/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "node_modules/@lerna/cli/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/@lerna/has-npm-version/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/@lerna/import": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/import/-/import-4.0.0.tgz", - "integrity": "sha512-FaIhd+4aiBousKNqC7TX1Uhe97eNKf5/SC7c5WZANVWtC7aBWdmswwDt3usrzCNpj6/Wwr9EtEbYROzxKH8ffg==", + "node_modules/@lerna/cli/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "@lerna/child-process": "4.0.0", - "@lerna/command": "4.0.0", - "@lerna/prompt": "4.0.0", - "@lerna/pulse-till-done": "4.0.0", - "@lerna/validation-error": "4.0.0", - "dedent": "^0.7.0", - "fs-extra": "^9.1.0", - "p-map-series": "^2.1.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">= 10.18.0" - } - }, - "node_modules/@lerna/import/node_modules/@lerna/validation-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", - "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", - "dev": true, - "dependencies": { - "npmlog": "^4.1.2" + "node": ">=8" }, - "engines": { - "node": ">= 10.18.0" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@lerna/import/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "node_modules/@lerna/cli/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "node_modules/@lerna/import/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "node_modules/@lerna/cli/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "universalify": "^2.0.0" + "color-name": "~1.1.4" }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@lerna/import/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, "engines": { - "node": ">= 10.0.0" + "node": ">=7.0.0" } }, - "node_modules/@lerna/info": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/info/-/info-4.0.0.tgz", - "integrity": "sha512-8Uboa12kaCSZEn4XRfPz5KU9XXoexSPS4oeYGj76s2UQb1O1GdnEyfjyNWoUl1KlJ2i/8nxUskpXIftoFYH0/Q==", - "dev": true, - "dependencies": { - "@lerna/command": "4.0.0", - "@lerna/output": "4.0.0", - "envinfo": "^7.7.4" - }, - "engines": { - "node": ">= 10.18.0" - } + "node_modules/@lerna/cli/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, - "node_modules/@lerna/init": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/init/-/init-4.0.0.tgz", - "integrity": "sha512-wY6kygop0BCXupzWj5eLvTUqdR7vIAm0OgyV9WHpMYQGfs1V22jhztt8mtjCloD/O0nEe4tJhdG62XU5aYmPNQ==", + "node_modules/@lerna/cli/node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, - "dependencies": { - "@lerna/child-process": "4.0.0", - "@lerna/command": "4.0.0", - "fs-extra": "^9.1.0", - "p-map": "^4.0.0", - "write-json-file": "^4.3.0" - }, "engines": { - "node": ">= 10.18.0" + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/@lerna/init/node_modules/detect-indent": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", - "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "node_modules/@lerna/cli/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, "engines": { "node": ">=8" } }, - "node_modules/@lerna/init/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "node_modules/@lerna/cli/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/init/node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true, "engines": { "node": ">=8" } }, - "node_modules/@lerna/init/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@lerna/init/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "node_modules/@lerna/cli/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "dependencies": { - "semver": "^6.0.0" + "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@lerna/init/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" } }, - "node_modules/@lerna/init/node_modules/sort-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz", - "integrity": "sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==", + "node_modules/@lerna/cli/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "dependencies": { - "is-plain-obj": "^2.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@lerna/init/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@lerna/init/node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/@lerna/init/node_modules/write-json-file": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-4.3.0.tgz", - "integrity": "sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ==", + "node_modules/@lerna/cli/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, - "dependencies": { - "detect-indent": "^6.0.0", - "graceful-fs": "^4.1.15", - "is-plain-obj": "^2.0.0", - "make-dir": "^3.0.0", - "sort-keys": "^4.0.0", - "write-file-atomic": "^3.0.0" - }, "engines": { - "node": ">=8.3" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=10" } }, - "node_modules/@lerna/link": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/link/-/link-4.0.0.tgz", - "integrity": "sha512-KlvPi7XTAcVOByfaLlOeYOfkkDcd+bejpHMCd1KcArcFTwijOwXOVi24DYomIeHvy6HsX/IUquJ4PPUJIeB4+w==", + "node_modules/@lerna/cli/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, "dependencies": { - "@lerna/command": "4.0.0", - "@lerna/package-graph": "4.0.0", - "@lerna/symlink-dependencies": "4.0.0", - "p-map": "^4.0.0", - "slash": "^3.0.0" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" }, "engines": { - "node": ">= 10.18.0" + "node": ">=10" } }, - "node_modules/@lerna/list": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/list/-/list-4.0.0.tgz", - "integrity": "sha512-L2B5m3P+U4Bif5PultR4TI+KtW+SArwq1i75QZ78mRYxPc0U/piau1DbLOmwrdqr99wzM49t0Dlvl6twd7GHFg==", + "node_modules/@lerna/cli/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, - "dependencies": { - "@lerna/command": "4.0.0", - "@lerna/filter-options": "4.0.0", - "@lerna/listable": "4.0.0", - "@lerna/output": "4.0.0" - }, "engines": { - "node": ">= 10.18.0" + "node": ">=10" } }, - "node_modules/@lerna/listable": { + "node_modules/@lerna/collect-uncommitted": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/listable/-/listable-4.0.0.tgz", - "integrity": "sha512-/rPOSDKsOHs5/PBLINZOkRIX1joOXUXEtyUs5DHLM8q6/RP668x/1lFhw6Dx7/U+L0+tbkpGtZ1Yt0LewCLgeQ==", + "resolved": "https://registry.npmjs.org/@lerna/collect-uncommitted/-/collect-uncommitted-4.0.0.tgz", + "integrity": "sha512-ufSTfHZzbx69YNj7KXQ3o66V4RC76ffOjwLX0q/ab//61bObJ41n03SiQEhSlmpP+gmFbTJ3/7pTe04AHX9m/g==", "dev": true, "dependencies": { - "@lerna/query-graph": "4.0.0", + "@lerna/child-process": "4.0.0", "chalk": "^4.1.0", - "columnify": "^1.5.4" + "npmlog": "^4.1.2" }, "engines": { "node": ">= 10.18.0" } }, - "node_modules/@lerna/listable/node_modules/ansi-styles": { + "node_modules/@lerna/collect-uncommitted/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", @@ -2399,7 +2290,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@lerna/listable/node_modules/chalk": { + "node_modules/@lerna/collect-uncommitted/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -2415,7 +2306,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@lerna/listable/node_modules/color-convert": { + "node_modules/@lerna/collect-uncommitted/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", @@ -2427,7 +2318,7 @@ "node": ">=7.0.0" } }, - "node_modules/@lerna/listable/node_modules/has-flag": { + "node_modules/@lerna/collect-uncommitted/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", @@ -2436,7 +2327,7 @@ "node": ">=8" } }, - "node_modules/@lerna/listable/node_modules/supports-color": { + "node_modules/@lerna/collect-uncommitted/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", @@ -2448,139 +2339,90 @@ "node": ">=8" } }, - "node_modules/@lerna/log-packed": { + "node_modules/@lerna/collect-updates": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/log-packed/-/log-packed-4.0.0.tgz", - "integrity": "sha512-+dpCiWbdzgMAtpajLToy9PO713IHoE6GV/aizXycAyA07QlqnkpaBNZ8DW84gHdM1j79TWockGJo9PybVhrrZQ==", + "resolved": "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-4.0.0.tgz", + "integrity": "sha512-bnNGpaj4zuxsEkyaCZLka9s7nMs58uZoxrRIPJ+nrmrZYp1V5rrd+7/NYTuunOhY2ug1sTBvTAxj3NZQ+JKnOw==", "dev": true, "dependencies": { - "byte-size": "^7.0.0", - "columnify": "^1.5.4", - "has-unicode": "^2.0.1", - "npmlog": "^4.1.2" + "@lerna/child-process": "4.0.0", + "@lerna/describe-ref": "4.0.0", + "minimatch": "^3.0.4", + "npmlog": "^4.1.2", + "slash": "^3.0.0" }, "engines": { "node": ">= 10.18.0" } }, - "node_modules/@lerna/npm-conf": { + "node_modules/@lerna/command": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/npm-conf/-/npm-conf-4.0.0.tgz", - "integrity": "sha512-uS7H02yQNq3oejgjxAxqq/jhwGEE0W0ntr8vM3EfpCW1F/wZruwQw+7bleJQ9vUBjmdXST//tk8mXzr5+JXCfw==", + "resolved": "https://registry.npmjs.org/@lerna/command/-/command-4.0.0.tgz", + "integrity": "sha512-LM9g3rt5FsPNFqIHUeRwWXLNHJ5NKzOwmVKZ8anSp4e1SPrv2HNc1V02/9QyDDZK/w+5POXH5lxZUI1CHaOK/A==", "dev": true, "dependencies": { - "config-chain": "^1.1.12", - "pify": "^5.0.0" + "@lerna/child-process": "4.0.0", + "@lerna/package-graph": "4.0.0", + "@lerna/project": "4.0.0", + "@lerna/validation-error": "4.0.0", + "@lerna/write-log-file": "4.0.0", + "clone-deep": "^4.0.1", + "dedent": "^0.7.0", + "execa": "^5.0.0", + "is-ci": "^2.0.0", + "npmlog": "^4.1.2" }, "engines": { "node": ">= 10.18.0" } }, - "node_modules/@lerna/npm-conf/node_modules/pify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", - "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@lerna/npm-dist-tag": { + "node_modules/@lerna/command/node_modules/@lerna/validation-error": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-4.0.0.tgz", - "integrity": "sha512-F20sg28FMYTgXqEQihgoqSfwmq+Id3zT23CnOwD+XQMPSy9IzyLf1fFVH319vXIw6NF6Pgs4JZN2Qty6/CQXGw==", + "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", + "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", "dev": true, "dependencies": { - "@lerna/otplease": "4.0.0", - "npm-package-arg": "^8.1.0", - "npm-registry-fetch": "^9.0.0", "npmlog": "^4.1.2" }, "engines": { "node": ">= 10.18.0" } }, - "node_modules/@lerna/npm-dist-tag/node_modules/hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/npm-dist-tag/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/npm-dist-tag/node_modules/npm-package-arg": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", - "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", - "dev": true, - "dependencies": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/npm-dist-tag/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "node_modules/@lerna/conventional-commits": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-4.0.0.tgz", + "integrity": "sha512-CSUQRjJHFrH8eBn7+wegZLV3OrNc0Y1FehYfYGhjLE2SIfpCL4bmfu/ViYuHh9YjwHaA+4SX6d3hR+xkeseKmw==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "@lerna/validation-error": "4.0.0", + "conventional-changelog-angular": "^5.0.12", + "conventional-changelog-core": "^4.2.2", + "conventional-recommended-bump": "^6.1.0", + "fs-extra": "^9.1.0", + "get-stream": "^6.0.0", + "lodash.template": "^4.5.0", + "npm-package-arg": "^8.1.0", + "npmlog": "^4.1.2", + "pify": "^5.0.0", + "semver": "^7.3.4" }, "engines": { - "node": ">=10" + "node": ">= 10.18.0" } }, - "node_modules/@lerna/npm-dist-tag/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/@lerna/npm-install": { + "node_modules/@lerna/conventional-commits/node_modules/@lerna/validation-error": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-4.0.0.tgz", - "integrity": "sha512-aKNxq2j3bCH3eXl3Fmu4D54s/YLL9WSwV8W7X2O25r98wzrO38AUN6AB9EtmAx+LV/SP15et7Yueg9vSaanRWg==", + "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", + "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", "dev": true, "dependencies": { - "@lerna/child-process": "4.0.0", - "@lerna/get-npm-exec-opts": "4.0.0", - "fs-extra": "^9.1.0", - "npm-package-arg": "^8.1.0", - "npmlog": "^4.1.2", - "signal-exit": "^3.0.3", - "write-pkg": "^4.0.0" + "npmlog": "^4.1.2" }, "engines": { "node": ">= 10.18.0" } }, - "node_modules/@lerna/npm-install/node_modules/fs-extra": { + "node_modules/@lerna/conventional-commits/node_modules/fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", @@ -2595,7 +2437,19 @@ "node": ">=10" } }, - "node_modules/@lerna/npm-install/node_modules/hosted-git-info": { + "node_modules/@lerna/conventional-commits/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@lerna/conventional-commits/node_modules/hosted-git-info": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", @@ -2607,7 +2461,7 @@ "node": ">=10" } }, - "node_modules/@lerna/npm-install/node_modules/jsonfile": { + "node_modules/@lerna/conventional-commits/node_modules/jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", @@ -2619,7 +2473,7 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/@lerna/npm-install/node_modules/lru-cache": { + "node_modules/@lerna/conventional-commits/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", @@ -2631,29 +2485,7 @@ "node": ">=10" } }, - "node_modules/@lerna/npm-install/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@lerna/npm-install/node_modules/make-dir/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/@lerna/npm-install/node_modules/npm-package-arg": { + "node_modules/@lerna/conventional-commits/node_modules/npm-package-arg": { "version": "8.1.5", "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", @@ -2667,16 +2499,19 @@ "node": ">=10" } }, - "node_modules/@lerna/npm-install/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "node_modules/@lerna/conventional-commits/node_modules/pify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", + "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", "dev": true, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@lerna/npm-install/node_modules/semver": { + "node_modules/@lerna/conventional-commits/node_modules/semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", @@ -2691,16 +2526,7 @@ "node": ">=10" } }, - "node_modules/@lerna/npm-install/node_modules/type-fest": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.4.1.tgz", - "integrity": "sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/@lerna/npm-install/node_modules/universalify": { + "node_modules/@lerna/conventional-commits/node_modules/universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", @@ -2709,63 +2535,104 @@ "node": ">= 10.0.0" } }, - "node_modules/@lerna/npm-install/node_modules/write-json-file": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-3.2.0.tgz", - "integrity": "sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ==", + "node_modules/@lerna/conventional-commits/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@lerna/create": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/create/-/create-4.0.0.tgz", + "integrity": "sha512-mVOB1niKByEUfxlbKTM1UNECWAjwUdiioIbRQZEeEabtjCL69r9rscIsjlGyhGWCfsdAG5wfq4t47nlDXdLLag==", "dev": true, "dependencies": { - "detect-indent": "^5.0.0", - "graceful-fs": "^4.1.15", - "make-dir": "^2.1.0", - "pify": "^4.0.1", - "sort-keys": "^2.0.0", - "write-file-atomic": "^2.4.2" + "@lerna/child-process": "4.0.0", + "@lerna/command": "4.0.0", + "@lerna/npm-conf": "4.0.0", + "@lerna/validation-error": "4.0.0", + "dedent": "^0.7.0", + "fs-extra": "^9.1.0", + "globby": "^11.0.2", + "init-package-json": "^2.0.2", + "npm-package-arg": "^8.1.0", + "p-reduce": "^2.1.0", + "pacote": "^11.2.6", + "pify": "^5.0.0", + "semver": "^7.3.4", + "slash": "^3.0.0", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "^3.0.0", + "whatwg-url": "^8.4.0", + "yargs-parser": "20.2.4" }, "engines": { - "node": ">=6" + "node": ">= 10.18.0" } }, - "node_modules/@lerna/npm-install/node_modules/write-pkg": { + "node_modules/@lerna/create-symlink": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/write-pkg/-/write-pkg-4.0.0.tgz", - "integrity": "sha512-v2UQ+50TNf2rNHJ8NyWttfm/EJUBWMJcx6ZTYZr6Qp52uuegWw/lBkCtCbnYZEmPRNL61m+u67dAmGxo+HTULA==", + "resolved": "https://registry.npmjs.org/@lerna/create-symlink/-/create-symlink-4.0.0.tgz", + "integrity": "sha512-I0phtKJJdafUiDwm7BBlEUOtogmu8+taxq6PtIrxZbllV9hWg59qkpuIsiFp+no7nfRVuaasNYHwNUhDAVQBig==", "dev": true, "dependencies": { - "sort-keys": "^2.0.0", - "type-fest": "^0.4.1", - "write-json-file": "^3.2.0" + "cmd-shim": "^4.1.0", + "fs-extra": "^9.1.0", + "npmlog": "^4.1.2" }, "engines": { - "node": ">=8" + "node": ">= 10.18.0" } }, - "node_modules/@lerna/npm-install/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "node_modules/@lerna/create-symlink/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } }, - "node_modules/@lerna/npm-publish": { + "node_modules/@lerna/create-symlink/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@lerna/create-symlink/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@lerna/create/node_modules/@lerna/validation-error": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-4.0.0.tgz", - "integrity": "sha512-vQb7yAPRo5G5r77DRjHITc9piR9gvEKWrmfCH7wkfBnGWEqu7n8/4bFQ7lhnkujvc8RXOsYpvbMQkNfkYibD/w==", + "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", + "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", "dev": true, "dependencies": { - "@lerna/otplease": "4.0.0", - "@lerna/run-lifecycle": "4.0.0", - "fs-extra": "^9.1.0", - "libnpmpublish": "^4.0.0", - "npm-package-arg": "^8.1.0", - "npmlog": "^4.1.2", - "pify": "^5.0.0", - "read-package-json": "^3.0.0" + "npmlog": "^4.1.2" }, "engines": { "node": ">= 10.18.0" } }, - "node_modules/@lerna/npm-publish/node_modules/fs-extra": { + "node_modules/@lerna/create/node_modules/fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", @@ -2780,7 +2647,7 @@ "node": ">=10" } }, - "node_modules/@lerna/npm-publish/node_modules/hosted-git-info": { + "node_modules/@lerna/create/node_modules/hosted-git-info": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", @@ -2792,7 +2659,7 @@ "node": ">=10" } }, - "node_modules/@lerna/npm-publish/node_modules/jsonfile": { + "node_modules/@lerna/create/node_modules/jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", @@ -2804,7 +2671,7 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/@lerna/npm-publish/node_modules/lru-cache": { + "node_modules/@lerna/create/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", @@ -2816,7 +2683,7 @@ "node": ">=10" } }, - "node_modules/@lerna/npm-publish/node_modules/npm-package-arg": { + "node_modules/@lerna/create/node_modules/npm-package-arg": { "version": "8.1.5", "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", @@ -2830,7 +2697,7 @@ "node": ">=10" } }, - "node_modules/@lerna/npm-publish/node_modules/pify": { + "node_modules/@lerna/create/node_modules/pify": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", @@ -2842,7 +2709,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@lerna/npm-publish/node_modules/semver": { + "node_modules/@lerna/create/node_modules/semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", @@ -2857,7 +2724,7 @@ "node": ">=10" } }, - "node_modules/@lerna/npm-publish/node_modules/universalify": { + "node_modules/@lerna/create/node_modules/universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", @@ -2866,42 +2733,53 @@ "node": ">= 10.0.0" } }, - "node_modules/@lerna/npm-publish/node_modules/yallist": { + "node_modules/@lerna/create/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "node_modules/@lerna/npm-run-script": { + "node_modules/@lerna/create/node_modules/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@lerna/describe-ref": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-4.0.0.tgz", - "integrity": "sha512-Jmyh9/IwXJjOXqKfIgtxi0bxi1pUeKe5bD3S81tkcy+kyng/GNj9WSqD5ZggoNP2NP//s4CLDAtUYLdP7CU9rA==", + "resolved": "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-4.0.0.tgz", + "integrity": "sha512-eTU5+xC4C5Gcgz+Ey4Qiw9nV2B4JJbMulsYJMW8QjGcGh8zudib7Sduj6urgZXUYNyhYpRs+teci9M2J8u+UvQ==", "dev": true, "dependencies": { "@lerna/child-process": "4.0.0", - "@lerna/get-npm-exec-opts": "4.0.0", "npmlog": "^4.1.2" }, "engines": { "node": ">= 10.18.0" } }, - "node_modules/@lerna/otplease": { + "node_modules/@lerna/diff": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/otplease/-/otplease-4.0.0.tgz", - "integrity": "sha512-Sgzbqdk1GH4psNiT6hk+BhjOfIr/5KhGBk86CEfHNJTk9BK4aZYyJD4lpDbDdMjIV4g03G7pYoqHzH765T4fxw==", + "resolved": "https://registry.npmjs.org/@lerna/diff/-/diff-4.0.0.tgz", + "integrity": "sha512-jYPKprQVg41+MUMxx6cwtqsNm0Yxx9GDEwdiPLwcUTFx+/qKCEwifKNJ1oGIPBxyEHX2PFCOjkK39lHoj2qiag==", "dev": true, "dependencies": { - "@lerna/prompt": "4.0.0" + "@lerna/child-process": "4.0.0", + "@lerna/command": "4.0.0", + "@lerna/validation-error": "4.0.0", + "npmlog": "^4.1.2" }, "engines": { "node": ">= 10.18.0" } }, - "node_modules/@lerna/output": { + "node_modules/@lerna/diff/node_modules/@lerna/validation-error": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/output/-/output-4.0.0.tgz", - "integrity": "sha512-Un1sHtO1AD7buDQrpnaYTi2EG6sLF+KOPEAMxeUYG5qG3khTs2Zgzq5WE3dt2N/bKh7naESt20JjIW6tBELP0w==", + "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", + "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", "dev": true, "dependencies": { "npmlog": "^4.1.2" @@ -2910,55 +2788,66 @@ "node": ">= 10.18.0" } }, - "node_modules/@lerna/pack-directory": { + "node_modules/@lerna/exec": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/pack-directory/-/pack-directory-4.0.0.tgz", - "integrity": "sha512-NJrmZNmBHS+5aM+T8N6FVbaKFScVqKlQFJNY2k7nsJ/uklNKsLLl6VhTQBPwMTbf6Tf7l6bcKzpy7aePuq9UiQ==", + "resolved": "https://registry.npmjs.org/@lerna/exec/-/exec-4.0.0.tgz", + "integrity": "sha512-VGXtL/b/JfY84NB98VWZpIExfhLOzy0ozm/0XaS4a2SmkAJc5CeUfrhvHxxkxiTBLkU+iVQUyYEoAT0ulQ8PCw==", "dev": true, "dependencies": { - "@lerna/get-packed": "4.0.0", - "@lerna/package": "4.0.0", - "@lerna/run-lifecycle": "4.0.0", - "npm-packlist": "^2.1.4", - "npmlog": "^4.1.2", - "tar": "^6.1.0", - "temp-write": "^4.0.0" + "@lerna/child-process": "4.0.0", + "@lerna/command": "4.0.0", + "@lerna/filter-options": "4.0.0", + "@lerna/profiler": "4.0.0", + "@lerna/run-topologically": "4.0.0", + "@lerna/validation-error": "4.0.0", + "p-map": "^4.0.0" }, "engines": { "node": ">= 10.18.0" } }, - "node_modules/@lerna/package": { + "node_modules/@lerna/exec/node_modules/@lerna/validation-error": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/package/-/package-4.0.0.tgz", - "integrity": "sha512-l0M/izok6FlyyitxiQKr+gZLVFnvxRQdNhzmQ6nRnN9dvBJWn+IxxpM+cLqGACatTnyo9LDzNTOj2Db3+s0s8Q==", + "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", + "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", "dev": true, "dependencies": { - "load-json-file": "^6.2.0", - "npm-package-arg": "^8.1.0", - "write-pkg": "^4.0.0" + "npmlog": "^4.1.2" }, "engines": { "node": ">= 10.18.0" } }, - "node_modules/@lerna/package-graph": { + "node_modules/@lerna/filter-options": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-4.0.0.tgz", - "integrity": "sha512-QED2ZCTkfXMKFoTGoccwUzjHtZMSf3UKX14A4/kYyBms9xfFsesCZ6SLI5YeySEgcul8iuIWfQFZqRw+Qrjraw==", + "resolved": "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-4.0.0.tgz", + "integrity": "sha512-vV2ANOeZhOqM0rzXnYcFFCJ/kBWy/3OA58irXih9AMTAlQLymWAK0akWybl++sUJ4HB9Hx12TOqaXbYS2NM5uw==", + "dev": true, + "dependencies": { + "@lerna/collect-updates": "4.0.0", + "@lerna/filter-packages": "4.0.0", + "dedent": "^0.7.0", + "npmlog": "^4.1.2" + }, + "engines": { + "node": ">= 10.18.0" + } + }, + "node_modules/@lerna/filter-packages": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-4.0.0.tgz", + "integrity": "sha512-+4AJIkK7iIiOaqCiVTYJxh/I9qikk4XjNQLhE3kixaqgMuHl1NQ99qXRR0OZqAWB9mh8Z1HA9bM5K1HZLBTOqA==", "dev": true, "dependencies": { - "@lerna/prerelease-id-from-version": "4.0.0", "@lerna/validation-error": "4.0.0", - "npm-package-arg": "^8.1.0", - "npmlog": "^4.1.2", - "semver": "^7.3.4" + "multimatch": "^5.0.0", + "npmlog": "^4.1.2" }, "engines": { "node": ">= 10.18.0" } }, - "node_modules/@lerna/package-graph/node_modules/@lerna/validation-error": { + "node_modules/@lerna/filter-packages/node_modules/@lerna/validation-error": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", @@ -2970,93 +2859,121 @@ "node": ">= 10.18.0" } }, - "node_modules/@lerna/package-graph/node_modules/hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "node_modules/@lerna/get-npm-exec-opts": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-4.0.0.tgz", + "integrity": "sha512-yvmkerU31CTWS2c7DvmAWmZVeclPBqI7gPVr5VATUKNWJ/zmVcU4PqbYoLu92I9Qc4gY1TuUplMNdNuZTSL7IQ==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" + "npmlog": "^4.1.2" }, "engines": { - "node": ">=10" + "node": ">= 10.18.0" } }, - "node_modules/@lerna/package-graph/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/@lerna/get-packed": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/get-packed/-/get-packed-4.0.0.tgz", + "integrity": "sha512-rfWONRsEIGyPJTxFzC8ECb3ZbsDXJbfqWYyeeQQDrJRPnEJErlltRLPLgC2QWbxFgFPsoDLeQmFHJnf0iDfd8w==", "dev": true, "dependencies": { - "yallist": "^4.0.0" + "fs-extra": "^9.1.0", + "ssri": "^8.0.1", + "tar": "^6.1.0" }, "engines": { - "node": ">=10" + "node": ">= 10.18.0" } }, - "node_modules/@lerna/package-graph/node_modules/npm-package-arg": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", - "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "node_modules/@lerna/get-packed/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, "dependencies": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { "node": ">=10" } }, - "node_modules/@lerna/package-graph/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "node_modules/@lerna/get-packed/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "universalify": "^2.0.0" }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@lerna/get-packed/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, "engines": { - "node": ">=10" + "node": ">= 10.0.0" } }, - "node_modules/@lerna/package-graph/node_modules/yallist": { + "node_modules/@lerna/github-client": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "resolved": "https://registry.npmjs.org/@lerna/github-client/-/github-client-4.0.0.tgz", + "integrity": "sha512-2jhsldZtTKXYUBnOm23Lb0Fx8G4qfSXF9y7UpyUgWUj+YZYd+cFxSuorwQIgk5P4XXrtVhsUesIsli+BYSThiw==", + "dev": true, + "dependencies": { + "@lerna/child-process": "4.0.0", + "@octokit/plugin-enterprise-rest": "^6.0.1", + "@octokit/rest": "^18.1.0", + "git-url-parse": "^11.4.4", + "npmlog": "^4.1.2" + }, + "engines": { + "node": ">= 10.18.0" + } }, - "node_modules/@lerna/package/node_modules/hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "node_modules/@lerna/gitlab-client": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/gitlab-client/-/gitlab-client-4.0.0.tgz", + "integrity": "sha512-OMUpGSkeDWFf7BxGHlkbb35T7YHqVFCwBPSIR6wRsszY8PAzCYahtH3IaJzEJyUg6vmZsNl0FSr3pdA2skhxqA==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" + "node-fetch": "^2.6.1", + "npmlog": "^4.1.2", + "whatwg-url": "^8.4.0" }, "engines": { - "node": ">=10" + "node": ">= 10.18.0" } }, - "node_modules/@lerna/package/node_modules/load-json-file": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz", - "integrity": "sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==", + "node_modules/@lerna/global-options": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/global-options/-/global-options-4.0.0.tgz", + "integrity": "sha512-TRMR8afAHxuYBHK7F++Ogop2a82xQjoGna1dvPOY6ltj/pEx59pdgcJfYcynYqMkFIk8bhLJJN9/ndIfX29FTQ==", + "dev": true, + "engines": { + "node": ">= 10.18.0" + } + }, + "node_modules/@lerna/has-npm-version": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/has-npm-version/-/has-npm-version-4.0.0.tgz", + "integrity": "sha512-LQ3U6XFH8ZmLCsvsgq1zNDqka0Xzjq5ibVN+igAI5ccRWNaUsE/OcmsyMr50xAtNQMYMzmpw5GVLAivT2/YzCg==", "dev": true, "dependencies": { - "graceful-fs": "^4.1.15", - "parse-json": "^5.0.0", - "strip-bom": "^4.0.0", - "type-fest": "^0.6.0" + "@lerna/child-process": "4.0.0", + "semver": "^7.3.4" }, "engines": { - "node": ">=8" + "node": ">= 10.18.0" } }, - "node_modules/@lerna/package/node_modules/lru-cache": { + "node_modules/@lerna/has-npm-version/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", @@ -3068,208 +2985,59 @@ "node": ">=10" } }, - "node_modules/@lerna/package/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "node_modules/@lerna/has-npm-version/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/@lerna/package/node_modules/make-dir/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/@lerna/package/node_modules/npm-package-arg": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", - "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", - "dev": true, - "dependencies": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/package/node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@lerna/package/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/@lerna/package/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/package/node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@lerna/package/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@lerna/package/node_modules/write-json-file": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-3.2.0.tgz", - "integrity": "sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ==", - "dev": true, - "dependencies": { - "detect-indent": "^5.0.0", - "graceful-fs": "^4.1.15", - "make-dir": "^2.1.0", - "pify": "^4.0.1", - "sort-keys": "^2.0.0", - "write-file-atomic": "^2.4.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@lerna/package/node_modules/write-pkg": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/write-pkg/-/write-pkg-4.0.0.tgz", - "integrity": "sha512-v2UQ+50TNf2rNHJ8NyWttfm/EJUBWMJcx6ZTYZr6Qp52uuegWw/lBkCtCbnYZEmPRNL61m+u67dAmGxo+HTULA==", - "dev": true, - "dependencies": { - "sort-keys": "^2.0.0", - "type-fest": "^0.4.1", - "write-json-file": "^3.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@lerna/package/node_modules/write-pkg/node_modules/type-fest": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.4.1.tgz", - "integrity": "sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/@lerna/package/node_modules/yallist": { + "node_modules/@lerna/has-npm-version/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "node_modules/@lerna/prerelease-id-from-version": { + "node_modules/@lerna/import": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-4.0.0.tgz", - "integrity": "sha512-GQqguzETdsYRxOSmdFZ6zDBXDErIETWOqomLERRY54f4p+tk4aJjoVdd9xKwehC9TBfIFvlRbL1V9uQGHh1opg==", + "resolved": "https://registry.npmjs.org/@lerna/import/-/import-4.0.0.tgz", + "integrity": "sha512-FaIhd+4aiBousKNqC7TX1Uhe97eNKf5/SC7c5WZANVWtC7aBWdmswwDt3usrzCNpj6/Wwr9EtEbYROzxKH8ffg==", "dev": true, "dependencies": { - "semver": "^7.3.4" + "@lerna/child-process": "4.0.0", + "@lerna/command": "4.0.0", + "@lerna/prompt": "4.0.0", + "@lerna/pulse-till-done": "4.0.0", + "@lerna/validation-error": "4.0.0", + "dedent": "^0.7.0", + "fs-extra": "^9.1.0", + "p-map-series": "^2.1.0" }, "engines": { "node": ">= 10.18.0" } }, - "node_modules/@lerna/prerelease-id-from-version/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/prerelease-id-from-version/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/prerelease-id-from-version/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/@lerna/profiler": { + "node_modules/@lerna/import/node_modules/@lerna/validation-error": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/profiler/-/profiler-4.0.0.tgz", - "integrity": "sha512-/BaEbqnVh1LgW/+qz8wCuI+obzi5/vRE8nlhjPzdEzdmWmZXuCKyWSEzAyHOJWw1ntwMiww5dZHhFQABuoFz9Q==", + "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", + "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", "dev": true, "dependencies": { - "fs-extra": "^9.1.0", - "npmlog": "^4.1.2", - "upath": "^2.0.1" + "npmlog": "^4.1.2" }, "engines": { "node": ">= 10.18.0" } }, - "node_modules/@lerna/profiler/node_modules/fs-extra": { + "node_modules/@lerna/import/node_modules/fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", @@ -3284,7 +3052,7 @@ "node": ">=10" } }, - "node_modules/@lerna/profiler/node_modules/jsonfile": { + "node_modules/@lerna/import/node_modules/jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", @@ -3296,7 +3064,7 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/@lerna/profiler/node_modules/universalify": { + "node_modules/@lerna/import/node_modules/universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", @@ -3305,58 +3073,37 @@ "node": ">= 10.0.0" } }, - "node_modules/@lerna/project": { + "node_modules/@lerna/info": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/project/-/project-4.0.0.tgz", - "integrity": "sha512-o0MlVbDkD5qRPkFKlBZsXZjoNTWPyuL58564nSfZJ6JYNmgAptnWPB2dQlAc7HWRZkmnC2fCkEdoU+jioPavbg==", + "resolved": "https://registry.npmjs.org/@lerna/info/-/info-4.0.0.tgz", + "integrity": "sha512-8Uboa12kaCSZEn4XRfPz5KU9XXoexSPS4oeYGj76s2UQb1O1GdnEyfjyNWoUl1KlJ2i/8nxUskpXIftoFYH0/Q==", "dev": true, "dependencies": { - "@lerna/package": "4.0.0", - "@lerna/validation-error": "4.0.0", - "cosmiconfig": "^7.0.0", - "dedent": "^0.7.0", - "dot-prop": "^6.0.1", - "glob-parent": "^5.1.1", - "globby": "^11.0.2", - "load-json-file": "^6.2.0", - "npmlog": "^4.1.2", - "p-map": "^4.0.0", - "resolve-from": "^5.0.0", - "write-json-file": "^4.3.0" + "@lerna/command": "4.0.0", + "@lerna/output": "4.0.0", + "envinfo": "^7.7.4" }, "engines": { "node": ">= 10.18.0" } }, - "node_modules/@lerna/project/node_modules/@lerna/validation-error": { + "node_modules/@lerna/init": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", - "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", + "resolved": "https://registry.npmjs.org/@lerna/init/-/init-4.0.0.tgz", + "integrity": "sha512-wY6kygop0BCXupzWj5eLvTUqdR7vIAm0OgyV9WHpMYQGfs1V22jhztt8mtjCloD/O0nEe4tJhdG62XU5aYmPNQ==", "dev": true, "dependencies": { - "npmlog": "^4.1.2" + "@lerna/child-process": "4.0.0", + "@lerna/command": "4.0.0", + "fs-extra": "^9.1.0", + "p-map": "^4.0.0", + "write-json-file": "^4.3.0" }, "engines": { "node": ">= 10.18.0" } }, - "node_modules/@lerna/project/node_modules/cosmiconfig": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", - "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", - "dev": true, - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/project/node_modules/detect-indent": { + "node_modules/@lerna/init/node_modules/detect-indent": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", @@ -3365,80 +3112,22 @@ "node": ">=8" } }, - "node_modules/@lerna/project/node_modules/dot-prop": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", - "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", + "node_modules/@lerna/init/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, "dependencies": { - "is-obj": "^2.0.0" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@lerna/project/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@lerna/project/node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@lerna/project/node_modules/import-fresh/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@lerna/project/node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@lerna/project/node_modules/is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true, - "engines": { - "node": ">=8" } }, - "node_modules/@lerna/project/node_modules/is-plain-obj": { + "node_modules/@lerna/init/node_modules/is-plain-obj": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", @@ -3447,22 +3136,19 @@ "node": ">=8" } }, - "node_modules/@lerna/project/node_modules/load-json-file": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz", - "integrity": "sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==", + "node_modules/@lerna/init/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "dependencies": { - "graceful-fs": "^4.1.15", - "parse-json": "^5.0.0", - "strip-bom": "^4.0.0", - "type-fest": "^0.6.0" + "universalify": "^2.0.0" }, - "engines": { - "node": ">=8" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/@lerna/project/node_modules/make-dir": { + "node_modules/@lerna/init/node_modules/make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", @@ -3477,43 +3163,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@lerna/project/node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@lerna/project/node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@lerna/project/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@lerna/project/node_modules/semver": { + "node_modules/@lerna/init/node_modules/semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", @@ -3522,7 +3172,7 @@ "semver": "bin/semver.js" } }, - "node_modules/@lerna/project/node_modules/sort-keys": { + "node_modules/@lerna/init/node_modules/sort-keys": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz", "integrity": "sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==", @@ -3537,25 +3187,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@lerna/project/node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@lerna/project/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "node_modules/@lerna/init/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true, "engines": { - "node": ">=8" + "node": ">= 10.0.0" } }, - "node_modules/@lerna/project/node_modules/write-file-atomic": { + "node_modules/@lerna/init/node_modules/write-file-atomic": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", @@ -3567,7 +3208,7 @@ "typedarray-to-buffer": "^3.1.5" } }, - "node_modules/@lerna/project/node_modules/write-json-file": { + "node_modules/@lerna/init/node_modules/write-json-file": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-4.3.0.tgz", "integrity": "sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ==", @@ -3587,204 +3228,248 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@lerna/prompt": { + "node_modules/@lerna/link": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/prompt/-/prompt-4.0.0.tgz", - "integrity": "sha512-4Ig46oCH1TH5M7YyTt53fT6TuaKMgqUUaqdgxvp6HP6jtdak6+amcsqB8YGz2eQnw/sdxunx84DfI9XpoLj4bQ==", + "resolved": "https://registry.npmjs.org/@lerna/link/-/link-4.0.0.tgz", + "integrity": "sha512-KlvPi7XTAcVOByfaLlOeYOfkkDcd+bejpHMCd1KcArcFTwijOwXOVi24DYomIeHvy6HsX/IUquJ4PPUJIeB4+w==", "dev": true, "dependencies": { - "inquirer": "^7.3.3", - "npmlog": "^4.1.2" + "@lerna/command": "4.0.0", + "@lerna/package-graph": "4.0.0", + "@lerna/symlink-dependencies": "4.0.0", + "p-map": "^4.0.0", + "slash": "^3.0.0" }, "engines": { "node": ">= 10.18.0" } }, - "node_modules/@lerna/publish": { + "node_modules/@lerna/list": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/publish/-/publish-4.0.0.tgz", - "integrity": "sha512-K8jpqjHrChH22qtkytA5GRKIVFEtqBF6JWj1I8dWZtHs4Jywn8yB1jQ3BAMLhqmDJjWJtRck0KXhQQKzDK2UPg==", + "resolved": "https://registry.npmjs.org/@lerna/list/-/list-4.0.0.tgz", + "integrity": "sha512-L2B5m3P+U4Bif5PultR4TI+KtW+SArwq1i75QZ78mRYxPc0U/piau1DbLOmwrdqr99wzM49t0Dlvl6twd7GHFg==", "dev": true, "dependencies": { - "@lerna/check-working-tree": "4.0.0", - "@lerna/child-process": "4.0.0", - "@lerna/collect-updates": "4.0.0", "@lerna/command": "4.0.0", - "@lerna/describe-ref": "4.0.0", - "@lerna/log-packed": "4.0.0", - "@lerna/npm-conf": "4.0.0", - "@lerna/npm-dist-tag": "4.0.0", - "@lerna/npm-publish": "4.0.0", - "@lerna/otplease": "4.0.0", - "@lerna/output": "4.0.0", - "@lerna/pack-directory": "4.0.0", - "@lerna/prerelease-id-from-version": "4.0.0", - "@lerna/prompt": "4.0.0", - "@lerna/pulse-till-done": "4.0.0", - "@lerna/run-lifecycle": "4.0.0", - "@lerna/run-topologically": "4.0.0", - "@lerna/validation-error": "4.0.0", - "@lerna/version": "4.0.0", - "fs-extra": "^9.1.0", - "libnpmaccess": "^4.0.1", - "npm-package-arg": "^8.1.0", - "npm-registry-fetch": "^9.0.0", - "npmlog": "^4.1.2", - "p-map": "^4.0.0", - "p-pipe": "^3.1.0", - "pacote": "^11.2.6", - "semver": "^7.3.4" + "@lerna/filter-options": "4.0.0", + "@lerna/listable": "4.0.0", + "@lerna/output": "4.0.0" }, "engines": { "node": ">= 10.18.0" } }, - "node_modules/@lerna/publish/node_modules/@lerna/validation-error": { + "node_modules/@lerna/listable": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", - "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", + "resolved": "https://registry.npmjs.org/@lerna/listable/-/listable-4.0.0.tgz", + "integrity": "sha512-/rPOSDKsOHs5/PBLINZOkRIX1joOXUXEtyUs5DHLM8q6/RP668x/1lFhw6Dx7/U+L0+tbkpGtZ1Yt0LewCLgeQ==", "dev": true, "dependencies": { - "npmlog": "^4.1.2" + "@lerna/query-graph": "4.0.0", + "chalk": "^4.1.0", + "columnify": "^1.5.4" }, "engines": { "node": ">= 10.18.0" } }, - "node_modules/@lerna/publish/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "node_modules/@lerna/listable/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@lerna/publish/node_modules/hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "node_modules/@lerna/listable/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@lerna/publish/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "node_modules/@lerna/listable/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "universalify": "^2.0.0" + "color-name": "~1.1.4" }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "engines": { + "node": ">=7.0.0" } }, - "node_modules/@lerna/publish/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/@lerna/listable/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/@lerna/publish/node_modules/npm-package-arg": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", - "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "node_modules/@lerna/listable/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/@lerna/publish/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "node_modules/@lerna/log-packed": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/log-packed/-/log-packed-4.0.0.tgz", + "integrity": "sha512-+dpCiWbdzgMAtpajLToy9PO713IHoE6GV/aizXycAyA07QlqnkpaBNZ8DW84gHdM1j79TWockGJo9PybVhrrZQ==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "byte-size": "^7.0.0", + "columnify": "^1.5.4", + "has-unicode": "^2.0.1", + "npmlog": "^4.1.2" }, "engines": { - "node": ">=10" + "node": ">= 10.18.0" } }, - "node_modules/@lerna/publish/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "node_modules/@lerna/npm-conf": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/npm-conf/-/npm-conf-4.0.0.tgz", + "integrity": "sha512-uS7H02yQNq3oejgjxAxqq/jhwGEE0W0ntr8vM3EfpCW1F/wZruwQw+7bleJQ9vUBjmdXST//tk8mXzr5+JXCfw==", "dev": true, + "dependencies": { + "config-chain": "^1.1.12", + "pify": "^5.0.0" + }, "engines": { - "node": ">= 10.0.0" + "node": ">= 10.18.0" } }, - "node_modules/@lerna/publish/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "node_modules/@lerna/npm-conf/node_modules/pify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", + "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/@lerna/pulse-till-done": { + "node_modules/@lerna/npm-dist-tag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/pulse-till-done/-/pulse-till-done-4.0.0.tgz", - "integrity": "sha512-Frb4F7QGckaybRhbF7aosLsJ5e9WuH7h0KUkjlzSByVycxY91UZgaEIVjS2oN9wQLrheLMHl6SiFY0/Pvo0Cxg==", + "resolved": "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-4.0.0.tgz", + "integrity": "sha512-F20sg28FMYTgXqEQihgoqSfwmq+Id3zT23CnOwD+XQMPSy9IzyLf1fFVH319vXIw6NF6Pgs4JZN2Qty6/CQXGw==", "dev": true, "dependencies": { + "@lerna/otplease": "4.0.0", + "npm-package-arg": "^8.1.0", + "npm-registry-fetch": "^9.0.0", "npmlog": "^4.1.2" }, "engines": { "node": ">= 10.18.0" } }, - "node_modules/@lerna/query-graph": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-4.0.0.tgz", - "integrity": "sha512-YlP6yI3tM4WbBmL9GCmNDoeQyzcyg1e4W96y/PKMZa5GbyUvkS2+Jc2kwPD+5KcXou3wQZxSPzR3Te5OenaDdg==", + "node_modules/@lerna/npm-dist-tag/node_modules/hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", "dev": true, "dependencies": { - "@lerna/package-graph": "4.0.0" + "lru-cache": "^6.0.0" }, "engines": { - "node": ">= 10.18.0" + "node": ">=10" } }, - "node_modules/@lerna/resolve-symlink": { + "node_modules/@lerna/npm-dist-tag/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@lerna/npm-dist-tag/node_modules/npm-package-arg": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", + "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@lerna/npm-dist-tag/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@lerna/npm-dist-tag/node_modules/yallist": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/resolve-symlink/-/resolve-symlink-4.0.0.tgz", - "integrity": "sha512-RtX8VEUzqT+uLSCohx8zgmjc6zjyRlh6i/helxtZTMmc4+6O4FS9q5LJas2uGO2wKvBlhcD6siibGt7dIC3xZA==", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@lerna/npm-install": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-4.0.0.tgz", + "integrity": "sha512-aKNxq2j3bCH3eXl3Fmu4D54s/YLL9WSwV8W7X2O25r98wzrO38AUN6AB9EtmAx+LV/SP15et7Yueg9vSaanRWg==", "dev": true, "dependencies": { + "@lerna/child-process": "4.0.0", + "@lerna/get-npm-exec-opts": "4.0.0", "fs-extra": "^9.1.0", + "npm-package-arg": "^8.1.0", "npmlog": "^4.1.2", - "read-cmd-shim": "^2.0.0" + "signal-exit": "^3.0.3", + "write-pkg": "^4.0.0" }, "engines": { "node": ">= 10.18.0" } }, - "node_modules/@lerna/resolve-symlink/node_modules/fs-extra": { + "node_modules/@lerna/npm-install/node_modules/fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", @@ -3799,7 +3484,19 @@ "node": ">=10" } }, - "node_modules/@lerna/resolve-symlink/node_modules/jsonfile": { + "node_modules/@lerna/npm-install/node_modules/hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@lerna/npm-install/node_modules/jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", @@ -3811,129 +3508,153 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/@lerna/resolve-symlink/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "node_modules/@lerna/npm-install/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": ">= 10.0.0" + "node": ">=10" } }, - "node_modules/@lerna/rimraf-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-4.0.0.tgz", - "integrity": "sha512-QNH9ABWk9mcMJh2/muD9iYWBk1oQd40y6oH+f3wwmVGKYU5YJD//+zMiBI13jxZRtwBx0vmBZzkBkK1dR11cBg==", + "node_modules/@lerna/npm-install/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", "dev": true, "dependencies": { - "@lerna/child-process": "4.0.0", - "npmlog": "^4.1.2", - "path-exists": "^4.0.0", - "rimraf": "^3.0.2" + "pify": "^4.0.1", + "semver": "^5.6.0" }, "engines": { - "node": ">= 10.18.0" + "node": ">=6" } }, - "node_modules/@lerna/rimraf-dir/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "node_modules/@lerna/npm-install/node_modules/make-dir/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@lerna/npm-install/node_modules/npm-package-arg": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", + "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@lerna/npm-install/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/@lerna/rimraf-dir/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "node_modules/@lerna/npm-install/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "dependencies": { - "glob": "^7.1.3" + "lru-cache": "^6.0.0" }, "bin": { - "rimraf": "bin.js" + "semver": "bin/semver.js" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=10" } }, - "node_modules/@lerna/run": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/run/-/run-4.0.0.tgz", - "integrity": "sha512-9giulCOzlMPzcZS/6Eov6pxE9gNTyaXk0Man+iCIdGJNMrCnW7Dme0Z229WWP/UoxDKg71F2tMsVVGDiRd8fFQ==", + "node_modules/@lerna/npm-install/node_modules/type-fest": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.4.1.tgz", + "integrity": "sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==", "dev": true, - "dependencies": { - "@lerna/command": "4.0.0", - "@lerna/filter-options": "4.0.0", - "@lerna/npm-run-script": "4.0.0", - "@lerna/output": "4.0.0", - "@lerna/profiler": "4.0.0", - "@lerna/run-topologically": "4.0.0", - "@lerna/timer": "4.0.0", - "@lerna/validation-error": "4.0.0", - "p-map": "^4.0.0" - }, "engines": { - "node": ">= 10.18.0" + "node": ">=6" } }, - "node_modules/@lerna/run-lifecycle": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/run-lifecycle/-/run-lifecycle-4.0.0.tgz", - "integrity": "sha512-IwxxsajjCQQEJAeAaxF8QdEixfI7eLKNm4GHhXHrgBu185JcwScFZrj9Bs+PFKxwb+gNLR4iI5rpUdY8Y0UdGQ==", + "node_modules/@lerna/npm-install/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true, - "dependencies": { - "@lerna/npm-conf": "4.0.0", - "npm-lifecycle": "^3.1.5", - "npmlog": "^4.1.2" - }, "engines": { - "node": ">= 10.18.0" + "node": ">= 10.0.0" } }, - "node_modules/@lerna/run-topologically": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-4.0.0.tgz", - "integrity": "sha512-EVZw9hGwo+5yp+VL94+NXRYisqgAlj0jWKWtAIynDCpghRxCE5GMO3xrQLmQgqkpUl9ZxQFpICgYv5DW4DksQA==", + "node_modules/@lerna/npm-install/node_modules/write-json-file": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-3.2.0.tgz", + "integrity": "sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ==", "dev": true, "dependencies": { - "@lerna/query-graph": "4.0.0", - "p-queue": "^6.6.2" + "detect-indent": "^5.0.0", + "graceful-fs": "^4.1.15", + "make-dir": "^2.1.0", + "pify": "^4.0.1", + "sort-keys": "^2.0.0", + "write-file-atomic": "^2.4.2" }, "engines": { - "node": ">= 10.18.0" + "node": ">=6" } }, - "node_modules/@lerna/run/node_modules/@lerna/validation-error": { + "node_modules/@lerna/npm-install/node_modules/write-pkg": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", - "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", + "resolved": "https://registry.npmjs.org/write-pkg/-/write-pkg-4.0.0.tgz", + "integrity": "sha512-v2UQ+50TNf2rNHJ8NyWttfm/EJUBWMJcx6ZTYZr6Qp52uuegWw/lBkCtCbnYZEmPRNL61m+u67dAmGxo+HTULA==", "dev": true, "dependencies": { - "npmlog": "^4.1.2" + "sort-keys": "^2.0.0", + "type-fest": "^0.4.1", + "write-json-file": "^3.2.0" }, "engines": { - "node": ">= 10.18.0" + "node": ">=8" } }, - "node_modules/@lerna/symlink-binary": { + "node_modules/@lerna/npm-install/node_modules/yallist": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-4.0.0.tgz", - "integrity": "sha512-zualodWC4q1QQc1pkz969hcFeWXOsVYZC5AWVtAPTDfLl+TwM7eG/O6oP+Rr3fFowspxo6b1TQ6sYfDV6HXNWA==", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@lerna/npm-publish": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-4.0.0.tgz", + "integrity": "sha512-vQb7yAPRo5G5r77DRjHITc9piR9gvEKWrmfCH7wkfBnGWEqu7n8/4bFQ7lhnkujvc8RXOsYpvbMQkNfkYibD/w==", "dev": true, "dependencies": { - "@lerna/create-symlink": "4.0.0", - "@lerna/package": "4.0.0", + "@lerna/otplease": "4.0.0", + "@lerna/run-lifecycle": "4.0.0", "fs-extra": "^9.1.0", - "p-map": "^4.0.0" + "libnpmpublish": "^4.0.0", + "npm-package-arg": "^8.1.0", + "npmlog": "^4.1.2", + "pify": "^5.0.0", + "read-package-json": "^3.0.0" }, "engines": { "node": ">= 10.18.0" } }, - "node_modules/@lerna/symlink-binary/node_modules/fs-extra": { + "node_modules/@lerna/npm-publish/node_modules/fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", @@ -3948,7 +3669,19 @@ "node": ">=10" } }, - "node_modules/@lerna/symlink-binary/node_modules/jsonfile": { + "node_modules/@lerna/npm-publish/node_modules/hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@lerna/npm-publish/node_modules/jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", @@ -3960,60 +3693,60 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/@lerna/symlink-binary/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "node_modules/@lerna/npm-publish/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": ">= 10.0.0" + "node": ">=10" } }, - "node_modules/@lerna/symlink-dependencies": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-4.0.0.tgz", - "integrity": "sha512-BABo0MjeUHNAe2FNGty1eantWp8u83BHSeIMPDxNq0MuW2K3CiQRaeWT3EGPAzXpGt0+hVzBrA6+OT0GPn7Yuw==", + "node_modules/@lerna/npm-publish/node_modules/npm-package-arg": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", + "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", "dev": true, "dependencies": { - "@lerna/create-symlink": "4.0.0", - "@lerna/resolve-symlink": "4.0.0", - "@lerna/symlink-binary": "4.0.0", - "fs-extra": "^9.1.0", - "p-map": "^4.0.0", - "p-map-series": "^2.1.0" + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" }, "engines": { - "node": ">= 10.18.0" + "node": ">=10" } }, - "node_modules/@lerna/symlink-dependencies/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "node_modules/@lerna/npm-publish/node_modules/pify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", + "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", "dev": true, - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@lerna/symlink-dependencies/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "node_modules/@lerna/npm-publish/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "dependencies": { - "universalify": "^2.0.0" + "lru-cache": "^6.0.0" }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/@lerna/symlink-dependencies/node_modules/universalify": { + "node_modules/@lerna/npm-publish/node_modules/universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", @@ -4022,135 +3755,182 @@ "node": ">= 10.0.0" } }, - "node_modules/@lerna/timer": { + "node_modules/@lerna/npm-publish/node_modules/yallist": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/timer/-/timer-4.0.0.tgz", - "integrity": "sha512-WFsnlaE7SdOvjuyd05oKt8Leg3ENHICnvX3uYKKdByA+S3g+TCz38JsNs7OUZVt+ba63nC2nbXDlUnuT2Xbsfg==", - "dev": true, - "engines": { - "node": ">= 10.18.0" - } + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, - "node_modules/@lerna/version": { + "node_modules/@lerna/npm-run-script": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/version/-/version-4.0.0.tgz", - "integrity": "sha512-otUgiqs5W9zGWJZSCCMRV/2Zm2A9q9JwSDS7s/tlKq4mWCYriWo7+wsHEA/nPTMDyYyBO5oyZDj+3X50KDUzeA==", + "resolved": "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-4.0.0.tgz", + "integrity": "sha512-Jmyh9/IwXJjOXqKfIgtxi0bxi1pUeKe5bD3S81tkcy+kyng/GNj9WSqD5ZggoNP2NP//s4CLDAtUYLdP7CU9rA==", "dev": true, "dependencies": { - "@lerna/check-working-tree": "4.0.0", "@lerna/child-process": "4.0.0", - "@lerna/collect-updates": "4.0.0", - "@lerna/command": "4.0.0", - "@lerna/conventional-commits": "4.0.0", - "@lerna/github-client": "4.0.0", - "@lerna/gitlab-client": "4.0.0", - "@lerna/output": "4.0.0", - "@lerna/prerelease-id-from-version": "4.0.0", - "@lerna/prompt": "4.0.0", - "@lerna/run-lifecycle": "4.0.0", - "@lerna/run-topologically": "4.0.0", - "@lerna/validation-error": "4.0.0", - "chalk": "^4.1.0", - "dedent": "^0.7.0", - "load-json-file": "^6.2.0", - "minimatch": "^3.0.4", - "npmlog": "^4.1.2", - "p-map": "^4.0.0", - "p-pipe": "^3.1.0", - "p-reduce": "^2.1.0", - "p-waterfall": "^2.1.1", - "semver": "^7.3.4", - "slash": "^3.0.0", - "temp-write": "^4.0.0", - "write-json-file": "^4.3.0" + "@lerna/get-npm-exec-opts": "4.0.0", + "npmlog": "^4.1.2" }, "engines": { "node": ">= 10.18.0" } }, - "node_modules/@lerna/version/node_modules/@lerna/validation-error": { + "node_modules/@lerna/otplease": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", - "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", + "resolved": "https://registry.npmjs.org/@lerna/otplease/-/otplease-4.0.0.tgz", + "integrity": "sha512-Sgzbqdk1GH4psNiT6hk+BhjOfIr/5KhGBk86CEfHNJTk9BK4aZYyJD4lpDbDdMjIV4g03G7pYoqHzH765T4fxw==", "dev": true, "dependencies": { - "npmlog": "^4.1.2" + "@lerna/prompt": "4.0.0" }, "engines": { "node": ">= 10.18.0" } }, - "node_modules/@lerna/version/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@lerna/output": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/output/-/output-4.0.0.tgz", + "integrity": "sha512-Un1sHtO1AD7buDQrpnaYTi2EG6sLF+KOPEAMxeUYG5qG3khTs2Zgzq5WE3dt2N/bKh7naESt20JjIW6tBELP0w==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "npmlog": "^4.1.2" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 10.18.0" } }, - "node_modules/@lerna/version/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@lerna/pack-directory": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/pack-directory/-/pack-directory-4.0.0.tgz", + "integrity": "sha512-NJrmZNmBHS+5aM+T8N6FVbaKFScVqKlQFJNY2k7nsJ/uklNKsLLl6VhTQBPwMTbf6Tf7l6bcKzpy7aePuq9UiQ==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@lerna/get-packed": "4.0.0", + "@lerna/package": "4.0.0", + "@lerna/run-lifecycle": "4.0.0", + "npm-packlist": "^2.1.4", + "npmlog": "^4.1.2", + "tar": "^6.1.0", + "temp-write": "^4.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">= 10.18.0" } }, - "node_modules/@lerna/version/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/@lerna/package": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/package/-/package-4.0.0.tgz", + "integrity": "sha512-l0M/izok6FlyyitxiQKr+gZLVFnvxRQdNhzmQ6nRnN9dvBJWn+IxxpM+cLqGACatTnyo9LDzNTOj2Db3+s0s8Q==", "dev": true, "dependencies": { - "color-name": "~1.1.4" + "load-json-file": "^6.2.0", + "npm-package-arg": "^8.1.0", + "write-pkg": "^4.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">= 10.18.0" } }, - "node_modules/@lerna/version/node_modules/detect-indent": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", - "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "node_modules/@lerna/package-graph": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-4.0.0.tgz", + "integrity": "sha512-QED2ZCTkfXMKFoTGoccwUzjHtZMSf3UKX14A4/kYyBms9xfFsesCZ6SLI5YeySEgcul8iuIWfQFZqRw+Qrjraw==", "dev": true, + "dependencies": { + "@lerna/prerelease-id-from-version": "4.0.0", + "@lerna/validation-error": "4.0.0", + "npm-package-arg": "^8.1.0", + "npmlog": "^4.1.2", + "semver": "^7.3.4" + }, "engines": { - "node": ">=8" + "node": ">= 10.18.0" } }, - "node_modules/@lerna/version/node_modules/has-flag": { + "node_modules/@lerna/package-graph/node_modules/@lerna/validation-error": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", + "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", "dev": true, + "dependencies": { + "npmlog": "^4.1.2" + }, "engines": { - "node": ">=8" + "node": ">= 10.18.0" } }, - "node_modules/@lerna/version/node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "node_modules/@lerna/package-graph/node_modules/hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/@lerna/version/node_modules/load-json-file": { + "node_modules/@lerna/package-graph/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@lerna/package-graph/node_modules/npm-package-arg": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", + "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@lerna/package-graph/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@lerna/package-graph/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@lerna/package/node_modules/hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@lerna/package/node_modules/load-json-file": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz", "integrity": "sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==", @@ -4165,7 +3945,7 @@ "node": ">=8" } }, - "node_modules/@lerna/version/node_modules/lru-cache": { + "node_modules/@lerna/package/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", @@ -4177,31 +3957,43 @@ "node": ">=10" } }, - "node_modules/@lerna/version/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "node_modules/@lerna/package/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", "dev": true, "dependencies": { - "semver": "^6.0.0" + "pify": "^4.0.1", + "semver": "^5.6.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, - "node_modules/@lerna/version/node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "node_modules/@lerna/package/node_modules/make-dir/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, "bin": { - "semver": "bin/semver.js" + "semver": "bin/semver" } }, - "node_modules/@lerna/version/node_modules/parse-json": { + "node_modules/@lerna/package/node_modules/npm-package-arg": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", + "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@lerna/package/node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", @@ -4219,7 +4011,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@lerna/version/node_modules/semver": { + "node_modules/@lerna/package/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@lerna/package/node_modules/semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", @@ -4234,22 +4035,7 @@ "node": ">=10" } }, - "node_modules/@lerna/version/node_modules/sort-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz", - "integrity": "sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==", - "dev": true, - "dependencies": { - "is-plain-obj": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@lerna/version/node_modules/strip-bom": { + "node_modules/@lerna/package/node_modules/strip-bom": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", @@ -4258,19 +4044,7 @@ "node": ">=8" } }, - "node_modules/@lerna/version/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@lerna/version/node_modules/type-fest": { + "node_modules/@lerna/package/node_modules/type-fest": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", @@ -4279,485 +4053,559 @@ "node": ">=8" } }, - "node_modules/@lerna/version/node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "node_modules/@lerna/package/node_modules/write-json-file": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-3.2.0.tgz", + "integrity": "sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ==", "dev": true, "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "detect-indent": "^5.0.0", + "graceful-fs": "^4.1.15", + "make-dir": "^2.1.0", + "pify": "^4.0.1", + "sort-keys": "^2.0.0", + "write-file-atomic": "^2.4.2" + }, + "engines": { + "node": ">=6" } }, - "node_modules/@lerna/version/node_modules/write-json-file": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-4.3.0.tgz", - "integrity": "sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ==", + "node_modules/@lerna/package/node_modules/write-pkg": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/write-pkg/-/write-pkg-4.0.0.tgz", + "integrity": "sha512-v2UQ+50TNf2rNHJ8NyWttfm/EJUBWMJcx6ZTYZr6Qp52uuegWw/lBkCtCbnYZEmPRNL61m+u67dAmGxo+HTULA==", "dev": true, "dependencies": { - "detect-indent": "^6.0.0", - "graceful-fs": "^4.1.15", - "is-plain-obj": "^2.0.0", - "make-dir": "^3.0.0", - "sort-keys": "^4.0.0", - "write-file-atomic": "^3.0.0" + "sort-keys": "^2.0.0", + "type-fest": "^0.4.1", + "write-json-file": "^3.2.0" }, "engines": { - "node": ">=8.3" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/@lerna/version/node_modules/yallist": { + "node_modules/@lerna/package/node_modules/write-pkg/node_modules/type-fest": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.4.1.tgz", + "integrity": "sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@lerna/package/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "node_modules/@lerna/write-log-file": { + "node_modules/@lerna/prerelease-id-from-version": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/write-log-file/-/write-log-file-4.0.0.tgz", - "integrity": "sha512-XRG5BloiArpXRakcnPHmEHJp+4AtnhRtpDIHSghmXD5EichI1uD73J7FgPp30mm2pDRq3FdqB0NbwSEsJ9xFQg==", + "resolved": "https://registry.npmjs.org/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-4.0.0.tgz", + "integrity": "sha512-GQqguzETdsYRxOSmdFZ6zDBXDErIETWOqomLERRY54f4p+tk4aJjoVdd9xKwehC9TBfIFvlRbL1V9uQGHh1opg==", "dev": true, "dependencies": { - "npmlog": "^4.1.2", - "write-file-atomic": "^3.0.3" + "semver": "^7.3.4" }, "engines": { "node": ">= 10.18.0" } }, - "node_modules/@lerna/write-log-file/node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "node_modules/@lerna/prerelease-id-from-version/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/@microsoft/api-extractor": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.20.1.tgz", - "integrity": "sha512-T7cqcK+JpvHGOj7cD2ZCCWS7Xgru1uOqZwrV/FSUdyKVs5fopZcbBSuetwD/akst3O7Ypryg3UOLP54S/vnVmA==", + "node_modules/@lerna/prerelease-id-from-version/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "dependencies": { - "@microsoft/api-extractor-model": "7.16.0", - "@microsoft/tsdoc": "0.13.2", - "@microsoft/tsdoc-config": "~0.15.2", - "@rushstack/node-core-library": "3.45.1", - "@rushstack/rig-package": "0.3.8", - "@rushstack/ts-command-line": "4.10.7", - "colors": "~1.2.1", - "lodash": "~4.17.15", - "resolve": "~1.17.0", - "semver": "~7.3.0", - "source-map": "~0.6.1", - "typescript": "~4.5.2" + "lru-cache": "^6.0.0" }, "bin": { - "api-extractor": "bin/api-extractor" + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/@microsoft/api-extractor-model": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@microsoft/api-extractor-model/-/api-extractor-model-7.16.0.tgz", - "integrity": "sha512-0FOrbNIny8mzBrzQnSIkEjAXk0JMSnPmWYxt3ZDTPVg9S8xIPzB6lfgTg9+Mimu0RKCpGKBpd+v2WcR5vGzyUQ==", + "node_modules/@lerna/prerelease-id-from-version/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@lerna/profiler": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/profiler/-/profiler-4.0.0.tgz", + "integrity": "sha512-/BaEbqnVh1LgW/+qz8wCuI+obzi5/vRE8nlhjPzdEzdmWmZXuCKyWSEzAyHOJWw1ntwMiww5dZHhFQABuoFz9Q==", "dev": true, "dependencies": { - "@microsoft/tsdoc": "0.13.2", - "@microsoft/tsdoc-config": "~0.15.2", - "@rushstack/node-core-library": "3.45.1" + "fs-extra": "^9.1.0", + "npmlog": "^4.1.2", + "upath": "^2.0.1" + }, + "engines": { + "node": ">= 10.18.0" } }, - "node_modules/@microsoft/api-extractor/node_modules/semver": { - "version": "7.3.2", + "node_modules/@lerna/profiler/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { "node": ">=10" } }, - "node_modules/@microsoft/api-extractor/node_modules/typescript": { - "version": "4.5.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz", - "integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==", + "node_modules/@lerna/profiler/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" + "dependencies": { + "universalify": "^2.0.0" }, - "engines": { - "node": ">=4.2.0" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/@microsoft/tsdoc": { - "version": "0.13.2", - "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.13.2.tgz", - "integrity": "sha512-WrHvO8PDL8wd8T2+zBGKrMwVL5IyzR3ryWUsl0PXgEV0QHup4mTLi0QcATefGI6Gx9Anu7vthPyyyLpY0EpiQg==", - "dev": true - }, - "node_modules/@microsoft/tsdoc-config": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/@microsoft/tsdoc-config/-/tsdoc-config-0.15.2.tgz", - "integrity": "sha512-mK19b2wJHSdNf8znXSMYVShAHktVr/ib0Ck2FA3lsVBSEhSI/TfXT7DJQkAYgcztTuwazGcg58ZjYdk0hTCVrA==", + "node_modules/@lerna/profiler/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true, - "dependencies": { - "@microsoft/tsdoc": "0.13.2", - "ajv": "~6.12.6", - "jju": "~1.4.0", - "resolve": "~1.19.0" + "engines": { + "node": ">= 10.0.0" } }, - "node_modules/@microsoft/tsdoc-config/node_modules/resolve": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", - "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "node_modules/@lerna/project": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/project/-/project-4.0.0.tgz", + "integrity": "sha512-o0MlVbDkD5qRPkFKlBZsXZjoNTWPyuL58564nSfZJ6JYNmgAptnWPB2dQlAc7HWRZkmnC2fCkEdoU+jioPavbg==", "dev": true, "dependencies": { - "is-core-module": "^2.1.0", - "path-parse": "^1.0.6" + "@lerna/package": "4.0.0", + "@lerna/validation-error": "4.0.0", + "cosmiconfig": "^7.0.0", + "dedent": "^0.7.0", + "dot-prop": "^6.0.1", + "glob-parent": "^5.1.1", + "globby": "^11.0.2", + "load-json-file": "^6.2.0", + "npmlog": "^4.1.2", + "p-map": "^4.0.0", + "resolve-from": "^5.0.0", + "write-json-file": "^4.3.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 10.18.0" } }, - "node_modules/@mrmlnc/readdir-enhanced": { - "version": "2.2.1", + "node_modules/@lerna/project/node_modules/@lerna/validation-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", + "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", "dev": true, - "license": "MIT", "dependencies": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" + "npmlog": "^4.1.2" }, "engines": { - "node": ">=4" + "node": ">= 10.18.0" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.3", + "node_modules/@lerna/project/node_modules/cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", "dev": true, - "license": "MIT", "dependencies": { - "@nodelib/fs.stat": "2.0.3", - "run-parallel": "^1.1.9" + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" }, "engines": { - "node": ">= 8" + "node": ">=10" } }, - "node_modules/@nodelib/fs.scandir/node_modules/@nodelib/fs.stat": { - "version": "2.0.3", + "node_modules/@lerna/project/node_modules/detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", "dev": true, - "license": "MIT", "engines": { - "node": ">= 8" + "node": ">=8" } }, - "node_modules/@nodelib/fs.stat": { - "version": "1.1.3", + "node_modules/@lerna/project/node_modules/dot-prop": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", + "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", "dev": true, - "license": "MIT", + "dependencies": { + "is-obj": "^2.0.0" + }, "engines": { - "node": ">= 6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.4", + "node_modules/@lerna/project/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "license": "MIT", "dependencies": { - "@nodelib/fs.scandir": "2.1.3", - "fastq": "^1.6.0" + "is-glob": "^4.0.1" }, "engines": { - "node": ">= 8" + "node": ">= 6" } }, - "node_modules/@npmcli/ci-detect": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@npmcli/ci-detect/-/ci-detect-1.4.0.tgz", - "integrity": "sha512-3BGrt6FLjqM6br5AhWRKTr3u5GIVkjRYeAFrMp3HjnfICrg4xOrVRwFavKT6tsp++bq5dluL5t8ME/Nha/6c1Q==", - "dev": true - }, - "node_modules/@npmcli/fs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.0.0.tgz", - "integrity": "sha512-8ltnOpRR/oJbOp8vaGUnipOi3bqkcW+sLHFlyXIr08OGHmVJLB1Hn7QtGXbYcpVtH1gAYZTlmDXtE4YV0+AMMQ==", + "node_modules/@lerna/project/node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "dependencies": { - "@gar/promisify": "^1.0.1", - "semver": "^7.3.5" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@npmcli/fs/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/@lerna/project/node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, "engines": { - "node": ">=10" + "node": ">=4" } }, - "node_modules/@npmcli/fs/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "node_modules/@lerna/project/node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "is-extglob": "^2.1.1" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/@npmcli/fs/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "node_modules/@lerna/project/node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "node_modules/@npmcli/git": { + "node_modules/@lerna/project/node_modules/is-plain-obj": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-2.1.0.tgz", - "integrity": "sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw==", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", "dev": true, - "dependencies": { - "@npmcli/promise-spawn": "^1.3.2", - "lru-cache": "^6.0.0", - "mkdirp": "^1.0.4", - "npm-pick-manifest": "^6.1.1", - "promise-inflight": "^1.0.1", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^2.0.2" + "engines": { + "node": ">=8" } }, - "node_modules/@npmcli/git/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/@lerna/project/node_modules/load-json-file": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz", + "integrity": "sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==", "dev": true, "dependencies": { - "yallist": "^4.0.0" + "graceful-fs": "^4.1.15", + "parse-json": "^5.0.0", + "strip-bom": "^4.0.0", + "type-fest": "^0.6.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/@npmcli/git/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "node_modules/@lerna/project/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" + "dependencies": { + "semver": "^6.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@npmcli/git/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "node_modules/@lerna/project/node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" }, - "bin": { - "semver": "bin/semver.js" + "engines": { + "node": ">=8" }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@lerna/project/node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/@npmcli/git/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "node_modules/@lerna/project/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, "engines": { - "node": ">= 8" + "node": ">=8" } }, - "node_modules/@npmcli/git/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "node_modules/@lerna/project/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } }, - "node_modules/@npmcli/installed-package-contents": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz", - "integrity": "sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==", + "node_modules/@lerna/project/node_modules/sort-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz", + "integrity": "sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==", "dev": true, "dependencies": { - "npm-bundled": "^1.1.1", - "npm-normalize-package-bin": "^1.0.1" - }, - "bin": { - "installed-package-contents": "index.js" + "is-plain-obj": "^2.0.0" }, "engines": { - "node": ">= 10" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@npmcli/move-file": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", - "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "node_modules/@lerna/project/node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, - "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/@npmcli/move-file/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "node_modules/@lerna/project/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/@npmcli/move-file/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "node_modules/@lerna/project/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", "dev": true, "dependencies": { - "glob": "^7.1.3" + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/@lerna/project/node_modules/write-json-file": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-4.3.0.tgz", + "integrity": "sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ==", + "dev": true, + "dependencies": { + "detect-indent": "^6.0.0", + "graceful-fs": "^4.1.15", + "is-plain-obj": "^2.0.0", + "make-dir": "^3.0.0", + "sort-keys": "^4.0.0", + "write-file-atomic": "^3.0.0" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": ">=8.3" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@npmcli/node-gyp": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-1.0.3.tgz", - "integrity": "sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA==", - "dev": true + "node_modules/@lerna/prompt": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/prompt/-/prompt-4.0.0.tgz", + "integrity": "sha512-4Ig46oCH1TH5M7YyTt53fT6TuaKMgqUUaqdgxvp6HP6jtdak6+amcsqB8YGz2eQnw/sdxunx84DfI9XpoLj4bQ==", + "dev": true, + "dependencies": { + "inquirer": "^7.3.3", + "npmlog": "^4.1.2" + }, + "engines": { + "node": ">= 10.18.0" + } }, - "node_modules/@npmcli/promise-spawn": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz", - "integrity": "sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==", + "node_modules/@lerna/publish": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/publish/-/publish-4.0.0.tgz", + "integrity": "sha512-K8jpqjHrChH22qtkytA5GRKIVFEtqBF6JWj1I8dWZtHs4Jywn8yB1jQ3BAMLhqmDJjWJtRck0KXhQQKzDK2UPg==", "dev": true, "dependencies": { - "infer-owner": "^1.0.4" + "@lerna/check-working-tree": "4.0.0", + "@lerna/child-process": "4.0.0", + "@lerna/collect-updates": "4.0.0", + "@lerna/command": "4.0.0", + "@lerna/describe-ref": "4.0.0", + "@lerna/log-packed": "4.0.0", + "@lerna/npm-conf": "4.0.0", + "@lerna/npm-dist-tag": "4.0.0", + "@lerna/npm-publish": "4.0.0", + "@lerna/otplease": "4.0.0", + "@lerna/output": "4.0.0", + "@lerna/pack-directory": "4.0.0", + "@lerna/prerelease-id-from-version": "4.0.0", + "@lerna/prompt": "4.0.0", + "@lerna/pulse-till-done": "4.0.0", + "@lerna/run-lifecycle": "4.0.0", + "@lerna/run-topologically": "4.0.0", + "@lerna/validation-error": "4.0.0", + "@lerna/version": "4.0.0", + "fs-extra": "^9.1.0", + "libnpmaccess": "^4.0.1", + "npm-package-arg": "^8.1.0", + "npm-registry-fetch": "^9.0.0", + "npmlog": "^4.1.2", + "p-map": "^4.0.0", + "p-pipe": "^3.1.0", + "pacote": "^11.2.6", + "semver": "^7.3.4" + }, + "engines": { + "node": ">= 10.18.0" } }, - "node_modules/@npmcli/run-script": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-1.8.6.tgz", - "integrity": "sha512-e42bVZnC6VluBZBAFEr3YrdqSspG3bgilyg4nSLBJ7TRGNCzxHa92XAHxQBLYg0BmgwO4b2mf3h/l5EkEWRn3g==", + "node_modules/@lerna/publish/node_modules/@lerna/validation-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", + "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", "dev": true, "dependencies": { - "@npmcli/node-gyp": "^1.0.2", - "@npmcli/promise-spawn": "^1.3.2", - "node-gyp": "^7.1.0", - "read-package-json-fast": "^2.0.1" + "npmlog": "^4.1.2" + }, + "engines": { + "node": ">= 10.18.0" } }, - "node_modules/@npmcli/run-script/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/@lerna/publish/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, "dependencies": { - "yallist": "^4.0.0" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { "node": ">=10" } }, - "node_modules/@npmcli/run-script/node_modules/node-gyp": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz", - "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==", + "node_modules/@lerna/publish/node_modules/hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", "dev": true, "dependencies": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.3", - "nopt": "^5.0.0", - "npmlog": "^4.1.2", - "request": "^2.88.2", - "rimraf": "^3.0.2", - "semver": "^7.3.2", - "tar": "^6.0.2", - "which": "^2.0.2" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" + "lru-cache": "^6.0.0" }, "engines": { - "node": ">= 10.12.0" + "node": ">=10" } }, - "node_modules/@npmcli/run-script/node_modules/nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "node_modules/@lerna/publish/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "dependencies": { - "abbrev": "1" + "universalify": "^2.0.0" }, - "bin": { - "nopt": "bin/nopt.js" + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@lerna/publish/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" }, "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/@npmcli/run-script/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "node_modules/@lerna/publish/node_modules/npm-package-arg": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", + "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", "dev": true, "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=10" } }, - "node_modules/@npmcli/run-script/node_modules/semver": { + "node_modules/@lerna/publish/node_modules/semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", @@ -4772,445 +4620,213 @@ "node": ">=10" } }, - "node_modules/@npmcli/run-script/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "node_modules/@lerna/publish/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, "engines": { - "node": ">= 8" + "node": ">= 10.0.0" } }, - "node_modules/@npmcli/run-script/node_modules/yallist": { + "node_modules/@lerna/publish/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "node_modules/@octokit/auth-token": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", - "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", + "node_modules/@lerna/pulse-till-done": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/pulse-till-done/-/pulse-till-done-4.0.0.tgz", + "integrity": "sha512-Frb4F7QGckaybRhbF7aosLsJ5e9WuH7h0KUkjlzSByVycxY91UZgaEIVjS2oN9wQLrheLMHl6SiFY0/Pvo0Cxg==", "dev": true, "dependencies": { - "@octokit/types": "^6.0.3" + "npmlog": "^4.1.2" + }, + "engines": { + "node": ">= 10.18.0" } }, - "node_modules/@octokit/core": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.5.1.tgz", - "integrity": "sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw==", + "node_modules/@lerna/query-graph": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-4.0.0.tgz", + "integrity": "sha512-YlP6yI3tM4WbBmL9GCmNDoeQyzcyg1e4W96y/PKMZa5GbyUvkS2+Jc2kwPD+5KcXou3wQZxSPzR3Te5OenaDdg==", "dev": true, "dependencies": { - "@octokit/auth-token": "^2.4.4", - "@octokit/graphql": "^4.5.8", - "@octokit/request": "^5.6.0", - "@octokit/request-error": "^2.0.5", - "@octokit/types": "^6.0.3", - "before-after-hook": "^2.2.0", - "universal-user-agent": "^6.0.0" + "@lerna/package-graph": "4.0.0" + }, + "engines": { + "node": ">= 10.18.0" } }, - "node_modules/@octokit/endpoint": { - "version": "6.0.12", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", - "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", + "node_modules/@lerna/resolve-symlink": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/resolve-symlink/-/resolve-symlink-4.0.0.tgz", + "integrity": "sha512-RtX8VEUzqT+uLSCohx8zgmjc6zjyRlh6i/helxtZTMmc4+6O4FS9q5LJas2uGO2wKvBlhcD6siibGt7dIC3xZA==", "dev": true, "dependencies": { - "@octokit/types": "^6.0.3", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" + "fs-extra": "^9.1.0", + "npmlog": "^4.1.2", + "read-cmd-shim": "^2.0.0" + }, + "engines": { + "node": ">= 10.18.0" } }, - "node_modules/@octokit/endpoint/node_modules/is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "node_modules/@lerna/resolve-symlink/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/@octokit/graphql": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", - "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", + "node_modules/@lerna/resolve-symlink/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "dependencies": { - "@octokit/request": "^5.6.0", - "@octokit/types": "^6.0.3", - "universal-user-agent": "^6.0.0" + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/@octokit/openapi-types": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.2.0.tgz", - "integrity": "sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA==", - "dev": true - }, - "node_modules/@octokit/plugin-enterprise-rest": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz", - "integrity": "sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==", - "dev": true + "node_modules/@lerna/resolve-symlink/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } }, - "node_modules/@octokit/plugin-paginate-rest": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.17.0.tgz", - "integrity": "sha512-tzMbrbnam2Mt4AhuyCHvpRkS0oZ5MvwwcQPYGtMv4tUa5kkzG58SVB0fcsLulOZQeRnOgdkZWkRUiyBlh0Bkyw==", + "node_modules/@lerna/rimraf-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-4.0.0.tgz", + "integrity": "sha512-QNH9ABWk9mcMJh2/muD9iYWBk1oQd40y6oH+f3wwmVGKYU5YJD//+zMiBI13jxZRtwBx0vmBZzkBkK1dR11cBg==", "dev": true, "dependencies": { - "@octokit/types": "^6.34.0" + "@lerna/child-process": "4.0.0", + "npmlog": "^4.1.2", + "path-exists": "^4.0.0", + "rimraf": "^3.0.2" }, - "peerDependencies": { - "@octokit/core": ">=2" + "engines": { + "node": ">= 10.18.0" } }, - "node_modules/@octokit/plugin-request-log": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", - "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==", + "node_modules/@lerna/rimraf-dir/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, - "peerDependencies": { - "@octokit/core": ">=3" + "engines": { + "node": ">=8" } }, - "node_modules/@octokit/plugin-rest-endpoint-methods": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.13.0.tgz", - "integrity": "sha512-uJjMTkN1KaOIgNtUPMtIXDOjx6dGYysdIFhgA52x4xSadQCz3b/zJexvITDVpANnfKPW/+E0xkOvLntqMYpviA==", + "node_modules/@lerna/rimraf-dir/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "dependencies": { - "@octokit/types": "^6.34.0", - "deprecation": "^2.3.1" + "glob": "^7.1.3" }, - "peerDependencies": { - "@octokit/core": ">=3" - } - }, - "node_modules/@octokit/request": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.2.tgz", - "integrity": "sha512-je66CvSEVf0jCpRISxkUcCa0UkxmFs6eGDRSbfJtAVwbLH5ceqF+YEyC8lj8ystKyZTy8adWr0qmkY52EfOeLA==", - "dev": true, - "dependencies": { - "@octokit/endpoint": "^6.0.1", - "@octokit/request-error": "^2.1.0", - "@octokit/types": "^6.16.1", - "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.1", - "universal-user-agent": "^6.0.0" + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@octokit/request-error": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", - "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", + "node_modules/@lerna/run": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/run/-/run-4.0.0.tgz", + "integrity": "sha512-9giulCOzlMPzcZS/6Eov6pxE9gNTyaXk0Man+iCIdGJNMrCnW7Dme0Z229WWP/UoxDKg71F2tMsVVGDiRd8fFQ==", "dev": true, "dependencies": { - "@octokit/types": "^6.0.3", - "deprecation": "^2.0.0", - "once": "^1.4.0" - } - }, - "node_modules/@octokit/request/node_modules/is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "dev": true, + "@lerna/command": "4.0.0", + "@lerna/filter-options": "4.0.0", + "@lerna/npm-run-script": "4.0.0", + "@lerna/output": "4.0.0", + "@lerna/profiler": "4.0.0", + "@lerna/run-topologically": "4.0.0", + "@lerna/timer": "4.0.0", + "@lerna/validation-error": "4.0.0", + "p-map": "^4.0.0" + }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@octokit/rest": { - "version": "18.12.0", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz", - "integrity": "sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==", - "dev": true, - "dependencies": { - "@octokit/core": "^3.5.1", - "@octokit/plugin-paginate-rest": "^2.16.8", - "@octokit/plugin-request-log": "^1.0.4", - "@octokit/plugin-rest-endpoint-methods": "^5.12.0" + "node": ">= 10.18.0" } }, - "node_modules/@octokit/types": { - "version": "6.34.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.34.0.tgz", - "integrity": "sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw==", + "node_modules/@lerna/run-lifecycle": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/run-lifecycle/-/run-lifecycle-4.0.0.tgz", + "integrity": "sha512-IwxxsajjCQQEJAeAaxF8QdEixfI7eLKNm4GHhXHrgBu185JcwScFZrj9Bs+PFKxwb+gNLR4iI5rpUdY8Y0UdGQ==", "dev": true, "dependencies": { - "@octokit/openapi-types": "^11.2.0" + "@lerna/npm-conf": "4.0.0", + "npm-lifecycle": "^3.1.5", + "npmlog": "^4.1.2" + }, + "engines": { + "node": ">= 10.18.0" } }, - "node_modules/@pixi-build-tools/api-extractor-lerna-monorepo": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@pixi-build-tools/api-extractor-lerna-monorepo/-/api-extractor-lerna-monorepo-1.1.0.tgz", - "integrity": "sha512-lBfrqrxXLoEjJcBe4umuXNezCvmciet9mA5V3gS/OvHUyimbwKhDAk4PHvxJDldmqd6vyJAZaka13gw011ji5w==", + "node_modules/@lerna/run-topologically": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-4.0.0.tgz", + "integrity": "sha512-EVZw9hGwo+5yp+VL94+NXRYisqgAlj0jWKWtAIynDCpghRxCE5GMO3xrQLmQgqkpUl9ZxQFpICgYv5DW4DksQA==", "dev": true, "dependencies": { - "@lerna/project": "^4.0.0" - }, - "bin": { - "api-extractor-lerna-monorepo": "cli.js" + "@lerna/query-graph": "4.0.0", + "p-queue": "^6.6.2" }, - "peerDependencies": { - "typescript": "^4.0.0" + "engines": { + "node": ">= 10.18.0" } }, - "node_modules/@pixi/accessibility": { - "resolved": "packages/accessibility", - "link": true - }, - "node_modules/@pixi/app": { - "resolved": "packages/app", - "link": true - }, - "node_modules/@pixi/basis": { - "resolved": "packages/basis", - "link": true - }, - "node_modules/@pixi/canvas-display": { - "resolved": "packages/canvas-display", - "link": true - }, - "node_modules/@pixi/canvas-extract": { - "resolved": "packages/canvas-extract", - "link": true - }, - "node_modules/@pixi/canvas-graphics": { - "resolved": "packages/canvas-graphics", - "link": true - }, - "node_modules/@pixi/canvas-mesh": { - "resolved": "packages/canvas-mesh", - "link": true - }, - "node_modules/@pixi/canvas-particle-container": { - "resolved": "packages/canvas-particle-container", - "link": true - }, - "node_modules/@pixi/canvas-prepare": { - "resolved": "packages/canvas-prepare", - "link": true - }, - "node_modules/@pixi/canvas-renderer": { - "resolved": "packages/canvas-renderer", - "link": true - }, - "node_modules/@pixi/canvas-sprite": { - "resolved": "packages/canvas-sprite", - "link": true - }, - "node_modules/@pixi/canvas-sprite-tiling": { - "resolved": "packages/canvas-sprite-tiling", - "link": true - }, - "node_modules/@pixi/canvas-text": { - "resolved": "packages/canvas-text", - "link": true - }, - "node_modules/@pixi/compressed-textures": { - "resolved": "packages/compressed-textures", - "link": true - }, - "node_modules/@pixi/constants": { - "resolved": "packages/constants", - "link": true - }, - "node_modules/@pixi/core": { - "resolved": "packages/core", - "link": true - }, - "node_modules/@pixi/display": { - "resolved": "packages/display", - "link": true - }, - "node_modules/@pixi/eslint-config": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@pixi/eslint-config/-/eslint-config-4.0.1.tgz", - "integrity": "sha512-o75jXn96vBw37E/CCnwgfLOBVQAFf4Z7OyctLxcOmthQgr3iG4ILW2DbtZTh1+XuZ3eF2JqnLa9WjIgzZOAKMg==", + "node_modules/@lerna/run/node_modules/@lerna/validation-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", + "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", "dev": true, "dependencies": { - "@typescript-eslint/eslint-plugin": "^5.0.0", - "@typescript-eslint/parser": "^5.0.0" + "npmlog": "^4.1.2" }, - "peerDependencies": { - "eslint": ">=7.0.0", - "typescript": ">=3.8.3" + "engines": { + "node": ">= 10.18.0" } }, - "node_modules/@pixi/events": { - "resolved": "packages/events", - "link": true - }, - "node_modules/@pixi/extract": { - "resolved": "packages/extract", - "link": true - }, - "node_modules/@pixi/filter-alpha": { - "resolved": "packages/filter-alpha", - "link": true - }, - "node_modules/@pixi/filter-blur": { - "resolved": "packages/filter-blur", - "link": true - }, - "node_modules/@pixi/filter-color-matrix": { - "resolved": "packages/filter-color-matrix", - "link": true - }, - "node_modules/@pixi/filter-displacement": { - "resolved": "packages/filter-displacement", - "link": true - }, - "node_modules/@pixi/filter-fxaa": { - "resolved": "packages/filter-fxaa", - "link": true - }, - "node_modules/@pixi/filter-noise": { - "resolved": "packages/filter-noise", - "link": true - }, - "node_modules/@pixi/graphics": { - "resolved": "packages/graphics", - "link": true - }, - "node_modules/@pixi/graphics-extras": { - "resolved": "packages/graphics-extras", - "link": true - }, - "node_modules/@pixi/interaction": { - "resolved": "packages/interaction", - "link": true - }, - "node_modules/@pixi/loaders": { - "resolved": "packages/loaders", - "link": true - }, - "node_modules/@pixi/math": { - "resolved": "packages/math", - "link": true - }, - "node_modules/@pixi/math-extras": { - "resolved": "packages/math-extras", - "link": true - }, - "node_modules/@pixi/mesh": { - "resolved": "packages/mesh", - "link": true - }, - "node_modules/@pixi/mesh-extras": { - "resolved": "packages/mesh-extras", - "link": true - }, - "node_modules/@pixi/mixin-cache-as-bitmap": { - "resolved": "packages/mixin-cache-as-bitmap", - "link": true - }, - "node_modules/@pixi/mixin-get-child-by-name": { - "resolved": "packages/mixin-get-child-by-name", - "link": true - }, - "node_modules/@pixi/mixin-get-global-position": { - "resolved": "packages/mixin-get-global-position", - "link": true - }, - "node_modules/@pixi/particle-container": { - "resolved": "packages/particle-container", - "link": true - }, - "node_modules/@pixi/polyfill": { - "resolved": "packages/polyfill", - "link": true - }, - "node_modules/@pixi/prepare": { - "resolved": "packages/prepare", - "link": true - }, - "node_modules/@pixi/runner": { - "resolved": "packages/runner", - "link": true - }, - "node_modules/@pixi/settings": { - "resolved": "packages/settings", - "link": true - }, - "node_modules/@pixi/sprite": { - "resolved": "packages/sprite", - "link": true - }, - "node_modules/@pixi/sprite-animated": { - "resolved": "packages/sprite-animated", - "link": true - }, - "node_modules/@pixi/sprite-tiling": { - "resolved": "packages/sprite-tiling", - "link": true - }, - "node_modules/@pixi/spritesheet": { - "resolved": "packages/spritesheet", - "link": true - }, - "node_modules/@pixi/text": { - "resolved": "packages/text", - "link": true - }, - "node_modules/@pixi/text-bitmap": { - "resolved": "packages/text-bitmap", - "link": true - }, - "node_modules/@pixi/ticker": { - "resolved": "packages/ticker", - "link": true - }, - "node_modules/@pixi/unsafe-eval": { - "resolved": "packages/unsafe-eval", - "link": true - }, - "node_modules/@pixi/utils": { - "resolved": "packages/utils", - "link": true - }, - "node_modules/@pixi/webdoc-template": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/@pixi/webdoc-template/-/webdoc-template-1.5.3.tgz", - "integrity": "sha512-Q988OAvg0NsfoSE6Bl99Lej1l4O1QgV09ZWAnDDKi7FDSGxhY+sQpenN4DEmB27rzW5RJiST3irnTKq1S5TnKg==", + "node_modules/@lerna/symlink-binary": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-4.0.0.tgz", + "integrity": "sha512-zualodWC4q1QQc1pkz969hcFeWXOsVYZC5AWVtAPTDfLl+TwM7eG/O6oP+Rr3fFowspxo6b1TQ6sYfDV6HXNWA==", "dev": true, "dependencies": { - "code-prettify": "^0.1.0", - "color-themes-for-google-code-prettify": "^2.0.4", - "common-path-prefix": "^3.0.0", - "fs-extra": "^9.0.1", - "klaw-sync": "^6.0.0", - "lodash": "*", - "markdown-it": "^11.0.0", - "markdown-it-highlightjs": "^3.4.0", - "missionlog": "^1.6.0", - "open-sans-fonts": "^1.6.2", - "taffydb": "^2.7.3" + "@lerna/create-symlink": "4.0.0", + "@lerna/package": "4.0.0", + "fs-extra": "^9.1.0", + "p-map": "^4.0.0" }, "engines": { - "node": ">= 12", - "npm": ">= 6", - "pnpm": "please-use-npm", - "yarn": "please-use-npm" - }, - "peerDependencies": { - "@webdoc/model": "^1.2.1", - "@webdoc/template-library": "^1.2.1" + "node": ">= 10.18.0" } }, - "node_modules/@pixi/webdoc-template/node_modules/fs-extra": { + "node_modules/@lerna/symlink-binary/node_modules/fs-extra": { "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, - "license": "MIT", "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -5221,10 +4837,11 @@ "node": ">=10" } }, - "node_modules/@pixi/webdoc-template/node_modules/jsonfile": { + "node_modules/@lerna/symlink-binary/node_modules/jsonfile": { "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, - "license": "MIT", "dependencies": { "universalify": "^2.0.0" }, @@ -5232,572 +4849,595 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/@pixi/webdoc-template/node_modules/universalify": { + "node_modules/@lerna/symlink-binary/node_modules/universalify": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true, - "license": "MIT", "engines": { "node": ">= 10.0.0" } }, - "node_modules/@rollup/plugin-alias": { - "version": "3.1.1", + "node_modules/@lerna/symlink-dependencies": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-4.0.0.tgz", + "integrity": "sha512-BABo0MjeUHNAe2FNGty1eantWp8u83BHSeIMPDxNq0MuW2K3CiQRaeWT3EGPAzXpGt0+hVzBrA6+OT0GPn7Yuw==", "dev": true, - "license": "MIT", "dependencies": { - "slash": "^3.0.0" + "@lerna/create-symlink": "4.0.0", + "@lerna/resolve-symlink": "4.0.0", + "@lerna/symlink-binary": "4.0.0", + "fs-extra": "^9.1.0", + "p-map": "^4.0.0", + "p-map-series": "^2.1.0" }, "engines": { - "node": ">=8.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" + "node": ">= 10.18.0" } }, - "node_modules/@rollup/plugin-buble": { - "version": "0.21.3", + "node_modules/@lerna/symlink-dependencies/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, - "license": "MIT", "dependencies": { - "@rollup/pluginutils": "^3.0.8", - "@types/buble": "^0.19.2", - "buble": "^0.20.0" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">= 8.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" + "node": ">=10" } }, - "node_modules/@rollup/plugin-buble/node_modules/buble": { - "version": "0.20.0", + "node_modules/@lerna/symlink-dependencies/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, - "license": "MIT", "dependencies": { - "acorn": "^6.4.1", - "acorn-dynamic-import": "^4.0.0", - "acorn-jsx": "^5.2.0", - "chalk": "^2.4.2", - "magic-string": "^0.25.7", - "minimist": "^1.2.5", - "regexpu-core": "4.5.4" + "universalify": "^2.0.0" }, - "bin": { - "buble": "bin/buble" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/@rollup/plugin-buble/node_modules/magic-string": { - "version": "0.25.7", + "node_modules/@lerna/symlink-dependencies/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true, - "license": "MIT", - "dependencies": { - "sourcemap-codec": "^1.4.4" + "engines": { + "node": ">= 10.0.0" } }, - "node_modules/@rollup/plugin-buble/node_modules/regenerate-unicode-properties": { - "version": "8.2.0", + "node_modules/@lerna/timer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/timer/-/timer-4.0.0.tgz", + "integrity": "sha512-WFsnlaE7SdOvjuyd05oKt8Leg3ENHICnvX3uYKKdByA+S3g+TCz38JsNs7OUZVt+ba63nC2nbXDlUnuT2Xbsfg==", "dev": true, - "license": "MIT", - "dependencies": { - "regenerate": "^1.4.0" - }, "engines": { - "node": ">=4" + "node": ">= 10.18.0" } }, - "node_modules/@rollup/plugin-buble/node_modules/regexpu-core": { - "version": "4.5.4", + "node_modules/@lerna/version": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/version/-/version-4.0.0.tgz", + "integrity": "sha512-otUgiqs5W9zGWJZSCCMRV/2Zm2A9q9JwSDS7s/tlKq4mWCYriWo7+wsHEA/nPTMDyYyBO5oyZDj+3X50KDUzeA==", "dev": true, - "license": "MIT", "dependencies": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.0.2", - "regjsgen": "^0.5.0", - "regjsparser": "^0.6.0", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.1.0" + "@lerna/check-working-tree": "4.0.0", + "@lerna/child-process": "4.0.0", + "@lerna/collect-updates": "4.0.0", + "@lerna/command": "4.0.0", + "@lerna/conventional-commits": "4.0.0", + "@lerna/github-client": "4.0.0", + "@lerna/gitlab-client": "4.0.0", + "@lerna/output": "4.0.0", + "@lerna/prerelease-id-from-version": "4.0.0", + "@lerna/prompt": "4.0.0", + "@lerna/run-lifecycle": "4.0.0", + "@lerna/run-topologically": "4.0.0", + "@lerna/validation-error": "4.0.0", + "chalk": "^4.1.0", + "dedent": "^0.7.0", + "load-json-file": "^6.2.0", + "minimatch": "^3.0.4", + "npmlog": "^4.1.2", + "p-map": "^4.0.0", + "p-pipe": "^3.1.0", + "p-reduce": "^2.1.0", + "p-waterfall": "^2.1.1", + "semver": "^7.3.4", + "slash": "^3.0.0", + "temp-write": "^4.0.0", + "write-json-file": "^4.3.0" }, "engines": { - "node": ">=4" + "node": ">= 10.18.0" } }, - "node_modules/@rollup/plugin-buble/node_modules/unicode-match-property-value-ecmascript": { - "version": "1.2.0", + "node_modules/@lerna/version/node_modules/@lerna/validation-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", + "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", "dev": true, - "license": "MIT", + "dependencies": { + "npmlog": "^4.1.2" + }, "engines": { - "node": ">=4" + "node": ">= 10.18.0" } }, - "node_modules/@rollup/plugin-commonjs": { - "version": "15.1.0", + "node_modules/@lerna/version/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "commondir": "^1.0.1", - "estree-walker": "^2.0.1", - "glob": "^7.1.6", - "is-reference": "^1.2.1", - "magic-string": "^0.25.7", - "resolve": "^1.17.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">= 8.0.0" + "node": ">=8" }, - "peerDependencies": { - "rollup": "^2.22.0" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@rollup/plugin-commonjs/node_modules/estree-walker": { - "version": "2.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/@rollup/plugin-commonjs/node_modules/magic-string": { - "version": "0.25.7", - "dev": true, - "license": "MIT", - "dependencies": { - "sourcemap-codec": "^1.4.4" - } - }, - "node_modules/@rollup/plugin-commonjs/node_modules/resolve": { - "version": "1.18.1", + "node_modules/@lerna/version/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { - "is-core-module": "^2.0.0", - "path-parse": "^1.0.6" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@rollup/plugin-json": { - "version": "4.1.0", + "node_modules/@lerna/version/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { - "@rollup/pluginutils": "^3.0.8" + "color-name": "~1.1.4" }, - "peerDependencies": { - "rollup": "^1.20.0 || ^2.0.0" + "engines": { + "node": ">=7.0.0" } }, - "node_modules/@rollup/plugin-node-resolve": { - "version": "9.0.0", + "node_modules/@lerna/version/node_modules/detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", "dev": true, - "license": "MIT", - "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.17.0" - }, "engines": { - "node": ">= 10.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" + "node": ">=8" } }, - "node_modules/@rollup/plugin-node-resolve/node_modules/@types/resolve": { - "version": "1.17.1", + "node_modules/@lerna/version/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" + "engines": { + "node": ">=8" } }, - "node_modules/@rollup/plugin-node-resolve/node_modules/deepmerge": { - "version": "4.2.2", + "node_modules/@lerna/version/node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", "dev": true, - "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/@rollup/plugin-node-resolve/node_modules/resolve": { - "version": "1.18.1", + "node_modules/@lerna/version/node_modules/load-json-file": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz", + "integrity": "sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==", "dev": true, - "license": "MIT", "dependencies": { - "is-core-module": "^2.0.0", - "path-parse": "^1.0.6" + "graceful-fs": "^4.1.15", + "parse-json": "^5.0.0", + "strip-bom": "^4.0.0", + "type-fest": "^0.6.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=8" } }, - "node_modules/@rollup/plugin-typescript": { + "node_modules/@lerna/version/node_modules/lru-cache": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "license": "MIT", "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "resolve": "^1.17.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">=8.0.0" - }, - "peerDependencies": { - "rollup": "^2.14.0", - "tslib": "*", - "typescript": ">=3.4.0" + "node": ">=10" } }, - "node_modules/@rollup/plugin-typescript/node_modules/resolve": { - "version": "1.18.1", + "node_modules/@lerna/version/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, - "license": "MIT", "dependencies": { - "is-core-module": "^2.0.0", - "path-parse": "^1.0.6" + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@rollup/pluginutils": { - "version": "3.1.0", + "node_modules/@lerna/version/node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@lerna/version/node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, - "license": "MIT", "dependencies": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" }, "engines": { - "node": ">= 8.0.0" + "node": ">=8" }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@rollup/pluginutils/node_modules/@types/estree": { - "version": "0.0.39", - "dev": true, - "license": "MIT" - }, - "node_modules/@rollup/pluginutils/node_modules/estree-walker": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/@rushstack/node-core-library": { - "version": "3.45.1", - "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-3.45.1.tgz", - "integrity": "sha512-BwdssTNe007DNjDBxJgInHg8ePytIPyT0La7ZZSQZF9+rSkT42AygXPGvbGsyFfEntjr4X37zZSJI7yGzL16cQ==", + "node_modules/@lerna/version/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "dependencies": { - "@types/node": "12.20.24", - "colors": "~1.2.1", - "fs-extra": "~7.0.1", - "import-lazy": "~4.0.0", - "jju": "~1.4.0", - "resolve": "~1.17.0", - "semver": "~7.3.0", - "timsort": "~0.3.0", - "z-schema": "~5.0.2" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/@rushstack/node-core-library/node_modules/fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "node_modules/@lerna/version/node_modules/sort-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz", + "integrity": "sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==", "dev": true, "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "is-plain-obj": "^2.0.0" }, "engines": { - "node": ">=6 <7 || >=8" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@rushstack/node-core-library/node_modules/lru-cache": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.8.0.tgz", - "integrity": "sha512-AmXqneQZL3KZMIgBpaPTeI6pfwh+xQ2vutMsyqOu1TBdEXFZgpG/80wuJ531w2ZN7TI0/oc8CPxzh/DKQudZqg==", + "node_modules/@lerna/version/node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/@rushstack/node-core-library/node_modules/semver": { - "version": "7.3.6", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.6.tgz", - "integrity": "sha512-HZWqcgwLsjaX1HBD31msI/rXktuIhS+lWvdE4kN9z+8IVT4Itc7vqU2WvYsyD6/sjYCt4dEKH/m1M3dwI9CC5w==", + "node_modules/@lerna/version/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "lru-cache": "^7.4.0" - }, - "bin": { - "semver": "bin/semver.js" + "has-flag": "^4.0.0" }, "engines": { - "node": "^10.0.0 || ^12.0.0 || ^14.0.0 || >=16.0.0" + "node": ">=8" } }, - "node_modules/@rushstack/rig-package": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.3.8.tgz", - "integrity": "sha512-MDWg1xovea99PWloSiYMjFcCLsrdjFtYt6aOyHNs5ojn5mxrzR6U9F83hvbQjTWnKPMvZtr0vcek+4n+OQOp3Q==", + "node_modules/@lerna/version/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", "dev": true, - "dependencies": { - "resolve": "~1.17.0", - "strip-json-comments": "~3.1.1" + "engines": { + "node": ">=8" } }, - "node_modules/@rushstack/ts-command-line": { - "version": "4.10.7", - "resolved": "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.10.7.tgz", - "integrity": "sha512-CjS+DfNXUSO5Ab2wD1GBGtUTnB02OglRWGqfaTcac9Jn45V5MeUOsq/wA8wEeS5Y/3TZ2P1k+IWdVDiuOFP9Og==", + "node_modules/@lerna/version/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", "dev": true, "dependencies": { - "@types/argparse": "1.0.38", - "argparse": "~1.0.9", - "colors": "~1.2.1", - "string-argv": "~0.3.1" + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" } }, - "node_modules/@sindresorhus/is": { - "version": "0.14.0", + "node_modules/@lerna/version/node_modules/write-json-file": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-4.3.0.tgz", + "integrity": "sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ==", "dev": true, - "license": "MIT", + "dependencies": { + "detect-indent": "^6.0.0", + "graceful-fs": "^4.1.15", + "is-plain-obj": "^2.0.0", + "make-dir": "^3.0.0", + "sort-keys": "^4.0.0", + "write-file-atomic": "^3.0.0" + }, "engines": { - "node": ">=6" + "node": ">=8.3" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@sinonjs/commons": { - "version": "1.4.0", + "node_modules/@lerna/version/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@lerna/write-log-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/write-log-file/-/write-log-file-4.0.0.tgz", + "integrity": "sha512-XRG5BloiArpXRakcnPHmEHJp+4AtnhRtpDIHSghmXD5EichI1uD73J7FgPp30mm2pDRq3FdqB0NbwSEsJ9xFQg==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { - "type-detect": "4.0.8" + "npmlog": "^4.1.2", + "write-file-atomic": "^3.0.3" + }, + "engines": { + "node": ">= 10.18.0" } }, - "node_modules/@sinonjs/formatio": { - "version": "3.2.1", + "node_modules/@lerna/write-log-file/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { - "@sinonjs/commons": "^1", - "@sinonjs/samsam": "^3.1.0" + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" } }, - "node_modules/@sinonjs/samsam": { - "version": "3.3.2", + "node_modules/@microsoft/api-extractor": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.20.1.tgz", + "integrity": "sha512-T7cqcK+JpvHGOj7cD2ZCCWS7Xgru1uOqZwrV/FSUdyKVs5fopZcbBSuetwD/akst3O7Ypryg3UOLP54S/vnVmA==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { - "@sinonjs/commons": "^1.0.2", - "array-from": "^2.1.1", - "lodash": "^4.17.11" + "@microsoft/api-extractor-model": "7.16.0", + "@microsoft/tsdoc": "0.13.2", + "@microsoft/tsdoc-config": "~0.15.2", + "@rushstack/node-core-library": "3.45.1", + "@rushstack/rig-package": "0.3.8", + "@rushstack/ts-command-line": "4.10.7", + "colors": "~1.2.1", + "lodash": "~4.17.15", + "resolve": "~1.17.0", + "semver": "~7.3.0", + "source-map": "~0.6.1", + "typescript": "~4.5.2" + }, + "bin": { + "api-extractor": "bin/api-extractor" } }, - "node_modules/@sinonjs/text-encoding": { - "version": "0.7.1", + "node_modules/@microsoft/api-extractor-model": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@microsoft/api-extractor-model/-/api-extractor-model-7.16.0.tgz", + "integrity": "sha512-0FOrbNIny8mzBrzQnSIkEjAXk0JMSnPmWYxt3ZDTPVg9S8xIPzB6lfgTg9+Mimu0RKCpGKBpd+v2WcR5vGzyUQ==", "dev": true, - "license": "(Unlicense OR Apache-2.0)" + "dependencies": { + "@microsoft/tsdoc": "0.13.2", + "@microsoft/tsdoc-config": "~0.15.2", + "@rushstack/node-core-library": "3.45.1" + } }, - "node_modules/@szmarczak/http-timer": { - "version": "1.1.2", + "node_modules/@microsoft/api-extractor/node_modules/semver": { + "version": "7.3.2", "dev": true, - "license": "MIT", - "dependencies": { - "defer-to-connect": "^1.0.1" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "node_modules/@microsoft/api-extractor/node_modules/typescript": { + "version": "4.5.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz", + "integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==", "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, "engines": { - "node": ">= 6" + "node": ">=4.2.0" } }, - "node_modules/@types/argparse": { - "version": "1.0.38", - "resolved": "https://registry.npmjs.org/@types/argparse/-/argparse-1.0.38.tgz", - "integrity": "sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==", + "node_modules/@microsoft/tsdoc": { + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.13.2.tgz", + "integrity": "sha512-WrHvO8PDL8wd8T2+zBGKrMwVL5IyzR3ryWUsl0PXgEV0QHup4mTLi0QcATefGI6Gx9Anu7vthPyyyLpY0EpiQg==", "dev": true }, - "node_modules/@types/buble": { - "version": "0.19.2", + "node_modules/@microsoft/tsdoc-config": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/@microsoft/tsdoc-config/-/tsdoc-config-0.15.2.tgz", + "integrity": "sha512-mK19b2wJHSdNf8znXSMYVShAHktVr/ib0Ck2FA3lsVBSEhSI/TfXT7DJQkAYgcztTuwazGcg58ZjYdk0hTCVrA==", "dev": true, - "license": "MIT", "dependencies": { - "magic-string": "^0.25.0" + "@microsoft/tsdoc": "0.13.2", + "ajv": "~6.12.6", + "jju": "~1.4.0", + "resolve": "~1.19.0" } }, - "node_modules/@types/chai": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.1.tgz", - "integrity": "sha512-/zPMqDkzSZ8t3VtxOa4KPq7uzzW978M9Tvh+j7GHKuo6k6GTLxPJ4J5gE5cjfJ26pnXst0N5Hax8Sr0T2Mi9zQ==", - "dev": true - }, - "node_modules/@types/color-name": { - "version": "1.1.1", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/earcut": { - "version": "2.1.1", - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "0.0.45", + "node_modules/@microsoft/tsdoc-config/node_modules/resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", "dev": true, - "license": "MIT" + "dependencies": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/@types/glob": { - "version": "7.1.3", + "node_modules/@mrmlnc/readdir-enhanced": { + "version": "2.2.1", "dev": true, "license": "MIT", "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", - "dev": true - }, - "node_modules/@types/minimatch": { - "version": "3.0.3", + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.3", "dev": true, - "license": "MIT" - }, - "node_modules/@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", - "dev": true + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.3", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } }, - "node_modules/@types/mocha": { - "version": "8.2.3", + "node_modules/@nodelib/fs.scandir/node_modules/@nodelib/fs.stat": { + "version": "2.0.3", "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "12.20.24", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.24.tgz", - "integrity": "sha512-yxDeaQIAJlMav7fH5AQqPH1u8YIuhYJXYBzxaQ4PifsU0GDO38MSdmEDeRlIxrKbC6NbEaaEHDanWb+y30U8SQ==", - "dev": true + "license": "MIT", + "engines": { + "node": ">= 8" + } }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.0", + "node_modules/@nodelib/fs.stat": { + "version": "1.1.3", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">= 6" + } }, - "node_modules/@types/object-assign": { - "version": "4.0.30", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.4", "dev": true, - "license": "MIT" - }, - "node_modules/@types/offscreencanvas": { - "version": "2019.6.4", - "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.6.4.tgz", - "integrity": "sha512-u8SAgdZ8ROtkTF+mfZGOscl0or6BSj9A4g37e6nvxDc+YB/oDut0wHkK2PBBiC2bNR8TS0CPV+1gAk4fNisr1Q==" + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.3", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "node_modules/@npmcli/ci-detect": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@npmcli/ci-detect/-/ci-detect-1.4.0.tgz", + "integrity": "sha512-3BGrt6FLjqM6br5AhWRKTr3u5GIVkjRYeAFrMp3HjnfICrg4xOrVRwFavKT6tsp++bq5dluL5t8ME/Nha/6c1Q==", "dev": true }, - "node_modules/@types/promise-polyfill": { - "version": "6.0.3", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/sinon": { - "version": "10.0.11", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.11.tgz", - "integrity": "sha512-dmZsHlBsKUtBpHriNjlK0ndlvEh8dcb9uV9Afsbt89QIyydpC7NcR+nWlAhASfy3GHnxTl4FX/aKE7XZUt/B4g==", + "node_modules/@npmcli/fs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.0.0.tgz", + "integrity": "sha512-8ltnOpRR/oJbOp8vaGUnipOi3bqkcW+sLHFlyXIr08OGHmVJLB1Hn7QtGXbYcpVtH1gAYZTlmDXtE4YV0+AMMQ==", "dev": true, "dependencies": { - "@types/sinonjs__fake-timers": "*" + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" } }, - "node_modules/@types/sinon-chai": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.8.tgz", - "integrity": "sha512-d4ImIQbT/rKMG8+AXpmcan5T2/PNeSjrYhvkwet6z0p8kzYtfgA32xzOBlbU0yqJfq+/0Ml805iFoODO0LP5/g==", + "node_modules/@npmcli/fs/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "dependencies": { - "@types/chai": "*", - "@types/sinon": "*" - } - }, - "node_modules/@types/sinonjs__fake-timers": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.2.tgz", - "integrity": "sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA==", - "dev": true + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.23.0.tgz", - "integrity": "sha512-hEcSmG4XodSLiAp1uxv/OQSGsDY6QN3TcRU32gANp+19wGE1QQZLRS8/GV58VRUoXhnkuJ3ZxNQ3T6Z6zM59DA==", + "node_modules/@npmcli/fs/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.23.0", - "@typescript-eslint/type-utils": "5.23.0", - "@typescript-eslint/utils": "5.23.0", - "debug": "^4.3.2", - "functional-red-black-tree": "^1.0.1", - "ignore": "^5.1.8", - "regexpp": "^3.2.0", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "lru-cache": "^6.0.0" }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "bin": { + "semver": "bin/semver.js" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "engines": { + "node": ">=10" } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/@npmcli/fs/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@npmcli/git": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-2.1.0.tgz", + "integrity": "sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw==", "dev": true, "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "@npmcli/promise-spawn": "^1.3.2", + "lru-cache": "^6.0.0", + "mkdirp": "^1.0.4", + "npm-pick-manifest": "^6.1.1", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^2.0.2" } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": { + "node_modules/@npmcli/git/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", @@ -5809,219 +5449,138 @@ "node": ">=10" } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "node_modules/@npmcli/git/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { - "semver": "bin/semver.js" + "mkdirp": "bin/cmd.js" }, "engines": { "node": ">=10" } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/@typescript-eslint/parser": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.23.0.tgz", - "integrity": "sha512-V06cYUkqcGqpFjb8ttVgzNF53tgbB/KoQT/iB++DOIExKmzI9vBJKjZKt/6FuV9c+zrDsvJKbJ2DOCYwX91cbw==", + "node_modules/@npmcli/git/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.23.0", - "@typescript-eslint/types": "5.23.0", - "@typescript-eslint/typescript-estree": "5.23.0", - "debug": "^4.3.2" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "lru-cache": "^6.0.0" }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "bin": { + "semver": "bin/semver.js" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "engines": { + "node": ">=10" } }, - "node_modules/@typescript-eslint/parser/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/@npmcli/git/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "dependencies": { - "ms": "2.1.2" + "isexe": "^2.0.0" }, - "engines": { - "node": ">=6.0" + "bin": { + "node-which": "bin/node-which" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "engines": { + "node": ">= 8" } }, - "node_modules/@typescript-eslint/parser/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "node_modules/@npmcli/git/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.23.0.tgz", - "integrity": "sha512-EhjaFELQHCRb5wTwlGsNMvzK9b8Oco4aYNleeDlNuL6qXWDF47ch4EhVNPh8Rdhf9tmqbN4sWDk/8g+Z/J8JVw==", + "node_modules/@npmcli/installed-package-contents": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz", + "integrity": "sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.23.0", - "@typescript-eslint/visitor-keys": "5.23.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.23.0.tgz", - "integrity": "sha512-iuI05JsJl/SUnOTXA9f4oI+/4qS/Zcgk+s2ir+lRmXI+80D8GaGwoUqs4p+X+4AxDolPpEpVUdlEH4ADxFy4gw==", - "dev": true, - "dependencies": { - "@typescript-eslint/utils": "5.23.0", - "debug": "^4.3.2", - "tsutils": "^3.21.0" + "bin": { + "installed-package-contents": "index.js" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">= 10" } }, - "node_modules/@typescript-eslint/type-utils/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", "dev": true, "dependencies": { - "ms": "2.1.2" + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">=10" } }, - "node_modules/@typescript-eslint/type-utils/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@typescript-eslint/types": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.23.0.tgz", - "integrity": "sha512-NfBsV/h4dir/8mJwdZz7JFibaKC3E/QdeMEDJhiAE3/eMkoniZ7MjbEMCGXw6MZnZDMN3G9S0mH/6WUIj91dmw==", + "node_modules/@npmcli/move-file/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "bin": { + "mkdirp": "bin/cmd.js" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "engines": { + "node": ">=10" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.23.0.tgz", - "integrity": "sha512-xE9e0lrHhI647SlGMl+m+3E3CKPF1wzvvOEWnuE3CCjjT7UiRnDGJxmAcVKJIlFgK6DY9RB98eLr1OPigPEOGg==", + "node_modules/@npmcli/move-file/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.23.0", - "@typescript-eslint/visitor-keys": "5.23.0", - "debug": "^4.3.2", - "globby": "^11.0.4", - "is-glob": "^4.0.3", - "semver": "^7.3.5", - "tsutils": "^3.21.0" + "glob": "^7.1.3" }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "bin": { + "rimraf": "bin.js" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/@npmcli/node-gyp": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-1.0.3.tgz", + "integrity": "sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA==", + "dev": true + }, + "node_modules/@npmcli/promise-spawn": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz", + "integrity": "sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==", "dev": true, "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "infer-owner": "^1.0.4" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "node_modules/@npmcli/run-script": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-1.8.6.tgz", + "integrity": "sha512-e42bVZnC6VluBZBAFEr3YrdqSspG3bgilyg4nSLBJ7TRGNCzxHa92XAHxQBLYg0BmgwO4b2mf3h/l5EkEWRn3g==", "dev": true, "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" + "@npmcli/node-gyp": "^1.0.2", + "@npmcli/promise-spawn": "^1.3.2", + "node-gyp": "^7.1.0", + "read-package-json-fast": "^2.0.1" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { + "node_modules/@npmcli/run-script/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", @@ -6033,249 +5592,511 @@ "node": ">=10" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "node_modules/@npmcli/run-script/node_modules/node-gyp": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz", + "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.3", + "nopt": "^5.0.0", + "npmlog": "^4.1.2", + "request": "^2.88.2", + "rimraf": "^3.0.2", + "semver": "^7.3.2", + "tar": "^6.0.2", + "which": "^2.0.2" }, "bin": { - "semver": "bin/semver.js" + "node-gyp": "bin/node-gyp.js" }, "engines": { - "node": ">=10" + "node": ">= 10.12.0" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/@typescript-eslint/utils": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.23.0.tgz", - "integrity": "sha512-dbgaKN21drqpkbbedGMNPCtRPZo1IOUr5EI9Jrrh99r5UW5Q0dz46RKXeSBoPV+56R6dFKpbrdhgUNSJsDDRZA==", + "node_modules/@npmcli/run-script/node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", "dev": true, "dependencies": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.23.0", - "@typescript-eslint/types": "5.23.0", - "@typescript-eslint/typescript-estree": "5.23.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "abbrev": "1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "bin": { + "nopt": "bin/nopt.js" }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "engines": { + "node": ">=6" } }, - "node_modules/@typescript-eslint/utils/node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "node_modules/@npmcli/run-script/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "dependencies": { - "eslint-visitor-keys": "^2.0.0" + "glob": "^7.1.3" }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + "bin": { + "rimraf": "bin.js" }, "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@typescript-eslint/utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "node_modules/@npmcli/run-script/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, "engines": { "node": ">=10" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.23.0.tgz", - "integrity": "sha512-Vd4mFNchU62sJB8pX19ZSPog05B0Y0CE2UxAZPT5k4iqhRYjPnqyY3woMxCd0++t9OTqkgjST+1ydLBi7e2Fvg==", + "node_modules/@npmcli/run-script/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.23.0", - "eslint-visitor-keys": "^3.0.0" + "isexe": "^2.0.0" }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "bin": { + "node-which": "bin/node-which" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">= 8" } }, - "node_modules/@ungap/promise-all-settled": { - "version": "1.1.2", + "node_modules/@npmcli/run-script/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@octokit/auth-token": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", + "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", "dev": true, - "license": "ISC" + "dependencies": { + "@octokit/types": "^6.0.3" + } }, - "node_modules/@webdoc/cli": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@webdoc/cli/-/cli-1.5.5.tgz", - "integrity": "sha512-RbC3BzwGKHn1r+zoWRBqtGFb5tJEG9/IkZoDKUlgSO7h5MkSl2HKj9/vmW2giv8MdoiZnF7WRDWwSDkWcdDunA==", + "node_modules/@octokit/core": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.5.1.tgz", + "integrity": "sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw==", "dev": true, "dependencies": { - "@webdoc/default-template": "^1.5.5", - "@webdoc/externalize": "^1.5.5", - "@webdoc/legacy-template": "^1.5.5", - "@webdoc/model": "^1.5.5", - "@webdoc/parser": "^1.5.5", - "@webdoc/plugin-markdown": "^1.5.5", - "@webdoc/template-library": "^1.5.5", - "@webdoc/types": "^1.5.5", - "array.prototype.flatmap": "~1.2.3", - "fs-extra": "^9.0.1", - "globby": "11.0.0", - "lodash.merge": "4.6.2", - "markdown-it": "^11.0.0", - "markdown-it-highlightjs": "^3.1.0", - "missionlog": "1.6.0", - "object.fromentries": "^2.0.2", - "perf_hooks": "~0.0.1", - "pkg-up": "~3.1.0", - "read-pkg-up": "~7.0.1", - "yargs": "^16.2.0" - }, - "bin": { - "webdoc": "cli.js" + "@octokit/auth-token": "^2.4.4", + "@octokit/graphql": "^4.5.8", + "@octokit/request": "^5.6.0", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.0.3", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" } }, - "node_modules/@webdoc/cli/node_modules/@nodelib/fs.stat": { - "version": "2.0.4", + "node_modules/@octokit/endpoint": { + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", + "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" + "dependencies": { + "@octokit/types": "^6.0.3", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" } }, - "node_modules/@webdoc/cli/node_modules/ansi-regex": { + "node_modules/@octokit/endpoint/node_modules/is-plain-object": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "dev": true, - "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/@webdoc/cli/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/@octokit/graphql": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", + "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", "dev": true, - "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "@octokit/request": "^5.6.0", + "@octokit/types": "^6.0.3", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/openapi-types": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.2.0.tgz", + "integrity": "sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA==", + "dev": true + }, + "node_modules/@octokit/plugin-enterprise-rest": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz", + "integrity": "sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==", + "dev": true + }, + "node_modules/@octokit/plugin-paginate-rest": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.17.0.tgz", + "integrity": "sha512-tzMbrbnam2Mt4AhuyCHvpRkS0oZ5MvwwcQPYGtMv4tUa5kkzG58SVB0fcsLulOZQeRnOgdkZWkRUiyBlh0Bkyw==", + "dev": true, + "dependencies": { + "@octokit/types": "^6.34.0" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "@octokit/core": ">=2" + } + }, + "node_modules/@octokit/plugin-request-log": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", + "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==", + "dev": true, + "peerDependencies": { + "@octokit/core": ">=3" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.13.0.tgz", + "integrity": "sha512-uJjMTkN1KaOIgNtUPMtIXDOjx6dGYysdIFhgA52x4xSadQCz3b/zJexvITDVpANnfKPW/+E0xkOvLntqMYpviA==", + "dev": true, + "dependencies": { + "@octokit/types": "^6.34.0", + "deprecation": "^2.3.1" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "@octokit/core": ">=3" } }, - "node_modules/@webdoc/cli/node_modules/array-union": { + "node_modules/@octokit/request": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.2.tgz", + "integrity": "sha512-je66CvSEVf0jCpRISxkUcCa0UkxmFs6eGDRSbfJtAVwbLH5ceqF+YEyC8lj8ystKyZTy8adWr0qmkY52EfOeLA==", + "dev": true, + "dependencies": { + "@octokit/endpoint": "^6.0.1", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.1", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/request-error": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", + "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", + "dev": true, + "dependencies": { + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "node_modules/@octokit/request/node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "dev": true, - "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/@webdoc/cli/node_modules/braces": { - "version": "3.0.2", + "node_modules/@octokit/rest": { + "version": "18.12.0", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz", + "integrity": "sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==", "dev": true, - "license": "MIT", "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" + "@octokit/core": "^3.5.1", + "@octokit/plugin-paginate-rest": "^2.16.8", + "@octokit/plugin-request-log": "^1.0.4", + "@octokit/plugin-rest-endpoint-methods": "^5.12.0" } }, - "node_modules/@webdoc/cli/node_modules/cliui": { - "version": "7.0.4", + "node_modules/@octokit/types": { + "version": "6.34.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.34.0.tgz", + "integrity": "sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw==", "dev": true, - "license": "ISC", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "@octokit/openapi-types": "^11.2.0" } }, - "node_modules/@webdoc/cli/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/@pixi-build-tools/api-extractor-lerna-monorepo": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@pixi-build-tools/api-extractor-lerna-monorepo/-/api-extractor-lerna-monorepo-1.1.0.tgz", + "integrity": "sha512-lBfrqrxXLoEjJcBe4umuXNezCvmciet9mA5V3gS/OvHUyimbwKhDAk4PHvxJDldmqd6vyJAZaka13gw011ji5w==", "dev": true, - "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "@lerna/project": "^4.0.0" }, - "engines": { - "node": ">=7.0.0" + "bin": { + "api-extractor-lerna-monorepo": "cli.js" + }, + "peerDependencies": { + "typescript": "^4.0.0" } }, - "node_modules/@webdoc/cli/node_modules/emoji-regex": { - "version": "8.0.0", - "dev": true, - "license": "MIT" + "node_modules/@pixi/accessibility": { + "resolved": "packages/accessibility", + "link": true }, - "node_modules/@webdoc/cli/node_modules/fast-glob": { - "version": "3.2.5", + "node_modules/@pixi/app": { + "resolved": "packages/app", + "link": true + }, + "node_modules/@pixi/basis": { + "resolved": "packages/basis", + "link": true + }, + "node_modules/@pixi/canvas-display": { + "resolved": "packages/canvas-display", + "link": true + }, + "node_modules/@pixi/canvas-extract": { + "resolved": "packages/canvas-extract", + "link": true + }, + "node_modules/@pixi/canvas-graphics": { + "resolved": "packages/canvas-graphics", + "link": true + }, + "node_modules/@pixi/canvas-mesh": { + "resolved": "packages/canvas-mesh", + "link": true + }, + "node_modules/@pixi/canvas-particle-container": { + "resolved": "packages/canvas-particle-container", + "link": true + }, + "node_modules/@pixi/canvas-prepare": { + "resolved": "packages/canvas-prepare", + "link": true + }, + "node_modules/@pixi/canvas-renderer": { + "resolved": "packages/canvas-renderer", + "link": true + }, + "node_modules/@pixi/canvas-sprite": { + "resolved": "packages/canvas-sprite", + "link": true + }, + "node_modules/@pixi/canvas-sprite-tiling": { + "resolved": "packages/canvas-sprite-tiling", + "link": true + }, + "node_modules/@pixi/canvas-text": { + "resolved": "packages/canvas-text", + "link": true + }, + "node_modules/@pixi/compressed-textures": { + "resolved": "packages/compressed-textures", + "link": true + }, + "node_modules/@pixi/constants": { + "resolved": "packages/constants", + "link": true + }, + "node_modules/@pixi/core": { + "resolved": "packages/core", + "link": true + }, + "node_modules/@pixi/display": { + "resolved": "packages/display", + "link": true + }, + "node_modules/@pixi/eslint-config": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@pixi/eslint-config/-/eslint-config-4.0.1.tgz", + "integrity": "sha512-o75jXn96vBw37E/CCnwgfLOBVQAFf4Z7OyctLxcOmthQgr3iG4ILW2DbtZTh1+XuZ3eF2JqnLa9WjIgzZOAKMg==", "dev": true, - "license": "MIT", "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", - "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" + "@typescript-eslint/eslint-plugin": "^5.0.0", + "@typescript-eslint/parser": "^5.0.0" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "eslint": ">=7.0.0", + "typescript": ">=3.8.3" } }, - "node_modules/@webdoc/cli/node_modules/fill-range": { - "version": "7.0.1", + "node_modules/@pixi/events": { + "resolved": "packages/events", + "link": true + }, + "node_modules/@pixi/extract": { + "resolved": "packages/extract", + "link": true + }, + "node_modules/@pixi/filter-alpha": { + "resolved": "packages/filter-alpha", + "link": true + }, + "node_modules/@pixi/filter-blur": { + "resolved": "packages/filter-blur", + "link": true + }, + "node_modules/@pixi/filter-color-matrix": { + "resolved": "packages/filter-color-matrix", + "link": true + }, + "node_modules/@pixi/filter-displacement": { + "resolved": "packages/filter-displacement", + "link": true + }, + "node_modules/@pixi/filter-fxaa": { + "resolved": "packages/filter-fxaa", + "link": true + }, + "node_modules/@pixi/filter-noise": { + "resolved": "packages/filter-noise", + "link": true + }, + "node_modules/@pixi/graphics": { + "resolved": "packages/graphics", + "link": true + }, + "node_modules/@pixi/graphics-extras": { + "resolved": "packages/graphics-extras", + "link": true + }, + "node_modules/@pixi/interaction": { + "resolved": "packages/interaction", + "link": true + }, + "node_modules/@pixi/loaders": { + "resolved": "packages/loaders", + "link": true + }, + "node_modules/@pixi/math": { + "resolved": "packages/math", + "link": true + }, + "node_modules/@pixi/math-extras": { + "resolved": "packages/math-extras", + "link": true + }, + "node_modules/@pixi/mesh": { + "resolved": "packages/mesh", + "link": true + }, + "node_modules/@pixi/mesh-extras": { + "resolved": "packages/mesh-extras", + "link": true + }, + "node_modules/@pixi/mixin-cache-as-bitmap": { + "resolved": "packages/mixin-cache-as-bitmap", + "link": true + }, + "node_modules/@pixi/mixin-get-child-by-name": { + "resolved": "packages/mixin-get-child-by-name", + "link": true + }, + "node_modules/@pixi/mixin-get-global-position": { + "resolved": "packages/mixin-get-global-position", + "link": true + }, + "node_modules/@pixi/particle-container": { + "resolved": "packages/particle-container", + "link": true + }, + "node_modules/@pixi/polyfill": { + "resolved": "packages/polyfill", + "link": true + }, + "node_modules/@pixi/prepare": { + "resolved": "packages/prepare", + "link": true + }, + "node_modules/@pixi/runner": { + "resolved": "packages/runner", + "link": true + }, + "node_modules/@pixi/settings": { + "resolved": "packages/settings", + "link": true + }, + "node_modules/@pixi/sprite": { + "resolved": "packages/sprite", + "link": true + }, + "node_modules/@pixi/sprite-animated": { + "resolved": "packages/sprite-animated", + "link": true + }, + "node_modules/@pixi/sprite-tiling": { + "resolved": "packages/sprite-tiling", + "link": true + }, + "node_modules/@pixi/spritesheet": { + "resolved": "packages/spritesheet", + "link": true + }, + "node_modules/@pixi/text": { + "resolved": "packages/text", + "link": true + }, + "node_modules/@pixi/text-bitmap": { + "resolved": "packages/text-bitmap", + "link": true + }, + "node_modules/@pixi/ticker": { + "resolved": "packages/ticker", + "link": true + }, + "node_modules/@pixi/unsafe-eval": { + "resolved": "packages/unsafe-eval", + "link": true + }, + "node_modules/@pixi/utils": { + "resolved": "packages/utils", + "link": true + }, + "node_modules/@pixi/webdoc-template": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@pixi/webdoc-template/-/webdoc-template-1.5.3.tgz", + "integrity": "sha512-Q988OAvg0NsfoSE6Bl99Lej1l4O1QgV09ZWAnDDKi7FDSGxhY+sQpenN4DEmB27rzW5RJiST3irnTKq1S5TnKg==", "dev": true, - "license": "MIT", "dependencies": { - "to-regex-range": "^5.0.1" + "code-prettify": "^0.1.0", + "color-themes-for-google-code-prettify": "^2.0.4", + "common-path-prefix": "^3.0.0", + "fs-extra": "^9.0.1", + "klaw-sync": "^6.0.0", + "lodash": "*", + "markdown-it": "^11.0.0", + "markdown-it-highlightjs": "^3.4.0", + "missionlog": "^1.6.0", + "open-sans-fonts": "^1.6.2", + "taffydb": "^2.7.3" }, "engines": { - "node": ">=8" + "node": ">= 12", + "npm": ">= 6", + "pnpm": "please-use-npm", + "yarn": "please-use-npm" + }, + "peerDependencies": { + "@webdoc/model": "^1.2.1", + "@webdoc/template-library": "^1.2.1" } }, - "node_modules/@webdoc/cli/node_modules/fs-extra": { + "node_modules/@pixi/webdoc-template/node_modules/fs-extra": { "version": "9.1.0", "dev": true, "license": "MIT", @@ -6289,2171 +6110,2209 @@ "node": ">=10" } }, - "node_modules/@webdoc/cli/node_modules/get-caller-file": { - "version": "2.0.5", + "node_modules/@pixi/webdoc-template/node_modules/jsonfile": { + "version": "6.1.0", "dev": true, - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/@webdoc/cli/node_modules/glob-parent": { - "version": "5.1.1", + "node_modules/@pixi/webdoc-template/node_modules/universalify": { + "version": "2.0.0", "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, + "license": "MIT", "engines": { - "node": ">= 6" + "node": ">= 10.0.0" } }, - "node_modules/@webdoc/cli/node_modules/globby": { - "version": "11.0.0", + "node_modules/@rollup/plugin-alias": { + "version": "3.1.1", "dev": true, "license": "MIT", "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", "slash": "^3.0.0" }, "engines": { - "node": ">=10" + "node": ">=8.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" } }, - "node_modules/@webdoc/cli/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", + "node_modules/@rollup/plugin-buble": { + "version": "0.21.3", "dev": true, "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^3.0.8", + "@types/buble": "^0.19.2", + "buble": "^0.20.0" + }, "engines": { - "node": ">=8" + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" } }, - "node_modules/@webdoc/cli/node_modules/is-glob": { - "version": "4.0.1", + "node_modules/@rollup/plugin-buble/node_modules/buble": { + "version": "0.20.0", "dev": true, "license": "MIT", "dependencies": { - "is-extglob": "^2.1.1" + "acorn": "^6.4.1", + "acorn-dynamic-import": "^4.0.0", + "acorn-jsx": "^5.2.0", + "chalk": "^2.4.2", + "magic-string": "^0.25.7", + "minimist": "^1.2.5", + "regexpu-core": "4.5.4" }, - "engines": { - "node": ">=0.10.0" + "bin": { + "buble": "bin/buble" } }, - "node_modules/@webdoc/cli/node_modules/is-number": { - "version": "7.0.0", + "node_modules/@rollup/plugin-buble/node_modules/magic-string": { + "version": "0.25.7", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.12.0" + "dependencies": { + "sourcemap-codec": "^1.4.4" } }, - "node_modules/@webdoc/cli/node_modules/jsonfile": { - "version": "6.1.0", + "node_modules/@rollup/plugin-buble/node_modules/regenerate-unicode-properties": { + "version": "8.2.0", "dev": true, "license": "MIT", "dependencies": { - "universalify": "^2.0.0" + "regenerate": "^1.4.0" }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "engines": { + "node": ">=4" } }, - "node_modules/@webdoc/cli/node_modules/micromatch": { - "version": "4.0.2", + "node_modules/@rollup/plugin-buble/node_modules/regexpu-core": { + "version": "4.5.4", "dev": true, "license": "MIT", "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.0.2", + "regjsgen": "^0.5.0", + "regjsparser": "^0.6.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.1.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/@webdoc/cli/node_modules/parse-json": { - "version": "5.2.0", + "node_modules/@rollup/plugin-buble/node_modules/unicode-match-property-value-ecmascript": { + "version": "1.2.0", "dev": true, "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/@webdoc/cli/node_modules/read-pkg": { - "version": "5.2.0", + "node_modules/@rollup/plugin-commonjs": { + "version": "15.1.0", "dev": true, "license": "MIT", "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@webdoc/cli/node_modules/read-pkg-up": { - "version": "7.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" + "@rollup/pluginutils": "^3.1.0", + "commondir": "^1.0.1", + "estree-walker": "^2.0.1", + "glob": "^7.1.6", + "is-reference": "^1.2.1", + "magic-string": "^0.25.7", + "resolve": "^1.17.0" }, "engines": { - "node": ">=8" + "node": ">= 8.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "rollup": "^2.22.0" } }, - "node_modules/@webdoc/cli/node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", + "node_modules/@rollup/plugin-commonjs/node_modules/estree-walker": { + "version": "2.0.1", "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=8" + "license": "MIT" + }, + "node_modules/@rollup/plugin-commonjs/node_modules/magic-string": { + "version": "0.25.7", + "dev": true, + "license": "MIT", + "dependencies": { + "sourcemap-codec": "^1.4.4" } }, - "node_modules/@webdoc/cli/node_modules/string-width": { - "version": "4.2.0", + "node_modules/@rollup/plugin-commonjs/node_modules/resolve": { + "version": "1.18.1", "dev": true, "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "is-core-module": "^2.0.0", + "path-parse": "^1.0.6" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@webdoc/cli/node_modules/strip-ansi": { - "version": "6.0.0", + "node_modules/@rollup/plugin-json": { + "version": "4.1.0", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.0" + "@rollup/pluginutils": "^3.0.8" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" } }, - "node_modules/@webdoc/cli/node_modules/to-regex-range": { - "version": "5.0.1", + "node_modules/@rollup/plugin-node-resolve": { + "version": "9.0.0", "dev": true, "license": "MIT", "dependencies": { - "is-number": "^7.0.0" + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.17.0" }, "engines": { - "node": ">=8.0" + "node": ">= 10.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" } }, - "node_modules/@webdoc/cli/node_modules/universalify": { - "version": "2.0.0", + "node_modules/@rollup/plugin-node-resolve/node_modules/@types/resolve": { + "version": "1.17.1", "dev": true, "license": "MIT", - "engines": { - "node": ">= 10.0.0" + "dependencies": { + "@types/node": "*" } }, - "node_modules/@webdoc/cli/node_modules/wrap-ansi": { - "version": "7.0.0", + "node_modules/@rollup/plugin-node-resolve/node_modules/resolve": { + "version": "1.18.1", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" + "is-core-module": "^2.0.0", + "path-parse": "^1.0.6" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@webdoc/cli/node_modules/y18n": { - "version": "5.0.5", + "node_modules/@rollup/plugin-typescript": { + "version": "6.0.0", "dev": true, - "license": "ISC", + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "resolve": "^1.17.0" + }, "engines": { - "node": ">=10" + "node": ">=8.0.0" + }, + "peerDependencies": { + "rollup": "^2.14.0", + "tslib": "*", + "typescript": ">=3.4.0" } }, - "node_modules/@webdoc/cli/node_modules/yargs": { - "version": "16.2.0", + "node_modules/@rollup/plugin-typescript/node_modules/resolve": { + "version": "1.18.1", "dev": true, "license": "MIT", "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "is-core-module": "^2.0.0", + "path-parse": "^1.0.6" }, - "engines": { - "node": ">=10" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@webdoc/cli/node_modules/yargs-parser": { - "version": "20.2.4", + "node_modules/@rollup/pluginutils": { + "version": "3.1.0", "dev": true, - "license": "ISC", + "license": "MIT", + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, "engines": { - "node": ">=10" + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" } }, - "node_modules/@webdoc/default-template": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@webdoc/default-template/-/default-template-1.5.5.tgz", - "integrity": "sha512-5XeHVYqUL2Mrm/bSImg3OAnAkeXMxANRPgRroHj6Aty7kkcSYOwN37Ns/oPsGKWeU5BJvxZO7Y0+Zzs7J9X/gw==", + "node_modules/@rollup/pluginutils/node_modules/@types/estree": { + "version": "0.0.39", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/@rushstack/node-core-library": { + "version": "3.45.1", + "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-3.45.1.tgz", + "integrity": "sha512-BwdssTNe007DNjDBxJgInHg8ePytIPyT0La7ZZSQZF9+rSkT42AygXPGvbGsyFfEntjr4X37zZSJI7yGzL16cQ==", "dev": true, "dependencies": { - "@babel/core": "^7.9.0", - "@babel/preset-react": "^7.10.1", - "@webdoc/model": "^1.5.5", - "@webdoc/template-library": "^1.5.5", - "@webdoc/types": "^1.5.5", - "code-prettify": "^0.1.0", - "fs-extra": "^9.0.1", - "highlight.js": "~10.7.2", - "markdown-it": "^11.0.0", - "markdown-it-highlightjs": "^3.1.0" + "@types/node": "12.20.24", + "colors": "~1.2.1", + "fs-extra": "~7.0.1", + "import-lazy": "~4.0.0", + "jju": "~1.4.0", + "resolve": "~1.17.0", + "semver": "~7.3.0", + "timsort": "~0.3.0", + "z-schema": "~5.0.2" } }, - "node_modules/@webdoc/default-template/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "node_modules/@rushstack/node-core-library/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", "dev": true, "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" }, "engines": { - "node": ">=10" + "node": ">=6 <7 || >=8" } }, - "node_modules/@webdoc/default-template/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "node_modules/@rushstack/node-core-library/node_modules/lru-cache": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.8.0.tgz", + "integrity": "sha512-AmXqneQZL3KZMIgBpaPTeI6pfwh+xQ2vutMsyqOu1TBdEXFZgpG/80wuJ531w2ZN7TI0/oc8CPxzh/DKQudZqg==", "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "engines": { + "node": ">=12" } }, - "node_modules/@webdoc/default-template/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "node_modules/@rushstack/node-core-library/node_modules/semver": { + "version": "7.3.6", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.6.tgz", + "integrity": "sha512-HZWqcgwLsjaX1HBD31msI/rXktuIhS+lWvdE4kN9z+8IVT4Itc7vqU2WvYsyD6/sjYCt4dEKH/m1M3dwI9CC5w==", "dev": true, + "dependencies": { + "lru-cache": "^7.4.0" + }, + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">= 10.0.0" + "node": "^10.0.0 || ^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/@webdoc/externalize": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@webdoc/externalize/-/externalize-1.5.5.tgz", - "integrity": "sha512-cvDpVd4nX+n6vAwgabt5QXVXxPBKvat5CsydHwdErww/XTDRCZzy3sbCtzGBwyd4ZNrx3aSl4nJSAJjwf/WsUQ==", + "node_modules/@rushstack/rig-package": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.3.8.tgz", + "integrity": "sha512-MDWg1xovea99PWloSiYMjFcCLsrdjFtYt6aOyHNs5ojn5mxrzR6U9F83hvbQjTWnKPMvZtr0vcek+4n+OQOp3Q==", "dev": true, "dependencies": { - "@babel/core": "^7.9.0", - "@webdoc/model": "^1.5.5", - "@webdoc/types": "^1.5.5", - "lodash": "^4.17.20" + "resolve": "~1.17.0", + "strip-json-comments": "~3.1.1" } }, - "node_modules/@webdoc/legacy-template": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@webdoc/legacy-template/-/legacy-template-1.5.5.tgz", - "integrity": "sha512-Pvx1WwOMGjFNbd24T9LEqB8traj3DP75GUFweQ2vL2hyHg3hS7fpDsTttw7ePlm1usylhZFvJ37AgCID9a5WcA==", + "node_modules/@rushstack/ts-command-line": { + "version": "4.10.7", + "resolved": "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.10.7.tgz", + "integrity": "sha512-CjS+DfNXUSO5Ab2wD1GBGtUTnB02OglRWGqfaTcac9Jn45V5MeUOsq/wA8wEeS5Y/3TZ2P1k+IWdVDiuOFP9Og==", "dev": true, "dependencies": { - "@webdoc/model": "^1.5.5", - "@webdoc/template-library": "^1.5.5", - "bluebird": "^3.7.2", - "code-prettify": "^0.1.0", - "color-themes-for-google-code-prettify": "^2.0.4", - "common-path-prefix": "^3.0.0", - "escape-string-regexp": "^3.0.0", - "fs-extra": "^9.0.1", - "klaw-sync": "6.0.0", - "lodash": "^4.17.20", - "markdown-it": "^11.0.0", - "markdown-it-highlightjs": "^3.1.0", - "marked": "^0.8.2", - "missionlog": "1.6.0", - "open-sans-fonts": "^1.6.2" + "@types/argparse": "1.0.38", + "argparse": "~1.0.9", + "colors": "~1.2.1", + "string-argv": "~0.3.1" } }, - "node_modules/@webdoc/legacy-template/node_modules/escape-string-regexp": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-3.0.0.tgz", - "integrity": "sha512-11dXIUC3umvzEViLP117d0KN6LJzZxh5+9F4E/7WLAAw7GrHk8NpUR+g9iJi/pe9C0py4F8rs0hreyRCwlAuZg==", + "node_modules/@sindresorhus/is": { + "version": "0.14.0", "dev": true, + "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, - "node_modules/@webdoc/legacy-template/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "node_modules/@sinonjs/commons": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", + "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", "dev": true, "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" + "type-detect": "4.0.8" } }, - "node_modules/@webdoc/legacy-template/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "node_modules/@sinonjs/fake-timers": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", + "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", "dev": true, "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "@sinonjs/commons": "^1.7.0" } }, - "node_modules/@webdoc/legacy-template/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "node_modules/@szmarczak/http-timer": { + "version": "1.1.2", "dev": true, + "license": "MIT", + "dependencies": { + "defer-to-connect": "^1.0.1" + }, "engines": { - "node": ">= 10.0.0" + "node": ">=6" } }, - "node_modules/@webdoc/model": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@webdoc/model/-/model-1.5.5.tgz", - "integrity": "sha512-fqFXe9VbtcooAkZGOD8hilux86FQKhnD2KQCXxbS/sip50WbZGegHWnJrYQIH9FwXbXuTENw7ztc8LsMY2pkMQ==", + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", "dev": true, - "dependencies": { - "@webdoc/types": "^1.5.5", - "catharsis": "0.8.11", - "nanoid": "~3.1.16", - "taffydb": "2.7.3" + "engines": { + "node": ">= 6" } }, - "node_modules/@webdoc/parser": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@webdoc/parser/-/parser-1.5.5.tgz", - "integrity": "sha512-Fpow4bMSSkBY52r57mnn3fuVREcc1rOoWdRxQcI/BjDfiAXz3xa7gH1xbXvxIE5LatN5dgRbYU81ILhCl18RvA==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.9.4", - "@babel/traverse": "7.9.5", - "@babel/types": "7.9.5", - "@webdoc/model": "^1.5.5", - "@webdoc/types": "^1.5.5", - "lodash": "^4.17.20", - "missionlog": "1.6.0", - "nanoid": "~3.1.16" - } + "node_modules/@types/argparse": { + "version": "1.0.38", + "resolved": "https://registry.npmjs.org/@types/argparse/-/argparse-1.0.38.tgz", + "integrity": "sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==", + "dev": true }, - "node_modules/@webdoc/parser/node_modules/@babel/types": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.5.tgz", - "integrity": "sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg==", + "node_modules/@types/babel__core": { + "version": "7.1.19", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", + "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.9.5", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" } }, - "node_modules/@webdoc/plugin-markdown": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@webdoc/plugin-markdown/-/plugin-markdown-1.5.5.tgz", - "integrity": "sha512-Mzu/stCH9eqOA4yyKE42k8EwIW3TQyj3euxc14Ohw/PVMC2Uk97u6JEiVQAuBSoi0vHp27rNVTICCtdLKxQFnQ==", + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", "dev": true, "dependencies": { - "markdown-it": "^11.0.0", - "markdown-it-highlightjs": "^3.1.0" + "@babel/types": "^7.0.0" } }, - "node_modules/@webdoc/template-library": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@webdoc/template-library/-/template-library-1.5.5.tgz", - "integrity": "sha512-nyNzLPj3g09bFdFNKEnNw0xxm1zy3+bdW17dhTREWKBgLQ7z7XrZeHTOI/jJ2zh4RFOIGExyYTx4nZ/luPhFEg==", + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", "dev": true, "dependencies": { - "@webdoc/externalize": "^1.5.5", - "@webdoc/model": "^1.5.5", - "@webdoc/types": "^1.5.5", - "catharsis": "0.8.11", - "fs-extra": "^9.0.1", - "git-branch": "2.0.1", - "lodash": "^4.17.20", - "missionlog": "1.6.0", - "nanoid": "~3.1.16", - "node-fetch": "~2.6.1", - "parse-github-url": "1.0.2" + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "node_modules/@webdoc/template-library/node_modules/fs-extra": { - "version": "9.1.0", + "node_modules/@types/babel__traverse": { + "version": "7.17.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz", + "integrity": "sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==", "dev": true, - "license": "MIT", "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" + "@babel/types": "^7.3.0" } }, - "node_modules/@webdoc/template-library/node_modules/jsonfile": { - "version": "6.1.0", + "node_modules/@types/buble": { + "version": "0.19.2", "dev": true, "license": "MIT", "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@webdoc/template-library/node_modules/universalify": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10.0.0" + "magic-string": "^0.25.0" } }, - "node_modules/@webdoc/types": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@webdoc/types/-/types-1.5.5.tgz", - "integrity": "sha512-XTHsivrEgjSmZM4M6KbdNyJ859et6ifEgKy7TfLMAYbpgpZx7bOagSdKB33S7YICTaxxBFrlPeklGJKfFB6lNg==", + "node_modules/@types/chai": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.1.tgz", + "integrity": "sha512-/zPMqDkzSZ8t3VtxOa4KPq7uzzW978M9Tvh+j7GHKuo6k6GTLxPJ4J5gE5cjfJ26pnXst0N5Hax8Sr0T2Mi9zQ==", "dev": true }, - "node_modules/abbrev": { + "node_modules/@types/color-name": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "node_modules/@types/earcut": { + "version": "2.1.1", + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "0.0.45", "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } + "license": "MIT" }, - "node_modules/acorn-dynamic-import": { - "version": "4.0.0", + "node_modules/@types/glob": { + "version": "7.1.3", "dev": true, "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0" + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" } }, - "node_modules/acorn-jsx": { - "version": "5.2.0", + "node_modules/@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0" + "dependencies": { + "@types/node": "*" } }, - "node_modules/add-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", - "integrity": "sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=", + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", "dev": true }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", "dev": true, "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" + "@types/istanbul-lib-coverage": "*" } }, - "node_modules/agent-base/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", "dev": true, "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "@types/istanbul-lib-report": "*" } }, - "node_modules/agent-base/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/agentkeepalive": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.1.4.tgz", - "integrity": "sha512-+V/rGa3EuU74H6wR04plBb7Ks10FbtUQgRj/FQOG7uUIEuaINI+AiqJR1k6t3SVNs7o7ZjIdus6706qqzVq8jQ==", + "node_modules/@types/jest": { + "version": "26.0.24", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.24.tgz", + "integrity": "sha512-E/X5Vib8BWqZNRlDxj9vYXhsDwPYbPINqKF9BsnSoon4RQ0D9moEuLD8txgyypFLH7J4+Lho9Nr/c8H0Fi+17w==", "dev": true, "dependencies": { - "debug": "^4.1.0", - "depd": "^1.1.2", - "humanize-ms": "^1.2.1" - }, - "engines": { - "node": ">= 8.0.0" + "jest-diff": "^26.0.0", + "pretty-format": "^26.0.0" } }, - "node_modules/agentkeepalive/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "dependencies": { - "ms": "2.1.2" + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "node_modules/@types/minimatch": { + "version": "3.0.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "dev": true + }, + "node_modules/@types/node": { + "version": "12.20.24", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.24.tgz", + "integrity": "sha512-yxDeaQIAJlMav7fH5AQqPH1u8YIuhYJXYBzxaQ4PifsU0GDO38MSdmEDeRlIxrKbC6NbEaaEHDanWb+y30U8SQ==", + "dev": true + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/object-assign": { + "version": "4.0.30", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/offscreencanvas": { + "version": "2019.6.4", + "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.6.4.tgz", + "integrity": "sha512-u8SAgdZ8ROtkTF+mfZGOscl0or6BSj9A4g37e6nvxDc+YB/oDut0wHkK2PBBiC2bNR8TS0CPV+1gAk4fNisr1Q==" + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "node_modules/@types/prettier": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.3.tgz", + "integrity": "sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg==", + "dev": true + }, + "node_modules/@types/promise-polyfill": { + "version": "6.0.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "node_modules/@types/yargs": { + "version": "15.0.14", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", + "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.23.0.tgz", + "integrity": "sha512-hEcSmG4XodSLiAp1uxv/OQSGsDY6QN3TcRU32gANp+19wGE1QQZLRS8/GV58VRUoXhnkuJ3ZxNQ3T6Z6zM59DA==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.23.0", + "@typescript-eslint/type-utils": "5.23.0", + "@typescript-eslint/utils": "5.23.0", + "debug": "^4.3.2", + "functional-red-black-tree": "^1.0.1", + "ignore": "^5.1.8", + "regexpp": "^3.2.0", + "semver": "^7.3.5", + "tsutils": "^3.21.0" }, "engines": { - "node": ">=6.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { - "supports-color": { + "typescript": { "optional": true } } }, - "node_modules/agentkeepalive/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/aggregate-error": { - "version": "3.1.0", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, - "license": "MIT", "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "ms": "2.1.2" }, "engines": { - "node": ">=8" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "yallist": "^4.0.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">=10" } }, - "node_modules/ansi-colors": { - "version": "4.1.1", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "dev": true, - "license": "MIT", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.23.0.tgz", + "integrity": "sha512-V06cYUkqcGqpFjb8ttVgzNF53tgbB/KoQT/iB++DOIExKmzI9vBJKjZKt/6FuV9c+zrDsvJKbJ2DOCYwX91cbw==", "dev": true, "dependencies": { - "type-fest": "^0.21.3" + "@typescript-eslint/scope-manager": "5.23.0", + "@typescript-eslint/types": "5.23.0", + "@typescript-eslint/typescript-estree": "5.23.0", + "debug": "^4.3.2" }, "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "node_modules/@typescript-eslint/parser/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, + "dependencies": { + "ms": "2.1.2" + }, "engines": { - "node": ">=10" + "node": ">=6.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/ansi-regex": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } + "node_modules/@typescript-eslint/parser/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, - "node_modules/ansi-styles": { - "version": "3.2.1", + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.23.0.tgz", + "integrity": "sha512-EhjaFELQHCRb5wTwlGsNMvzK9b8Oco4aYNleeDlNuL6qXWDF47ch4EhVNPh8Rdhf9tmqbN4sWDk/8g+Z/J8JVw==", "dev": true, - "license": "MIT", "dependencies": { - "color-convert": "^1.9.0" + "@typescript-eslint/types": "5.23.0", + "@typescript-eslint/visitor-keys": "5.23.0" }, "engines": { - "node": ">=4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/anymatch": { - "version": "3.1.1", + "node_modules/@typescript-eslint/type-utils": { + "version": "5.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.23.0.tgz", + "integrity": "sha512-iuI05JsJl/SUnOTXA9f4oI+/4qS/Zcgk+s2ir+lRmXI+80D8GaGwoUqs4p+X+4AxDolPpEpVUdlEH4ADxFy4gw==", "dev": true, - "license": "ISC", "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "@typescript-eslint/utils": "5.23.0", + "debug": "^4.3.2", + "tsutils": "^3.21.0" }, "engines": { - "node": ">= 8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/append-transform": { - "version": "2.0.0", + "node_modules/@typescript-eslint/type-utils/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, - "license": "MIT", "dependencies": { - "default-require-extensions": "^3.0.0" + "ms": "2.1.2" }, "engines": { - "node": ">=8" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/aproba": { - "version": "1.2.0", - "dev": true, - "license": "ISC" - }, - "node_modules/archy": { - "version": "1.0.0", - "dev": true, - "license": "MIT" + "node_modules/@typescript-eslint/type-utils/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, - "node_modules/are-we-there-yet": { - "version": "1.1.5", + "node_modules/@typescript-eslint/types": { + "version": "5.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.23.0.tgz", + "integrity": "sha512-NfBsV/h4dir/8mJwdZz7JFibaKC3E/QdeMEDJhiAE3/eMkoniZ7MjbEMCGXw6MZnZDMN3G9S0mH/6WUIj91dmw==", "dev": true, - "license": "ISC", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/are-we-there-yet/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/are-we-there-yet/node_modules/readable-stream": { - "version": "2.3.6", + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.23.0.tgz", + "integrity": "sha512-xE9e0lrHhI647SlGMl+m+3E3CKPF1wzvvOEWnuE3CCjjT7UiRnDGJxmAcVKJIlFgK6DY9RB98eLr1OPigPEOGg==", "dev": true, - "license": "MIT", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "@typescript-eslint/types": "5.23.0", + "@typescript-eslint/visitor-keys": "5.23.0", + "debug": "^4.3.2", + "globby": "^11.0.4", + "is-glob": "^4.0.3", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/are-we-there-yet/node_modules/string_decoder": { - "version": "1.1.1", + "node_modules/@typescript-eslint/typescript-estree/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, - "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.0" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/arg": { - "version": "4.1.3", - "dev": true, - "license": "MIT" - }, - "node_modules/argparse": { - "version": "1.0.10", + "node_modules/@typescript-eslint/typescript-estree/node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, - "license": "MIT", "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/arr-diff": { - "version": "4.0.0", - "dev": true, - "license": "MIT", + "is-extglob": "^2.1.1" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/arr-flatten": { - "version": "1.1.0", + "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "license": "MIT", + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/array-differ": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", - "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/array-from": { - "version": "2.1.1", - "dev": true, - "license": "MIT" - }, - "node_modules/array-ify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", - "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", + "node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "node_modules/array-includes": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz", - "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==", + "node_modules/@typescript-eslint/utils": { + "version": "5.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.23.0.tgz", + "integrity": "sha512-dbgaKN21drqpkbbedGMNPCtRPZo1IOUr5EI9Jrrh99r5UW5Q0dz46RKXeSBoPV+56R6dFKpbrdhgUNSJsDDRZA==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", - "get-intrinsic": "^1.1.1", - "is-string": "^1.0.5" + "@types/json-schema": "^7.0.9", + "@typescript-eslint/scope-manager": "5.23.0", + "@typescript-eslint/types": "5.23.0", + "@typescript-eslint/typescript-estree": "5.23.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" }, "engines": { - "node": ">= 0.4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/array-union": { - "version": "1.0.2", + "node_modules/@typescript-eslint/utils/node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", "dev": true, - "license": "MIT", "dependencies": { - "array-uniq": "^1.0.1" + "eslint-visitor-keys": "^2.0.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-uniq": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" } }, - "node_modules/array-unique": { - "version": "0.3.2", + "node_modules/@typescript-eslint/utils/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", "dev": true, - "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/array.prototype.flatmap": { - "version": "1.2.4", + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.23.0.tgz", + "integrity": "sha512-Vd4mFNchU62sJB8pX19ZSPog05B0Y0CE2UxAZPT5k4iqhRYjPnqyY3woMxCd0++t9OTqkgjST+1ydLBi7e2Fvg==", "dev": true, - "license": "MIT", "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "function-bind": "^1.1.1" + "@typescript-eslint/types": "5.23.0", + "eslint-visitor-keys": "^3.0.0" }, "engines": { - "node": ">= 0.4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/arrify": { - "version": "1.0.1", + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", "dev": true, - "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", - "dev": true - }, - "node_modules/asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "node_modules/@webdoc/cli": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@webdoc/cli/-/cli-1.5.5.tgz", + "integrity": "sha512-RbC3BzwGKHn1r+zoWRBqtGFb5tJEG9/IkZoDKUlgSO7h5MkSl2HKj9/vmW2giv8MdoiZnF7WRDWwSDkWcdDunA==", "dev": true, "dependencies": { - "safer-buffer": "~2.1.0" + "@webdoc/default-template": "^1.5.5", + "@webdoc/externalize": "^1.5.5", + "@webdoc/legacy-template": "^1.5.5", + "@webdoc/model": "^1.5.5", + "@webdoc/parser": "^1.5.5", + "@webdoc/plugin-markdown": "^1.5.5", + "@webdoc/template-library": "^1.5.5", + "@webdoc/types": "^1.5.5", + "array.prototype.flatmap": "~1.2.3", + "fs-extra": "^9.0.1", + "globby": "11.0.0", + "lodash.merge": "4.6.2", + "markdown-it": "^11.0.0", + "markdown-it-highlightjs": "^3.1.0", + "missionlog": "1.6.0", + "object.fromentries": "^2.0.2", + "perf_hooks": "~0.0.1", + "pkg-up": "~3.1.0", + "read-pkg-up": "~7.0.1", + "yargs": "^16.2.0" + }, + "bin": { + "webdoc": "cli.js" } }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "node_modules/@webdoc/cli/node_modules/@nodelib/fs.stat": { + "version": "2.0.4", "dev": true, + "license": "MIT", "engines": { - "node": ">=0.8" + "node": ">= 8" } }, - "node_modules/assertion-error": { - "version": "1.1.0", + "node_modules/@webdoc/cli/node_modules/ansi-regex": { + "version": "5.0.0", "dev": true, "license": "MIT", "engines": { - "node": "*" + "node": ">=8" } }, - "node_modules/assign-symbols": { - "version": "1.0.0", + "node_modules/@webdoc/cli/node_modules/ansi-styles": { + "version": "4.3.0", "dev": true, "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/astral-regex": { - "version": "1.0.0", + "node_modules/@webdoc/cli/node_modules/array-union": { + "version": "2.1.0", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "node_modules/at-least-node": { - "version": "1.0.0", + "node_modules/@webdoc/cli/node_modules/braces": { + "version": "3.0.2", "dev": true, - "license": "ISC", + "license": "MIT", + "dependencies": { + "fill-range": "^7.0.1" + }, "engines": { - "node": ">= 4.0.0" + "node": ">=8" } }, - "node_modules/atob": { - "version": "2.1.2", + "node_modules/@webdoc/cli/node_modules/cliui": { + "version": "7.0.4", "dev": true, - "license": "(MIT OR Apache-2.0)", - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "node_modules/@webdoc/cli/node_modules/color-convert": { + "version": "2.0.1", "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": "*" + "node": ">=7.0.0" } }, - "node_modules/aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "dev": true - }, - "node_modules/balanced-match": { - "version": "1.0.0", + "node_modules/@webdoc/cli/node_modules/emoji-regex": { + "version": "8.0.0", "dev": true, "license": "MIT" }, - "node_modules/base": { - "version": "0.11.2", + "node_modules/@webdoc/cli/node_modules/fast-glob": { + "version": "3.2.5", "dev": true, "license": "MIT", "dependencies": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/base/node_modules/define-property": { - "version": "1.0.0", + "node_modules/@webdoc/cli/node_modules/fill-range": { + "version": "7.0.1", "dev": true, "license": "MIT", "dependencies": { - "is-descriptor": "^1.0.0" + "to-regex-range": "^5.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/base/node_modules/is-accessor-descriptor": { - "version": "1.0.0", + "node_modules/@webdoc/cli/node_modules/fs-extra": { + "version": "9.1.0", "dev": true, "license": "MIT", "dependencies": { - "kind-of": "^6.0.0" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/base/node_modules/is-data-descriptor": { - "version": "1.0.0", + "node_modules/@webdoc/cli/node_modules/get-caller-file": { + "version": "2.0.5", "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^6.0.0" - }, + "license": "ISC", "engines": { - "node": ">=0.10.0" + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/base/node_modules/is-descriptor": { - "version": "1.0.2", + "node_modules/@webdoc/cli/node_modules/glob-parent": { + "version": "5.1.1", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/base/node_modules/kind-of": { - "version": "6.0.2", + "node_modules/@webdoc/cli/node_modules/globby": { + "version": "11.0.0", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, "dependencies": { - "tweetnacl": "^0.14.3" + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/before-after-hook": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz", - "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==", - "dev": true - }, - "node_modules/binary-extensions": { - "version": "2.2.0", + "node_modules/@webdoc/cli/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/bluebird": { - "version": "3.7.2", - "dev": true, - "license": "MIT" - }, - "node_modules/boolean": { - "version": "3.0.2", + "node_modules/@webdoc/cli/node_modules/is-glob": { + "version": "4.0.1", "dev": true, "license": "MIT", - "optional": true + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/brace-expansion": { - "version": "1.1.11", + "node_modules/@webdoc/cli/node_modules/is-number": { + "version": "7.0.0", "dev": true, "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "engines": { + "node": ">=0.12.0" } }, - "node_modules/braces": { - "version": "2.3.2", + "node_modules/@webdoc/cli/node_modules/jsonfile": { + "version": "6.1.0", "dev": true, "license": "MIT", "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "universalify": "^2.0.0" }, - "engines": { - "node": ">=0.10.0" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", + "node_modules/@webdoc/cli/node_modules/micromatch": { + "version": "4.0.2", "dev": true, "license": "MIT", "dependencies": { - "is-extendable": "^0.1.0" + "braces": "^3.0.1", + "picomatch": "^2.0.5" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/browser-stdout": { - "version": "1.3.1", - "dev": true, - "license": "ISC" - }, - "node_modules/browserslist": { - "version": "4.16.6", + "node_modules/@webdoc/cli/node_modules/parse-json": { + "version": "5.2.0", "dev": true, "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001219", - "colorette": "^1.2.2", - "electron-to-chromium": "^1.3.723", - "escalade": "^3.1.1", - "node-releases": "^1.1.71" - }, - "bin": { - "browserslist": "cli.js" + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" }, "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/buffer-from": { - "version": "1.1.1", - "dev": true, - "license": "MIT" - }, - "node_modules/builtin-modules": { - "version": "3.1.0", + "node_modules/@webdoc/cli/node_modules/read-pkg": { + "version": "5.2.0", "dev": true, "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/builtins": { - "version": "1.0.3", - "dev": true, - "license": "MIT" - }, - "node_modules/byline": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", - "integrity": "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/byte-size": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/byte-size/-/byte-size-7.0.1.tgz", - "integrity": "sha512-crQdqyCwhokxwV1UyDzLZanhkugAgft7vt0qbbdt60C6Zf3CAiGmtUCylbtYwrU6loOUw3euGrNtW1J651ot1A==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/cacache": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", - "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", - "dev": true, "dependencies": { - "@npmcli/fs": "^1.0.0", - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" }, "engines": { - "node": ">= 10" + "node": ">=8" } }, - "node_modules/cacache/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/@webdoc/cli/node_modules/read-pkg-up": { + "version": "7.0.1", "dev": true, + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" }, "engines": { - "node": ">=10" - } - }, - "node_modules/cacache/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" + "node": ">=8" }, - "engines": { - "node": ">=10" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cacache/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "node_modules/@webdoc/cli/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" } }, - "node_modules/cacache/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/cache-base": { - "version": "1.0.1", + "node_modules/@webdoc/cli/node_modules/string-width": { + "version": "4.2.0", "dev": true, "license": "MIT", "dependencies": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/cacheable-request": { - "version": "6.1.0", + "node_modules/@webdoc/cli/node_modules/strip-ansi": { + "version": "6.0.0", "dev": true, "license": "MIT", "dependencies": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" + "ansi-regex": "^5.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/cacheable-request/node_modules/get-stream": { - "version": "5.2.0", + "node_modules/@webdoc/cli/node_modules/to-regex-range": { + "version": "5.0.1", "dev": true, "license": "MIT", "dependencies": { - "pump": "^3.0.0" + "is-number": "^7.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8.0" } }, - "node_modules/cacheable-request/node_modules/lowercase-keys": { + "node_modules/@webdoc/cli/node_modules/universalify": { "version": "2.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 10.0.0" } }, - "node_modules/cacheable-request/node_modules/normalize-url": { - "version": "4.5.0", + "node_modules/@webdoc/cli/node_modules/wrap-ansi": { + "version": "7.0.0", "dev": true, "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/caching-transform": { - "version": "4.0.0", + "node_modules/@webdoc/cli/node_modules/y18n": { + "version": "5.0.5", "dev": true, - "license": "MIT", - "dependencies": { - "hasha": "^5.0.0", - "make-dir": "^3.0.0", - "package-hash": "^4.0.0", - "write-file-atomic": "^3.0.0" - }, + "license": "ISC", "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/caching-transform/node_modules/make-dir": { - "version": "3.1.0", + "node_modules/@webdoc/cli/node_modules/yargs": { + "version": "16.2.0", "dev": true, "license": "MIT", "dependencies": { - "semver": "^6.0.0" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=10" } }, - "node_modules/caching-transform/node_modules/semver": { - "version": "6.3.0", + "node_modules/@webdoc/cli/node_modules/yargs-parser": { + "version": "20.2.4", "dev": true, "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "engines": { + "node": ">=10" } }, - "node_modules/caching-transform/node_modules/write-file-atomic": { - "version": "3.0.3", - "dev": true, - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "node_modules/@webdoc/default-template": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@webdoc/default-template/-/default-template-1.5.5.tgz", + "integrity": "sha512-5XeHVYqUL2Mrm/bSImg3OAnAkeXMxANRPgRroHj6Aty7kkcSYOwN37Ns/oPsGKWeU5BJvxZO7Y0+Zzs7J9X/gw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.9.0", + "@babel/preset-react": "^7.10.1", + "@webdoc/model": "^1.5.5", + "@webdoc/template-library": "^1.5.5", + "@webdoc/types": "^1.5.5", + "code-prettify": "^0.1.0", + "fs-extra": "^9.0.1", + "highlight.js": "~10.7.2", + "markdown-it": "^11.0.0", + "markdown-it-highlightjs": "^3.1.0" } }, - "node_modules/call-bind": { - "version": "1.0.2", + "node_modules/@webdoc/default-template/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, - "license": "MIT", "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=10" } }, - "node_modules/call-me-maybe": { - "version": "1.0.1", + "node_modules/@webdoc/default-template/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, - "license": "MIT" + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "node_modules/@webdoc/default-template/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true, "engines": { - "node": ">=6" + "node": ">= 10.0.0" } }, - "node_modules/camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "node_modules/@webdoc/externalize": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@webdoc/externalize/-/externalize-1.5.5.tgz", + "integrity": "sha512-cvDpVd4nX+n6vAwgabt5QXVXxPBKvat5CsydHwdErww/XTDRCZzy3sbCtzGBwyd4ZNrx3aSl4nJSAJjwf/WsUQ==", "dev": true, "dependencies": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@babel/core": "^7.9.0", + "@webdoc/model": "^1.5.5", + "@webdoc/types": "^1.5.5", + "lodash": "^4.17.20" } }, - "node_modules/camelcase-keys/node_modules/map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "node_modules/@webdoc/legacy-template": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@webdoc/legacy-template/-/legacy-template-1.5.5.tgz", + "integrity": "sha512-Pvx1WwOMGjFNbd24T9LEqB8traj3DP75GUFweQ2vL2hyHg3hS7fpDsTttw7ePlm1usylhZFvJ37AgCID9a5WcA==", + "dev": true, + "dependencies": { + "@webdoc/model": "^1.5.5", + "@webdoc/template-library": "^1.5.5", + "bluebird": "^3.7.2", + "code-prettify": "^0.1.0", + "color-themes-for-google-code-prettify": "^2.0.4", + "common-path-prefix": "^3.0.0", + "escape-string-regexp": "^3.0.0", + "fs-extra": "^9.0.1", + "klaw-sync": "6.0.0", + "lodash": "^4.17.20", + "markdown-it": "^11.0.0", + "markdown-it-highlightjs": "^3.1.0", + "marked": "^0.8.2", + "missionlog": "1.6.0", + "open-sans-fonts": "^1.6.2" + } + }, + "node_modules/@webdoc/legacy-template/node_modules/escape-string-regexp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-3.0.0.tgz", + "integrity": "sha512-11dXIUC3umvzEViLP117d0KN6LJzZxh5+9F4E/7WLAAw7GrHk8NpUR+g9iJi/pe9C0py4F8rs0hreyRCwlAuZg==", "dev": true, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001222", - "dev": true, - "license": "CC-BY-4.0" - }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "node_modules/catharsis": { - "version": "0.8.11", + "node_modules/@webdoc/legacy-template/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, - "license": "MIT", "dependencies": { - "lodash": "^4.17.14" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">= 8" + "node": ">=10" } }, - "node_modules/chai": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz", - "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==", + "node_modules/@webdoc/legacy-template/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^3.0.1", - "get-func-name": "^2.0.0", - "loupe": "^2.3.1", - "pathval": "^1.1.1", - "type-detect": "^4.0.5" + "universalify": "^2.0.0" }, - "engines": { - "node": ">=4" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/chalk": { - "version": "2.4.2", + "node_modules/@webdoc/legacy-template/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, "engines": { - "node": ">=4" + "node": ">= 10.0.0" } }, - "node_modules/chardet": { - "version": "0.7.0", - "dev": true, - "license": "MIT" - }, - "node_modules/check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", + "node_modules/@webdoc/model": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@webdoc/model/-/model-1.5.5.tgz", + "integrity": "sha512-fqFXe9VbtcooAkZGOD8hilux86FQKhnD2KQCXxbS/sip50WbZGegHWnJrYQIH9FwXbXuTENw7ztc8LsMY2pkMQ==", "dev": true, - "engines": { - "node": "*" + "dependencies": { + "@webdoc/types": "^1.5.5", + "catharsis": "0.8.11", + "nanoid": "~3.1.16", + "taffydb": "2.7.3" } }, - "node_modules/chokidar": { - "version": "3.5.1", + "node_modules/@webdoc/parser": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@webdoc/parser/-/parser-1.5.5.tgz", + "integrity": "sha512-Fpow4bMSSkBY52r57mnn3fuVREcc1rOoWdRxQcI/BjDfiAXz3xa7gH1xbXvxIE5LatN5dgRbYU81ILhCl18RvA==", "dev": true, - "license": "MIT", "dependencies": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.1" + "@babel/parser": "^7.9.4", + "@babel/traverse": "7.9.5", + "@babel/types": "7.9.5", + "@webdoc/model": "^1.5.5", + "@webdoc/types": "^1.5.5", + "lodash": "^4.17.20", + "missionlog": "1.6.0", + "nanoid": "~3.1.16" } }, - "node_modules/chokidar/node_modules/braces": { - "version": "3.0.2", + "node_modules/@webdoc/parser/node_modules/@babel/types": { + "version": "7.9.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.5.tgz", + "integrity": "sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg==", "dev": true, - "license": "MIT", "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" + "@babel/helper-validator-identifier": "^7.9.5", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" } }, - "node_modules/chokidar/node_modules/fill-range": { - "version": "7.0.1", + "node_modules/@webdoc/plugin-markdown": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@webdoc/plugin-markdown/-/plugin-markdown-1.5.5.tgz", + "integrity": "sha512-Mzu/stCH9eqOA4yyKE42k8EwIW3TQyj3euxc14Ohw/PVMC2Uk97u6JEiVQAuBSoi0vHp27rNVTICCtdLKxQFnQ==", "dev": true, - "license": "MIT", "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" + "markdown-it": "^11.0.0", + "markdown-it-highlightjs": "^3.1.0" } }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", + "node_modules/@webdoc/template-library": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@webdoc/template-library/-/template-library-1.5.5.tgz", + "integrity": "sha512-nyNzLPj3g09bFdFNKEnNw0xxm1zy3+bdW17dhTREWKBgLQ7z7XrZeHTOI/jJ2zh4RFOIGExyYTx4nZ/luPhFEg==", "dev": true, - "license": "ISC", "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" + "@webdoc/externalize": "^1.5.5", + "@webdoc/model": "^1.5.5", + "@webdoc/types": "^1.5.5", + "catharsis": "0.8.11", + "fs-extra": "^9.0.1", + "git-branch": "2.0.1", + "lodash": "^4.17.20", + "missionlog": "1.6.0", + "nanoid": "~3.1.16", + "node-fetch": "~2.6.1", + "parse-github-url": "1.0.2" } }, - "node_modules/chokidar/node_modules/is-glob": { - "version": "4.0.1", + "node_modules/@webdoc/template-library/node_modules/fs-extra": { + "version": "9.1.0", "dev": true, "license": "MIT", "dependencies": { - "is-extglob": "^2.1.1" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/chokidar/node_modules/is-number": { - "version": "7.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" + "node": ">=10" } }, - "node_modules/chokidar/node_modules/to-regex-range": { - "version": "5.0.1", + "node_modules/@webdoc/template-library/node_modules/jsonfile": { + "version": "6.1.0", "dev": true, "license": "MIT", "dependencies": { - "is-number": "^7.0.0" + "universalify": "^2.0.0" }, - "engines": { - "node": ">=8.0" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/chownr": { + "node_modules/@webdoc/template-library/node_modules/universalify": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", "dev": true, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">= 10.0.0" } }, - "node_modules/chunkd": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/chunkd/-/chunkd-2.0.1.tgz", - "integrity": "sha512-7d58XsFmOq0j6el67Ug9mHf9ELUXsQXYJBkyxhH/k+6Ke0qXRnv0kbemx+Twc6fRJ07C49lcbdgm9FL1Ei/6SQ==", + "node_modules/@webdoc/types": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@webdoc/types/-/types-1.5.5.tgz", + "integrity": "sha512-XTHsivrEgjSmZM4M6KbdNyJ859et6ifEgKy7TfLMAYbpgpZx7bOagSdKB33S7YICTaxxBFrlPeklGJKfFB6lNg==", "dev": true }, - "node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", "dev": true }, - "node_modules/class-utils": { - "version": "0.3.6", + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true, - "license": "MIT", - "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": ">=0.10.0" + "node": ">=0.4.0" } }, - "node_modules/class-utils/node_modules/arr-union": { - "version": "3.1.0", + "node_modules/acorn-dynamic-import": { + "version": "4.0.0", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "acorn": "^6.0.0" } }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", + "node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", "dev": true, - "license": "MIT", "dependencies": { - "is-descriptor": "^0.1.0" + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": ">=0.10.0" + "node": ">=0.4.0" } }, - "node_modules/clean-stack": { - "version": "2.2.0", + "node_modules/acorn-jsx": { + "version": "5.2.0", "dev": true, "license": "MIT", - "engines": { - "node": ">=6" + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0" } }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", "dev": true, - "dependencies": { - "restore-cursor": "^3.1.0" - }, "engines": { - "node": ">=8" + "node": ">=0.4.0" } }, - "node_modules/cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "node_modules/add-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", + "integrity": "sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=", + "dev": true + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, + "dependencies": { + "debug": "4" + }, "engines": { - "node": ">= 10" + "node": ">= 6.0.0" } }, - "node_modules/cliui": { - "version": "4.1.0", + "node_modules/agent-base/node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, - "license": "ISC", "dependencies": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "3.0.0", + "node_modules/agent-base/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/agentkeepalive": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.1.4.tgz", + "integrity": "sha512-+V/rGa3EuU74H6wR04plBb7Ks10FbtUQgRj/FQOG7uUIEuaINI+AiqJR1k6t3SVNs7o7ZjIdus6706qqzVq8jQ==", "dev": true, - "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + }, "engines": { - "node": ">=4" + "node": ">= 8.0.0" } }, - "node_modules/cliui/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", + "node_modules/agentkeepalive/node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, - "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, "engines": { - "node": ">=4" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/cliui/node_modules/string-width": { - "version": "2.1.1", + "node_modules/agentkeepalive/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/aggregate-error": { + "version": "3.1.0", "dev": true, "license": "MIT", "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "4.0.0", + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-regex": "^3.0.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">=4" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, "engines": { - "node": ">=0.8" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/clone-deep/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "node_modules/ansi-regex": { + "version": "2.1.1", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/clone-response": { - "version": "1.0.2", + "node_modules/ansi-styles": { + "version": "3.2.1", "dev": true, "license": "MIT", "dependencies": { - "mimic-response": "^1.0.0" + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/cmd-shim": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-4.1.0.tgz", - "integrity": "sha512-lb9L7EM4I/ZRVuljLPEtUJOP+xiQVknZ4ZMpMgEp4JzNldPb27HU03hi6K1/6CoIuit/Zm/LQXySErFeXxDprw==", + "node_modules/anymatch": { + "version": "3.1.1", "dev": true, + "license": "ISC", "dependencies": { - "mkdirp-infer-owner": "^2.0.0" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" }, "engines": { - "node": ">=10" + "node": ">= 8" } }, - "node_modules/code-point-at": { - "version": "1.1.0", + "node_modules/aproba": { + "version": "1.2.0", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } + "license": "ISC" }, - "node_modules/code-prettify": { - "version": "0.1.0", + "node_modules/are-we-there-yet": { + "version": "1.1.5", "dev": true, - "license": "Apache-2.0" + "license": "ISC", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } }, - "node_modules/collection-visit": { + "node_modules/are-we-there-yet/node_modules/isarray": { "version": "1.0.0", "dev": true, + "license": "MIT" + }, + "node_modules/are-we-there-yet/node_modules/readable-stream": { + "version": "2.3.6", + "dev": true, "license": "MIT", "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/color-convert": { - "version": "1.9.1", + "node_modules/are-we-there-yet/node_modules/string_decoder": { + "version": "1.1.1", "dev": true, "license": "MIT", "dependencies": { - "color-name": "^1.1.1" + "safe-buffer": "~5.1.0" } }, - "node_modules/color-name": { - "version": "1.1.4", + "node_modules/arg": { + "version": "4.1.3", "dev": true, "license": "MIT" }, - "node_modules/color-themes-for-google-code-prettify": { - "version": "2.0.4", + "node_modules/argparse": { + "version": "1.0.10", "dev": true, "license": "MIT", - "engines": { - "node": ">=5.9.0" + "dependencies": { + "sprintf-js": "~1.0.2" } }, - "node_modules/colorette": { - "version": "1.2.2", - "dev": true, - "license": "MIT" - }, - "node_modules/colors": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.2.5.tgz", - "integrity": "sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg==", + "node_modules/arr-diff": { + "version": "4.0.0", "dev": true, + "license": "MIT", "engines": { - "node": ">=0.1.90" + "node": ">=0.10.0" } }, - "node_modules/columnify": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz", - "integrity": "sha1-Rzfd8ce2mop8NAVweC6UfuyOeLs=", + "node_modules/arr-flatten": { + "version": "1.1.0", "dev": true, - "dependencies": { - "strip-ansi": "^3.0.0", - "wcwidth": "^1.0.0" + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "node_modules/array-differ": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", + "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", "dev": true, - "dependencies": { - "delayed-stream": "~1.0.0" - }, "engines": { - "node": ">= 0.8" + "node": ">=8" } }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "node_modules/array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha512-H3LU5RLiSsGXPhN+Nipar0iR0IofH+8r89G2y1tBKxQ/agagKyAjhkAFDRBfodP2caPrNKHpAWNIM/c9yeL7uA==", "dev": true }, - "node_modules/comment-parser": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.1.tgz", - "integrity": "sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA==", + "node_modules/array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", + "dev": true + }, + "node_modules/array-includes": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz", + "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==", "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2", + "get-intrinsic": "^1.1.1", + "is-string": "^1.0.5" + }, "engines": { - "node": ">= 12.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/common-path-prefix": { - "version": "3.0.0", + "node_modules/array-union": { + "version": "1.0.2", "dev": true, - "license": "ISC" + "license": "MIT", + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/commondir": { - "version": "1.0.1", + "node_modules/array-uniq": { + "version": "1.0.3", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/compare-func": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", - "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", + "node_modules/array-unique": { + "version": "0.3.2", "dev": true, - "dependencies": { - "array-ify": "^1.0.0", - "dot-prop": "^5.1.0" + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/compare-func/node_modules/dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "node_modules/array.prototype.flatmap": { + "version": "1.2.4", "dev": true, + "license": "MIT", "dependencies": { - "is-obj": "^2.0.0" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "function-bind": "^1.1.1" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/compare-func/node_modules/is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "node_modules/arrify": { + "version": "1.0.1", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/component-emitter": { - "version": "1.2.1", - "dev": true, - "license": "MIT" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "dev": true, - "license": "MIT" + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true }, - "node_modules/concat-stream": { - "version": "1.6.0", + "node_modules/asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "dev": true, - "engines": [ - "node >= 0.8" - ], - "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "safer-buffer": "~2.1.0" } }, - "node_modules/concat-stream/node_modules/isarray": { + "node_modules/assert-plus": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true, - "license": "MIT" + "engines": { + "node": ">=0.8" + } }, - "node_modules/concat-stream/node_modules/readable-stream": { - "version": "2.3.5", + "node_modules/assign-symbols": { + "version": "1.0.0", "dev": true, "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.0.3", - "util-deprecate": "~1.0.1" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/concat-stream/node_modules/string_decoder": { - "version": "1.0.3", + "node_modules/astral-regex": { + "version": "1.0.0", "dev": true, "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" + "engines": { + "node": ">=4" } }, - "node_modules/config-chain": { - "version": "1.1.12", - "dev": true, - "dependencies": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } + "node_modules/async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "dev": true, - "license": "ISC" + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true }, - "node_modules/conventional-changelog-angular": { - "version": "5.0.13", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", - "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", + "node_modules/at-least-node": { + "version": "1.0.0", "dev": true, - "dependencies": { - "compare-func": "^2.0.0", - "q": "^1.5.1" - }, + "license": "ISC", "engines": { - "node": ">=10" + "node": ">= 4.0.0" } }, - "node_modules/conventional-changelog-core": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz", - "integrity": "sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==", + "node_modules/atob": { + "version": "2.1.2", "dev": true, - "dependencies": { - "add-stream": "^1.0.0", - "conventional-changelog-writer": "^5.0.0", - "conventional-commits-parser": "^3.2.0", - "dateformat": "^3.0.0", - "get-pkg-repo": "^4.0.0", - "git-raw-commits": "^2.0.8", - "git-remote-origin-url": "^2.0.0", - "git-semver-tags": "^4.1.1", - "lodash": "^4.17.15", - "normalize-package-data": "^3.0.0", - "q": "^1.5.1", - "read-pkg": "^3.0.0", - "read-pkg-up": "^3.0.0", - "through2": "^4.0.0" + "license": "(MIT OR Apache-2.0)", + "bin": { + "atob": "bin/atob.js" }, "engines": { - "node": ">=10" + "node": ">= 4.5.0" } }, - "node_modules/conventional-changelog-core/node_modules/hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "engines": { - "node": ">=10" + "node": "*" } }, - "node_modules/conventional-changelog-core/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true + }, + "node_modules/babel-jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", + "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", "dev": true, "dependencies": { - "yallist": "^4.0.0" + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" }, "engines": { - "node": ">=10" + "node": ">= 10.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/conventional-changelog-core/node_modules/normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "node_modules/babel-jest/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/conventional-changelog-core/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "node_modules/babel-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/conventional-changelog-core/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/conventional-changelog-core/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "node_modules/babel-jest/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "color-name": "~1.1.4" }, "engines": { - "node": ">=10" + "node": ">=7.0.0" } }, - "node_modules/conventional-changelog-core/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "node_modules/babel-jest/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "dependencies": { - "safe-buffer": "~5.2.0" + "engines": { + "node": ">=8" } }, - "node_modules/conventional-changelog-core/node_modules/through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "node_modules/babel-jest/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "readable-stream": "3" - } - }, - "node_modules/conventional-changelog-core/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/conventional-changelog-preset-loader": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz", - "integrity": "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==", - "dev": true, + "has-flag": "^4.0.0" + }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/conventional-changelog-writer": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.0.tgz", - "integrity": "sha512-HnDh9QHLNWfL6E1uHz6krZEQOgm8hN7z/m7tT16xwd802fwgMN0Wqd7AQYVkhpsjDUx/99oo+nGgvKF657XP5g==", + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, "dependencies": { - "conventional-commits-filter": "^2.0.7", - "dateformat": "^3.0.0", - "handlebars": "^4.7.6", - "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "semver": "^6.0.0", - "split": "^1.0.0", - "through2": "^4.0.0" - }, - "bin": { - "conventional-changelog-writer": "cli.js" + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/conventional-changelog-writer/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", + "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", "dev": true, "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" }, "engines": { - "node": ">= 6" + "node": ">=8" } }, - "node_modules/conventional-changelog-writer/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/conventional-changelog-writer/node_modules/semver": { + "node_modules/babel-plugin-istanbul/node_modules/semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", @@ -8462,1010 +8321,1043 @@ "semver": "bin/semver.js" } }, - "node_modules/conventional-changelog-writer/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "node_modules/babel-plugin-jest-hoist": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", + "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==", "dev": true, "dependencies": { - "safe-buffer": "~5.2.0" + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": ">= 10.14.2" } }, - "node_modules/conventional-changelog-writer/node_modules/through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dev": true, - "dependencies": { - "readable-stream": "3" + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/conventional-commits-filter": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", - "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", + "node_modules/babel-preset-jest": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", + "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==", "dev": true, "dependencies": { - "lodash.ismatch": "^4.4.0", - "modify-values": "^1.0.0" + "babel-plugin-jest-hoist": "^26.6.2", + "babel-preset-current-node-syntax": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">= 10.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/conventional-commits-parser": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.3.tgz", - "integrity": "sha512-YyRDR7On9H07ICFpRm/igcdjIqebXbvf4Cff+Pf0BrBys1i1EOzx9iFXNlAbdrLAR8jf7bkUYkDAr8pEy0q4Pw==", + "node_modules/balanced-match": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/base": { + "version": "0.11.2", "dev": true, + "license": "MIT", "dependencies": { - "is-text-path": "^1.0.1", - "JSONStream": "^1.0.4", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" - }, - "bin": { - "conventional-commits-parser": "cli.js" + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/conventional-commits-parser/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", "dev": true, + "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "is-descriptor": "^1.0.0" }, "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "node_modules/conventional-commits-parser/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/conventional-commits-parser/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "node_modules/base/node_modules/is-accessor-descriptor": { + "version": "1.0.0", "dev": true, + "license": "MIT", "dependencies": { - "safe-buffer": "~5.2.0" + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/conventional-commits-parser/node_modules/through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "node_modules/base/node_modules/is-data-descriptor": { + "version": "1.0.0", "dev": true, + "license": "MIT", "dependencies": { - "readable-stream": "3" + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/conventional-recommended-bump": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz", - "integrity": "sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==", + "node_modules/base/node_modules/is-descriptor": { + "version": "1.0.2", "dev": true, + "license": "MIT", "dependencies": { - "concat-stream": "^2.0.0", - "conventional-changelog-preset-loader": "^2.3.4", - "conventional-commits-filter": "^2.0.7", - "conventional-commits-parser": "^3.2.0", - "git-raw-commits": "^2.0.8", - "git-semver-tags": "^4.1.1", - "meow": "^8.0.0", - "q": "^1.5.1" - }, - "bin": { - "conventional-recommended-bump": "cli.js" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/conventional-recommended-bump/node_modules/concat-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", - "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "node_modules/base/node_modules/kind-of": { + "version": "6.0.2", "dev": true, - "engines": [ - "node >= 6.0" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.0.2", - "typedarray": "^0.0.6" + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/conventional-recommended-bump/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" + "tweetnacl": "^0.14.3" } }, - "node_modules/conventional-recommended-bump/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "node_modules/before-after-hook": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz", + "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==", + "dev": true }, - "node_modules/conventional-recommended-bump/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", "dev": true, + "optional": true, "dependencies": { - "safe-buffer": "~5.2.0" + "file-uri-to-path": "1.0.0" } }, - "node_modules/convert-source-map": { - "version": "1.7.0", + "node_modules/bluebird": { + "version": "3.7.2", "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.1" - } + "license": "MIT" }, - "node_modules/copy-descriptor": { - "version": "0.1.1", + "node_modules/boolean": { + "version": "3.0.2", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.10.0" - } + "optional": true }, - "node_modules/copyfiles": { - "version": "2.1.0", + "node_modules/brace-expansion": { + "version": "1.1.11", "dev": true, "license": "MIT", "dependencies": { - "glob": "^7.0.5", - "minimatch": "^3.0.3", - "mkdirp": "^0.5.1", - "noms": "0.0.0", - "through2": "^2.0.1", - "yargs": "^11.0.0" - }, - "bin": { - "copyfiles": "copyfiles", - "copyup": "copyfiles" - } - }, - "node_modules/copyfiles/node_modules/ansi-regex": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/copyfiles/node_modules/camelcase": { - "version": "4.1.0", + "node_modules/braces": { + "version": "2.3.2", "dev": true, "license": "MIT", + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/copyfiles/node_modules/find-up": { - "version": "2.1.0", + "node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", "dev": true, "license": "MIT", "dependencies": { - "locate-path": "^2.0.0" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/copyfiles/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true }, - "node_modules/copyfiles/node_modules/string-width": { - "version": "2.1.1", + "node_modules/browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", "dev": true, - "license": "MIT", "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" + "resolve": "1.1.7" } }, - "node_modules/copyfiles/node_modules/strip-ansi": { - "version": "4.0.0", + "node_modules/browser-resolve/node_modules/resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==", + "dev": true + }, + "node_modules/browserslist": { + "version": "4.16.6", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^3.0.0" + "caniuse-lite": "^1.0.30001219", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.723", + "escalade": "^3.1.1", + "node-releases": "^1.1.71" + }, + "bin": { + "browserslist": "cli.js" }, "engines": { - "node": ">=4" + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" } }, - "node_modules/copyfiles/node_modules/yargs": { - "version": "11.1.0", + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", "dev": true, - "license": "MIT", "dependencies": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/copyfiles/node_modules/yargs-parser": { - "version": "9.0.2", + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, - "license": "ISC", "dependencies": { - "camelcase": "^4.1.0" + "node-int64": "^0.4.0" } }, - "node_modules/core-js": { - "version": "3.8.0", + "node_modules/buffer-crc32": { + "version": "0.2.13", "dev": true, - "hasInstallScript": true, "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "engines": { + "node": "*" } }, - "node_modules/core-util-is": { - "version": "1.0.2", + "node_modules/buffer-from": { + "version": "1.1.1", "dev": true, "license": "MIT" }, - "node_modules/cross-env": { - "version": "5.2.0", + "node_modules/builtin-modules": { + "version": "3.1.0", "dev": true, "license": "MIT", - "dependencies": { - "cross-spawn": "^6.0.5", - "is-windows": "^1.0.0" - }, - "bin": { - "cross-env": "dist/bin/cross-env.js", - "cross-env-shell": "dist/bin/cross-env-shell.js" - }, "engines": { - "node": ">=4.0" + "node": ">=6" } }, - "node_modules/cross-env/node_modules/cross-spawn": { - "version": "6.0.5", + "node_modules/builtins": { + "version": "1.0.3", "dev": true, - "license": "MIT", - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } + "license": "MIT" }, - "node_modules/cross-spawn": { - "version": "5.1.0", + "node_modules/byline": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", + "integrity": "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=", "dev": true, - "license": "MIT", - "dependencies": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/css-color-names": { - "version": "1.0.1", + "node_modules/byte-size": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/byte-size/-/byte-size-7.0.1.tgz", + "integrity": "sha512-crQdqyCwhokxwV1UyDzLZanhkugAgft7vt0qbbdt60C6Zf3CAiGmtUCylbtYwrU6loOUw3euGrNtW1J651ot1A==", "dev": true, - "license": "MIT", "engines": { - "node": "*" + "node": ">=10" } }, - "node_modules/dargs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", - "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", + "node_modules/cacache": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", + "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", "dev": true, + "dependencies": { + "@npmcli/fs": "^1.0.0", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + }, "engines": { - "node": ">=8" + "node": ">= 10" } }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "node_modules/cacache/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "dependencies": { - "assert-plus": "^1.0.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">=0.10" + "node": ">=10" } }, - "node_modules/dateformat": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", - "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "node_modules/cacache/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, "engines": { - "node": "*" + "node": ">=10" } }, - "node_modules/debug": { - "version": "2.6.9", + "node_modules/cacache/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, - "license": "MIT", "dependencies": { - "ms": "2.0.0" + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/debuglog": { + "node_modules/cacache/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/cache-base": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", - "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=", "dev": true, + "license": "MIT", + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, "engines": { - "node": "*" + "node": ">=0.10.0" } }, - "node_modules/decamelize": { - "version": "1.2.0", + "node_modules/cacheable-request": { + "version": "6.1.0", "dev": true, "license": "MIT", + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/decamelize-keys": { - "version": "1.1.0", + "node_modules/cacheable-request/node_modules/get-stream": { + "version": "5.2.0", "dev": true, "license": "MIT", "dependencies": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" + "pump": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/decode-uri-component": { - "version": "0.2.0", + "node_modules/cacheable-request/node_modules/lowercase-keys": { + "version": "2.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">=0.10" + "node": ">=8" } }, - "node_modules/decompress-response": { - "version": "3.3.0", + "node_modules/cacheable-request/node_modules/normalize-url": { + "version": "4.5.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", "dev": true, "license": "MIT", "dependencies": { - "mimic-response": "^1.0.0" + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" }, - "engines": { - "node": ">=4" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/dedent": { - "version": "0.7.0", + "node_modules/call-me-maybe": { + "version": "1.0.1", "dev": true, "license": "MIT" }, - "node_modules/deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, - "dependencies": { - "type-detect": "^4.0.0" - }, "engines": { - "node": ">=0.12" + "node": ">=6" } }, - "node_modules/deep-is": { - "version": "0.1.3", + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=6" + } }, - "node_modules/default-require-extensions": { - "version": "3.0.0", + "node_modules/camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", "dev": true, - "license": "MIT", "dependencies": { - "strip-bom": "^4.0.0" + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/default-require-extensions/node_modules/strip-bom": { - "version": "4.0.0", + "node_modules/camelcase-keys/node_modules/map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "node_modules/caniuse-lite": { + "version": "1.0.30001222", + "dev": true, + "license": "CC-BY-4.0" + }, + "node_modules/capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", "dev": true, "dependencies": { - "clone": "^1.0.2" + "rsvp": "^4.8.4" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/defer-to-connect": { - "version": "1.1.3", - "dev": true, - "license": "MIT" + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true }, - "node_modules/define-properties": { - "version": "1.1.3", + "node_modules/catharsis": { + "version": "0.8.11", "dev": true, "license": "MIT", "dependencies": { - "object-keys": "^1.0.12" + "lodash": "^4.17.14" }, "engines": { - "node": ">= 0.4" + "node": ">= 8" } }, - "node_modules/define-property": { - "version": "2.0.2", + "node_modules/chalk": { + "version": "2.4.2", "dev": true, "license": "MIT", "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/define-property/node_modules/is-accessor-descriptor": { - "version": "1.0.0", + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "dev": true, + "license": "MIT" + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/chunkd": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/chunkd/-/chunkd-2.0.1.tgz", + "integrity": "sha512-7d58XsFmOq0j6el67Ug9mHf9ELUXsQXYJBkyxhH/k+6Ke0qXRnv0kbemx+Twc6fRJ07C49lcbdgm9FL1Ei/6SQ==", + "dev": true + }, + "node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "node_modules/cjs-module-lexer": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", + "integrity": "sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==", + "dev": true + }, + "node_modules/class-utils": { + "version": "0.3.6", "dev": true, "license": "MIT", "dependencies": { - "kind-of": "^6.0.0" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/define-property/node_modules/is-data-descriptor": { - "version": "1.0.0", + "node_modules/class-utils/node_modules/arr-union": { + "version": "3.1.0", "dev": true, "license": "MIT", - "dependencies": { - "kind-of": "^6.0.0" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/define-property/node_modules/is-descriptor": { - "version": "1.0.2", + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", "dev": true, "license": "MIT", "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-descriptor": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/define-property/node_modules/kind-of": { - "version": "6.0.2", + "node_modules/clean-stack": { + "version": "2.2.0", "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, "engines": { - "node": ">=0.4.0" + "node": ">=8" } }, - "node_modules/delegates": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", "dev": true, "engines": { - "node": ">= 0.6" + "node": ">= 10" } }, - "node_modules/deprecation": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", - "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", - "dev": true + "node_modules/cliui": { + "version": "4.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } }, - "node_modules/detect-file": { - "version": "1.0.0", + "node_modules/cliui/node_modules/ansi-regex": { + "version": "3.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/detect-indent": { - "version": "5.0.0", + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", "dev": true, "license": "MIT", "engines": { "node": ">=4" } }, - "node_modules/detect-node": { - "version": "2.0.5", + "node_modules/cliui/node_modules/string-width": { + "version": "2.1.1", "dev": true, "license": "MIT", - "optional": true + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } }, - "node_modules/dezalgo": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz", - "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=", + "node_modules/cliui/node_modules/strip-ansi": { + "version": "4.0.0", "dev": true, + "license": "MIT", "dependencies": { - "asap": "^2.0.0", - "wrappy": "1" + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/diff": { - "version": "3.5.0", + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", "dev": true, - "license": "BSD-3-Clause", "engines": { - "node": ">=0.3.1" + "node": ">=0.8" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, "dependencies": { - "path-type": "^4.0.0" + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/dir-glob/node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "node_modules/clone-deep/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/doctrine": { - "version": "3.0.0", + "node_modules/clone-response": { + "version": "1.0.2", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "esutils": "^2.0.2" + "mimic-response": "^1.0.0" + } + }, + "node_modules/cmd-shim": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-4.1.0.tgz", + "integrity": "sha512-lb9L7EM4I/ZRVuljLPEtUJOP+xiQVknZ4ZMpMgEp4JzNldPb27HU03hi6K1/6CoIuit/Zm/LQXySErFeXxDprw==", + "dev": true, + "dependencies": { + "mkdirp-infer-owner": "^2.0.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=10" } }, - "node_modules/duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "dev": true - }, - "node_modules/duplexer2": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", - "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true, - "dependencies": { - "readable-stream": "~1.1.9" + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" } }, - "node_modules/duplexer2/node_modules/readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "node_modules/code-point-at": { + "version": "1.1.0", "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/duplexer3": { - "version": "0.1.4", + "node_modules/code-prettify": { + "version": "0.1.0", "dev": true, - "license": "BSD-3-Clause" + "license": "Apache-2.0" }, - "node_modules/earcut": { - "version": "2.2.2", - "license": "ISC" + "node_modules/collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "node_modules/collection-visit": { + "version": "1.0.0", "dev": true, + "license": "MIT", "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/electron": { - "version": "12.0.2", + "node_modules/color-convert": { + "version": "1.9.1", "dev": true, - "hasInstallScript": true, "license": "MIT", "dependencies": { - "@electron/get": "^1.0.1", - "@types/node": "^14.6.2", - "extract-zip": "^1.0.3" - }, - "bin": { - "electron": "cli.js" - }, - "engines": { - "node": ">= 8.6" + "color-name": "^1.1.1" } }, - "node_modules/electron-to-chromium": { - "version": "1.3.727", + "node_modules/color-name": { + "version": "1.1.4", "dev": true, - "license": "ISC" + "license": "MIT" }, - "node_modules/electron/node_modules/@types/node": { - "version": "14.14.35", + "node_modules/color-themes-for-google-code-prettify": { + "version": "2.0.4", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=5.9.0" + } }, - "node_modules/emoji-regex": { - "version": "7.0.3", + "node_modules/colorette": { + "version": "1.2.2", "dev": true, "license": "MIT" }, - "node_modules/encodeurl": { - "version": "1.0.2", + "node_modules/colors": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.2.5.tgz", + "integrity": "sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg==", "dev": true, - "license": "MIT", - "optional": true, "engines": { - "node": ">= 0.8" + "node": ">=0.1.90" } }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "node_modules/columnify": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz", + "integrity": "sha1-Rzfd8ce2mop8NAVweC6UfuyOeLs=", "dev": true, - "optional": true, "dependencies": { - "iconv-lite": "^0.6.2" + "strip-ansi": "^3.0.0", + "wcwidth": "^1.0.0" } }, - "node_modules/encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dev": true, - "optional": true, "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "delayed-stream": "~1.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, - "node_modules/end-of-stream": { - "version": "1.4.1", + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/comment-parser": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.1.tgz", + "integrity": "sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA==", "dev": true, - "license": "MIT", - "dependencies": { - "once": "^1.4.0" + "engines": { + "node": ">= 12.0.0" } }, - "node_modules/entities": { - "version": "2.0.3", + "node_modules/common-path-prefix": { + "version": "3.0.0", "dev": true, - "license": "BSD-2-Clause" + "license": "ISC" }, - "node_modules/env-paths": { - "version": "2.2.1", + "node_modules/commondir": { + "version": "1.0.1", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" + "license": "MIT" + }, + "node_modules/compare-func": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", + "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", + "dev": true, + "dependencies": { + "array-ify": "^1.0.0", + "dot-prop": "^5.1.0" } }, - "node_modules/envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "node_modules/compare-func/node_modules/dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", "dev": true, - "bin": { - "envinfo": "dist/cli.js" + "dependencies": { + "is-obj": "^2.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "dev": true + "node_modules/compare-func/node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "node_modules/error-ex": { - "version": "1.3.2", + "node_modules/component-emitter": { + "version": "1.2.1", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-stream": { + "version": "1.6.0", "dev": true, + "engines": [ + "node >= 0.8" + ], "license": "MIT", "dependencies": { - "is-arrayish": "^0.2.1" + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, - "node_modules/es-abstract": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", - "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", + "node_modules/concat-stream/node_modules/isarray": { + "version": "1.0.0", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.1", - "is-string": "^1.0.7", - "is-weakref": "^1.0.1", - "object-inspect": "^1.11.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "license": "MIT" }, - "node_modules/es-to-primitive": { - "version": "1.2.1", + "node_modules/concat-stream/node_modules/readable-stream": { + "version": "2.3.5", "dev": true, "license": "MIT", "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.0.3", + "util-deprecate": "~1.0.1" } }, - "node_modules/es6-error": { - "version": "4.1.1", - "dev": true, - "license": "MIT" - }, - "node_modules/escalade": { - "version": "3.1.1", + "node_modules/concat-stream/node_modules/string_decoder": { + "version": "1.0.3", "dev": true, "license": "MIT", - "engines": { - "node": ">=6" + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", + "node_modules/config-chain": { + "version": "1.1.12", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" } }, - "node_modules/eslint": { - "version": "7.2.0", + "node_modules/console-control-strings": { + "version": "1.1.0", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^5.1.0", - "eslint-utils": "^2.0.0", - "eslint-visitor-keys": "^1.2.0", - "espree": "^7.1.0", - "esquery": "^1.2.0", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash": "^4.17.14", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^5.2.3", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } + "license": "ISC" }, - "node_modules/eslint-plugin-jsdoc": { - "version": "39.2.9", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.2.9.tgz", - "integrity": "sha512-gaPYJT94rWlWyQcisQyyEJHtLaaJqN4baFlLCEr/LcXVibS9wzQTL2dskqk327ggwqQopR+Xecu2Lng1IJ9Ypw==", + "node_modules/conventional-changelog-angular": { + "version": "5.0.13", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", + "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", "dev": true, "dependencies": { - "@es-joy/jsdoccomment": "~0.29.0", - "comment-parser": "1.3.1", - "debug": "^4.3.4", - "escape-string-regexp": "^4.0.0", - "esquery": "^1.4.0", - "semver": "^7.3.7", - "spdx-expression-parse": "^3.0.1" + "compare-func": "^2.0.0", + "q": "^1.5.1" }, "engines": { - "node": "^14 || ^16 || ^17 || ^18" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" + "node": ">=10" } }, - "node_modules/eslint-plugin-jsdoc/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/conventional-changelog-core": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz", + "integrity": "sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==", "dev": true, "dependencies": { - "ms": "2.1.2" + "add-stream": "^1.0.0", + "conventional-changelog-writer": "^5.0.0", + "conventional-commits-parser": "^3.2.0", + "dateformat": "^3.0.0", + "get-pkg-repo": "^4.0.0", + "git-raw-commits": "^2.0.8", + "git-remote-origin-url": "^2.0.0", + "git-semver-tags": "^4.1.1", + "lodash": "^4.17.15", + "normalize-package-data": "^3.0.0", + "q": "^1.5.1", + "read-pkg": "^3.0.0", + "read-pkg-up": "^3.0.0", + "through2": "^4.0.0" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">=10" } }, - "node_modules/eslint-plugin-jsdoc/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "node_modules/conventional-changelog-core/node_modules/hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-plugin-jsdoc/node_modules/lru-cache": { + "node_modules/conventional-changelog-core/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", @@ -9477,648 +9369,721 @@ "node": ">=10" } }, - "node_modules/eslint-plugin-jsdoc/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/eslint-plugin-jsdoc/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "node_modules/conventional-changelog-core/node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" }, "engines": { "node": ">=10" } }, - "node_modules/eslint-plugin-jsdoc/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "2.0.0", + "node_modules/conventional-changelog-core/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, - "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^1.1.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "1.1.0", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=4" + "node": ">= 6" } }, - "node_modules/eslint/node_modules/ansi-regex": { - "version": "5.0.0", + "node_modules/conventional-changelog-core/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.2.1", + "node_modules/conventional-changelog-core/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, - "license": "MIT", "dependencies": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" + "lru-cache": "^6.0.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "bin": { + "semver": "bin/semver.js" }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/conventional-changelog-core/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, - "license": "MIT", "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "safe-buffer": "~5.2.0" } }, - "node_modules/eslint/node_modules/cross-spawn": { - "version": "7.0.3", + "node_modules/conventional-changelog-core/node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", "dev": true, - "license": "MIT", "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" + "readable-stream": "3" } }, - "node_modules/eslint/node_modules/debug": { - "version": "4.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } + "node_modules/conventional-changelog-core/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, - "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "1.2.0", + "node_modules/conventional-changelog-preset-loader": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz", + "integrity": "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==", "dev": true, - "license": "Apache-2.0", "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/eslint/node_modules/glob-parent": { - "version": "5.1.1", + "node_modules/conventional-changelog-writer": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.0.tgz", + "integrity": "sha512-HnDh9QHLNWfL6E1uHz6krZEQOgm8hN7z/m7tT16xwd802fwgMN0Wqd7AQYVkhpsjDUx/99oo+nGgvKF657XP5g==", "dev": true, - "license": "ISC", "dependencies": { - "is-glob": "^4.0.1" + "conventional-commits-filter": "^2.0.7", + "dateformat": "^3.0.0", + "handlebars": "^4.7.6", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "semver": "^6.0.0", + "split": "^1.0.0", + "through2": "^4.0.0" + }, + "bin": { + "conventional-changelog-writer": "cli.js" }, "engines": { - "node": ">= 6" + "node": ">=10" } }, - "node_modules/eslint/node_modules/globals": { - "version": "12.4.0", + "node_modules/conventional-changelog-writer/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, - "license": "MIT", "dependencies": { - "type-fest": "^0.8.1" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 6" } }, - "node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/conventional-changelog-writer/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "node_modules/eslint/node_modules/ignore": { - "version": "4.0.6", + "node_modules/conventional-changelog-writer/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/eslint/node_modules/import-fresh": { - "version": "3.2.1", + "node_modules/conventional-changelog-writer/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, - "license": "MIT", "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" + "safe-buffer": "~5.2.0" } }, - "node_modules/eslint/node_modules/is-glob": { - "version": "4.0.1", + "node_modules/conventional-changelog-writer/node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", "dev": true, - "license": "MIT", "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" + "readable-stream": "3" } }, - "node_modules/eslint/node_modules/ms": { - "version": "2.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/eslint/node_modules/path-key": { - "version": "3.1.1", + "node_modules/conventional-commits-filter": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", + "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", "dev": true, - "license": "MIT", + "dependencies": { + "lodash.ismatch": "^4.4.0", + "modify-values": "^1.0.0" + }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/eslint/node_modules/semver": { - "version": "7.3.2", + "node_modules/conventional-commits-parser": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.3.tgz", + "integrity": "sha512-YyRDR7On9H07ICFpRm/igcdjIqebXbvf4Cff+Pf0BrBys1i1EOzx9iFXNlAbdrLAR8jf7bkUYkDAr8pEy0q4Pw==", "dev": true, - "license": "ISC", + "dependencies": { + "is-text-path": "^1.0.1", + "JSONStream": "^1.0.4", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, "bin": { - "semver": "bin/semver.js" + "conventional-commits-parser": "cli.js" }, "engines": { "node": ">=10" } }, - "node_modules/eslint/node_modules/shebang-command": { - "version": "2.0.0", + "node_modules/conventional-commits-parser/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, - "license": "MIT", "dependencies": { - "shebang-regex": "^3.0.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/shebang-regex": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "node": ">= 6" } }, - "node_modules/eslint/node_modules/strip-ansi": { - "version": "6.0.0", + "node_modules/conventional-commits-parser/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/conventional-commits-parser/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" + "safe-buffer": "~5.2.0" } }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.1.0", + "node_modules/conventional-commits-parser/node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", "dev": true, - "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "readable-stream": "3" } }, - "node_modules/eslint/node_modules/which": { - "version": "2.0.2", + "node_modules/conventional-recommended-bump": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz", + "integrity": "sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==", "dev": true, - "license": "ISC", "dependencies": { - "isexe": "^2.0.0" + "concat-stream": "^2.0.0", + "conventional-changelog-preset-loader": "^2.3.4", + "conventional-commits-filter": "^2.0.7", + "conventional-commits-parser": "^3.2.0", + "git-raw-commits": "^2.0.8", + "git-semver-tags": "^4.1.1", + "meow": "^8.0.0", + "q": "^1.5.1" }, "bin": { - "node-which": "bin/node-which" + "conventional-recommended-bump": "cli.js" }, "engines": { - "node": ">= 8" + "node": ">=10" } }, - "node_modules/espree": { - "version": "7.1.0", + "node_modules/conventional-recommended-bump/node_modules/concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", "dev": true, - "license": "BSD-2-Clause", + "engines": [ + "node >= 6.0" + ], "dependencies": { - "acorn": "^7.2.0", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.2.0" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/conventional-recommended-bump/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">= 6" } }, - "node_modules/espree/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "node_modules/conventional-recommended-bump/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, - "bin": { - "acorn": "bin/acorn" - }, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/conventional-recommended-bump/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/convert-source-map": { + "version": "1.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "dev": true, + "license": "MIT", "engines": { - "node": ">=0.4.0" + "node": ">=0.10.0" } }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "1.2.0", + "node_modules/copyfiles": { + "version": "2.1.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "dependencies": { + "glob": "^7.0.5", + "minimatch": "^3.0.3", + "mkdirp": "^0.5.1", + "noms": "0.0.0", + "through2": "^2.0.1", + "yargs": "^11.0.0" + }, + "bin": { + "copyfiles": "copyfiles", + "copyup": "copyfiles" + } + }, + "node_modules/copyfiles/node_modules/ansi-regex": { + "version": "3.0.0", + "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, - "node_modules/esprima": { - "version": "4.0.1", + "node_modules/copyfiles/node_modules/camelcase": { + "version": "4.1.0", "dev": true, - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, + "license": "MIT", "engines": { "node": ">=4" } }, - "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "node_modules/copyfiles/node_modules/find-up": { + "version": "2.1.0", "dev": true, + "license": "MIT", "dependencies": { - "estraverse": "^5.1.0" + "locate-path": "^2.0.0" }, "engines": { - "node": ">=0.10" + "node": ">=4" } }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.1.0", + "node_modules/copyfiles/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "engines": { - "node": ">=4.0" + "node": ">=4" } }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "node_modules/copyfiles/node_modules/string-width": { + "version": "2.1.1", "dev": true, + "license": "MIT", "dependencies": { - "estraverse": "^5.2.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" }, "engines": { - "node": ">=4.0" + "node": ">=4" } }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "node_modules/copyfiles/node_modules/strip-ansi": { + "version": "4.0.0", "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^3.0.0" + }, "engines": { - "node": ">=4.0" + "node": ">=4" } }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "node_modules/copyfiles/node_modules/yargs": { + "version": "11.1.0", "dev": true, - "engines": { - "node": ">=4.0" + "license": "MIT", + "dependencies": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" } }, - "node_modules/estree-walker": { - "version": "0.6.0", + "node_modules/copyfiles/node_modules/yargs-parser": { + "version": "9.0.2", "dev": true, - "license": "MIT" + "license": "ISC", + "dependencies": { + "camelcase": "^4.1.0" + } }, - "node_modules/esutils": { - "version": "2.0.2", + "node_modules/core-js": { + "version": "3.8.0", "dev": true, - "engines": { - "node": ">=0.10.0" + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/eventemitter3": { - "version": "3.1.2", + "node_modules/core-util-is": { + "version": "1.0.2", + "dev": true, "license": "MIT" }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "node_modules/cross-env": { + "version": "5.2.0", "dev": true, + "license": "MIT", "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" + "cross-spawn": "^6.0.5", + "is-windows": "^1.0.0" }, - "engines": { - "node": ">=10" + "bin": { + "cross-env": "dist/bin/cross-env.js", + "cross-env-shell": "dist/bin/cross-env-shell.js" }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "engines": { + "node": ">=4.0" } }, - "node_modules/execa/node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "node_modules/cross-env/node_modules/cross-spawn": { + "version": "6.0.5", "dev": true, + "license": "MIT", "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" }, "engines": { - "node": ">= 8" + "node": ">=4.8" } }, - "node_modules/execa/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "node_modules/cross-spawn": { + "version": "5.1.0", "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "license": "MIT", + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, - "node_modules/execa/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "node_modules/css-color-names": { + "version": "1.0.1", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "*" } }, - "node_modules/execa/node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", "dev": true, "dependencies": { - "path-key": "^3.0.0" + "cssom": "~0.3.6" }, "engines": { "node": ">=8" } }, - "node_modules/execa/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "node_modules/dargs": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", + "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", "dev": true, "engines": { "node": ">=8" } }, - "node_modules/execa/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "dependencies": { - "shebang-regex": "^3.0.0" + "assert-plus": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">=0.10" } }, - "node_modules/execa/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", "dev": true, + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/execa/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "node_modules/dateformat": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, "engines": { - "node": ">= 8" + "node": "*" } }, - "node_modules/expand-brackets": { - "version": "2.1.4", + "node_modules/debug": { + "version": "2.6.9", "dev": true, "license": "MIT", "dependencies": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" + "ms": "2.0.0" } }, - "node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", + "node_modules/debuglog": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", + "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=", "dev": true, - "license": "MIT", - "dependencies": { - "is-descriptor": "^0.1.0" - }, "engines": { - "node": ">=0.10.0" + "node": "*" } }, - "node_modules/expand-brackets/node_modules/extend-shallow": { - "version": "2.0.1", + "node_modules/decamelize": { + "version": "1.2.0", "dev": true, "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/expand-tilde": { - "version": "2.0.2", + "node_modules/decamelize-keys": { + "version": "1.1.0", "dev": true, "license": "MIT", "dependencies": { - "homedir-polyfill": "^1.0.1" + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "node_modules/decimal.js": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", + "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", "dev": true }, - "node_modules/extend-shallow": { - "version": "3.0.2", + "node_modules/decode-uri-component": { + "version": "0.2.0", "dev": true, "license": "MIT", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, "engines": { - "node": ">=0.10.0" + "node": ">=0.10" } }, - "node_modules/extend-shallow/node_modules/is-extendable": { - "version": "1.0.1", + "node_modules/decompress-response": { + "version": "3.3.0", "dev": true, "license": "MIT", "dependencies": { - "is-plain-object": "^2.0.4" + "mimic-response": "^1.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/external-editor": { - "version": "3.0.3", + "node_modules/dedent": { + "version": "0.7.0", + "dev": true, + "license": "MIT" + }, + "node_modules/deep-is": { + "version": "0.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", "dev": true, - "license": "MIT", - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/extglob": { - "version": "2.0.4", + "node_modules/defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", "dev": true, - "license": "MIT", "dependencies": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" + "clone": "^1.0.2" } }, - "node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", + "node_modules/defer-to-connect": { + "version": "1.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/define-properties": { + "version": "1.1.3", "dev": true, "license": "MIT", "dependencies": { - "is-descriptor": "^1.0.0" + "object-keys": "^1.0.12" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" } }, - "node_modules/extglob/node_modules/extend-shallow": { - "version": "2.0.1", + "node_modules/define-property": { + "version": "2.0.2", "dev": true, "license": "MIT", "dependencies": { - "is-extendable": "^0.1.0" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/extglob/node_modules/is-accessor-descriptor": { + "node_modules/define-property/node_modules/is-accessor-descriptor": { "version": "1.0.0", "dev": true, "license": "MIT", @@ -10129,7 +10094,7 @@ "node": ">=0.10.0" } }, - "node_modules/extglob/node_modules/is-data-descriptor": { + "node_modules/define-property/node_modules/is-data-descriptor": { "version": "1.0.0", "dev": true, "license": "MIT", @@ -10140,7 +10105,7 @@ "node": ">=0.10.0" } }, - "node_modules/extglob/node_modules/is-descriptor": { + "node_modules/define-property/node_modules/is-descriptor": { "version": "1.0.2", "dev": true, "license": "MIT", @@ -10153,7 +10118,7 @@ "node": ">=0.10.0" } }, - "node_modules/extglob/node_modules/kind-of": { + "node_modules/define-property/node_modules/kind-of": { "version": "6.0.2", "dev": true, "license": "MIT", @@ -10161,695 +10126,648 @@ "node": ">=0.10.0" } }, - "node_modules/extract-zip": { - "version": "1.7.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "concat-stream": "^1.6.2", - "debug": "^2.6.9", - "mkdirp": "^0.5.4", - "yauzl": "^2.10.0" - }, - "bin": { - "extract-zip": "cli.js" - } - }, - "node_modules/extract-zip/node_modules/concat-stream": { - "version": "1.6.2", + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", "dev": true, - "engines": [ - "node >= 0.8" - ], - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "engines": { + "node": ">=0.4.0" } }, - "node_modules/extract-zip/node_modules/isarray": { + "node_modules/delegates": { "version": "1.0.0", "dev": true, "license": "MIT" }, - "node_modules/extract-zip/node_modules/readable-stream": { - "version": "2.3.7", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/extract-zip/node_modules/string_decoder": { - "version": "1.1.1", + "node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" + "engines": { + "node": ">= 0.6" } }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true, - "engines": [ - "node >=0.6.0" - ] - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "node_modules/deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", "dev": true }, - "node_modules/fast-glob": { - "version": "2.2.6", + "node_modules/detect-file": { + "version": "1.0.0", "dev": true, "license": "MIT", - "dependencies": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.1.2", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.3", - "micromatch": "^3.1.10" - }, "engines": { - "node": ">=4.0.0" + "node": ">=0.10.0" } }, - "node_modules/fast-glob/node_modules/is-glob": { - "version": "4.0.0", + "node_modules/detect-indent": { + "version": "5.0.0", "dev": true, "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/fast-json-stable-stringify": { - "version": "2.0.0", + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=8" + } }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", + "node_modules/detect-node": { + "version": "2.0.5", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true }, - "node_modules/fastq": { - "version": "1.9.0", + "node_modules/dezalgo": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz", + "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=", "dev": true, - "license": "ISC", "dependencies": { - "reusify": "^1.0.4" + "asap": "^2.0.0", + "wrappy": "1" } }, - "node_modules/fd-slicer": { - "version": "1.1.0", + "node_modules/diff-sequences": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", + "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", "dev": true, - "license": "MIT", - "dependencies": { - "pend": "~1.2.0" + "engines": { + "node": ">= 10.14.2" } }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, "dependencies": { - "escape-string-regexp": "^1.0.5" + "path-type": "^4.0.0" }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/file-entry-cache": { - "version": "5.0.1", + "node_modules/dir-glob/node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^2.0.1" - }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/fill-range": { - "version": "4.0.0", + "node_modules/doctrine": { + "version": "3.0.0", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "esutils": "^2.0.2" }, "engines": { - "node": ">=0.10.0" + "node": ">=6.0.0" } }, - "node_modules/fill-range/node_modules/extend-shallow": { + "node_modules/domexception": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", "dev": true, - "license": "MIT", "dependencies": { - "is-extendable": "^0.1.0" + "webidl-conversions": "^5.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/filter-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", - "integrity": "sha1-mzERErxsYSehbgFsbF1/GeCAXFs=", + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/find-cache-dir": { - "version": "3.3.1", + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "node_modules/duplexer2": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", + "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", "dev": true, - "license": "MIT", "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + "readable-stream": "~1.1.9" } }, - "node_modules/find-cache-dir/node_modules/make-dir": { - "version": "3.1.0", + "node_modules/duplexer2/node_modules/readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "dev": true, - "license": "MIT", "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" } }, - "node_modules/find-cache-dir/node_modules/semver": { - "version": "6.3.0", + "node_modules/duplexer3": { + "version": "0.1.4", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } + "license": "BSD-3-Clause" }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "node_modules/earcut": { + "version": "2.2.2", + "license": "ISC" + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" } }, - "node_modules/find-up/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "node_modules/electron": { + "version": "12.0.2", "dev": true, + "hasInstallScript": true, + "license": "MIT", "dependencies": { - "p-locate": "^4.1.0" + "@electron/get": "^1.0.1", + "@types/node": "^14.6.2", + "extract-zip": "^1.0.3" + }, + "bin": { + "electron": "cli.js" }, "engines": { - "node": ">=8" + "node": ">= 8.6" } }, - "node_modules/find-up/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/electron-to-chromium": { + "version": "1.3.727", + "dev": true, + "license": "ISC" + }, + "node_modules/electron/node_modules/@types/node": { + "version": "14.14.35", + "dev": true, + "license": "MIT" + }, + "node_modules/emittery": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", + "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==", "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, - "node_modules/find-up/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "node_modules/emoji-regex": { + "version": "7.0.3", "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "node_modules/find-up/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "node_modules/encodeurl": { + "version": "1.0.2", "dev": true, + "license": "MIT", + "optional": true, "engines": { - "node": ">=6" + "node": ">= 0.8" } }, - "node_modules/find-up/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", "dev": true, - "engines": { - "node": ">=8" + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" } }, - "node_modules/findup-sync": { - "version": "2.0.0", + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, - "license": "MIT", + "optional": true, "dependencies": { - "detect-file": "^1.0.0", - "is-glob": "^3.1.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { - "node": ">= 0.10" + "node": ">=0.10.0" } }, - "node_modules/flat": { - "version": "5.0.2", + "node_modules/end-of-stream": { + "version": "1.4.1", "dev": true, - "license": "BSD-3-Clause", - "bin": { - "flat": "cli.js" + "license": "MIT", + "dependencies": { + "once": "^1.4.0" } }, - "node_modules/flat-cache": { - "version": "2.0.1", + "node_modules/entities": { + "version": "2.0.3", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/env-paths": { + "version": "2.2.1", "dev": true, "license": "MIT", - "dependencies": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" + "engines": { + "node": ">=6" + } + }, + "node_modules/envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "dev": true, + "bin": { + "envinfo": "dist/cli.js" }, "engines": { "node": ">=4" } }, - "node_modules/flatted": { - "version": "2.0.2", - "dev": true, - "license": "ISC" + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true }, - "node_modules/floss": { - "version": "5.0.0", + "node_modules/error-ex": { + "version": "1.3.2", "dev": true, "license": "MIT", "dependencies": { - "chalk": "^4.1.0", - "commander": "^7.0.0", - "glob": "^7.1.6", - "mocha": "^8.0.0", - "resolve": "^1.19.0" - }, - "bin": { - "floss": "lib/floss.js" - }, - "engines": { - "node": ">=10.0" - }, - "peerDependencies": { - "electron": ">=12", - "nyc": ">=13" + "is-arrayish": "^0.2.1" } }, - "node_modules/floss/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/es-abstract": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", + "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", "dev": true, - "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.1", + "is-string": "^1.0.7", + "is-weakref": "^1.0.1", + "object-inspect": "^1.11.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/floss/node_modules/chalk": { - "version": "4.1.0", + "node_modules/es-to-primitive": { + "version": "1.2.1", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/floss/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/es6-error": { + "version": "4.1.1", "dev": true, "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } + "optional": true }, - "node_modules/floss/node_modules/commander": { - "version": "7.2.0", + "node_modules/escalade": { + "version": "3.1.1", "dev": true, "license": "MIT", "engines": { - "node": ">= 10" + "node": ">=6" } }, - "node_modules/floss/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/escape-string-regexp": { + "version": "1.0.5", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.8.0" } }, - "node_modules/floss/node_modules/resolve": { - "version": "1.20.0", + "node_modules/escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", "dev": true, - "license": "MIT", "dependencies": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/floss/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" }, "engines": { - "node": ">=8" + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" } }, - "node_modules/for-in": { - "version": "1.0.2", + "node_modules/escodegen/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, - "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=4.0" } }, - "node_modules/foreground-child": { - "version": "2.0.0", + "node_modules/escodegen/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", "dev": true, - "license": "ISC", "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" }, "engines": { - "node": ">=8.0.0" + "node": ">= 0.8.0" } }, - "node_modules/foreground-child/node_modules/cross-spawn": { - "version": "7.0.3", + "node_modules/escodegen/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", "dev": true, - "license": "MIT", "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" }, "engines": { - "node": ">= 8" + "node": ">= 0.8.0" } }, - "node_modules/foreground-child/node_modules/path-key": { - "version": "3.1.1", + "node_modules/escodegen/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", "dev": true, - "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 0.8.0" } }, - "node_modules/foreground-child/node_modules/shebang-command": { - "version": "2.0.0", + "node_modules/escodegen/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", "dev": true, - "license": "MIT", "dependencies": { - "shebang-regex": "^3.0.0" + "prelude-ls": "~1.1.2" }, "engines": { - "node": ">=8" + "node": ">= 0.8.0" } }, - "node_modules/foreground-child/node_modules/shebang-regex": { - "version": "3.0.0", + "node_modules/eslint": { + "version": "7.2.0", "dev": true, "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/foreground-child/node_modules/which": { - "version": "2.0.2", - "dev": true, - "license": "ISC", "dependencies": { - "isexe": "^2.0.0" + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.1.0", + "eslint-utils": "^2.0.0", + "eslint-visitor-keys": "^1.2.0", + "espree": "^7.1.0", + "esquery": "^1.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" }, "bin": { - "node-which": "bin/node-which" + "eslint": "bin/eslint.js" }, "engines": { - "node": ">= 8" - } - }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true, - "engines": { - "node": "*" + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "node_modules/eslint-plugin-jsdoc": { + "version": "39.2.9", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.2.9.tgz", + "integrity": "sha512-gaPYJT94rWlWyQcisQyyEJHtLaaJqN4baFlLCEr/LcXVibS9wzQTL2dskqk327ggwqQopR+Xecu2Lng1IJ9Ypw==", "dev": true, "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" + "@es-joy/jsdoccomment": "~0.29.0", + "comment-parser": "1.3.1", + "debug": "^4.3.4", + "escape-string-regexp": "^4.0.0", + "esquery": "^1.4.0", + "semver": "^7.3.7", + "spdx-expression-parse": "^3.0.1" }, "engines": { - "node": ">= 0.12" + "node": "^14 || ^16 || ^17 || ^18" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" } }, - "node_modules/fragment-cache": { - "version": "0.2.1", + "node_modules/eslint-plugin-jsdoc/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, - "license": "MIT", "dependencies": { - "map-cache": "^0.2.2" + "ms": "2.1.2" }, "engines": { - "node": ">=0.10.0" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/fromentries": { - "version": "1.3.2", + "node_modules/eslint-plugin-jsdoc/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "node_modules/eslint-plugin-jsdoc/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "dependencies": { - "minipass": "^3.0.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">= 8" + "node": ">=10" } }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "dev": true, - "license": "ISC" + "node_modules/eslint-plugin-jsdoc/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, - "node_modules/fsevents": { - "version": "2.3.2", + "node_modules/eslint-plugin-jsdoc/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": ">=10" } }, - "node_modules/function-bind": { - "version": "1.1.1", - "dev": true, - "license": "MIT" - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "dev": true, - "license": "MIT" + "node_modules/eslint-plugin-jsdoc/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, - "node_modules/gauge": { - "version": "2.7.4", + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, - "license": "ISC", "dependencies": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "dev": true, - "license": "MIT", + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, "engines": { - "node": ">=6.9.0" + "node": ">=8.0.0" } }, - "node_modules/get-caller-file": { - "version": "1.0.3", - "dev": true, - "license": "ISC" - }, - "node_modules/get-func-name": { + "node_modules/eslint-utils": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.1.1", "dev": true, "license": "MIT", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" + "eslint-visitor-keys": "^1.1.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "dev": true, - "license": "MIT", "engines": { - "node": ">=8.0.0" + "node": ">=6" } }, - "node_modules/get-pkg-repo": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz", - "integrity": "sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==", + "node_modules/eslint-visitor-keys": { + "version": "1.1.0", "dev": true, - "dependencies": { - "@hutson/parse-repository-url": "^3.0.0", - "hosted-git-info": "^4.0.0", - "through2": "^2.0.0", - "yargs": "^16.2.0" - }, - "bin": { - "get-pkg-repo": "src/cli.js" - }, + "license": "Apache-2.0", "engines": { - "node": ">=6.9.0" + "node": ">=4" } }, - "node_modules/get-pkg-repo/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/eslint/node_modules/ansi-regex": { + "version": "5.0.0", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/get-pkg-repo/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.2.1", "dev": true, + "license": "MIT", "dependencies": { + "@types/color-name": "^1.1.1", "color-convert": "^2.0.1" }, "engines": { @@ -10859,22 +10777,25 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/get-pkg-repo/node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.0", "dev": true, + "license": "MIT", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/get-pkg-repo/node_modules/color-convert": { + "node_modules/eslint/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -10882,917 +10803,832 @@ "node": ">=7.0.0" } }, - "node_modules/get-pkg-repo/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/get-pkg-repo/node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "node_modules/eslint/node_modules/cross-spawn": { + "version": "7.0.3", "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">= 8" } }, - "node_modules/get-pkg-repo/node_modules/hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "node_modules/eslint/node_modules/debug": { + "version": "4.1.1", "dev": true, + "license": "MIT", "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" + "ms": "^2.1.1" } }, - "node_modules/get-pkg-repo/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "1.2.0", "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/get-pkg-repo/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/eslint/node_modules/glob-parent": { + "version": "5.1.1", "dev": true, + "license": "ISC", "dependencies": { - "yallist": "^4.0.0" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=10" + "node": ">= 6" } }, - "node_modules/get-pkg-repo/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/eslint/node_modules/globals": { + "version": "12.4.0", "dev": true, + "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "type-fest": "^0.8.1" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/get-pkg-repo/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/get-pkg-repo/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "node_modules/eslint/node_modules/ignore": { + "version": "4.0.6", "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, + "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">= 4" } }, - "node_modules/get-pkg-repo/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "node_modules/eslint/node_modules/import-fresh": { + "version": "3.2.1", "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, "engines": { - "node": ">=10" + "node": ">=6" } }, - "node_modules/get-pkg-repo/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/get-pkg-repo/node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "node_modules/eslint/node_modules/is-glob": { + "version": "4.0.1", "dev": true, + "license": "MIT", "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "is-extglob": "^2.1.1" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/get-pkg-repo/node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "node_modules/eslint/node_modules/ms": { + "version": "2.1.2", "dev": true, - "engines": { - "node": ">=10" - } + "license": "MIT" }, - "node_modules/get-port": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz", - "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==", + "node_modules/eslint/node_modules/path-key": { + "version": "3.1.1", "dev": true, + "license": "MIT", "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/get-stream": { - "version": "3.0.0", + "node_modules/eslint/node_modules/semver": { + "version": "7.3.2", "dev": true, - "license": "MIT", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "node_modules/eslint/node_modules/shebang-command": { + "version": "2.0.0", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "shebang-regex": "^3.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/get-value": { - "version": "2.0.6", + "node_modules/eslint/node_modules/shebang-regex": { + "version": "3.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/get-workspaces": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/get-workspaces/-/get-workspaces-0.5.2.tgz", - "integrity": "sha512-99x72taQ9OUHhCmBS0B2WI/zwOtBOBPoyVNGs9+B0ag2GGhCjl/EaU9VQ8Zorx64TyVj1Am7bO+0J1KwDqo7OA==", + "node_modules/eslint/node_modules/strip-ansi": { + "version": "6.0.0", "dev": true, + "license": "MIT", "dependencies": { - "@changesets/types": "^0.4.0", - "fs-extra": "^7.0.1", - "globby": "^9.2.0" + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/get-workspaces/node_modules/dir-glob": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", - "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "node_modules/eslint/node_modules/supports-color": { + "version": "7.1.0", "dev": true, + "license": "MIT", "dependencies": { - "path-type": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/get-workspaces/node_modules/fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "node_modules/eslint/node_modules/which": { + "version": "2.0.2", "dev": true, + "license": "ISC", "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" }, "engines": { - "node": ">=6 <7 || >=8" + "node": ">= 8" } }, - "node_modules/get-workspaces/node_modules/globby": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", - "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "node_modules/espree": { + "version": "7.1.0", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "@types/glob": "^7.1.1", - "array-union": "^1.0.2", - "dir-glob": "^2.2.2", - "fast-glob": "^2.2.6", - "glob": "^7.1.3", - "ignore": "^4.0.3", - "pify": "^4.0.1", - "slash": "^2.0.0" + "acorn": "^7.2.0", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.2.0" }, "engines": { - "node": ">=6" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/get-workspaces/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "node_modules/espree/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true, + "bin": { + "acorn": "bin/acorn" + }, "engines": { - "node": ">= 4" + "node": ">=0.4.0" } }, - "node_modules/get-workspaces/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "1.2.0", "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/get-workspaces/node_modules/slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "node_modules/esprima": { + "version": "4.0.1", "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, "engines": { - "node": ">=6" - } - }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0" + "node": ">=4" } }, - "node_modules/git-branch": { - "version": "2.0.1", + "node_modules/esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, - "license": "MIT", "dependencies": { - "findup-sync": "^2.0.0" + "estraverse": "^5.1.0" }, "engines": { - "node": ">=8" + "node": ">=0.10" } }, - "node_modules/git-raw-commits": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.10.tgz", - "integrity": "sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ==", + "node_modules/esquery/node_modules/estraverse": { + "version": "5.1.0", "dev": true, - "dependencies": { - "dargs": "^7.0.0", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" - }, - "bin": { - "git-raw-commits": "cli.js" - }, + "license": "BSD-2-Clause", "engines": { - "node": ">=10" + "node": ">=4.0" } }, - "node_modules/git-raw-commits/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "estraverse": "^5.2.0" }, "engines": { - "node": ">= 6" + "node": ">=4.0" } }, - "node_modules/git-raw-commits/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/git-raw-commits/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, - "dependencies": { - "safe-buffer": "~5.2.0" + "engines": { + "node": ">=4.0" } }, - "node_modules/git-raw-commits/node_modules/through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, - "dependencies": { - "readable-stream": "3" + "engines": { + "node": ">=4.0" } }, - "node_modules/git-remote-origin-url": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", - "integrity": "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=", + "node_modules/estree-walker": { + "version": "0.6.0", "dev": true, - "dependencies": { - "gitconfiglocal": "^1.0.0", - "pify": "^2.3.0" - }, - "engines": { - "node": ">=4" - } + "license": "MIT" }, - "node_modules/git-remote-origin-url/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "node_modules/esutils": { + "version": "2.0.2", "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/git-semver-tags": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz", - "integrity": "sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==", + "node_modules/eventemitter3": { + "version": "3.1.2", + "license": "MIT" + }, + "node_modules/exec-sh": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", + "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==", + "dev": true + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "dependencies": { - "meow": "^8.0.0", - "semver": "^6.0.0" - }, - "bin": { - "git-semver-tags": "cli.js" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/git-semver-tags/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/git-up": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/git-up/-/git-up-4.0.5.tgz", - "integrity": "sha512-YUvVDg/vX3d0syBsk/CKUTib0srcQME0JyHkL5BaYdwLsiCslPWmDSi8PUMo9pXYjrryMcmsCoCgsTpSCJEQaA==", - "dev": true, - "dependencies": { - "is-ssh": "^1.3.0", - "parse-url": "^6.0.0" - } - }, - "node_modules/git-url-parse": { - "version": "11.6.0", - "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.6.0.tgz", - "integrity": "sha512-WWUxvJs5HsyHL6L08wOusa/IXYtMuCAhrMmnTjQPpBU0TTHyDhnOATNH3xNQz7YOQUsqIIPTGr4xiVti1Hsk5g==", + "node_modules/execa/node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "dependencies": { - "git-up": "^4.0.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/gitconfiglocal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", - "integrity": "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=", + "node_modules/execa/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, - "dependencies": { - "ini": "^1.3.2" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/glob": { - "version": "7.1.7", + "node_modules/execa/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, "engines": { - "node": "*" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/glob-parent": { - "version": "3.1.0", + "node_modules/execa/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, - "license": "ISC", "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/glob-to-regexp": { - "version": "0.3.0", + "node_modules/execa/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, - "license": "BSD" + "engines": { + "node": ">=8" + } }, - "node_modules/global-agent": { - "version": "2.1.12", + "node_modules/execa/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, - "license": "BSD-3-Clause", - "optional": true, "dependencies": { - "boolean": "^3.0.1", - "core-js": "^3.6.5", - "es6-error": "^4.1.1", - "matcher": "^3.0.0", - "roarr": "^2.15.3", - "semver": "^7.3.2", - "serialize-error": "^7.0.1" + "shebang-regex": "^3.0.0" }, "engines": { - "node": ">=10.0" + "node": ">=8" } }, - "node_modules/global-agent/node_modules/lru-cache": { - "version": "6.0.0", + "node_modules/execa/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, - "license": "ISC", - "optional": true, - "dependencies": { - "yallist": "^4.0.0" - }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/global-agent/node_modules/semver": { - "version": "7.3.5", + "node_modules/execa/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "license": "ISC", - "optional": true, "dependencies": { - "lru-cache": "^6.0.0" + "isexe": "^2.0.0" }, "bin": { - "semver": "bin/semver.js" + "node-which": "bin/node-which" }, "engines": { - "node": ">=10" + "node": ">= 8" } }, - "node_modules/global-agent/node_modules/yallist": { - "version": "4.0.0", + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "dev": true, - "license": "ISC", - "optional": true + "engines": { + "node": ">= 0.8.0" + } }, - "node_modules/global-modules": { - "version": "1.0.0", + "node_modules/expand-brackets": { + "version": "2.1.4", "dev": true, "license": "MIT", "dependencies": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/global-prefix": { - "version": "1.0.2", + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", "dev": true, "license": "MIT", "dependencies": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" + "is-descriptor": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/global-tunnel-ng": { - "version": "2.7.1", + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", "dev": true, - "license": "BSD-3-Clause", - "optional": true, + "license": "MIT", "dependencies": { - "encodeurl": "^1.0.2", - "lodash": "^4.17.10", - "npm-conf": "^1.1.3", - "tunnel": "^0.0.6" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">=0.10" + "node": ">=0.10.0" } }, - "node_modules/globals": { - "version": "11.11.0", + "node_modules/expand-tilde": { + "version": "2.0.2", "dev": true, "license": "MIT", + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/globalthis": { - "version": "1.0.2", + "node_modules/expect": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", + "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", "dev": true, - "license": "MIT", - "optional": true, "dependencies": { - "define-properties": "^1.1.3" + "@jest/types": "^26.6.2", + "ansi-styles": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">= 10.14.2" + } + }, + "node_modules/expect/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/globby": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", - "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "node_modules/expect/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/globby/node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "node_modules/expect/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">= 8" + "node": ">=7.0.0" } }, - "node_modules/globby/node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "node_modules/expect/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { "node": ">=8" } }, - "node_modules/globby/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "node_modules/expect/node_modules/jest-matcher-utils": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", + "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "chalk": "^4.0.0", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" }, "engines": { - "node": ">=8" + "node": ">= 10.14.2" } }, - "node_modules/globby/node_modules/fast-glob": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", - "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "node_modules/expect/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/globby/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/extend-shallow": { + "version": "3.0.2", "dev": true, + "license": "MIT", "dependencies": { - "to-regex-range": "^5.0.1" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/globby/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "node_modules/extend-shallow/node_modules/is-extendable": { + "version": "1.0.1", "dev": true, + "license": "MIT", "dependencies": { - "is-glob": "^4.0.1" + "is-plain-object": "^2.0.4" }, "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "node_modules/globby/node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "node_modules/external-editor": { + "version": "3.0.3", "dev": true, + "license": "MIT", "dependencies": { - "is-extglob": "^2.1.1" + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/globby/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/globby/node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "node_modules/extglob": { + "version": "2.0.4", "dev": true, + "license": "MIT", "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "engines": { - "node": ">=8.6" + "node": ">=0.10.0" } }, - "node_modules/globby/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", "dev": true, + "license": "MIT", "dependencies": { - "is-number": "^7.0.0" + "is-descriptor": "^1.0.0" }, "engines": { - "node": ">=8.0" + "node": ">=0.10.0" } }, - "node_modules/got": { - "version": "9.6.0", + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", "dev": true, "license": "MIT", "dependencies": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">=8.6" + "node": ">=0.10.0" } }, - "node_modules/got/node_modules/get-stream": { - "version": "4.1.0", + "node_modules/extglob/node_modules/is-accessor-descriptor": { + "version": "1.0.0", "dev": true, "license": "MIT", "dependencies": { - "pump": "^3.0.0" + "kind-of": "^6.0.0" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/graceful-fs": { - "version": "4.2.6", - "dev": true, - "license": "ISC" - }, - "node_modules/growl": { - "version": "1.10.5", + "node_modules/extglob/node_modules/is-data-descriptor": { + "version": "1.0.0", "dev": true, "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, "engines": { - "node": ">=4.x" + "node": ">=0.10.0" } }, - "node_modules/handlebars": { - "version": "4.7.7", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", - "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "node_modules/extglob/node_modules/is-descriptor": { + "version": "1.0.2", "dev": true, + "license": "MIT", "dependencies": { - "minimist": "^1.2.5", - "neo-async": "^2.6.0", - "source-map": "^0.6.1", - "wordwrap": "^1.0.0" - }, - "bin": { - "handlebars": "bin/handlebars" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" }, "engines": { - "node": ">=0.4.7" - }, - "optionalDependencies": { - "uglify-js": "^3.1.4" + "node": ">=0.10.0" } }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "node_modules/extglob/node_modules/kind-of": { + "version": "6.0.2", "dev": true, + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", + "node_modules/extract-zip": { + "version": "1.7.0", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" + "concat-stream": "^1.6.2", + "debug": "^2.6.9", + "mkdirp": "^0.5.4", + "yauzl": "^2.10.0" }, - "engines": { - "node": ">=6" + "bin": { + "extract-zip": "cli.js" } }, - "node_modules/hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "node_modules/extract-zip/node_modules/concat-stream": { + "version": "1.6.2", "dev": true, - "engines": { - "node": ">=6" + "engines": [ + "node >= 0.8" + ], + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, - "node_modules/has": { - "version": "1.0.3", + "node_modules/extract-zip/node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/extract-zip/node_modules/readable-stream": { + "version": "2.3.7", "dev": true, "license": "MIT", "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/has-bigints": { - "version": "1.0.1", + "node_modules/extract-zip/node_modules/string_decoder": { + "version": "1.1.1", "dev": true, "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "node_modules/has-flag": { - "version": "3.0.0", + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } + "engines": [ + "node >=0.6.0" + ] }, - "node_modules/has-symbols": { - "version": "1.0.2", + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "2.2.6", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.4" + "dependencies": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=4.0.0" } }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "node_modules/fast-glob/node_modules/is-glob": { + "version": "4.0.0", "dev": true, + "license": "MIT", "dependencies": { - "has-symbols": "^1.0.2" + "is-extglob": "^2.1.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/has-unicode": { - "version": "2.0.1", + "node_modules/fast-json-stable-stringify": { + "version": "2.0.0", "dev": true, - "license": "ISC" + "license": "MIT" }, - "node_modules/has-value": { - "version": "1.0.0", + "node_modules/fast-levenshtein": { + "version": "2.0.6", "dev": true, - "license": "MIT", + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.9.0", + "dev": true, + "license": "ISC", "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" + "reusify": "^1.0.4" } }, - "node_modules/has-values": { - "version": "1.0.0", + "node_modules/fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", "dev": true, - "license": "MIT", "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" + "bser": "2.1.1" } }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", + "node_modules/fd-slicer": { + "version": "1.1.0", "dev": true, "license": "MIT", "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" + "pend": "~1.2.0" } }, - "node_modules/hasha": { - "version": "5.2.2", + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, - "license": "MIT", "dependencies": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" + "escape-string-regexp": "^1.0.5" }, "engines": { "node": ">=8" @@ -11801,395 +11637,318 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/hasha/node_modules/is-stream": { - "version": "2.0.0", + "node_modules/file-entry-cache": { + "version": "5.0.1", "dev": true, "license": "MIT", + "dependencies": { + "flat-cache": "^2.0.1" + }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/he": { - "version": "1.2.0", + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", "dev": true, - "license": "MIT", - "bin": { - "he": "bin/he" - } + "optional": true }, - "node_modules/highlight.js": { - "version": "10.7.3", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", - "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", + "node_modules/fill-range": { + "version": "4.0.0", "dev": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, "engines": { - "node": "*" + "node": ">=0.10.0" } }, - "node_modules/homedir-polyfill": { - "version": "1.0.3", + "node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", "dev": true, "license": "MIT", "dependencies": { - "parse-passwd": "^1.0.0" + "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/hosted-git-info": { - "version": "2.7.1", - "dev": true, - "license": "ISC" - }, - "node_modules/html-escaper": { - "version": "2.0.2", + "node_modules/filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha1-mzERErxsYSehbgFsbF1/GeCAXFs=", "dev": true, - "license": "MIT" + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/http-cache-semantics": { + "node_modules/find-up": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", - "dev": true - }, - "node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">= 6" + "node": ">=8" } }, - "node_modules/http-proxy-agent/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "node_modules/find-up/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "dependencies": { - "ms": "2.1.2" + "p-locate": "^4.1.0" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">=8" } }, - "node_modules/http-proxy-agent/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "node_modules/find-up/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "p-try": "^2.0.0" }, "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "node_modules/find-up/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "dependencies": { - "agent-base": "6", - "debug": "4" + "p-limit": "^2.2.0" }, "engines": { - "node": ">= 6" + "node": ">=8" } }, - "node_modules/https-proxy-agent/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "node_modules/find-up/node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, - "dependencies": { - "ms": "2.1.2" - }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">=6" } }, - "node_modules/https-proxy-agent/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "node_modules/find-up/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, "engines": { - "node": ">=10.17.0" + "node": ">=8" } }, - "node_modules/humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", + "node_modules/findup-sync": { + "version": "2.0.0", "dev": true, + "license": "MIT", "dependencies": { - "ms": "^2.0.0" + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" } }, - "node_modules/iconv-lite": { - "version": "0.4.24", + "node_modules/flat-cache": { + "version": "2.0.1", "dev": true, "license": "MIT", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/ignore": { - "version": "5.1.9", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz", - "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==", + "node_modules/flatted": { + "version": "2.0.2", "dev": true, - "engines": { - "node": ">= 4" - } + "license": "ISC" }, - "node_modules/ignore-walk": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", - "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dev": true, "dependencies": { - "minimatch": "^3.0.4" + "is-callable": "^1.1.3" } }, - "node_modules/import-lazy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", - "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "node_modules/for-in": { + "version": "1.0.2", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/import-local": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.3.tgz", - "integrity": "sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA==", + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" }, "engines": { - "node": ">=8" + "node": ">= 0.12" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", + "node_modules/fragment-cache": { + "version": "0.2.1", "dev": true, "license": "MIT", + "dependencies": { + "map-cache": "^0.2.2" + }, "engines": { - "node": ">=0.8.19" + "node": ">=0.10.0" } }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, - "node_modules/inflight": { - "version": "1.0.6", + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", "dev": true, - "license": "ISC", "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/inherits": { - "version": "2.0.3", + "node_modules/fs.realpath": { + "version": "1.0.0", "dev": true, "license": "ISC" }, - "node_modules/ini": { - "version": "1.3.5", + "node_modules/fsevents": { + "version": "2.3.2", "dev": true, - "license": "ISC", + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "*" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/init-package-json": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-2.0.5.tgz", - "integrity": "sha512-u1uGAtEFu3VA6HNl/yUWw57jmKEMx8SKOxHhxjGnOFUiIlFnohKDFg4ZrPpv9wWqk44nDxGJAtqjdQFm+9XXQA==", + "node_modules/function-bind": { + "version": "1.1.1", "dev": true, - "dependencies": { - "npm-package-arg": "^8.1.5", - "promzard": "^0.3.0", - "read": "~1.0.1", - "read-package-json": "^4.1.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4", - "validate-npm-package-name": "^3.0.0" - }, - "engines": { - "node": ">=10" - } + "license": "MIT" }, - "node_modules/init-package-json/node_modules/hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "node_modules/functional-red-black-tree": { + "version": "1.0.1", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } + "license": "MIT" }, - "node_modules/init-package-json/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/gauge": { + "version": "2.7.4", "dev": true, + "license": "ISC", "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" } }, - "node_modules/init-package-json/node_modules/normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "node_modules/gensync": { + "version": "1.0.0-beta.2", "dev": true, - "dependencies": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - }, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=6.9.0" } }, - "node_modules/init-package-json/node_modules/npm-package-arg": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", - "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "node_modules/get-caller-file": { + "version": "1.0.3", "dev": true, - "dependencies": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" - }, - "engines": { - "node": ">=10" - } + "license": "ISC" }, - "node_modules/init-package-json/node_modules/read-package-json": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-4.1.1.tgz", - "integrity": "sha512-P82sbZJ3ldDrWCOSKxJT0r/CXMWR0OR3KRh55SgKo3p91GSIEEC32v3lSHAvO/UcH3/IoL7uqhOFBduAnwdldw==", + "node_modules/get-intrinsic": { + "version": "1.1.1", "dev": true, + "license": "MIT", "dependencies": { - "glob": "^7.1.1", - "json-parse-even-better-errors": "^2.3.0", - "normalize-package-data": "^3.0.0", - "npm-normalize-package-bin": "^1.0.0" + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" }, - "engines": { - "node": ">=10" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/init-package-json/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "node_modules/get-package-type": { + "version": "0.1.0", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=8.0.0" } }, - "node_modules/init-package-json/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "node_modules/get-pkg-repo": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz", + "integrity": "sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==", "dev": true, "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" + "@hutson/parse-repository-url": "^3.0.0", + "hosted-git-info": "^4.0.0", + "through2": "^2.0.0", + "yargs": "^16.2.0" + }, + "bin": { + "get-pkg-repo": "src/cli.js" }, "engines": { - "node": ">=8.0.0" + "node": ">=6.9.0" } }, - "node_modules/inquirer/node_modules/ansi-regex": { + "node_modules/get-pkg-repo/node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", @@ -12198,7 +11957,7 @@ "node": ">=8" } }, - "node_modules/inquirer/node_modules/ansi-styles": { + "node_modules/get-pkg-repo/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", @@ -12213,23 +11972,18 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/inquirer/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/get-pkg-repo/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "node_modules/inquirer/node_modules/color-convert": { + "node_modules/get-pkg-repo/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", @@ -12241,22 +11995,34 @@ "node": ">=7.0.0" } }, - "node_modules/inquirer/node_modules/emoji-regex": { + "node_modules/get-pkg-repo/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, - "node_modules/inquirer/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/get-pkg-repo/node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, "engines": { - "node": ">=8" + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/inquirer/node_modules/is-fullwidth-code-point": { + "node_modules/get-pkg-repo/node_modules/hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/get-pkg-repo/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", @@ -12265,7 +12031,19 @@ "node": ">=8" } }, - "node_modules/inquirer/node_modules/string-width": { + "node_modules/get-pkg-repo/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/get-pkg-repo/node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", @@ -12279,7 +12057,7 @@ "node": ">=8" } }, - "node_modules/inquirer/node_modules/strip-ansi": { + "node_modules/get-pkg-repo/node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", @@ -12291,87 +12069,93 @@ "node": ">=8" } }, - "node_modules/inquirer/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/get-pkg-repo/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" + "node": ">=10" }, - "engines": { - "node": ">= 0.4" + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/invert-kv": { - "version": "1.0.0", + "node_modules/get-pkg-repo/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, - "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "node_modules/get-pkg-repo/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "node_modules/is-accessor-descriptor": { - "version": "0.1.6", + "node_modules/get-pkg-repo/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, - "license": "MIT", "dependencies": { - "kind-of": "^3.0.2" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/is-arrayish": { - "version": "0.2.1", + "node_modules/get-pkg-repo/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=10" + } }, - "node_modules/is-bigint": { - "version": "1.0.2", + "node_modules/get-port": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz", + "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==", "dev": true, - "license": "MIT", + "engines": { + "node": ">=8" + }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-binary-path": { - "version": "2.1.0", + "node_modules/get-stream": { + "version": "3.0.0", "dev": true, "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/is-boolean-object": { - "version": "1.1.1", + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", "dev": true, - "license": "MIT", "dependencies": { - "call-bind": "^1.0.2" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" }, "engines": { "node": ">= 0.4" @@ -12380,893 +12164,803 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-buffer": { - "version": "1.1.6", + "node_modules/get-value": { + "version": "2.0.6", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/is-callable": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "node_modules/get-workspaces": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/get-workspaces/-/get-workspaces-0.5.2.tgz", + "integrity": "sha512-99x72taQ9OUHhCmBS0B2WI/zwOtBOBPoyVNGs9+B0ag2GGhCjl/EaU9VQ8Zorx64TyVj1Am7bO+0J1KwDqo7OA==", "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "dependencies": { + "@changesets/types": "^0.4.0", + "fs-extra": "^7.0.1", + "globby": "^9.2.0" } }, - "node_modules/is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "node_modules/get-workspaces/node_modules/dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", + "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", "dev": true, "dependencies": { - "ci-info": "^2.0.0" + "path-type": "^3.0.0" }, - "bin": { - "is-ci": "bin.js" + "engines": { + "node": ">=4" } }, - "node_modules/is-core-module": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", - "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", + "node_modules/get-workspaces/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", "dev": true, "dependencies": { - "has": "^1.0.3" + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=6 <7 || >=8" } }, - "node_modules/is-data-descriptor": { - "version": "0.1.4", + "node_modules/get-workspaces/node_modules/globby": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", + "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", "dev": true, - "license": "MIT", "dependencies": { - "kind-of": "^3.0.2" + "@types/glob": "^7.1.1", + "array-union": "^1.0.2", + "dir-glob": "^2.2.2", + "fast-glob": "^2.2.6", + "glob": "^7.1.3", + "ignore": "^4.0.3", + "pify": "^4.0.1", + "slash": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/is-date-object": { - "version": "1.0.1", + "node_modules/get-workspaces/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true, - "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">= 4" } }, - "node_modules/is-descriptor": { - "version": "0.1.6", + "node_modules/get-workspaces/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true, - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/is-descriptor/node_modules/kind-of": { - "version": "5.1.0", + "node_modules/get-workspaces/node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", "dev": true, - "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/is-extendable": { - "version": "0.1.1", + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "dependencies": { + "assert-plus": "^1.0.0" } }, - "node_modules/is-extglob": { - "version": "2.1.1", + "node_modules/git-branch": { + "version": "2.0.1", "dev": true, "license": "MIT", + "dependencies": { + "findup-sync": "^2.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/is-fullwidth-code-point": { - "version": "1.0.0", + "node_modules/git-raw-commits": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.10.tgz", + "integrity": "sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ==", "dev": true, - "license": "MIT", "dependencies": { - "number-is-nan": "^1.0.0" + "dargs": "^7.0.0", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "bin": { + "git-raw-commits": "cli.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/is-glob": { - "version": "3.1.0", + "node_modules/git-raw-commits/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, - "license": "MIT", "dependencies": { - "is-extglob": "^2.1.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/is-lambda": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=", - "dev": true - }, - "node_modules/is-module": { - "version": "1.0.0", + "node_modules/git-raw-commits/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, - "license": "MIT" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "node_modules/is-negative-zero": { - "version": "2.0.1", + "node_modules/git-raw-commits/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "dependencies": { + "safe-buffer": "~5.2.0" } }, - "node_modules/is-number": { - "version": "3.0.0", + "node_modules/git-raw-commits/node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", "dev": true, - "license": "MIT", "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" + "readable-stream": "3" } }, - "node_modules/is-number-object": { - "version": "1.0.5", + "node_modules/git-remote-origin-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", + "integrity": "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" + "dependencies": { + "gitconfiglocal": "^1.0.0", + "pify": "^2.3.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=4" } }, - "node_modules/is-plain-obj": { - "version": "1.1.0", + "node_modules/git-remote-origin-url/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/is-plain-object": { - "version": "2.0.4", + "node_modules/git-semver-tags": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz", + "integrity": "sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==", "dev": true, - "license": "MIT", "dependencies": { - "isobject": "^3.0.1" + "meow": "^8.0.0", + "semver": "^6.0.0" + }, + "bin": { + "git-semver-tags": "cli.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/is-reference": { - "version": "1.2.1", + "node_modules/git-semver-tags/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "*" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "node_modules/git-up": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/git-up/-/git-up-4.0.5.tgz", + "integrity": "sha512-YUvVDg/vX3d0syBsk/CKUTib0srcQME0JyHkL5BaYdwLsiCslPWmDSi8PUMo9pXYjrryMcmsCoCgsTpSCJEQaA==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", - "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "is-ssh": "^1.3.0", + "parse-url": "^6.0.0" } }, - "node_modules/is-ssh": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.3.tgz", - "integrity": "sha512-NKzJmQzJfEEma3w5cJNcUMxoXfDjz0Zj0eyCalHn2E6VOwlzjZo0yuO2fcBSf8zhFuVCL/82/r5gRcoi6aEPVQ==", + "node_modules/git-url-parse": { + "version": "11.6.0", + "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.6.0.tgz", + "integrity": "sha512-WWUxvJs5HsyHL6L08wOusa/IXYtMuCAhrMmnTjQPpBU0TTHyDhnOATNH3xNQz7YOQUsqIIPTGr4xiVti1Hsk5g==", "dev": true, "dependencies": { - "protocols": "^1.1.0" + "git-up": "^4.0.0" } }, - "node_modules/is-stream": { - "version": "1.1.0", + "node_modules/gitconfiglocal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", + "integrity": "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "dependencies": { + "ini": "^1.3.2" } }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "node_modules/glob": { + "version": "7.1.7", "dev": true, + "license": "ISC", "dependencies": { - "has-tostringtag": "^1.0.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": ">= 0.4" + "node": "*" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/is-symbol": { - "version": "1.0.4", + "node_modules/glob-parent": { + "version": "3.1.0", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" } }, - "node_modules/is-text-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", - "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", + "node_modules/glob-to-regexp": { + "version": "0.3.0", + "dev": true, + "license": "BSD" + }, + "node_modules/global-agent": { + "version": "2.1.12", "dev": true, + "license": "BSD-3-Clause", + "optional": true, "dependencies": { - "text-extensions": "^1.0.0" + "boolean": "^3.0.1", + "core-js": "^3.6.5", + "es6-error": "^4.1.1", + "matcher": "^3.0.0", + "roarr": "^2.15.3", + "semver": "^7.3.2", + "serialize-error": "^7.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=10.0" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/is-weakref": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.1.tgz", - "integrity": "sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ==", + "node_modules/global-agent/node_modules/lru-cache": { + "version": "6.0.0", "dev": true, + "license": "ISC", + "optional": true, "dependencies": { - "call-bind": "^1.0.0" + "yallist": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=10" } }, - "node_modules/is-windows": { - "version": "1.0.2", + "node_modules/global-agent/node_modules/semver": { + "version": "7.3.5", "dev": true, - "license": "MIT", + "license": "ISC", + "optional": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/isarray": { - "version": "0.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", + "node_modules/global-agent/node_modules/yallist": { + "version": "4.0.0", "dev": true, - "license": "ISC" - }, - "node_modules/ismobilejs": { - "version": "1.1.1", - "license": "MIT" + "license": "ISC", + "optional": true }, - "node_modules/isobject": { - "version": "3.0.1", + "node_modules/global-modules": { + "version": "1.0.0", "dev": true, "license": "MIT", + "dependencies": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.0.0", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-hook": { - "version": "3.0.0", + "node_modules/global-prefix": { + "version": "1.0.2", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "append-transform": "^2.0.0" + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/istanbul-lib-instrument": { - "version": "4.0.3", + "node_modules/global-tunnel-ng": { + "version": "2.7.1", "dev": true, "license": "BSD-3-Clause", + "optional": true, "dependencies": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" + "encodeurl": "^1.0.2", + "lodash": "^4.17.10", + "npm-conf": "^1.1.3", + "tunnel": "^0.0.6" }, "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "node": ">=0.10" } }, - "node_modules/istanbul-lib-processinfo": { - "version": "2.0.2", + "node_modules/globals": { + "version": "11.11.0", "dev": true, - "license": "ISC", - "dependencies": { - "archy": "^1.0.0", - "cross-spawn": "^7.0.0", - "istanbul-lib-coverage": "^3.0.0-alpha.1", - "make-dir": "^3.0.0", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "uuid": "^3.3.3" - }, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/istanbul-lib-processinfo/node_modules/cross-spawn": { - "version": "7.0.3", + "node_modules/globalthis": { + "version": "1.0.2", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "define-properties": "^1.1.3" }, "engines": { - "node": ">= 8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/istanbul-lib-processinfo/node_modules/make-dir": { - "version": "3.1.0", + "node_modules/globby": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", "dev": true, - "license": "MIT", "dependencies": { - "semver": "^6.0.0" + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/istanbul-lib-processinfo/node_modules/p-map": { - "version": "3.0.0", + "node_modules/globby/node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, - "license": "MIT", - "dependencies": { - "aggregate-error": "^3.0.0" - }, "engines": { - "node": ">=8" + "node": ">= 8" } }, - "node_modules/istanbul-lib-processinfo/node_modules/path-key": { - "version": "3.1.1", + "node_modules/globby/node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/istanbul-lib-processinfo/node_modules/rimraf": { + "node_modules/globby/node_modules/braces": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, - "license": "ISC", "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "fill-range": "^7.0.1" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/istanbul-lib-processinfo/node_modules/semver": { - "version": "6.3.0", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "engines": { + "node": ">=8" } }, - "node_modules/istanbul-lib-processinfo/node_modules/shebang-command": { - "version": "2.0.0", + "node_modules/globby/node_modules/fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", "dev": true, - "license": "MIT", "dependencies": { - "shebang-regex": "^3.0.0" + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" }, "engines": { "node": ">=8" } }, - "node_modules/istanbul-lib-processinfo/node_modules/shebang-regex": { - "version": "3.0.0", + "node_modules/globby/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, - "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, "engines": { "node": ">=8" } }, - "node_modules/istanbul-lib-processinfo/node_modules/which": { - "version": "2.0.2", + "node_modules/globby/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "license": "ISC", "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" + "is-glob": "^4.0.1" }, "engines": { - "node": ">= 8" + "node": ">= 6" } }, - "node_modules/istanbul-lib-report": { - "version": "3.0.0", + "node_modules/globby/node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" + "is-extglob": "^2.1.1" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/istanbul-lib-report/node_modules/has-flag": { - "version": "4.0.0", + "node_modules/globby/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, - "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.12.0" } }, - "node_modules/istanbul-lib-report/node_modules/make-dir": { - "version": "3.1.0", + "node_modules/globby/node_modules/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", "dev": true, - "license": "MIT", "dependencies": { - "semver": "^6.0.0" + "braces": "^3.0.1", + "picomatch": "^2.2.3" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/istanbul-lib-report/node_modules/semver": { - "version": "6.3.0", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "node": ">=8.6" } }, - "node_modules/istanbul-lib-report/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/globby/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, - "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "is-number": "^7.0.0" }, "engines": { - "node": ">=8" + "node": ">=8.0" } }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.0", + "node_modules/got": { + "version": "9.6.0", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=8.6" } }, - "node_modules/istanbul-lib-source-maps/node_modules/debug": { - "version": "4.3.2", + "node_modules/got/node_modules/get-stream": { + "version": "4.1.0", "dev": true, "license": "MIT", "dependencies": { - "ms": "2.1.2" + "pump": "^3.0.0" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">=6" } }, - "node_modules/istanbul-lib-source-maps/node_modules/ms": { - "version": "2.1.2", + "node_modules/graceful-fs": { + "version": "4.2.6", "dev": true, - "license": "MIT" + "license": "ISC" }, - "node_modules/istanbul-reports": { - "version": "3.0.2", + "node_modules/growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==", "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } + "optional": true }, - "node_modules/jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "node_modules/handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", "dev": true, "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" }, "engines": { - "node": ">= 10.13.0" + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" } }, - "node_modules/jest-worker/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", "dev": true, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "ajv": "^6.12.3", + "har-schema": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/jju": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", - "integrity": "sha1-o6vicYryQaKykE+EpiWXDzia4yo=", - "dev": true - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "3.13.1", + "node_modules/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=6" } }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, - "node_modules/jscc": { - "version": "1.1.1", + "node_modules/has": { + "version": "1.0.3", "dev": true, "license": "MIT", "dependencies": { - "@jsbits/escape-regex-str": "^1.0.2", - "@jsbits/get-package-version": "^1.0.2", - "magic-string": "^0.25.1", - "perf-regexes": "^1.0.1", - "skip-regex": "^1.0.2" + "function-bind": "^1.1.1" }, "engines": { - "node": ">=6.0" - } - }, - "node_modules/jsdoc-type-pratt-parser": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-3.0.1.tgz", - "integrity": "sha512-vqMCdAFVIiFhVgBYE/X8naf3L/7qiJsaYWTfUJZZZ124dR3OUz9HrmaMUGpYIYAN4VSuodf6gIZY0e8ktPw9cg==", - "dev": true, - "engines": { - "node": ">=12.0.0" + "node": ">= 0.4.0" } }, - "node_modules/jsesc": { - "version": "0.5.0", + "node_modules/has-bigints": { + "version": "1.0.1", "dev": true, - "bin": { - "jsesc": "bin/jsesc" + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/json-buffer": { + "node_modules/has-flag": { "version": "3.0.0", "dev": true, - "license": "MIT" - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "dev": true, - "license": "ISC" - }, - "node_modules/json5": { - "version": "2.2.0", - "dev": true, "license": "MIT", - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" - }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/jsonfile": { - "version": "4.0.0", + "node_modules/has-symbols": { + "version": "1.0.2", "dev": true, "license": "MIT", - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", - "dev": true, - "engines": [ - "node >= 0.2.0" - ] - }, - "node_modules/JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dev": true, "dependencies": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - }, - "bin": { - "JSONStream": "bin.js" + "has-symbols": "^1.0.2" }, "engines": { - "node": "*" - } - }, - "node_modules/jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/just-extend": { - "version": "4.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/keyv": { - "version": "3.1.0", + "node_modules/has-unicode": { + "version": "2.0.1", "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.0" - } + "license": "ISC" }, - "node_modules/kind-of": { - "version": "3.2.2", + "node_modules/has-value": { + "version": "1.0.0", "dev": true, "license": "MIT", "dependencies": { - "is-buffer": "^1.1.5" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/klaw-sync": { - "version": "6.0.0", + "node_modules/has-values": { + "version": "1.0.0", "dev": true, "license": "MIT", "dependencies": { - "graceful-fs": "^4.1.11" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/lcid": { - "version": "1.0.0", + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", "dev": true, "license": "MIT", "dependencies": { - "invert-kv": "^1.0.0" + "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/lerna": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/lerna/-/lerna-4.0.0.tgz", - "integrity": "sha512-DD/i1znurfOmNJb0OBw66NmNqiM8kF6uIrzrJ0wGE3VNdzeOhz9ziWLYiRaZDGGwgbcjOo6eIfcx9O5Qynz+kg==", + "node_modules/highlight.js": { + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", "dev": true, - "dependencies": { - "@lerna/add": "4.0.0", - "@lerna/bootstrap": "4.0.0", - "@lerna/changed": "4.0.0", - "@lerna/clean": "4.0.0", - "@lerna/cli": "4.0.0", - "@lerna/create": "4.0.0", - "@lerna/diff": "4.0.0", - "@lerna/exec": "4.0.0", - "@lerna/import": "4.0.0", - "@lerna/info": "4.0.0", - "@lerna/init": "4.0.0", - "@lerna/link": "4.0.0", - "@lerna/list": "4.0.0", - "@lerna/publish": "4.0.0", - "@lerna/run": "4.0.0", - "@lerna/version": "4.0.0", - "import-local": "^3.0.2", - "npmlog": "^4.1.2" - }, - "bin": { - "lerna": "cli.js" - }, "engines": { - "node": ">= 10.18.0" + "node": "*" } }, - "node_modules/levn": { - "version": "0.4.1", + "node_modules/homedir-polyfill": { + "version": "1.0.3", "dev": true, "license": "MIT", "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "parse-passwd": "^1.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=0.10.0" } }, - "node_modules/libnpmaccess": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/libnpmaccess/-/libnpmaccess-4.0.3.tgz", - "integrity": "sha512-sPeTSNImksm8O2b6/pf3ikv4N567ERYEpeKRPSmqlNt1dTZbvgpJIzg5vAhXHpw2ISBsELFRelk0jEahj1c6nQ==", + "node_modules/hosted-git-info": { + "version": "2.7.1", + "dev": true, + "license": "ISC" + }, + "node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", "dev": true, "dependencies": { - "aproba": "^2.0.0", - "minipass": "^3.1.1", - "npm-package-arg": "^8.1.2", - "npm-registry-fetch": "^11.0.0" + "whatwg-encoding": "^1.0.5" }, "engines": { "node": ">=10" } }, - "node_modules/libnpmaccess/node_modules/aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "node_modules/html-escaper": { + "version": "2.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", "dev": true }, - "node_modules/libnpmaccess/node_modules/debug": { + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-proxy-agent/node_modules/debug": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", @@ -13283,163 +12977,199 @@ } } }, - "node_modules/libnpmaccess/node_modules/hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "node_modules/http-proxy-agent/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" }, "engines": { - "node": ">=10" + "node": ">=0.8", + "npm": ">=1.3.7" } }, - "node_modules/libnpmaccess/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", "dev": true, "dependencies": { - "yallist": "^4.0.0" + "agent-base": "6", + "debug": "4" }, "engines": { - "node": ">=10" + "node": ">= 6" } }, - "node_modules/libnpmaccess/node_modules/make-fetch-happen": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", - "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", + "node_modules/https-proxy-agent/node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "dependencies": { - "agentkeepalive": "^4.1.3", - "cacache": "^15.2.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^6.0.0", - "minipass": "^3.1.3", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.3.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.2", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^6.0.0", - "ssri": "^8.0.0" + "ms": "2.1.2" }, "engines": { - "node": ">= 10" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/libnpmaccess/node_modules/ms": { + "node_modules/https-proxy-agent/node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "node_modules/libnpmaccess/node_modules/npm-package-arg": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", - "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, - "dependencies": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" - }, "engines": { - "node": ">=10" + "node": ">=10.17.0" } }, - "node_modules/libnpmaccess/node_modules/npm-registry-fetch": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz", - "integrity": "sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA==", + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", "dev": true, "dependencies": { - "make-fetch-happen": "^9.0.1", - "minipass": "^3.1.3", - "minipass-fetch": "^1.3.0", - "minipass-json-stream": "^1.0.1", - "minizlib": "^2.0.0", - "npm-package-arg": "^8.0.0" - }, - "engines": { - "node": ">=10" + "ms": "^2.0.0" } }, - "node_modules/libnpmaccess/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "node_modules/iconv-lite": { + "version": "0.4.24", "dev": true, + "license": "MIT", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "safer-buffer": ">= 2.1.2 < 3" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/libnpmaccess/node_modules/socks-proxy-agent": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.0.tgz", - "integrity": "sha512-57e7lwCN4Tzt3mXz25VxOErJKXlPfXmkMLnk310v/jwW20jWRVcgsOit+xNkN3eIEdB47GwnfAEBLacZ/wVIKg==", + "node_modules/ignore": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz", + "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==", "dev": true, - "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.1", - "socks": "^2.6.1" - }, "engines": { - "node": ">= 10" + "node": ">= 4" } }, - "node_modules/libnpmaccess/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/libnpmpublish": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/libnpmpublish/-/libnpmpublish-4.0.2.tgz", - "integrity": "sha512-+AD7A2zbVeGRCFI2aO//oUmapCwy7GHqPXFJh3qpToSRNU+tXKJ2YFUgjt04LPPAf2dlEH95s6EhIHM1J7bmOw==", + "node_modules/ignore-walk": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", + "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", "dev": true, "dependencies": { - "normalize-package-data": "^3.0.2", - "npm-package-arg": "^8.1.2", - "npm-registry-fetch": "^11.0.0", - "semver": "^7.1.3", - "ssri": "^8.0.1" - }, + "minimatch": "^3.0.4" + } + }, + "node_modules/import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "dev": true, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/libnpmpublish/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "node_modules/import-local": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.3.tgz", + "integrity": "sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA==", "dev": true, "dependencies": { - "ms": "2.1.2" + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" }, "engines": { - "node": ">=6.0" + "node": ">=8" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "node_modules/inflight": { + "version": "1.0.6", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.3", + "dev": true, + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.5", + "dev": true, + "license": "ISC", + "engines": { + "node": "*" + } + }, + "node_modules/init-package-json": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-2.0.5.tgz", + "integrity": "sha512-u1uGAtEFu3VA6HNl/yUWw57jmKEMx8SKOxHhxjGnOFUiIlFnohKDFg4ZrPpv9wWqk44nDxGJAtqjdQFm+9XXQA==", + "dev": true, + "dependencies": { + "npm-package-arg": "^8.1.5", + "promzard": "^0.3.0", + "read": "~1.0.1", + "read-package-json": "^4.1.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "^3.0.0" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "engines": { + "node": ">=10" } }, - "node_modules/libnpmpublish/node_modules/hosted-git-info": { + "node_modules/init-package-json/node_modules/hosted-git-info": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", @@ -13451,7 +13181,7 @@ "node": ">=10" } }, - "node_modules/libnpmpublish/node_modules/lru-cache": { + "node_modules/init-package-json/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", @@ -13463,40 +13193,7 @@ "node": ">=10" } }, - "node_modules/libnpmpublish/node_modules/make-fetch-happen": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", - "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", - "dev": true, - "dependencies": { - "agentkeepalive": "^4.1.3", - "cacache": "^15.2.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^6.0.0", - "minipass": "^3.1.3", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.3.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.2", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^6.0.0", - "ssri": "^8.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/libnpmpublish/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/libnpmpublish/node_modules/normalize-package-data": { + "node_modules/init-package-json/node_modules/normalize-package-data": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", @@ -13511,7 +13208,7 @@ "node": ">=10" } }, - "node_modules/libnpmpublish/node_modules/npm-package-arg": { + "node_modules/init-package-json/node_modules/npm-package-arg": { "version": "8.1.5", "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", @@ -13525,24 +13222,22 @@ "node": ">=10" } }, - "node_modules/libnpmpublish/node_modules/npm-registry-fetch": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz", - "integrity": "sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA==", + "node_modules/init-package-json/node_modules/read-package-json": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-4.1.1.tgz", + "integrity": "sha512-P82sbZJ3ldDrWCOSKxJT0r/CXMWR0OR3KRh55SgKo3p91GSIEEC32v3lSHAvO/UcH3/IoL7uqhOFBduAnwdldw==", "dev": true, "dependencies": { - "make-fetch-happen": "^9.0.1", - "minipass": "^3.1.3", - "minipass-fetch": "^1.3.0", - "minipass-json-stream": "^1.0.1", - "minizlib": "^2.0.0", - "npm-package-arg": "^8.0.0" + "glob": "^7.1.1", + "json-parse-even-better-errors": "^2.3.0", + "normalize-package-data": "^3.0.0", + "npm-normalize-package-bin": "^1.0.0" }, "engines": { "node": ">=10" } }, - "node_modules/libnpmpublish/node_modules/semver": { + "node_modules/init-package-json/node_modules/semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", @@ -13557,143 +13252,50 @@ "node": ">=10" } }, - "node_modules/libnpmpublish/node_modules/socks-proxy-agent": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.0.tgz", - "integrity": "sha512-57e7lwCN4Tzt3mXz25VxOErJKXlPfXmkMLnk310v/jwW20jWRVcgsOit+xNkN3eIEdB47GwnfAEBLacZ/wVIKg==", - "dev": true, - "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.1", - "socks": "^2.6.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/libnpmpublish/node_modules/yallist": { + "node_modules/init-package-json/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "node_modules/lines-and-columns": { - "version": "1.1.6", - "dev": true, - "license": "MIT" - }, - "node_modules/linkify-it": { - "version": "3.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "uc.micro": "^1.0.1" - } - }, - "node_modules/load-json-file": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/locate-path": { - "version": "2.0.0", + "node_modules/inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", "dev": true, - "license": "MIT", "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" }, "engines": { - "node": ">=4" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", - "dev": true - }, - "node_modules/lodash.flattendeep": { - "version": "4.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.flow": { - "version": "3.5.0", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", - "dev": true - }, - "node_modules/lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", - "dev": true - }, - "node_modules/lodash.ismatch": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", - "integrity": "sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=", - "dev": true - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.template": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", - "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", - "dev": true, - "dependencies": { - "lodash._reinterpolate": "^3.0.0", - "lodash.templatesettings": "^4.0.0" - } - }, - "node_modules/lodash.templatesettings": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", - "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", - "dev": true, - "dependencies": { - "lodash._reinterpolate": "^3.0.0" + "node": ">=8.0.0" } }, - "node_modules/log-symbols": { - "version": "4.0.0", + "node_modules/inquirer/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.0.0" - }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/log-symbols/node_modules/ansi-styles": { + "node_modules/inquirer/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -13704,10 +13306,11 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "4.1.0", + "node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -13719,10 +13322,11 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/log-symbols/node_modules/color-convert": { + "node_modules/inquirer/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -13730,4032 +13334,4736 @@ "node": ">=7.0.0" } }, - "node_modules/log-symbols/node_modules/has-flag": { + "node_modules/inquirer/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/inquirer/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/log-symbols/node_modules/supports-color": { - "version": "7.2.0", + "node_modules/inquirer/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, "engines": { "node": ">=8" } }, - "node_modules/lolex": { - "version": "4.1.0", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/loupe": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz", - "integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==", + "node_modules/inquirer/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { - "get-func-name": "^2.0.0" - } - }, - "node_modules/lowercase-keys": { - "version": "1.0.1", - "dev": true, - "license": "MIT", + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/lru-cache": { - "version": "4.1.1", + "node_modules/inquirer/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "license": "ISC", "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/magic-string": { - "version": "0.25.2", + "node_modules/inquirer/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { - "sourcemap-codec": "^1.4.4" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/make-error": { - "version": "1.3.6", - "dev": true, - "license": "ISC" - }, - "node_modules/make-fetch-happen": { - "version": "8.0.14", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.14.tgz", - "integrity": "sha512-EsS89h6l4vbfJEtBZnENTOFk8mCRpY5ru36Xe5bcX1KYIli2mkSHqoFsp5O1wMDvTJJzxe/4THpCTtygjeeGWQ==", + "node_modules/internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", "dev": true, "dependencies": { - "agentkeepalive": "^4.1.3", - "cacache": "^15.0.5", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^6.0.0", - "minipass": "^3.1.3", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.3.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^5.0.0", - "ssri": "^8.0.0" + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" }, "engines": { - "node": ">= 10" + "node": ">= 0.4" } }, - "node_modules/make-fetch-happen/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "dependencies": { - "yallist": "^4.0.0" - }, + "loose-envify": "^1.0.0" + } + }, + "node_modules/invert-kv": { + "version": "1.0.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/make-fetch-happen/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "node_modules/ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", "dev": true }, - "node_modules/map-cache": { - "version": "0.2.2", + "node_modules/is-accessor-descriptor": { + "version": "0.1.6", "dev": true, "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/map-obj": { - "version": "1.0.1", + "node_modules/is-arrayish": { + "version": "0.2.1", + "dev": true, + "license": "MIT" + }, + "node_modules/is-bigint": { + "version": "1.0.2", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/map-visit": { - "version": "1.0.0", + "node_modules/is-boolean-object": { + "version": "1.1.1", "dev": true, "license": "MIT", "dependencies": { - "object-visit": "^1.0.0" + "call-bind": "^1.0.2" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/markdown-it": { - "version": "11.0.1", + "node_modules/is-buffer": { + "version": "1.1.6", "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "entities": "~2.0.0", - "linkify-it": "^3.0.1", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" + "license": "MIT" + }, + "node_modules/is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "dev": true, + "engines": { + "node": ">= 0.4" }, - "bin": { - "markdown-it": "bin/markdown-it.js" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/markdown-it-highlightjs": { - "version": "3.4.0", + "node_modules/is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", "dev": true, - "license": "Unlicense", "dependencies": { - "highlight.js": "^10.2.0", - "lodash.flow": "^3.5.0" + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" } }, - "node_modules/marked": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.8.2.tgz", - "integrity": "sha512-EGwzEeCcLniFX51DhTpmTom+dSA/MG/OBUDjnWtHbEnjAH180VzUeAw+oE4+Zv+CoYBWyRlYOTR0N8SO9R1PVw==", + "node_modules/is-core-module": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", + "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", "dev": true, - "bin": { - "marked": "bin/marked" + "dependencies": { + "has": "^1.0.3" }, - "engines": { - "node": ">= 8.16.2" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/matcher": { - "version": "3.0.0", + "node_modules/is-data-descriptor": { + "version": "0.1.4", "dev": true, "license": "MIT", - "optional": true, "dependencies": { - "escape-string-regexp": "^4.0.0" + "kind-of": "^3.0.2" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/matcher/node_modules/escape-string-regexp": { - "version": "4.0.0", + "node_modules/is-date-object": { + "version": "1.0.1", "dev": true, "license": "MIT", - "optional": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.4" } }, - "node_modules/mdurl": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/mem": { - "version": "1.1.0", + "node_modules/is-descriptor": { + "version": "0.1.6", "dev": true, "license": "MIT", "dependencies": { - "mimic-fn": "^1.0.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/memorystream": { - "version": "0.3.1", + "node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.10.0" + "node": ">=0.10.0" } }, - "node_modules/meow": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", - "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "dev": true, - "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" + "optional": true, + "bin": { + "is-docker": "cli.js" }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/meow/node_modules/hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "node_modules/is-extendable": { + "version": "0.1.1", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/meow/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/is-extglob": { + "version": "2.1.1", "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/meow/node_modules/normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "node_modules/is-fullwidth-code-point": { + "version": "1.0.0", "dev": true, + "license": "MIT", "dependencies": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" + "number-is-nan": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/meow/node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, - "node_modules/meow/node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "node_modules/is-glob": { + "version": "3.1.0", "dev": true, + "license": "MIT", "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" + "is-extglob": "^2.1.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/meow/node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=", + "dev": true + }, + "node_modules/is-module": { + "version": "1.0.0", "dev": true, - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, + "license": "MIT" + }, + "node_modules/is-negative-zero": { + "version": "2.0.1", + "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/meow/node_modules/read-pkg-up/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "node_modules/is-number": { + "version": "3.0.0", "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/meow/node_modules/read-pkg/node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "node_modules/meow/node_modules/read-pkg/node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "node_modules/is-number-object": { + "version": "1.0.5", "dev": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/meow/node_modules/read-pkg/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "node_modules/is-plain-obj": { + "version": "1.1.0", "dev": true, - "bin": { - "semver": "bin/semver" + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/meow/node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "node_modules/is-plain-object": { + "version": "2.0.4", "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/meow/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true + }, + "node_modules/is-reference": { + "version": "1.2.1", "dev": true, + "license": "MIT", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "@types/estree": "*" } }, - "node_modules/meow/node_modules/type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/meow/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/meow/node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "node_modules/is-shared-array-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", + "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==", "dev": true, - "engines": { - "node": ">=10" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "node_modules/is-ssh": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.3.tgz", + "integrity": "sha512-NKzJmQzJfEEma3w5cJNcUMxoXfDjz0Zj0eyCalHn2E6VOwlzjZo0yuO2fcBSf8zhFuVCL/82/r5gRcoi6aEPVQ==", "dev": true, - "engines": { - "node": ">= 8" + "dependencies": { + "protocols": "^1.1.0" } }, - "node_modules/micromatch": { - "version": "3.1.10", + "node_modules/is-stream": { + "version": "1.1.0", "dev": true, "license": "MIT", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/micromatch/node_modules/kind-of": { - "version": "6.0.2", + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, - "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/mime-db": { - "version": "1.50.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz", - "integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==", + "node_modules/is-symbol": { + "version": "1.0.4", "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.2" + }, "engines": { - "node": ">= 0.6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/mime-types": { - "version": "2.1.33", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz", - "integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==", + "node_modules/is-text-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", "dev": true, "dependencies": { - "mime-db": "1.50.0" + "text-extensions": "^1.0.0" }, "engines": { - "node": ">= 0.6" + "node": ">=0.10.0" } }, - "node_modules/mimic-fn": { - "version": "1.2.0", + "node_modules/is-typedarray": { + "version": "1.0.0", "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } + "license": "MIT" }, - "node_modules/mimic-response": { + "node_modules/is-weakref": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.1.tgz", + "integrity": "sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" + "dependencies": { + "call-bind": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "node_modules/is-windows": { + "version": "1.0.2", "dev": true, + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/minimatch": { - "version": "3.0.4", + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, - "license": "ISC", + "optional": true, "dependencies": { - "brace-expansion": "^1.1.7" + "is-docker": "^2.0.0" }, "engines": { - "node": "*" + "node": ">=8" } }, - "node_modules/minimist": { - "version": "1.2.5", + "node_modules/isarray": { + "version": "0.0.1", "dev": true, "license": "MIT" }, - "node_modules/minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "node_modules/isexe": { + "version": "2.0.0", "dev": true, - "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - }, + "license": "ISC" + }, + "node_modules/ismobilejs": { + "version": "1.1.1", + "license": "MIT" + }, + "node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "license": "MIT", "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "node_modules/minimist-options/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/minipass": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.5.tgz", - "integrity": "sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw==", + "node_modules/istanbul-lib-instrument": { + "version": "4.0.3", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "yallist": "^4.0.0" + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" }, "engines": { "node": ">=8" } }, - "node_modules/minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.0", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "minipass": "^3.0.0" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 8" + "node": ">=8" } }, - "node_modules/minipass-fetch": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", - "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", "dev": true, - "dependencies": { - "minipass": "^3.1.0", - "minipass-sized": "^1.0.3", - "minizlib": "^2.0.0" - }, + "license": "MIT", "engines": { "node": ">=8" - }, - "optionalDependencies": { - "encoding": "^0.1.12" } }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "3.1.0", "dev": true, + "license": "MIT", "dependencies": { - "minipass": "^3.0.0" + "semver": "^6.0.0" }, "engines": { - "node": ">= 8" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/minipass-json-stream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", - "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", + "node_modules/istanbul-lib-report/node_modules/semver": { + "version": "6.3.0", "dev": true, - "dependencies": { - "jsonparse": "^1.3.1", - "minipass": "^3.0.0" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", "dev": true, + "license": "MIT", "dependencies": { - "minipass": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.0", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "minipass": "^3.0.0" + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" }, "engines": { "node": ">=8" } }, - "node_modules/minipass/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "node_modules/istanbul-lib-source-maps/node_modules/debug": { + "version": "4.3.2", "dev": true, + "license": "MIT", "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" + "ms": "2.1.2" }, "engines": { - "node": ">= 8" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/minizlib/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "node_modules/istanbul-lib-source-maps/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" }, - "node_modules/missionlog": { - "version": "1.6.0", + "node_modules/istanbul-reports": { + "version": "3.0.2", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "@babel/runtime": "^7.8.4", - "core-js": "^3.6.4" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" }, "engines": { - "node": ">=8.0.0" + "node": ">=8" } }, - "node_modules/mixin-deep": { - "version": "1.3.1", + "node_modules/jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz", + "integrity": "sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==", "dev": true, - "license": "MIT", "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "@jest/core": "^26.6.3", + "import-local": "^3.0.2", + "jest-cli": "^26.6.3" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { - "node": ">=0.10.0" + "node": ">= 10.14.2" } }, - "node_modules/mixin-deep/node_modules/is-extendable": { - "version": "1.0.1", + "node_modules/jest-changed-files": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.6.2.tgz", + "integrity": "sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==", "dev": true, - "license": "MIT", "dependencies": { - "is-plain-object": "^2.0.4" + "@jest/types": "^26.6.2", + "execa": "^4.0.0", + "throat": "^5.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 10.14.2" } }, - "node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "node_modules/jest-changed-files/node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "dependencies": { - "minimist": "^1.2.5" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, - "bin": { - "mkdirp": "bin/cmd.js" + "engines": { + "node": ">= 8" } }, - "node_modules/mkdirp-infer-owner": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz", - "integrity": "sha512-sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw==", + "node_modules/jest-changed-files/node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", "dev": true, "dependencies": { - "chownr": "^2.0.0", - "infer-owner": "^1.0.4", - "mkdirp": "^1.0.3" + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" }, "engines": { "node": ">=10" - } - }, - "node_modules/mkdirp-infer-owner/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" }, - "engines": { - "node": ">=10" + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/mocha": { - "version": "8.3.2", + "node_modules/jest-changed-files/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dev": true, - "license": "MIT", "dependencies": { - "@ungap/promise-all-settled": "1.1.2", - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.1", - "debug": "4.3.1", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.1.6", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "4.0.0", - "log-symbols": "4.0.0", - "minimatch": "3.0.4", - "ms": "2.1.3", - "nanoid": "3.1.20", - "serialize-javascript": "5.0.1", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "which": "2.0.2", - "wide-align": "1.1.3", - "workerpool": "6.1.0", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha" + "pump": "^3.0.0" }, "engines": { - "node": ">= 10.12.0" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mocha/node_modules/ansi-regex": { - "version": "5.0.0", + "node_modules/jest-changed-files/node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", "dev": true, - "license": "MIT", "engines": { - "node": ">=8" + "node": ">=8.12.0" } }, - "node_modules/mocha/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/jest-changed-files/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mocha/node_modules/argparse": { - "version": "2.0.1", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/mocha/node_modules/cliui": { - "version": "7.0.4", + "node_modules/jest-changed-files/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, - "license": "ISC", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/mocha/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/jest-changed-files/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, "engines": { - "node": ">=7.0.0" + "node": ">=8" } }, - "node_modules/mocha/node_modules/debug": { - "version": "4.3.1", + "node_modules/jest-changed-files/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, - "license": "MIT", "dependencies": { - "ms": "2.1.2" + "shebang-regex": "^3.0.0" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">=8" } }, - "node_modules/mocha/node_modules/debug/node_modules/ms": { - "version": "2.1.2", + "node_modules/jest-changed-files/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=8" + } }, - "node_modules/mocha/node_modules/diff": { - "version": "5.0.0", + "node_modules/jest-changed-files/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "license": "BSD-3-Clause", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, "engines": { - "node": ">=0.3.1" + "node": ">= 8" } }, - "node_modules/mocha/node_modules/emoji-regex": { - "version": "8.0.0", + "node_modules/jest-cli": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", + "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", "dev": true, - "license": "MIT" + "dependencies": { + "@jest/core": "^26.6.3", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "is-ci": "^2.0.0", + "jest-config": "^26.6.3", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "prompts": "^2.0.1", + "yargs": "^15.4.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 10.14.2" + } }, - "node_modules/mocha/node_modules/escape-string-regexp": { - "version": "4.0.0", + "node_modules/jest-cli/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/mocha/node_modules/find-up": { - "version": "5.0.0", + "node_modules/jest-cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mocha/node_modules/get-caller-file": { - "version": "2.0.5", - "dev": true, - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/mocha/node_modules/glob": { - "version": "7.1.6", + "node_modules/jest-cli/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "ISC", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=7.0.0" } }, - "node_modules/mocha/node_modules/has-flag": { + "node_modules/jest-cli/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/mocha/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", + "node_modules/jest-cli/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/mocha/node_modules/js-yaml": { - "version": "4.0.0", + "node_modules/jest-config": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", + "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", "dev": true, - "license": "MIT", "dependencies": { - "argparse": "^2.0.1" + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^26.6.3", + "@jest/types": "^26.6.2", + "babel-jest": "^26.6.3", + "chalk": "^4.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-environment-jsdom": "^26.6.2", + "jest-environment-node": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-jasmine2": "^26.6.3", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">= 10.14.2" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } } }, - "node_modules/mocha/node_modules/locate-path": { - "version": "6.0.0", + "node_modules/jest-config/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { - "p-locate": "^5.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/mocha/node_modules/ms": { - "version": "2.1.3", - "dev": true, - "license": "MIT" - }, - "node_modules/mocha/node_modules/nanoid": { - "version": "3.1.20", + "node_modules/jest-config/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" + "dependencies": { + "fill-range": "^7.0.1" }, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": ">=8" } }, - "node_modules/mocha/node_modules/p-limit": { - "version": "3.1.0", + "node_modules/jest-config/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { - "yocto-queue": "^0.1.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/mocha/node_modules/p-locate": { - "version": "5.0.0", + "node_modules/jest-config/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { - "p-limit": "^3.0.2" + "color-name": "~1.1.4" }, "engines": { - "node": ">=10" + "node": ">=7.0.0" + } + }, + "node_modules/jest-config/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=8" } }, - "node_modules/mocha/node_modules/path-exists": { + "node_modules/jest-config/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/mocha/node_modules/serialize-javascript": { - "version": "5.0.1", + "node_modules/jest-config/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "randombytes": "^2.1.0" + "engines": { + "node": ">=0.12.0" } }, - "node_modules/mocha/node_modules/string-width": { - "version": "4.2.2", + "node_modules/jest-config/node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, - "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, "engines": { - "node": ">=8" + "node": ">=8.6" } }, - "node_modules/mocha/node_modules/strip-ansi": { - "version": "6.0.0", + "node_modules/jest-config/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.0" + "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/mocha/node_modules/supports-color": { - "version": "8.1.1", + "node_modules/jest-config/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, - "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "is-number": "^7.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "node": ">=8.0" } }, - "node_modules/mocha/node_modules/which": { - "version": "2.0.2", + "node_modules/jest-diff": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", + "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", "dev": true, - "license": "ISC", "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" + "chalk": "^4.0.0", + "diff-sequences": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" }, "engines": { - "node": ">= 8" + "node": ">= 10.14.2" } }, - "node_modules/mocha/node_modules/wrap-ansi": { - "version": "7.0.0", + "node_modules/jest-diff/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/mocha/node_modules/y18n": { - "version": "5.0.5", + "node_modules/jest-diff/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "ISC", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/mocha/node_modules/yargs": { - "version": "16.2.0", + "node_modules/jest-diff/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "color-name": "~1.1.4" }, "engines": { - "node": ">=10" + "node": ">=7.0.0" } }, - "node_modules/mocha/node_modules/yargs-parser": { - "version": "20.2.4", + "node_modules/jest-diff/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "ISC", "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/modify-values": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", - "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", + "node_modules/jest-diff/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/ms": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/multimatch": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz", - "integrity": "sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==", + "node_modules/jest-docblock": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz", + "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==", "dev": true, "dependencies": { - "@types/minimatch": "^3.0.3", - "array-differ": "^3.0.0", - "array-union": "^2.1.0", - "arrify": "^2.0.1", - "minimatch": "^3.0.4" + "detect-newline": "^3.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 10.14.2" } }, - "node_modules/multimatch/node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "node_modules/jest-each": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz", + "integrity": "sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==", "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2" + }, "engines": { - "node": ">=8" + "node": ">= 10.14.2" } }, - "node_modules/multimatch/node_modules/arrify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "node_modules/jest-each/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "node_modules/nanoid": { - "version": "3.1.18", + "node_modules/jest-each/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/nanomatch": { - "version": "1.2.13", + "node_modules/jest-each/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "color-name": "~1.1.4" }, "engines": { - "node": ">=0.10.0" + "node": ">=7.0.0" } }, - "node_modules/nanomatch/node_modules/kind-of": { - "version": "6.0.2", + "node_modules/jest-each/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/natural-compare": { - "version": "1.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "node_modules/jest-each/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "node_modules/nice-try": { - "version": "1.0.5", - "dev": true, - "license": "MIT" - }, - "node_modules/nise": { - "version": "1.5.0", + "node_modules/jest-electron": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/jest-electron/-/jest-electron-0.1.12.tgz", + "integrity": "sha512-10Hjr1kpyWz5cj9Xs/Xfb8yvF1LZPVmyEMHu/A/VhgvIV5yiP9uD8FHNc4HAfEnZHM+wvpR5YfveBTUAiNfwnA==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { - "@sinonjs/formatio": "^3.1.0", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "lolex": "^4.1.0", - "path-to-regexp": "^1.7.0" + "electron": "^11.4.6", + "jest-haste-map": "~24.9.0", + "jest-message-util": "~24.9.0", + "jest-mock": "~24.9.0", + "jest-resolve": "~24.9.0", + "jest-runner": "~24.9.0", + "jest-runtime": "~24.9.0", + "jest-util": "~24.9.0", + "throat": "^5.0.0", + "tslib": "^1.10.0" + }, + "peerDependencies": { + "jest": "^24.0.0" } }, - "node_modules/node-fetch": { - "version": "2.6.1", + "node_modules/jest-electron/node_modules/@jest/console": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", + "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==", "dev": true, - "license": "MIT", + "dependencies": { + "@jest/source-map": "^24.9.0", + "chalk": "^2.0.1", + "slash": "^2.0.0" + }, "engines": { - "node": "4.x || >=6.0.0" + "node": ">= 6" } }, - "node_modules/node-gyp": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-5.1.1.tgz", - "integrity": "sha512-WH0WKGi+a4i4DUt2mHnvocex/xPLp9pYt5R6M2JdFB7pJ7Z34hveZ4nDTGTiLXCkitA9T8HFZjhinBCiVHYcWw==", + "node_modules/jest-electron/node_modules/@jest/environment": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-24.9.0.tgz", + "integrity": "sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==", "dev": true, "dependencies": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.2", - "mkdirp": "^0.5.1", - "nopt": "^4.0.1", - "npmlog": "^4.1.2", - "request": "^2.88.0", - "rimraf": "^2.6.3", - "semver": "^5.7.1", - "tar": "^4.4.12", - "which": "^1.3.1" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" + "@jest/fake-timers": "^24.9.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0" }, "engines": { - "node": ">= 6.0.0" + "node": ">= 6" } }, - "node_modules/node-gyp/node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "node_modules/node-gyp/node_modules/fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "node_modules/jest-electron/node_modules/@jest/fake-timers": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz", + "integrity": "sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==", "dev": true, "dependencies": { - "minipass": "^2.6.0" + "@jest/types": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-mock": "^24.9.0" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/node-gyp/node_modules/minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "node_modules/jest-electron/node_modules/@jest/source-map": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", + "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", "dev": true, "dependencies": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" + "callsites": "^3.0.0", + "graceful-fs": "^4.1.15", + "source-map": "^0.6.0" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/node-gyp/node_modules/minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "node_modules/jest-electron/node_modules/@jest/test-result": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", + "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", "dev": true, "dependencies": { - "minipass": "^2.9.0" - } - }, - "node_modules/node-gyp/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/node-gyp/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" + "@jest/console": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/istanbul-lib-coverage": "^2.0.0" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/node-gyp/node_modules/tar": { - "version": "4.4.19", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", - "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", + "node_modules/jest-electron/node_modules/@jest/test-sequencer": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz", + "integrity": "sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A==", "dev": true, "dependencies": { - "chownr": "^1.1.4", - "fs-minipass": "^1.2.7", - "minipass": "^2.9.0", - "minizlib": "^1.3.3", - "mkdirp": "^0.5.5", - "safe-buffer": "^5.2.1", - "yallist": "^3.1.1" + "@jest/test-result": "^24.9.0", + "jest-haste-map": "^24.9.0", + "jest-runner": "^24.9.0", + "jest-runtime": "^24.9.0" }, "engines": { - "node": ">=4.5" + "node": ">= 6" } }, - "node_modules/node-gyp/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "node_modules/jest-electron/node_modules/@jest/transform": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz", + "integrity": "sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==", "dev": true, "dependencies": { - "isexe": "^2.0.0" + "@babel/core": "^7.1.0", + "@jest/types": "^24.9.0", + "babel-plugin-istanbul": "^5.1.0", + "chalk": "^2.0.1", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.1.15", + "jest-haste-map": "^24.9.0", + "jest-regex-util": "^24.9.0", + "jest-util": "^24.9.0", + "micromatch": "^3.1.10", + "pirates": "^4.0.1", + "realpath-native": "^1.1.0", + "slash": "^2.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "2.4.1" }, - "bin": { - "which": "bin/which" + "engines": { + "node": ">= 6" } }, - "node_modules/node-gyp/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/node-preload": { - "version": "0.2.1", + "node_modules/jest-electron/node_modules/@jest/types": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", + "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", "dev": true, - "license": "MIT", "dependencies": { - "process-on-spawn": "^1.0.0" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^13.0.0" }, "engines": { - "node": ">=8" + "node": ">= 6" } }, - "node_modules/node-releases": { - "version": "1.1.71", + "node_modules/jest-electron/node_modules/@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", "dev": true, - "license": "MIT" + "dependencies": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } }, - "node_modules/noms": { - "version": "0.0.0", + "node_modules/jest-electron/node_modules/@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true + }, + "node_modules/jest-electron/node_modules/@types/yargs": { + "version": "13.0.12", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.12.tgz", + "integrity": "sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ==", "dev": true, - "license": "ISC", "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "~1.0.31" + "@types/yargs-parser": "*" } }, - "node_modules/nopt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", - "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", + "node_modules/jest-electron/node_modules/acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", "dev": true, - "dependencies": { - "abbrev": "1", - "osenv": "^0.1.4" - }, "bin": { - "nopt": "bin/nopt.js" + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" } }, - "node_modules/normalize-package-data": { - "version": "2.5.0", + "node_modules/jest-electron/node_modules/acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" } }, - "node_modules/normalize-path": { - "version": "3.0.0", + "node_modules/jest-electron/node_modules/acorn-globals/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true, - "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, "engines": { - "node": ">=0.10.0" + "node": ">=0.4.0" } }, - "node_modules/normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "node_modules/jest-electron/node_modules/acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.4.0" } }, - "node_modules/npm-bundled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", - "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", + "node_modules/jest-electron/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-electron/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, "dependencies": { - "npm-normalize-package-bin": "^1.0.1" + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" } }, - "node_modules/npm-conf": { - "version": "1.1.3", + "node_modules/jest-electron/node_modules/babel-jest": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz", + "integrity": "sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==", "dev": true, - "license": "MIT", - "optional": true, "dependencies": { - "config-chain": "^1.1.11", - "pify": "^3.0.0" + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/babel__core": "^7.1.0", + "babel-plugin-istanbul": "^5.1.0", + "babel-preset-jest": "^24.9.0", + "chalk": "^2.4.2", + "slash": "^2.0.0" }, "engines": { - "node": ">=4" + "node": ">= 6" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/npm-install-checks": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz", - "integrity": "sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==", + "node_modules/jest-electron/node_modules/babel-plugin-istanbul": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz", + "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==", "dev": true, "dependencies": { - "semver": "^7.1.1" + "@babel/helper-plugin-utils": "^7.0.0", + "find-up": "^3.0.0", + "istanbul-lib-instrument": "^3.3.0", + "test-exclude": "^5.2.3" }, "engines": { - "node": ">=10" + "node": ">=6" } }, - "node_modules/npm-install-checks/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/jest-electron/node_modules/babel-plugin-jest-hoist": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz", + "integrity": "sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==", "dev": true, "dependencies": { - "yallist": "^4.0.0" + "@types/babel__traverse": "^7.0.6" }, "engines": { - "node": ">=10" + "node": ">= 6" } }, - "node_modules/npm-install-checks/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "node_modules/jest-electron/node_modules/babel-preset-jest": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz", + "integrity": "sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "babel-plugin-jest-hoist": "^24.9.0" }, "engines": { - "node": ">=10" + "node": ">= 6" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/npm-install-checks/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "node_modules/jest-electron/node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/jest-electron/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", "dev": true }, - "node_modules/npm-lifecycle": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-3.1.5.tgz", - "integrity": "sha512-lDLVkjfZmvmfvpvBzA4vzee9cn+Me4orq0QF8glbswJVEbIcSNWib7qGOffolysc3teCqbbPZZkzbr3GQZTL1g==", + "node_modules/jest-electron/node_modules/cssstyle": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", + "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", "dev": true, "dependencies": { - "byline": "^5.0.0", - "graceful-fs": "^4.1.15", - "node-gyp": "^5.0.2", - "resolve-from": "^4.0.0", - "slide": "^1.1.6", - "uid-number": "0.0.6", - "umask": "^1.1.0", - "which": "^1.3.1" + "cssom": "0.3.x" } }, - "node_modules/npm-lifecycle/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "node_modules/jest-electron/node_modules/data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", "dev": true, "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" } }, - "node_modules/npm-normalize-package-bin": { + "node_modules/jest-electron/node_modules/data-urls/node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/jest-electron/node_modules/detect-newline": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", + "integrity": "sha512-CwffZFvlJffUg9zZA0uqrjQayUTC8ob94pnr5sFwaVv3IOmkfUHcWH+jXaQK3askE51Cqe8/9Ql/0uXNwqZ8Zg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-electron/node_modules/diff-sequences": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", + "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-electron/node_modules/domexception": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", - "dev": true + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "dev": true, + "dependencies": { + "webidl-conversions": "^4.0.2" + } }, - "node_modules/npm-packlist": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-2.2.2.tgz", - "integrity": "sha512-Jt01acDvJRhJGthnUJVF/w6gumWOZxO7IkpY/lsX9//zqQgnF7OJaxgQXcerd4uQOLu7W5bkb4mChL9mdfm+Zg==", + "node_modules/jest-electron/node_modules/electron": { + "version": "11.5.0", + "resolved": "https://registry.npmjs.org/electron/-/electron-11.5.0.tgz", + "integrity": "sha512-WjNDd6lGpxyiNjE3LhnFCAk/D9GIj1rU3GSDealVShhkkkPR3Vh4q8ErXGDl1OAO/faomVa10KoFPUN/pLbNxg==", "dev": true, + "hasInstallScript": true, "dependencies": { - "glob": "^7.1.6", - "ignore-walk": "^3.0.3", - "npm-bundled": "^1.1.1", - "npm-normalize-package-bin": "^1.0.1" + "@electron/get": "^1.0.1", + "@types/node": "^12.0.12", + "extract-zip": "^1.0.3" }, "bin": { - "npm-packlist": "bin/index.js" + "electron": "cli.js" }, "engines": { - "node": ">=10" + "node": ">= 8.6" } }, - "node_modules/npm-pick-manifest": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz", - "integrity": "sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==", + "node_modules/jest-electron/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, - "dependencies": { - "npm-install-checks": "^4.0.0", - "npm-normalize-package-bin": "^1.0.1", - "npm-package-arg": "^8.1.2", - "semver": "^7.3.4" + "engines": { + "node": ">=8" } }, - "node_modules/npm-pick-manifest/node_modules/hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "node_modules/jest-electron/node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" }, "engines": { - "node": ">=10" + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" } }, - "node_modules/npm-pick-manifest/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/jest-electron/node_modules/expect": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz", + "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==", "dev": true, "dependencies": { - "yallist": "^4.0.0" + "@jest/types": "^24.9.0", + "ansi-styles": "^3.2.0", + "jest-get-type": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-regex-util": "^24.9.0" }, "engines": { - "node": ">=10" + "node": ">= 6" } }, - "node_modules/npm-pick-manifest/node_modules/npm-package-arg": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", - "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "node_modules/jest-electron/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "dependencies": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" + "locate-path": "^3.0.0" }, "engines": { - "node": ">=10" + "node": ">=6" } }, - "node_modules/npm-pick-manifest/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "node_modules/jest-electron/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "bindings": "^1.5.0", + "nan": "^2.12.1" }, "engines": { - "node": ">=10" + "node": ">= 4.0" } }, - "node_modules/npm-pick-manifest/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "node_modules/jest-electron/node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } }, - "node_modules/npm-registry-fetch": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-9.0.0.tgz", - "integrity": "sha512-PuFYYtnQ8IyVl6ib9d3PepeehcUeHN9IO5N/iCRhyg9tStQcqGQBRVHmfmMWPDERU3KwZoHFvbJ4FPXPspvzbA==", + "node_modules/jest-electron/node_modules/html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", "dev": true, "dependencies": { - "@npmcli/ci-detect": "^1.0.0", - "lru-cache": "^6.0.0", - "make-fetch-happen": "^8.0.9", - "minipass": "^3.1.3", - "minipass-fetch": "^1.3.0", - "minipass-json-stream": "^1.0.1", - "minizlib": "^2.0.0", - "npm-package-arg": "^8.0.0" - }, + "whatwg-encoding": "^1.0.1" + } + }, + "node_modules/jest-electron/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true, "engines": { - "node": ">=10" + "node": ">=4" } }, - "node_modules/npm-registry-fetch/node_modules/hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "node_modules/jest-electron/node_modules/istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-electron/node_modules/istanbul-lib-instrument": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", + "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" + "@babel/generator": "^7.4.0", + "@babel/parser": "^7.4.3", + "@babel/template": "^7.4.0", + "@babel/traverse": "^7.4.3", + "@babel/types": "^7.4.0", + "istanbul-lib-coverage": "^2.0.5", + "semver": "^6.0.0" }, "engines": { - "node": ">=10" + "node": ">=6" } }, - "node_modules/npm-registry-fetch/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/jest-electron/node_modules/jest-config": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.9.0.tgz", + "integrity": "sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==", "dev": true, "dependencies": { - "yallist": "^4.0.0" + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^24.9.0", + "@jest/types": "^24.9.0", + "babel-jest": "^24.9.0", + "chalk": "^2.0.1", + "glob": "^7.1.1", + "jest-environment-jsdom": "^24.9.0", + "jest-environment-node": "^24.9.0", + "jest-get-type": "^24.9.0", + "jest-jasmine2": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-resolve": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "micromatch": "^3.1.10", + "pretty-format": "^24.9.0", + "realpath-native": "^1.1.0" }, "engines": { - "node": ">=10" + "node": ">= 6" } }, - "node_modules/npm-registry-fetch/node_modules/npm-package-arg": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", - "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "node_modules/jest-electron/node_modules/jest-diff": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", + "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", "dev": true, "dependencies": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" + "chalk": "^2.0.1", + "diff-sequences": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" }, "engines": { - "node": ">=10" + "node": ">= 6" } }, - "node_modules/npm-registry-fetch/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "node_modules/jest-electron/node_modules/jest-docblock": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.9.0.tgz", + "integrity": "sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "detect-newline": "^2.1.0" }, "engines": { - "node": ">=10" + "node": ">= 6" } }, - "node_modules/npm-registry-fetch/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/npm-run-all": { - "version": "4.1.5", + "node_modules/jest-electron/node_modules/jest-each": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-24.9.0.tgz", + "integrity": "sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-styles": "^3.2.1", - "chalk": "^2.4.1", - "cross-spawn": "^6.0.5", - "memorystream": "^0.3.1", - "minimatch": "^3.0.4", - "pidtree": "^0.3.0", - "read-pkg": "^3.0.0", - "shell-quote": "^1.6.1", - "string.prototype.padend": "^3.0.0" - }, - "bin": { - "npm-run-all": "bin/npm-run-all/index.js", - "run-p": "bin/run-p/index.js", - "run-s": "bin/run-s/index.js" + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "jest-get-type": "^24.9.0", + "jest-util": "^24.9.0", + "pretty-format": "^24.9.0" }, "engines": { - "node": ">= 4" + "node": ">= 6" } }, - "node_modules/npm-run-all/node_modules/cross-spawn": { - "version": "6.0.5", + "node_modules/jest-electron/node_modules/jest-environment-jsdom": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz", + "integrity": "sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==", "dev": true, - "license": "MIT", "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "@jest/environment": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0", + "jest-util": "^24.9.0", + "jsdom": "^11.5.1" }, "engines": { - "node": ">=4.8" + "node": ">= 6" } }, - "node_modules/npm-run-path": { - "version": "2.0.2", + "node_modules/jest-electron/node_modules/jest-environment-node": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz", + "integrity": "sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==", "dev": true, - "license": "MIT", "dependencies": { - "path-key": "^2.0.0" + "@jest/environment": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0", + "jest-util": "^24.9.0" }, "engines": { - "node": ">=4" + "node": ">= 6" } }, - "node_modules/npmlog": { - "version": "4.1.2", + "node_modules/jest-electron/node_modules/jest-get-type": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", + "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", "dev": true, - "license": "ISC", - "dependencies": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "engines": { + "node": ">= 6" } }, - "node_modules/number-is-nan": { - "version": "1.0.1", + "node_modules/jest-electron/node_modules/jest-haste-map": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz", + "integrity": "sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==", "dev": true, - "license": "MIT", + "dependencies": { + "@jest/types": "^24.9.0", + "anymatch": "^2.0.0", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.1.15", + "invariant": "^2.2.4", + "jest-serializer": "^24.9.0", + "jest-util": "^24.9.0", + "jest-worker": "^24.9.0", + "micromatch": "^3.1.10", + "sane": "^4.0.3", + "walker": "^1.0.7" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" } }, - "node_modules/nyc": { - "version": "15.1.0", + "node_modules/jest-electron/node_modules/jest-jasmine2": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz", + "integrity": "sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw==", "dev": true, - "license": "ISC", "dependencies": { - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "caching-transform": "^4.0.0", - "convert-source-map": "^1.7.0", - "decamelize": "^1.2.0", - "find-cache-dir": "^3.2.0", - "find-up": "^4.1.0", - "foreground-child": "^2.0.0", - "get-package-type": "^0.1.0", - "glob": "^7.1.6", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-hook": "^3.0.0", - "istanbul-lib-instrument": "^4.0.0", - "istanbul-lib-processinfo": "^2.0.2", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "make-dir": "^3.0.0", - "node-preload": "^0.2.1", - "p-map": "^3.0.0", - "process-on-spawn": "^1.0.0", - "resolve-from": "^5.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "spawn-wrap": "^2.0.0", - "test-exclude": "^6.0.0", - "yargs": "^15.0.2" - }, - "bin": { - "nyc": "bin/nyc.js" + "@babel/traverse": "^7.1.0", + "@jest/environment": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "co": "^4.6.0", + "expect": "^24.9.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-snapshot": "^24.9.0", + "jest-util": "^24.9.0", + "pretty-format": "^24.9.0", + "throat": "^4.0.0" }, "engines": { - "node": ">=8.9" + "node": ">= 6" } }, - "node_modules/nyc/node_modules/make-dir": { - "version": "3.1.0", + "node_modules/jest-electron/node_modules/jest-jasmine2/node_modules/throat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", + "integrity": "sha512-wCVxLDcFxw7ujDxaeJC6nfl2XfHJNYs8yUYJnvMgtPEFlttP9tHSfRUv2vBe6C4hkVFPWoP1P6ZccbYjmSEkKA==", + "dev": true + }, + "node_modules/jest-electron/node_modules/jest-leak-detector": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz", + "integrity": "sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA==", "dev": true, - "license": "MIT", "dependencies": { - "semver": "^6.0.0" + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" }, "engines": { - "node": ">=8" + "node": ">= 6" + } + }, + "node_modules/jest-electron/node_modules/jest-matcher-utils": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", + "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", + "dev": true, + "dependencies": { + "chalk": "^2.0.1", + "jest-diff": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 6" } }, - "node_modules/nyc/node_modules/p-map": { - "version": "3.0.0", + "node_modules/jest-electron/node_modules/jest-message-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", + "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", "dev": true, - "license": "MIT", "dependencies": { - "aggregate-error": "^3.0.0" + "@babel/code-frame": "^7.0.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^2.0.1", + "micromatch": "^3.1.10", + "slash": "^2.0.0", + "stack-utils": "^1.0.1" }, "engines": { - "node": ">=8" + "node": ">= 6" } }, - "node_modules/nyc/node_modules/resolve-from": { - "version": "5.0.0", + "node_modules/jest-electron/node_modules/jest-regex-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", + "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==", "dev": true, - "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 6" } }, - "node_modules/nyc/node_modules/rimraf": { - "version": "3.0.2", + "node_modules/jest-electron/node_modules/jest-resolve": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz", + "integrity": "sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==", "dev": true, - "license": "ISC", "dependencies": { - "glob": "^7.1.3" + "@jest/types": "^24.9.0", + "browser-resolve": "^1.11.3", + "chalk": "^2.0.1", + "jest-pnp-resolver": "^1.2.1", + "realpath-native": "^1.1.0" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-electron/node_modules/jest-runner": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-24.9.0.tgz", + "integrity": "sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg==", + "dev": true, + "dependencies": { + "@jest/console": "^24.7.1", + "@jest/environment": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.4.2", + "exit": "^0.1.2", + "graceful-fs": "^4.1.15", + "jest-config": "^24.9.0", + "jest-docblock": "^24.3.0", + "jest-haste-map": "^24.9.0", + "jest-jasmine2": "^24.9.0", + "jest-leak-detector": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-resolve": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-util": "^24.9.0", + "jest-worker": "^24.6.0", + "source-map-support": "^0.5.6", + "throat": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">= 6" } }, - "node_modules/nyc/node_modules/semver": { - "version": "6.3.0", + "node_modules/jest-electron/node_modules/jest-runner/node_modules/throat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", + "integrity": "sha512-wCVxLDcFxw7ujDxaeJC6nfl2XfHJNYs8yUYJnvMgtPEFlttP9tHSfRUv2vBe6C4hkVFPWoP1P6ZccbYjmSEkKA==", + "dev": true + }, + "node_modules/jest-electron/node_modules/jest-runtime": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.9.0.tgz", + "integrity": "sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==", "dev": true, - "license": "ISC", + "dependencies": { + "@jest/console": "^24.7.1", + "@jest/environment": "^24.9.0", + "@jest/source-map": "^24.3.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/yargs": "^13.0.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.1.15", + "jest-config": "^24.9.0", + "jest-haste-map": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-mock": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-resolve": "^24.9.0", + "jest-snapshot": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "realpath-native": "^1.1.0", + "slash": "^2.0.0", + "strip-bom": "^3.0.0", + "yargs": "^13.3.0" + }, "bin": { - "semver": "bin/semver.js" + "jest-runtime": "bin/jest-runtime.js" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "node_modules/jest-electron/node_modules/jest-serializer": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz", + "integrity": "sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==", "dev": true, "engines": { - "node": "*" + "node": ">= 6" } }, - "node_modules/object-assign": { - "version": "4.1.1", - "license": "MIT", + "node_modules/jest-electron/node_modules/jest-snapshot": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.9.0.tgz", + "integrity": "sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "expect": "^24.9.0", + "jest-diff": "^24.9.0", + "jest-get-type": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-resolve": "^24.9.0", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^24.9.0", + "semver": "^6.2.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/object-copy": { - "version": "0.1.0", + "node_modules/jest-electron/node_modules/jest-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz", + "integrity": "sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==", "dev": true, - "license": "MIT", "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "@jest/console": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/source-map": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "callsites": "^3.0.0", + "chalk": "^2.0.1", + "graceful-fs": "^4.1.15", + "is-ci": "^2.0.0", + "mkdirp": "^0.5.1", + "slash": "^2.0.0", + "source-map": "^0.6.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", + "node_modules/jest-electron/node_modules/jest-validate": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz", + "integrity": "sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==", "dev": true, - "license": "MIT", "dependencies": { - "is-descriptor": "^0.1.0" + "@jest/types": "^24.9.0", + "camelcase": "^5.3.1", + "chalk": "^2.0.1", + "jest-get-type": "^24.9.0", + "leven": "^3.1.0", + "pretty-format": "^24.9.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/object-inspect": { - "version": "1.11.0", + "node_modules/jest-electron/node_modules/jest-worker": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", + "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "dependencies": { + "merge-stream": "^2.0.0", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/object-keys": { - "version": "1.1.1", + "node_modules/jest-electron/node_modules/jsdom": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", + "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", + "dev": true, + "dependencies": { + "abab": "^2.0.0", + "acorn": "^5.5.3", + "acorn-globals": "^4.1.0", + "array-equal": "^1.0.0", + "cssom": ">= 0.3.2 < 0.4.0", + "cssstyle": "^1.0.0", + "data-urls": "^1.0.0", + "domexception": "^1.0.1", + "escodegen": "^1.9.1", + "html-encoding-sniffer": "^1.0.2", + "left-pad": "^1.3.0", + "nwsapi": "^2.0.7", + "parse5": "4.0.0", + "pn": "^1.1.0", + "request": "^2.87.0", + "request-promise-native": "^1.0.5", + "sax": "^1.2.4", + "symbol-tree": "^3.2.2", + "tough-cookie": "^2.3.4", + "w3c-hr-time": "^1.0.1", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.3", + "whatwg-mimetype": "^2.1.0", + "whatwg-url": "^6.4.1", + "ws": "^5.2.0", + "xml-name-validator": "^3.0.0" + } + }, + "node_modules/jest-electron/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", "dev": true, - "license": "MIT", + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, "engines": { - "node": ">= 0.4" + "node": ">= 0.8.0" } }, - "node_modules/object-visit": { - "version": "1.0.1", + "node_modules/jest-electron/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, - "license": "MIT", "dependencies": { - "isobject": "^3.0.0" + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/object.assign": { - "version": "4.1.2", + "node_modules/jest-electron/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", "dev": true, - "license": "MIT", "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" + "remove-trailing-separator": "^1.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/object.fromentries": { - "version": "2.0.3", + "node_modules/jest-electron/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", "dev": true, - "license": "MIT", "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "has": "^1.0.3" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.8.0" } }, - "node_modules/object.getownpropertydescriptors": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz", - "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==", + "node_modules/jest-electron/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" + "p-try": "^2.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">=6" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/object.pick": { - "version": "1.3.0", + "node_modules/jest-electron/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, - "license": "MIT", "dependencies": { - "isobject": "^3.0.1" + "p-limit": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/once": { - "version": "1.4.0", + "node_modules/jest-electron/node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-electron/node_modules/parse5": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", + "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", + "dev": true + }, + "node_modules/jest-electron/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/jest-electron/node_modules/pretty-format": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", + "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", "dev": true, - "license": "ISC", "dependencies": { - "wrappy": "1" + "@jest/types": "^24.9.0", + "ansi-regex": "^4.0.0", + "ansi-styles": "^3.2.0", + "react-is": "^16.8.4" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "node_modules/jest-electron/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "node_modules/jest-electron/node_modules/read-pkg-up": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", + "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", "dev": true, "dependencies": { - "mimic-fn": "^2.1.0" + "find-up": "^3.0.0", + "read-pkg": "^3.0.0" }, "engines": { "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/onetime/node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "node_modules/jest-electron/node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "node_modules/jest-electron/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/jest-electron/node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", "dev": true, "engines": { "node": ">=6" } }, - "node_modules/open-sans-fonts": { - "version": "1.6.2", + "node_modules/jest-electron/node_modules/stack-utils": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", "dev": true, - "license": "Apache-2.0" + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/optionator": { - "version": "0.9.1", + "node_modules/jest-electron/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, - "license": "MIT", "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=6" } }, - "node_modules/os-homedir": { - "version": "1.0.2", + "node_modules/jest-electron/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, - "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/os-locale": { - "version": "2.1.0", + "node_modules/jest-electron/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", "dev": true, - "license": "MIT", "dependencies": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "has-flag": "^3.0.0" }, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/os-locale/node_modules/execa": { - "version": "0.7.0", + "node_modules/jest-electron/node_modules/test-exclude": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", + "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", "dev": true, - "license": "MIT", "dependencies": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "glob": "^7.1.3", + "minimatch": "^3.0.4", + "read-pkg-up": "^4.0.0", + "require-main-filename": "^2.0.0" }, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/os-shim": { - "version": "0.1.3", + "node_modules/jest-electron/node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", "dev": true, - "engines": { - "node": ">= 0.4.0" + "dependencies": { + "punycode": "^2.1.0" } }, - "node_modules/os-tmpdir": { - "version": "1.0.2", + "node_modules/jest-electron/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", "dev": true, - "license": "MIT", + "dependencies": { + "prelude-ls": "~1.1.2" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8.0" } }, - "node_modules/osenv": { - "version": "0.1.5", + "node_modules/jest-electron/node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "node_modules/jest-electron/node_modules/whatwg-url": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", + "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", "dev": true, - "license": "ISC", "dependencies": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" } }, - "node_modules/p-cancelable": { - "version": "1.1.0", + "node_modules/jest-electron/node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", "dev": true, - "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, "engines": { "node": ">=6" } }, - "node_modules/p-finally": { - "version": "1.0.0", + "node_modules/jest-electron/node_modules/write-file-atomic": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz", + "integrity": "sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==", "dev": true, - "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "node_modules/jest-electron/node_modules/ws": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.3.tgz", + "integrity": "sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA==", + "dev": true, + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/jest-electron/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "node_modules/jest-electron/node_modules/yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "dependencies": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "node_modules/jest-electron/node_modules/yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz", + "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==", + "dev": true, + "dependencies": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2", + "jsdom": "^16.4.0" + }, "engines": { - "node": ">=4" + "node": ">= 10.14.2" } }, - "node_modules/p-limit": { - "version": "1.3.0", + "node_modules/jest-environment-jsdom/node_modules/jest-mock": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", + "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", "dev": true, - "license": "MIT", "dependencies": { - "p-try": "^1.0.0" + "@jest/types": "^26.6.2", + "@types/node": "*" }, "engines": { - "node": ">=4" + "node": ">= 10.14.2" } }, - "node_modules/p-locate": { - "version": "2.0.0", + "node_modules/jest-environment-node": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz", + "integrity": "sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==", "dev": true, - "license": "MIT", "dependencies": { - "p-limit": "^1.1.0" + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" }, "engines": { - "node": ">=4" + "node": ">= 10.14.2" } }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "node_modules/jest-environment-node/node_modules/jest-mock": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", + "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", "dev": true, "dependencies": { - "aggregate-error": "^3.0.0" + "@jest/types": "^26.6.2", + "@types/node": "*" }, "engines": { - "node": ">=10" + "node": ">= 10.14.2" + } + }, + "node_modules/jest-extended": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/jest-extended/-/jest-extended-1.2.1.tgz", + "integrity": "sha512-eKZR5iDpyTkcDesj16FpIPnjAWQNUB81ZFQW08EIddM6iqO7DjRIi39td9qol+1dpJS4Mqr9Qzp8ZMhanbSeug==", + "dev": true, + "dependencies": { + "expect": "^26.6.2", + "jest-diff": "^27.2.5", + "jest-get-type": "^27.0.6", + "jest-matcher-utils": "^27.2.4" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/p-map-series": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map-series/-/p-map-series-2.1.0.tgz", - "integrity": "sha512-RpYIIK1zXSNEOdwxcfe7FdvGcs7+y5n8rifMhMNWvaxRNMPINJHF5GDeuVxWqnfrcHPSCnp7Oo5yNXHId9Av2Q==", + "node_modules/jest-extended/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "engines": { "node": ">=8" } }, - "node_modules/p-pipe": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz", - "integrity": "sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw==", + "node_modules/jest-extended/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/p-queue": { - "version": "6.6.2", - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz", - "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", + "node_modules/jest-extended/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "eventemitter3": "^4.0.4", - "p-timeout": "^3.2.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/p-queue/node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true + "node_modules/jest-extended/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } }, - "node_modules/p-reduce": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-2.1.0.tgz", - "integrity": "sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==", + "node_modules/jest-extended/node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-extended/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { "node": ">=8" } }, - "node_modules/p-timeout": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", - "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", + "node_modules/jest-extended/node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", "dev": true, "dependencies": { - "p-finally": "^1.0.0" + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" }, "engines": { - "node": ">=8" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/p-try": { - "version": "1.0.0", + "node_modules/jest-extended/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", "dev": true, - "license": "MIT", "engines": { - "node": ">=4" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/p-waterfall": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/p-waterfall/-/p-waterfall-2.1.1.tgz", - "integrity": "sha512-RRTnDb2TBG/epPRI2yYXsimO0v3BXC8Yd3ogr1545IaqKK17VGhbWVeGGN+XfCm/08OK8635nH31c8bATkHuSw==", + "node_modules/jest-extended/node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dev": true, "dependencies": { - "p-reduce": "^2.0.0" + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" }, "engines": { - "node": ">=8" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-extended/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/package-hash": { - "version": "4.0.0", + "node_modules/jest-extended/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "ISC", "dependencies": { - "graceful-fs": "^4.1.15", - "hasha": "^5.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" + "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/pacote": { - "version": "11.3.5", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-11.3.5.tgz", - "integrity": "sha512-fT375Yczn4zi+6Hkk2TBe1x1sP8FgFsEIZ2/iWaXY2r/NkhDJfxbcn5paz1+RTFCyNf+dPnaoBDJoAxXSU8Bkg==", + "node_modules/jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", + "dev": true, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-haste-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", + "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", "dev": true, "dependencies": { - "@npmcli/git": "^2.1.0", - "@npmcli/installed-package-contents": "^1.0.6", - "@npmcli/promise-spawn": "^1.2.0", - "@npmcli/run-script": "^1.8.2", - "cacache": "^15.0.5", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "infer-owner": "^1.0.4", - "minipass": "^3.1.3", - "mkdirp": "^1.0.3", - "npm-package-arg": "^8.0.1", - "npm-packlist": "^2.1.4", - "npm-pick-manifest": "^6.0.0", - "npm-registry-fetch": "^11.0.0", - "promise-retry": "^2.0.1", - "read-package-json-fast": "^2.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.1.0" - }, - "bin": { - "pacote": "lib/bin.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/pacote/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "dependencies": { - "ms": "2.1.2" + "@jest/types": "^26.6.2", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^26.0.0", + "jest-serializer": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7" }, "engines": { - "node": ">=6.0" + "node": ">= 10.14.2" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "optionalDependencies": { + "fsevents": "^2.1.2" } }, - "node_modules/pacote/node_modules/hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "node_modules/jest-haste-map/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" + "fill-range": "^7.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/pacote/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/jest-haste-map/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "dependencies": { - "yallist": "^4.0.0" + "to-regex-range": "^5.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/pacote/node_modules/make-fetch-happen": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", - "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", + "node_modules/jest-haste-map/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, - "dependencies": { - "agentkeepalive": "^4.1.3", - "cacache": "^15.2.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^6.0.0", - "minipass": "^3.1.3", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.3.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.2", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^6.0.0", - "ssri": "^8.0.0" - }, "engines": { - "node": ">= 10" + "node": ">=0.12.0" } }, - "node_modules/pacote/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "node_modules/jest-haste-map/node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, "engines": { - "node": ">=10" + "node": ">=8.6" } }, - "node_modules/pacote/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/pacote/node_modules/npm-package-arg": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", - "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "node_modules/jest-haste-map/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "dependencies": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" + "is-number": "^7.0.0" }, "engines": { - "node": ">=10" + "node": ">=8.0" } }, - "node_modules/pacote/node_modules/npm-registry-fetch": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz", - "integrity": "sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA==", + "node_modules/jest-jasmine2": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz", + "integrity": "sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==", "dev": true, "dependencies": { - "make-fetch-happen": "^9.0.1", - "minipass": "^3.1.3", - "minipass-fetch": "^1.3.0", - "minipass-json-stream": "^1.0.1", - "minizlib": "^2.0.0", - "npm-package-arg": "^8.0.0" + "@babel/traverse": "^7.1.0", + "@jest/environment": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^26.6.2", + "is-generator-fn": "^2.0.0", + "jest-each": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2", + "throat": "^5.0.0" }, "engines": { - "node": ">=10" + "node": ">= 10.14.2" } }, - "node_modules/pacote/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "node_modules/jest-jasmine2/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "glob": "^7.1.3" + "color-convert": "^2.0.1" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/pacote/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "node_modules/jest-jasmine2/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/pacote/node_modules/socks-proxy-agent": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.0.tgz", - "integrity": "sha512-57e7lwCN4Tzt3mXz25VxOErJKXlPfXmkMLnk310v/jwW20jWRVcgsOit+xNkN3eIEdB47GwnfAEBLacZ/wVIKg==", + "node_modules/jest-jasmine2/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.1", - "socks": "^2.6.1" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 10" + "node": ">=7.0.0" } }, - "node_modules/pacote/node_modules/yallist": { + "node_modules/jest-jasmine2/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "node_modules/parent-module": { - "version": "1.0.1", + "node_modules/jest-jasmine2/node_modules/jest-matcher-utils": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", + "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", "dev": true, - "license": "MIT", "dependencies": { - "callsites": "^3.0.0" + "chalk": "^4.0.0", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" }, "engines": { - "node": ">=6" + "node": ">= 10.14.2" } }, - "node_modules/parent-module/node_modules/callsites": { - "version": "3.1.0", + "node_modules/jest-jasmine2/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/parse-github-url": { - "version": "1.0.2", + "node_modules/jest-leak-detector": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz", + "integrity": "sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==", "dev": true, - "license": "MIT", - "bin": { - "parse-github-url": "cli.js" + "dependencies": { + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" }, "engines": { - "node": ">=0.10.0" + "node": ">= 10.14.2" } }, - "node_modules/parse-json": { - "version": "4.0.0", + "node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", "dev": true, - "license": "MIT", "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" }, "engines": { - "node": ">=4" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/parse-passwd": { - "version": "1.0.0", + "node_modules/jest-matcher-utils/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, - "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/parse-path": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-4.0.3.tgz", - "integrity": "sha512-9Cepbp2asKnWTJ9x2kpw6Fe8y9JDbqwahGCTvklzd/cEq5C5JC59x2Xb0Kx+x0QZ8bvNquGO8/BWP0cwBHzSAA==", + "node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "is-ssh": "^1.3.0", - "protocols": "^1.4.0", - "qs": "^6.9.4", - "query-string": "^6.13.8" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/parse-url": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-6.0.0.tgz", - "integrity": "sha512-cYyojeX7yIIwuJzledIHeLUBVJ6COVLeT4eF+2P6aKVzwvgKQPndCBv3+yQ7pcWjqToYwaligxzSYNNmGoMAvw==", + "node_modules/jest-matcher-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "is-ssh": "^1.3.0", - "normalize-url": "^6.1.0", - "parse-path": "^4.0.0", - "protocols": "^1.4.0" - } - }, - "node_modules/pascalcase": { - "version": "0.1.1", - "dev": true, - "license": "MIT", + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/path-dirname": { - "version": "1.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/path-exists": { - "version": "3.0.0", + "node_modules/jest-matcher-utils/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">=4" + "node": ">=7.0.0" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", + "node_modules/jest-matcher-utils/node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", "dev": true, - "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/path-key": { - "version": "2.0.1", + "node_modules/jest-matcher-utils/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { - "node": ">=4" - } - }, - "node_modules/path-parse": { - "version": "1.0.6", - "dev": true, - "license": "MIT" - }, - "node_modules/path-to-regexp": { - "version": "1.7.0", - "dev": true, - "license": "MIT", - "dependencies": { - "isarray": "0.0.1" + "node": ">=8" } }, - "node_modules/path-type": { - "version": "3.0.0", + "node_modules/jest-matcher-utils/node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", "dev": true, - "license": "MIT", "dependencies": { - "pify": "^3.0.0" + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" }, "engines": { - "node": ">=4" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "node_modules/jest-matcher-utils/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", "dev": true, "engines": { - "node": "*" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/pend": { - "version": "1.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/perf_hooks": { - "version": "0.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/perf-regexes": { - "version": "1.0.1", + "node_modules/jest-matcher-utils/node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dev": true, - "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, "engines": { - "node": ">=6.14" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, - "node_modules/physical-cpu-count": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/physical-cpu-count/-/physical-cpu-count-2.0.0.tgz", - "integrity": "sha1-GN4vl+S/epVRrXURlCtUlverpmA=", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "node_modules/jest-matcher-utils/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "engines": { - "node": ">=8.6" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/pidtree": { - "version": "0.3.1", + "node_modules/jest-matcher-utils/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", - "bin": { - "pidtree": "bin/pidtree.js" + "dependencies": { + "has-flag": "^4.0.0" }, "engines": { - "node": ">=0.10" + "node": ">=8" } }, - "node_modules/pify": { - "version": "3.0.0", + "node_modules/jest-message-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", + "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", "dev": true, - "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.2" + }, "engines": { - "node": ">=4" + "node": ">= 10.14.2" } }, - "node_modules/pixi.js": { - "resolved": "bundles/pixi.js", - "link": true - }, - "node_modules/pixi.js-legacy": { - "resolved": "bundles/pixi.js-legacy", - "link": true - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "node_modules/jest-message-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "find-up": "^4.0.0" + "color-convert": "^2.0.1" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/pkg-up": { - "version": "3.1.0", + "node_modules/jest-message-util/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, - "license": "MIT", "dependencies": { - "find-up": "^3.0.0" + "fill-range": "^7.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/pkg-up/node_modules/find-up": { - "version": "3.0.0", + "node_modules/jest-message-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { - "locate-path": "^3.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/pkg-up/node_modules/locate-path": { - "version": "3.0.0", + "node_modules/jest-message-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=6" + "node": ">=7.0.0" } }, - "node_modules/pkg-up/node_modules/p-limit": { - "version": "2.3.0", + "node_modules/jest-message-util/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, - "license": "MIT", "dependencies": { - "p-try": "^2.0.0" + "to-regex-range": "^5.0.1" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/pkg-up/node_modules/p-locate": { - "version": "3.0.0", + "node_modules/jest-message-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.0.0" - }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/pkg-up/node_modules/p-try": { - "version": "2.2.0", + "node_modules/jest-message-util/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, - "license": "MIT", "engines": { - "node": ">=6" + "node": ">=0.12.0" } }, - "node_modules/posix-character-classes": { - "version": "0.1.1", + "node_modules/jest-message-util/node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, - "license": "MIT", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8.6" } }, - "node_modules/pre-commit": { - "version": "1.2.2", + "node_modules/jest-message-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "hasInstallScript": true, - "license": "MIT", "dependencies": { - "cross-spawn": "^5.0.1", - "spawn-sync": "^1.0.15", - "which": "1.2.x" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/pre-commit/node_modules/which": { - "version": "1.2.14", + "node_modules/jest-message-util/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, - "license": "ISC", "dependencies": { - "isexe": "^2.0.0" + "is-number": "^7.0.0" }, - "bin": { - "which": "bin/which" + "engines": { + "node": ">=8.0" } }, - "node_modules/prelude-ls": { - "version": "1.2.1", + "node_modules/jest-mock": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz", + "integrity": "sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==", "dev": true, - "license": "MIT", + "dependencies": { + "@jest/types": "^24.9.0" + }, "engines": { - "node": ">= 0.8.0" + "node": ">= 6" } }, - "node_modules/prepend-http": { - "version": "2.0.0", + "node_modules/jest-mock/node_modules/@jest/types": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", + "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", "dev": true, - "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^13.0.0" + }, "engines": { - "node": ">=4" + "node": ">= 6" } }, - "node_modules/process-nextick-args": { - "version": "2.0.0", + "node_modules/jest-mock/node_modules/@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", "dev": true, - "license": "MIT" + "dependencies": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } }, - "node_modules/process-on-spawn": { - "version": "1.0.0", + "node_modules/jest-mock/node_modules/@types/yargs": { + "version": "13.0.12", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.12.tgz", + "integrity": "sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ==", "dev": true, - "license": "MIT", "dependencies": { - "fromentries": "^1.2.0" - }, - "engines": { - "node": ">=8" + "@types/yargs-parser": "*" } }, - "node_modules/progress": { - "version": "2.0.3", + "node_modules/jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", "dev": true, - "license": "MIT", "engines": { - "node": ">=0.4.0" + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } } }, - "node_modules/promise-inflight": { + "node_modules/jest-raw-loader": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "resolved": "https://registry.npmjs.org/jest-raw-loader/-/jest-raw-loader-1.0.1.tgz", + "integrity": "sha512-g9oaAjeC4/rIJk1Wd3RxVbOfMizowM7LSjEJqa4R9qDX0OjQNABXOhH+GaznUp+DjTGVPi2vPPbQXyX87DOnYg==", "dev": true }, - "node_modules/promise-polyfill": { - "version": "8.2.0", - "license": "MIT" + "node_modules/jest-regex-util": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", + "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", + "dev": true, + "engines": { + "node": ">= 10.14.2" + } }, - "node_modules/promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "node_modules/jest-resolve": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", + "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", "dev": true, "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.2", + "read-pkg-up": "^7.0.1", + "resolve": "^1.18.1", + "slash": "^3.0.0" }, "engines": { - "node": ">=10" + "node": ">= 10.14.2" } }, - "node_modules/promzard": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz", - "integrity": "sha1-JqXW7ox97kyxIggwWs+5O6OCqe4=", + "node_modules/jest-resolve-dependencies": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz", + "integrity": "sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==", "dev": true, "dependencies": { - "read": "1" + "@jest/types": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-snapshot": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" } }, - "node_modules/proto-list": { - "version": "1.2.4", - "dev": true, - "license": "ISC" - }, - "node_modules/protocols": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/protocols/-/protocols-1.4.8.tgz", - "integrity": "sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg==", - "dev": true - }, - "node_modules/pseudomap": { - "version": "1.0.2", + "node_modules/jest-resolve/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "ISC" - }, - "node_modules/psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "node_modules/pump": { - "version": "3.0.0", + "node_modules/jest-resolve/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/punycode": { - "version": "2.1.1", + "node_modules/jest-resolve/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">=6" + "node": ">=7.0.0" } }, - "node_modules/q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "node_modules/jest-resolve/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" + "node": ">=8" } }, - "node_modules/qs": { - "version": "6.10.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz", - "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==", + "node_modules/jest-resolve/node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "dependencies": { - "side-channel": "^1.0.4" + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" }, "engines": { - "node": ">=0.6" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/query-string": { - "version": "6.14.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz", - "integrity": "sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==", + "node_modules/jest-resolve/node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", "dev": true, "dependencies": { - "decode-uri-component": "^0.2.0", - "filter-obj": "^1.1.0", - "split-on-first": "^1.0.0", - "strict-uri-encode": "^2.0.0" + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/querystring": { - "version": "0.2.0", + "node_modules/jest-resolve/node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, "engines": { - "node": ">=0.4.x" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "node_modules/jest-resolve/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", "dev": true, "engines": { "node": ">=8" } }, - "node_modules/randombytes": { - "version": "2.1.0", + "node_modules/jest-resolve/node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", "dev": true, - "license": "MIT", "dependencies": { - "safe-buffer": "^5.1.0" + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/read": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", - "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", + "node_modules/jest-resolve/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "mute-stream": "~0.0.4" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=0.8" + "node": ">=8" } }, - "node_modules/read-cmd-shim": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-2.0.0.tgz", - "integrity": "sha512-HJpV9bQpkl6KwjxlJcBoqu9Ba0PQg8TqSNIOrulGt54a0uup0HtevreFHzYzkm0lpnleRdNBzXznKrgxglEHQw==", - "dev": true - }, - "node_modules/read-package-json": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-3.0.1.tgz", - "integrity": "sha512-aLcPqxovhJTVJcsnROuuzQvv6oziQx4zd3JvG0vGCL5MjTONUc4uJ90zCBC6R7W7oUKBNoR/F8pkyfVwlbxqng==", + "node_modules/jest-runner": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz", + "integrity": "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==", "dev": true, "dependencies": { - "glob": "^7.1.1", - "json-parse-even-better-errors": "^2.3.0", - "normalize-package-data": "^3.0.0", - "npm-normalize-package-bin": "^1.0.0" + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.7.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-docblock": "^26.0.0", + "jest-haste-map": "^26.6.2", + "jest-leak-detector": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "source-map-support": "^0.5.6", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-runner/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/read-package-json-fast": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz", - "integrity": "sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==", + "node_modules/jest-runner/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "json-parse-even-better-errors": "^2.3.0", - "npm-normalize-package-bin": "^1.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/read-package-json/node_modules/hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "node_modules/jest-runner/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=10" + "node": ">=7.0.0" } }, - "node_modules/read-package-json/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/jest-runner/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/read-package-json/node_modules/normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "node_modules/jest-runner/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/read-package-json/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "node_modules/jest-runtime": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz", + "integrity": "sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/globals": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0", + "cjs-module-lexer": "^0.6.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^15.4.1" }, "bin": { - "semver": "bin/semver.js" + "jest-runtime": "bin/jest-runtime.js" }, "engines": { - "node": ">=10" + "node": ">= 10.14.2" } }, - "node_modules/read-package-json/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/read-package-tree": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.3.1.tgz", - "integrity": "sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw==", + "node_modules/jest-runtime/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "read-package-json": "^2.0.0", - "readdir-scoped-modules": "^1.0.0", - "util-promisify": "^2.1.0" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/read-package-tree/node_modules/read-package-json": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.2.tgz", - "integrity": "sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA==", + "node_modules/jest-runtime/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "glob": "^7.1.1", - "json-parse-even-better-errors": "^2.3.0", - "normalize-package-data": "^2.0.0", - "npm-normalize-package-bin": "^1.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "node_modules/jest-runtime/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=4" + "node": ">=7.0.0" } }, - "node_modules/read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "node_modules/jest-runtime/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "dependencies": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" - }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "node_modules/jest-runtime/node_modules/jest-mock": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", + "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", "dev": true, "dependencies": { - "locate-path": "^2.0.0" + "@jest/types": "^26.6.2", + "@types/node": "*" }, "engines": { - "node": ">=4" + "node": ">= 10.14.2" } }, - "node_modules/readable-stream": { - "version": "1.0.34", + "node_modules/jest-runtime/node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "engines": { + "node": ">=8" } }, - "node_modules/readdir-scoped-modules": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz", - "integrity": "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==", + "node_modules/jest-runtime/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "debuglog": "^1.0.1", - "dezalgo": "^1.0.0", - "graceful-fs": "^4.1.2", - "once": "^1.3.0" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/readdirp": { - "version": "3.5.0", + "node_modules/jest-serializer": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", + "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", "dev": true, - "license": "MIT", "dependencies": { - "picomatch": "^2.2.1" + "@types/node": "*", + "graceful-fs": "^4.2.4" }, "engines": { - "node": ">=8.10.0" + "node": ">= 10.14.2" } }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "node_modules/jest-snapshot": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz", + "integrity": "sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==", "dev": true, "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" + "@babel/types": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.0.0", + "chalk": "^4.0.0", + "expect": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-haste-map": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "natural-compare": "^1.4.0", + "pretty-format": "^26.6.2", + "semver": "^7.3.2" }, "engines": { - "node": ">=8" + "node": ">= 10.14.2" } }, - "node_modules/regenerate": { - "version": "1.4.0", + "node_modules/jest-snapshot/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT" + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "node_modules/regenerator-runtime": { - "version": "0.13.7", + "node_modules/jest-snapshot/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } }, - "node_modules/regex-not": { - "version": "1.0.2", + "node_modules/jest-snapshot/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=0.10.0" + "node": ">=7.0.0" } }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "node_modules/jest-snapshot/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" } }, - "node_modules/regjsgen": { - "version": "0.5.0", - "dev": true, - "license": "MIT" - }, - "node_modules/regjsparser": { - "version": "0.6.0", + "node_modules/jest-snapshot/node_modules/jest-matcher-utils": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", + "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "jsesc": "~0.5.0" + "chalk": "^4.0.0", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" }, - "bin": { - "regjsparser": "bin/parser" + "engines": { + "node": ">= 10.14.2" } }, - "node_modules/release-zalgo": { - "version": "1.0.0", + "node_modules/jest-snapshot/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "license": "ISC", "dependencies": { - "es6-error": "^4.0.1" + "yallist": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/repeat-element": { - "version": "1.1.2", + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "dev": true, - "license": "MIT", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/repeat-string": { - "version": "1.6.1", + "node_modules/jest-snapshot/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">=0.10" + "node": ">=8" } }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "node_modules/jest-snapshot/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/jest-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", + "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", "dev": true, "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "micromatch": "^4.0.2" }, "engines": { - "node": ">= 6" + "node": ">= 10.14.2" } }, - "node_modules/request/node_modules/qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "node_modules/jest-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=0.6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/request/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/require-directory": { - "version": "2.1.1", + "node_modules/jest-util/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, - "license": "MIT", + "dependencies": { + "fill-range": "^7.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/require-main-filename": { - "version": "1.0.1", - "dev": true, - "license": "ISC" - }, - "node_modules/resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "path-parse": "^1.0.6" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "node_modules/jest-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "resolve-from": "^5.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=8" + "node": ">=7.0.0" } }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "node_modules/jest-util/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, "engines": { "node": ">=8" } }, - "node_modules/resolve-dir": { - "version": "1.0.1", + "node_modules/jest-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", - "dependencies": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/resolve-from": { - "version": "4.0.0", + "node_modules/jest-util/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, - "license": "MIT", "engines": { - "node": ">=4" + "node": ">=0.12.0" } }, - "node_modules/resolve-url": { - "version": "0.2.1", + "node_modules/jest-util/node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, - "license": "MIT" + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } }, - "node_modules/responselike": { - "version": "1.0.2", + "node_modules/jest-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { - "lowercase-keys": "^1.0.0" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "node_modules/jest-util/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" + "is-number": "^7.0.0" }, "engines": { - "node": ">=8" + "node": ">=8.0" } }, - "node_modules/ret": { - "version": "0.1.15", + "node_modules/jest-validate": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", + "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", "dev": true, - "license": "MIT", + "dependencies": { + "@jest/types": "^26.6.2", + "camelcase": "^6.0.0", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "leven": "^3.1.0", + "pretty-format": "^26.6.2" + }, "engines": { - "node": ">=0.12" + "node": ">= 10.14.2" } }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">= 4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/reusify": { - "version": "1.0.4", + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, - "license": "MIT", "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/rimraf": { - "version": "2.6.3", + "node_modules/jest-validate/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "ISC", "dependencies": { - "glob": "^7.1.3" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/roarr": { - "version": "2.15.4", + "node_modules/jest-validate/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "BSD-3-Clause", - "optional": true, "dependencies": { - "boolean": "^3.0.1", - "detect-node": "^2.0.4", - "globalthis": "^1.0.1", - "json-stringify-safe": "^5.0.1", - "semver-compare": "^1.0.0", - "sprintf-js": "^1.1.2" + "color-name": "~1.1.4" }, "engines": { - "node": ">=8.0" + "node": ">=7.0.0" } }, - "node_modules/roarr/node_modules/sprintf-js": { - "version": "1.1.2", + "node_modules/jest-validate/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "BSD-3-Clause", - "optional": true + "engines": { + "node": ">=8" + } }, - "node_modules/rollup": { - "version": "2.70.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.70.1.tgz", - "integrity": "sha512-CRYsI5EuzLbXdxC6RnYhOuRdtz4bhejPMSWjsFLfVM/7w/85n2szZv6yExqUXsBdz5KT8eoubeyDUDjhLHEslA==", + "node_modules/jest-validate/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "bin": { - "rollup": "dist/bin/rollup" + "dependencies": { + "has-flag": "^4.0.0" }, "engines": { - "node": ">=10.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "node": ">=8" } }, - "node_modules/rollup-plugin-jscc": { - "version": "2.0.0", + "node_modules/jest-watcher": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.6.2.tgz", + "integrity": "sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==", "dev": true, - "license": "MIT", "dependencies": { - "@jsbits/get-package-version": "^1.0.3", - "jscc": "^1.1.1", - "rollup-pluginutils": "^2.8.2" + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^26.6.2", + "string-length": "^4.0.1" }, "engines": { - "node": ">=10.12.0" - }, - "peerDependencies": { - "rollup": ">=2" + "node": ">= 10.14.2" } }, - "node_modules/rollup-plugin-jscc/node_modules/estree-walker": { - "version": "0.6.1", - "dev": true, - "license": "MIT" - }, - "node_modules/rollup-plugin-jscc/node_modules/rollup-pluginutils": { - "version": "2.8.2", + "node_modules/jest-watcher/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { - "estree-walker": "^0.6.1" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/rollup-plugin-sourcemaps": { - "version": "0.4.2", + "node_modules/jest-watcher/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { - "rollup-pluginutils": "^2.0.1", - "source-map-resolve": "^0.5.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=4.5.0", - "npm": ">=2.15.9" + "node": ">=10" }, - "peerDependencies": { - "rollup": ">=0.31.2" + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/rollup-plugin-string": { - "version": "3.0.0", + "node_modules/jest-watcher/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { - "rollup-pluginutils": "^2.4.1" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "node_modules/rollup-plugin-terser": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", - "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "node_modules/jest-watcher/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "jest-worker": "^26.2.1", - "serialize-javascript": "^4.0.0", - "terser": "^5.0.0" - }, - "peerDependencies": { - "rollup": "^2.0.0" + "engines": { + "node": ">=8" } }, - "node_modules/rollup-plugin-typescript": { - "version": "1.0.1", + "node_modules/jest-watcher/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { - "resolve": "^1.10.0", - "rollup-pluginutils": "^2.5.0" + "has-flag": "^4.0.0" }, - "peerDependencies": { - "tslib": "*", - "typescript": ">=2.1.0" + "engines": { + "node": ">=8" } }, - "node_modules/rollup-pluginutils": { - "version": "2.6.0", + "node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", "dev": true, - "license": "MIT", "dependencies": { - "estree-walker": "^0.6.0", - "micromatch": "^3.1.10" + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" } }, - "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": ">=0.12.0" + "node": ">=8" } }, - "node_modules/run-parallel": { - "version": "1.1.10", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "node_modules/jest-worker/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "tslib": "^1.9.0" + "has-flag": "^4.0.0" }, "engines": { - "npm": ">=2.0.0" + "node": ">=8" } }, - "node_modules/safe-buffer": { - "version": "5.1.1", + "node_modules/jju": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", + "integrity": "sha1-o6vicYryQaKykE+EpiWXDzia4yo=", + "dev": true + }, + "node_modules/js-tokens": { + "version": "4.0.0", "dev": true, "license": "MIT" }, - "node_modules/safe-regex": { - "version": "1.1.0", + "node_modules/js-yaml": { + "version": "3.13.1", "dev": true, "license": "MIT", "dependencies": { - "ret": "~0.1.10" + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "dev": true, - "license": "MIT" + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true }, - "node_modules/semver": { - "version": "5.5.0", + "node_modules/jscc": { + "version": "1.1.1", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver" + "license": "MIT", + "dependencies": { + "@jsbits/escape-regex-str": "^1.0.2", + "@jsbits/get-package-version": "^1.0.2", + "magic-string": "^0.25.1", + "perf-regexes": "^1.0.1", + "skip-regex": "^1.0.2" + }, + "engines": { + "node": ">=6.0" } }, - "node_modules/semver-compare": { - "version": "1.0.0", + "node_modules/jsdoc-type-pratt-parser": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-3.0.1.tgz", + "integrity": "sha512-vqMCdAFVIiFhVgBYE/X8naf3L/7qiJsaYWTfUJZZZ124dR3OUz9HrmaMUGpYIYAN4VSuodf6gIZY0e8ktPw9cg==", "dev": true, - "license": "MIT", - "optional": true + "engines": { + "node": ">=12.0.0" + } }, - "node_modules/serialize-error": { - "version": "7.0.1", + "node_modules/jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", "dev": true, - "license": "MIT", - "optional": true, "dependencies": { - "type-fest": "^0.13.1" + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" }, "engines": { "node": ">=10" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } } }, - "node_modules/serialize-error/node_modules/type-fest": { - "version": "0.13.1", + "node_modules/jsdom/node_modules/acorn": { + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", + "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", "dev": true, - "license": "(MIT OR CC0-1.0)", - "optional": true, - "engines": { - "node": ">=10" + "bin": { + "acorn": "bin/acorn" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=0.4.0" } }, - "node_modules/serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "node_modules/jsdom/node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", "dev": true, "dependencies": { - "randombytes": "^2.1.0" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/set-blocking": { - "version": "2.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/set-value": { - "version": "2.0.0", + "node_modules/jsdom/node_modules/tough-cookie": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", + "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", "dev": true, - "license": "MIT", "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.1.2" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/set-value/node_modules/extend-shallow": { - "version": "2.0.1", + "node_modules/jsesc": { + "version": "0.5.0", "dev": true, - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" + "bin": { + "jsesc": "bin/jsesc" } }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "node_modules/json-buffer": { + "version": "3.0.0", "dev": true, - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "node_modules/shallow-clone/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "node_modules/json-parse-better-errors": { + "version": "1.0.2", "dev": true, - "engines": { - "node": ">=0.10.0" - } + "license": "MIT" }, - "node_modules/shebang-command": { - "version": "1.2.0", + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "dev": true, + "license": "ISC" + }, + "node_modules/json5": { + "version": "2.2.0", "dev": true, "license": "MIT", "dependencies": { - "shebang-regex": "^1.0.0" + "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/shebang-regex": { - "version": "1.0.0", + "node_modules/jsonfile": { + "version": "4.0.0", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.10.0" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/shell-quote": { - "version": "1.7.2", + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", "dev": true, - "license": "MIT" + "engines": [ + "node >= 0.2.0" + ] }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "node_modules/JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "bin": { + "JSONStream": "bin.js" + }, + "engines": { + "node": "*" } }, - "node_modules/signal-exit": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz", - "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==", - "dev": true - }, - "node_modules/sinon": { - "version": "7.3.2", + "node_modules/jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "dev": true, - "license": "BSD-3-Clause", + "engines": [ + "node >=0.6.0" + ], "dependencies": { - "@sinonjs/commons": "^1.4.0", - "@sinonjs/formatio": "^3.2.1", - "@sinonjs/samsam": "^3.3.1", - "diff": "^3.5.0", - "lolex": "^4.0.1", - "nise": "^1.4.10", - "supports-color": "^5.5.0" + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" } }, - "node_modules/sinon-chai": { - "version": "3.3.0", + "node_modules/keyv": { + "version": "3.1.0", "dev": true, - "license": "(BSD-2-Clause OR WTFPL)", - "peerDependencies": { - "chai": "^4.0.0", - "sinon": ">=4.0.0 <8.0.0" + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.0" } }, - "node_modules/skip-regex": { - "version": "1.0.2", + "node_modules/kind-of": { + "version": "3.2.2", "dev": true, "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, "engines": { - "node": ">=4.2" + "node": ">=0.10.0" } }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "node_modules/klaw-sync": { + "version": "6.0.0", "dev": true, - "engines": { - "node": ">=8" + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.11" } }, - "node_modules/slice-ansi": { - "version": "2.1.0", + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - }, "engines": { "node": ">=6" } }, - "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", + "node_modules/lcid": { + "version": "1.0.0", "dev": true, "license": "MIT", + "dependencies": { + "invert-kv": "^1.0.0" + }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/slide": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", - "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", + "node_modules/left-pad": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", + "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==", + "deprecated": "use String.prototype.padStart()", + "dev": true + }, + "node_modules/lerna": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/lerna/-/lerna-4.0.0.tgz", + "integrity": "sha512-DD/i1znurfOmNJb0OBw66NmNqiM8kF6uIrzrJ0wGE3VNdzeOhz9ziWLYiRaZDGGwgbcjOo6eIfcx9O5Qynz+kg==", "dev": true, + "dependencies": { + "@lerna/add": "4.0.0", + "@lerna/bootstrap": "4.0.0", + "@lerna/changed": "4.0.0", + "@lerna/clean": "4.0.0", + "@lerna/cli": "4.0.0", + "@lerna/create": "4.0.0", + "@lerna/diff": "4.0.0", + "@lerna/exec": "4.0.0", + "@lerna/import": "4.0.0", + "@lerna/info": "4.0.0", + "@lerna/init": "4.0.0", + "@lerna/link": "4.0.0", + "@lerna/list": "4.0.0", + "@lerna/publish": "4.0.0", + "@lerna/run": "4.0.0", + "@lerna/version": "4.0.0", + "import-local": "^3.0.2", + "npmlog": "^4.1.2" + }, + "bin": { + "lerna": "cli.js" + }, "engines": { - "node": "*" + "node": ">= 10.18.0" } }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true, "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" + "node": ">=6" } }, - "node_modules/snapdragon": { - "version": "0.8.2", + "node_modules/levn": { + "version": "0.4.1", "dev": true, "license": "MIT", "dependencies": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8.0" } }, - "node_modules/snapdragon-node": { - "version": "2.1.1", + "node_modules/libnpmaccess": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/libnpmaccess/-/libnpmaccess-4.0.3.tgz", + "integrity": "sha512-sPeTSNImksm8O2b6/pf3ikv4N567ERYEpeKRPSmqlNt1dTZbvgpJIzg5vAhXHpw2ISBsELFRelk0jEahj1c6nQ==", "dev": true, - "license": "MIT", "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "aproba": "^2.0.0", + "minipass": "^3.1.1", + "npm-package-arg": "^8.1.2", + "npm-registry-fetch": "^11.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/snapdragon-node/node_modules/define-property": { - "version": "1.0.0", + "node_modules/libnpmaccess/node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "dev": true + }, + "node_modules/libnpmaccess/node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, - "license": "MIT", "dependencies": { - "is-descriptor": "^1.0.0" + "ms": "2.1.2" }, "engines": { - "node": ">=0.10.0" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { - "version": "1.0.0", + "node_modules/libnpmaccess/node_modules/hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", "dev": true, - "license": "MIT", "dependencies": { - "kind-of": "^6.0.0" + "lru-cache": "^6.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/snapdragon-node/node_modules/is-data-descriptor": { - "version": "1.0.0", + "node_modules/libnpmaccess/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "license": "MIT", "dependencies": { - "kind-of": "^6.0.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/snapdragon-node/node_modules/is-descriptor": { - "version": "1.0.2", + "node_modules/libnpmaccess/node_modules/make-fetch-happen": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", + "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", "dev": true, - "license": "MIT", "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 10" } }, - "node_modules/snapdragon-node/node_modules/kind-of": { - "version": "6.0.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } + "node_modules/libnpmaccess/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, - "node_modules/snapdragon-util": { - "version": "3.0.1", + "node_modules/libnpmaccess/node_modules/npm-package-arg": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", + "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", "dev": true, - "license": "MIT", "dependencies": { - "kind-of": "^3.2.0" + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", + "node_modules/libnpmaccess/node_modules/npm-registry-fetch": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz", + "integrity": "sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA==", "dev": true, - "license": "MIT", "dependencies": { - "is-descriptor": "^0.1.0" + "make-fetch-happen": "^9.0.1", + "minipass": "^3.1.3", + "minipass-fetch": "^1.3.0", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.0.0", + "npm-package-arg": "^8.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", + "node_modules/libnpmaccess/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, - "license": "MIT", "dependencies": { - "is-extendable": "^0.1.0" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/source-map": { - "version": "0.5.7", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/socks": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.1.tgz", - "integrity": "sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA==", + "node_modules/libnpmaccess/node_modules/socks-proxy-agent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.0.tgz", + "integrity": "sha512-57e7lwCN4Tzt3mXz25VxOErJKXlPfXmkMLnk310v/jwW20jWRVcgsOit+xNkN3eIEdB47GwnfAEBLacZ/wVIKg==", "dev": true, "dependencies": { - "ip": "^1.1.5", - "smart-buffer": "^4.1.0" + "agent-base": "^6.0.2", + "debug": "^4.3.1", + "socks": "^2.6.1" }, "engines": { - "node": ">= 10.13.0", - "npm": ">= 3.0.0" + "node": ">= 10" } }, - "node_modules/socks-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz", - "integrity": "sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==", + "node_modules/libnpmaccess/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/libnpmpublish": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/libnpmpublish/-/libnpmpublish-4.0.2.tgz", + "integrity": "sha512-+AD7A2zbVeGRCFI2aO//oUmapCwy7GHqPXFJh3qpToSRNU+tXKJ2YFUgjt04LPPAf2dlEH95s6EhIHM1J7bmOw==", "dev": true, "dependencies": { - "agent-base": "^6.0.2", - "debug": "4", - "socks": "^2.3.3" + "normalize-package-data": "^3.0.2", + "npm-package-arg": "^8.1.2", + "npm-registry-fetch": "^11.0.0", + "semver": "^7.1.3", + "ssri": "^8.0.1" }, "engines": { - "node": ">= 6" + "node": ">=10" } }, - "node_modules/socks-proxy-agent/node_modules/debug": { + "node_modules/libnpmpublish/node_modules/debug": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", @@ -17772,1995 +18080,2016 @@ } } }, - "node_modules/socks-proxy-agent/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/sort-keys": { - "version": "2.0.0", + "node_modules/libnpmpublish/node_modules/hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", "dev": true, - "license": "MIT", "dependencies": { - "is-plain-obj": "^1.0.0" + "lru-cache": "^6.0.0" }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/source-map": { - "version": "0.6.1", + "node_modules/libnpmpublish/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "license": "BSD-3-Clause", + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/source-map-resolve": { - "version": "0.5.1", + "node_modules/libnpmpublish/node_modules/make-fetch-happen": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", + "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", "dev": true, - "license": "MIT", "dependencies": { - "atob": "^2.0.0", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + }, + "engines": { + "node": ">= 10" } }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "node_modules/libnpmpublish/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/libnpmpublish/node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", "dev": true, "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" } }, - "node_modules/source-map-url": { - "version": "0.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/sourcemap-codec": { - "version": "1.4.4", - "dev": true, - "license": "MIT" - }, - "node_modules/spawn-sync": { - "version": "1.0.15", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "concat-stream": "^1.4.7", - "os-shim": "^0.1.2" - } - }, - "node_modules/spawn-wrap": { - "version": "2.0.0", + "node_modules/libnpmpublish/node_modules/npm-package-arg": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", + "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", "dev": true, - "license": "ISC", "dependencies": { - "foreground-child": "^2.0.0", - "is-windows": "^1.0.2", - "make-dir": "^3.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "which": "^2.0.1" + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/spawn-wrap/node_modules/make-dir": { - "version": "3.1.0", + "node_modules/libnpmpublish/node_modules/npm-registry-fetch": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz", + "integrity": "sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA==", "dev": true, - "license": "MIT", "dependencies": { - "semver": "^6.0.0" + "make-fetch-happen": "^9.0.1", + "minipass": "^3.1.3", + "minipass-fetch": "^1.3.0", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.0.0", + "npm-package-arg": "^8.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=10" } }, - "node_modules/spawn-wrap/node_modules/rimraf": { - "version": "3.0.2", + "node_modules/libnpmpublish/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, - "license": "ISC", "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "lru-cache": "^6.0.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/spawn-wrap/node_modules/semver": { - "version": "6.3.0", - "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/spawn-wrap/node_modules/which": { - "version": "2.0.2", + "node_modules/libnpmpublish/node_modules/socks-proxy-agent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.0.tgz", + "integrity": "sha512-57e7lwCN4Tzt3mXz25VxOErJKXlPfXmkMLnk310v/jwW20jWRVcgsOit+xNkN3eIEdB47GwnfAEBLacZ/wVIKg==", "dev": true, - "license": "ISC", "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" + "agent-base": "^6.0.2", + "debug": "^4.3.1", + "socks": "^2.6.1" }, "engines": { - "node": ">= 8" + "node": ">= 10" } }, - "node_modules/spdx-correct": { - "version": "3.1.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } + "node_modules/libnpmpublish/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, - "node_modules/spdx-exceptions": { - "version": "2.2.0", + "node_modules/lines-and-columns": { + "version": "1.1.6", "dev": true, - "license": "CC-BY-3.0" + "license": "MIT" }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "node_modules/linkify-it": { + "version": "3.0.2", "dev": true, + "license": "MIT", "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "uc.micro": "^1.0.1" } }, - "node_modules/spdx-license-ids": { - "version": "3.0.4", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/split": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", - "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "node_modules/load-json-file": { + "version": "4.0.0", "dev": true, + "license": "MIT", "dependencies": { - "through": "2" + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" }, "engines": { - "node": "*" - } - }, - "node_modules/split-on-first": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", - "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", - "dev": true, - "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/split-string": { - "version": "3.1.0", + "node_modules/locate-path": { + "version": "2.0.0", "dev": true, "license": "MIT", "dependencies": { - "extend-shallow": "^3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "node_modules/lodash": { + "version": "4.17.21", "dev": true, - "dependencies": { - "readable-stream": "^3.0.0" - } + "license": "MIT" }, - "node_modules/split2/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "node_modules/lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, + "node_modules/lodash.flow": { + "version": "3.5.0", "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } + "license": "MIT" }, - "node_modules/split2/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "node_modules/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", + "dev": true + }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", + "dev": true + }, + "node_modules/lodash.ismatch": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", + "integrity": "sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "license": "MIT" }, - "node_modules/split2/node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", + "dev": true + }, + "node_modules/lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", "dev": true, "dependencies": { - "safe-buffer": "~5.2.0" + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" } }, - "node_modules/sprintf-js": { - "version": "1.0.3", + "node_modules/lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", "dev": true, - "license": "BSD-3-Clause" + "dependencies": { + "lodash._reinterpolate": "^3.0.0" + } }, - "node_modules/sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dev": true, "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" + "js-tokens": "^3.0.0 || ^4.0.0" }, "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, + "loose-envify": "cli.js" + } + }, + "node_modules/lowercase-keys": { + "version": "1.0.1", + "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/ssri": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "node_modules/lru-cache": { + "version": "4.1.1", "dev": true, + "license": "ISC", "dependencies": { - "minipass": "^3.1.1" - }, - "engines": { - "node": ">= 8" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, - "node_modules/static-extend": { - "version": "0.1.2", + "node_modules/magic-string": { + "version": "0.25.2", "dev": true, "license": "MIT", "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" + "sourcemap-codec": "^1.4.4" } }, - "node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", + "node_modules/make-error": { + "version": "1.3.6", + "dev": true, + "license": "ISC" + }, + "node_modules/make-fetch-happen": { + "version": "8.0.14", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.14.tgz", + "integrity": "sha512-EsS89h6l4vbfJEtBZnENTOFk8mCRpY5ru36Xe5bcX1KYIli2mkSHqoFsp5O1wMDvTJJzxe/4THpCTtygjeeGWQ==", "dev": true, - "license": "MIT", "dependencies": { - "is-descriptor": "^0.1.0" + "agentkeepalive": "^4.1.3", + "cacache": "^15.0.5", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^5.0.0", + "ssri": "^8.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 10" } }, - "node_modules/strict-uri-encode": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", - "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=", + "node_modules/make-fetch-happen/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/string_decoder": { - "version": "0.10.31", + "node_modules/make-fetch-happen/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, - "license": "MIT" + "dependencies": { + "tmpl": "1.0.5" + } }, - "node_modules/string-argv": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", - "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", + "node_modules/map-cache": { + "version": "0.2.2", "dev": true, + "license": "MIT", "engines": { - "node": ">=0.6.19" + "node": ">=0.10.0" } }, - "node_modules/string-width": { - "version": "1.0.2", + "node_modules/map-obj": { + "version": "1.0.1", "dev": true, "license": "MIT", - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/string.prototype.padend": { - "version": "3.1.2", + "node_modules/map-visit": { + "version": "1.0.0", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" + "object-visit": "^1.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/string.prototype.trimend": { - "version": "1.0.4", + "node_modules/markdown-it": { + "version": "11.0.1", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" + "argparse": "^1.0.7", + "entities": "~2.0.0", + "linkify-it": "^3.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "bin": { + "markdown-it": "bin/markdown-it.js" } }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.4", + "node_modules/markdown-it-highlightjs": { + "version": "3.4.0", "dev": true, - "license": "MIT", + "license": "Unlicense", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "highlight.js": "^10.2.0", + "lodash.flow": "^3.5.0" } }, - "node_modules/strip-ansi": { - "version": "3.0.1", + "node_modules/marked": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.8.2.tgz", + "integrity": "sha512-EGwzEeCcLniFX51DhTpmTom+dSA/MG/OBUDjnWtHbEnjAH180VzUeAw+oE4+Zv+CoYBWyRlYOTR0N8SO9R1PVw==", "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^2.0.0" + "bin": { + "marked": "bin/marked" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.16.2" } }, - "node_modules/strip-bom": { + "node_modules/matcher": { "version": "3.0.0", "dev": true, "license": "MIT", + "optional": true, + "dependencies": { + "escape-string-regexp": "^4.0.0" + }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/strip-eof": { - "version": "1.0.0", + "node_modules/matcher/node_modules/escape-string-regexp": { + "version": "4.0.0", "dev": true, "license": "MIT", + "optional": true, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "node_modules/mdurl": { + "version": "1.0.1", "dev": true, - "engines": { - "node": ">=6" - } + "license": "MIT" }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "node_modules/mem": { + "version": "1.1.0", "dev": true, + "license": "MIT", "dependencies": { - "min-indent": "^1.0.0" + "mimic-fn": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/strip-json-comments": { - "version": "3.1.1", + "node_modules/memorystream": { + "version": "0.3.1", "dev": true, - "license": "MIT", "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.10.0" } }, - "node_modules/strong-log-transformer": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz", - "integrity": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==", + "node_modules/meow": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", "dev": true, "dependencies": { - "duplexer": "^0.1.1", - "minimist": "^1.2.0", - "through": "^2.3.4" - }, - "bin": { - "sl-log-transformer": "bin/sl-log-transformer.js" + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/sumchecker": { - "version": "3.0.1", + "node_modules/meow/node_modules/hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", "dev": true, - "license": "Apache-2.0", "dependencies": { - "debug": "^4.1.0" + "lru-cache": "^6.0.0" }, "engines": { - "node": ">= 8.0" + "node": ">=10" } }, - "node_modules/sumchecker/node_modules/debug": { - "version": "4.3.1", + "node_modules/meow/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "license": "MIT", "dependencies": { - "ms": "2.1.2" + "yallist": "^4.0.0" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">=10" } }, - "node_modules/sumchecker/node_modules/ms": { - "version": "2.1.2", + "node_modules/meow/node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", "dev": true, - "license": "MIT" + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } }, - "node_modules/supports-color": { - "version": "5.5.0", + "node_modules/meow/node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, - "license": "MIT", "dependencies": { - "has-flag": "^3.0.0" + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/table": { - "version": "5.4.6", + "node_modules/meow/node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=8" } }, - "node_modules/table/node_modules/ansi-regex": { - "version": "4.1.0", + "node_modules/meow/node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", "dev": true, - "license": "MIT", + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, "engines": { - "node": ">=6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/table/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", + "node_modules/meow/node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true, - "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/table/node_modules/string-width": { - "version": "3.1.0", + "node_modules/meow/node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/meow/node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, - "license": "MIT", "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, - "node_modules/table/node_modules/strip-ansi": { - "version": "5.2.0", + "node_modules/meow/node_modules/read-pkg/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" + "bin": { + "semver": "bin/semver" } }, - "node_modules/taffydb": { - "version": "2.7.3", + "node_modules/meow/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", "dev": true, - "license": "BSD-2-Clause" + "engines": { + "node": ">=8" + } }, - "node_modules/tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "node_modules/meow/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">= 10" + "node": ">=10" } }, - "node_modules/tar/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "node_modules/meow/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/tar/node_modules/yallist": { + "node_modules/meow/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "node_modules/task-graph-runner": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/task-graph-runner/-/task-graph-runner-1.0.3.tgz", - "integrity": "sha512-aC70bepv1j9jXX70nzolNvnHJvD4A3WtU4lQ1HEjgTS8rgnRXoUUq+xl9hZ1hKYXxVwElZXmUUMxpzDC6R0mRg==", + "node_modules/meow/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, - "dependencies": { - "array-includes": "^3.0.3" + "engines": { + "node": ">=10" } }, - "node_modules/temp-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", - "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=", + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, "engines": { - "node": ">=4" + "node": ">= 8" } }, - "node_modules/temp-write": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/temp-write/-/temp-write-4.0.0.tgz", - "integrity": "sha512-HIeWmj77uOOHb0QX7siN3OtwV3CTntquin6TNVg6SHOqCP3hYKmox90eeFOGaY1MqJ9WYDDjkyZrW6qS5AWpbw==", + "node_modules/micromatch": { + "version": "3.1.10", "dev": true, + "license": "MIT", "dependencies": { - "graceful-fs": "^4.1.15", - "is-stream": "^2.0.0", - "make-dir": "^3.0.0", - "temp-dir": "^1.0.0", - "uuid": "^3.3.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/temp-write/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "node_modules/micromatch/node_modules/kind-of": { + "version": "6.0.2", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/temp-write/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "node_modules/mime-db": { + "version": "1.50.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz", + "integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==", "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.6" } }, - "node_modules/temp-write/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "node_modules/mime-types": { + "version": "2.1.33", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz", + "integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "mime-db": "1.50.0" + }, + "engines": { + "node": ">= 0.6" } }, - "node_modules/terser": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.12.1.tgz", - "integrity": "sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ==", + "node_modules/mimic-fn": { + "version": "1.2.0", "dev": true, - "dependencies": { - "acorn": "^8.5.0", - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=4" } }, - "node_modules/terser/node_modules/acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "node_modules/mimic-response": { + "version": "1.0.1", "dev": true, - "bin": { - "acorn": "bin/acorn" - }, + "license": "MIT", "engines": { - "node": ">=0.4.0" + "node": ">=4" } }, - "node_modules/terser/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", "dev": true, "engines": { - "node": ">= 8" + "node": ">=4" } }, - "node_modules/test-exclude": { - "version": "6.0.0", + "node_modules/minimatch": { + "version": "3.0.4", "dev": true, "license": "ISC", "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=8" + "node": "*" } }, - "node_modules/text-extensions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", - "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", + "node_modules/minimist": { + "version": "1.2.5", + "dev": true, + "license": "MIT" + }, + "node_modules/minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", "dev": true, + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, "engines": { - "node": ">=0.10" + "node": ">= 6" } }, - "node_modules/text-table": { - "version": "0.2.0", + "node_modules/minimist-options/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/through": { - "version": "2.3.8", + "node_modules/minipass": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.5.tgz", + "integrity": "sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw==", "dev": true, - "license": "MIT" + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/through2": { - "version": "2.0.3", + "node_modules/minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", "dev": true, - "license": "MIT", "dependencies": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/through2/node_modules/isarray": { - "version": "1.0.0", + "node_modules/minipass-fetch": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", + "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", "dev": true, - "license": "MIT" + "dependencies": { + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "optionalDependencies": { + "encoding": "^0.1.12" + } }, - "node_modules/through2/node_modules/readable-stream": { - "version": "2.3.5", + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", "dev": true, - "license": "MIT", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.0.3", - "util-deprecate": "~1.0.1" + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/through2/node_modules/string_decoder": { - "version": "1.0.3", + "node_modules/minipass-json-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", + "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", "dev": true, - "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.0" + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" } }, - "node_modules/timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", - "dev": true - }, - "node_modules/tmp": { - "version": "0.0.33", + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", "dev": true, - "license": "MIT", "dependencies": { - "os-tmpdir": "~1.0.2" + "minipass": "^3.0.0" }, "engines": { - "node": ">=0.6.0" + "node": ">=8" } }, - "node_modules/to-fast-properties": { - "version": "2.0.0", + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", "dev": true, - "license": "MIT", + "dependencies": { + "minipass": "^3.0.0" + }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/to-object-path": { - "version": "0.3.0", + "node_modules/minipass/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", "dev": true, - "license": "MIT", "dependencies": { - "kind-of": "^3.0.2" + "minipass": "^3.0.0", + "yallist": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8" } }, - "node_modules/to-readable-stream": { - "version": "1.0.0", + "node_modules/minizlib/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/missionlog": { + "version": "1.6.0", "dev": true, "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.8.4", + "core-js": "^3.6.4" + }, "engines": { - "node": ">=6" + "node": ">=8.0.0" } }, - "node_modules/to-regex": { - "version": "3.0.2", + "node_modules/mixin-deep": { + "version": "1.3.1", "dev": true, "license": "MIT", "dependencies": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/to-regex-range": { - "version": "2.1.1", + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", "dev": true, "license": "MIT", "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-plain-object": "^2.0.4" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", "dev": true, "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" + "minimist": "^1.2.5" }, - "engines": { - "node": ">=0.8" + "bin": { + "mkdirp": "bin/cmd.js" } }, - "node_modules/tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "node_modules/mkdirp-infer-owner": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz", + "integrity": "sha512-sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw==", "dev": true, "dependencies": { - "punycode": "^2.1.1" + "chownr": "^2.0.0", + "infer-owner": "^1.0.4", + "mkdirp": "^1.0.3" }, "engines": { - "node": ">=8" - } - }, - "node_modules/trim-newlines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", - "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", - "dev": true, - "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/ts-node": { - "version": "9.0.0", + "node_modules/mkdirp-infer-owner/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true, - "license": "MIT", - "dependencies": { - "arg": "^4.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "source-map-support": "^0.5.17", - "yn": "3.1.1" - }, "bin": { - "ts-node": "dist/bin.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" + "mkdirp": "bin/cmd.js" }, "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "typescript": ">=2.7" + "node": ">=10" } }, - "node_modules/ts-node/node_modules/diff": { - "version": "4.0.2", + "node_modules/modify-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", + "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", "dev": true, - "license": "BSD-3-Clause", "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/tsconfig-paths": { - "version": "3.10.1", - "dev": true, - "license": "MIT", - "dependencies": { - "json5": "^2.2.0", - "minimist": "^1.2.0", - "strip-bom": "^3.0.0" + "node": ">=0.10.0" } }, - "node_modules/tslib": { - "version": "1.9.3", + "node_modules/ms": { + "version": "2.0.0", "dev": true, - "license": "Apache-2.0" + "license": "MIT" }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "node_modules/multimatch": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz", + "integrity": "sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==", "dev": true, "dependencies": { - "tslib": "^1.8.1" + "@types/minimatch": "^3.0.3", + "array-differ": "^3.0.0", + "array-union": "^2.1.0", + "arrify": "^2.0.1", + "minimatch": "^3.0.4" }, "engines": { - "node": ">= 6" + "node": ">=10" }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/tunnel": { - "version": "0.0.6", + "node_modules/multimatch/node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, - "license": "MIT", - "optional": true, "engines": { - "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + "node": ">=8" } }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "node_modules/multimatch/node_modules/arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", "dev": true, - "dependencies": { - "safe-buffer": "^5.0.1" - }, "engines": { - "node": "*" + "node": ">=8" } }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", "dev": true }, - "node_modules/type-check": { - "version": "0.4.0", + "node_modules/nan": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", + "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==", + "dev": true, + "optional": true + }, + "node_modules/nanoid": { + "version": "3.1.18", "dev": true, "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" + "bin": { + "nanoid": "bin/nanoid.cjs" }, "engines": { - "node": ">= 0.8.0" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "node_modules/nanomatch": { + "version": "1.2.13", "dev": true, + "license": "MIT", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/type-fest": { - "version": "0.8.1", + "node_modules/nanomatch/node_modules/kind-of": { + "version": "6.0.2", "dev": true, - "license": "(MIT OR CC0-1.0)", + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/typedarray": { - "version": "0.0.6", + "node_modules/natural-compare": { + "version": "1.4.0", "dev": true, "license": "MIT" }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "dev": true, - "license": "MIT", - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typescript": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.5.tgz", - "integrity": "sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==", + "node_modules/negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, "engines": { - "node": ">=4.2.0" + "node": ">= 0.6" } }, - "node_modules/uc.micro": { - "version": "1.0.6", + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/nice-try": { + "version": "1.0.5", "dev": true, "license": "MIT" }, - "node_modules/uglify-js": { - "version": "3.14.3", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.3.tgz", - "integrity": "sha512-mic3aOdiq01DuSVx0TseaEzMIVqebMZ0Z3vaeDhFEh9bsc24hV1TFvN74reA2vs08D0ZWfNjAcJ3UbVLaBss+g==", + "node_modules/node-fetch": { + "version": "2.6.1", "dev": true, - "optional": true, - "bin": { - "uglifyjs": "bin/uglifyjs" - }, + "license": "MIT", "engines": { - "node": ">=0.8.0" + "node": "4.x || >=6.0.0" } }, - "node_modules/uid-number": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", - "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=", + "node_modules/node-gyp": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-5.1.1.tgz", + "integrity": "sha512-WH0WKGi+a4i4DUt2mHnvocex/xPLp9pYt5R6M2JdFB7pJ7Z34hveZ4nDTGTiLXCkitA9T8HFZjhinBCiVHYcWw==", "dev": true, + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.2", + "mkdirp": "^0.5.1", + "nopt": "^4.0.1", + "npmlog": "^4.1.2", + "request": "^2.88.0", + "rimraf": "^2.6.3", + "semver": "^5.7.1", + "tar": "^4.4.12", + "which": "^1.3.1" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, "engines": { - "node": "*" + "node": ">= 6.0.0" } }, - "node_modules/umask": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/umask/-/umask-1.1.0.tgz", - "integrity": "sha1-8pzr8B31F5ErtY/5xOUP3o4zMg0=", + "node_modules/node-gyp/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", "dev": true }, - "node_modules/unbox-primitive": { - "version": "1.0.1", + "node_modules/node-gyp/node_modules/fs-minipass": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", "dev": true, - "license": "MIT", "dependencies": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "minipass": "^2.6.0" } }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", + "node_modules/node-gyp/node_modules/minipass": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" + "dependencies": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" } }, - "node_modules/unicode-match-property-ecmascript": { - "version": "1.0.4", + "node_modules/node-gyp/node_modules/minizlib": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", "dev": true, - "license": "MIT", "dependencies": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" - }, - "engines": { - "node": ">=4" + "minipass": "^2.9.0" } }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "1.0.4", + "node_modules/node-gyp/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/node-gyp/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" } }, - "node_modules/union-value": { - "version": "1.0.0", + "node_modules/node-gyp/node_modules/tar": { + "version": "4.4.19", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", + "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", "dev": true, - "license": "MIT", "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" + "chownr": "^1.1.4", + "fs-minipass": "^1.2.7", + "minipass": "^2.9.0", + "minizlib": "^1.3.3", + "mkdirp": "^0.5.5", + "safe-buffer": "^5.2.1", + "yallist": "^3.1.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=4.5" } }, - "node_modules/union-value/node_modules/arr-union": { - "version": "3.1.0", + "node_modules/node-gyp/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" } }, - "node_modules/union-value/node_modules/extend-shallow": { - "version": "2.0.1", + "node_modules/node-gyp/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node_modules/node-notifier": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.2.tgz", + "integrity": "sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg==", "dev": true, - "license": "MIT", + "optional": true, "dependencies": { - "is-extendable": "^0.1.0" + "growly": "^1.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.2", + "shellwords": "^0.1.1", + "uuid": "^8.3.0", + "which": "^2.0.2" + } + }, + "node_modules/node-notifier/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "optional": true, + "dependencies": { + "yallist": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/union-value/node_modules/set-value": { - "version": "0.4.3", + "node_modules/node-notifier/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "dev": true, - "license": "MIT", + "optional": true, "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "node_modules/node-notifier/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true, - "dependencies": { - "unique-slug": "^2.0.0" + "optional": true, + "bin": { + "uuid": "dist/bin/uuid" } }, - "node_modules/unique-slug": { + "node_modules/node-notifier/node_modules/which": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "optional": true, "dependencies": { - "imurmurhash": "^0.1.4" + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/universal-user-agent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", - "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", - "dev": true + "node_modules/node-notifier/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "optional": true }, - "node_modules/universalify": { - "version": "0.1.2", + "node_modules/node-releases": { + "version": "1.1.71", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4.0.0" - } + "license": "MIT" }, - "node_modules/unset-value": { - "version": "1.0.0", + "node_modules/noms": { + "version": "0.0.0", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" + "inherits": "^2.0.1", + "readable-stream": "~1.0.31" } }, - "node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", + "node_modules/nopt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", + "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", "dev": true, - "license": "MIT", "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" + "abbrev": "1", + "osenv": "^0.1.4" }, - "engines": { - "node": ">=0.10.0" + "bin": { + "nopt": "bin/nopt.js" } }, - "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", + "node_modules/normalize-package-data": { + "version": "2.5.0", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "isarray": "1.0.0" - }, - "engines": { - "node": ">=0.10.0" + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, - "node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", + "node_modules/normalize-path": { + "version": "3.0.0", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/unset-value/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/upath": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz", - "integrity": "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==", + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", "dev": true, "engines": { - "node": ">=4", - "yarn": "*" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/uri-js": { - "version": "4.2.2", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/urix": { - "version": "0.1.0", + "node_modules/npm-bundled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", + "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", "dev": true, - "license": "MIT" - }, - "node_modules/url": { - "version": "0.11.0", - "license": "MIT", "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" + "npm-normalize-package-bin": "^1.0.1" } }, - "node_modules/url-parse-lax": { - "version": "3.0.0", + "node_modules/npm-conf": { + "version": "1.1.3", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "prepend-http": "^2.0.0" + "config-chain": "^1.1.11", + "pify": "^3.0.0" }, "engines": { "node": ">=4" } }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "license": "MIT" - }, - "node_modules/use": { - "version": "3.1.1", + "node_modules/npm-install-checks": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz", + "integrity": "sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==", "dev": true, - "license": "MIT", + "dependencies": { + "semver": "^7.1.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/util-promisify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/util-promisify/-/util-promisify-2.1.0.tgz", - "integrity": "sha1-PCI2R2xNMsX/PEcAKt18E7moKlM=", + "node_modules/npm-install-checks/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "dependencies": { - "object.getownpropertydescriptors": "^2.0.3" + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/uuid": { - "version": "3.4.0", + "node_modules/npm-install-checks/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, - "license": "MIT", + "dependencies": { + "lru-cache": "^6.0.0" + }, "bin": { - "uuid": "bin/uuid" + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/v8-compile-cache": { - "version": "2.1.1", - "dev": true, - "license": "MIT" + "node_modules/npm-install-checks/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", + "node_modules/npm-lifecycle": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-3.1.5.tgz", + "integrity": "sha512-lDLVkjfZmvmfvpvBzA4vzee9cn+Me4orq0QF8glbswJVEbIcSNWib7qGOffolysc3teCqbbPZZkzbr3GQZTL1g==", "dev": true, - "license": "Apache-2.0", "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "byline": "^5.0.0", + "graceful-fs": "^4.1.15", + "node-gyp": "^5.0.2", + "resolve-from": "^4.0.0", + "slide": "^1.1.6", + "uid-number": "0.0.6", + "umask": "^1.1.0", + "which": "^1.3.1" } }, - "node_modules/validate-npm-package-name": { - "version": "3.0.0", + "node_modules/npm-lifecycle/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, - "license": "ISC", "dependencies": { - "builtins": "^1.0.3" + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" } }, - "node_modules/validator": { - "version": "13.7.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz", - "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==", - "dev": true, - "engines": { - "node": ">= 0.10" - } + "node_modules/npm-normalize-package-bin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "dev": true }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "node_modules/npm-packlist": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-2.2.2.tgz", + "integrity": "sha512-Jt01acDvJRhJGthnUJVF/w6gumWOZxO7IkpY/lsX9//zqQgnF7OJaxgQXcerd4uQOLu7W5bkb4mChL9mdfm+Zg==", "dev": true, - "engines": [ - "node >=0.6.0" - ], "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "glob": "^7.1.6", + "ignore-walk": "^3.0.3", + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + }, + "bin": { + "npm-packlist": "bin/index.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "node_modules/npm-pick-manifest": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz", + "integrity": "sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==", "dev": true, "dependencies": { - "defaults": "^1.0.3" + "npm-install-checks": "^4.0.0", + "npm-normalize-package-bin": "^1.0.1", + "npm-package-arg": "^8.1.2", + "semver": "^7.3.4" } }, - "node_modules/webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "node_modules/npm-pick-manifest/node_modules/hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, "engines": { - "node": ">=10.4" + "node": ">=10" } }, - "node_modules/whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "node_modules/npm-pick-manifest/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "dependencies": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" + "yallist": "^4.0.0" }, "engines": { "node": ">=10" } }, - "node_modules/which": { - "version": "1.3.0", + "node_modules/npm-pick-manifest/node_modules/npm-package-arg": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", + "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", "dev": true, - "license": "ISC", "dependencies": { - "isexe": "^2.0.0" + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" }, - "bin": { - "which": "bin/which" + "engines": { + "node": ">=10" } }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", + "node_modules/npm-pick-manifest/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, - "license": "MIT", "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" + "lru-cache": "^6.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/which-module": { - "version": "2.0.0", - "dev": true, - "license": "ISC" + "node_modules/npm-pick-manifest/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, - "node_modules/wide-align": { - "version": "1.1.3", + "node_modules/npm-registry-fetch": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-9.0.0.tgz", + "integrity": "sha512-PuFYYtnQ8IyVl6ib9d3PepeehcUeHN9IO5N/iCRhyg9tStQcqGQBRVHmfmMWPDERU3KwZoHFvbJ4FPXPspvzbA==", "dev": true, - "license": "ISC", "dependencies": { - "string-width": "^1.0.2 || 2" + "@npmcli/ci-detect": "^1.0.0", + "lru-cache": "^6.0.0", + "make-fetch-happen": "^8.0.9", + "minipass": "^3.1.3", + "minipass-fetch": "^1.3.0", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.0.0", + "npm-package-arg": "^8.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/word-wrap": { - "version": "1.2.3", + "node_modules/npm-registry-fetch/node_modules/hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", "dev": true, - "license": "MIT", + "dependencies": { + "lru-cache": "^6.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - }, - "node_modules/workerpool": { - "version": "6.1.0", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/workspaces-run": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/workspaces-run/-/workspaces-run-1.0.1.tgz", - "integrity": "sha512-B7tZj/g4/1JCeNQ7+zVNVBC83hOJBKpOm/yYob3eqw0Aerp1Guecfdf0J6kO/I/EyA2X2uP1oCHWsh2QywXh0A==", + "node_modules/npm-registry-fetch/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "dependencies": { - "aggregate-error": "^3.0.1", - "chalk": "^3.0.0", - "chunkd": "^2.0.1", - "cross-spawn": "^7.0.1", - "get-workspaces": "^0.5.2", - "meow": "^6.0.0", - "micromatch": "^4.0.2", - "p-limit": "^2.2.1", - "physical-cpu-count": "^2.0.0", - "redent": "^3.0.0", - "semver": "^7.1.1", - "signal-exit": "^3.0.2", - "task-graph-runner": "^1.0.3", - "trim-newlines": "^3.0.0", - "wrapline": "^2.0.1" + "yallist": "^4.0.0" }, - "bin": { - "workspaces-run": "bin.js" + "engines": { + "node": ">=10" } }, - "node_modules/workspaces-run/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/npm-registry-fetch/node_modules/npm-package-arg": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", + "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=10" } }, - "node_modules/workspaces-run/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "node_modules/npm-registry-fetch/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/workspaces-run/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/npm-registry-fetch/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/npm-run-all": { + "version": "4.1.5", "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "ansi-styles": "^3.2.1", + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "memorystream": "^0.3.1", + "minimatch": "^3.0.4", + "pidtree": "^0.3.0", + "read-pkg": "^3.0.0", + "shell-quote": "^1.6.1", + "string.prototype.padend": "^3.0.0" + }, + "bin": { + "npm-run-all": "bin/npm-run-all/index.js", + "run-p": "bin/run-p/index.js", + "run-s": "bin/run-s/index.js" }, "engines": { - "node": ">=8" + "node": ">= 4" } }, - "node_modules/workspaces-run/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/npm-run-all/node_modules/cross-spawn": { + "version": "6.0.5", "dev": true, + "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" }, "engines": { - "node": ">=7.0.0" + "node": ">=4.8" } }, - "node_modules/workspaces-run/node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "node_modules/npm-run-path": { + "version": "2.0.2", "dev": true, + "license": "MIT", "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "path-key": "^2.0.0" }, "engines": { - "node": ">= 8" + "node": ">=4" } }, - "node_modules/workspaces-run/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "node_modules/npmlog": { + "version": "4.1.2", "dev": true, + "license": "ISC", "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, - "node_modules/workspaces-run/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/number-is-nan": { + "version": "1.0.1", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/workspaces-run/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "node_modules/nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", + "dev": true + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", "dev": true, "engines": { - "node": ">=0.12.0" + "node": "*" } }, - "node_modules/workspaces-run/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/object-assign": { + "version": "4.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", "dev": true, + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/workspaces-run/node_modules/meow": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-6.1.1.tgz", - "integrity": "sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==", + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", "dev": true, + "license": "MIT", "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "^4.0.2", - "normalize-package-data": "^2.5.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.13.1", - "yargs-parser": "^18.1.3" + "is-descriptor": "^0.1.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/workspaces-run/node_modules/meow/node_modules/type-fest": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", - "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "node_modules/object-inspect": { + "version": "1.11.0", "dev": true, - "engines": { - "node": ">=10" - }, + "license": "MIT", "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/workspaces-run/node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "node_modules/object-keys": { + "version": "1.1.1", "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - }, + "license": "MIT", "engines": { - "node": ">=8.6" + "node": ">= 0.4" } }, - "node_modules/workspaces-run/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/object-visit": { + "version": "1.0.1", "dev": true, + "license": "MIT", "dependencies": { - "p-try": "^2.0.0" + "isobject": "^3.0.0" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/workspaces-run/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/workspaces-run/node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "node_modules/object.assign": { + "version": "4.1.2", "dev": true, + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/workspaces-run/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/workspaces-run/node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "node_modules/object.fromentries": { + "version": "2.0.3", "dev": true, + "license": "MIT", "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "has": "^1.0.3" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/workspaces-run/node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz", + "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==", "dev": true, "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" }, "engines": { - "node": ">=8" + "node": ">= 0.8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/workspaces-run/node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "node_modules/object.pick": { + "version": "1.3.0", "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/workspaces-run/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "node_modules/once": { + "version": "1.4.0", "dev": true, + "license": "ISC", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "wrappy": "1" } }, - "node_modules/workspaces-run/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, "dependencies": { - "shebang-regex": "^3.0.0" + "mimic-fn": "^2.1.0" }, "engines": { - "node": ">=8" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/workspaces-run/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "node_modules/onetime/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/workspaces-run/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/open-sans-fonts": { + "version": "1.6.2", "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } + "license": "Apache-2.0" }, - "node_modules/workspaces-run/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "node_modules/optionator": { + "version": "0.9.1", "dev": true, + "license": "MIT", "dependencies": { - "is-number": "^7.0.0" + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" }, "engines": { - "node": ">=8.0" + "node": ">= 0.8.0" } }, - "node_modules/workspaces-run/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "node_modules/os-homedir": { + "version": "1.0.2", "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, + "license": "MIT", "engines": { - "node": ">= 8" + "node": ">=0.10.0" } }, - "node_modules/workspaces-run/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/wrap-ansi": { + "node_modules/os-locale": { "version": "2.1.0", "dev": true, "license": "MIT", "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrapline": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wrapline/-/wrapline-2.0.1.tgz", - "integrity": "sha1-x5kIrBX0HUAdpmB/8lZh1MkUebs=", - "dev": true, - "dependencies": { - "duplexer2": "~0.0.2", - "split2": "^0.1.2", - "through2": "^0.5.1" - } - }, - "node_modules/wrapline/node_modules/object-keys": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=", - "dev": true - }, - "node_modules/wrapline/node_modules/split2": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-0.1.2.tgz", - "integrity": "sha1-pNVguR8EFo8hzZvdVptveNUWRZM=", - "dev": true, - "dependencies": { - "through2": "~0.4.1" - } - }, - "node_modules/wrapline/node_modules/split2/node_modules/through2": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", - "integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=", - "dev": true, - "dependencies": { - "readable-stream": "~1.0.17", - "xtend": "~2.1.1" + "node": ">=4" } }, - "node_modules/wrapline/node_modules/split2/node_modules/xtend": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", + "node_modules/os-locale/node_modules/execa": { + "version": "0.7.0", "dev": true, + "license": "MIT", "dependencies": { - "object-keys": "~0.4.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" }, "engines": { - "node": ">=0.4" - } - }, - "node_modules/wrapline/node_modules/through2": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz", - "integrity": "sha1-390BLrnHAOIyP9M084rGIqs3Lac=", - "dev": true, - "dependencies": { - "readable-stream": "~1.0.17", - "xtend": "~3.0.0" + "node": ">=4" } }, - "node_modules/wrapline/node_modules/xtend": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz", - "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=", + "node_modules/os-shim": { + "version": "0.1.3", "dev": true, "engines": { - "node": ">=0.4" + "node": ">= 0.4.0" } }, - "node_modules/wrappy": { + "node_modules/os-tmpdir": { "version": "1.0.2", "dev": true, - "license": "ISC" - }, - "node_modules/write": { - "version": "1.0.3", - "dev": true, "license": "MIT", - "dependencies": { - "mkdirp": "^0.5.1" - }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/write-file-atomic": { - "version": "2.4.2", + "node_modules/osenv": { + "version": "0.1.5", "dev": true, "license": "ISC", "dependencies": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, - "node_modules/xtend": { - "version": "4.0.1", + "node_modules/p-cancelable": { + "version": "1.1.0", "dev": true, "license": "MIT", "engines": { - "node": ">=0.4" + "node": ">=6" } }, - "node_modules/y18n": { - "version": "3.2.1", - "dev": true, - "license": "ISC" - }, - "node_modules/yallist": { - "version": "2.1.2", - "dev": true, - "license": "ISC" - }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "node_modules/p-each-series": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", + "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", "dev": true, "engines": { - "node": ">= 6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/yargs": { - "version": "15.4.1", + "node_modules/p-finally": { + "version": "1.0.0", "dev": true, "license": "MIT", - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/yargs-parser": { - "version": "18.1.3", + "node_modules/p-limit": { + "version": "1.3.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "p-try": "^1.0.0" }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/yargs-unparser": { + "node_modules/p-locate": { "version": "2.0.0", "dev": true, "license": "MIT", "dependencies": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" + "p-limit": "^1.1.0" }, "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-unparser/node_modules/camelcase": { - "version": "6.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/yargs-unparser/node_modules/decamelize": { + "node_modules/p-map": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "dev": true, - "license": "MIT", + "dependencies": { + "aggregate-error": "^3.0.0" + }, "engines": { "node": ">=10" }, @@ -19768,1304 +20097,8008 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/yargs-unparser/node_modules/is-plain-obj": { + "node_modules/p-map-series": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map-series/-/p-map-series-2.1.0.tgz", + "integrity": "sha512-RpYIIK1zXSNEOdwxcfe7FdvGcs7+y5n8rifMhMNWvaxRNMPINJHF5GDeuVxWqnfrcHPSCnp7Oo5yNXHId9Av2Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/yargs/node_modules/ansi-regex": { - "version": "5.0.0", + "node_modules/p-pipe": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz", + "integrity": "sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/yargs/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/p-queue": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz", + "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", "dev": true, - "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "eventemitter3": "^4.0.4", + "p-timeout": "^3.2.0" }, "engines": { "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/yargs/node_modules/cliui": { - "version": "6.0.0", + "node_modules/p-queue/node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "node_modules/p-reduce": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-2.1.0.tgz", + "integrity": "sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==", "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "engines": { + "node": ">=8" } }, - "node_modules/yargs/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/p-timeout": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", "dev": true, - "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "p-finally": "^1.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=8" } }, - "node_modules/yargs/node_modules/emoji-regex": { - "version": "8.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/yargs/node_modules/get-caller-file": { - "version": "2.0.5", + "node_modules/p-try": { + "version": "1.0.0", "dev": true, - "license": "ISC", + "license": "MIT", "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">=4" } }, - "node_modules/yargs/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", + "node_modules/p-waterfall": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-waterfall/-/p-waterfall-2.1.1.tgz", + "integrity": "sha512-RRTnDb2TBG/epPRI2yYXsimO0v3BXC8Yd3ogr1545IaqKK17VGhbWVeGGN+XfCm/08OK8635nH31c8bATkHuSw==", "dev": true, - "license": "MIT", + "dependencies": { + "p-reduce": "^2.0.0" + }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/yargs/node_modules/require-main-filename": { - "version": "2.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/yargs/node_modules/string-width": { - "version": "4.2.2", + "node_modules/pacote": { + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-11.3.5.tgz", + "integrity": "sha512-fT375Yczn4zi+6Hkk2TBe1x1sP8FgFsEIZ2/iWaXY2r/NkhDJfxbcn5paz1+RTFCyNf+dPnaoBDJoAxXSU8Bkg==", "dev": true, - "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "@npmcli/git": "^2.1.0", + "@npmcli/installed-package-contents": "^1.0.6", + "@npmcli/promise-spawn": "^1.2.0", + "@npmcli/run-script": "^1.8.2", + "cacache": "^15.0.5", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "infer-owner": "^1.0.4", + "minipass": "^3.1.3", + "mkdirp": "^1.0.3", + "npm-package-arg": "^8.0.1", + "npm-packlist": "^2.1.4", + "npm-pick-manifest": "^6.0.0", + "npm-registry-fetch": "^11.0.0", + "promise-retry": "^2.0.1", + "read-package-json-fast": "^2.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.1.0" + }, + "bin": { + "pacote": "lib/bin.js" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/yargs/node_modules/strip-ansi": { - "version": "6.0.0", + "node_modules/pacote/node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.0" + "ms": "2.1.2" }, "engines": { - "node": ">=8" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/yargs/node_modules/wrap-ansi": { - "version": "6.2.0", + "node_modules/pacote/node_modules/hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "lru-cache": "^6.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/yargs/node_modules/y18n": { - "version": "4.0.3", - "dev": true, - "license": "ISC" + "node_modules/pacote/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } }, - "node_modules/yauzl": { - "version": "2.10.0", + "node_modules/pacote/node_modules/make-fetch-happen": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", + "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", "dev": true, - "license": "MIT", "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + }, + "engines": { + "node": ">= 10" } }, - "node_modules/yn": { - "version": "3.1.1", + "node_modules/pacote/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true, - "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/yocto-queue": { - "version": "0.1.0", + "node_modules/pacote/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/pacote/node_modules/npm-package-arg": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", + "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", "dev": true, - "license": "MIT", + "dependencies": { + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pacote/node_modules/npm-registry-fetch": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz", + "integrity": "sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA==", + "dev": true, + "dependencies": { + "make-fetch-happen": "^9.0.1", + "minipass": "^3.1.3", + "minipass-fetch": "^1.3.0", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.0.0", + "npm-package-arg": "^8.0.0" + }, "engines": { "node": ">=10" + } + }, + "node_modules/pacote/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/z-schema": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-5.0.2.tgz", - "integrity": "sha512-40TH47ukMHq5HrzkeVE40Ad7eIDKaRV2b+Qpi2prLc9X9eFJFzV7tMe5aH12e6avaSS/u5l653EQOv+J9PirPw==", + "node_modules/pacote/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "dependencies": { - "lodash.get": "^4.4.2", - "lodash.isequal": "^4.5.0", - "validator": "^13.7.0" + "lru-cache": "^6.0.0" }, "bin": { - "z-schema": "bin/z-schema" + "semver": "bin/semver.js" }, "engines": { - "node": ">=8.0.0" - }, - "optionalDependencies": { - "commander": "^2.7.1" + "node": ">=10" } }, - "packages/accessibility": { - "name": "@pixi/accessibility", - "version": "6.4.2", - "license": "MIT", - "peerDependencies": { - "@pixi/core": "6.4.2", - "@pixi/display": "6.4.2", - "@pixi/utils": "6.4.2" + "node_modules/pacote/node_modules/socks-proxy-agent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.0.tgz", + "integrity": "sha512-57e7lwCN4Tzt3mXz25VxOErJKXlPfXmkMLnk310v/jwW20jWRVcgsOit+xNkN3eIEdB47GwnfAEBLacZ/wVIKg==", + "dev": true, + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.1", + "socks": "^2.6.1" + }, + "engines": { + "node": ">= 10" } }, - "packages/app": { - "name": "@pixi/app", - "version": "6.4.2", - "license": "MIT", - "peerDependencies": { - "@pixi/core": "6.4.2", - "@pixi/display": "6.4.2" - } + "node_modules/pacote/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, - "packages/basis": { - "name": "@pixi/basis", - "version": "6.4.2", + "node_modules/parent-module": { + "version": "1.0.1", + "dev": true, "license": "MIT", - "peerDependencies": { - "@pixi/compressed-textures": "6.4.2", - "@pixi/constants": "6.4.2", - "@pixi/core": "6.4.2", - "@pixi/loaders": "6.4.2", - "@pixi/runner": "6.4.2" + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "packages/canvas-display": { - "name": "@pixi/canvas-display", - "version": "6.4.2", + "node_modules/parse-github-url": { + "version": "1.0.2", + "dev": true, "license": "MIT", - "peerDependencies": { - "@pixi/display": "6.4.2" + "bin": { + "parse-github-url": "cli.js" + }, + "engines": { + "node": ">=0.10.0" } }, - "packages/canvas-extract": { - "name": "@pixi/canvas-extract", - "version": "6.4.2", + "node_modules/parse-json": { + "version": "4.0.0", + "dev": true, "license": "MIT", - "peerDependencies": { - "@pixi/canvas-renderer": "6.4.2", - "@pixi/core": "6.4.2", - "@pixi/display": "6.4.2", - "@pixi/math": "6.4.2", - "@pixi/utils": "6.4.2" + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" } }, - "packages/canvas-graphics": { - "name": "@pixi/canvas-graphics", - "version": "6.4.2", + "node_modules/parse-passwd": { + "version": "1.0.0", + "dev": true, "license": "MIT", - "peerDependencies": { - "@pixi/canvas-display": "6.4.2", - "@pixi/canvas-renderer": "6.4.2", - "@pixi/constants": "6.4.2", - "@pixi/core": "6.4.2", - "@pixi/graphics": "6.4.2", - "@pixi/math": "6.4.2" + "engines": { + "node": ">=0.10.0" } }, - "packages/canvas-mesh": { - "name": "@pixi/canvas-mesh", - "version": "6.4.2", - "license": "MIT", - "peerDependencies": { - "@pixi/canvas-display": "6.4.2", - "@pixi/canvas-renderer": "6.4.2", - "@pixi/constants": "6.4.2", - "@pixi/mesh": "6.4.2", - "@pixi/mesh-extras": "6.4.2", - "@pixi/settings": "6.4.2" + "node_modules/parse-path": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-4.0.3.tgz", + "integrity": "sha512-9Cepbp2asKnWTJ9x2kpw6Fe8y9JDbqwahGCTvklzd/cEq5C5JC59x2Xb0Kx+x0QZ8bvNquGO8/BWP0cwBHzSAA==", + "dev": true, + "dependencies": { + "is-ssh": "^1.3.0", + "protocols": "^1.4.0", + "qs": "^6.9.4", + "query-string": "^6.13.8" } }, - "packages/canvas-particle-container": { - "name": "@pixi/canvas-particle-container", - "version": "6.4.2", - "license": "MIT", - "peerDependencies": { - "@pixi/particle-container": "6.4.2" + "node_modules/parse-url": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-6.0.0.tgz", + "integrity": "sha512-cYyojeX7yIIwuJzledIHeLUBVJ6COVLeT4eF+2P6aKVzwvgKQPndCBv3+yQ7pcWjqToYwaligxzSYNNmGoMAvw==", + "dev": true, + "dependencies": { + "is-ssh": "^1.3.0", + "normalize-url": "^6.1.0", + "parse-path": "^4.0.0", + "protocols": "^1.4.0" } }, - "packages/canvas-prepare": { - "name": "@pixi/canvas-prepare", - "version": "6.4.2", - "license": "MIT", - "peerDependencies": { - "@pixi/canvas-renderer": "6.4.2", - "@pixi/core": "6.4.2", - "@pixi/prepare": "6.4.2" - } + "node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true }, - "packages/canvas-renderer": { - "name": "@pixi/canvas-renderer", - "version": "6.4.2", + "node_modules/pascalcase": { + "version": "0.1.1", + "dev": true, "license": "MIT", - "peerDependencies": { - "@pixi/constants": "6.4.2", - "@pixi/core": "6.4.2", - "@pixi/math": "6.4.2", - "@pixi/settings": "6.4.2", - "@pixi/utils": "6.4.2" + "engines": { + "node": ">=0.10.0" } }, - "packages/canvas-sprite": { - "name": "@pixi/canvas-sprite", - "version": "6.4.2", - "license": "MIT", - "peerDependencies": { - "@pixi/canvas-display": "6.4.2", - "@pixi/canvas-renderer": "6.4.2", - "@pixi/constants": "6.4.2", - "@pixi/math": "6.4.2", - "@pixi/sprite": "6.4.2", - "@pixi/utils": "6.4.2" - } + "node_modules/path-dirname": { + "version": "1.0.2", + "dev": true, + "license": "MIT" }, - "packages/canvas-sprite-tiling": { - "name": "@pixi/canvas-sprite-tiling", - "version": "6.4.2", + "node_modules/path-exists": { + "version": "3.0.0", + "dev": true, "license": "MIT", - "peerDependencies": { - "@pixi/canvas-renderer": "6.4.2", - "@pixi/canvas-sprite": "6.4.2", - "@pixi/math": "6.4.2", - "@pixi/sprite-tiling": "6.4.2", - "@pixi/utils": "6.4.2" + "engines": { + "node": ">=4" } }, - "packages/canvas-text": { - "name": "@pixi/canvas-text", - "version": "6.4.2", + "node_modules/path-is-absolute": { + "version": "1.0.1", + "dev": true, "license": "MIT", - "peerDependencies": { - "@pixi/canvas-sprite": "6.4.2", - "@pixi/sprite": "6.4.2", - "@pixi/text": "6.4.2" + "engines": { + "node": ">=0.10.0" } }, - "packages/compressed-textures": { - "name": "@pixi/compressed-textures", - "version": "6.4.2", + "node_modules/path-key": { + "version": "2.0.1", + "dev": true, "license": "MIT", - "peerDependencies": { - "@pixi/constants": "6.4.2", - "@pixi/core": "6.4.2", - "@pixi/loaders": "6.4.2", - "@pixi/settings": "6.4.2", - "@pixi/utils": "6.4.2" + "engines": { + "node": ">=4" } }, - "packages/constants": { - "name": "@pixi/constants", - "version": "6.4.2", - "license": "MIT" + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true }, - "packages/core": { - "name": "@pixi/core", - "version": "6.4.2", + "node_modules/path-type": { + "version": "3.0.0", + "dev": true, "license": "MIT", "dependencies": { - "@types/offscreencanvas": "^2019.6.4" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/pixijs" + "pify": "^3.0.0" }, - "peerDependencies": { - "@pixi/constants": "6.4.2", - "@pixi/math": "6.4.2", - "@pixi/runner": "6.4.2", - "@pixi/settings": "6.4.2", - "@pixi/ticker": "6.4.2", - "@pixi/utils": "6.4.2" + "engines": { + "node": ">=4" } }, - "packages/display": { - "name": "@pixi/display", - "version": "6.4.2", + "node_modules/pend": { + "version": "1.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/perf_hooks": { + "version": "0.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/perf-regexes": { + "version": "1.0.1", + "dev": true, "license": "MIT", - "peerDependencies": { - "@pixi/math": "6.4.2", - "@pixi/settings": "6.4.2", - "@pixi/utils": "6.4.2" + "engines": { + "node": ">=6.14" } }, - "packages/events": { - "name": "@pixi/events", - "version": "6.4.2", - "license": "MIT", - "peerDependencies": { - "@pixi/display": "6.4.2", - "@pixi/math": "6.4.2", - "@pixi/utils": "6.4.2" + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "node_modules/physical-cpu-count": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/physical-cpu-count/-/physical-cpu-count-2.0.0.tgz", + "integrity": "sha1-GN4vl+S/epVRrXURlCtUlverpmA=", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "packages/extract": { - "name": "@pixi/extract", - "version": "6.4.2", + "node_modules/pidtree": { + "version": "0.3.1", + "dev": true, "license": "MIT", - "peerDependencies": { - "@pixi/core": "6.4.2", - "@pixi/math": "6.4.2", - "@pixi/utils": "6.4.2" + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" } }, - "packages/filter-alpha": { - "name": "@pixi/filter-alpha", - "version": "6.4.2", + "node_modules/pify": { + "version": "3.0.0", + "dev": true, "license": "MIT", - "peerDependencies": { - "@pixi/core": "6.4.2" + "engines": { + "node": ">=4" } }, - "packages/filter-blur": { - "name": "@pixi/filter-blur", - "version": "6.4.2", - "license": "MIT", - "peerDependencies": { - "@pixi/core": "6.4.2", - "@pixi/settings": "6.4.2" + "node_modules/pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true, + "engines": { + "node": ">= 6" } }, - "packages/filter-color-matrix": { - "name": "@pixi/filter-color-matrix", - "version": "6.4.2", - "license": "MIT", - "peerDependencies": { - "@pixi/core": "6.4.2" + "node_modules/pixi.js": { + "resolved": "bundles/pixi.js", + "link": true + }, + "node_modules/pixi.js-legacy": { + "resolved": "bundles/pixi.js-legacy", + "link": true + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "packages/filter-displacement": { - "name": "@pixi/filter-displacement", - "version": "6.4.2", + "node_modules/pkg-up": { + "version": "3.1.0", + "dev": true, "license": "MIT", - "peerDependencies": { - "@pixi/core": "6.4.2", - "@pixi/math": "6.4.2" + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "packages/filter-fxaa": { - "name": "@pixi/filter-fxaa", - "version": "6.4.2", + "node_modules/pkg-up/node_modules/find-up": { + "version": "3.0.0", + "dev": true, "license": "MIT", - "peerDependencies": { - "@pixi/core": "6.4.2" + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "packages/filter-noise": { - "name": "@pixi/filter-noise", - "version": "6.4.2", + "node_modules/pkg-up/node_modules/locate-path": { + "version": "3.0.0", + "dev": true, "license": "MIT", - "peerDependencies": { - "@pixi/core": "6.4.2" + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "packages/graphics": { - "name": "@pixi/graphics", - "version": "6.4.2", + "node_modules/pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "dev": true, "license": "MIT", - "peerDependencies": { - "@pixi/constants": "6.4.2", - "@pixi/core": "6.4.2", - "@pixi/display": "6.4.2", - "@pixi/math": "6.4.2", - "@pixi/sprite": "6.4.2", - "@pixi/utils": "6.4.2" + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/graphics-extras": { - "name": "@pixi/graphics-extras", - "version": "6.4.2", + "node_modules/pkg-up/node_modules/p-locate": { + "version": "3.0.0", + "dev": true, "license": "MIT", - "peerDependencies": { - "@pixi/graphics": "6.4.2", - "@pixi/math": "6.4.2" + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" } }, - "packages/interaction": { - "name": "@pixi/interaction", - "version": "6.4.2", + "node_modules/pkg-up/node_modules/p-try": { + "version": "2.2.0", + "dev": true, "license": "MIT", - "peerDependencies": { - "@pixi/core": "6.4.2", - "@pixi/display": "6.4.2", - "@pixi/math": "6.4.2", - "@pixi/ticker": "6.4.2", - "@pixi/utils": "6.4.2" + "engines": { + "node": ">=6" } }, - "packages/loaders": { - "name": "@pixi/loaders", - "version": "6.4.2", + "node_modules/pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", + "dev": true + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "dev": true, "license": "MIT", - "peerDependencies": { - "@pixi/constants": "6.4.2", - "@pixi/core": "6.4.2", - "@pixi/utils": "6.4.2" + "engines": { + "node": ">=0.10.0" } }, - "packages/math": { - "name": "@pixi/math", - "version": "6.4.2", - "license": "MIT" - }, - "packages/math-extras": { - "name": "@pixi/math-extras", - "version": "6.4.2", + "node_modules/pre-commit": { + "version": "1.2.2", + "dev": true, + "hasInstallScript": true, "license": "MIT", - "peerDependencies": { - "@pixi/math": "6.4.2" + "dependencies": { + "cross-spawn": "^5.0.1", + "spawn-sync": "^1.0.15", + "which": "1.2.x" } }, - "packages/mesh": { - "name": "@pixi/mesh", - "version": "6.4.2", - "license": "MIT", - "peerDependencies": { - "@pixi/constants": "6.4.2", - "@pixi/core": "6.4.2", - "@pixi/display": "6.4.2", - "@pixi/math": "6.4.2", - "@pixi/settings": "6.4.2", - "@pixi/utils": "6.4.2" + "node_modules/pre-commit/node_modules/which": { + "version": "1.2.14", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" } }, - "packages/mesh-extras": { - "name": "@pixi/mesh-extras", - "version": "6.4.2", + "node_modules/prelude-ls": { + "version": "1.2.1", + "dev": true, "license": "MIT", - "peerDependencies": { - "@pixi/constants": "6.4.2", - "@pixi/core": "6.4.2", - "@pixi/math": "6.4.2", - "@pixi/mesh": "6.4.2", - "@pixi/utils": "6.4.2" + "engines": { + "node": ">= 0.8.0" } }, - "packages/mixin-cache-as-bitmap": { - "name": "@pixi/mixin-cache-as-bitmap", - "version": "6.4.2", + "node_modules/prepend-http": { + "version": "2.0.0", + "dev": true, "license": "MIT", - "peerDependencies": { - "@pixi/core": "6.4.2", - "@pixi/display": "6.4.2", - "@pixi/math": "6.4.2", - "@pixi/settings": "6.4.2", - "@pixi/sprite": "6.4.2", - "@pixi/utils": "6.4.2" + "engines": { + "node": ">=4" } }, - "packages/mixin-get-child-by-name": { - "name": "@pixi/mixin-get-child-by-name", - "version": "6.4.2", - "license": "MIT", - "peerDependencies": { - "@pixi/display": "6.4.2" + "node_modules/pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": ">= 10" } }, - "packages/mixin-get-global-position": { - "name": "@pixi/mixin-get-global-position", - "version": "6.4.2", - "license": "MIT", - "peerDependencies": { - "@pixi/display": "6.4.2", - "@pixi/math": "6.4.2" + "node_modules/pretty-format/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" } }, - "packages/particle-container": { - "name": "@pixi/particle-container", - "version": "6.4.2", - "license": "MIT", - "peerDependencies": { - "@pixi/constants": "6.4.2", - "@pixi/core": "6.4.2", - "@pixi/display": "6.4.2", - "@pixi/math": "6.4.2", - "@pixi/utils": "6.4.2" + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "packages/polyfill": { - "name": "@pixi/polyfill", - "version": "6.4.2", - "license": "MIT", + "node_modules/pretty-format/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "dependencies": { - "object-assign": "^4.1.1", - "promise-polyfill": "^8.2.0" + "color-name": "~1.1.4" }, - "devDependencies": { - "@types/object-assign": "^4.0.30", - "@types/promise-polyfill": "^6.0.3" + "engines": { + "node": ">=7.0.0" } }, - "packages/prepare": { - "name": "@pixi/prepare", - "version": "6.4.2", + "node_modules/process-nextick-args": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/progress": { + "version": "2.0.3", + "dev": true, "license": "MIT", - "peerDependencies": { - "@pixi/core": "6.4.2", - "@pixi/display": "6.4.2", - "@pixi/graphics": "6.4.2", - "@pixi/settings": "6.4.2", - "@pixi/text": "6.4.2", - "@pixi/ticker": "6.4.2", - "@pixi/utils": "6.4.2" + "engines": { + "node": ">=0.4.0" } }, - "packages/runner": { - "name": "@pixi/runner", - "version": "6.4.2", + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "node_modules/promise-polyfill": { + "version": "8.2.0", "license": "MIT" }, - "packages/settings": { - "name": "@pixi/settings", - "version": "6.4.2", - "license": "MIT", + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, "dependencies": { - "ismobilejs": "^1.1.0" + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" } }, - "packages/sprite": { - "name": "@pixi/sprite", - "version": "6.4.2", - "license": "MIT", - "peerDependencies": { - "@pixi/constants": "6.4.2", - "@pixi/core": "6.4.2", - "@pixi/display": "6.4.2", - "@pixi/math": "6.4.2", - "@pixi/settings": "6.4.2", - "@pixi/utils": "6.4.2" + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" } }, - "packages/sprite-animated": { - "name": "@pixi/sprite-animated", - "version": "6.4.2", - "license": "MIT", - "peerDependencies": { - "@pixi/core": "6.4.2", - "@pixi/sprite": "6.4.2", - "@pixi/ticker": "6.4.2" + "node_modules/promzard": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz", + "integrity": "sha1-JqXW7ox97kyxIggwWs+5O6OCqe4=", + "dev": true, + "dependencies": { + "read": "1" } }, - "packages/sprite-tiling": { - "name": "@pixi/sprite-tiling", - "version": "6.4.2", - "license": "MIT", - "peerDependencies": { - "@pixi/constants": "6.4.2", - "@pixi/core": "6.4.2", - "@pixi/display": "6.4.2", - "@pixi/math": "6.4.2", - "@pixi/sprite": "6.4.2", - "@pixi/utils": "6.4.2" - } + "node_modules/proto-list": { + "version": "1.2.4", + "dev": true, + "license": "ISC" }, - "packages/spritesheet": { - "name": "@pixi/spritesheet", - "version": "6.4.2", - "license": "MIT", - "peerDependencies": { - "@pixi/core": "6.4.2", - "@pixi/loaders": "6.4.2", - "@pixi/math": "6.4.2", - "@pixi/utils": "6.4.2" - } + "node_modules/protocols": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/protocols/-/protocols-1.4.8.tgz", + "integrity": "sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg==", + "dev": true }, - "packages/text": { - "name": "@pixi/text", - "version": "6.4.2", + "node_modules/pseudomap": { + "version": "1.0.2", + "dev": true, + "license": "ISC" + }, + "node_modules/psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "dev": true, "license": "MIT", - "peerDependencies": { - "@pixi/core": "6.4.2", - "@pixi/math": "6.4.2", - "@pixi/settings": "6.4.2", - "@pixi/sprite": "6.4.2", - "@pixi/utils": "6.4.2" + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "packages/text-bitmap": { - "name": "@pixi/text-bitmap", - "version": "6.4.2", + "node_modules/punycode": { + "version": "2.1.1", + "dev": true, "license": "MIT", - "peerDependencies": { - "@pixi/constants": "6.4.2", - "@pixi/core": "6.4.2", - "@pixi/display": "6.4.2", - "@pixi/loaders": "6.4.2", - "@pixi/math": "6.4.2", - "@pixi/mesh": "6.4.2", - "@pixi/settings": "6.4.2", - "@pixi/text": "6.4.2", - "@pixi/utils": "6.4.2" + "engines": { + "node": ">=6" } }, - "packages/ticker": { - "name": "@pixi/ticker", - "version": "6.4.2", - "license": "MIT", - "peerDependencies": { - "@pixi/settings": "6.4.2" + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true, + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" } }, - "packages/unsafe-eval": { - "name": "@pixi/unsafe-eval", - "version": "6.4.2", - "license": "MIT", - "peerDependencies": { - "@pixi/core": "6.4.2" + "node_modules/qs": { + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz", + "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "packages/utils": { - "name": "@pixi/utils", - "version": "6.4.2", - "license": "MIT", + "node_modules/query-string": { + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz", + "integrity": "sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==", + "dev": true, "dependencies": { - "@types/earcut": "^2.1.0", - "earcut": "^2.2.2", - "eventemitter3": "^3.1.0", - "url": "^0.11.0" + "decode-uri-component": "^0.2.0", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" }, - "devDependencies": { - "css-color-names": "^1.0.1" + "engines": { + "node": ">=6" }, - "peerDependencies": { - "@pixi/constants": "6.4.2", - "@pixi/settings": "6.4.2" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "tools/integration-tests": { - "name": "@internal/integration-tests", - "version": "6.4.2", - "devDependencies": { - "@pixi/canvas-display": "6.4.2", - "@pixi/canvas-graphics": "6.4.2", - "@pixi/canvas-mesh": "6.4.2", - "@pixi/canvas-renderer": "6.4.2", - "@pixi/canvas-sprite": "6.4.2", - "@pixi/canvas-text": "6.4.2", - "@pixi/core": "6.4.2", - "@pixi/display": "6.4.2", - "@pixi/graphics": "6.4.2", - "@pixi/math": "6.4.2", - "@pixi/mesh": "6.4.2", - "@pixi/mesh-extras": "6.4.2", - "@pixi/sprite": "6.4.2", - "@pixi/text": "6.4.2", - "@pixi/utils": "6.4.2" + "node_modules/querystring": { + "version": "0.2.0", + "engines": { + "node": ">=0.4.x" } - } - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.12.13", + }, + "node_modules/quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", "dev": true, - "requires": { - "@babel/highlight": "^7.12.13" + "engines": { + "node": ">=8" } }, - "@babel/compat-data": { - "version": "7.14.0", + "node_modules/randombytes": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, - "@babel/core": { - "version": "7.14.0", + "node_modules/read": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", + "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.14.0", - "@babel/helper-compilation-targets": "^7.13.16", - "@babel/helper-module-transforms": "^7.14.0", - "@babel/helpers": "^7.14.0", - "@babel/parser": "^7.14.0", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.14.0", - "@babel/types": "^7.14.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" + "dependencies": { + "mute-stream": "~0.0.4" }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/read-cmd-shim": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-2.0.0.tgz", + "integrity": "sha512-HJpV9bQpkl6KwjxlJcBoqu9Ba0PQg8TqSNIOrulGt54a0uup0HtevreFHzYzkm0lpnleRdNBzXznKrgxglEHQw==", + "dev": true + }, + "node_modules/read-package-json": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-3.0.1.tgz", + "integrity": "sha512-aLcPqxovhJTVJcsnROuuzQvv6oziQx4zd3JvG0vGCL5MjTONUc4uJ90zCBC6R7W7oUKBNoR/F8pkyfVwlbxqng==", + "dev": true, "dependencies": { - "@babel/traverse": { - "version": "7.14.0", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.14.0", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.14.0", - "@babel/types": "^7.14.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "debug": { - "version": "4.3.1", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "dev": true - }, - "semver": { - "version": "6.3.0", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "dev": true - } + "glob": "^7.1.1", + "json-parse-even-better-errors": "^2.3.0", + "normalize-package-data": "^3.0.0", + "npm-normalize-package-bin": "^1.0.0" + }, + "engines": { + "node": ">=10" } }, - "@babel/generator": { - "version": "7.14.1", + "node_modules/read-package-json-fast": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz", + "integrity": "sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==", "dev": true, - "requires": { - "@babel/types": "^7.14.1", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - }, "dependencies": { - "jsesc": { - "version": "2.5.2", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "dev": true - } + "json-parse-even-better-errors": "^2.3.0", + "npm-normalize-package-bin": "^1.0.1" + }, + "engines": { + "node": ">=10" } }, - "@babel/helper-annotate-as-pure": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz", - "integrity": "sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA==", + "node_modules/read-package-json/node_modules/hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", "dev": true, - "requires": { - "@babel/types": "^7.15.4" + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" } }, - "@babel/helper-compilation-targets": { - "version": "7.13.16", + "node_modules/read-package-json/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "requires": { - "@babel/compat-data": "^7.13.15", - "@babel/helper-validator-option": "^7.12.17", - "browserslist": "^4.14.5", - "semver": "^6.3.0" - }, "dependencies": { - "semver": { - "version": "6.3.0", - "dev": true - } + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "@babel/helper-function-name": { - "version": "7.12.13", + "node_modules/read-package-json/node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" } }, - "@babel/helper-get-function-arity": { - "version": "7.12.13", + "node_modules/read-package-json/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, - "requires": { - "@babel/types": "^7.12.13" + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "@babel/helper-member-expression-to-functions": { - "version": "7.13.12", + "node_modules/read-package-json/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/read-package-tree": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.3.1.tgz", + "integrity": "sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw==", "dev": true, - "requires": { - "@babel/types": "^7.13.12" + "dependencies": { + "read-package-json": "^2.0.0", + "readdir-scoped-modules": "^1.0.0", + "util-promisify": "^2.1.0" } }, - "@babel/helper-module-imports": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", - "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", + "node_modules/read-package-tree/node_modules/read-package-json": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.2.tgz", + "integrity": "sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA==", "dev": true, - "requires": { - "@babel/types": "^7.15.4" + "dependencies": { + "glob": "^7.1.1", + "json-parse-even-better-errors": "^2.3.0", + "normalize-package-data": "^2.0.0", + "npm-normalize-package-bin": "^1.0.0" } }, - "@babel/helper-module-transforms": { - "version": "7.14.0", + "node_modules/read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.13.12", - "@babel/helper-replace-supers": "^7.13.12", - "@babel/helper-simple-access": "^7.13.12", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/helper-validator-identifier": "^7.14.0", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.14.0", - "@babel/types": "^7.14.0" + "dependencies": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, "dependencies": { - "@babel/traverse": { - "version": "7.14.0", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.14.0", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.14.0", - "@babel/types": "^7.14.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "debug": { - "version": "4.3.1", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "dev": true - } + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "@babel/helper-optimise-call-expression": { - "version": "7.12.13", + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, - "requires": { - "@babel/types": "^7.12.13" + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true + "node_modules/readable-stream": { + "version": "1.0.34", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } }, - "@babel/helper-replace-supers": { - "version": "7.13.12", + "node_modules/readdir-scoped-modules": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz", + "integrity": "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==", "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.13.12", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.12" - }, "dependencies": { - "@babel/traverse": { - "version": "7.14.0", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.14.0", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.14.0", - "@babel/types": "^7.14.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "debug": { - "version": "4.3.1", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "dev": true - } + "debuglog": "^1.0.1", + "dezalgo": "^1.0.0", + "graceful-fs": "^4.1.2", + "once": "^1.3.0" } }, - "@babel/helper-simple-access": { - "version": "7.13.12", + "node_modules/realpath-native": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz", + "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==", "dev": true, - "requires": { - "@babel/types": "^7.13.12" + "dependencies": { + "util.promisify": "^1.0.0" + }, + "engines": { + "node": ">=4" } }, - "@babel/helper-split-export-declaration": { - "version": "7.12.13", + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", "dev": true, - "requires": { - "@babel/types": "^7.12.13" + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "@babel/helper-validator-identifier": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", - "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==", - "dev": true + "node_modules/regenerate": { + "version": "1.4.0", + "dev": true, + "license": "MIT" }, - "@babel/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", - "dev": true + "node_modules/regenerator-runtime": { + "version": "0.13.7", + "dev": true, + "license": "MIT" }, - "@babel/helpers": { - "version": "7.14.0", + "node_modules/regex-not": { + "version": "1.0.2", "dev": true, - "requires": { - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.14.0", - "@babel/types": "^7.14.0" - }, + "license": "MIT", "dependencies": { - "@babel/traverse": { - "version": "7.14.0", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.14.0", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.14.0", - "@babel/types": "^7.14.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "debug": { - "version": "4.3.1", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "dev": true - } + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "@babel/highlight": { - "version": "7.14.0", + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.0", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" } }, - "@babel/parser": { - "version": "7.14.1", - "dev": true - }, - "@babel/plugin-syntax-jsx": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz", - "integrity": "sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw==", + "node_modules/regjsgen": { + "version": "0.5.0", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } + "license": "MIT" }, - "@babel/plugin-transform-react-display-name": { - "version": "7.15.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.15.1.tgz", - "integrity": "sha512-yQZ/i/pUCJAHI/LbtZr413S3VT26qNrEm0M5RRxQJA947/YNYwbZbBaXGDrq6CG5QsZycI1VIP6d7pQaBfP+8Q==", + "node_modules/regjsparser": { + "version": "0.6.0", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" } }, - "@babel/plugin-transform-react-jsx": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.9.tgz", - "integrity": "sha512-30PeETvS+AeD1f58i1OVyoDlVYQhap/K20ZrMjLmmzmC2AYR/G43D4sdJAaDAqCD3MYpSWbmrz3kES158QSLjw==", + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true + }, + "node_modules/repeat-element": { + "version": "1.1.2", "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-jsx": "^7.14.5", - "@babel/types": "^7.14.9" + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "@babel/plugin-transform-react-jsx-development": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.14.5.tgz", - "integrity": "sha512-rdwG/9jC6QybWxVe2UVOa7q6cnTpw8JRRHOxntG/h6g/guAOe6AhtQHJuJh5FwmnXIT1bdm5vC2/5huV8ZOorQ==", + "node_modules/repeat-string": { + "version": "1.6.1", "dev": true, - "requires": { - "@babel/plugin-transform-react-jsx": "^7.14.5" + "license": "MIT", + "engines": { + "node": ">=0.10" } }, - "@babel/plugin-transform-react-pure-annotations": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.14.5.tgz", - "integrity": "sha512-3X4HpBJimNxW4rhUy/SONPyNQHp5YRr0HhJdT2OH1BRp0of7u3Dkirc7x9FRJMKMqTBI079VZ1hzv7Ouuz///g==", + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" } }, - "@babel/preset-react": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.14.5.tgz", - "integrity": "sha512-XFxBkjyObLvBaAvkx1Ie95Iaq4S/GUEIrejyrntQ/VCMKUYvKLoyKxOBzJ2kjA3b6rC9/KL6KXfDC2GqvLiNqQ==", + "node_modules/request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-validator-option": "^7.14.5", - "@babel/plugin-transform-react-display-name": "^7.14.5", - "@babel/plugin-transform-react-jsx": "^7.14.5", - "@babel/plugin-transform-react-jsx-development": "^7.14.5", - "@babel/plugin-transform-react-pure-annotations": "^7.14.5" + "dependencies": { + "lodash": "^4.17.19" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "request": "^2.34" } }, - "@babel/runtime": { - "version": "7.12.5", + "node_modules/request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "deprecated": "request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142", "dev": true, - "requires": { - "regenerator-runtime": "^0.13.4" + "dependencies": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "engines": { + "node": ">=0.12.0" + }, + "peerDependencies": { + "request": "^2.34" } }, - "@babel/template": { - "version": "7.12.13", + "node_modules/request/node_modules/qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" + "engines": { + "node": ">=0.6" } }, - "@babel/traverse": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.5.tgz", - "integrity": "sha512-c4gH3jsvSuGUezlP6rzSJ6jf8fYjLj3hsMZRx/nX0h+fmHN0w+ekubRrHPqnMec0meycA2nwCsJ7dC8IPem2FQ==", + "node_modules/request/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/require-directory": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "1.0.1", + "dev": true, + "license": "ISC" + }, + "node_modules/resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "dependencies": { + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-dir": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "dev": true, + "license": "MIT" + }, + "node_modules/responselike": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "lowercase-keys": "^1.0.0" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ret": { + "version": "0.1.15", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "2.6.3", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/roarr": { + "version": "2.15.4", + "dev": true, + "license": "BSD-3-Clause", + "optional": true, + "dependencies": { + "boolean": "^3.0.1", + "detect-node": "^2.0.4", + "globalthis": "^1.0.1", + "json-stringify-safe": "^5.0.1", + "semver-compare": "^1.0.0", + "sprintf-js": "^1.1.2" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/roarr/node_modules/sprintf-js": { + "version": "1.1.2", + "dev": true, + "license": "BSD-3-Clause", + "optional": true + }, + "node_modules/rollup": { + "version": "2.70.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.70.1.tgz", + "integrity": "sha512-CRYsI5EuzLbXdxC6RnYhOuRdtz4bhejPMSWjsFLfVM/7w/85n2szZv6yExqUXsBdz5KT8eoubeyDUDjhLHEslA==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup-plugin-jscc": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jsbits/get-package-version": "^1.0.3", + "jscc": "^1.1.1", + "rollup-pluginutils": "^2.8.2" + }, + "engines": { + "node": ">=10.12.0" + }, + "peerDependencies": { + "rollup": ">=2" + } + }, + "node_modules/rollup-plugin-jscc/node_modules/estree-walker": { + "version": "0.6.1", + "dev": true, + "license": "MIT" + }, + "node_modules/rollup-plugin-jscc/node_modules/rollup-pluginutils": { + "version": "2.8.2", + "dev": true, + "license": "MIT", + "dependencies": { + "estree-walker": "^0.6.1" + } + }, + "node_modules/rollup-plugin-sourcemaps": { + "version": "0.4.2", + "dev": true, + "license": "MIT", + "dependencies": { + "rollup-pluginutils": "^2.0.1", + "source-map-resolve": "^0.5.0" + }, + "engines": { + "node": ">=4.5.0", + "npm": ">=2.15.9" + }, + "peerDependencies": { + "rollup": ">=0.31.2" + } + }, + "node_modules/rollup-plugin-string": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "rollup-pluginutils": "^2.4.1" + } + }, + "node_modules/rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0" + } + }, + "node_modules/rollup-plugin-typescript": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve": "^1.10.0", + "rollup-pluginutils": "^2.5.0" + }, + "peerDependencies": { + "tslib": "*", + "typescript": ">=2.1.0" + } + }, + "node_modules/rollup-pluginutils": { + "version": "2.6.0", + "dev": true, + "license": "MIT", + "dependencies": { + "estree-walker": "^0.6.0", + "micromatch": "^3.1.10" + } + }, + "node_modules/rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true, + "engines": { + "node": "6.* || >= 7.*" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-parallel": { + "version": "1.1.10", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.1", + "dev": true, + "license": "MIT" + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "deprecated": "some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added", + "dev": true, + "dependencies": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + }, + "bin": { + "sane": "src/cli.js" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/sane/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/sane/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/sane/node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/sane/node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/sane/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "5.5.0", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/semver-compare": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/serialize-error": { + "version": "7.0.1", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "type-fest": "^0.13.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/serialize-error/node_modules/type-fest": { + "version": "0.13.1", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/set-value": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shallow-clone/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shell-quote": { + "version": "1.7.2", + "dev": true, + "license": "MIT" + }, + "node_modules/shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true, + "optional": true + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz", + "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==", + "dev": true + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/skip-regex": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.2" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/slide": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", + "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "dev": true, + "license": "MIT", + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-data-descriptor": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-descriptor": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/kind-of": { + "version": "6.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "dev": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/socks": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.1.tgz", + "integrity": "sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA==", + "dev": true, + "dependencies": { + "ip": "^1.1.5", + "smart-buffer": "^4.1.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz", + "integrity": "sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==", + "dev": true, + "dependencies": { + "agent-base": "^6.0.2", + "debug": "4", + "socks": "^2.3.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/socks-proxy-agent/node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socks-proxy-agent/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/sort-keys": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "is-plain-obj": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.1", + "dev": true, + "license": "MIT", + "dependencies": { + "atob": "^2.0.0", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/sourcemap-codec": { + "version": "1.4.4", + "dev": true, + "license": "MIT" + }, + "node_modules/spawn-sync": { + "version": "1.0.15", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "concat-stream": "^1.4.7", + "os-shim": "^0.1.2" + } + }, + "node_modules/spdx-correct": { + "version": "3.1.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.2.0", + "dev": true, + "license": "CC-BY-3.0" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.4", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "dev": true, + "dependencies": { + "through": "2" + }, + "engines": { + "node": "*" + } + }, + "node_modules/split-on-first": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/split-string": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "dev": true, + "dependencies": { + "readable-stream": "^3.0.0" + } + }, + "node_modules/split2/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/split2/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/split2/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dev": true, + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/static-extend": { + "version": "0.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "dev": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/string_decoder": { + "version": "0.10.31", + "dev": true, + "license": "MIT" + }, + "node_modules/string-argv": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", + "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", + "dev": true, + "engines": { + "node": ">=0.6.19" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-length/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-length/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string.prototype.padend": { + "version": "3.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strong-log-transformer": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz", + "integrity": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==", + "dev": true, + "dependencies": { + "duplexer": "^0.1.1", + "minimist": "^1.2.0", + "through": "^2.3.4" + }, + "bin": { + "sl-log-transformer": "bin/sl-log-transformer.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/sumchecker": { + "version": "3.0.1", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "debug": "^4.1.0" + }, + "engines": { + "node": ">= 8.0" + } + }, + "node_modules/sumchecker/node_modules/debug": { + "version": "4.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/sumchecker/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/supports-color": { + "version": "5.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", + "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "node_modules/table": { + "version": "5.4.6", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/table/node_modules/ansi-regex": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/table/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/table/node_modules/string-width": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/table/node_modules/strip-ansi": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/taffydb": { + "version": "2.7.3", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/tar": { + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", + "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "dev": true, + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/task-graph-runner": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/task-graph-runner/-/task-graph-runner-1.0.3.tgz", + "integrity": "sha512-aC70bepv1j9jXX70nzolNvnHJvD4A3WtU4lQ1HEjgTS8rgnRXoUUq+xl9hZ1hKYXxVwElZXmUUMxpzDC6R0mRg==", + "dev": true, + "dependencies": { + "array-includes": "^3.0.3" + } + }, + "node_modules/temp-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", + "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/temp-write": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/temp-write/-/temp-write-4.0.0.tgz", + "integrity": "sha512-HIeWmj77uOOHb0QX7siN3OtwV3CTntquin6TNVg6SHOqCP3hYKmox90eeFOGaY1MqJ9WYDDjkyZrW6qS5AWpbw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.15", + "is-stream": "^2.0.0", + "make-dir": "^3.0.0", + "temp-dir": "^1.0.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/temp-write/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/temp-write/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/temp-write/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "5.12.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.12.1.tgz", + "integrity": "sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ==", + "dev": true, + "dependencies": { + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser/node_modules/acorn": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/terser/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-extensions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", + "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "dev": true, + "license": "MIT" + }, + "node_modules/through2": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" + } + }, + "node_modules/through2/node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/through2/node_modules/readable-stream": { + "version": "2.3.5", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.0.3", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/through2/node_modules/string_decoder": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", + "dev": true + }, + "node_modules/tmp": { + "version": "0.0.33", + "dev": true, + "license": "MIT", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-readable-stream": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dev": true, + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ts-jest": { + "version": "26.5.6", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.5.6.tgz", + "integrity": "sha512-rua+rCP8DxpA8b4DQD/6X2HQS8Zy/xzViVYfEs2OQu68tkCuKLV0Md8pmX55+W24uRIyAsf/BajRfxOs+R2MKA==", + "dev": true, + "dependencies": { + "bs-logger": "0.x", + "buffer-from": "1.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^26.1.0", + "json5": "2.x", + "lodash": "4.x", + "make-error": "1.x", + "mkdirp": "1.x", + "semver": "7.x", + "yargs-parser": "20.x" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": ">= 10" + }, + "peerDependencies": { + "jest": ">=26 <27", + "typescript": ">=3.8 <5.0" + } + }, + "node_modules/ts-jest/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-jest/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-jest/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-jest/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/ts-jest/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-node": { + "version": "9.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "arg": "^4.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "source-map-support": "^0.5.17", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "typescript": ">=2.7" + } + }, + "node_modules/ts-node/node_modules/diff": { + "version": "4.0.2", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/tsconfig-paths": { + "version": "3.10.1", + "dev": true, + "license": "MIT", + "dependencies": { + "json5": "^2.2.0", + "minimist": "^1.2.0", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tunnel": { + "version": "0.0.6", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + } + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.8.1", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "dev": true, + "license": "MIT" + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "dev": true, + "license": "MIT", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.5.tgz", + "integrity": "sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/uc.micro": { + "version": "1.0.6", + "dev": true, + "license": "MIT" + }, + "node_modules/uglify-js": { + "version": "3.14.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.3.tgz", + "integrity": "sha512-mic3aOdiq01DuSVx0TseaEzMIVqebMZ0Z3vaeDhFEh9bsc24hV1TFvN74reA2vs08D0ZWfNjAcJ3UbVLaBss+g==", + "dev": true, + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/uid-number": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", + "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/umask": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/umask/-/umask-1.1.0.tgz", + "integrity": "sha1-8pzr8B31F5ErtY/5xOUP3o4zMg0=", + "dev": true + }, + "node_modules/unbox-primitive": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/union-value": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/union-value/node_modules/arr-union": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/union-value/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/union-value/node_modules/set-value": { + "version": "0.4.3", + "dev": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", + "dev": true + }, + "node_modules/universalify": { + "version": "0.1.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unset-value": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/upath": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz", + "integrity": "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==", + "dev": true, + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/uri-js": { + "version": "4.2.2", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "dev": true, + "license": "MIT" + }, + "node_modules/url": { + "version": "0.11.0", + "license": "MIT", + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "node_modules/url-parse-lax": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "prepend-http": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "license": "MIT" + }, + "node_modules/use": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/util-promisify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/util-promisify/-/util-promisify-2.1.0.tgz", + "integrity": "sha1-PCI2R2xNMsX/PEcAKt18E7moKlM=", + "dev": true, + "dependencies": { + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "node_modules/util.promisify": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz", + "integrity": "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "for-each": "^0.3.3", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/uuid": { + "version": "3.4.0", + "dev": true, + "license": "MIT", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.1.1", + "dev": true, + "license": "MIT" + }, + "node_modules/v8-to-istanbul": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz", + "integrity": "sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/v8-to-istanbul/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/validate-npm-package-name": { + "version": "3.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "builtins": "^1.0.3" + } + }, + "node_modules/validator": { + "version": "13.7.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz", + "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "dev": true, + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dev": true, + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true, + "engines": { + "node": ">=10.4" + } + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dev": true, + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/which": { + "version": "1.3.0", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-module": { + "version": "2.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/wide-align": { + "version": "1.1.3", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^1.0.2 || 2" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "node_modules/workspaces-run": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/workspaces-run/-/workspaces-run-1.0.1.tgz", + "integrity": "sha512-B7tZj/g4/1JCeNQ7+zVNVBC83hOJBKpOm/yYob3eqw0Aerp1Guecfdf0J6kO/I/EyA2X2uP1oCHWsh2QywXh0A==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.1", + "chalk": "^3.0.0", + "chunkd": "^2.0.1", + "cross-spawn": "^7.0.1", + "get-workspaces": "^0.5.2", + "meow": "^6.0.0", + "micromatch": "^4.0.2", + "p-limit": "^2.2.1", + "physical-cpu-count": "^2.0.0", + "redent": "^3.0.0", + "semver": "^7.1.1", + "signal-exit": "^3.0.2", + "task-graph-runner": "^1.0.3", + "trim-newlines": "^3.0.0", + "wrapline": "^2.0.1" + }, + "bin": { + "workspaces-run": "bin.js" + } + }, + "node_modules/workspaces-run/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/workspaces-run/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/workspaces-run/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/workspaces-run/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/workspaces-run/node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/workspaces-run/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/workspaces-run/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/workspaces-run/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/workspaces-run/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/workspaces-run/node_modules/meow": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-6.1.1.tgz", + "integrity": "sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==", + "dev": true, + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "^4.0.2", + "normalize-package-data": "^2.5.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.13.1", + "yargs-parser": "^18.1.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/workspaces-run/node_modules/meow/node_modules/type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/workspaces-run/node_modules/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/workspaces-run/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/workspaces-run/node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/workspaces-run/node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/workspaces-run/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/workspaces-run/node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/workspaces-run/node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/workspaces-run/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/workspaces-run/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/workspaces-run/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/workspaces-run/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/workspaces-run/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/workspaces-run/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/workspaces-run/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/workspaces-run/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/workspaces-run/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrapline": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wrapline/-/wrapline-2.0.1.tgz", + "integrity": "sha1-x5kIrBX0HUAdpmB/8lZh1MkUebs=", + "dev": true, + "dependencies": { + "duplexer2": "~0.0.2", + "split2": "^0.1.2", + "through2": "^0.5.1" + } + }, + "node_modules/wrapline/node_modules/object-keys": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=", + "dev": true + }, + "node_modules/wrapline/node_modules/split2": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-0.1.2.tgz", + "integrity": "sha1-pNVguR8EFo8hzZvdVptveNUWRZM=", + "dev": true, + "dependencies": { + "through2": "~0.4.1" + } + }, + "node_modules/wrapline/node_modules/split2/node_modules/through2": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", + "integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=", + "dev": true, + "dependencies": { + "readable-stream": "~1.0.17", + "xtend": "~2.1.1" + } + }, + "node_modules/wrapline/node_modules/split2/node_modules/xtend": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", + "dev": true, + "dependencies": { + "object-keys": "~0.4.0" + }, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/wrapline/node_modules/through2": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz", + "integrity": "sha1-390BLrnHAOIyP9M084rGIqs3Lac=", + "dev": true, + "dependencies": { + "readable-stream": "~1.0.17", + "xtend": "~3.0.0" + } + }, + "node_modules/wrapline/node_modules/xtend": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz", + "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "dev": true, + "license": "ISC" + }, + "node_modules/write": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "mkdirp": "^0.5.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/write-file-atomic": { + "version": "2.4.2", + "dev": true, + "license": "ISC", + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "node_modules/ws": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.8.tgz", + "integrity": "sha512-ri1Id1WinAX5Jqn9HejiGb8crfRio0Qgu8+MtL36rlTA6RLsMdWt1Az/19A2Qij6uSHUMphEFaTKa4WG+UNHNw==", + "dev": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "node_modules/xtend": { + "version": "4.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "3.2.1", + "dev": true, + "license": "ISC" + }, + "node_modules/yallist": { + "version": "2.1.2", + "dev": true, + "license": "ISC" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "15.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs-parser": { + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/yargs/node_modules/cliui": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/yargs/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/yargs/node_modules/get-caller-file": { + "version": "2.0.5", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/require-main-filename": { + "version": "2.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/wrap-ansi": { + "version": "6.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/y18n": { + "version": "4.0.3", + "dev": true, + "license": "ISC" + }, + "node_modules/yargs/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/z-schema": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-5.0.2.tgz", + "integrity": "sha512-40TH47ukMHq5HrzkeVE40Ad7eIDKaRV2b+Qpi2prLc9X9eFJFzV7tMe5aH12e6avaSS/u5l653EQOv+J9PirPw==", + "dev": true, + "dependencies": { + "lodash.get": "^4.4.2", + "lodash.isequal": "^4.5.0", + "validator": "^13.7.0" + }, + "bin": { + "z-schema": "bin/z-schema" + }, + "engines": { + "node": ">=8.0.0" + }, + "optionalDependencies": { + "commander": "^2.7.1" + } + }, + "packages/accessibility": { + "name": "@pixi/accessibility", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/core": "6.4.2", + "@pixi/display": "6.4.2", + "@pixi/utils": "6.4.2" + } + }, + "packages/app": { + "name": "@pixi/app", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/core": "6.4.2", + "@pixi/display": "6.4.2" + } + }, + "packages/basis": { + "name": "@pixi/basis", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/compressed-textures": "6.4.2", + "@pixi/constants": "6.4.2", + "@pixi/core": "6.4.2", + "@pixi/loaders": "6.4.2", + "@pixi/runner": "6.4.2" + } + }, + "packages/canvas-display": { + "name": "@pixi/canvas-display", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/display": "6.4.2" + } + }, + "packages/canvas-extract": { + "name": "@pixi/canvas-extract", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/canvas-renderer": "6.4.2", + "@pixi/core": "6.4.2", + "@pixi/display": "6.4.2", + "@pixi/math": "6.4.2", + "@pixi/utils": "6.4.2" + } + }, + "packages/canvas-graphics": { + "name": "@pixi/canvas-graphics", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/canvas-display": "6.4.2", + "@pixi/canvas-renderer": "6.4.2", + "@pixi/constants": "6.4.2", + "@pixi/core": "6.4.2", + "@pixi/graphics": "6.4.2", + "@pixi/math": "6.4.2" + } + }, + "packages/canvas-mesh": { + "name": "@pixi/canvas-mesh", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/canvas-display": "6.4.2", + "@pixi/canvas-renderer": "6.4.2", + "@pixi/constants": "6.4.2", + "@pixi/mesh": "6.4.2", + "@pixi/mesh-extras": "6.4.2", + "@pixi/settings": "6.4.2" + } + }, + "packages/canvas-particle-container": { + "name": "@pixi/canvas-particle-container", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/particle-container": "6.4.2" + } + }, + "packages/canvas-prepare": { + "name": "@pixi/canvas-prepare", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/canvas-renderer": "6.4.2", + "@pixi/core": "6.4.2", + "@pixi/prepare": "6.4.2" + } + }, + "packages/canvas-renderer": { + "name": "@pixi/canvas-renderer", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/constants": "6.4.2", + "@pixi/core": "6.4.2", + "@pixi/math": "6.4.2", + "@pixi/settings": "6.4.2", + "@pixi/utils": "6.4.2" + } + }, + "packages/canvas-sprite": { + "name": "@pixi/canvas-sprite", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/canvas-display": "6.4.2", + "@pixi/canvas-renderer": "6.4.2", + "@pixi/constants": "6.4.2", + "@pixi/math": "6.4.2", + "@pixi/sprite": "6.4.2", + "@pixi/utils": "6.4.2" + } + }, + "packages/canvas-sprite-tiling": { + "name": "@pixi/canvas-sprite-tiling", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/canvas-renderer": "6.4.2", + "@pixi/canvas-sprite": "6.4.2", + "@pixi/math": "6.4.2", + "@pixi/sprite-tiling": "6.4.2", + "@pixi/utils": "6.4.2" + } + }, + "packages/canvas-text": { + "name": "@pixi/canvas-text", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/canvas-sprite": "6.4.2", + "@pixi/sprite": "6.4.2", + "@pixi/text": "6.4.2" + } + }, + "packages/compressed-textures": { + "name": "@pixi/compressed-textures", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/constants": "6.4.2", + "@pixi/core": "6.4.2", + "@pixi/loaders": "6.4.2", + "@pixi/settings": "6.4.2", + "@pixi/utils": "6.4.2" + } + }, + "packages/constants": { + "name": "@pixi/constants", + "version": "6.4.2", + "license": "MIT" + }, + "packages/core": { + "name": "@pixi/core", + "version": "6.4.2", + "license": "MIT", + "dependencies": { + "@types/offscreencanvas": "^2019.6.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/pixijs" + }, + "peerDependencies": { + "@pixi/constants": "6.4.2", + "@pixi/math": "6.4.2", + "@pixi/runner": "6.4.2", + "@pixi/settings": "6.4.2", + "@pixi/ticker": "6.4.2", + "@pixi/utils": "6.4.2" + } + }, + "packages/display": { + "name": "@pixi/display", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/math": "6.4.2", + "@pixi/settings": "6.4.2", + "@pixi/utils": "6.4.2" + } + }, + "packages/events": { + "name": "@pixi/events", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/display": "6.4.2", + "@pixi/math": "6.4.2", + "@pixi/utils": "6.4.2" + } + }, + "packages/extract": { + "name": "@pixi/extract", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/core": "6.4.2", + "@pixi/math": "6.4.2", + "@pixi/utils": "6.4.2" + } + }, + "packages/filter-alpha": { + "name": "@pixi/filter-alpha", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/core": "6.4.2" + } + }, + "packages/filter-blur": { + "name": "@pixi/filter-blur", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/core": "6.4.2", + "@pixi/settings": "6.4.2" + } + }, + "packages/filter-color-matrix": { + "name": "@pixi/filter-color-matrix", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/core": "6.4.2" + } + }, + "packages/filter-displacement": { + "name": "@pixi/filter-displacement", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/core": "6.4.2", + "@pixi/math": "6.4.2" + } + }, + "packages/filter-fxaa": { + "name": "@pixi/filter-fxaa", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/core": "6.4.2" + } + }, + "packages/filter-noise": { + "name": "@pixi/filter-noise", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/core": "6.4.2" + } + }, + "packages/graphics": { + "name": "@pixi/graphics", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/constants": "6.4.2", + "@pixi/core": "6.4.2", + "@pixi/display": "6.4.2", + "@pixi/math": "6.4.2", + "@pixi/sprite": "6.4.2", + "@pixi/utils": "6.4.2" + } + }, + "packages/graphics-extras": { + "name": "@pixi/graphics-extras", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/graphics": "6.4.2", + "@pixi/math": "6.4.2" + } + }, + "packages/interaction": { + "name": "@pixi/interaction", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/core": "6.4.2", + "@pixi/display": "6.4.2", + "@pixi/math": "6.4.2", + "@pixi/ticker": "6.4.2", + "@pixi/utils": "6.4.2" + } + }, + "packages/loaders": { + "name": "@pixi/loaders", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/constants": "6.4.2", + "@pixi/core": "6.4.2", + "@pixi/utils": "6.4.2" + } + }, + "packages/math": { + "name": "@pixi/math", + "version": "6.4.2", + "license": "MIT" + }, + "packages/math-extras": { + "name": "@pixi/math-extras", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/math": "6.4.2" + } + }, + "packages/mesh": { + "name": "@pixi/mesh", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/constants": "6.4.2", + "@pixi/core": "6.4.2", + "@pixi/display": "6.4.2", + "@pixi/math": "6.4.2", + "@pixi/settings": "6.4.2", + "@pixi/utils": "6.4.2" + } + }, + "packages/mesh-extras": { + "name": "@pixi/mesh-extras", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/constants": "6.4.2", + "@pixi/core": "6.4.2", + "@pixi/math": "6.4.2", + "@pixi/mesh": "6.4.2", + "@pixi/utils": "6.4.2" + } + }, + "packages/mixin-cache-as-bitmap": { + "name": "@pixi/mixin-cache-as-bitmap", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/core": "6.4.2", + "@pixi/display": "6.4.2", + "@pixi/math": "6.4.2", + "@pixi/settings": "6.4.2", + "@pixi/sprite": "6.4.2", + "@pixi/utils": "6.4.2" + } + }, + "packages/mixin-get-child-by-name": { + "name": "@pixi/mixin-get-child-by-name", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/display": "6.4.2" + } + }, + "packages/mixin-get-global-position": { + "name": "@pixi/mixin-get-global-position", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/display": "6.4.2", + "@pixi/math": "6.4.2" + } + }, + "packages/particle-container": { + "name": "@pixi/particle-container", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/constants": "6.4.2", + "@pixi/core": "6.4.2", + "@pixi/display": "6.4.2", + "@pixi/math": "6.4.2", + "@pixi/utils": "6.4.2" + } + }, + "packages/polyfill": { + "name": "@pixi/polyfill", + "version": "6.4.2", + "license": "MIT", + "dependencies": { + "object-assign": "^4.1.1", + "promise-polyfill": "^8.2.0" + }, + "devDependencies": { + "@types/object-assign": "^4.0.30", + "@types/promise-polyfill": "^6.0.3" + } + }, + "packages/prepare": { + "name": "@pixi/prepare", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/core": "6.4.2", + "@pixi/display": "6.4.2", + "@pixi/graphics": "6.4.2", + "@pixi/settings": "6.4.2", + "@pixi/text": "6.4.2", + "@pixi/ticker": "6.4.2", + "@pixi/utils": "6.4.2" + } + }, + "packages/runner": { + "name": "@pixi/runner", + "version": "6.4.2", + "license": "MIT" + }, + "packages/settings": { + "name": "@pixi/settings", + "version": "6.4.2", + "license": "MIT", + "dependencies": { + "ismobilejs": "^1.1.0" + } + }, + "packages/sprite": { + "name": "@pixi/sprite", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/constants": "6.4.2", + "@pixi/core": "6.4.2", + "@pixi/display": "6.4.2", + "@pixi/math": "6.4.2", + "@pixi/settings": "6.4.2", + "@pixi/utils": "6.4.2" + } + }, + "packages/sprite-animated": { + "name": "@pixi/sprite-animated", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/core": "6.4.2", + "@pixi/sprite": "6.4.2", + "@pixi/ticker": "6.4.2" + } + }, + "packages/sprite-tiling": { + "name": "@pixi/sprite-tiling", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/constants": "6.4.2", + "@pixi/core": "6.4.2", + "@pixi/display": "6.4.2", + "@pixi/math": "6.4.2", + "@pixi/sprite": "6.4.2", + "@pixi/utils": "6.4.2" + } + }, + "packages/spritesheet": { + "name": "@pixi/spritesheet", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/core": "6.4.2", + "@pixi/loaders": "6.4.2", + "@pixi/math": "6.4.2", + "@pixi/utils": "6.4.2" + } + }, + "packages/text": { + "name": "@pixi/text", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/core": "6.4.2", + "@pixi/math": "6.4.2", + "@pixi/settings": "6.4.2", + "@pixi/sprite": "6.4.2", + "@pixi/utils": "6.4.2" + } + }, + "packages/text-bitmap": { + "name": "@pixi/text-bitmap", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/constants": "6.4.2", + "@pixi/core": "6.4.2", + "@pixi/display": "6.4.2", + "@pixi/loaders": "6.4.2", + "@pixi/math": "6.4.2", + "@pixi/mesh": "6.4.2", + "@pixi/settings": "6.4.2", + "@pixi/text": "6.4.2", + "@pixi/utils": "6.4.2" + } + }, + "packages/ticker": { + "name": "@pixi/ticker", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/settings": "6.4.2" + } + }, + "packages/unsafe-eval": { + "name": "@pixi/unsafe-eval", + "version": "6.4.2", + "license": "MIT", + "peerDependencies": { + "@pixi/core": "6.4.2" + } + }, + "packages/utils": { + "name": "@pixi/utils", + "version": "6.4.2", + "license": "MIT", + "dependencies": { + "@types/earcut": "^2.1.0", + "earcut": "^2.2.2", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + }, + "devDependencies": { + "css-color-names": "^1.0.1" + }, + "peerDependencies": { + "@pixi/constants": "6.4.2", + "@pixi/settings": "6.4.2" + } + }, + "tools/integration-tests": { + "name": "@internal/integration-tests", + "version": "6.4.2", + "devDependencies": { + "@pixi/canvas-display": "6.4.2", + "@pixi/canvas-graphics": "6.4.2", + "@pixi/canvas-mesh": "6.4.2", + "@pixi/canvas-renderer": "6.4.2", + "@pixi/canvas-sprite": "6.4.2", + "@pixi/canvas-text": "6.4.2", + "@pixi/core": "6.4.2", + "@pixi/display": "6.4.2", + "@pixi/graphics": "6.4.2", + "@pixi/math": "6.4.2", + "@pixi/mesh": "6.4.2", + "@pixi/mesh-extras": "6.4.2", + "@pixi/sprite": "6.4.2", + "@pixi/text": "6.4.2", + "@pixi/utils": "6.4.2" + } + } + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/compat-data": { + "version": "7.14.0", + "dev": true + }, + "@babel/core": { + "version": "7.14.0", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.14.0", + "@babel/helper-compilation-targets": "^7.13.16", + "@babel/helper-module-transforms": "^7.14.0", + "@babel/helpers": "^7.14.0", + "@babel/parser": "^7.14.0", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.14.0", + "@babel/types": "^7.14.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + }, + "dependencies": { + "@babel/traverse": { + "version": "7.14.0", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.14.0", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.14.0", + "@babel/types": "^7.14.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "debug": { + "version": "4.3.1", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "semver": { + "version": "6.3.0", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.14.1", + "dev": true, + "requires": { + "@babel/types": "^7.14.1", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "2.5.2", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "dev": true + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz", + "integrity": "sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.13.16", + "dev": true, + "requires": { + "@babel/compat-data": "^7.13.15", + "@babel/helper-validator-option": "^7.12.17", + "browserslist": "^4.14.5", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "dev": true + } + } + }, + "@babel/helper-function-name": { + "version": "7.12.13", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.13", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.13.12", + "dev": true, + "requires": { + "@babel/types": "^7.13.12" + } + }, + "@babel/helper-module-imports": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", + "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-module-transforms": { + "version": "7.14.0", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.13.12", + "@babel/helper-replace-supers": "^7.13.12", + "@babel/helper-simple-access": "^7.13.12", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/helper-validator-identifier": "^7.14.0", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.14.0", + "@babel/types": "^7.14.0" + }, + "dependencies": { + "@babel/traverse": { + "version": "7.14.0", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.14.0", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.14.0", + "@babel/types": "^7.14.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "debug": { + "version": "4.3.1", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "dev": true + } + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.12.13", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + }, + "@babel/helper-replace-supers": { + "version": "7.13.12", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.13.12", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.12" + }, + "dependencies": { + "@babel/traverse": { + "version": "7.14.0", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.14.0", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.14.0", + "@babel/types": "^7.14.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "debug": { + "version": "4.3.1", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "dev": true + } + } + }, + "@babel/helper-simple-access": { + "version": "7.13.12", + "dev": true, + "requires": { + "@babel/types": "^7.13.12" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.13", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", + "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", + "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", + "dev": true + }, + "@babel/helpers": { + "version": "7.14.0", + "dev": true, + "requires": { + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.14.0", + "@babel/types": "^7.14.0" + }, + "dependencies": { + "@babel/traverse": { + "version": "7.14.0", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.14.0", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.14.0", + "@babel/types": "^7.14.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "debug": { + "version": "4.3.1", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "dev": true + } + } + }, + "@babel/highlight": { + "version": "7.14.0", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.0", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.18.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.5.tgz", + "integrity": "sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw==", + "dev": true + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz", + "integrity": "sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.15.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.15.1.tgz", + "integrity": "sha512-yQZ/i/pUCJAHI/LbtZr413S3VT26qNrEm0M5RRxQJA947/YNYwbZbBaXGDrq6CG5QsZycI1VIP6d7pQaBfP+8Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.9.tgz", + "integrity": "sha512-30PeETvS+AeD1f58i1OVyoDlVYQhap/K20ZrMjLmmzmC2AYR/G43D4sdJAaDAqCD3MYpSWbmrz3kES158QSLjw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-jsx": "^7.14.5", + "@babel/types": "^7.14.9" + } + }, + "@babel/plugin-transform-react-jsx-development": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.14.5.tgz", + "integrity": "sha512-rdwG/9jC6QybWxVe2UVOa7q6cnTpw8JRRHOxntG/h6g/guAOe6AhtQHJuJh5FwmnXIT1bdm5vC2/5huV8ZOorQ==", + "dev": true, + "requires": { + "@babel/plugin-transform-react-jsx": "^7.14.5" + } + }, + "@babel/plugin-transform-react-pure-annotations": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.14.5.tgz", + "integrity": "sha512-3X4HpBJimNxW4rhUy/SONPyNQHp5YRr0HhJdT2OH1BRp0of7u3Dkirc7x9FRJMKMqTBI079VZ1hzv7Ouuz///g==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/preset-react": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.14.5.tgz", + "integrity": "sha512-XFxBkjyObLvBaAvkx1Ie95Iaq4S/GUEIrejyrntQ/VCMKUYvKLoyKxOBzJ2kjA3b6rC9/KL6KXfDC2GqvLiNqQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "@babel/plugin-transform-react-display-name": "^7.14.5", + "@babel/plugin-transform-react-jsx": "^7.14.5", + "@babel/plugin-transform-react-jsx-development": "^7.14.5", + "@babel/plugin-transform-react-pure-annotations": "^7.14.5" + } + }, + "@babel/runtime": { + "version": "7.12.5", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.12.13", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/traverse": { + "version": "7.9.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.5.tgz", + "integrity": "sha512-c4gH3jsvSuGUezlP6rzSJ6jf8fYjLj3hsMZRx/nX0h+fmHN0w+ekubRrHPqnMec0meycA2nwCsJ7dC8IPem2FQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.9.5", + "@babel/helper-function-name": "^7.9.5", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/parser": "^7.9.0", + "@babel/types": "^7.9.5", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + }, + "dependencies": { + "debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", + "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.9", + "to-fast-properties": "^2.0.0" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "@changesets/types": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@changesets/types/-/types-0.4.0.tgz", + "integrity": "sha512-TclHHKDVYQ8rJGZgVeWiF7c91yWzTTWdPagltgutelGu/Psup5PQlUq6svx7S8suj+jXcaE34yEEsfIvzXXB2Q==", + "dev": true + }, + "@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "dev": true, + "requires": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + } + }, + "@electron/get": { + "version": "1.12.4", + "dev": true, + "requires": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "global-agent": "^2.0.2", + "global-tunnel-ng": "^2.7.1", + "got": "^9.6.0", + "progress": "^2.0.3", + "semver": "^6.2.0", + "sumchecker": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "ms": { + "version": "2.1.2", + "dev": true + }, + "semver": { + "version": "6.3.0", + "dev": true + } + } + }, + "@es-joy/jsdoccomment": { + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.29.0.tgz", + "integrity": "sha512-4yKy5t+/joLihG+ei6CCU6sc08sjUdEdXCQ2U+9h9VP13EiqHQ4YMgDC18ys/AsLdJDBX3KRx/AWY6PR7hn52Q==", + "dev": true, + "requires": { + "comment-parser": "1.3.1", + "esquery": "^1.4.0", + "jsdoc-type-pratt-parser": "~3.0.1" + } + }, + "@gar/promisify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.2.tgz", + "integrity": "sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw==", + "dev": true + }, + "@hutson/parse-repository-url": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz", + "integrity": "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==", + "dev": true + }, + "@internal/integration-tests": { + "version": "file:tools/integration-tests", + "requires": { + "@pixi/canvas-display": "6.4.2", + "@pixi/canvas-graphics": "6.4.2", + "@pixi/canvas-mesh": "6.4.2", + "@pixi/canvas-renderer": "6.4.2", + "@pixi/canvas-sprite": "6.4.2", + "@pixi/canvas-text": "6.4.2", + "@pixi/core": "6.4.2", + "@pixi/display": "6.4.2", + "@pixi/graphics": "6.4.2", + "@pixi/math": "6.4.2", + "@pixi/mesh": "6.4.2", + "@pixi/mesh-extras": "6.4.2", + "@pixi/sprite": "6.4.2", + "@pixi/text": "6.4.2", + "@pixi/utils": "6.4.2" + } + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "dev": true + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "dev": true + }, + "@jest/console": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz", + "integrity": "sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^26.6.2", + "jest-util": "^26.6.2", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/core": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz", + "integrity": "sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==", + "dev": true, + "requires": { + "@jest/console": "^26.6.2", + "@jest/reporters": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^26.6.2", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-resolve-dependencies": "^26.6.3", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "jest-watcher": "^26.6.2", + "micromatch": "^4.0.2", + "p-each-series": "^2.1.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "@jest/environment": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", + "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", + "dev": true, + "requires": { + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2" + }, + "dependencies": { + "jest-mock": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", + "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*" + } + } + } + }, + "@jest/fake-timers": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz", + "integrity": "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@sinonjs/fake-timers": "^6.0.1", + "@types/node": "*", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" + }, + "dependencies": { + "jest-mock": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", + "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*" + } + } + } + }, + "@jest/globals": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz", + "integrity": "sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==", + "dev": true, + "requires": { + "@jest/environment": "^26.6.2", + "@jest/types": "^26.6.2", + "expect": "^26.6.2" + } + }, + "@jest/reporters": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz", + "integrity": "sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==", + "dev": true, + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.3", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "jest-haste-map": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "node-notifier": "^8.0.0", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^7.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/source-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz", + "integrity": "sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==", + "dev": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + } + }, + "@jest/test-result": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz", + "integrity": "sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==", + "dev": true, + "requires": { + "@jest/console": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz", + "integrity": "sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==", + "dev": true, + "requires": { + "@jest/test-result": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3" + } + }, + "@jest/transform": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", + "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^26.6.2", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-util": "^26.6.2", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + } + } + }, + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jsbits/escape-regex-str": { + "version": "1.0.3", + "dev": true + }, + "@jsbits/get-package-version": { + "version": "1.0.3", + "dev": true + }, + "@lerna/add": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/add/-/add-4.0.0.tgz", + "integrity": "sha512-cpmAH1iS3k8JBxNvnMqrGTTjbY/ZAiKa1ChJzFevMYY3eeqbvhsBKnBcxjRXtdrJ6bd3dCQM+ZtK+0i682Fhng==", + "dev": true, + "requires": { + "@lerna/bootstrap": "4.0.0", + "@lerna/command": "4.0.0", + "@lerna/filter-options": "4.0.0", + "@lerna/npm-conf": "4.0.0", + "@lerna/validation-error": "4.0.0", + "dedent": "^0.7.0", + "npm-package-arg": "^8.1.0", + "p-map": "^4.0.0", + "pacote": "^11.2.6", + "semver": "^7.3.4" + }, + "dependencies": { + "@lerna/validation-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", + "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", + "dev": true, + "requires": { + "npmlog": "^4.1.2" + } + }, + "hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "npm-package-arg": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", + "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@lerna/bootstrap": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-4.0.0.tgz", + "integrity": "sha512-RkS7UbeM2vu+kJnHzxNRCLvoOP9yGNgkzRdy4UV2hNalD7EP41bLvRVOwRYQ7fhc2QcbhnKNdOBihYRL0LcKtw==", + "dev": true, + "requires": { + "@lerna/command": "4.0.0", + "@lerna/filter-options": "4.0.0", + "@lerna/has-npm-version": "4.0.0", + "@lerna/npm-install": "4.0.0", + "@lerna/package-graph": "4.0.0", + "@lerna/pulse-till-done": "4.0.0", + "@lerna/rimraf-dir": "4.0.0", + "@lerna/run-lifecycle": "4.0.0", + "@lerna/run-topologically": "4.0.0", + "@lerna/symlink-binary": "4.0.0", + "@lerna/symlink-dependencies": "4.0.0", + "@lerna/validation-error": "4.0.0", + "dedent": "^0.7.0", + "get-port": "^5.1.1", + "multimatch": "^5.0.0", + "npm-package-arg": "^8.1.0", + "npmlog": "^4.1.2", + "p-map": "^4.0.0", + "p-map-series": "^2.1.0", + "p-waterfall": "^2.1.1", + "read-package-tree": "^5.3.1", + "semver": "^7.3.4" + }, + "dependencies": { + "@lerna/validation-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", + "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", + "dev": true, + "requires": { + "npmlog": "^4.1.2" + } + }, + "hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "npm-package-arg": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", + "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@lerna/changed": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/changed/-/changed-4.0.0.tgz", + "integrity": "sha512-cD+KuPRp6qiPOD+BO6S6SN5cARspIaWSOqGBpGnYzLb4uWT8Vk4JzKyYtc8ym1DIwyoFXHosXt8+GDAgR8QrgQ==", + "dev": true, + "requires": { + "@lerna/collect-updates": "4.0.0", + "@lerna/command": "4.0.0", + "@lerna/listable": "4.0.0", + "@lerna/output": "4.0.0" + } + }, + "@lerna/check-working-tree": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/check-working-tree/-/check-working-tree-4.0.0.tgz", + "integrity": "sha512-/++bxM43jYJCshBiKP5cRlCTwSJdRSxVmcDAXM+1oUewlZJVSVlnks5eO0uLxokVFvLhHlC5kHMc7gbVFPHv6Q==", + "dev": true, + "requires": { + "@lerna/collect-uncommitted": "4.0.0", + "@lerna/describe-ref": "4.0.0", + "@lerna/validation-error": "4.0.0" + }, + "dependencies": { + "@lerna/validation-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", + "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", + "dev": true, + "requires": { + "npmlog": "^4.1.2" + } + } + } + }, + "@lerna/child-process": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/child-process/-/child-process-4.0.0.tgz", + "integrity": "sha512-XtCnmCT9eyVsUUHx6y/CTBYdV9g2Cr/VxyseTWBgfIur92/YKClfEtJTbOh94jRT62hlKLqSvux/UhxXVh613Q==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "execa": "^5.0.0", + "strong-log-transformer": "^2.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@lerna/clean": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/clean/-/clean-4.0.0.tgz", + "integrity": "sha512-uugG2iN9k45ITx2jtd8nEOoAtca8hNlDCUM0N3lFgU/b1mEQYAPRkqr1qs4FLRl/Y50ZJ41wUz1eazS+d/0osA==", + "dev": true, + "requires": { + "@lerna/command": "4.0.0", + "@lerna/filter-options": "4.0.0", + "@lerna/prompt": "4.0.0", + "@lerna/pulse-till-done": "4.0.0", + "@lerna/rimraf-dir": "4.0.0", + "p-map": "^4.0.0", + "p-map-series": "^2.1.0", + "p-waterfall": "^2.1.1" + } + }, + "@lerna/cli": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/cli/-/cli-4.0.0.tgz", + "integrity": "sha512-Neaw3GzFrwZiRZv2g7g6NwFjs3er1vhraIniEs0jjVLPMNC4eata0na3GfE5yibkM/9d3gZdmihhZdZ3EBdvYA==", + "dev": true, + "requires": { + "@lerna/global-options": "4.0.0", + "dedent": "^0.7.0", + "npmlog": "^4.1.2", + "yargs": "^16.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true + } + } + }, + "@lerna/collect-uncommitted": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/collect-uncommitted/-/collect-uncommitted-4.0.0.tgz", + "integrity": "sha512-ufSTfHZzbx69YNj7KXQ3o66V4RC76ffOjwLX0q/ab//61bObJ41n03SiQEhSlmpP+gmFbTJ3/7pTe04AHX9m/g==", + "dev": true, + "requires": { + "@lerna/child-process": "4.0.0", + "chalk": "^4.1.0", + "npmlog": "^4.1.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@lerna/collect-updates": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-4.0.0.tgz", + "integrity": "sha512-bnNGpaj4zuxsEkyaCZLka9s7nMs58uZoxrRIPJ+nrmrZYp1V5rrd+7/NYTuunOhY2ug1sTBvTAxj3NZQ+JKnOw==", + "dev": true, + "requires": { + "@lerna/child-process": "4.0.0", + "@lerna/describe-ref": "4.0.0", + "minimatch": "^3.0.4", + "npmlog": "^4.1.2", + "slash": "^3.0.0" + } + }, + "@lerna/command": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/command/-/command-4.0.0.tgz", + "integrity": "sha512-LM9g3rt5FsPNFqIHUeRwWXLNHJ5NKzOwmVKZ8anSp4e1SPrv2HNc1V02/9QyDDZK/w+5POXH5lxZUI1CHaOK/A==", + "dev": true, + "requires": { + "@lerna/child-process": "4.0.0", + "@lerna/package-graph": "4.0.0", + "@lerna/project": "4.0.0", + "@lerna/validation-error": "4.0.0", + "@lerna/write-log-file": "4.0.0", + "clone-deep": "^4.0.1", + "dedent": "^0.7.0", + "execa": "^5.0.0", + "is-ci": "^2.0.0", + "npmlog": "^4.1.2" + }, + "dependencies": { + "@lerna/validation-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", + "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", + "dev": true, + "requires": { + "npmlog": "^4.1.2" + } + } + } + }, + "@lerna/conventional-commits": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-4.0.0.tgz", + "integrity": "sha512-CSUQRjJHFrH8eBn7+wegZLV3OrNc0Y1FehYfYGhjLE2SIfpCL4bmfu/ViYuHh9YjwHaA+4SX6d3hR+xkeseKmw==", + "dev": true, + "requires": { + "@lerna/validation-error": "4.0.0", + "conventional-changelog-angular": "^5.0.12", + "conventional-changelog-core": "^4.2.2", + "conventional-recommended-bump": "^6.1.0", + "fs-extra": "^9.1.0", + "get-stream": "^6.0.0", + "lodash.template": "^4.5.0", + "npm-package-arg": "^8.1.0", + "npmlog": "^4.1.2", + "pify": "^5.0.0", + "semver": "^7.3.4" + }, + "dependencies": { + "@lerna/validation-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", + "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", + "dev": true, + "requires": { + "npmlog": "^4.1.2" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "npm-package-arg": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", + "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" + } + }, + "pify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", + "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", + "dev": true + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@lerna/create": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/create/-/create-4.0.0.tgz", + "integrity": "sha512-mVOB1niKByEUfxlbKTM1UNECWAjwUdiioIbRQZEeEabtjCL69r9rscIsjlGyhGWCfsdAG5wfq4t47nlDXdLLag==", + "dev": true, + "requires": { + "@lerna/child-process": "4.0.0", + "@lerna/command": "4.0.0", + "@lerna/npm-conf": "4.0.0", + "@lerna/validation-error": "4.0.0", + "dedent": "^0.7.0", + "fs-extra": "^9.1.0", + "globby": "^11.0.2", + "init-package-json": "^2.0.2", + "npm-package-arg": "^8.1.0", + "p-reduce": "^2.1.0", + "pacote": "^11.2.6", + "pify": "^5.0.0", + "semver": "^7.3.4", + "slash": "^3.0.0", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "^3.0.0", + "whatwg-url": "^8.4.0", + "yargs-parser": "20.2.4" + }, + "dependencies": { + "@lerna/validation-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", + "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", + "dev": true, + "requires": { + "npmlog": "^4.1.2" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "npm-package-arg": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", + "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" + } + }, + "pify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", + "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", + "dev": true + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true + } + } + }, + "@lerna/create-symlink": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/create-symlink/-/create-symlink-4.0.0.tgz", + "integrity": "sha512-I0phtKJJdafUiDwm7BBlEUOtogmu8+taxq6PtIrxZbllV9hWg59qkpuIsiFp+no7nfRVuaasNYHwNUhDAVQBig==", + "dev": true, + "requires": { + "cmd-shim": "^4.1.0", + "fs-extra": "^9.1.0", + "npmlog": "^4.1.2" + }, + "dependencies": { + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "@lerna/describe-ref": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-4.0.0.tgz", + "integrity": "sha512-eTU5+xC4C5Gcgz+Ey4Qiw9nV2B4JJbMulsYJMW8QjGcGh8zudib7Sduj6urgZXUYNyhYpRs+teci9M2J8u+UvQ==", + "dev": true, + "requires": { + "@lerna/child-process": "4.0.0", + "npmlog": "^4.1.2" + } + }, + "@lerna/diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/diff/-/diff-4.0.0.tgz", + "integrity": "sha512-jYPKprQVg41+MUMxx6cwtqsNm0Yxx9GDEwdiPLwcUTFx+/qKCEwifKNJ1oGIPBxyEHX2PFCOjkK39lHoj2qiag==", + "dev": true, + "requires": { + "@lerna/child-process": "4.0.0", + "@lerna/command": "4.0.0", + "@lerna/validation-error": "4.0.0", + "npmlog": "^4.1.2" + }, + "dependencies": { + "@lerna/validation-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", + "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", + "dev": true, + "requires": { + "npmlog": "^4.1.2" + } + } + } + }, + "@lerna/exec": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/exec/-/exec-4.0.0.tgz", + "integrity": "sha512-VGXtL/b/JfY84NB98VWZpIExfhLOzy0ozm/0XaS4a2SmkAJc5CeUfrhvHxxkxiTBLkU+iVQUyYEoAT0ulQ8PCw==", + "dev": true, + "requires": { + "@lerna/child-process": "4.0.0", + "@lerna/command": "4.0.0", + "@lerna/filter-options": "4.0.0", + "@lerna/profiler": "4.0.0", + "@lerna/run-topologically": "4.0.0", + "@lerna/validation-error": "4.0.0", + "p-map": "^4.0.0" + }, + "dependencies": { + "@lerna/validation-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", + "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", + "dev": true, + "requires": { + "npmlog": "^4.1.2" + } + } + } + }, + "@lerna/filter-options": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-4.0.0.tgz", + "integrity": "sha512-vV2ANOeZhOqM0rzXnYcFFCJ/kBWy/3OA58irXih9AMTAlQLymWAK0akWybl++sUJ4HB9Hx12TOqaXbYS2NM5uw==", + "dev": true, + "requires": { + "@lerna/collect-updates": "4.0.0", + "@lerna/filter-packages": "4.0.0", + "dedent": "^0.7.0", + "npmlog": "^4.1.2" + } + }, + "@lerna/filter-packages": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-4.0.0.tgz", + "integrity": "sha512-+4AJIkK7iIiOaqCiVTYJxh/I9qikk4XjNQLhE3kixaqgMuHl1NQ99qXRR0OZqAWB9mh8Z1HA9bM5K1HZLBTOqA==", + "dev": true, + "requires": { + "@lerna/validation-error": "4.0.0", + "multimatch": "^5.0.0", + "npmlog": "^4.1.2" + }, + "dependencies": { + "@lerna/validation-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", + "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", + "dev": true, + "requires": { + "npmlog": "^4.1.2" + } + } + } + }, + "@lerna/get-npm-exec-opts": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-4.0.0.tgz", + "integrity": "sha512-yvmkerU31CTWS2c7DvmAWmZVeclPBqI7gPVr5VATUKNWJ/zmVcU4PqbYoLu92I9Qc4gY1TuUplMNdNuZTSL7IQ==", + "dev": true, + "requires": { + "npmlog": "^4.1.2" + } + }, + "@lerna/get-packed": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/get-packed/-/get-packed-4.0.0.tgz", + "integrity": "sha512-rfWONRsEIGyPJTxFzC8ECb3ZbsDXJbfqWYyeeQQDrJRPnEJErlltRLPLgC2QWbxFgFPsoDLeQmFHJnf0iDfd8w==", + "dev": true, + "requires": { + "fs-extra": "^9.1.0", + "ssri": "^8.0.1", + "tar": "^6.1.0" + }, + "dependencies": { + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "@lerna/github-client": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/github-client/-/github-client-4.0.0.tgz", + "integrity": "sha512-2jhsldZtTKXYUBnOm23Lb0Fx8G4qfSXF9y7UpyUgWUj+YZYd+cFxSuorwQIgk5P4XXrtVhsUesIsli+BYSThiw==", + "dev": true, + "requires": { + "@lerna/child-process": "4.0.0", + "@octokit/plugin-enterprise-rest": "^6.0.1", + "@octokit/rest": "^18.1.0", + "git-url-parse": "^11.4.4", + "npmlog": "^4.1.2" + } + }, + "@lerna/gitlab-client": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/gitlab-client/-/gitlab-client-4.0.0.tgz", + "integrity": "sha512-OMUpGSkeDWFf7BxGHlkbb35T7YHqVFCwBPSIR6wRsszY8PAzCYahtH3IaJzEJyUg6vmZsNl0FSr3pdA2skhxqA==", + "dev": true, + "requires": { + "node-fetch": "^2.6.1", + "npmlog": "^4.1.2", + "whatwg-url": "^8.4.0" + } + }, + "@lerna/global-options": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/global-options/-/global-options-4.0.0.tgz", + "integrity": "sha512-TRMR8afAHxuYBHK7F++Ogop2a82xQjoGna1dvPOY6ltj/pEx59pdgcJfYcynYqMkFIk8bhLJJN9/ndIfX29FTQ==", + "dev": true + }, + "@lerna/has-npm-version": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/has-npm-version/-/has-npm-version-4.0.0.tgz", + "integrity": "sha512-LQ3U6XFH8ZmLCsvsgq1zNDqka0Xzjq5ibVN+igAI5ccRWNaUsE/OcmsyMr50xAtNQMYMzmpw5GVLAivT2/YzCg==", + "dev": true, + "requires": { + "@lerna/child-process": "4.0.0", + "semver": "^7.3.4" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@lerna/import": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/import/-/import-4.0.0.tgz", + "integrity": "sha512-FaIhd+4aiBousKNqC7TX1Uhe97eNKf5/SC7c5WZANVWtC7aBWdmswwDt3usrzCNpj6/Wwr9EtEbYROzxKH8ffg==", + "dev": true, + "requires": { + "@lerna/child-process": "4.0.0", + "@lerna/command": "4.0.0", + "@lerna/prompt": "4.0.0", + "@lerna/pulse-till-done": "4.0.0", + "@lerna/validation-error": "4.0.0", + "dedent": "^0.7.0", + "fs-extra": "^9.1.0", + "p-map-series": "^2.1.0" + }, + "dependencies": { + "@lerna/validation-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", + "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", + "dev": true, + "requires": { + "npmlog": "^4.1.2" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "@lerna/info": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/info/-/info-4.0.0.tgz", + "integrity": "sha512-8Uboa12kaCSZEn4XRfPz5KU9XXoexSPS4oeYGj76s2UQb1O1GdnEyfjyNWoUl1KlJ2i/8nxUskpXIftoFYH0/Q==", + "dev": true, + "requires": { + "@lerna/command": "4.0.0", + "@lerna/output": "4.0.0", + "envinfo": "^7.7.4" + } + }, + "@lerna/init": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/init/-/init-4.0.0.tgz", + "integrity": "sha512-wY6kygop0BCXupzWj5eLvTUqdR7vIAm0OgyV9WHpMYQGfs1V22jhztt8mtjCloD/O0nEe4tJhdG62XU5aYmPNQ==", + "dev": true, + "requires": { + "@lerna/child-process": "4.0.0", + "@lerna/command": "4.0.0", + "fs-extra": "^9.1.0", + "p-map": "^4.0.0", + "write-json-file": "^4.3.0" + }, + "dependencies": { + "detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "sort-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz", + "integrity": "sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==", + "dev": true, + "requires": { + "is-plain-obj": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "write-json-file": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-4.3.0.tgz", + "integrity": "sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ==", + "dev": true, + "requires": { + "detect-indent": "^6.0.0", + "graceful-fs": "^4.1.15", + "is-plain-obj": "^2.0.0", + "make-dir": "^3.0.0", + "sort-keys": "^4.0.0", + "write-file-atomic": "^3.0.0" + } + } + } + }, + "@lerna/link": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/link/-/link-4.0.0.tgz", + "integrity": "sha512-KlvPi7XTAcVOByfaLlOeYOfkkDcd+bejpHMCd1KcArcFTwijOwXOVi24DYomIeHvy6HsX/IUquJ4PPUJIeB4+w==", + "dev": true, + "requires": { + "@lerna/command": "4.0.0", + "@lerna/package-graph": "4.0.0", + "@lerna/symlink-dependencies": "4.0.0", + "p-map": "^4.0.0", + "slash": "^3.0.0" + } + }, + "@lerna/list": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/list/-/list-4.0.0.tgz", + "integrity": "sha512-L2B5m3P+U4Bif5PultR4TI+KtW+SArwq1i75QZ78mRYxPc0U/piau1DbLOmwrdqr99wzM49t0Dlvl6twd7GHFg==", "dev": true, "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.9.5", - "@babel/helper-function-name": "^7.9.5", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/parser": "^7.9.0", - "@babel/types": "^7.9.5", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" + "@lerna/command": "4.0.0", + "@lerna/filter-options": "4.0.0", + "@lerna/listable": "4.0.0", + "@lerna/output": "4.0.0" + } + }, + "@lerna/listable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/listable/-/listable-4.0.0.tgz", + "integrity": "sha512-/rPOSDKsOHs5/PBLINZOkRIX1joOXUXEtyUs5DHLM8q6/RP668x/1lFhw6Dx7/U+L0+tbkpGtZ1Yt0LewCLgeQ==", + "dev": true, + "requires": { + "@lerna/query-graph": "4.0.0", + "chalk": "^4.1.0", + "columnify": "^1.5.4" }, "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "ms": "2.1.2" + "color-convert": "^2.0.1" } }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", + "@lerna/log-packed": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/log-packed/-/log-packed-4.0.0.tgz", + "integrity": "sha512-+dpCiWbdzgMAtpajLToy9PO713IHoE6GV/aizXycAyA07QlqnkpaBNZ8DW84gHdM1j79TWockGJo9PybVhrrZQ==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" + "byte-size": "^7.0.0", + "columnify": "^1.5.4", + "has-unicode": "^2.0.1", + "npmlog": "^4.1.2" } }, - "@changesets/types": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@changesets/types/-/types-0.4.0.tgz", - "integrity": "sha512-TclHHKDVYQ8rJGZgVeWiF7c91yWzTTWdPagltgutelGu/Psup5PQlUq6svx7S8suj+jXcaE34yEEsfIvzXXB2Q==", - "dev": true + "@lerna/npm-conf": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/npm-conf/-/npm-conf-4.0.0.tgz", + "integrity": "sha512-uS7H02yQNq3oejgjxAxqq/jhwGEE0W0ntr8vM3EfpCW1F/wZruwQw+7bleJQ9vUBjmdXST//tk8mXzr5+JXCfw==", + "dev": true, + "requires": { + "config-chain": "^1.1.12", + "pify": "^5.0.0" + }, + "dependencies": { + "pify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", + "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", + "dev": true + } + } }, - "@electron/get": { - "version": "1.12.4", + "@lerna/npm-dist-tag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-4.0.0.tgz", + "integrity": "sha512-F20sg28FMYTgXqEQihgoqSfwmq+Id3zT23CnOwD+XQMPSy9IzyLf1fFVH319vXIw6NF6Pgs4JZN2Qty6/CQXGw==", "dev": true, "requires": { - "debug": "^4.1.1", - "env-paths": "^2.2.0", - "fs-extra": "^8.1.0", - "global-agent": "^2.0.2", - "global-tunnel-ng": "^2.7.1", - "got": "^9.6.0", - "progress": "^2.0.3", - "semver": "^6.2.0", - "sumchecker": "^3.0.1" + "@lerna/otplease": "4.0.0", + "npm-package-arg": "^8.1.0", + "npm-registry-fetch": "^9.0.0", + "npmlog": "^4.1.2" }, "dependencies": { - "debug": { - "version": "4.3.1", + "hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "npm-package-arg": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", + "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@lerna/npm-install": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-4.0.0.tgz", + "integrity": "sha512-aKNxq2j3bCH3eXl3Fmu4D54s/YLL9WSwV8W7X2O25r98wzrO38AUN6AB9EtmAx+LV/SP15et7Yueg9vSaanRWg==", + "dev": true, + "requires": { + "@lerna/child-process": "4.0.0", + "@lerna/get-npm-exec-opts": "4.0.0", + "fs-extra": "^9.1.0", + "npm-package-arg": "^8.1.0", + "npmlog": "^4.1.2", + "signal-exit": "^3.0.3", + "write-pkg": "^4.0.0" + }, + "dependencies": { + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "npm-package-arg": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", + "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" + } + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "type-fest": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.4.1.tgz", + "integrity": "sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==", + "dev": true + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, + "write-json-file": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-3.2.0.tgz", + "integrity": "sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ==", + "dev": true, + "requires": { + "detect-indent": "^5.0.0", + "graceful-fs": "^4.1.15", + "make-dir": "^2.1.0", + "pify": "^4.0.1", + "sort-keys": "^2.0.0", + "write-file-atomic": "^2.4.2" + } + }, + "write-pkg": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/write-pkg/-/write-pkg-4.0.0.tgz", + "integrity": "sha512-v2UQ+50TNf2rNHJ8NyWttfm/EJUBWMJcx6ZTYZr6Qp52uuegWw/lBkCtCbnYZEmPRNL61m+u67dAmGxo+HTULA==", + "dev": true, + "requires": { + "sort-keys": "^2.0.0", + "type-fest": "^0.4.1", + "write-json-file": "^3.2.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@lerna/npm-publish": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-4.0.0.tgz", + "integrity": "sha512-vQb7yAPRo5G5r77DRjHITc9piR9gvEKWrmfCH7wkfBnGWEqu7n8/4bFQ7lhnkujvc8RXOsYpvbMQkNfkYibD/w==", + "dev": true, + "requires": { + "@lerna/otplease": "4.0.0", + "@lerna/run-lifecycle": "4.0.0", + "fs-extra": "^9.1.0", + "libnpmpublish": "^4.0.0", + "npm-package-arg": "^8.1.0", + "npmlog": "^4.1.2", + "pify": "^5.0.0", + "read-package-json": "^3.0.0" + }, + "dependencies": { + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "npm-package-arg": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", + "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" + } + }, + "pify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", + "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", + "dev": true + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@lerna/npm-run-script": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-4.0.0.tgz", + "integrity": "sha512-Jmyh9/IwXJjOXqKfIgtxi0bxi1pUeKe5bD3S81tkcy+kyng/GNj9WSqD5ZggoNP2NP//s4CLDAtUYLdP7CU9rA==", + "dev": true, + "requires": { + "@lerna/child-process": "4.0.0", + "@lerna/get-npm-exec-opts": "4.0.0", + "npmlog": "^4.1.2" + } + }, + "@lerna/otplease": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/otplease/-/otplease-4.0.0.tgz", + "integrity": "sha512-Sgzbqdk1GH4psNiT6hk+BhjOfIr/5KhGBk86CEfHNJTk9BK4aZYyJD4lpDbDdMjIV4g03G7pYoqHzH765T4fxw==", + "dev": true, + "requires": { + "@lerna/prompt": "4.0.0" + } + }, + "@lerna/output": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/output/-/output-4.0.0.tgz", + "integrity": "sha512-Un1sHtO1AD7buDQrpnaYTi2EG6sLF+KOPEAMxeUYG5qG3khTs2Zgzq5WE3dt2N/bKh7naESt20JjIW6tBELP0w==", + "dev": true, + "requires": { + "npmlog": "^4.1.2" + } + }, + "@lerna/pack-directory": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/pack-directory/-/pack-directory-4.0.0.tgz", + "integrity": "sha512-NJrmZNmBHS+5aM+T8N6FVbaKFScVqKlQFJNY2k7nsJ/uklNKsLLl6VhTQBPwMTbf6Tf7l6bcKzpy7aePuq9UiQ==", + "dev": true, + "requires": { + "@lerna/get-packed": "4.0.0", + "@lerna/package": "4.0.0", + "@lerna/run-lifecycle": "4.0.0", + "npm-packlist": "^2.1.4", + "npmlog": "^4.1.2", + "tar": "^6.1.0", + "temp-write": "^4.0.0" + } + }, + "@lerna/package": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/package/-/package-4.0.0.tgz", + "integrity": "sha512-l0M/izok6FlyyitxiQKr+gZLVFnvxRQdNhzmQ6nRnN9dvBJWn+IxxpM+cLqGACatTnyo9LDzNTOj2Db3+s0s8Q==", + "dev": true, + "requires": { + "load-json-file": "^6.2.0", + "npm-package-arg": "^8.1.0", + "write-pkg": "^4.0.0" + }, + "dependencies": { + "hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "load-json-file": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz", + "integrity": "sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.15", + "parse-json": "^5.0.0", + "strip-bom": "^4.0.0", + "type-fest": "^0.6.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "npm-package-arg": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", + "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", "dev": true, "requires": { - "ms": "2.1.2" + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" } }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" } }, - "ms": { - "version": "2.1.2", + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true }, "semver": { - "version": "6.3.0", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true - } - } - }, - "@es-joy/jsdoccomment": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.29.0.tgz", - "integrity": "sha512-4yKy5t+/joLihG+ei6CCU6sc08sjUdEdXCQ2U+9h9VP13EiqHQ4YMgDC18ys/AsLdJDBX3KRx/AWY6PR7hn52Q==", - "dev": true, - "requires": { - "comment-parser": "1.3.1", - "esquery": "^1.4.0", - "jsdoc-type-pratt-parser": "~3.0.1" - } - }, - "@gar/promisify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.2.tgz", - "integrity": "sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw==", - "dev": true - }, - "@hutson/parse-repository-url": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz", - "integrity": "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==", - "dev": true - }, - "@internal/integration-tests": { - "version": "file:tools/integration-tests", - "requires": { - "@pixi/canvas-display": "6.4.2", - "@pixi/canvas-graphics": "6.4.2", - "@pixi/canvas-mesh": "6.4.2", - "@pixi/canvas-renderer": "6.4.2", - "@pixi/canvas-sprite": "6.4.2", - "@pixi/canvas-text": "6.4.2", - "@pixi/core": "6.4.2", - "@pixi/display": "6.4.2", - "@pixi/graphics": "6.4.2", - "@pixi/math": "6.4.2", - "@pixi/mesh": "6.4.2", - "@pixi/mesh-extras": "6.4.2", - "@pixi/sprite": "6.4.2", - "@pixi/text": "6.4.2", - "@pixi/utils": "6.4.2" - } - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "5.0.0", + }, + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + }, + "write-json-file": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-3.2.0.tgz", + "integrity": "sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ==", + "dev": true, + "requires": { + "detect-indent": "^5.0.0", + "graceful-fs": "^4.1.15", + "make-dir": "^2.1.0", + "pify": "^4.0.1", + "sort-keys": "^2.0.0", + "write-file-atomic": "^2.4.2" + } + }, + "write-pkg": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/write-pkg/-/write-pkg-4.0.0.tgz", + "integrity": "sha512-v2UQ+50TNf2rNHJ8NyWttfm/EJUBWMJcx6ZTYZr6Qp52uuegWw/lBkCtCbnYZEmPRNL61m+u67dAmGxo+HTULA==", + "dev": true, + "requires": { + "sort-keys": "^2.0.0", + "type-fest": "^0.4.1", + "write-json-file": "^3.2.0" + }, + "dependencies": { + "type-fest": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.4.1.tgz", + "integrity": "sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==", + "dev": true + } + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true } } }, - "@istanbuljs/nyc-config-typescript": { - "version": "1.0.1", - "dev": true, - "requires": { - "@istanbuljs/schema": "^0.1.2" - } - }, - "@istanbuljs/schema": { - "version": "0.1.3", - "dev": true - }, - "@jsbits/escape-regex-str": { - "version": "1.0.3", - "dev": true - }, - "@jsbits/get-package-version": { - "version": "1.0.3", - "dev": true - }, - "@lerna/add": { + "@lerna/package-graph": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/add/-/add-4.0.0.tgz", - "integrity": "sha512-cpmAH1iS3k8JBxNvnMqrGTTjbY/ZAiKa1ChJzFevMYY3eeqbvhsBKnBcxjRXtdrJ6bd3dCQM+ZtK+0i682Fhng==", + "resolved": "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-4.0.0.tgz", + "integrity": "sha512-QED2ZCTkfXMKFoTGoccwUzjHtZMSf3UKX14A4/kYyBms9xfFsesCZ6SLI5YeySEgcul8iuIWfQFZqRw+Qrjraw==", "dev": true, "requires": { - "@lerna/bootstrap": "4.0.0", - "@lerna/command": "4.0.0", - "@lerna/filter-options": "4.0.0", - "@lerna/npm-conf": "4.0.0", + "@lerna/prerelease-id-from-version": "4.0.0", "@lerna/validation-error": "4.0.0", - "dedent": "^0.7.0", "npm-package-arg": "^8.1.0", - "p-map": "^4.0.0", - "pacote": "^11.2.6", + "npmlog": "^4.1.2", "semver": "^7.3.4" }, "dependencies": { @@ -21124,33 +28157,330 @@ } } }, - "@lerna/bootstrap": { + "@lerna/prerelease-id-from-version": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-4.0.0.tgz", - "integrity": "sha512-RkS7UbeM2vu+kJnHzxNRCLvoOP9yGNgkzRdy4UV2hNalD7EP41bLvRVOwRYQ7fhc2QcbhnKNdOBihYRL0LcKtw==", + "resolved": "https://registry.npmjs.org/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-4.0.0.tgz", + "integrity": "sha512-GQqguzETdsYRxOSmdFZ6zDBXDErIETWOqomLERRY54f4p+tk4aJjoVdd9xKwehC9TBfIFvlRbL1V9uQGHh1opg==", + "dev": true, + "requires": { + "semver": "^7.3.4" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@lerna/profiler": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/profiler/-/profiler-4.0.0.tgz", + "integrity": "sha512-/BaEbqnVh1LgW/+qz8wCuI+obzi5/vRE8nlhjPzdEzdmWmZXuCKyWSEzAyHOJWw1ntwMiww5dZHhFQABuoFz9Q==", + "dev": true, + "requires": { + "fs-extra": "^9.1.0", + "npmlog": "^4.1.2", + "upath": "^2.0.1" + }, + "dependencies": { + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "@lerna/project": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/project/-/project-4.0.0.tgz", + "integrity": "sha512-o0MlVbDkD5qRPkFKlBZsXZjoNTWPyuL58564nSfZJ6JYNmgAptnWPB2dQlAc7HWRZkmnC2fCkEdoU+jioPavbg==", + "dev": true, + "requires": { + "@lerna/package": "4.0.0", + "@lerna/validation-error": "4.0.0", + "cosmiconfig": "^7.0.0", + "dedent": "^0.7.0", + "dot-prop": "^6.0.1", + "glob-parent": "^5.1.1", + "globby": "^11.0.2", + "load-json-file": "^6.2.0", + "npmlog": "^4.1.2", + "p-map": "^4.0.0", + "resolve-from": "^5.0.0", + "write-json-file": "^4.3.0" + }, + "dependencies": { + "@lerna/validation-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", + "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", + "dev": true, + "requires": { + "npmlog": "^4.1.2" + } + }, + "cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true + }, + "dot-prop": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", + "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", + "dev": true, + "requires": { + "is-obj": "^2.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + } + } + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true + }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true + }, + "load-json-file": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz", + "integrity": "sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.15", + "parse-json": "^5.0.0", + "strip-bom": "^4.0.0", + "type-fest": "^0.6.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "sort-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz", + "integrity": "sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==", + "dev": true, + "requires": { + "is-plain-obj": "^2.0.0" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true + }, + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "write-json-file": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-4.3.0.tgz", + "integrity": "sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ==", + "dev": true, + "requires": { + "detect-indent": "^6.0.0", + "graceful-fs": "^4.1.15", + "is-plain-obj": "^2.0.0", + "make-dir": "^3.0.0", + "sort-keys": "^4.0.0", + "write-file-atomic": "^3.0.0" + } + } + } + }, + "@lerna/prompt": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/prompt/-/prompt-4.0.0.tgz", + "integrity": "sha512-4Ig46oCH1TH5M7YyTt53fT6TuaKMgqUUaqdgxvp6HP6jtdak6+amcsqB8YGz2eQnw/sdxunx84DfI9XpoLj4bQ==", + "dev": true, + "requires": { + "inquirer": "^7.3.3", + "npmlog": "^4.1.2" + } + }, + "@lerna/publish": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/publish/-/publish-4.0.0.tgz", + "integrity": "sha512-K8jpqjHrChH22qtkytA5GRKIVFEtqBF6JWj1I8dWZtHs4Jywn8yB1jQ3BAMLhqmDJjWJtRck0KXhQQKzDK2UPg==", "dev": true, "requires": { + "@lerna/check-working-tree": "4.0.0", + "@lerna/child-process": "4.0.0", + "@lerna/collect-updates": "4.0.0", "@lerna/command": "4.0.0", - "@lerna/filter-options": "4.0.0", - "@lerna/has-npm-version": "4.0.0", - "@lerna/npm-install": "4.0.0", - "@lerna/package-graph": "4.0.0", + "@lerna/describe-ref": "4.0.0", + "@lerna/log-packed": "4.0.0", + "@lerna/npm-conf": "4.0.0", + "@lerna/npm-dist-tag": "4.0.0", + "@lerna/npm-publish": "4.0.0", + "@lerna/otplease": "4.0.0", + "@lerna/output": "4.0.0", + "@lerna/pack-directory": "4.0.0", + "@lerna/prerelease-id-from-version": "4.0.0", + "@lerna/prompt": "4.0.0", "@lerna/pulse-till-done": "4.0.0", - "@lerna/rimraf-dir": "4.0.0", "@lerna/run-lifecycle": "4.0.0", "@lerna/run-topologically": "4.0.0", - "@lerna/symlink-binary": "4.0.0", - "@lerna/symlink-dependencies": "4.0.0", "@lerna/validation-error": "4.0.0", - "dedent": "^0.7.0", - "get-port": "^5.1.1", - "multimatch": "^5.0.0", + "@lerna/version": "4.0.0", + "fs-extra": "^9.1.0", + "libnpmaccess": "^4.0.1", "npm-package-arg": "^8.1.0", + "npm-registry-fetch": "^9.0.0", "npmlog": "^4.1.2", - "p-map": "^4.0.0", - "p-map-series": "^2.1.0", - "p-waterfall": "^2.1.1", - "read-package-tree": "^5.3.1", + "p-map": "^4.0.0", + "p-pipe": "^3.1.0", + "pacote": "^11.2.6", "semver": "^7.3.4" }, "dependencies": { @@ -21163,6 +28493,18 @@ "npmlog": "^4.1.2" } }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, "hosted-git-info": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", @@ -21172,6 +28514,16 @@ "lru-cache": "^6.0.0" } }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -21201,6 +28553,12 @@ "lru-cache": "^6.0.0" } }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", @@ -21209,363 +28567,155 @@ } } }, - "@lerna/changed": { + "@lerna/pulse-till-done": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/changed/-/changed-4.0.0.tgz", - "integrity": "sha512-cD+KuPRp6qiPOD+BO6S6SN5cARspIaWSOqGBpGnYzLb4uWT8Vk4JzKyYtc8ym1DIwyoFXHosXt8+GDAgR8QrgQ==", + "resolved": "https://registry.npmjs.org/@lerna/pulse-till-done/-/pulse-till-done-4.0.0.tgz", + "integrity": "sha512-Frb4F7QGckaybRhbF7aosLsJ5e9WuH7h0KUkjlzSByVycxY91UZgaEIVjS2oN9wQLrheLMHl6SiFY0/Pvo0Cxg==", "dev": true, "requires": { - "@lerna/collect-updates": "4.0.0", - "@lerna/command": "4.0.0", - "@lerna/listable": "4.0.0", - "@lerna/output": "4.0.0" + "npmlog": "^4.1.2" } }, - "@lerna/check-working-tree": { + "@lerna/query-graph": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/check-working-tree/-/check-working-tree-4.0.0.tgz", - "integrity": "sha512-/++bxM43jYJCshBiKP5cRlCTwSJdRSxVmcDAXM+1oUewlZJVSVlnks5eO0uLxokVFvLhHlC5kHMc7gbVFPHv6Q==", + "resolved": "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-4.0.0.tgz", + "integrity": "sha512-YlP6yI3tM4WbBmL9GCmNDoeQyzcyg1e4W96y/PKMZa5GbyUvkS2+Jc2kwPD+5KcXou3wQZxSPzR3Te5OenaDdg==", "dev": true, "requires": { - "@lerna/collect-uncommitted": "4.0.0", - "@lerna/describe-ref": "4.0.0", - "@lerna/validation-error": "4.0.0" - }, - "dependencies": { - "@lerna/validation-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", - "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", - "dev": true, - "requires": { - "npmlog": "^4.1.2" - } - } + "@lerna/package-graph": "4.0.0" } }, - "@lerna/child-process": { + "@lerna/resolve-symlink": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/child-process/-/child-process-4.0.0.tgz", - "integrity": "sha512-XtCnmCT9eyVsUUHx6y/CTBYdV9g2Cr/VxyseTWBgfIur92/YKClfEtJTbOh94jRT62hlKLqSvux/UhxXVh613Q==", + "resolved": "https://registry.npmjs.org/@lerna/resolve-symlink/-/resolve-symlink-4.0.0.tgz", + "integrity": "sha512-RtX8VEUzqT+uLSCohx8zgmjc6zjyRlh6i/helxtZTMmc4+6O4FS9q5LJas2uGO2wKvBlhcD6siibGt7dIC3xZA==", "dev": true, "requires": { - "chalk": "^4.1.0", - "execa": "^5.0.0", - "strong-log-transformer": "^2.1.0" + "fs-extra": "^9.1.0", + "npmlog": "^4.1.2", + "read-cmd-shim": "^2.0.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "requires": { - "color-name": "~1.1.4" + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" } }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } } } }, - "@lerna/clean": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/clean/-/clean-4.0.0.tgz", - "integrity": "sha512-uugG2iN9k45ITx2jtd8nEOoAtca8hNlDCUM0N3lFgU/b1mEQYAPRkqr1qs4FLRl/Y50ZJ41wUz1eazS+d/0osA==", - "dev": true, - "requires": { - "@lerna/command": "4.0.0", - "@lerna/filter-options": "4.0.0", - "@lerna/prompt": "4.0.0", - "@lerna/pulse-till-done": "4.0.0", - "@lerna/rimraf-dir": "4.0.0", - "p-map": "^4.0.0", - "p-map-series": "^2.1.0", - "p-waterfall": "^2.1.1" - } - }, - "@lerna/cli": { + "@lerna/rimraf-dir": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/cli/-/cli-4.0.0.tgz", - "integrity": "sha512-Neaw3GzFrwZiRZv2g7g6NwFjs3er1vhraIniEs0jjVLPMNC4eata0na3GfE5yibkM/9d3gZdmihhZdZ3EBdvYA==", + "resolved": "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-4.0.0.tgz", + "integrity": "sha512-QNH9ABWk9mcMJh2/muD9iYWBk1oQd40y6oH+f3wwmVGKYU5YJD//+zMiBI13jxZRtwBx0vmBZzkBkK1dR11cBg==", "dev": true, "requires": { - "@lerna/global-options": "4.0.0", - "dedent": "^0.7.0", + "@lerna/child-process": "4.0.0", "npmlog": "^4.1.2", - "yargs": "^16.2.0" + "path-exists": "^4.0.0", + "rimraf": "^3.0.2" }, "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "glob": "^7.1.3" } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true } } }, - "@lerna/collect-uncommitted": { + "@lerna/run": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/collect-uncommitted/-/collect-uncommitted-4.0.0.tgz", - "integrity": "sha512-ufSTfHZzbx69YNj7KXQ3o66V4RC76ffOjwLX0q/ab//61bObJ41n03SiQEhSlmpP+gmFbTJ3/7pTe04AHX9m/g==", + "resolved": "https://registry.npmjs.org/@lerna/run/-/run-4.0.0.tgz", + "integrity": "sha512-9giulCOzlMPzcZS/6Eov6pxE9gNTyaXk0Man+iCIdGJNMrCnW7Dme0Z229WWP/UoxDKg71F2tMsVVGDiRd8fFQ==", "dev": true, "requires": { - "@lerna/child-process": "4.0.0", - "chalk": "^4.1.0", - "npmlog": "^4.1.2" + "@lerna/command": "4.0.0", + "@lerna/filter-options": "4.0.0", + "@lerna/npm-run-script": "4.0.0", + "@lerna/output": "4.0.0", + "@lerna/profiler": "4.0.0", + "@lerna/run-topologically": "4.0.0", + "@lerna/timer": "4.0.0", + "@lerna/validation-error": "4.0.0", + "p-map": "^4.0.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "has-flag": { + "@lerna/validation-error": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", + "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", "dev": true, "requires": { - "has-flag": "^4.0.0" + "npmlog": "^4.1.2" } } } }, - "@lerna/collect-updates": { + "@lerna/run-lifecycle": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-4.0.0.tgz", - "integrity": "sha512-bnNGpaj4zuxsEkyaCZLka9s7nMs58uZoxrRIPJ+nrmrZYp1V5rrd+7/NYTuunOhY2ug1sTBvTAxj3NZQ+JKnOw==", + "resolved": "https://registry.npmjs.org/@lerna/run-lifecycle/-/run-lifecycle-4.0.0.tgz", + "integrity": "sha512-IwxxsajjCQQEJAeAaxF8QdEixfI7eLKNm4GHhXHrgBu185JcwScFZrj9Bs+PFKxwb+gNLR4iI5rpUdY8Y0UdGQ==", "dev": true, "requires": { - "@lerna/child-process": "4.0.0", - "@lerna/describe-ref": "4.0.0", - "minimatch": "^3.0.4", - "npmlog": "^4.1.2", - "slash": "^3.0.0" + "@lerna/npm-conf": "4.0.0", + "npm-lifecycle": "^3.1.5", + "npmlog": "^4.1.2" } }, - "@lerna/command": { + "@lerna/run-topologically": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/command/-/command-4.0.0.tgz", - "integrity": "sha512-LM9g3rt5FsPNFqIHUeRwWXLNHJ5NKzOwmVKZ8anSp4e1SPrv2HNc1V02/9QyDDZK/w+5POXH5lxZUI1CHaOK/A==", + "resolved": "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-4.0.0.tgz", + "integrity": "sha512-EVZw9hGwo+5yp+VL94+NXRYisqgAlj0jWKWtAIynDCpghRxCE5GMO3xrQLmQgqkpUl9ZxQFpICgYv5DW4DksQA==", "dev": true, "requires": { - "@lerna/child-process": "4.0.0", - "@lerna/package-graph": "4.0.0", - "@lerna/project": "4.0.0", - "@lerna/validation-error": "4.0.0", - "@lerna/write-log-file": "4.0.0", - "clone-deep": "^4.0.1", - "dedent": "^0.7.0", - "execa": "^5.0.0", - "is-ci": "^2.0.0", - "npmlog": "^4.1.2" - }, - "dependencies": { - "@lerna/validation-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", - "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", - "dev": true, - "requires": { - "npmlog": "^4.1.2" - } - } + "@lerna/query-graph": "4.0.0", + "p-queue": "^6.6.2" } }, - "@lerna/conventional-commits": { + "@lerna/symlink-binary": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-4.0.0.tgz", - "integrity": "sha512-CSUQRjJHFrH8eBn7+wegZLV3OrNc0Y1FehYfYGhjLE2SIfpCL4bmfu/ViYuHh9YjwHaA+4SX6d3hR+xkeseKmw==", + "resolved": "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-4.0.0.tgz", + "integrity": "sha512-zualodWC4q1QQc1pkz969hcFeWXOsVYZC5AWVtAPTDfLl+TwM7eG/O6oP+Rr3fFowspxo6b1TQ6sYfDV6HXNWA==", "dev": true, "requires": { - "@lerna/validation-error": "4.0.0", - "conventional-changelog-angular": "^5.0.12", - "conventional-changelog-core": "^4.2.2", - "conventional-recommended-bump": "^6.1.0", + "@lerna/create-symlink": "4.0.0", + "@lerna/package": "4.0.0", "fs-extra": "^9.1.0", - "get-stream": "^6.0.0", - "lodash.template": "^4.5.0", - "npm-package-arg": "^8.1.0", - "npmlog": "^4.1.2", - "pify": "^5.0.0", - "semver": "^7.3.4" + "p-map": "^4.0.0" }, "dependencies": { - "@lerna/validation-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", - "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", - "dev": true, - "requires": { - "npmlog": "^4.1.2" - } - }, "fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", @@ -21578,21 +28728,6 @@ "universalify": "^2.0.0" } }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true - }, - "hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, "jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -21603,39 +28738,48 @@ "universalify": "^2.0.0" } }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "npm-package-arg": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", - "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "@lerna/symlink-dependencies": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-4.0.0.tgz", + "integrity": "sha512-BABo0MjeUHNAe2FNGty1eantWp8u83BHSeIMPDxNq0MuW2K3CiQRaeWT3EGPAzXpGt0+hVzBrA6+OT0GPn7Yuw==", + "dev": true, + "requires": { + "@lerna/create-symlink": "4.0.0", + "@lerna/resolve-symlink": "4.0.0", + "@lerna/symlink-binary": "4.0.0", + "fs-extra": "^9.1.0", + "p-map": "^4.0.0", + "p-map-series": "^2.1.0" + }, + "dependencies": { + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, "requires": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" } }, - "pify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", - "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", - "dev": true - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "requires": { - "lru-cache": "^6.0.0" + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" } }, "universalify": { @@ -21643,39 +28787,47 @@ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true } } }, - "@lerna/create": { + "@lerna/timer": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/create/-/create-4.0.0.tgz", - "integrity": "sha512-mVOB1niKByEUfxlbKTM1UNECWAjwUdiioIbRQZEeEabtjCL69r9rscIsjlGyhGWCfsdAG5wfq4t47nlDXdLLag==", + "resolved": "https://registry.npmjs.org/@lerna/timer/-/timer-4.0.0.tgz", + "integrity": "sha512-WFsnlaE7SdOvjuyd05oKt8Leg3ENHICnvX3uYKKdByA+S3g+TCz38JsNs7OUZVt+ba63nC2nbXDlUnuT2Xbsfg==", + "dev": true + }, + "@lerna/version": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@lerna/version/-/version-4.0.0.tgz", + "integrity": "sha512-otUgiqs5W9zGWJZSCCMRV/2Zm2A9q9JwSDS7s/tlKq4mWCYriWo7+wsHEA/nPTMDyYyBO5oyZDj+3X50KDUzeA==", "dev": true, "requires": { + "@lerna/check-working-tree": "4.0.0", "@lerna/child-process": "4.0.0", + "@lerna/collect-updates": "4.0.0", "@lerna/command": "4.0.0", - "@lerna/npm-conf": "4.0.0", - "@lerna/validation-error": "4.0.0", - "dedent": "^0.7.0", - "fs-extra": "^9.1.0", - "globby": "^11.0.2", - "init-package-json": "^2.0.2", - "npm-package-arg": "^8.1.0", + "@lerna/conventional-commits": "4.0.0", + "@lerna/github-client": "4.0.0", + "@lerna/gitlab-client": "4.0.0", + "@lerna/output": "4.0.0", + "@lerna/prerelease-id-from-version": "4.0.0", + "@lerna/prompt": "4.0.0", + "@lerna/run-lifecycle": "4.0.0", + "@lerna/run-topologically": "4.0.0", + "@lerna/validation-error": "4.0.0", + "chalk": "^4.1.0", + "dedent": "^0.7.0", + "load-json-file": "^6.2.0", + "minimatch": "^3.0.4", + "npmlog": "^4.1.2", + "p-map": "^4.0.0", + "p-pipe": "^3.1.0", "p-reduce": "^2.1.0", - "pacote": "^11.2.6", - "pify": "^5.0.0", + "p-waterfall": "^2.1.1", "semver": "^7.3.4", "slash": "^3.0.0", - "validate-npm-package-license": "^3.0.4", - "validate-npm-package-name": "^3.0.0", - "whatwg-url": "^8.4.0", - "yargs-parser": "20.2.4" + "temp-write": "^4.0.0", + "write-json-file": "^4.3.0" }, "dependencies": { "@lerna/validation-error": { @@ -21687,35 +28839,62 @@ "npmlog": "^4.1.2" } }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "color-convert": "^2.0.1" } }, - "hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { - "lru-cache": "^6.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "jsonfile": { + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "detect-indent": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true + }, + "load-json-file": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz", + "integrity": "sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==", "dev": true, "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" + "graceful-fs": "^4.1.15", + "parse-json": "^5.0.0", + "strip-bom": "^4.0.0", + "type-fest": "^0.6.0" } }, "lru-cache": { @@ -21727,22 +28906,34 @@ "yallist": "^4.0.0" } }, - "npm-package-arg": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", - "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, "requires": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, - "pify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", - "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", - "dev": true + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } }, "semver": { "version": "7.3.5", @@ -21753,248 +28944,215 @@ "lru-cache": "^6.0.0" } }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true + "sort-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz", + "integrity": "sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==", + "dev": true, + "requires": { + "is-plain-obj": "^2.0.0" + } }, - "yallist": { + "strip-bom": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true }, - "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", "dev": true - } - } - }, - "@lerna/create-symlink": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/create-symlink/-/create-symlink-4.0.0.tgz", - "integrity": "sha512-I0phtKJJdafUiDwm7BBlEUOtogmu8+taxq6PtIrxZbllV9hWg59qkpuIsiFp+no7nfRVuaasNYHwNUhDAVQBig==", - "dev": true, - "requires": { - "cmd-shim": "^4.1.0", - "fs-extra": "^9.1.0", - "npmlog": "^4.1.2" - }, - "dependencies": { - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", "dev": true, "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" } }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "write-json-file": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-4.3.0.tgz", + "integrity": "sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ==", "dev": true, "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" + "detect-indent": "^6.0.0", + "graceful-fs": "^4.1.15", + "is-plain-obj": "^2.0.0", + "make-dir": "^3.0.0", + "sort-keys": "^4.0.0", + "write-file-atomic": "^3.0.0" } }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true } } }, - "@lerna/describe-ref": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-4.0.0.tgz", - "integrity": "sha512-eTU5+xC4C5Gcgz+Ey4Qiw9nV2B4JJbMulsYJMW8QjGcGh8zudib7Sduj6urgZXUYNyhYpRs+teci9M2J8u+UvQ==", - "dev": true, - "requires": { - "@lerna/child-process": "4.0.0", - "npmlog": "^4.1.2" - } - }, - "@lerna/diff": { + "@lerna/write-log-file": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/diff/-/diff-4.0.0.tgz", - "integrity": "sha512-jYPKprQVg41+MUMxx6cwtqsNm0Yxx9GDEwdiPLwcUTFx+/qKCEwifKNJ1oGIPBxyEHX2PFCOjkK39lHoj2qiag==", + "resolved": "https://registry.npmjs.org/@lerna/write-log-file/-/write-log-file-4.0.0.tgz", + "integrity": "sha512-XRG5BloiArpXRakcnPHmEHJp+4AtnhRtpDIHSghmXD5EichI1uD73J7FgPp30mm2pDRq3FdqB0NbwSEsJ9xFQg==", "dev": true, "requires": { - "@lerna/child-process": "4.0.0", - "@lerna/command": "4.0.0", - "@lerna/validation-error": "4.0.0", - "npmlog": "^4.1.2" + "npmlog": "^4.1.2", + "write-file-atomic": "^3.0.3" }, "dependencies": { - "@lerna/validation-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", - "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", "dev": true, "requires": { - "npmlog": "^4.1.2" + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" } } } }, - "@lerna/exec": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/exec/-/exec-4.0.0.tgz", - "integrity": "sha512-VGXtL/b/JfY84NB98VWZpIExfhLOzy0ozm/0XaS4a2SmkAJc5CeUfrhvHxxkxiTBLkU+iVQUyYEoAT0ulQ8PCw==", + "@microsoft/api-extractor": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.20.1.tgz", + "integrity": "sha512-T7cqcK+JpvHGOj7cD2ZCCWS7Xgru1uOqZwrV/FSUdyKVs5fopZcbBSuetwD/akst3O7Ypryg3UOLP54S/vnVmA==", "dev": true, "requires": { - "@lerna/child-process": "4.0.0", - "@lerna/command": "4.0.0", - "@lerna/filter-options": "4.0.0", - "@lerna/profiler": "4.0.0", - "@lerna/run-topologically": "4.0.0", - "@lerna/validation-error": "4.0.0", - "p-map": "^4.0.0" + "@microsoft/api-extractor-model": "7.16.0", + "@microsoft/tsdoc": "0.13.2", + "@microsoft/tsdoc-config": "~0.15.2", + "@rushstack/node-core-library": "3.45.1", + "@rushstack/rig-package": "0.3.8", + "@rushstack/ts-command-line": "4.10.7", + "colors": "~1.2.1", + "lodash": "~4.17.15", + "resolve": "~1.17.0", + "semver": "~7.3.0", + "source-map": "~0.6.1", + "typescript": "~4.5.2" }, "dependencies": { - "@lerna/validation-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", - "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", - "dev": true, - "requires": { - "npmlog": "^4.1.2" - } + "semver": { + "version": "7.3.2", + "dev": true + }, + "typescript": { + "version": "4.5.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz", + "integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==", + "dev": true } } }, - "@lerna/filter-options": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-4.0.0.tgz", - "integrity": "sha512-vV2ANOeZhOqM0rzXnYcFFCJ/kBWy/3OA58irXih9AMTAlQLymWAK0akWybl++sUJ4HB9Hx12TOqaXbYS2NM5uw==", + "@microsoft/api-extractor-model": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@microsoft/api-extractor-model/-/api-extractor-model-7.16.0.tgz", + "integrity": "sha512-0FOrbNIny8mzBrzQnSIkEjAXk0JMSnPmWYxt3ZDTPVg9S8xIPzB6lfgTg9+Mimu0RKCpGKBpd+v2WcR5vGzyUQ==", "dev": true, "requires": { - "@lerna/collect-updates": "4.0.0", - "@lerna/filter-packages": "4.0.0", - "dedent": "^0.7.0", - "npmlog": "^4.1.2" + "@microsoft/tsdoc": "0.13.2", + "@microsoft/tsdoc-config": "~0.15.2", + "@rushstack/node-core-library": "3.45.1" } }, - "@lerna/filter-packages": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-4.0.0.tgz", - "integrity": "sha512-+4AJIkK7iIiOaqCiVTYJxh/I9qikk4XjNQLhE3kixaqgMuHl1NQ99qXRR0OZqAWB9mh8Z1HA9bM5K1HZLBTOqA==", + "@microsoft/tsdoc": { + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.13.2.tgz", + "integrity": "sha512-WrHvO8PDL8wd8T2+zBGKrMwVL5IyzR3ryWUsl0PXgEV0QHup4mTLi0QcATefGI6Gx9Anu7vthPyyyLpY0EpiQg==", + "dev": true + }, + "@microsoft/tsdoc-config": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/@microsoft/tsdoc-config/-/tsdoc-config-0.15.2.tgz", + "integrity": "sha512-mK19b2wJHSdNf8znXSMYVShAHktVr/ib0Ck2FA3lsVBSEhSI/TfXT7DJQkAYgcztTuwazGcg58ZjYdk0hTCVrA==", "dev": true, "requires": { - "@lerna/validation-error": "4.0.0", - "multimatch": "^5.0.0", - "npmlog": "^4.1.2" + "@microsoft/tsdoc": "0.13.2", + "ajv": "~6.12.6", + "jju": "~1.4.0", + "resolve": "~1.19.0" }, "dependencies": { - "@lerna/validation-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", - "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", + "resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", "dev": true, "requires": { - "npmlog": "^4.1.2" + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" } } } }, - "@lerna/get-npm-exec-opts": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-4.0.0.tgz", - "integrity": "sha512-yvmkerU31CTWS2c7DvmAWmZVeclPBqI7gPVr5VATUKNWJ/zmVcU4PqbYoLu92I9Qc4gY1TuUplMNdNuZTSL7IQ==", + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", "dev": true, "requires": { - "npmlog": "^4.1.2" + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" } }, - "@lerna/get-packed": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/get-packed/-/get-packed-4.0.0.tgz", - "integrity": "sha512-rfWONRsEIGyPJTxFzC8ECb3ZbsDXJbfqWYyeeQQDrJRPnEJErlltRLPLgC2QWbxFgFPsoDLeQmFHJnf0iDfd8w==", + "@nodelib/fs.scandir": { + "version": "2.1.3", "dev": true, "requires": { - "fs-extra": "^9.1.0", - "ssri": "^8.0.1", - "tar": "^6.1.0" + "@nodelib/fs.stat": "2.0.3", + "run-parallel": "^1.1.9" }, "dependencies": { - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "@nodelib/fs.stat": { + "version": "2.0.3", "dev": true } } }, - "@lerna/github-client": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/github-client/-/github-client-4.0.0.tgz", - "integrity": "sha512-2jhsldZtTKXYUBnOm23Lb0Fx8G4qfSXF9y7UpyUgWUj+YZYd+cFxSuorwQIgk5P4XXrtVhsUesIsli+BYSThiw==", - "dev": true, - "requires": { - "@lerna/child-process": "4.0.0", - "@octokit/plugin-enterprise-rest": "^6.0.1", - "@octokit/rest": "^18.1.0", - "git-url-parse": "^11.4.4", - "npmlog": "^4.1.2" - } + "@nodelib/fs.stat": { + "version": "1.1.3", + "dev": true }, - "@lerna/gitlab-client": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/gitlab-client/-/gitlab-client-4.0.0.tgz", - "integrity": "sha512-OMUpGSkeDWFf7BxGHlkbb35T7YHqVFCwBPSIR6wRsszY8PAzCYahtH3IaJzEJyUg6vmZsNl0FSr3pdA2skhxqA==", + "@nodelib/fs.walk": { + "version": "1.2.4", "dev": true, "requires": { - "node-fetch": "^2.6.1", - "npmlog": "^4.1.2", - "whatwg-url": "^8.4.0" + "@nodelib/fs.scandir": "2.1.3", + "fastq": "^1.6.0" } }, - "@lerna/global-options": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/global-options/-/global-options-4.0.0.tgz", - "integrity": "sha512-TRMR8afAHxuYBHK7F++Ogop2a82xQjoGna1dvPOY6ltj/pEx59pdgcJfYcynYqMkFIk8bhLJJN9/ndIfX29FTQ==", + "@npmcli/ci-detect": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@npmcli/ci-detect/-/ci-detect-1.4.0.tgz", + "integrity": "sha512-3BGrt6FLjqM6br5AhWRKTr3u5GIVkjRYeAFrMp3HjnfICrg4xOrVRwFavKT6tsp++bq5dluL5t8ME/Nha/6c1Q==", "dev": true }, - "@lerna/has-npm-version": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/has-npm-version/-/has-npm-version-4.0.0.tgz", - "integrity": "sha512-LQ3U6XFH8ZmLCsvsgq1zNDqka0Xzjq5ibVN+igAI5ccRWNaUsE/OcmsyMr50xAtNQMYMzmpw5GVLAivT2/YzCg==", + "@npmcli/fs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.0.0.tgz", + "integrity": "sha512-8ltnOpRR/oJbOp8vaGUnipOi3bqkcW+sLHFlyXIr08OGHmVJLB1Hn7QtGXbYcpVtH1gAYZTlmDXtE4YV0+AMMQ==", "dev": true, "requires": { - "@lerna/child-process": "4.0.0", - "semver": "^7.3.4" + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" }, "dependencies": { "lru-cache": { @@ -22023,365 +29181,552 @@ } } }, - "@lerna/import": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/import/-/import-4.0.0.tgz", - "integrity": "sha512-FaIhd+4aiBousKNqC7TX1Uhe97eNKf5/SC7c5WZANVWtC7aBWdmswwDt3usrzCNpj6/Wwr9EtEbYROzxKH8ffg==", + "@npmcli/git": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-2.1.0.tgz", + "integrity": "sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw==", "dev": true, "requires": { - "@lerna/child-process": "4.0.0", - "@lerna/command": "4.0.0", - "@lerna/prompt": "4.0.0", - "@lerna/pulse-till-done": "4.0.0", - "@lerna/validation-error": "4.0.0", - "dedent": "^0.7.0", - "fs-extra": "^9.1.0", - "p-map-series": "^2.1.0" + "@npmcli/promise-spawn": "^1.3.2", + "lru-cache": "^6.0.0", + "mkdirp": "^1.0.4", + "npm-pick-manifest": "^6.1.1", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^2.0.2" }, "dependencies": { - "@lerna/validation-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", - "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "requires": { - "npmlog": "^4.1.2" + "yallist": "^4.0.0" } }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "lru-cache": "^6.0.0" } }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@npmcli/installed-package-contents": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz", + "integrity": "sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==", + "dev": true, + "requires": { + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "dev": true, + "requires": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" + "glob": "^7.1.3" } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true } } }, - "@lerna/info": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/info/-/info-4.0.0.tgz", - "integrity": "sha512-8Uboa12kaCSZEn4XRfPz5KU9XXoexSPS4oeYGj76s2UQb1O1GdnEyfjyNWoUl1KlJ2i/8nxUskpXIftoFYH0/Q==", + "@npmcli/node-gyp": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-1.0.3.tgz", + "integrity": "sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA==", + "dev": true + }, + "@npmcli/promise-spawn": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz", + "integrity": "sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==", "dev": true, "requires": { - "@lerna/command": "4.0.0", - "@lerna/output": "4.0.0", - "envinfo": "^7.7.4" + "infer-owner": "^1.0.4" } }, - "@lerna/init": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/init/-/init-4.0.0.tgz", - "integrity": "sha512-wY6kygop0BCXupzWj5eLvTUqdR7vIAm0OgyV9WHpMYQGfs1V22jhztt8mtjCloD/O0nEe4tJhdG62XU5aYmPNQ==", + "@npmcli/run-script": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-1.8.6.tgz", + "integrity": "sha512-e42bVZnC6VluBZBAFEr3YrdqSspG3bgilyg4nSLBJ7TRGNCzxHa92XAHxQBLYg0BmgwO4b2mf3h/l5EkEWRn3g==", "dev": true, "requires": { - "@lerna/child-process": "4.0.0", - "@lerna/command": "4.0.0", - "fs-extra": "^9.1.0", - "p-map": "^4.0.0", - "write-json-file": "^4.3.0" + "@npmcli/node-gyp": "^1.0.2", + "@npmcli/promise-spawn": "^1.3.2", + "node-gyp": "^7.1.0", + "read-package-json-fast": "^2.0.1" }, "dependencies": { - "detect-indent": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", - "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", - "dev": true - }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "yallist": "^4.0.0" } }, - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "node-gyp": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz", + "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==", "dev": true, "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.3", + "nopt": "^5.0.0", + "npmlog": "^4.1.2", + "request": "^2.88.2", + "rimraf": "^3.0.2", + "semver": "^7.3.2", + "tar": "^6.0.2", + "which": "^2.0.2" } }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", "dev": true, "requires": { - "semver": "^6.0.0" + "abbrev": "1" } }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "sort-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz", - "integrity": "sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==", + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { - "is-plain-obj": "^2.0.0" + "glob": "^7.1.3" } }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "lru-cache": "^6.0.0" } }, - "write-json-file": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-4.3.0.tgz", - "integrity": "sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ==", + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "requires": { - "detect-indent": "^6.0.0", - "graceful-fs": "^4.1.15", - "is-plain-obj": "^2.0.0", - "make-dir": "^3.0.0", - "sort-keys": "^4.0.0", - "write-file-atomic": "^3.0.0" + "isexe": "^2.0.0" } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true } } }, - "@lerna/link": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/link/-/link-4.0.0.tgz", - "integrity": "sha512-KlvPi7XTAcVOByfaLlOeYOfkkDcd+bejpHMCd1KcArcFTwijOwXOVi24DYomIeHvy6HsX/IUquJ4PPUJIeB4+w==", + "@octokit/auth-token": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", + "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", "dev": true, "requires": { - "@lerna/command": "4.0.0", - "@lerna/package-graph": "4.0.0", - "@lerna/symlink-dependencies": "4.0.0", - "p-map": "^4.0.0", - "slash": "^3.0.0" + "@octokit/types": "^6.0.3" } }, - "@lerna/list": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/list/-/list-4.0.0.tgz", - "integrity": "sha512-L2B5m3P+U4Bif5PultR4TI+KtW+SArwq1i75QZ78mRYxPc0U/piau1DbLOmwrdqr99wzM49t0Dlvl6twd7GHFg==", + "@octokit/core": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.5.1.tgz", + "integrity": "sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw==", "dev": true, "requires": { - "@lerna/command": "4.0.0", - "@lerna/filter-options": "4.0.0", - "@lerna/listable": "4.0.0", - "@lerna/output": "4.0.0" + "@octokit/auth-token": "^2.4.4", + "@octokit/graphql": "^4.5.8", + "@octokit/request": "^5.6.0", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.0.3", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" } }, - "@lerna/listable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/listable/-/listable-4.0.0.tgz", - "integrity": "sha512-/rPOSDKsOHs5/PBLINZOkRIX1joOXUXEtyUs5DHLM8q6/RP668x/1lFhw6Dx7/U+L0+tbkpGtZ1Yt0LewCLgeQ==", + "@octokit/endpoint": { + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", + "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", "dev": true, "requires": { - "@lerna/query-graph": "4.0.0", - "chalk": "^4.1.0", - "columnify": "^1.5.4" + "@octokit/types": "^6.0.3", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } } } }, - "@lerna/log-packed": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/log-packed/-/log-packed-4.0.0.tgz", - "integrity": "sha512-+dpCiWbdzgMAtpajLToy9PO713IHoE6GV/aizXycAyA07QlqnkpaBNZ8DW84gHdM1j79TWockGJo9PybVhrrZQ==", + "@octokit/graphql": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", + "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", "dev": true, "requires": { - "byte-size": "^7.0.0", - "columnify": "^1.5.4", - "has-unicode": "^2.0.1", - "npmlog": "^4.1.2" + "@octokit/request": "^5.6.0", + "@octokit/types": "^6.0.3", + "universal-user-agent": "^6.0.0" } }, - "@lerna/npm-conf": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/npm-conf/-/npm-conf-4.0.0.tgz", - "integrity": "sha512-uS7H02yQNq3oejgjxAxqq/jhwGEE0W0ntr8vM3EfpCW1F/wZruwQw+7bleJQ9vUBjmdXST//tk8mXzr5+JXCfw==", + "@octokit/openapi-types": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.2.0.tgz", + "integrity": "sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA==", + "dev": true + }, + "@octokit/plugin-enterprise-rest": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz", + "integrity": "sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==", + "dev": true + }, + "@octokit/plugin-paginate-rest": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.17.0.tgz", + "integrity": "sha512-tzMbrbnam2Mt4AhuyCHvpRkS0oZ5MvwwcQPYGtMv4tUa5kkzG58SVB0fcsLulOZQeRnOgdkZWkRUiyBlh0Bkyw==", "dev": true, "requires": { - "config-chain": "^1.1.12", - "pify": "^5.0.0" + "@octokit/types": "^6.34.0" + } + }, + "@octokit/plugin-request-log": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", + "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==", + "dev": true + }, + "@octokit/plugin-rest-endpoint-methods": { + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.13.0.tgz", + "integrity": "sha512-uJjMTkN1KaOIgNtUPMtIXDOjx6dGYysdIFhgA52x4xSadQCz3b/zJexvITDVpANnfKPW/+E0xkOvLntqMYpviA==", + "dev": true, + "requires": { + "@octokit/types": "^6.34.0", + "deprecation": "^2.3.1" + } + }, + "@octokit/request": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.2.tgz", + "integrity": "sha512-je66CvSEVf0jCpRISxkUcCa0UkxmFs6eGDRSbfJtAVwbLH5ceqF+YEyC8lj8ystKyZTy8adWr0qmkY52EfOeLA==", + "dev": true, + "requires": { + "@octokit/endpoint": "^6.0.1", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.1", + "universal-user-agent": "^6.0.0" }, "dependencies": { - "pify": { + "is-plain-object": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", - "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "dev": true } } }, - "@lerna/npm-dist-tag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-4.0.0.tgz", - "integrity": "sha512-F20sg28FMYTgXqEQihgoqSfwmq+Id3zT23CnOwD+XQMPSy9IzyLf1fFVH319vXIw6NF6Pgs4JZN2Qty6/CQXGw==", + "@octokit/request-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", + "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", + "dev": true, + "requires": { + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "@octokit/rest": { + "version": "18.12.0", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz", + "integrity": "sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==", + "dev": true, + "requires": { + "@octokit/core": "^3.5.1", + "@octokit/plugin-paginate-rest": "^2.16.8", + "@octokit/plugin-request-log": "^1.0.4", + "@octokit/plugin-rest-endpoint-methods": "^5.12.0" + } + }, + "@octokit/types": { + "version": "6.34.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.34.0.tgz", + "integrity": "sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw==", + "dev": true, + "requires": { + "@octokit/openapi-types": "^11.2.0" + } + }, + "@pixi-build-tools/api-extractor-lerna-monorepo": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@pixi-build-tools/api-extractor-lerna-monorepo/-/api-extractor-lerna-monorepo-1.1.0.tgz", + "integrity": "sha512-lBfrqrxXLoEjJcBe4umuXNezCvmciet9mA5V3gS/OvHUyimbwKhDAk4PHvxJDldmqd6vyJAZaka13gw011ji5w==", + "dev": true, + "requires": { + "@lerna/project": "^4.0.0" + } + }, + "@pixi/accessibility": { + "version": "file:packages/accessibility" + }, + "@pixi/app": { + "version": "file:packages/app" + }, + "@pixi/basis": { + "version": "file:packages/basis" + }, + "@pixi/canvas-display": { + "version": "file:packages/canvas-display" + }, + "@pixi/canvas-extract": { + "version": "file:packages/canvas-extract" + }, + "@pixi/canvas-graphics": { + "version": "file:packages/canvas-graphics" + }, + "@pixi/canvas-mesh": { + "version": "file:packages/canvas-mesh" + }, + "@pixi/canvas-particle-container": { + "version": "file:packages/canvas-particle-container" + }, + "@pixi/canvas-prepare": { + "version": "file:packages/canvas-prepare" + }, + "@pixi/canvas-renderer": { + "version": "file:packages/canvas-renderer" + }, + "@pixi/canvas-sprite": { + "version": "file:packages/canvas-sprite" + }, + "@pixi/canvas-sprite-tiling": { + "version": "file:packages/canvas-sprite-tiling" + }, + "@pixi/canvas-text": { + "version": "file:packages/canvas-text" + }, + "@pixi/compressed-textures": { + "version": "file:packages/compressed-textures" + }, + "@pixi/constants": { + "version": "file:packages/constants" + }, + "@pixi/core": { + "version": "file:packages/core", + "requires": { + "@types/offscreencanvas": "^2019.6.4" + } + }, + "@pixi/display": { + "version": "file:packages/display" + }, + "@pixi/eslint-config": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@pixi/eslint-config/-/eslint-config-4.0.1.tgz", + "integrity": "sha512-o75jXn96vBw37E/CCnwgfLOBVQAFf4Z7OyctLxcOmthQgr3iG4ILW2DbtZTh1+XuZ3eF2JqnLa9WjIgzZOAKMg==", "dev": true, "requires": { - "@lerna/otplease": "4.0.0", - "npm-package-arg": "^8.1.0", - "npm-registry-fetch": "^9.0.0", - "npmlog": "^4.1.2" - }, - "dependencies": { - "hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "npm-package-arg": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", - "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", - "dev": true, - "requires": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" - } - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } + "@typescript-eslint/eslint-plugin": "^5.0.0", + "@typescript-eslint/parser": "^5.0.0" + } + }, + "@pixi/events": { + "version": "file:packages/events" + }, + "@pixi/extract": { + "version": "file:packages/extract" + }, + "@pixi/filter-alpha": { + "version": "file:packages/filter-alpha" + }, + "@pixi/filter-blur": { + "version": "file:packages/filter-blur" + }, + "@pixi/filter-color-matrix": { + "version": "file:packages/filter-color-matrix" + }, + "@pixi/filter-displacement": { + "version": "file:packages/filter-displacement" + }, + "@pixi/filter-fxaa": { + "version": "file:packages/filter-fxaa" + }, + "@pixi/filter-noise": { + "version": "file:packages/filter-noise" + }, + "@pixi/graphics": { + "version": "file:packages/graphics" + }, + "@pixi/graphics-extras": { + "version": "file:packages/graphics-extras" + }, + "@pixi/interaction": { + "version": "file:packages/interaction" + }, + "@pixi/loaders": { + "version": "file:packages/loaders" + }, + "@pixi/math": { + "version": "file:packages/math" + }, + "@pixi/math-extras": { + "version": "file:packages/math-extras" + }, + "@pixi/mesh": { + "version": "file:packages/mesh" + }, + "@pixi/mesh-extras": { + "version": "file:packages/mesh-extras" + }, + "@pixi/mixin-cache-as-bitmap": { + "version": "file:packages/mixin-cache-as-bitmap" + }, + "@pixi/mixin-get-child-by-name": { + "version": "file:packages/mixin-get-child-by-name" + }, + "@pixi/mixin-get-global-position": { + "version": "file:packages/mixin-get-global-position" + }, + "@pixi/particle-container": { + "version": "file:packages/particle-container" + }, + "@pixi/polyfill": { + "version": "file:packages/polyfill", + "requires": { + "@types/object-assign": "^4.0.30", + "@types/promise-polyfill": "^6.0.3", + "object-assign": "^4.1.1", + "promise-polyfill": "^8.2.0" + } + }, + "@pixi/prepare": { + "version": "file:packages/prepare" + }, + "@pixi/runner": { + "version": "file:packages/runner" + }, + "@pixi/settings": { + "version": "file:packages/settings", + "requires": { + "ismobilejs": "^1.1.0" + } + }, + "@pixi/sprite": { + "version": "file:packages/sprite" + }, + "@pixi/sprite-animated": { + "version": "file:packages/sprite-animated" + }, + "@pixi/sprite-tiling": { + "version": "file:packages/sprite-tiling" + }, + "@pixi/spritesheet": { + "version": "file:packages/spritesheet" + }, + "@pixi/text": { + "version": "file:packages/text" + }, + "@pixi/text-bitmap": { + "version": "file:packages/text-bitmap" + }, + "@pixi/ticker": { + "version": "file:packages/ticker" + }, + "@pixi/unsafe-eval": { + "version": "file:packages/unsafe-eval" + }, + "@pixi/utils": { + "version": "file:packages/utils", + "requires": { + "@types/earcut": "^2.1.0", + "css-color-names": "^1.0.1", + "earcut": "^2.2.2", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" } }, - "@lerna/npm-install": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-4.0.0.tgz", - "integrity": "sha512-aKNxq2j3bCH3eXl3Fmu4D54s/YLL9WSwV8W7X2O25r98wzrO38AUN6AB9EtmAx+LV/SP15et7Yueg9vSaanRWg==", + "@pixi/webdoc-template": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@pixi/webdoc-template/-/webdoc-template-1.5.3.tgz", + "integrity": "sha512-Q988OAvg0NsfoSE6Bl99Lej1l4O1QgV09ZWAnDDKi7FDSGxhY+sQpenN4DEmB27rzW5RJiST3irnTKq1S5TnKg==", "dev": true, "requires": { - "@lerna/child-process": "4.0.0", - "@lerna/get-npm-exec-opts": "4.0.0", - "fs-extra": "^9.1.0", - "npm-package-arg": "^8.1.0", - "npmlog": "^4.1.2", - "signal-exit": "^3.0.3", - "write-pkg": "^4.0.0" + "code-prettify": "^0.1.0", + "color-themes-for-google-code-prettify": "^2.0.4", + "common-path-prefix": "^3.0.0", + "fs-extra": "^9.0.1", + "klaw-sync": "^6.0.0", + "lodash": "*", + "markdown-it": "^11.0.0", + "markdown-it-highlightjs": "^3.4.0", + "missionlog": "^1.6.0", + "open-sans-fonts": "^1.6.2", + "taffydb": "^2.7.3" }, "dependencies": { "fs-extra": { "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, "requires": { "at-least-node": "^1.0.0", @@ -22390,293 +29735,508 @@ "universalify": "^2.0.0" } }, - "hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, "jsonfile": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "requires": { "graceful-fs": "^4.1.6", "universalify": "^2.0.0" } }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "universalify": { + "version": "2.0.0", + "dev": true + } + } + }, + "@rollup/plugin-alias": { + "version": "3.1.1", + "dev": true, + "requires": { + "slash": "^3.0.0" + } + }, + "@rollup/plugin-buble": { + "version": "0.21.3", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.0.8", + "@types/buble": "^0.19.2", + "buble": "^0.20.0" + }, + "dependencies": { + "buble": { + "version": "0.20.0", "dev": true, "requires": { - "yallist": "^4.0.0" + "acorn": "^6.4.1", + "acorn-dynamic-import": "^4.0.0", + "acorn-jsx": "^5.2.0", + "chalk": "^2.4.2", + "magic-string": "^0.25.7", + "minimist": "^1.2.5", + "regexpu-core": "4.5.4" } }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "magic-string": { + "version": "0.25.7", "dev": true, "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "sourcemap-codec": "^1.4.4" } }, - "npm-package-arg": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", - "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "regenerate-unicode-properties": { + "version": "8.2.0", "dev": true, "requires": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" + "regenerate": "^1.4.0" } }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "regexpu-core": { + "version": "4.5.4", "dev": true, "requires": { - "lru-cache": "^6.0.0" + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.0.2", + "regjsgen": "^0.5.0", + "regjsparser": "^0.6.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.1.0" } }, - "type-fest": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.4.1.tgz", - "integrity": "sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==", + "unicode-match-property-value-ecmascript": { + "version": "1.2.0", "dev": true - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + } + } + }, + "@rollup/plugin-commonjs": { + "version": "15.1.0", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.1.0", + "commondir": "^1.0.1", + "estree-walker": "^2.0.1", + "glob": "^7.1.6", + "is-reference": "^1.2.1", + "magic-string": "^0.25.7", + "resolve": "^1.17.0" + }, + "dependencies": { + "estree-walker": { + "version": "2.0.1", "dev": true }, - "write-json-file": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-3.2.0.tgz", - "integrity": "sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ==", + "magic-string": { + "version": "0.25.7", "dev": true, "requires": { - "detect-indent": "^5.0.0", - "graceful-fs": "^4.1.15", - "make-dir": "^2.1.0", - "pify": "^4.0.1", - "sort-keys": "^2.0.0", - "write-file-atomic": "^2.4.2" + "sourcemap-codec": "^1.4.4" } }, - "write-pkg": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/write-pkg/-/write-pkg-4.0.0.tgz", - "integrity": "sha512-v2UQ+50TNf2rNHJ8NyWttfm/EJUBWMJcx6ZTYZr6Qp52uuegWw/lBkCtCbnYZEmPRNL61m+u67dAmGxo+HTULA==", + "resolve": { + "version": "1.18.1", "dev": true, "requires": { - "sort-keys": "^2.0.0", - "type-fest": "^0.4.1", - "write-json-file": "^3.2.0" + "is-core-module": "^2.0.0", + "path-parse": "^1.0.6" } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true } } }, - "@lerna/npm-publish": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-4.0.0.tgz", - "integrity": "sha512-vQb7yAPRo5G5r77DRjHITc9piR9gvEKWrmfCH7wkfBnGWEqu7n8/4bFQ7lhnkujvc8RXOsYpvbMQkNfkYibD/w==", + "@rollup/plugin-json": { + "version": "4.1.0", "dev": true, "requires": { - "@lerna/otplease": "4.0.0", - "@lerna/run-lifecycle": "4.0.0", - "fs-extra": "^9.1.0", - "libnpmpublish": "^4.0.0", - "npm-package-arg": "^8.1.0", - "npmlog": "^4.1.2", - "pify": "^5.0.0", - "read-package-json": "^3.0.0" + "@rollup/pluginutils": "^3.0.8" + } + }, + "@rollup/plugin-node-resolve": { + "version": "9.0.0", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.17.0" }, "dependencies": { - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "@types/resolve": { + "version": "1.17.1", "dev": true, "requires": { - "lru-cache": "^6.0.0" + "@types/node": "*" } }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "resolve": { + "version": "1.18.1", "dev": true, "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" + "is-core-module": "^2.0.0", + "path-parse": "^1.0.6" } - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + } + } + }, + "@rollup/plugin-typescript": { + "version": "6.0.0", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.1.0", + "resolve": "^1.17.0" + }, + "dependencies": { + "resolve": { + "version": "1.18.1", "dev": true, "requires": { - "yallist": "^4.0.0" + "is-core-module": "^2.0.0", + "path-parse": "^1.0.6" } + } + } + }, + "@rollup/pluginutils": { + "version": "3.1.0", + "dev": true, + "requires": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "dependencies": { + "@types/estree": { + "version": "0.0.39", + "dev": true }, - "npm-package-arg": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", - "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "estree-walker": { + "version": "1.0.1", + "dev": true + } + } + }, + "@rushstack/node-core-library": { + "version": "3.45.1", + "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-3.45.1.tgz", + "integrity": "sha512-BwdssTNe007DNjDBxJgInHg8ePytIPyT0La7ZZSQZF9+rSkT42AygXPGvbGsyFfEntjr4X37zZSJI7yGzL16cQ==", + "dev": true, + "requires": { + "@types/node": "12.20.24", + "colors": "~1.2.1", + "fs-extra": "~7.0.1", + "import-lazy": "~4.0.0", + "jju": "~1.4.0", + "resolve": "~1.17.0", + "semver": "~7.3.0", + "timsort": "~0.3.0", + "z-schema": "~5.0.2" + }, + "dependencies": { + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", "dev": true, "requires": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" } }, - "pify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", - "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", + "lru-cache": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.8.0.tgz", + "integrity": "sha512-AmXqneQZL3KZMIgBpaPTeI6pfwh+xQ2vutMsyqOu1TBdEXFZgpG/80wuJ531w2ZN7TI0/oc8CPxzh/DKQudZqg==", "dev": true }, "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.3.6", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.6.tgz", + "integrity": "sha512-HZWqcgwLsjaX1HBD31msI/rXktuIhS+lWvdE4kN9z+8IVT4Itc7vqU2WvYsyD6/sjYCt4dEKH/m1M3dwI9CC5w==", "dev": true, "requires": { - "lru-cache": "^6.0.0" + "lru-cache": "^7.4.0" } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true } } }, - "@lerna/npm-run-script": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-4.0.0.tgz", - "integrity": "sha512-Jmyh9/IwXJjOXqKfIgtxi0bxi1pUeKe5bD3S81tkcy+kyng/GNj9WSqD5ZggoNP2NP//s4CLDAtUYLdP7CU9rA==", + "@rushstack/rig-package": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.3.8.tgz", + "integrity": "sha512-MDWg1xovea99PWloSiYMjFcCLsrdjFtYt6aOyHNs5ojn5mxrzR6U9F83hvbQjTWnKPMvZtr0vcek+4n+OQOp3Q==", + "dev": true, + "requires": { + "resolve": "~1.17.0", + "strip-json-comments": "~3.1.1" + } + }, + "@rushstack/ts-command-line": { + "version": "4.10.7", + "resolved": "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.10.7.tgz", + "integrity": "sha512-CjS+DfNXUSO5Ab2wD1GBGtUTnB02OglRWGqfaTcac9Jn45V5MeUOsq/wA8wEeS5Y/3TZ2P1k+IWdVDiuOFP9Og==", + "dev": true, + "requires": { + "@types/argparse": "1.0.38", + "argparse": "~1.0.9", + "colors": "~1.2.1", + "string-argv": "~0.3.1" + } + }, + "@sindresorhus/is": { + "version": "0.14.0", + "dev": true + }, + "@sinonjs/commons": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", + "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", + "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@szmarczak/http-timer": { + "version": "1.1.2", + "dev": true, + "requires": { + "defer-to-connect": "^1.0.1" + } + }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true + }, + "@types/argparse": { + "version": "1.0.38", + "resolved": "https://registry.npmjs.org/@types/argparse/-/argparse-1.0.38.tgz", + "integrity": "sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==", + "dev": true + }, + "@types/babel__core": { + "version": "7.1.19", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", + "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.17.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz", + "integrity": "sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0" + } + }, + "@types/buble": { + "version": "0.19.2", + "dev": true, + "requires": { + "magic-string": "^0.25.0" + } + }, + "@types/chai": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.1.tgz", + "integrity": "sha512-/zPMqDkzSZ8t3VtxOa4KPq7uzzW978M9Tvh+j7GHKuo6k6GTLxPJ4J5gE5cjfJ26pnXst0N5Hax8Sr0T2Mi9zQ==", + "dev": true + }, + "@types/color-name": { + "version": "1.1.1", + "dev": true + }, + "@types/earcut": { + "version": "2.1.1" + }, + "@types/estree": { + "version": "0.0.45", + "dev": true + }, + "@types/glob": { + "version": "7.1.3", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", "dev": true, "requires": { - "@lerna/child-process": "4.0.0", - "@lerna/get-npm-exec-opts": "4.0.0", - "npmlog": "^4.1.2" + "@types/istanbul-lib-coverage": "*" } }, - "@lerna/otplease": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/otplease/-/otplease-4.0.0.tgz", - "integrity": "sha512-Sgzbqdk1GH4psNiT6hk+BhjOfIr/5KhGBk86CEfHNJTk9BK4aZYyJD4lpDbDdMjIV4g03G7pYoqHzH765T4fxw==", + "@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", "dev": true, "requires": { - "@lerna/prompt": "4.0.0" + "@types/istanbul-lib-report": "*" } }, - "@lerna/output": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/output/-/output-4.0.0.tgz", - "integrity": "sha512-Un1sHtO1AD7buDQrpnaYTi2EG6sLF+KOPEAMxeUYG5qG3khTs2Zgzq5WE3dt2N/bKh7naESt20JjIW6tBELP0w==", + "@types/jest": { + "version": "26.0.24", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.24.tgz", + "integrity": "sha512-E/X5Vib8BWqZNRlDxj9vYXhsDwPYbPINqKF9BsnSoon4RQ0D9moEuLD8txgyypFLH7J4+Lho9Nr/c8H0Fi+17w==", "dev": true, "requires": { - "npmlog": "^4.1.2" + "jest-diff": "^26.0.0", + "pretty-format": "^26.0.0" } }, - "@lerna/pack-directory": { + "@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "@types/minimatch": { + "version": "3.0.3", + "dev": true + }, + "@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "dev": true + }, + "@types/node": { + "version": "12.20.24", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.24.tgz", + "integrity": "sha512-yxDeaQIAJlMav7fH5AQqPH1u8YIuhYJXYBzxaQ4PifsU0GDO38MSdmEDeRlIxrKbC6NbEaaEHDanWb+y30U8SQ==", + "dev": true + }, + "@types/normalize-package-data": { + "version": "2.4.0", + "dev": true + }, + "@types/object-assign": { + "version": "4.0.30", + "dev": true + }, + "@types/offscreencanvas": { + "version": "2019.6.4", + "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.6.4.tgz", + "integrity": "sha512-u8SAgdZ8ROtkTF+mfZGOscl0or6BSj9A4g37e6nvxDc+YB/oDut0wHkK2PBBiC2bNR8TS0CPV+1gAk4fNisr1Q==" + }, + "@types/parse-json": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/pack-directory/-/pack-directory-4.0.0.tgz", - "integrity": "sha512-NJrmZNmBHS+5aM+T8N6FVbaKFScVqKlQFJNY2k7nsJ/uklNKsLLl6VhTQBPwMTbf6Tf7l6bcKzpy7aePuq9UiQ==", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "@types/prettier": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.3.tgz", + "integrity": "sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg==", + "dev": true + }, + "@types/promise-polyfill": { + "version": "6.0.3", + "dev": true + }, + "@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "@types/yargs": { + "version": "15.0.14", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", + "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", "dev": true, "requires": { - "@lerna/get-packed": "4.0.0", - "@lerna/package": "4.0.0", - "@lerna/run-lifecycle": "4.0.0", - "npm-packlist": "^2.1.4", - "npmlog": "^4.1.2", - "tar": "^6.1.0", - "temp-write": "^4.0.0" + "@types/yargs-parser": "*" } }, - "@lerna/package": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/package/-/package-4.0.0.tgz", - "integrity": "sha512-l0M/izok6FlyyitxiQKr+gZLVFnvxRQdNhzmQ6nRnN9dvBJWn+IxxpM+cLqGACatTnyo9LDzNTOj2Db3+s0s8Q==", + "@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.23.0.tgz", + "integrity": "sha512-hEcSmG4XodSLiAp1uxv/OQSGsDY6QN3TcRU32gANp+19wGE1QQZLRS8/GV58VRUoXhnkuJ3ZxNQ3T6Z6zM59DA==", "dev": true, "requires": { - "load-json-file": "^6.2.0", - "npm-package-arg": "^8.1.0", - "write-pkg": "^4.0.0" + "@typescript-eslint/scope-manager": "5.23.0", + "@typescript-eslint/type-utils": "5.23.0", + "@typescript-eslint/utils": "5.23.0", + "debug": "^4.3.2", + "functional-red-black-tree": "^1.0.1", + "ignore": "^5.1.8", + "regexpp": "^3.2.0", + "semver": "^7.3.5", + "tsutils": "^3.21.0" }, "dependencies": { - "hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "load-json-file": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz", - "integrity": "sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==", + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { - "graceful-fs": "^4.1.15", - "parse-json": "^5.0.0", - "strip-bom": "^4.0.0", - "type-fest": "^0.6.0" + "ms": "2.1.2" } }, "lru-cache": { @@ -22688,144 +30248,133 @@ "yallist": "^4.0.0" } }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "npm-package-arg": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", - "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", - "dev": true, - "requires": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" - } - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "dev": true, "requires": { "lru-cache": "^6.0.0" } }, - "strip-bom": { + "yallist": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true - }, - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true - }, - "write-json-file": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-3.2.0.tgz", - "integrity": "sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ==", + } + } + }, + "@typescript-eslint/parser": { + "version": "5.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.23.0.tgz", + "integrity": "sha512-V06cYUkqcGqpFjb8ttVgzNF53tgbB/KoQT/iB++DOIExKmzI9vBJKjZKt/6FuV9c+zrDsvJKbJ2DOCYwX91cbw==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.23.0", + "@typescript-eslint/types": "5.23.0", + "@typescript-eslint/typescript-estree": "5.23.0", + "debug": "^4.3.2" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { - "detect-indent": "^5.0.0", - "graceful-fs": "^4.1.15", - "make-dir": "^2.1.0", - "pify": "^4.0.1", - "sort-keys": "^2.0.0", - "write-file-atomic": "^2.4.2" + "ms": "2.1.2" } }, - "write-pkg": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/write-pkg/-/write-pkg-4.0.0.tgz", - "integrity": "sha512-v2UQ+50TNf2rNHJ8NyWttfm/EJUBWMJcx6ZTYZr6Qp52uuegWw/lBkCtCbnYZEmPRNL61m+u67dAmGxo+HTULA==", + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.23.0.tgz", + "integrity": "sha512-EhjaFELQHCRb5wTwlGsNMvzK9b8Oco4aYNleeDlNuL6qXWDF47ch4EhVNPh8Rdhf9tmqbN4sWDk/8g+Z/J8JVw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.23.0", + "@typescript-eslint/visitor-keys": "5.23.0" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.23.0.tgz", + "integrity": "sha512-iuI05JsJl/SUnOTXA9f4oI+/4qS/Zcgk+s2ir+lRmXI+80D8GaGwoUqs4p+X+4AxDolPpEpVUdlEH4ADxFy4gw==", + "dev": true, + "requires": { + "@typescript-eslint/utils": "5.23.0", + "debug": "^4.3.2", + "tsutils": "^3.21.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { - "sort-keys": "^2.0.0", - "type-fest": "^0.4.1", - "write-json-file": "^3.2.0" - }, - "dependencies": { - "type-fest": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.4.1.tgz", - "integrity": "sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==", - "dev": true - } + "ms": "2.1.2" } }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true } } }, - "@lerna/package-graph": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-4.0.0.tgz", - "integrity": "sha512-QED2ZCTkfXMKFoTGoccwUzjHtZMSf3UKX14A4/kYyBms9xfFsesCZ6SLI5YeySEgcul8iuIWfQFZqRw+Qrjraw==", + "@typescript-eslint/types": { + "version": "5.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.23.0.tgz", + "integrity": "sha512-NfBsV/h4dir/8mJwdZz7JFibaKC3E/QdeMEDJhiAE3/eMkoniZ7MjbEMCGXw6MZnZDMN3G9S0mH/6WUIj91dmw==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.23.0.tgz", + "integrity": "sha512-xE9e0lrHhI647SlGMl+m+3E3CKPF1wzvvOEWnuE3CCjjT7UiRnDGJxmAcVKJIlFgK6DY9RB98eLr1OPigPEOGg==", "dev": true, "requires": { - "@lerna/prerelease-id-from-version": "4.0.0", - "@lerna/validation-error": "4.0.0", - "npm-package-arg": "^8.1.0", - "npmlog": "^4.1.2", - "semver": "^7.3.4" + "@typescript-eslint/types": "5.23.0", + "@typescript-eslint/visitor-keys": "5.23.0", + "debug": "^4.3.2", + "globby": "^11.0.4", + "is-glob": "^4.0.3", + "semver": "^7.3.5", + "tsutils": "^3.21.0" }, "dependencies": { - "@lerna/validation-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", - "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { - "npmlog": "^4.1.2" + "ms": "2.1.2" } }, - "hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "requires": { - "lru-cache": "^6.0.0" + "is-extglob": "^2.1.1" } }, "lru-cache": { @@ -22837,21 +30386,16 @@ "yallist": "^4.0.0" } }, - "npm-package-arg": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", - "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", - "dev": true, - "requires": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" - } + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -22865,212 +30409,214 @@ } } }, - "@lerna/prerelease-id-from-version": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-4.0.0.tgz", - "integrity": "sha512-GQqguzETdsYRxOSmdFZ6zDBXDErIETWOqomLERRY54f4p+tk4aJjoVdd9xKwehC9TBfIFvlRbL1V9uQGHh1opg==", + "@typescript-eslint/utils": { + "version": "5.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.23.0.tgz", + "integrity": "sha512-dbgaKN21drqpkbbedGMNPCtRPZo1IOUr5EI9Jrrh99r5UW5Q0dz46RKXeSBoPV+56R6dFKpbrdhgUNSJsDDRZA==", "dev": true, "requires": { - "semver": "^7.3.4" + "@types/json-schema": "^7.0.9", + "@typescript-eslint/scope-manager": "5.23.0", + "@typescript-eslint/types": "5.23.0", + "@typescript-eslint/typescript-estree": "5.23.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" }, "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", "dev": true, "requires": { - "lru-cache": "^6.0.0" + "eslint-visitor-keys": "^2.0.0" } }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", "dev": true } } }, - "@lerna/profiler": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/profiler/-/profiler-4.0.0.tgz", - "integrity": "sha512-/BaEbqnVh1LgW/+qz8wCuI+obzi5/vRE8nlhjPzdEzdmWmZXuCKyWSEzAyHOJWw1ntwMiww5dZHhFQABuoFz9Q==", + "@typescript-eslint/visitor-keys": { + "version": "5.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.23.0.tgz", + "integrity": "sha512-Vd4mFNchU62sJB8pX19ZSPog05B0Y0CE2UxAZPT5k4iqhRYjPnqyY3woMxCd0++t9OTqkgjST+1ydLBi7e2Fvg==", "dev": true, "requires": { - "fs-extra": "^9.1.0", - "npmlog": "^4.1.2", - "upath": "^2.0.1" + "@typescript-eslint/types": "5.23.0", + "eslint-visitor-keys": "^3.0.0" }, "dependencies": { - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", "dev": true } } }, - "@lerna/project": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/project/-/project-4.0.0.tgz", - "integrity": "sha512-o0MlVbDkD5qRPkFKlBZsXZjoNTWPyuL58564nSfZJ6JYNmgAptnWPB2dQlAc7HWRZkmnC2fCkEdoU+jioPavbg==", + "@webdoc/cli": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@webdoc/cli/-/cli-1.5.5.tgz", + "integrity": "sha512-RbC3BzwGKHn1r+zoWRBqtGFb5tJEG9/IkZoDKUlgSO7h5MkSl2HKj9/vmW2giv8MdoiZnF7WRDWwSDkWcdDunA==", "dev": true, "requires": { - "@lerna/package": "4.0.0", - "@lerna/validation-error": "4.0.0", - "cosmiconfig": "^7.0.0", - "dedent": "^0.7.0", - "dot-prop": "^6.0.1", - "glob-parent": "^5.1.1", - "globby": "^11.0.2", - "load-json-file": "^6.2.0", - "npmlog": "^4.1.2", - "p-map": "^4.0.0", - "resolve-from": "^5.0.0", - "write-json-file": "^4.3.0" + "@webdoc/default-template": "^1.5.5", + "@webdoc/externalize": "^1.5.5", + "@webdoc/legacy-template": "^1.5.5", + "@webdoc/model": "^1.5.5", + "@webdoc/parser": "^1.5.5", + "@webdoc/plugin-markdown": "^1.5.5", + "@webdoc/template-library": "^1.5.5", + "@webdoc/types": "^1.5.5", + "array.prototype.flatmap": "~1.2.3", + "fs-extra": "^9.0.1", + "globby": "11.0.0", + "lodash.merge": "4.6.2", + "markdown-it": "^11.0.0", + "markdown-it-highlightjs": "^3.1.0", + "missionlog": "1.6.0", + "object.fromentries": "^2.0.2", + "perf_hooks": "~0.0.1", + "pkg-up": "~3.1.0", + "read-pkg-up": "~7.0.1", + "yargs": "^16.2.0" }, "dependencies": { - "@lerna/validation-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", - "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", + "@nodelib/fs.stat": { + "version": "2.0.4", + "dev": true + }, + "ansi-regex": { + "version": "5.0.0", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "array-union": { + "version": "2.1.0", + "dev": true + }, + "braces": { + "version": "3.0.2", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "cliui": { + "version": "7.0.4", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "emoji-regex": { + "version": "8.0.0", + "dev": true + }, + "fast-glob": { + "version": "3.2.5", "dev": true, "requires": { - "npmlog": "^4.1.2" + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" } }, - "cosmiconfig": { + "fill-range": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", - "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", "dev": true, "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" + "to-regex-range": "^5.0.1" } }, - "detect-indent": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", - "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", - "dev": true - }, - "dot-prop": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", - "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", + "fs-extra": { + "version": "9.1.0", "dev": true, "requires": { - "is-obj": "^2.0.0" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" } }, + "get-caller-file": { + "version": "2.0.5", + "dev": true + }, "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "version": "5.1.1", "dev": true, "requires": { "is-glob": "^4.0.1" } }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "globby": { + "version": "11.0.0", "dev": true, "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - } + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" } }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "dev": true + }, "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "version": "4.0.1", "dev": true, "requires": { "is-extglob": "^2.1.1" } }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true - }, - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "is-number": { + "version": "7.0.0", "dev": true }, - "load-json-file": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz", - "integrity": "sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==", + "jsonfile": { + "version": "6.1.0", "dev": true, "requires": { - "graceful-fs": "^4.1.15", - "parse-json": "^5.0.0", - "strip-bom": "^4.0.0", - "type-fest": "^0.6.0" + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" } }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "micromatch": { + "version": "4.0.2", "dev": true, "requires": { - "semver": "^6.0.0" + "braces": "^3.0.1", + "picomatch": "^2.0.5" } }, "parse-json": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -23079,128 +30625,108 @@ "lines-and-columns": "^1.1.6" } }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true + "read-pkg": { + "version": "5.2.0", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "dev": true + } + } }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true + "read-pkg-up": { + "version": "7.0.1", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + } }, - "sort-keys": { + "string-width": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz", - "integrity": "sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==", "dev": true, "requires": { - "is-plain-obj": "^2.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" } }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true + "strip-ansi": { + "version": "6.0.0", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } }, - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "to-regex-range": { + "version": "5.0.1", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "universalify": { + "version": "2.0.0", "dev": true }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "wrap-ansi": { + "version": "7.0.0", "dev": true, "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" } }, - "write-json-file": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-4.3.0.tgz", - "integrity": "sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ==", + "y18n": { + "version": "5.0.5", + "dev": true + }, + "yargs": { + "version": "16.2.0", "dev": true, "requires": { - "detect-indent": "^6.0.0", - "graceful-fs": "^4.1.15", - "is-plain-obj": "^2.0.0", - "make-dir": "^3.0.0", - "sort-keys": "^4.0.0", - "write-file-atomic": "^3.0.0" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" } + }, + "yargs-parser": { + "version": "20.2.4", + "dev": true } } }, - "@lerna/prompt": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/prompt/-/prompt-4.0.0.tgz", - "integrity": "sha512-4Ig46oCH1TH5M7YyTt53fT6TuaKMgqUUaqdgxvp6HP6jtdak6+amcsqB8YGz2eQnw/sdxunx84DfI9XpoLj4bQ==", - "dev": true, - "requires": { - "inquirer": "^7.3.3", - "npmlog": "^4.1.2" - } - }, - "@lerna/publish": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/publish/-/publish-4.0.0.tgz", - "integrity": "sha512-K8jpqjHrChH22qtkytA5GRKIVFEtqBF6JWj1I8dWZtHs4Jywn8yB1jQ3BAMLhqmDJjWJtRck0KXhQQKzDK2UPg==", + "@webdoc/default-template": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@webdoc/default-template/-/default-template-1.5.5.tgz", + "integrity": "sha512-5XeHVYqUL2Mrm/bSImg3OAnAkeXMxANRPgRroHj6Aty7kkcSYOwN37Ns/oPsGKWeU5BJvxZO7Y0+Zzs7J9X/gw==", "dev": true, "requires": { - "@lerna/check-working-tree": "4.0.0", - "@lerna/child-process": "4.0.0", - "@lerna/collect-updates": "4.0.0", - "@lerna/command": "4.0.0", - "@lerna/describe-ref": "4.0.0", - "@lerna/log-packed": "4.0.0", - "@lerna/npm-conf": "4.0.0", - "@lerna/npm-dist-tag": "4.0.0", - "@lerna/npm-publish": "4.0.0", - "@lerna/otplease": "4.0.0", - "@lerna/output": "4.0.0", - "@lerna/pack-directory": "4.0.0", - "@lerna/prerelease-id-from-version": "4.0.0", - "@lerna/prompt": "4.0.0", - "@lerna/pulse-till-done": "4.0.0", - "@lerna/run-lifecycle": "4.0.0", - "@lerna/run-topologically": "4.0.0", - "@lerna/validation-error": "4.0.0", - "@lerna/version": "4.0.0", - "fs-extra": "^9.1.0", - "libnpmaccess": "^4.0.1", - "npm-package-arg": "^8.1.0", - "npm-registry-fetch": "^9.0.0", - "npmlog": "^4.1.2", - "p-map": "^4.0.0", - "p-pipe": "^3.1.0", - "pacote": "^11.2.6", - "semver": "^7.3.4" + "@babel/core": "^7.9.0", + "@babel/preset-react": "^7.10.1", + "@webdoc/model": "^1.5.5", + "@webdoc/template-library": "^1.5.5", + "@webdoc/types": "^1.5.5", + "code-prettify": "^0.1.0", + "fs-extra": "^9.0.1", + "highlight.js": "~10.7.2", + "markdown-it": "^11.0.0", + "markdown-it-highlightjs": "^3.1.0" }, "dependencies": { - "@lerna/validation-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", - "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", - "dev": true, - "requires": { - "npmlog": "^4.1.2" - } - }, "fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", @@ -23213,15 +30739,6 @@ "universalify": "^2.0.0" } }, - "hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, "jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -23232,33 +30749,75 @@ "universalify": "^2.0.0" } }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "@webdoc/externalize": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@webdoc/externalize/-/externalize-1.5.5.tgz", + "integrity": "sha512-cvDpVd4nX+n6vAwgabt5QXVXxPBKvat5CsydHwdErww/XTDRCZzy3sbCtzGBwyd4ZNrx3aSl4nJSAJjwf/WsUQ==", + "dev": true, + "requires": { + "@babel/core": "^7.9.0", + "@webdoc/model": "^1.5.5", + "@webdoc/types": "^1.5.5", + "lodash": "^4.17.20" + } + }, + "@webdoc/legacy-template": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@webdoc/legacy-template/-/legacy-template-1.5.5.tgz", + "integrity": "sha512-Pvx1WwOMGjFNbd24T9LEqB8traj3DP75GUFweQ2vL2hyHg3hS7fpDsTttw7ePlm1usylhZFvJ37AgCID9a5WcA==", + "dev": true, + "requires": { + "@webdoc/model": "^1.5.5", + "@webdoc/template-library": "^1.5.5", + "bluebird": "^3.7.2", + "code-prettify": "^0.1.0", + "color-themes-for-google-code-prettify": "^2.0.4", + "common-path-prefix": "^3.0.0", + "escape-string-regexp": "^3.0.0", + "fs-extra": "^9.0.1", + "klaw-sync": "6.0.0", + "lodash": "^4.17.20", + "markdown-it": "^11.0.0", + "markdown-it-highlightjs": "^3.1.0", + "marked": "^0.8.2", + "missionlog": "1.6.0", + "open-sans-fonts": "^1.6.2" + }, + "dependencies": { + "escape-string-regexp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-3.0.0.tgz", + "integrity": "sha512-11dXIUC3umvzEViLP117d0KN6LJzZxh5+9F4E/7WLAAw7GrHk8NpUR+g9iJi/pe9C0py4F8rs0hreyRCwlAuZg==", + "dev": true }, - "npm-package-arg": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", - "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, "requires": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" } }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "requires": { - "lru-cache": "^6.0.0" + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" } }, "universalify": { @@ -23266,48 +30825,81 @@ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true } } }, - "@lerna/pulse-till-done": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/pulse-till-done/-/pulse-till-done-4.0.0.tgz", - "integrity": "sha512-Frb4F7QGckaybRhbF7aosLsJ5e9WuH7h0KUkjlzSByVycxY91UZgaEIVjS2oN9wQLrheLMHl6SiFY0/Pvo0Cxg==", + "@webdoc/model": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@webdoc/model/-/model-1.5.5.tgz", + "integrity": "sha512-fqFXe9VbtcooAkZGOD8hilux86FQKhnD2KQCXxbS/sip50WbZGegHWnJrYQIH9FwXbXuTENw7ztc8LsMY2pkMQ==", "dev": true, "requires": { - "npmlog": "^4.1.2" + "@webdoc/types": "^1.5.5", + "catharsis": "0.8.11", + "nanoid": "~3.1.16", + "taffydb": "2.7.3" } }, - "@lerna/query-graph": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-4.0.0.tgz", - "integrity": "sha512-YlP6yI3tM4WbBmL9GCmNDoeQyzcyg1e4W96y/PKMZa5GbyUvkS2+Jc2kwPD+5KcXou3wQZxSPzR3Te5OenaDdg==", + "@webdoc/parser": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@webdoc/parser/-/parser-1.5.5.tgz", + "integrity": "sha512-Fpow4bMSSkBY52r57mnn3fuVREcc1rOoWdRxQcI/BjDfiAXz3xa7gH1xbXvxIE5LatN5dgRbYU81ILhCl18RvA==", "dev": true, "requires": { - "@lerna/package-graph": "4.0.0" + "@babel/parser": "^7.9.4", + "@babel/traverse": "7.9.5", + "@babel/types": "7.9.5", + "@webdoc/model": "^1.5.5", + "@webdoc/types": "^1.5.5", + "lodash": "^4.17.20", + "missionlog": "1.6.0", + "nanoid": "~3.1.16" + }, + "dependencies": { + "@babel/types": { + "version": "7.9.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.5.tgz", + "integrity": "sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.9.5", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, - "@lerna/resolve-symlink": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/resolve-symlink/-/resolve-symlink-4.0.0.tgz", - "integrity": "sha512-RtX8VEUzqT+uLSCohx8zgmjc6zjyRlh6i/helxtZTMmc4+6O4FS9q5LJas2uGO2wKvBlhcD6siibGt7dIC3xZA==", + "@webdoc/plugin-markdown": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@webdoc/plugin-markdown/-/plugin-markdown-1.5.5.tgz", + "integrity": "sha512-Mzu/stCH9eqOA4yyKE42k8EwIW3TQyj3euxc14Ohw/PVMC2Uk97u6JEiVQAuBSoi0vHp27rNVTICCtdLKxQFnQ==", "dev": true, "requires": { - "fs-extra": "^9.1.0", - "npmlog": "^4.1.2", - "read-cmd-shim": "^2.0.0" + "markdown-it": "^11.0.0", + "markdown-it-highlightjs": "^3.1.0" + } + }, + "@webdoc/template-library": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@webdoc/template-library/-/template-library-1.5.5.tgz", + "integrity": "sha512-nyNzLPj3g09bFdFNKEnNw0xxm1zy3+bdW17dhTREWKBgLQ7z7XrZeHTOI/jJ2zh4RFOIGExyYTx4nZ/luPhFEg==", + "dev": true, + "requires": { + "@webdoc/externalize": "^1.5.5", + "@webdoc/model": "^1.5.5", + "@webdoc/types": "^1.5.5", + "catharsis": "0.8.11", + "fs-extra": "^9.0.1", + "git-branch": "2.0.1", + "lodash": "^4.17.20", + "missionlog": "1.6.0", + "nanoid": "~3.1.16", + "node-fetch": "~2.6.1", + "parse-github-url": "1.0.2" }, "dependencies": { "fs-extra": { "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, "requires": { "at-least-node": "^1.0.0", @@ -23318,8 +30910,6 @@ }, "jsonfile": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "requires": { "graceful-fs": "^4.1.6", @@ -23328,225 +30918,376 @@ }, "universalify": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true } } }, - "@lerna/rimraf-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-4.0.0.tgz", - "integrity": "sha512-QNH9ABWk9mcMJh2/muD9iYWBk1oQd40y6oH+f3wwmVGKYU5YJD//+zMiBI13jxZRtwBx0vmBZzkBkK1dR11cBg==", + "@webdoc/types": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@webdoc/types/-/types-1.5.5.tgz", + "integrity": "sha512-XTHsivrEgjSmZM4M6KbdNyJ859et6ifEgKy7TfLMAYbpgpZx7bOagSdKB33S7YICTaxxBFrlPeklGJKfFB6lNg==", + "dev": true + }, + "abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true + }, + "acorn-dynamic-import": { + "version": "4.0.0", + "dev": true + }, + "acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + } + } + }, + "acorn-jsx": { + "version": "5.2.0", + "dev": true + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true + }, + "add-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", + "integrity": "sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=", + "dev": true + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, "requires": { - "@lerna/child-process": "4.0.0", - "npmlog": "^4.1.2", - "path-exists": "^4.0.0", - "rimraf": "^3.0.2" + "debug": "4" }, "dependencies": { - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "requires": { - "glob": "^7.1.3" + "ms": "2.1.2" } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true } } }, - "@lerna/run": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/run/-/run-4.0.0.tgz", - "integrity": "sha512-9giulCOzlMPzcZS/6Eov6pxE9gNTyaXk0Man+iCIdGJNMrCnW7Dme0Z229WWP/UoxDKg71F2tMsVVGDiRd8fFQ==", + "agentkeepalive": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.1.4.tgz", + "integrity": "sha512-+V/rGa3EuU74H6wR04plBb7Ks10FbtUQgRj/FQOG7uUIEuaINI+AiqJR1k6t3SVNs7o7ZjIdus6706qqzVq8jQ==", "dev": true, "requires": { - "@lerna/command": "4.0.0", - "@lerna/filter-options": "4.0.0", - "@lerna/npm-run-script": "4.0.0", - "@lerna/output": "4.0.0", - "@lerna/profiler": "4.0.0", - "@lerna/run-topologically": "4.0.0", - "@lerna/timer": "4.0.0", - "@lerna/validation-error": "4.0.0", - "p-map": "^4.0.0" + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" }, "dependencies": { - "@lerna/validation-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", - "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", + "debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "requires": { - "npmlog": "^4.1.2" + "ms": "2.1.2" } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true } } }, - "@lerna/run-lifecycle": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/run-lifecycle/-/run-lifecycle-4.0.0.tgz", - "integrity": "sha512-IwxxsajjCQQEJAeAaxF8QdEixfI7eLKNm4GHhXHrgBu185JcwScFZrj9Bs+PFKxwb+gNLR4iI5rpUdY8Y0UdGQ==", + "aggregate-error": { + "version": "3.1.0", "dev": true, "requires": { - "@lerna/npm-conf": "4.0.0", - "npm-lifecycle": "^3.1.5", - "npmlog": "^4.1.2" + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" } }, - "@lerna/run-topologically": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-4.0.0.tgz", - "integrity": "sha512-EVZw9hGwo+5yp+VL94+NXRYisqgAlj0jWKWtAIynDCpghRxCE5GMO3xrQLmQgqkpUl9ZxQFpICgYv5DW4DksQA==", + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "requires": { - "@lerna/query-graph": "4.0.0", - "p-queue": "^6.6.2" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, - "@lerna/symlink-binary": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-4.0.0.tgz", - "integrity": "sha512-zualodWC4q1QQc1pkz969hcFeWXOsVYZC5AWVtAPTDfLl+TwM7eG/O6oP+Rr3fFowspxo6b1TQ6sYfDV6HXNWA==", + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, "requires": { - "@lerna/create-symlink": "4.0.0", - "@lerna/package": "4.0.0", - "fs-extra": "^9.1.0", - "p-map": "^4.0.0" + "type-fest": "^0.21.3" }, "dependencies": { - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true } } }, - "@lerna/symlink-dependencies": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-4.0.0.tgz", - "integrity": "sha512-BABo0MjeUHNAe2FNGty1eantWp8u83BHSeIMPDxNq0MuW2K3CiQRaeWT3EGPAzXpGt0+hVzBrA6+OT0GPn7Yuw==", + "ansi-regex": { + "version": "2.1.1", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", "dev": true, "requires": { - "@lerna/create-symlink": "4.0.0", - "@lerna/resolve-symlink": "4.0.0", - "@lerna/symlink-binary": "4.0.0", - "fs-extra": "^9.1.0", - "p-map": "^4.0.0", - "p-map-series": "^2.1.0" + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.1", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "aproba": { + "version": "1.2.0", + "dev": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" }, "dependencies": { - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "isarray": { + "version": "1.0.0", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", "dev": true, "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "string_decoder": { + "version": "1.1.1", "dev": true, "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" + "safe-buffer": "~5.1.0" } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true } } }, - "@lerna/timer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/timer/-/timer-4.0.0.tgz", - "integrity": "sha512-WFsnlaE7SdOvjuyd05oKt8Leg3ENHICnvX3uYKKdByA+S3g+TCz38JsNs7OUZVt+ba63nC2nbXDlUnuT2Xbsfg==", + "arg": { + "version": "4.1.3", "dev": true }, - "@lerna/version": { + "argparse": { + "version": "1.0.10", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/version/-/version-4.0.0.tgz", - "integrity": "sha512-otUgiqs5W9zGWJZSCCMRV/2Zm2A9q9JwSDS7s/tlKq4mWCYriWo7+wsHEA/nPTMDyYyBO5oyZDj+3X50KDUzeA==", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "dev": true + }, + "array-differ": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", + "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", + "dev": true + }, + "array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha512-H3LU5RLiSsGXPhN+Nipar0iR0IofH+8r89G2y1tBKxQ/agagKyAjhkAFDRBfodP2caPrNKHpAWNIM/c9yeL7uA==", + "dev": true + }, + "array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", + "dev": true + }, + "array-includes": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz", + "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==", "dev": true, "requires": { - "@lerna/check-working-tree": "4.0.0", - "@lerna/child-process": "4.0.0", - "@lerna/collect-updates": "4.0.0", - "@lerna/command": "4.0.0", - "@lerna/conventional-commits": "4.0.0", - "@lerna/github-client": "4.0.0", - "@lerna/gitlab-client": "4.0.0", - "@lerna/output": "4.0.0", - "@lerna/prerelease-id-from-version": "4.0.0", - "@lerna/prompt": "4.0.0", - "@lerna/run-lifecycle": "4.0.0", - "@lerna/run-topologically": "4.0.0", - "@lerna/validation-error": "4.0.0", - "chalk": "^4.1.0", - "dedent": "^0.7.0", - "load-json-file": "^6.2.0", - "minimatch": "^3.0.4", - "npmlog": "^4.1.2", - "p-map": "^4.0.0", - "p-pipe": "^3.1.0", - "p-reduce": "^2.1.0", - "p-waterfall": "^2.1.1", - "semver": "^7.3.4", - "slash": "^3.0.0", - "temp-write": "^4.0.0", - "write-json-file": "^4.3.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2", + "get-intrinsic": "^1.1.1", + "is-string": "^1.0.5" + } + }, + "array-union": { + "version": "1.0.2", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "dev": true + }, + "array.prototype.flatmap": { + "version": "1.2.4", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "function-bind": "^1.1.1" + } + }, + "arrify": { + "version": "1.0.1", + "dev": true + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "dev": true + }, + "astral-regex": { + "version": "1.0.0", + "dev": true + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "at-least-node": { + "version": "1.0.0", + "dev": true + }, + "atob": { + "version": "2.1.2", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true + }, + "babel-jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", + "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", + "dev": true, + "requires": { + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" }, "dependencies": { - "@lerna/validation-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz", - "integrity": "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==", - "dev": true, - "requires": { - "npmlog": "^4.1.2" - } - }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -23575,439 +31316,323 @@ "color-name": "~1.1.4" } }, - "detect-indent": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", - "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", - "dev": true - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true - }, - "load-json-file": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz", - "integrity": "sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.15", - "parse-json": "^5.0.0", - "strip-bom": "^4.0.0", - "type-fest": "^0.6.0" - } - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "sort-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz", - "integrity": "sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==", - "dev": true, - "requires": { - "is-plain-obj": "^2.0.0" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "write-json-file": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-4.3.0.tgz", - "integrity": "sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ==", - "dev": true, - "requires": { - "detect-indent": "^6.0.0", - "graceful-fs": "^4.1.15", - "is-plain-obj": "^2.0.0", - "make-dir": "^3.0.0", - "sort-keys": "^4.0.0", - "write-file-atomic": "^3.0.0" + "requires": { + "has-flag": "^4.0.0" } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true } } }, - "@lerna/write-log-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@lerna/write-log-file/-/write-log-file-4.0.0.tgz", - "integrity": "sha512-XRG5BloiArpXRakcnPHmEHJp+4AtnhRtpDIHSghmXD5EichI1uD73J7FgPp30mm2pDRq3FdqB0NbwSEsJ9xFQg==", + "babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, "requires": { - "npmlog": "^4.1.2", - "write-file-atomic": "^3.0.3" + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" }, "dependencies": { - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "istanbul-lib-instrument": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", + "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", "dev": true, "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true } } }, - "@microsoft/api-extractor": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.20.1.tgz", - "integrity": "sha512-T7cqcK+JpvHGOj7cD2ZCCWS7Xgru1uOqZwrV/FSUdyKVs5fopZcbBSuetwD/akst3O7Ypryg3UOLP54S/vnVmA==", + "babel-plugin-jest-hoist": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", + "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==", "dev": true, "requires": { - "@microsoft/api-extractor-model": "7.16.0", - "@microsoft/tsdoc": "0.13.2", - "@microsoft/tsdoc-config": "~0.15.2", - "@rushstack/node-core-library": "3.45.1", - "@rushstack/rig-package": "0.3.8", - "@rushstack/ts-command-line": "4.10.7", - "colors": "~1.2.1", - "lodash": "~4.17.15", - "resolve": "~1.17.0", - "semver": "~7.3.0", - "source-map": "~0.6.1", - "typescript": "~4.5.2" - }, - "dependencies": { - "semver": { - "version": "7.3.2", - "dev": true - }, - "typescript": { - "version": "4.5.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz", - "integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==", - "dev": true - } + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" } }, - "@microsoft/api-extractor-model": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@microsoft/api-extractor-model/-/api-extractor-model-7.16.0.tgz", - "integrity": "sha512-0FOrbNIny8mzBrzQnSIkEjAXk0JMSnPmWYxt3ZDTPVg9S8xIPzB6lfgTg9+Mimu0RKCpGKBpd+v2WcR5vGzyUQ==", + "babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", "dev": true, "requires": { - "@microsoft/tsdoc": "0.13.2", - "@microsoft/tsdoc-config": "~0.15.2", - "@rushstack/node-core-library": "3.45.1" + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" } }, - "@microsoft/tsdoc": { - "version": "0.13.2", - "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.13.2.tgz", - "integrity": "sha512-WrHvO8PDL8wd8T2+zBGKrMwVL5IyzR3ryWUsl0PXgEV0QHup4mTLi0QcATefGI6Gx9Anu7vthPyyyLpY0EpiQg==", + "babel-preset-jest": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", + "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^26.6.2", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "balanced-match": { + "version": "1.0.0", "dev": true }, - "@microsoft/tsdoc-config": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/@microsoft/tsdoc-config/-/tsdoc-config-0.15.2.tgz", - "integrity": "sha512-mK19b2wJHSdNf8znXSMYVShAHktVr/ib0Ck2FA3lsVBSEhSI/TfXT7DJQkAYgcztTuwazGcg58ZjYdk0hTCVrA==", + "base": { + "version": "0.11.2", "dev": true, "requires": { - "@microsoft/tsdoc": "0.13.2", - "ajv": "~6.12.6", - "jju": "~1.4.0", - "resolve": "~1.19.0" + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" }, "dependencies": { - "resolve": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", - "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "define-property": { + "version": "1.0.0", "dev": true, "requires": { - "is-core-module": "^2.1.0", - "path-parse": "^1.0.6" + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } + }, + "kind-of": { + "version": "6.0.2", + "dev": true } } }, - "@mrmlnc/readdir-enhanced": { - "version": "2.2.1", + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, "requires": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" + "tweetnacl": "^0.14.3" } }, - "@nodelib/fs.scandir": { - "version": "2.1.3", + "before-after-hook": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz", + "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==", + "dev": true + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", "dev": true, + "optional": true, "requires": { - "@nodelib/fs.stat": "2.0.3", - "run-parallel": "^1.1.9" - }, - "dependencies": { - "@nodelib/fs.stat": { - "version": "2.0.3", - "dev": true - } + "file-uri-to-path": "1.0.0" } }, - "@nodelib/fs.stat": { - "version": "1.1.3", + "bluebird": { + "version": "3.7.2", "dev": true }, - "@nodelib/fs.walk": { - "version": "1.2.4", + "boolean": { + "version": "3.0.2", + "dev": true, + "optional": true + }, + "brace-expansion": { + "version": "1.1.11", "dev": true, "requires": { - "@nodelib/fs.scandir": "2.1.3", - "fastq": "^1.6.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "@npmcli/ci-detect": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@npmcli/ci-detect/-/ci-detect-1.4.0.tgz", - "integrity": "sha512-3BGrt6FLjqM6br5AhWRKTr3u5GIVkjRYeAFrMp3HjnfICrg4xOrVRwFavKT6tsp++bq5dluL5t8ME/Nha/6c1Q==", - "dev": true - }, - "@npmcli/fs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.0.0.tgz", - "integrity": "sha512-8ltnOpRR/oJbOp8vaGUnipOi3bqkcW+sLHFlyXIr08OGHmVJLB1Hn7QtGXbYcpVtH1gAYZTlmDXtE4YV0+AMMQ==", + "braces": { + "version": "2.3.2", "dev": true, "requires": { - "@gar/promisify": "^1.0.1", - "semver": "^7.3.5" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "extend-shallow": { + "version": "2.0.1", "dev": true, "requires": { - "lru-cache": "^6.0.0" + "is-extendable": "^0.1.0" } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true } } }, - "@npmcli/git": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-2.1.0.tgz", - "integrity": "sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw==", + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true + }, + "browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", "dev": true, "requires": { - "@npmcli/promise-spawn": "^1.3.2", - "lru-cache": "^6.0.0", - "mkdirp": "^1.0.4", - "npm-pick-manifest": "^6.1.1", - "promise-inflight": "^1.0.1", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^2.0.2" + "resolve": "1.1.7" }, "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==", "dev": true } } }, - "@npmcli/installed-package-contents": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz", - "integrity": "sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==", + "browserslist": { + "version": "4.16.6", "dev": true, "requires": { - "npm-bundled": "^1.1.1", - "npm-normalize-package-bin": "^1.0.1" + "caniuse-lite": "^1.0.30001219", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.723", + "escalade": "^3.1.1", + "node-releases": "^1.1.71" } }, - "@npmcli/move-file": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", - "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", "dev": true, "requires": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } + "fast-json-stable-stringify": "2.x" } }, - "@npmcli/node-gyp": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-1.0.3.tgz", - "integrity": "sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA==", - "dev": true - }, - "@npmcli/promise-spawn": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz", - "integrity": "sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==", + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, "requires": { - "infer-owner": "^1.0.4" + "node-int64": "^0.4.0" } }, - "@npmcli/run-script": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-1.8.6.tgz", - "integrity": "sha512-e42bVZnC6VluBZBAFEr3YrdqSspG3bgilyg4nSLBJ7TRGNCzxHa92XAHxQBLYg0BmgwO4b2mf3h/l5EkEWRn3g==", + "buffer-crc32": { + "version": "0.2.13", + "dev": true + }, + "buffer-from": { + "version": "1.1.1", + "dev": true + }, + "builtin-modules": { + "version": "3.1.0", + "dev": true + }, + "builtins": { + "version": "1.0.3", + "dev": true + }, + "byline": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", + "integrity": "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=", + "dev": true + }, + "byte-size": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/byte-size/-/byte-size-7.0.1.tgz", + "integrity": "sha512-crQdqyCwhokxwV1UyDzLZanhkugAgft7vt0qbbdt60C6Zf3CAiGmtUCylbtYwrU6loOUw3euGrNtW1J651ot1A==", + "dev": true + }, + "cacache": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", + "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", "dev": true, "requires": { - "@npmcli/node-gyp": "^1.0.2", - "@npmcli/promise-spawn": "^1.3.2", - "node-gyp": "^7.1.0", - "read-package-json-fast": "^2.0.1" + "@npmcli/fs": "^1.0.0", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" }, "dependencies": { "lru-cache": { @@ -24019,32 +31644,11 @@ "yallist": "^4.0.0" } }, - "node-gyp": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz", - "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==", - "dev": true, - "requires": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.3", - "nopt": "^5.0.0", - "npmlog": "^4.1.2", - "request": "^2.88.2", - "rimraf": "^3.0.2", - "semver": "^7.3.2", - "tar": "^6.0.2", - "which": "^2.0.2" - } - }, - "nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "dev": true, - "requires": { - "abbrev": "1" - } + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true }, "rimraf": { "version": "3.0.2", @@ -24055,24 +31659,6 @@ "glob": "^7.1.3" } }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", @@ -24081,966 +31667,1574 @@ } } }, - "@octokit/auth-token": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", - "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", + "cache-base": { + "version": "1.0.1", "dev": true, "requires": { - "@octokit/types": "^6.0.3" + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" } }, - "@octokit/core": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.5.1.tgz", - "integrity": "sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw==", + "cacheable-request": { + "version": "6.1.0", "dev": true, "requires": { - "@octokit/auth-token": "^2.4.4", - "@octokit/graphql": "^4.5.8", - "@octokit/request": "^5.6.0", - "@octokit/request-error": "^2.0.5", - "@octokit/types": "^6.0.3", - "before-after-hook": "^2.2.0", - "universal-user-agent": "^6.0.0" + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "dependencies": { + "get-stream": { + "version": "5.2.0", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "dev": true + }, + "normalize-url": { + "version": "4.5.0", + "dev": true + } } }, - "@octokit/endpoint": { - "version": "6.0.12", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", - "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", + "call-bind": { + "version": "1.0.2", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "call-me-maybe": { + "version": "1.0.1", + "dev": true + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", "dev": true, "requires": { - "@octokit/types": "^6.0.3", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" }, "dependencies": { - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", "dev": true } } }, - "@octokit/graphql": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", - "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", + "caniuse-lite": { + "version": "1.0.30001222", + "dev": true + }, + "capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", "dev": true, "requires": { - "@octokit/request": "^5.6.0", - "@octokit/types": "^6.0.3", - "universal-user-agent": "^6.0.0" + "rsvp": "^4.8.4" } }, - "@octokit/openapi-types": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.2.0.tgz", - "integrity": "sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA==", - "dev": true - }, - "@octokit/plugin-enterprise-rest": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz", - "integrity": "sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==", + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, - "@octokit/plugin-paginate-rest": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.17.0.tgz", - "integrity": "sha512-tzMbrbnam2Mt4AhuyCHvpRkS0oZ5MvwwcQPYGtMv4tUa5kkzG58SVB0fcsLulOZQeRnOgdkZWkRUiyBlh0Bkyw==", + "catharsis": { + "version": "0.8.11", "dev": true, "requires": { - "@octokit/types": "^6.34.0" + "lodash": "^4.17.14" } }, - "@octokit/plugin-request-log": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", - "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==", - "dev": true, - "requires": {} - }, - "@octokit/plugin-rest-endpoint-methods": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.13.0.tgz", - "integrity": "sha512-uJjMTkN1KaOIgNtUPMtIXDOjx6dGYysdIFhgA52x4xSadQCz3b/zJexvITDVpANnfKPW/+E0xkOvLntqMYpviA==", + "chalk": { + "version": "2.4.2", "dev": true, "requires": { - "@octokit/types": "^6.34.0", - "deprecation": "^2.3.1" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, - "@octokit/request": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.2.tgz", - "integrity": "sha512-je66CvSEVf0jCpRISxkUcCa0UkxmFs6eGDRSbfJtAVwbLH5ceqF+YEyC8lj8ystKyZTy8adWr0qmkY52EfOeLA==", + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true + }, + "chardet": { + "version": "0.7.0", + "dev": true + }, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true + }, + "chunkd": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/chunkd/-/chunkd-2.0.1.tgz", + "integrity": "sha512-7d58XsFmOq0j6el67Ug9mHf9ELUXsQXYJBkyxhH/k+6Ke0qXRnv0kbemx+Twc6fRJ07C49lcbdgm9FL1Ei/6SQ==", + "dev": true + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "cjs-module-lexer": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", + "integrity": "sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==", + "dev": true + }, + "class-utils": { + "version": "0.3.6", "dev": true, "requires": { - "@octokit/endpoint": "^6.0.1", - "@octokit/request-error": "^2.1.0", - "@octokit/types": "^6.16.1", - "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.1", - "universal-user-agent": "^6.0.0" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "dependencies": { - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "arr-union": { + "version": "3.1.0", "dev": true + }, + "define-property": { + "version": "0.2.5", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } } } }, - "@octokit/request-error": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", - "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", + "clean-stack": { + "version": "2.2.0", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dev": true, "requires": { - "@octokit/types": "^6.0.3", - "deprecation": "^2.0.0", - "once": "^1.4.0" + "restore-cursor": "^3.1.0" } }, - "@octokit/rest": { - "version": "18.12.0", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz", - "integrity": "sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==", + "cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true + }, + "cliui": { + "version": "4.1.0", "dev": true, "requires": { - "@octokit/core": "^3.5.1", - "@octokit/plugin-paginate-rest": "^2.16.8", - "@octokit/plugin-request-log": "^1.0.4", - "@octokit/plugin-rest-endpoint-methods": "^5.12.0" + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } } }, - "@octokit/types": { - "version": "6.34.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.34.0.tgz", - "integrity": "sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw==", + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, "requires": { - "@octokit/openapi-types": "^11.2.0" + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } } }, - "@pixi-build-tools/api-extractor-lerna-monorepo": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@pixi-build-tools/api-extractor-lerna-monorepo/-/api-extractor-lerna-monorepo-1.1.0.tgz", - "integrity": "sha512-lBfrqrxXLoEjJcBe4umuXNezCvmciet9mA5V3gS/OvHUyimbwKhDAk4PHvxJDldmqd6vyJAZaka13gw011ji5w==", + "clone-response": { + "version": "1.0.2", "dev": true, "requires": { - "@lerna/project": "^4.0.0" + "mimic-response": "^1.0.0" } }, - "@pixi/accessibility": { - "version": "file:packages/accessibility", - "requires": {} - }, - "@pixi/app": { - "version": "file:packages/app", - "requires": {} - }, - "@pixi/basis": { - "version": "file:packages/basis", - "requires": {} - }, - "@pixi/canvas-display": { - "version": "file:packages/canvas-display", - "requires": {} - }, - "@pixi/canvas-extract": { - "version": "file:packages/canvas-extract", - "requires": {} - }, - "@pixi/canvas-graphics": { - "version": "file:packages/canvas-graphics", - "requires": {} - }, - "@pixi/canvas-mesh": { - "version": "file:packages/canvas-mesh", - "requires": {} - }, - "@pixi/canvas-particle-container": { - "version": "file:packages/canvas-particle-container", - "requires": {} - }, - "@pixi/canvas-prepare": { - "version": "file:packages/canvas-prepare", - "requires": {} - }, - "@pixi/canvas-renderer": { - "version": "file:packages/canvas-renderer", - "requires": {} - }, - "@pixi/canvas-sprite": { - "version": "file:packages/canvas-sprite", - "requires": {} + "cmd-shim": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-4.1.0.tgz", + "integrity": "sha512-lb9L7EM4I/ZRVuljLPEtUJOP+xiQVknZ4ZMpMgEp4JzNldPb27HU03hi6K1/6CoIuit/Zm/LQXySErFeXxDprw==", + "dev": true, + "requires": { + "mkdirp-infer-owner": "^2.0.0" + } }, - "@pixi/canvas-sprite-tiling": { - "version": "file:packages/canvas-sprite-tiling", - "requires": {} + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true }, - "@pixi/canvas-text": { - "version": "file:packages/canvas-text", - "requires": {} + "code-point-at": { + "version": "1.1.0", + "dev": true }, - "@pixi/compressed-textures": { - "version": "file:packages/compressed-textures", - "requires": {} + "code-prettify": { + "version": "0.1.0", + "dev": true }, - "@pixi/constants": { - "version": "file:packages/constants" + "collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true }, - "@pixi/core": { - "version": "file:packages/core", + "collection-visit": { + "version": "1.0.0", + "dev": true, "requires": { - "@types/offscreencanvas": "^2019.6.4" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" } }, - "@pixi/display": { - "version": "file:packages/display", - "requires": {} - }, - "@pixi/eslint-config": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@pixi/eslint-config/-/eslint-config-4.0.1.tgz", - "integrity": "sha512-o75jXn96vBw37E/CCnwgfLOBVQAFf4Z7OyctLxcOmthQgr3iG4ILW2DbtZTh1+XuZ3eF2JqnLa9WjIgzZOAKMg==", + "color-convert": { + "version": "1.9.1", "dev": true, "requires": { - "@typescript-eslint/eslint-plugin": "^5.0.0", - "@typescript-eslint/parser": "^5.0.0" + "color-name": "^1.1.1" } }, - "@pixi/events": { - "version": "file:packages/events", - "requires": {} - }, - "@pixi/extract": { - "version": "file:packages/extract", - "requires": {} - }, - "@pixi/filter-alpha": { - "version": "file:packages/filter-alpha", - "requires": {} - }, - "@pixi/filter-blur": { - "version": "file:packages/filter-blur", - "requires": {} - }, - "@pixi/filter-color-matrix": { - "version": "file:packages/filter-color-matrix", - "requires": {} - }, - "@pixi/filter-displacement": { - "version": "file:packages/filter-displacement", - "requires": {} - }, - "@pixi/filter-fxaa": { - "version": "file:packages/filter-fxaa", - "requires": {} + "color-name": { + "version": "1.1.4", + "dev": true }, - "@pixi/filter-noise": { - "version": "file:packages/filter-noise", - "requires": {} + "color-themes-for-google-code-prettify": { + "version": "2.0.4", + "dev": true }, - "@pixi/graphics": { - "version": "file:packages/graphics", - "requires": {} + "colorette": { + "version": "1.2.2", + "dev": true }, - "@pixi/graphics-extras": { - "version": "file:packages/graphics-extras", - "requires": {} + "colors": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.2.5.tgz", + "integrity": "sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg==", + "dev": true }, - "@pixi/interaction": { - "version": "file:packages/interaction", - "requires": {} + "columnify": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz", + "integrity": "sha1-Rzfd8ce2mop8NAVweC6UfuyOeLs=", + "dev": true, + "requires": { + "strip-ansi": "^3.0.0", + "wcwidth": "^1.0.0" + } }, - "@pixi/loaders": { - "version": "file:packages/loaders", - "requires": {} + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } }, - "@pixi/math": { - "version": "file:packages/math" + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true }, - "@pixi/math-extras": { - "version": "file:packages/math-extras", - "requires": {} + "comment-parser": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.1.tgz", + "integrity": "sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA==", + "dev": true }, - "@pixi/mesh": { - "version": "file:packages/mesh", - "requires": {} + "common-path-prefix": { + "version": "3.0.0", + "dev": true }, - "@pixi/mesh-extras": { - "version": "file:packages/mesh-extras", - "requires": {} + "commondir": { + "version": "1.0.1", + "dev": true }, - "@pixi/mixin-cache-as-bitmap": { - "version": "file:packages/mixin-cache-as-bitmap", - "requires": {} + "compare-func": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", + "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", + "dev": true, + "requires": { + "array-ify": "^1.0.0", + "dot-prop": "^5.1.0" + }, + "dependencies": { + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "requires": { + "is-obj": "^2.0.0" + } + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true + } + } }, - "@pixi/mixin-get-child-by-name": { - "version": "file:packages/mixin-get-child-by-name", - "requires": {} + "component-emitter": { + "version": "1.2.1", + "dev": true }, - "@pixi/mixin-get-global-position": { - "version": "file:packages/mixin-get-global-position", - "requires": {} + "concat-map": { + "version": "0.0.1", + "dev": true }, - "@pixi/particle-container": { - "version": "file:packages/particle-container", - "requires": {} + "concat-stream": { + "version": "1.6.0", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "dev": true + }, + "readable-stream": { + "version": "2.3.5", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.0.3", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.0.3", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } }, - "@pixi/polyfill": { - "version": "file:packages/polyfill", + "config-chain": { + "version": "1.1.12", + "dev": true, "requires": { - "@types/object-assign": "^4.0.30", - "@types/promise-polyfill": "^6.0.3", - "object-assign": "^4.1.1", - "promise-polyfill": "^8.2.0" + "ini": "^1.3.4", + "proto-list": "~1.2.1" } }, - "@pixi/prepare": { - "version": "file:packages/prepare", - "requires": {} + "console-control-strings": { + "version": "1.1.0", + "dev": true }, - "@pixi/runner": { - "version": "file:packages/runner" + "conventional-changelog-angular": { + "version": "5.0.13", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", + "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", + "dev": true, + "requires": { + "compare-func": "^2.0.0", + "q": "^1.5.1" + } }, - "@pixi/settings": { - "version": "file:packages/settings", + "conventional-changelog-core": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz", + "integrity": "sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==", + "dev": true, "requires": { - "ismobilejs": "^1.1.0" + "add-stream": "^1.0.0", + "conventional-changelog-writer": "^5.0.0", + "conventional-commits-parser": "^3.2.0", + "dateformat": "^3.0.0", + "get-pkg-repo": "^4.0.0", + "git-raw-commits": "^2.0.8", + "git-remote-origin-url": "^2.0.0", + "git-semver-tags": "^4.1.1", + "lodash": "^4.17.15", + "normalize-package-data": "^3.0.0", + "q": "^1.5.1", + "read-pkg": "^3.0.0", + "read-pkg-up": "^3.0.0", + "through2": "^4.0.0" + }, + "dependencies": { + "hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "requires": { + "readable-stream": "3" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } } }, - "@pixi/sprite": { - "version": "file:packages/sprite", - "requires": {} - }, - "@pixi/sprite-animated": { - "version": "file:packages/sprite-animated", - "requires": {} - }, - "@pixi/sprite-tiling": { - "version": "file:packages/sprite-tiling", - "requires": {} - }, - "@pixi/spritesheet": { - "version": "file:packages/spritesheet", - "requires": {} - }, - "@pixi/text": { - "version": "file:packages/text", - "requires": {} - }, - "@pixi/text-bitmap": { - "version": "file:packages/text-bitmap", - "requires": {} - }, - "@pixi/ticker": { - "version": "file:packages/ticker", - "requires": {} - }, - "@pixi/unsafe-eval": { - "version": "file:packages/unsafe-eval", - "requires": {} - }, - "@pixi/utils": { - "version": "file:packages/utils", - "requires": { - "@types/earcut": "^2.1.0", - "css-color-names": "^1.0.1", - "earcut": "^2.2.2", - "eventemitter3": "^3.1.0", - "url": "^0.11.0" - } + "conventional-changelog-preset-loader": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz", + "integrity": "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==", + "dev": true }, - "@pixi/webdoc-template": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/@pixi/webdoc-template/-/webdoc-template-1.5.3.tgz", - "integrity": "sha512-Q988OAvg0NsfoSE6Bl99Lej1l4O1QgV09ZWAnDDKi7FDSGxhY+sQpenN4DEmB27rzW5RJiST3irnTKq1S5TnKg==", + "conventional-changelog-writer": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.0.tgz", + "integrity": "sha512-HnDh9QHLNWfL6E1uHz6krZEQOgm8hN7z/m7tT16xwd802fwgMN0Wqd7AQYVkhpsjDUx/99oo+nGgvKF657XP5g==", "dev": true, "requires": { - "code-prettify": "^0.1.0", - "color-themes-for-google-code-prettify": "^2.0.4", - "common-path-prefix": "^3.0.0", - "fs-extra": "^9.0.1", - "klaw-sync": "^6.0.0", - "lodash": "*", - "markdown-it": "^11.0.0", - "markdown-it-highlightjs": "^3.4.0", - "missionlog": "^1.6.0", - "open-sans-fonts": "^1.6.2", - "taffydb": "^2.7.3" + "conventional-commits-filter": "^2.0.7", + "dateformat": "^3.0.0", + "handlebars": "^4.7.6", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "semver": "^6.0.0", + "split": "^1.0.0", + "through2": "^4.0.0" }, "dependencies": { - "fs-extra": { - "version": "9.1.0", + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } }, - "jsonfile": { - "version": "6.1.0", + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" + "safe-buffer": "~5.2.0" } }, - "universalify": { - "version": "2.0.0", - "dev": true + "through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "requires": { + "readable-stream": "3" + } } } }, - "@rollup/plugin-alias": { - "version": "3.1.1", + "conventional-commits-filter": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", + "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", "dev": true, "requires": { - "slash": "^3.0.0" + "lodash.ismatch": "^4.4.0", + "modify-values": "^1.0.0" } }, - "@rollup/plugin-buble": { - "version": "0.21.3", + "conventional-commits-parser": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.3.tgz", + "integrity": "sha512-YyRDR7On9H07ICFpRm/igcdjIqebXbvf4Cff+Pf0BrBys1i1EOzx9iFXNlAbdrLAR8jf7bkUYkDAr8pEy0q4Pw==", "dev": true, "requires": { - "@rollup/pluginutils": "^3.0.8", - "@types/buble": "^0.19.2", - "buble": "^0.20.0" + "is-text-path": "^1.0.1", + "JSONStream": "^1.0.4", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" }, "dependencies": { - "buble": { - "version": "0.20.0", + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "requires": { - "acorn": "^6.4.1", - "acorn-dynamic-import": "^4.0.0", - "acorn-jsx": "^5.2.0", - "chalk": "^2.4.2", - "magic-string": "^0.25.7", - "minimist": "^1.2.5", - "regexpu-core": "4.5.4" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } }, - "magic-string": { - "version": "0.25.7", - "dev": true, - "requires": { - "sourcemap-codec": "^1.4.4" - } + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true }, - "regenerate-unicode-properties": { - "version": "8.2.0", + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, "requires": { - "regenerate": "^1.4.0" + "safe-buffer": "~5.2.0" } }, - "regexpu-core": { - "version": "4.5.4", + "through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", "dev": true, "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.0.2", - "regjsgen": "^0.5.0", - "regjsparser": "^0.6.0", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.1.0" + "readable-stream": "3" } - }, - "unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "dev": true } } }, - "@rollup/plugin-commonjs": { - "version": "15.1.0", + "conventional-recommended-bump": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz", + "integrity": "sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==", "dev": true, "requires": { - "@rollup/pluginutils": "^3.1.0", - "commondir": "^1.0.1", - "estree-walker": "^2.0.1", - "glob": "^7.1.6", - "is-reference": "^1.2.1", - "magic-string": "^0.25.7", - "resolve": "^1.17.0" + "concat-stream": "^2.0.0", + "conventional-changelog-preset-loader": "^2.3.4", + "conventional-commits-filter": "^2.0.7", + "conventional-commits-parser": "^3.2.0", + "git-raw-commits": "^2.0.8", + "git-semver-tags": "^4.1.1", + "meow": "^8.0.0", + "q": "^1.5.1" }, "dependencies": { - "estree-walker": { - "version": "2.0.1", - "dev": true + "concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } }, - "magic-string": { - "version": "0.25.7", + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "requires": { - "sourcemap-codec": "^1.4.4" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } }, - "resolve": { - "version": "1.18.1", + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, "requires": { - "is-core-module": "^2.0.0", - "path-parse": "^1.0.6" + "safe-buffer": "~5.2.0" } } } }, - "@rollup/plugin-json": { - "version": "4.1.0", + "convert-source-map": { + "version": "1.7.0", "dev": true, "requires": { - "@rollup/pluginutils": "^3.0.8" + "safe-buffer": "~5.1.1" } }, - "@rollup/plugin-node-resolve": { - "version": "9.0.0", + "copy-descriptor": { + "version": "0.1.1", + "dev": true + }, + "copyfiles": { + "version": "2.1.0", "dev": true, "requires": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.17.0" + "glob": "^7.0.5", + "minimatch": "^3.0.3", + "mkdirp": "^0.5.1", + "noms": "0.0.0", + "through2": "^2.0.1", + "yargs": "^11.0.0" }, "dependencies": { - "@types/resolve": { - "version": "1.17.1", + "ansi-regex": { + "version": "3.0.0", + "dev": true + }, + "camelcase": { + "version": "4.1.0", + "dev": true + }, + "find-up": { + "version": "2.1.0", "dev": true, "requires": { - "@types/node": "*" + "locate-path": "^2.0.0" } }, - "deepmerge": { - "version": "4.2.2", + "is-fullwidth-code-point": { + "version": "2.0.0", "dev": true }, - "resolve": { - "version": "1.18.1", + "string-width": { + "version": "2.1.1", "dev": true, "requires": { - "is-core-module": "^2.0.0", - "path-parse": "^1.0.6" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "yargs": { + "version": "11.1.0", + "dev": true, + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" + } + }, + "yargs-parser": { + "version": "9.0.2", + "dev": true, + "requires": { + "camelcase": "^4.1.0" } } } }, - "@rollup/plugin-typescript": { - "version": "6.0.0", + "core-js": { + "version": "3.8.0", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "dev": true + }, + "cross-env": { + "version": "5.2.0", "dev": true, "requires": { - "@rollup/pluginutils": "^3.1.0", - "resolve": "^1.17.0" + "cross-spawn": "^6.0.5", + "is-windows": "^1.0.0" }, "dependencies": { - "resolve": { - "version": "1.18.1", + "cross-spawn": { + "version": "6.0.5", "dev": true, "requires": { - "is-core-module": "^2.0.0", - "path-parse": "^1.0.6" + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } } } }, - "@rollup/pluginutils": { - "version": "3.1.0", + "cross-spawn": { + "version": "5.1.0", "dev": true, "requires": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "css-color-names": { + "version": "1.0.1", + "dev": true + }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "requires": { + "cssom": "~0.3.6" }, "dependencies": { - "@types/estree": { - "version": "0.0.39", - "dev": true - }, - "estree-walker": { - "version": "1.0.1", + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", "dev": true } } }, - "@rushstack/node-core-library": { - "version": "3.45.1", - "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-3.45.1.tgz", - "integrity": "sha512-BwdssTNe007DNjDBxJgInHg8ePytIPyT0La7ZZSQZF9+rSkT42AygXPGvbGsyFfEntjr4X37zZSJI7yGzL16cQ==", + "dargs": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", + "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, + "requires": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + } + }, + "dateformat": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "debuglog": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", + "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=", + "dev": true + }, + "decamelize": { + "version": "1.2.0", + "dev": true + }, + "decamelize-keys": { + "version": "1.1.0", + "dev": true, + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + } + }, + "decimal.js": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", + "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "dev": true + }, + "decompress-response": { + "version": "3.3.0", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "dedent": { + "version": "0.7.0", + "dev": true + }, + "deep-is": { + "version": "0.1.3", + "dev": true + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, + "requires": { + "clone": "^1.0.2" + } + }, + "defer-to-connect": { + "version": "1.1.3", + "dev": true + }, + "define-properties": { + "version": "1.1.3", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", "dev": true, "requires": { - "@types/node": "12.20.24", - "colors": "~1.2.1", - "fs-extra": "~7.0.1", - "import-lazy": "~4.0.0", - "jju": "~1.4.0", - "resolve": "~1.17.0", - "semver": "~7.3.0", - "timsort": "~0.3.0", - "z-schema": "~5.0.2" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "dependencies": { - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "is-accessor-descriptor": { + "version": "1.0.0", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "kind-of": "^6.0.0" } }, - "lru-cache": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.8.0.tgz", - "integrity": "sha512-AmXqneQZL3KZMIgBpaPTeI6pfwh+xQ2vutMsyqOu1TBdEXFZgpG/80wuJ531w2ZN7TI0/oc8CPxzh/DKQudZqg==", - "dev": true + "is-data-descriptor": { + "version": "1.0.0", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } }, - "semver": { - "version": "7.3.6", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.6.tgz", - "integrity": "sha512-HZWqcgwLsjaX1HBD31msI/rXktuIhS+lWvdE4kN9z+8IVT4Itc7vqU2WvYsyD6/sjYCt4dEKH/m1M3dwI9CC5w==", + "is-descriptor": { + "version": "1.0.2", "dev": true, "requires": { - "lru-cache": "^7.4.0" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } + }, + "kind-of": { + "version": "6.0.2", + "dev": true } } }, - "@rushstack/rig-package": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.3.8.tgz", - "integrity": "sha512-MDWg1xovea99PWloSiYMjFcCLsrdjFtYt6aOyHNs5ojn5mxrzR6U9F83hvbQjTWnKPMvZtr0vcek+4n+OQOp3Q==", + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "delegates": { + "version": "1.0.0", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", + "dev": true + }, + "detect-file": { + "version": "1.0.0", + "dev": true + }, + "detect-indent": { + "version": "5.0.0", + "dev": true + }, + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true + }, + "detect-node": { + "version": "2.0.5", "dev": true, - "requires": { - "resolve": "~1.17.0", - "strip-json-comments": "~3.1.1" - } + "optional": true }, - "@rushstack/ts-command-line": { - "version": "4.10.7", - "resolved": "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.10.7.tgz", - "integrity": "sha512-CjS+DfNXUSO5Ab2wD1GBGtUTnB02OglRWGqfaTcac9Jn45V5MeUOsq/wA8wEeS5Y/3TZ2P1k+IWdVDiuOFP9Og==", + "dezalgo": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz", + "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=", "dev": true, "requires": { - "@types/argparse": "1.0.38", - "argparse": "~1.0.9", - "colors": "~1.2.1", - "string-argv": "~0.3.1" + "asap": "^2.0.0", + "wrappy": "1" } }, - "@sindresorhus/is": { - "version": "0.14.0", + "diff-sequences": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", + "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", "dev": true }, - "@sinonjs/commons": { - "version": "1.4.0", + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, "requires": { - "type-detect": "4.0.8" + "path-type": "^4.0.0" + }, + "dependencies": { + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + } } }, - "@sinonjs/formatio": { - "version": "3.2.1", + "doctrine": { + "version": "3.0.0", "dev": true, "requires": { - "@sinonjs/commons": "^1", - "@sinonjs/samsam": "^3.1.0" + "esutils": "^2.0.2" } }, - "@sinonjs/samsam": { - "version": "3.3.2", + "domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", "dev": true, "requires": { - "@sinonjs/commons": "^1.0.2", - "array-from": "^2.1.1", - "lodash": "^4.17.11" + "webidl-conversions": "^5.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true + } } }, - "@sinonjs/text-encoding": { - "version": "0.7.1", + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", "dev": true }, - "@szmarczak/http-timer": { - "version": "1.1.2", + "duplexer2": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", + "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", "dev": true, "requires": { - "defer-to-connect": "^1.0.1" + "readable-stream": "~1.1.9" + }, + "dependencies": { + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + } } }, - "@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "duplexer3": { + "version": "0.1.4", "dev": true }, - "@types/argparse": { - "version": "1.0.38", - "resolved": "https://registry.npmjs.org/@types/argparse/-/argparse-1.0.38.tgz", - "integrity": "sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==", - "dev": true + "earcut": { + "version": "2.2.2" }, - "@types/buble": { - "version": "0.19.2", + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, "requires": { - "magic-string": "^0.25.0" + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" } }, - "@types/chai": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.1.tgz", - "integrity": "sha512-/zPMqDkzSZ8t3VtxOa4KPq7uzzW978M9Tvh+j7GHKuo6k6GTLxPJ4J5gE5cjfJ26pnXst0N5Hax8Sr0T2Mi9zQ==", - "dev": true - }, - "@types/color-name": { - "version": "1.1.1", - "dev": true - }, - "@types/earcut": { - "version": "2.1.1" - }, - "@types/estree": { - "version": "0.0.45", - "dev": true - }, - "@types/glob": { - "version": "7.1.3", + "electron": { + "version": "12.0.2", "dev": true, "requires": { - "@types/minimatch": "*", - "@types/node": "*" + "@electron/get": "^1.0.1", + "@types/node": "^14.6.2", + "extract-zip": "^1.0.3" + }, + "dependencies": { + "@types/node": { + "version": "14.14.35", + "dev": true + } } }, - "@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "electron-to-chromium": { + "version": "1.3.727", "dev": true }, - "@types/minimatch": { - "version": "3.0.3", + "emittery": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", + "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==", "dev": true }, - "@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "emoji-regex": { + "version": "7.0.3", "dev": true }, - "@types/mocha": { - "version": "8.2.3", - "dev": true + "encodeurl": { + "version": "1.0.2", + "dev": true, + "optional": true }, - "@types/node": { - "version": "12.20.24", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.24.tgz", - "integrity": "sha512-yxDeaQIAJlMav7fH5AQqPH1u8YIuhYJXYBzxaQ4PifsU0GDO38MSdmEDeRlIxrKbC6NbEaaEHDanWb+y30U8SQ==", - "dev": true + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "optional": true, + "requires": { + "iconv-lite": "^0.6.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } }, - "@types/normalize-package-data": { - "version": "2.4.0", - "dev": true + "end-of-stream": { + "version": "1.4.1", + "dev": true, + "requires": { + "once": "^1.4.0" + } }, - "@types/object-assign": { - "version": "4.0.30", + "entities": { + "version": "2.0.3", "dev": true }, - "@types/offscreencanvas": { - "version": "2019.6.4", - "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.6.4.tgz", - "integrity": "sha512-u8SAgdZ8ROtkTF+mfZGOscl0or6BSj9A4g37e6nvxDc+YB/oDut0wHkK2PBBiC2bNR8TS0CPV+1gAk4fNisr1Q==" + "env-paths": { + "version": "2.2.1", + "dev": true }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", "dev": true }, - "@types/promise-polyfill": { - "version": "6.0.3", + "err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", "dev": true }, - "@types/sinon": { - "version": "10.0.11", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.11.tgz", - "integrity": "sha512-dmZsHlBsKUtBpHriNjlK0ndlvEh8dcb9uV9Afsbt89QIyydpC7NcR+nWlAhASfy3GHnxTl4FX/aKE7XZUt/B4g==", + "error-ex": { + "version": "1.3.2", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", + "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", "dev": true, "requires": { - "@types/sinonjs__fake-timers": "*" + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.1", + "is-string": "^1.0.7", + "is-weakref": "^1.0.1", + "object-inspect": "^1.11.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" } }, - "@types/sinon-chai": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.8.tgz", - "integrity": "sha512-d4ImIQbT/rKMG8+AXpmcan5T2/PNeSjrYhvkwet6z0p8kzYtfgA32xzOBlbU0yqJfq+/0Ml805iFoODO0LP5/g==", + "es-to-primitive": { + "version": "1.2.1", "dev": true, "requires": { - "@types/chai": "*", - "@types/sinon": "*" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" } }, - "@types/sinonjs__fake-timers": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.2.tgz", - "integrity": "sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA==", + "es6-error": { + "version": "4.1.1", + "dev": true, + "optional": true + }, + "escalade": { + "version": "3.1.1", "dev": true }, - "@typescript-eslint/eslint-plugin": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.23.0.tgz", - "integrity": "sha512-hEcSmG4XodSLiAp1uxv/OQSGsDY6QN3TcRU32gANp+19wGE1QQZLRS8/GV58VRUoXhnkuJ3ZxNQ3T6Z6zM59DA==", + "escape-string-regexp": { + "version": "1.0.5", + "dev": true + }, + "escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.23.0", - "@typescript-eslint/type-utils": "5.23.0", - "@typescript-eslint/utils": "5.23.0", - "debug": "^4.3.2", - "functional-red-black-tree": "^1.0.1", - "ignore": "^5.1.8", - "regexpp": "^3.2.0", - "semver": "^7.3.5", - "tsutils": "^3.21.0" + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" }, "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", "dev": true, "requires": { - "ms": "2.1.2" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" } }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", "dev": true, "requires": { - "yallist": "^4.0.0" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" } }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", "dev": true }, - "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", "dev": true, "requires": { - "lru-cache": "^6.0.0" + "prelude-ls": "~1.1.2" } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true } } }, - "@typescript-eslint/parser": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.23.0.tgz", - "integrity": "sha512-V06cYUkqcGqpFjb8ttVgzNF53tgbB/KoQT/iB++DOIExKmzI9vBJKjZKt/6FuV9c+zrDsvJKbJ2DOCYwX91cbw==", + "eslint": { + "version": "7.2.0", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.23.0", - "@typescript-eslint/types": "5.23.0", - "@typescript-eslint/typescript-estree": "5.23.0", - "debug": "^4.3.2" + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.1.0", + "eslint-utils": "^2.0.0", + "eslint-visitor-keys": "^1.2.0", + "espree": "^7.1.0", + "esquery": "^1.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" }, "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "dev": true + }, + "ansi-styles": { + "version": "4.2.1", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "cross-spawn": { + "version": "7.0.3", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.1.1", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "eslint-visitor-keys": { + "version": "1.2.0", + "dev": true + }, + "glob-parent": { + "version": "5.1.1", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "12.4.0", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "has-flag": { + "version": "4.0.0", + "dev": true + }, + "ignore": { + "version": "4.0.6", + "dev": true + }, + "import-fresh": { + "version": "3.2.1", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "is-glob": { + "version": "4.0.1", "dev": true, "requires": { - "ms": "2.1.2" + "is-extglob": "^2.1.1" } }, "ms": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true - } - } - }, - "@typescript-eslint/scope-manager": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.23.0.tgz", - "integrity": "sha512-EhjaFELQHCRb5wTwlGsNMvzK9b8Oco4aYNleeDlNuL6qXWDF47ch4EhVNPh8Rdhf9tmqbN4sWDk/8g+Z/J8JVw==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.23.0", - "@typescript-eslint/visitor-keys": "5.23.0" - } - }, - "@typescript-eslint/type-utils": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.23.0.tgz", - "integrity": "sha512-iuI05JsJl/SUnOTXA9f4oI+/4qS/Zcgk+s2ir+lRmXI+80D8GaGwoUqs4p+X+4AxDolPpEpVUdlEH4ADxFy4gw==", - "dev": true, - "requires": { - "@typescript-eslint/utils": "5.23.0", - "debug": "^4.3.2", - "tsutils": "^3.21.0" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + }, + "path-key": { + "version": "3.1.1", + "dev": true + }, + "semver": { + "version": "7.3.2", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", "dev": true, "requires": { - "ms": "2.1.2" + "shebang-regex": "^3.0.0" } }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "shebang-regex": { + "version": "3.0.0", "dev": true + }, + "strip-ansi": { + "version": "6.0.0", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.1.0", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "which": { + "version": "2.0.2", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } } } }, - "@typescript-eslint/types": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.23.0.tgz", - "integrity": "sha512-NfBsV/h4dir/8mJwdZz7JFibaKC3E/QdeMEDJhiAE3/eMkoniZ7MjbEMCGXw6MZnZDMN3G9S0mH/6WUIj91dmw==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.23.0.tgz", - "integrity": "sha512-xE9e0lrHhI647SlGMl+m+3E3CKPF1wzvvOEWnuE3CCjjT7UiRnDGJxmAcVKJIlFgK6DY9RB98eLr1OPigPEOGg==", + "eslint-plugin-jsdoc": { + "version": "39.2.9", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.2.9.tgz", + "integrity": "sha512-gaPYJT94rWlWyQcisQyyEJHtLaaJqN4baFlLCEr/LcXVibS9wzQTL2dskqk327ggwqQopR+Xecu2Lng1IJ9Ypw==", "dev": true, "requires": { - "@typescript-eslint/types": "5.23.0", - "@typescript-eslint/visitor-keys": "5.23.0", - "debug": "^4.3.2", - "globby": "^11.0.4", - "is-glob": "^4.0.3", - "semver": "^7.3.5", - "tsutils": "^3.21.0" + "@es-joy/jsdoccomment": "~0.29.0", + "comment-parser": "1.3.1", + "debug": "^4.3.4", + "escape-string-regexp": "^4.0.0", + "esquery": "^1.4.0", + "semver": "^7.3.7", + "spdx-expression-parse": "^3.0.1" }, "dependencies": { "debug": { @@ -25052,14 +33246,11 @@ "ms": "2.1.2" } }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true }, "lru-cache": { "version": "6.0.0", @@ -25093,1260 +33284,1246 @@ } } }, - "@typescript-eslint/utils": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.23.0.tgz", - "integrity": "sha512-dbgaKN21drqpkbbedGMNPCtRPZo1IOUr5EI9Jrrh99r5UW5Q0dz46RKXeSBoPV+56R6dFKpbrdhgUNSJsDDRZA==", + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "requires": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.23.0", - "@typescript-eslint/types": "5.23.0", - "@typescript-eslint/typescript-estree": "5.23.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "2.0.0", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.1.0", + "dev": true + }, + "espree": { + "version": "7.1.0", + "dev": true, + "requires": { + "acorn": "^7.2.0", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.2.0" }, "dependencies": { - "eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^2.0.0" - } + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true }, "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "version": "1.2.0", "dev": true } } }, - "@typescript-eslint/visitor-keys": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.23.0.tgz", - "integrity": "sha512-Vd4mFNchU62sJB8pX19ZSPog05B0Y0CE2UxAZPT5k4iqhRYjPnqyY3woMxCd0++t9OTqkgjST+1ydLBi7e2Fvg==", + "esprima": { + "version": "4.0.1", + "dev": true + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, "requires": { - "@typescript-eslint/types": "5.23.0", - "eslint-visitor-keys": "^3.0.0" + "estraverse": "^5.1.0" }, "dependencies": { - "eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "estraverse": { + "version": "5.1.0", "dev": true } } }, - "@ungap/promise-all-settled": { - "version": "1.1.2", + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true }, - "@webdoc/cli": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@webdoc/cli/-/cli-1.5.5.tgz", - "integrity": "sha512-RbC3BzwGKHn1r+zoWRBqtGFb5tJEG9/IkZoDKUlgSO7h5MkSl2HKj9/vmW2giv8MdoiZnF7WRDWwSDkWcdDunA==", + "estree-walker": { + "version": "0.6.0", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "dev": true + }, + "eventemitter3": { + "version": "3.1.2" + }, + "exec-sh": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", + "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==", + "dev": true + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "requires": { - "@webdoc/default-template": "^1.5.5", - "@webdoc/externalize": "^1.5.5", - "@webdoc/legacy-template": "^1.5.5", - "@webdoc/model": "^1.5.5", - "@webdoc/parser": "^1.5.5", - "@webdoc/plugin-markdown": "^1.5.5", - "@webdoc/template-library": "^1.5.5", - "@webdoc/types": "^1.5.5", - "array.prototype.flatmap": "~1.2.3", - "fs-extra": "^9.0.1", - "globby": "11.0.0", - "lodash.merge": "4.6.2", - "markdown-it": "^11.0.0", - "markdown-it-highlightjs": "^3.1.0", - "missionlog": "1.6.0", - "object.fromentries": "^2.0.2", - "perf_hooks": "~0.0.1", - "pkg-up": "~3.1.0", - "read-pkg-up": "~7.0.1", - "yargs": "^16.2.0" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" }, "dependencies": { - "@nodelib/fs.stat": { - "version": "2.0.4", - "dev": true - }, - "ansi-regex": { - "version": "5.0.0", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "requires": { - "color-convert": "^2.0.1" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" } }, - "array-union": { - "version": "2.1.0", + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true }, - "braces": { - "version": "3.0.2", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "cliui": { - "version": "7.0.4", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "color-convert": { + "is-stream": { "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "emoji-regex": { - "version": "8.0.0", - "dev": true - }, - "fast-glob": { - "version": "3.2.5", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", - "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" - } - }, - "fill-range": { - "version": "7.0.1", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "fs-extra": { - "version": "9.1.0", - "dev": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "get-caller-file": { - "version": "2.0.5", - "dev": true - }, - "glob-parent": { - "version": "5.1.1", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "globby": { - "version": "11.0.0", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true }, - "is-glob": { + "npm-run-path": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, "requires": { - "is-extglob": "^2.1.1" + "path-key": "^3.0.0" } }, - "is-number": { - "version": "7.0.0", + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, - "jsonfile": { - "version": "6.1.0", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "micromatch": { - "version": "4.0.2", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "parse-json": { - "version": "5.2.0", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "read-pkg": { - "version": "5.2.0", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "type-fest": { - "version": "0.6.0", - "dev": true - } - } - }, - "read-pkg-up": { - "version": "7.0.1", - "dev": true, - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - } - }, - "string-width": { - "version": "4.2.0", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "to-regex-range": { - "version": "5.0.1", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "universalify": { + "shebang-command": { "version": "2.0.0", - "dev": true - }, - "wrap-ansi": { - "version": "7.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "shebang-regex": "^3.0.0" } }, - "y18n": { - "version": "5.0.5", + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, - "yargs": { - "version": "16.2.0", + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "isexe": "^2.0.0" } - }, - "yargs-parser": { - "version": "20.2.4", - "dev": true } - } - }, - "@webdoc/default-template": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@webdoc/default-template/-/default-template-1.5.5.tgz", - "integrity": "sha512-5XeHVYqUL2Mrm/bSImg3OAnAkeXMxANRPgRroHj6Aty7kkcSYOwN37Ns/oPsGKWeU5BJvxZO7Y0+Zzs7J9X/gw==", - "dev": true, - "requires": { - "@babel/core": "^7.9.0", - "@babel/preset-react": "^7.10.1", - "@webdoc/model": "^1.5.5", - "@webdoc/template-library": "^1.5.5", - "@webdoc/types": "^1.5.5", - "code-prettify": "^0.1.0", - "fs-extra": "^9.0.1", - "highlight.js": "~10.7.2", - "markdown-it": "^11.0.0", - "markdown-it-highlightjs": "^3.1.0" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true + }, + "expand-brackets": { + "version": "2.1.4", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "define-property": { + "version": "0.2.5", "dev": true, "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "is-descriptor": "^0.1.0" } }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "extend-shallow": { + "version": "2.0.1", "dev": true, "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" + "is-extendable": "^0.1.0" } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true } } }, - "@webdoc/externalize": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@webdoc/externalize/-/externalize-1.5.5.tgz", - "integrity": "sha512-cvDpVd4nX+n6vAwgabt5QXVXxPBKvat5CsydHwdErww/XTDRCZzy3sbCtzGBwyd4ZNrx3aSl4nJSAJjwf/WsUQ==", + "expand-tilde": { + "version": "2.0.2", "dev": true, "requires": { - "@babel/core": "^7.9.0", - "@webdoc/model": "^1.5.5", - "@webdoc/types": "^1.5.5", - "lodash": "^4.17.20" + "homedir-polyfill": "^1.0.1" } }, - "@webdoc/legacy-template": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@webdoc/legacy-template/-/legacy-template-1.5.5.tgz", - "integrity": "sha512-Pvx1WwOMGjFNbd24T9LEqB8traj3DP75GUFweQ2vL2hyHg3hS7fpDsTttw7ePlm1usylhZFvJ37AgCID9a5WcA==", + "expect": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", + "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", "dev": true, "requires": { - "@webdoc/model": "^1.5.5", - "@webdoc/template-library": "^1.5.5", - "bluebird": "^3.7.2", - "code-prettify": "^0.1.0", - "color-themes-for-google-code-prettify": "^2.0.4", - "common-path-prefix": "^3.0.0", - "escape-string-regexp": "^3.0.0", - "fs-extra": "^9.0.1", - "klaw-sync": "6.0.0", - "lodash": "^4.17.20", - "markdown-it": "^11.0.0", - "markdown-it-highlightjs": "^3.1.0", - "marked": "^0.8.2", - "missionlog": "1.6.0", - "open-sans-fonts": "^1.6.2" + "@jest/types": "^26.6.2", + "ansi-styles": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0" }, "dependencies": { - "escape-string-regexp": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-3.0.0.tgz", - "integrity": "sha512-11dXIUC3umvzEViLP117d0KN6LJzZxh5+9F4E/7WLAAw7GrHk8NpUR+g9iJi/pe9C0py4F8rs0hreyRCwlAuZg==", - "dev": true + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" + "color-name": "~1.1.4" } }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true + }, + "jest-matcher-utils": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", + "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, - "@webdoc/model": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@webdoc/model/-/model-1.5.5.tgz", - "integrity": "sha512-fqFXe9VbtcooAkZGOD8hilux86FQKhnD2KQCXxbS/sip50WbZGegHWnJrYQIH9FwXbXuTENw7ztc8LsMY2pkMQ==", - "dev": true, - "requires": { - "@webdoc/types": "^1.5.5", - "catharsis": "0.8.11", - "nanoid": "~3.1.16", - "taffydb": "2.7.3" - } + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true }, - "@webdoc/parser": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@webdoc/parser/-/parser-1.5.5.tgz", - "integrity": "sha512-Fpow4bMSSkBY52r57mnn3fuVREcc1rOoWdRxQcI/BjDfiAXz3xa7gH1xbXvxIE5LatN5dgRbYU81ILhCl18RvA==", + "extend-shallow": { + "version": "3.0.2", "dev": true, "requires": { - "@babel/parser": "^7.9.4", - "@babel/traverse": "7.9.5", - "@babel/types": "7.9.5", - "@webdoc/model": "^1.5.5", - "@webdoc/types": "^1.5.5", - "lodash": "^4.17.20", - "missionlog": "1.6.0", - "nanoid": "~3.1.16" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "dependencies": { - "@babel/types": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.5.tgz", - "integrity": "sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg==", + "is-extendable": { + "version": "1.0.1", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.9.5", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" + "is-plain-object": "^2.0.4" } } } }, - "@webdoc/plugin-markdown": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@webdoc/plugin-markdown/-/plugin-markdown-1.5.5.tgz", - "integrity": "sha512-Mzu/stCH9eqOA4yyKE42k8EwIW3TQyj3euxc14Ohw/PVMC2Uk97u6JEiVQAuBSoi0vHp27rNVTICCtdLKxQFnQ==", + "external-editor": { + "version": "3.0.3", "dev": true, "requires": { - "markdown-it": "^11.0.0", - "markdown-it-highlightjs": "^3.1.0" + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" } }, - "@webdoc/template-library": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@webdoc/template-library/-/template-library-1.5.5.tgz", - "integrity": "sha512-nyNzLPj3g09bFdFNKEnNw0xxm1zy3+bdW17dhTREWKBgLQ7z7XrZeHTOI/jJ2zh4RFOIGExyYTx4nZ/luPhFEg==", + "extglob": { + "version": "2.0.4", "dev": true, "requires": { - "@webdoc/externalize": "^1.5.5", - "@webdoc/model": "^1.5.5", - "@webdoc/types": "^1.5.5", - "catharsis": "0.8.11", - "fs-extra": "^9.0.1", - "git-branch": "2.0.1", - "lodash": "^4.17.20", - "missionlog": "1.6.0", - "nanoid": "~3.1.16", - "node-fetch": "~2.6.1", - "parse-github-url": "1.0.2" + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { - "fs-extra": { - "version": "9.1.0", + "define-property": { + "version": "1.0.0", "dev": true, "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "is-descriptor": "^1.0.0" } }, - "jsonfile": { - "version": "6.1.0", + "extend-shallow": { + "version": "2.0.1", "dev": true, "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" + "is-extendable": "^0.1.0" } }, - "universalify": { - "version": "2.0.0", + "is-accessor-descriptor": { + "version": "1.0.0", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.2", "dev": true } } }, - "@webdoc/types": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@webdoc/types/-/types-1.5.5.tgz", - "integrity": "sha512-XTHsivrEgjSmZM4M6KbdNyJ859et6ifEgKy7TfLMAYbpgpZx7bOagSdKB33S7YICTaxxBFrlPeklGJKfFB6lNg==", - "dev": true - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true - }, - "acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true - }, - "acorn-dynamic-import": { - "version": "4.0.0", - "dev": true, - "requires": {} - }, - "acorn-jsx": { - "version": "5.2.0", - "dev": true, - "requires": {} - }, - "add-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", - "integrity": "sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=", - "dev": true - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "extract-zip": { + "version": "1.7.0", "dev": true, "requires": { - "debug": "4" + "concat-stream": "^1.6.2", + "debug": "^2.6.9", + "mkdirp": "^0.5.4", + "yauzl": "^2.10.0" }, "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "concat-stream": { + "version": "1.6.2", "dev": true, "requires": { - "ms": "2.1.2" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "isarray": { + "version": "1.0.0", "dev": true + }, + "readable-stream": { + "version": "2.3.7", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } } } }, - "agentkeepalive": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.1.4.tgz", - "integrity": "sha512-+V/rGa3EuU74H6wR04plBb7Ks10FbtUQgRj/FQOG7uUIEuaINI+AiqJR1k6t3SVNs7o7ZjIdus6706qqzVq8jQ==", + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-glob": { + "version": "2.2.6", "dev": true, "requires": { - "debug": "^4.1.0", - "depd": "^1.1.2", - "humanize-ms": "^1.2.1" + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" }, "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "is-glob": { + "version": "4.0.0", "dev": true, "requires": { - "ms": "2.1.2" + "is-extglob": "^2.1.1" } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true } } }, - "aggregate-error": { - "version": "3.1.0", + "fast-json-stable-stringify": { + "version": "2.0.0", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "dev": true + }, + "fastq": { + "version": "1.9.0", "dev": true, "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "reusify": "^1.0.4" } }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", "dev": true, "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "bser": "2.1.1" } }, - "ansi-colors": { - "version": "4.1.1", - "dev": true - }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "fd-slicer": { + "version": "1.1.0", "dev": true, "requires": { - "type-fest": "^0.21.3" - }, - "dependencies": { - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true - } + "pend": "~1.2.0" } }, - "ansi-regex": { - "version": "2.1.1", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "escape-string-regexp": "^1.0.5" } }, - "anymatch": { - "version": "3.1.1", + "file-entry-cache": { + "version": "5.0.1", "dev": true, "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "flat-cache": "^2.0.1" } }, - "append-transform": { - "version": "2.0.0", + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "fill-range": { + "version": "4.0.0", "dev": true, "requires": { - "default-require-extensions": "^3.0.0" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } } }, - "aproba": { - "version": "1.2.0", - "dev": true - }, - "archy": { - "version": "1.0.0", + "filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha1-mzERErxsYSehbgFsbF1/GeCAXFs=", "dev": true }, - "are-we-there-yet": { - "version": "1.1.5", + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "dependencies": { - "isarray": { - "version": "1.0.0", - "dev": true + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } }, - "readable-stream": { - "version": "2.3.6", + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "p-try": "^2.0.0" } }, - "string_decoder": { - "version": "1.1.1", + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "p-limit": "^2.2.0" } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true } } }, - "arg": { - "version": "4.1.3", - "dev": true - }, - "argparse": { - "version": "1.0.10", + "findup-sync": { + "version": "2.0.0", "dev": true, "requires": { - "sprintf-js": "~1.0.2" + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" } }, - "arr-diff": { - "version": "4.0.0", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "dev": true - }, - "array-differ": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", - "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", - "dev": true - }, - "array-from": { - "version": "2.1.1", - "dev": true - }, - "array-ify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", - "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", - "dev": true - }, - "array-includes": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz", - "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==", + "flat-cache": { + "version": "2.0.1", "dev": true, "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", - "get-intrinsic": "^1.1.1", - "is-string": "^1.0.5" + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" } }, - "array-union": { - "version": "1.0.2", + "flatted": { + "version": "2.0.2", + "dev": true + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dev": true, "requires": { - "array-uniq": "^1.0.1" + "is-callable": "^1.1.3" } }, - "array-uniq": { - "version": "1.0.3", + "for-in": { + "version": "1.0.2", "dev": true }, - "array-unique": { - "version": "0.3.2", + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", "dev": true }, - "array.prototype.flatmap": { - "version": "1.2.4", + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "function-bind": "^1.1.1" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" } }, - "arrify": { - "version": "1.0.1", - "dev": true - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", - "dev": true + "fragment-cache": { + "version": "0.2.1", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", "dev": true, "requires": { - "safer-buffer": "~2.1.0" + "minipass": "^3.0.0" } }, - "assert-plus": { + "fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, - "assertion-error": { - "version": "1.1.0", "dev": true }, - "assign-symbols": { - "version": "1.0.0", - "dev": true + "fsevents": { + "version": "2.3.2", + "dev": true, + "optional": true }, - "astral-regex": { - "version": "1.0.0", + "function-bind": { + "version": "1.1.1", "dev": true }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "functional-red-black-tree": { + "version": "1.0.1", "dev": true }, - "at-least-node": { - "version": "1.0.0", - "dev": true + "gauge": { + "version": "2.7.4", + "dev": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } }, - "atob": { - "version": "2.1.2", + "gensync": { + "version": "1.0.0-beta.2", "dev": true }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "get-caller-file": { + "version": "1.0.3", "dev": true }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "dev": true + "get-intrinsic": { + "version": "1.1.1", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } }, - "balanced-match": { - "version": "1.0.0", + "get-package-type": { + "version": "0.1.0", "dev": true }, - "base": { - "version": "0.11.2", + "get-pkg-repo": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz", + "integrity": "sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==", "dev": true, "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" + "@hutson/parse-repository-url": "^3.0.0", + "hosted-git-info": "^4.0.0", + "through2": "^2.0.0", + "yargs": "^16.2.0" }, "dependencies": { - "define-property": { - "version": "1.0.0", + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "color-convert": "^2.0.1" } }, - "is-accessor-descriptor": { - "version": "1.0.0", + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "is-data-descriptor": { - "version": "1.0.0", + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "color-name": "~1.1.4" } }, - "is-descriptor": { - "version": "1.0.2", + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "lru-cache": "^6.0.0" } }, - "kind-of": { - "version": "6.0.2", + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true - } - } - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "before-after-hook": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz", - "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==", - "dev": true - }, - "binary-extensions": { - "version": "2.2.0", - "dev": true - }, - "bluebird": { - "version": "3.7.2", - "dev": true - }, - "boolean": { - "version": "3.0.2", - "dev": true, - "optional": true - }, - "brace-expansion": { - "version": "1.1.11", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "2.3.2", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "yallist": "^4.0.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true } } }, - "browser-stdout": { - "version": "1.3.1", + "get-port": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz", + "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==", "dev": true }, - "browserslist": { - "version": "4.16.6", + "get-stream": { + "version": "3.0.0", + "dev": true + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001219", - "colorette": "^1.2.2", - "electron-to-chromium": "^1.3.723", - "escalade": "^3.1.1", - "node-releases": "^1.1.71" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" } }, - "buffer-crc32": { - "version": "0.2.13", - "dev": true - }, - "buffer-from": { - "version": "1.1.1", - "dev": true - }, - "builtin-modules": { - "version": "3.1.0", - "dev": true - }, - "builtins": { - "version": "1.0.3", - "dev": true - }, - "byline": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", - "integrity": "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=", - "dev": true - }, - "byte-size": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/byte-size/-/byte-size-7.0.1.tgz", - "integrity": "sha512-crQdqyCwhokxwV1UyDzLZanhkugAgft7vt0qbbdt60C6Zf3CAiGmtUCylbtYwrU6loOUw3euGrNtW1J651ot1A==", + "get-value": { + "version": "2.0.6", "dev": true }, - "cacache": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", - "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", + "get-workspaces": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/get-workspaces/-/get-workspaces-0.5.2.tgz", + "integrity": "sha512-99x72taQ9OUHhCmBS0B2WI/zwOtBOBPoyVNGs9+B0ag2GGhCjl/EaU9VQ8Zorx64TyVj1Am7bO+0J1KwDqo7OA==", "dev": true, "requires": { - "@npmcli/fs": "^1.0.0", - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" + "@changesets/types": "^0.4.0", + "fs-extra": "^7.0.1", + "globby": "^9.2.0" }, "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", + "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", "dev": true, "requires": { - "yallist": "^4.0.0" + "path-type": "^3.0.0" } }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "globby": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", + "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", "dev": true, "requires": { - "glob": "^7.1.3" + "@types/glob": "^7.1.1", + "array-union": "^1.0.2", + "dir-glob": "^2.2.2", + "fast-glob": "^2.2.6", + "glob": "^7.1.3", + "ignore": "^4.0.3", + "pify": "^4.0.1", + "slash": "^2.0.0" } }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", "dev": true } } }, - "cache-base": { - "version": "1.0.1", + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "assert-plus": "^1.0.0" } }, - "cacheable-request": { - "version": "6.1.0", + "git-branch": { + "version": "2.0.1", "dev": true, "requires": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" + "findup-sync": "^2.0.0" + } + }, + "git-raw-commits": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.10.tgz", + "integrity": "sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ==", + "dev": true, + "requires": { + "dargs": "^7.0.0", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" }, "dependencies": { - "get-stream": { - "version": "5.2.0", + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "requires": { - "pump": "^3.0.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } }, - "lowercase-keys": { - "version": "2.0.0", + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true }, - "normalize-url": { - "version": "4.5.0", + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "requires": { + "readable-stream": "3" + } + } + } + }, + "git-remote-origin-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", + "integrity": "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=", + "dev": true, + "requires": { + "gitconfiglocal": "^1.0.0", + "pify": "^2.3.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true } } }, - "caching-transform": { - "version": "4.0.0", + "git-semver-tags": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz", + "integrity": "sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==", "dev": true, "requires": { - "hasha": "^5.0.0", - "make-dir": "^3.0.0", - "package-hash": "^4.0.0", - "write-file-atomic": "^3.0.0" + "meow": "^8.0.0", + "semver": "^6.0.0" }, "dependencies": { - "make-dir": { - "version": "3.1.0", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, "semver": { "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true - }, - "write-file-atomic": { - "version": "3.0.3", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } } } }, - "call-bind": { - "version": "1.0.2", + "git-up": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/git-up/-/git-up-4.0.5.tgz", + "integrity": "sha512-YUvVDg/vX3d0syBsk/CKUTib0srcQME0JyHkL5BaYdwLsiCslPWmDSi8PUMo9pXYjrryMcmsCoCgsTpSCJEQaA==", "dev": true, "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "is-ssh": "^1.3.0", + "parse-url": "^6.0.0" } }, - "call-me-maybe": { - "version": "1.0.1", - "dev": true + "git-url-parse": { + "version": "11.6.0", + "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.6.0.tgz", + "integrity": "sha512-WWUxvJs5HsyHL6L08wOusa/IXYtMuCAhrMmnTjQPpBU0TTHyDhnOATNH3xNQz7YOQUsqIIPTGr4xiVti1Hsk5g==", + "dev": true, + "requires": { + "git-up": "^4.0.0" + } }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "gitconfiglocal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", + "integrity": "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=", + "dev": true, + "requires": { + "ini": "^1.3.2" + } + }, + "glob": { + "version": "7.1.7", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "glob-to-regexp": { + "version": "0.3.0", "dev": true }, - "camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "global-agent": { + "version": "2.1.12", "dev": true, + "optional": true, "requires": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" + "boolean": "^3.0.1", + "core-js": "^3.6.5", + "es6-error": "^4.1.1", + "matcher": "^3.0.0", + "roarr": "^2.15.3", + "semver": "^7.3.2", + "serialize-error": "^7.0.1" }, "dependencies": { - "map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", - "dev": true + "lru-cache": { + "version": "6.0.0", + "dev": true, + "optional": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.3.5", + "dev": true, + "optional": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "dev": true, + "optional": true } } }, - "caniuse-lite": { - "version": "1.0.30001222", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "catharsis": { - "version": "0.8.11", + "global-modules": { + "version": "1.0.0", "dev": true, "requires": { - "lodash": "^4.17.14" + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" } }, - "chai": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz", - "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==", + "global-prefix": { + "version": "1.0.2", "dev": true, "requires": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^3.0.1", - "get-func-name": "^2.0.0", - "loupe": "^2.3.1", - "pathval": "^1.1.1", - "type-detect": "^4.0.5" + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" } }, - "chalk": { - "version": "2.4.2", + "global-tunnel-ng": { + "version": "2.7.1", "dev": true, + "optional": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "encodeurl": "^1.0.2", + "lodash": "^4.17.10", + "npm-conf": "^1.1.3", + "tunnel": "^0.0.6" } }, - "chardet": { - "version": "0.7.0", + "globals": { + "version": "11.11.0", "dev": true }, - "check-error": { + "globalthis": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", - "dev": true + "dev": true, + "optional": true, + "requires": { + "define-properties": "^1.1.3" + } }, - "chokidar": { - "version": "3.5.1", + "globby": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", "dev": true, "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.3.1", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" }, "dependencies": { + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, "braces": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "requires": { "fill-range": "^7.0.1" } }, + "fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, "fill-range": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "requires": { "to-regex-range": "^5.0.1" @@ -26354,13 +34531,17 @@ }, "glob-parent": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "requires": { "is-glob": "^4.0.1" } }, "is-glob": { - "version": "4.0.1", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "requires": { "is-extglob": "^2.1.1" @@ -26368,10 +34549,24 @@ }, "is-number": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, "to-regex-range": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "requires": { "is-number": "^7.0.0" @@ -26379,333 +34574,336 @@ } } }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true - }, - "chunkd": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/chunkd/-/chunkd-2.0.1.tgz", - "integrity": "sha512-7d58XsFmOq0j6el67Ug9mHf9ELUXsQXYJBkyxhH/k+6Ke0qXRnv0kbemx+Twc6fRJ07C49lcbdgm9FL1Ei/6SQ==", - "dev": true - }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true - }, - "class-utils": { - "version": "0.3.6", + "got": { + "version": "9.6.0", "dev": true, "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" }, "dependencies": { - "arr-union": { - "version": "3.1.0", - "dev": true - }, - "define-property": { - "version": "0.2.5", + "get-stream": { + "version": "4.1.0", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "pump": "^3.0.0" } } } }, - "clean-stack": { - "version": "2.2.0", + "graceful-fs": { + "version": "4.2.6", "dev": true }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==", + "dev": true, + "optional": true + }, + "handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", "dev": true, "requires": { - "restore-cursor": "^3.1.0" + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" } }, - "cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", "dev": true }, - "cliui": { - "version": "4.1.0", + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } + "ajv": "^6.12.3", + "har-schema": "^2.0.0" } }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", "dev": true }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "has": { + "version": "1.0.3", "dev": true, "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "dependencies": { - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - } + "function-bind": "^1.1.1" } }, - "clone-response": { + "has-bigints": { + "version": "1.0.1", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "dev": true + }, + "has-symbols": { "version": "1.0.2", - "dev": true, - "requires": { - "mimic-response": "^1.0.0" - } + "dev": true }, - "cmd-shim": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-4.1.0.tgz", - "integrity": "sha512-lb9L7EM4I/ZRVuljLPEtUJOP+xiQVknZ4ZMpMgEp4JzNldPb27HU03hi6K1/6CoIuit/Zm/LQXySErFeXxDprw==", + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dev": true, "requires": { - "mkdirp-infer-owner": "^2.0.0" + "has-symbols": "^1.0.2" } }, - "code-point-at": { - "version": "1.1.0", - "dev": true - }, - "code-prettify": { - "version": "0.1.0", + "has-unicode": { + "version": "2.0.1", "dev": true }, - "collection-visit": { + "has-value": { "version": "1.0.0", "dev": true, "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" } }, - "color-convert": { - "version": "1.9.1", + "has-values": { + "version": "1.0.0", "dev": true, "requires": { - "color-name": "^1.1.1" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } } }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "color-themes-for-google-code-prettify": { - "version": "2.0.4", - "dev": true - }, - "colorette": { - "version": "1.2.2", - "dev": true - }, - "colors": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.2.5.tgz", - "integrity": "sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg==", + "highlight.js": { + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", "dev": true }, - "columnify": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz", - "integrity": "sha1-Rzfd8ce2mop8NAVweC6UfuyOeLs=", + "homedir-polyfill": { + "version": "1.0.3", "dev": true, "requires": { - "strip-ansi": "^3.0.0", - "wcwidth": "^1.0.0" + "parse-passwd": "^1.0.0" } }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "hosted-git-info": { + "version": "2.7.1", + "dev": true + }, + "html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", "dev": true, "requires": { - "delayed-stream": "~1.0.0" + "whatwg-encoding": "^1.0.5" } }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "comment-parser": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.1.tgz", - "integrity": "sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA==", - "dev": true - }, - "common-path-prefix": { - "version": "3.0.0", + "html-escaper": { + "version": "2.0.2", "dev": true }, - "commondir": { - "version": "1.0.1", + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", "dev": true }, - "compare-func": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", - "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", "dev": true, "requires": { - "array-ify": "^1.0.0", - "dot-prop": "^5.1.0" + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" }, "dependencies": { - "dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "requires": { - "is-obj": "^2.0.0" + "ms": "2.1.2" } }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true } } }, - "component-emitter": { - "version": "1.2.1", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "dev": true + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } }, - "concat-stream": { - "version": "1.6.0", + "https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", "dev": true, "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "agent-base": "6", + "debug": "4" }, "dependencies": { - "isarray": { - "version": "1.0.0", - "dev": true - }, - "readable-stream": { - "version": "2.3.5", + "debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.0.3", - "util-deprecate": "~1.0.1" + "ms": "2.1.2" } }, - "string_decoder": { - "version": "1.0.3", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true } } }, - "config-chain": { - "version": "1.1.12", + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, + "humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", "dev": true, "requires": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" + "ms": "^2.0.0" } }, - "console-control-strings": { - "version": "1.1.0", + "iconv-lite": { + "version": "0.4.24", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz", + "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==", "dev": true }, - "conventional-changelog-angular": { - "version": "5.0.13", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", - "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", + "ignore-walk": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", + "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", "dev": true, "requires": { - "compare-func": "^2.0.0", - "q": "^1.5.1" + "minimatch": "^3.0.4" } }, - "conventional-changelog-core": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz", - "integrity": "sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==", + "import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "dev": true + }, + "import-local": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.3.tgz", + "integrity": "sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA==", "dev": true, "requires": { - "add-stream": "^1.0.0", - "conventional-changelog-writer": "^5.0.0", - "conventional-commits-parser": "^3.2.0", - "dateformat": "^3.0.0", - "get-pkg-repo": "^4.0.0", - "git-raw-commits": "^2.0.8", - "git-remote-origin-url": "^2.0.0", - "git-semver-tags": "^4.1.1", - "lodash": "^4.17.15", - "normalize-package-data": "^3.0.0", - "q": "^1.5.1", - "read-pkg": "^3.0.0", - "read-pkg-up": "^3.0.0", - "through2": "^4.0.0" + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "dev": true + }, + "ini": { + "version": "1.3.5", + "dev": true + }, + "init-package-json": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-2.0.5.tgz", + "integrity": "sha512-u1uGAtEFu3VA6HNl/yUWw57jmKEMx8SKOxHhxjGnOFUiIlFnohKDFg4ZrPpv9wWqk44nDxGJAtqjdQFm+9XXQA==", + "dev": true, + "requires": { + "npm-package-arg": "^8.1.5", + "promzard": "^0.3.0", + "read": "~1.0.1", + "read-package-json": "^4.1.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "^3.0.0" }, "dependencies": { "hosted-git-info": { @@ -26738,834 +34936,553 @@ "validate-npm-package-license": "^3.0.1" } }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dev": true, - "requires": { - "readable-stream": "3" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, - "conventional-changelog-preset-loader": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz", - "integrity": "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==", - "dev": true - }, - "conventional-changelog-writer": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.0.tgz", - "integrity": "sha512-HnDh9QHLNWfL6E1uHz6krZEQOgm8hN7z/m7tT16xwd802fwgMN0Wqd7AQYVkhpsjDUx/99oo+nGgvKF657XP5g==", - "dev": true, - "requires": { - "conventional-commits-filter": "^2.0.7", - "dateformat": "^3.0.0", - "handlebars": "^4.7.6", - "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "semver": "^6.0.0", - "split": "^1.0.0", - "through2": "^4.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dev": true, - "requires": { - "readable-stream": "3" - } - } - } - }, - "conventional-commits-filter": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", - "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", - "dev": true, - "requires": { - "lodash.ismatch": "^4.4.0", - "modify-values": "^1.0.0" - } - }, - "conventional-commits-parser": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.3.tgz", - "integrity": "sha512-YyRDR7On9H07ICFpRm/igcdjIqebXbvf4Cff+Pf0BrBys1i1EOzx9iFXNlAbdrLAR8jf7bkUYkDAr8pEy0q4Pw==", - "dev": true, - "requires": { - "is-text-path": "^1.0.1", - "JSONStream": "^1.0.4", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dev": true, - "requires": { - "readable-stream": "3" - } - } - } - }, - "conventional-recommended-bump": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz", - "integrity": "sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==", - "dev": true, - "requires": { - "concat-stream": "^2.0.0", - "conventional-changelog-preset-loader": "^2.3.4", - "conventional-commits-filter": "^2.0.7", - "conventional-commits-parser": "^3.2.0", - "git-raw-commits": "^2.0.8", - "git-semver-tags": "^4.1.1", - "meow": "^8.0.0", - "q": "^1.5.1" - }, - "dependencies": { - "concat-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", - "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "npm-package-arg": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", + "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.0.2", - "typedarray": "^0.0.6" + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" } }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "read-package-json": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-4.1.1.tgz", + "integrity": "sha512-P82sbZJ3ldDrWCOSKxJT0r/CXMWR0OR3KRh55SgKo3p91GSIEEC32v3lSHAvO/UcH3/IoL7uqhOFBduAnwdldw==", "dev": true, "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "glob": "^7.1.1", + "json-parse-even-better-errors": "^2.3.0", + "normalize-package-data": "^3.0.0", + "npm-normalize-package-bin": "^1.0.0" } }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "requires": { - "safe-buffer": "~5.2.0" + "lru-cache": "^6.0.0" } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true } } }, - "convert-source-map": { - "version": "1.7.0", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "copy-descriptor": { - "version": "0.1.1", - "dev": true - }, - "copyfiles": { - "version": "2.1.0", + "inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", "dev": true, "requires": { - "glob": "^7.0.5", - "minimatch": "^3.0.3", - "mkdirp": "^0.5.1", - "noms": "0.0.0", - "through2": "^2.0.1", - "yargs": "^11.0.0" + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" }, "dependencies": { "ansi-regex": { - "version": "3.0.0", - "dev": true - }, - "camelcase": { - "version": "4.1.0", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, - "find-up": { - "version": "2.1.0", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "locate-path": "^2.0.0" + "color-convert": "^2.0.1" } }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "dev": true + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } }, - "string-width": { - "version": "2.1.1", + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "color-name": "~1.1.4" } }, - "strip-ansi": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" } }, - "yargs": { - "version": "11.1.0", + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" + "ansi-regex": "^5.0.1" } }, - "yargs-parser": { - "version": "9.0.2", + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { - "camelcase": "^4.1.0" + "has-flag": "^4.0.0" } } } }, - "core-js": { - "version": "3.8.0", - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "dev": true - }, - "cross-env": { - "version": "5.2.0", + "internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", "dev": true, "requires": { - "cross-spawn": "^6.0.5", - "is-windows": "^1.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - } + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" } }, - "cross-spawn": { - "version": "5.1.0", + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "loose-envify": "^1.0.0" } }, - "css-color-names": { - "version": "1.0.1", + "invert-kv": { + "version": "1.0.0", "dev": true }, - "dargs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", - "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", "dev": true }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "is-accessor-descriptor": { + "version": "0.1.6", "dev": true, "requires": { - "assert-plus": "^1.0.0" + "kind-of": "^3.0.2" } }, - "dateformat": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", - "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "is-arrayish": { + "version": "0.2.1", "dev": true }, - "debug": { - "version": "2.6.9", + "is-bigint": { + "version": "1.0.2", + "dev": true + }, + "is-boolean-object": { + "version": "1.1.1", "dev": true, "requires": { - "ms": "2.0.0" + "call-bind": "^1.0.2" } }, - "debuglog": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", - "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=", + "is-buffer": { + "version": "1.1.6", "dev": true }, - "decamelize": { - "version": "1.2.0", + "is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", "dev": true }, - "decamelize-keys": { - "version": "1.1.0", + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", "dev": true, "requires": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" + "ci-info": "^2.0.0" } }, - "decode-uri-component": { - "version": "0.2.0", - "dev": true - }, - "decompress-response": { - "version": "3.3.0", + "is-core-module": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", + "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", "dev": true, "requires": { - "mimic-response": "^1.0.0" + "has": "^1.0.3" } }, - "dedent": { - "version": "0.7.0", - "dev": true - }, - "deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "is-data-descriptor": { + "version": "0.1.4", "dev": true, "requires": { - "type-detect": "^4.0.0" + "kind-of": "^3.0.2" } }, - "deep-is": { - "version": "0.1.3", + "is-date-object": { + "version": "1.0.1", "dev": true }, - "default-require-extensions": { - "version": "3.0.0", + "is-descriptor": { + "version": "0.1.6", "dev": true, "requires": { - "strip-bom": "^4.0.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "dependencies": { - "strip-bom": { - "version": "4.0.0", + "kind-of": { + "version": "5.1.0", "dev": true } } }, - "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "dev": true, - "requires": { - "clone": "^1.0.2" - } + "optional": true }, - "defer-to-connect": { - "version": "1.1.3", + "is-extendable": { + "version": "0.1.1", "dev": true }, - "define-properties": { - "version": "1.1.3", - "dev": true, - "requires": { - "object-keys": "^1.0.12" - } + "is-extglob": { + "version": "2.1.1", + "dev": true }, - "define-property": { - "version": "2.0.2", + "is-fullwidth-code-point": { + "version": "1.0.0", "dev": true, "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "kind-of": { - "version": "6.0.2", - "dev": true - } + "number-is-nan": "^1.0.0" } }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "delegates": { - "version": "1.0.0", + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true + "is-glob": { + "version": "3.1.0", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } }, - "deprecation": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", - "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", + "is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=", "dev": true }, - "detect-file": { + "is-module": { "version": "1.0.0", "dev": true }, - "detect-indent": { - "version": "5.0.0", + "is-negative-zero": { + "version": "2.0.1", "dev": true }, - "detect-node": { - "version": "2.0.5", - "dev": true, - "optional": true - }, - "dezalgo": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz", - "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=", + "is-number": { + "version": "3.0.0", "dev": true, "requires": { - "asap": "^2.0.0", - "wrappy": "1" + "kind-of": "^3.0.2" } }, - "diff": { - "version": "3.5.0", + "is-number-object": { + "version": "1.0.5", "dev": true }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - }, - "dependencies": { - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - } - } - }, - "doctrine": { - "version": "3.0.0", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "is-plain-obj": { + "version": "1.1.0", "dev": true }, - "duplexer2": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", - "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "is-plain-object": { + "version": "2.0.4", "dev": true, "requires": { - "readable-stream": "~1.1.9" - }, - "dependencies": { - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - } + "isobject": "^3.0.1" } }, - "duplexer3": { - "version": "0.1.4", + "is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", "dev": true }, - "earcut": { - "version": "2.2.2" - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "is-reference": { + "version": "1.2.1", "dev": true, "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "@types/estree": "*" } }, - "electron": { - "version": "12.0.2", + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, "requires": { - "@electron/get": "^1.0.1", - "@types/node": "^14.6.2", - "extract-zip": "^1.0.3" - }, - "dependencies": { - "@types/node": { - "version": "14.14.35", - "dev": true - } + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" } }, - "electron-to-chromium": { - "version": "1.3.727", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", + "is-shared-array-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", + "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==", "dev": true }, - "encodeurl": { - "version": "1.0.2", - "dev": true, - "optional": true - }, - "encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dev": true, - "optional": true, - "requires": { - "iconv-lite": "^0.6.2" - }, - "dependencies": { - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } - } - }, - "end-of-stream": { - "version": "1.4.1", + "is-ssh": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.3.tgz", + "integrity": "sha512-NKzJmQzJfEEma3w5cJNcUMxoXfDjz0Zj0eyCalHn2E6VOwlzjZo0yuO2fcBSf8zhFuVCL/82/r5gRcoi6aEPVQ==", "dev": true, "requires": { - "once": "^1.4.0" + "protocols": "^1.1.0" } }, - "entities": { - "version": "2.0.3", - "dev": true - }, - "env-paths": { - "version": "2.2.1", + "is-stream": { + "version": "1.1.0", "dev": true }, - "envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", - "dev": true + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } }, - "err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "dev": true + "is-symbol": { + "version": "1.0.4", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } }, - "error-ex": { - "version": "1.3.2", + "is-text-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "text-extensions": "^1.0.0" } }, - "es-abstract": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", - "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", + "is-typedarray": { + "version": "1.0.0", + "dev": true + }, + "is-weakref": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.1.tgz", + "integrity": "sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.1", - "is-string": "^1.0.7", - "is-weakref": "^1.0.1", - "object-inspect": "^1.11.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.1" + "call-bind": "^1.0.0" } }, - "es-to-primitive": { - "version": "1.2.1", + "is-windows": { + "version": "1.0.2", + "dev": true + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, + "optional": true, "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "is-docker": "^2.0.0" } }, - "es6-error": { - "version": "4.1.1", + "isarray": { + "version": "0.0.1", "dev": true }, - "escalade": { - "version": "3.1.1", + "isexe": { + "version": "2.0.0", "dev": true }, - "escape-string-regexp": { - "version": "1.0.5", + "ismobilejs": { + "version": "1.1.1" + }, + "isobject": { + "version": "3.0.1", "dev": true }, - "eslint": { - "version": "7.2.0", + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "4.0.3", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^5.1.0", - "eslint-utils": "^2.0.0", - "eslint-visitor-keys": "^1.2.0", - "espree": "^7.1.0", - "esquery": "^1.2.0", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash": "^4.17.14", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^5.2.3", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" }, "dependencies": { - "ansi-regex": { - "version": "5.0.0", + "semver": { + "version": "6.3.0", + "dev": true + } + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", "dev": true }, - "ansi-styles": { - "version": "4.2.1", + "make-dir": { + "version": "3.1.0", "dev": true, "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" + "semver": "^6.0.0" } }, - "chalk": { - "version": "4.1.0", + "semver": { + "version": "6.3.0", + "dev": true + }, + "supports-color": { + "version": "7.2.0", "dev": true, "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "has-flag": "^4.0.0" } - }, - "color-convert": { - "version": "2.0.1", + } + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.0", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "debug": { + "version": "4.3.2", "dev": true, "requires": { - "color-name": "~1.1.4" + "ms": "2.1.2" } }, + "ms": { + "version": "2.1.2", + "dev": true + } + } + }, + "istanbul-reports": { + "version": "3.0.2", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz", + "integrity": "sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==", + "dev": true, + "requires": { + "@jest/core": "^26.6.3", + "import-local": "^3.0.2", + "jest-cli": "^26.6.3" + } + }, + "jest-changed-files": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.6.2.tgz", + "integrity": "sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "execa": "^4.0.0", + "throat": "^5.0.0" + }, + "dependencies": { "cross-spawn": { "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "requires": { "path-key": "^3.1.0", @@ -27573,68 +35490,63 @@ "which": "^2.0.1" } }, - "debug": { - "version": "4.1.1", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "eslint-visitor-keys": { - "version": "1.2.0", - "dev": true - }, - "glob-parent": { - "version": "5.1.1", + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", "dev": true, "requires": { - "is-glob": "^4.0.1" + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" } }, - "globals": { - "version": "12.4.0", + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dev": true, "requires": { - "type-fest": "^0.8.1" + "pump": "^3.0.0" } }, - "has-flag": { - "version": "4.0.0", + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", "dev": true }, - "ignore": { - "version": "4.0.6", + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true }, - "import-fresh": { - "version": "3.2.1", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "is-glob": { + "npm-run-path": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, "requires": { - "is-extglob": "^2.1.1" + "path-key": "^3.0.0" } }, - "ms": { - "version": "2.1.2", - "dev": true - }, "path-key": { "version": "3.1.1", - "dev": true - }, - "semver": { - "version": "7.3.2", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, "shebang-command": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "requires": { "shebang-regex": "^3.0.0" @@ -27642,24 +35554,14 @@ }, "shebang-regex": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, - "strip-ansi": { - "version": "6.0.0", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.1.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, "which": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "requires": { "isexe": "^2.0.0" @@ -27667,1309 +35569,1561 @@ } } }, - "eslint-plugin-jsdoc": { - "version": "39.2.9", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.2.9.tgz", - "integrity": "sha512-gaPYJT94rWlWyQcisQyyEJHtLaaJqN4baFlLCEr/LcXVibS9wzQTL2dskqk327ggwqQopR+Xecu2Lng1IJ9Ypw==", + "jest-cli": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", + "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", "dev": true, "requires": { - "@es-joy/jsdoccomment": "~0.29.0", - "comment-parser": "1.3.1", - "debug": "^4.3.4", - "escape-string-regexp": "^4.0.0", - "esquery": "^1.4.0", - "semver": "^7.3.7", - "spdx-expression-parse": "^3.0.1" + "@jest/core": "^26.6.3", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "is-ci": "^2.0.0", + "jest-config": "^26.6.3", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "prompts": "^2.0.1", + "yargs": "^15.4.1" }, "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "ms": "2.1.2" + "color-convert": "^2.0.1" } }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { - "yallist": "^4.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "lru-cache": "^6.0.0" + "color-name": "~1.1.4" } }, - "yallist": { + "has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "2.0.0", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "eslint-visitor-keys": { - "version": "1.1.0", - "dev": true - }, - "espree": { - "version": "7.1.0", - "dev": true, - "requires": { - "acorn": "^7.2.0", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.2.0" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "eslint-visitor-keys": { - "version": "1.2.0", - "dev": true - } - } - }, - "esprima": { - "version": "4.0.1", - "dev": true - }, - "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.1.0", - "dev": true - } - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "estree-walker": { - "version": "0.6.0", - "dev": true - }, - "esutils": { - "version": "2.0.2", - "dev": true - }, - "eventemitter3": { - "version": "3.1.2" - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "jest-config": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", + "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", "dev": true, "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^26.6.3", + "@jest/types": "^26.6.2", + "babel-jest": "^26.6.3", + "chalk": "^4.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-environment-jsdom": "^26.6.2", + "jest-environment-node": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-jasmine2": "^26.6.3", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2" }, "dependencies": { - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "fill-range": "^7.0.1" } }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } }, - "is-stream": { + "color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "requires": { - "path-key": "^3.0.0" + "to-regex-range": "^5.0.1" } }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "requires": { - "shebang-regex": "^3.0.0" + "braces": "^3.0.2", + "picomatch": "^2.3.1" } }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "requires": { - "isexe": "^2.0.0" + "is-number": "^7.0.0" } } } }, - "expand-brackets": { - "version": "2.1.4", + "jest-diff": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", + "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", "dev": true, "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "chalk": "^4.0.0", + "diff-sequences": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" }, "dependencies": { - "define-property": { - "version": "0.2.5", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "color-convert": "^2.0.1" } }, - "extend-shallow": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "color-name": "~1.1.4" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" } } } }, - "expand-tilde": { - "version": "2.0.2", + "jest-docblock": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz", + "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==", "dev": true, "requires": { - "homedir-polyfill": "^1.0.1" + "detect-newline": "^3.0.0" } }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "extend-shallow": { - "version": "3.0.2", + "jest-each": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz", + "integrity": "sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==", "dev": true, "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2" }, "dependencies": { - "is-extendable": { - "version": "1.0.1", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" } } } }, - "external-editor": { - "version": "3.0.3", - "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, - "extglob": { - "version": "2.0.4", + "jest-electron": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/jest-electron/-/jest-electron-0.1.12.tgz", + "integrity": "sha512-10Hjr1kpyWz5cj9Xs/Xfb8yvF1LZPVmyEMHu/A/VhgvIV5yiP9uD8FHNc4HAfEnZHM+wvpR5YfveBTUAiNfwnA==", "dev": true, "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "electron": "^11.4.6", + "jest-haste-map": "~24.9.0", + "jest-message-util": "~24.9.0", + "jest-mock": "~24.9.0", + "jest-resolve": "~24.9.0", + "jest-runner": "~24.9.0", + "jest-runtime": "~24.9.0", + "jest-util": "~24.9.0", + "throat": "^5.0.0", + "tslib": "^1.10.0" }, "dependencies": { - "define-property": { - "version": "1.0.0", + "@jest/console": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", + "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "@jest/source-map": "^24.9.0", + "chalk": "^2.0.1", + "slash": "^2.0.0" } }, - "extend-shallow": { - "version": "2.0.1", + "@jest/environment": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-24.9.0.tgz", + "integrity": "sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "@jest/fake-timers": "^24.9.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0" } }, - "is-accessor-descriptor": { - "version": "1.0.0", + "@jest/fake-timers": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz", + "integrity": "sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "@jest/types": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-mock": "^24.9.0" } }, - "is-data-descriptor": { - "version": "1.0.0", + "@jest/source-map": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", + "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "callsites": "^3.0.0", + "graceful-fs": "^4.1.15", + "source-map": "^0.6.0" } }, - "is-descriptor": { - "version": "1.0.2", + "@jest/test-result": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", + "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "@jest/console": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/istanbul-lib-coverage": "^2.0.0" } }, - "kind-of": { - "version": "6.0.2", + "@jest/test-sequencer": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz", + "integrity": "sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A==", + "dev": true, + "requires": { + "@jest/test-result": "^24.9.0", + "jest-haste-map": "^24.9.0", + "jest-runner": "^24.9.0", + "jest-runtime": "^24.9.0" + } + }, + "@jest/transform": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz", + "integrity": "sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^24.9.0", + "babel-plugin-istanbul": "^5.1.0", + "chalk": "^2.0.1", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.1.15", + "jest-haste-map": "^24.9.0", + "jest-regex-util": "^24.9.0", + "jest-util": "^24.9.0", + "micromatch": "^3.1.10", + "pirates": "^4.0.1", + "realpath-native": "^1.1.0", + "slash": "^2.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "2.4.1" + } + }, + "@jest/types": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", + "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^13.0.0" + } + }, + "@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", "dev": true - } - } - }, - "extract-zip": { - "version": "1.7.0", - "dev": true, - "requires": { - "concat-stream": "^1.6.2", - "debug": "^2.6.9", - "mkdirp": "^0.5.4", - "yauzl": "^2.10.0" - }, - "dependencies": { - "concat-stream": { - "version": "1.6.2", + }, + "@types/yargs": { + "version": "13.0.12", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.12.tgz", + "integrity": "sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "@types/yargs-parser": "*" } }, - "isarray": { - "version": "1.0.0", + "acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", "dev": true }, - "readable-stream": { - "version": "2.3.7", + "acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + }, + "dependencies": { + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true + } } }, - "string_decoder": { - "version": "1.1.1", + "acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", + "dev": true + }, + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" } - } - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-glob": { - "version": "2.2.6", - "dev": true, - "requires": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.1.2", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.3", - "micromatch": "^3.1.10" - }, - "dependencies": { - "is-glob": { - "version": "4.0.0", + }, + "babel-jest": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz", + "integrity": "sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==", "dev": true, "requires": { - "is-extglob": "^2.1.1" + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/babel__core": "^7.1.0", + "babel-plugin-istanbul": "^5.1.0", + "babel-preset-jest": "^24.9.0", + "chalk": "^2.4.2", + "slash": "^2.0.0" } - } - } - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "dev": true - }, - "fastq": { - "version": "1.9.0", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "fd-slicer": { - "version": "1.1.0", - "dev": true, - "requires": { - "pend": "~1.2.0" - } - }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "file-entry-cache": { - "version": "5.0.1", - "dev": true, - "requires": { - "flat-cache": "^2.0.1" - } - }, - "fill-range": { - "version": "4.0.0", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", + }, + "babel-plugin-istanbul": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz", + "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "@babel/helper-plugin-utils": "^7.0.0", + "find-up": "^3.0.0", + "istanbul-lib-instrument": "^3.3.0", + "test-exclude": "^5.2.3" } - } - } - }, - "filter-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", - "integrity": "sha1-mzERErxsYSehbgFsbF1/GeCAXFs=", - "dev": true - }, - "find-cache-dir": { - "version": "3.3.1", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "dependencies": { - "make-dir": { - "version": "3.1.0", + }, + "babel-plugin-jest-hoist": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz", + "integrity": "sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==", "dev": true, "requires": { - "semver": "^6.0.0" + "@types/babel__traverse": "^7.0.6" } }, - "semver": { - "version": "6.3.0", - "dev": true - } - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "dependencies": { - "locate-path": { + "babel-preset-jest": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz", + "integrity": "sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==", + "dev": true, + "requires": { + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "babel-plugin-jest-hoist": "^24.9.0" + } + }, + "cliui": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "cssstyle": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", + "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", + "dev": true, + "requires": { + "cssom": "0.3.x" + } + }, + "data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "dev": true, + "requires": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" + }, + "dependencies": { + "whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + } + } + }, + "detect-newline": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", + "integrity": "sha512-CwffZFvlJffUg9zZA0uqrjQayUTC8ob94pnr5sFwaVv3IOmkfUHcWH+jXaQK3askE51Cqe8/9Ql/0uXNwqZ8Zg==", + "dev": true + }, + "diff-sequences": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", + "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==", + "dev": true + }, + "domexception": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "dev": true, + "requires": { + "webidl-conversions": "^4.0.2" + } + }, + "electron": { + "version": "11.5.0", + "resolved": "https://registry.npmjs.org/electron/-/electron-11.5.0.tgz", + "integrity": "sha512-WjNDd6lGpxyiNjE3LhnFCAk/D9GIj1rU3GSDealVShhkkkPR3Vh4q8ErXGDl1OAO/faomVa10KoFPUN/pLbNxg==", + "dev": true, + "requires": { + "@electron/get": "^1.0.1", + "@types/node": "^12.0.12", + "extract-zip": "^1.0.3" + } + }, + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + }, + "escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + } + }, + "expect": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz", + "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "ansi-styles": "^3.2.0", + "jest-get-type": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-regex-util": "^24.9.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "dev": true, + "requires": { + "whatwg-encoding": "^1.0.1" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", + "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", + "dev": true, + "requires": { + "@babel/generator": "^7.4.0", + "@babel/parser": "^7.4.3", + "@babel/template": "^7.4.0", + "@babel/traverse": "^7.4.3", + "@babel/types": "^7.4.0", + "istanbul-lib-coverage": "^2.0.5", + "semver": "^6.0.0" + } + }, + "jest-config": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.9.0.tgz", + "integrity": "sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^24.9.0", + "@jest/types": "^24.9.0", + "babel-jest": "^24.9.0", + "chalk": "^2.0.1", + "glob": "^7.1.1", + "jest-environment-jsdom": "^24.9.0", + "jest-environment-node": "^24.9.0", + "jest-get-type": "^24.9.0", + "jest-jasmine2": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-resolve": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "micromatch": "^3.1.10", + "pretty-format": "^24.9.0", + "realpath-native": "^1.1.0" + } + }, + "jest-diff": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", + "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", "dev": true, "requires": { - "p-locate": "^4.1.0" + "chalk": "^2.0.1", + "diff-sequences": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" } }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "jest-docblock": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.9.0.tgz", + "integrity": "sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==", "dev": true, "requires": { - "p-try": "^2.0.0" + "detect-newline": "^2.1.0" } }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "jest-each": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-24.9.0.tgz", + "integrity": "sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog==", "dev": true, "requires": { - "p-limit": "^2.2.0" + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "jest-get-type": "^24.9.0", + "jest-util": "^24.9.0", + "pretty-format": "^24.9.0" } }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true + "jest-environment-jsdom": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz", + "integrity": "sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==", + "dev": true, + "requires": { + "@jest/environment": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0", + "jest-util": "^24.9.0", + "jsdom": "^11.5.1" + } }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "jest-environment-node": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz", + "integrity": "sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==", + "dev": true, + "requires": { + "@jest/environment": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0", + "jest-util": "^24.9.0" + } + }, + "jest-get-type": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", + "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", "dev": true - } - } - }, - "findup-sync": { - "version": "2.0.0", - "dev": true, - "requires": { - "detect-file": "^1.0.0", - "is-glob": "^3.1.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" - } - }, - "flat": { - "version": "5.0.2", - "dev": true - }, - "flat-cache": { - "version": "2.0.1", - "dev": true, - "requires": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - } - }, - "flatted": { - "version": "2.0.2", - "dev": true - }, - "floss": { - "version": "5.0.0", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "commander": "^7.0.0", - "glob": "^7.1.6", - "mocha": "^8.0.0", - "resolve": "^1.19.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", + }, + "jest-haste-map": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz", + "integrity": "sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==", "dev": true, "requires": { - "color-convert": "^2.0.1" + "@jest/types": "^24.9.0", + "anymatch": "^2.0.0", + "fb-watchman": "^2.0.0", + "fsevents": "^1.2.7", + "graceful-fs": "^4.1.15", + "invariant": "^2.2.4", + "jest-serializer": "^24.9.0", + "jest-util": "^24.9.0", + "jest-worker": "^24.9.0", + "micromatch": "^3.1.10", + "sane": "^4.0.3", + "walker": "^1.0.7" + } + }, + "jest-jasmine2": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz", + "integrity": "sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw==", + "dev": true, + "requires": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "co": "^4.6.0", + "expect": "^24.9.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-snapshot": "^24.9.0", + "jest-util": "^24.9.0", + "pretty-format": "^24.9.0", + "throat": "^4.0.0" + }, + "dependencies": { + "throat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", + "integrity": "sha512-wCVxLDcFxw7ujDxaeJC6nfl2XfHJNYs8yUYJnvMgtPEFlttP9tHSfRUv2vBe6C4hkVFPWoP1P6ZccbYjmSEkKA==", + "dev": true + } } }, - "chalk": { - "version": "4.1.0", + "jest-leak-detector": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz", + "integrity": "sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA==", "dev": true, "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" } }, - "color-convert": { - "version": "2.0.1", + "jest-matcher-utils": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", + "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", "dev": true, "requires": { - "color-name": "~1.1.4" + "chalk": "^2.0.1", + "jest-diff": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" } }, - "commander": { - "version": "7.2.0", - "dev": true + "jest-message-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", + "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^2.0.1", + "micromatch": "^3.1.10", + "slash": "^2.0.0", + "stack-utils": "^1.0.1" + } }, - "has-flag": { - "version": "4.0.0", + "jest-regex-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", + "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==", "dev": true }, - "resolve": { - "version": "1.20.0", + "jest-resolve": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz", + "integrity": "sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==", "dev": true, "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" + "@jest/types": "^24.9.0", + "browser-resolve": "^1.11.3", + "chalk": "^2.0.1", + "jest-pnp-resolver": "^1.2.1", + "realpath-native": "^1.1.0" } }, - "supports-color": { - "version": "7.2.0", + "jest-runner": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-24.9.0.tgz", + "integrity": "sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg==", "dev": true, "requires": { - "has-flag": "^4.0.0" + "@jest/console": "^24.7.1", + "@jest/environment": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.4.2", + "exit": "^0.1.2", + "graceful-fs": "^4.1.15", + "jest-config": "^24.9.0", + "jest-docblock": "^24.3.0", + "jest-haste-map": "^24.9.0", + "jest-jasmine2": "^24.9.0", + "jest-leak-detector": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-resolve": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-util": "^24.9.0", + "jest-worker": "^24.6.0", + "source-map-support": "^0.5.6", + "throat": "^4.0.0" + }, + "dependencies": { + "throat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", + "integrity": "sha512-wCVxLDcFxw7ujDxaeJC6nfl2XfHJNYs8yUYJnvMgtPEFlttP9tHSfRUv2vBe6C4hkVFPWoP1P6ZccbYjmSEkKA==", + "dev": true + } } - } - } - }, - "for-in": { - "version": "1.0.2", - "dev": true - }, - "foreground-child": { - "version": "2.0.0", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" - }, - "dependencies": { - "cross-spawn": { - "version": "7.0.3", + }, + "jest-runtime": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.9.0.tgz", + "integrity": "sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==", "dev": true, "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "@jest/console": "^24.7.1", + "@jest/environment": "^24.9.0", + "@jest/source-map": "^24.3.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/yargs": "^13.0.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.1.15", + "jest-config": "^24.9.0", + "jest-haste-map": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-mock": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-resolve": "^24.9.0", + "jest-snapshot": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "realpath-native": "^1.1.0", + "slash": "^2.0.0", + "strip-bom": "^3.0.0", + "yargs": "^13.3.0" + } + }, + "jest-serializer": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz", + "integrity": "sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==", + "dev": true + }, + "jest-snapshot": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.9.0.tgz", + "integrity": "sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "expect": "^24.9.0", + "jest-diff": "^24.9.0", + "jest-get-type": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-resolve": "^24.9.0", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^24.9.0", + "semver": "^6.2.0" + } + }, + "jest-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz", + "integrity": "sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==", + "dev": true, + "requires": { + "@jest/console": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/source-map": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "callsites": "^3.0.0", + "chalk": "^2.0.1", + "graceful-fs": "^4.1.15", + "is-ci": "^2.0.0", + "mkdirp": "^0.5.1", + "slash": "^2.0.0", + "source-map": "^0.6.0" } }, - "path-key": { - "version": "3.1.1", - "dev": true + "jest-validate": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz", + "integrity": "sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "camelcase": "^5.3.1", + "chalk": "^2.0.1", + "jest-get-type": "^24.9.0", + "leven": "^3.1.0", + "pretty-format": "^24.9.0" + } }, - "shebang-command": { - "version": "2.0.0", + "jest-worker": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", + "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", "dev": true, "requires": { - "shebang-regex": "^3.0.0" + "merge-stream": "^2.0.0", + "supports-color": "^6.1.0" } }, - "shebang-regex": { + "jsdom": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", + "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", + "dev": true, + "requires": { + "abab": "^2.0.0", + "acorn": "^5.5.3", + "acorn-globals": "^4.1.0", + "array-equal": "^1.0.0", + "cssom": ">= 0.3.2 < 0.4.0", + "cssstyle": "^1.0.0", + "data-urls": "^1.0.0", + "domexception": "^1.0.1", + "escodegen": "^1.9.1", + "html-encoding-sniffer": "^1.0.2", + "left-pad": "^1.3.0", + "nwsapi": "^2.0.7", + "parse5": "4.0.0", + "pn": "^1.1.0", + "request": "^2.87.0", + "request-promise-native": "^1.0.5", + "sax": "^1.2.4", + "symbol-tree": "^3.2.2", + "tough-cookie": "^2.3.4", + "w3c-hr-time": "^1.0.1", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.3", + "whatwg-mimetype": "^2.1.0", + "whatwg-url": "^6.4.1", + "ws": "^5.2.0", + "xml-name-validator": "^3.0.0" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "locate-path": { "version": "3.0.0", - "dev": true + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } }, - "which": { - "version": "2.0.2", + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", "dev": true, "requires": { - "isexe": "^2.0.0" + "remove-trailing-separator": "^1.0.1" } - } - } - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "fragment-cache": { - "version": "0.2.1", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, - "fromentries": { - "version": "1.3.2", - "dev": true - }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "dev": true - }, - "fsevents": { - "version": "2.3.2", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "dev": true - }, - "functional-red-black-tree": { - "version": "1.0.1", - "dev": true - }, - "gauge": { - "version": "2.7.4", - "dev": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "gensync": { - "version": "1.0.0-beta.2", - "dev": true - }, - "get-caller-file": { - "version": "1.0.3", - "dev": true - }, - "get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", - "dev": true - }, - "get-intrinsic": { - "version": "1.1.1", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "get-package-type": { - "version": "0.1.0", - "dev": true - }, - "get-pkg-repo": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz", - "integrity": "sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==", - "dev": true, - "requires": { - "@hutson/parse-repository-url": "^3.0.0", - "hosted-git-info": "^4.0.0", - "through2": "^2.0.0", - "yargs": "^16.2.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", "dev": true, "requires": { - "color-convert": "^2.0.1" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" } }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "p-try": "^2.0.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, "requires": { - "color-name": "~1.1.4" + "p-limit": "^2.0.0" } }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "parse5": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", + "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", "dev": true }, - "hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true + }, + "pretty-format": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", + "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", "dev": true, "requires": { - "lru-cache": "^6.0.0" + "@jest/types": "^24.9.0", + "ansi-regex": "^4.0.0", + "ansi-styles": "^3.2.0", + "react-is": "^16.8.4" } }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "dev": true }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "read-pkg-up": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", + "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", "dev": true, "requires": { - "yallist": "^4.0.0" + "find-up": "^3.0.0", + "read-pkg": "^3.0.0" } }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + }, + "stack-utils": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", "dev": true, "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "escape-string-regexp": "^2.0.0" } }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "requires": { - "ansi-regex": "^5.0.1" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" } }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "ansi-regex": "^4.1.0" } }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", "dev": true, "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "has-flag": "^3.0.0" } }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true - } - } - }, - "get-port": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz", - "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==", - "dev": true - }, - "get-stream": { - "version": "3.0.0", - "dev": true - }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "get-value": { - "version": "2.0.6", - "dev": true - }, - "get-workspaces": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/get-workspaces/-/get-workspaces-0.5.2.tgz", - "integrity": "sha512-99x72taQ9OUHhCmBS0B2WI/zwOtBOBPoyVNGs9+B0ag2GGhCjl/EaU9VQ8Zorx64TyVj1Am7bO+0J1KwDqo7OA==", - "dev": true, - "requires": { - "@changesets/types": "^0.4.0", - "fs-extra": "^7.0.1", - "globby": "^9.2.0" - }, - "dependencies": { - "dir-glob": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", - "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "test-exclude": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", + "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", "dev": true, "requires": { - "path-type": "^3.0.0" + "glob": "^7.1.3", + "minimatch": "^3.0.4", + "read-pkg-up": "^4.0.0", + "require-main-filename": "^2.0.0" } }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "punycode": "^2.1.0" } }, - "globby": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", - "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", "dev": true, "requires": { - "@types/glob": "^7.1.1", - "array-union": "^1.0.2", - "dir-glob": "^2.2.2", - "fast-glob": "^2.2.6", - "glob": "^7.1.3", - "ignore": "^4.0.3", - "pify": "^4.0.1", - "slash": "^2.0.0" + "prelude-ls": "~1.1.2" } }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", "dev": true }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true + "whatwg-url": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", + "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true - } - } - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "git-branch": { - "version": "2.0.1", - "dev": true, - "requires": { - "findup-sync": "^2.0.0" - } - }, - "git-raw-commits": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.10.tgz", - "integrity": "sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ==", - "dev": true, - "requires": { - "dargs": "^7.0.0", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", "dev": true, "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" } }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "write-file-atomic": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz", + "integrity": "sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "ws": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.3.tgz", + "integrity": "sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "dev": true }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", "dev": true, "requires": { - "safe-buffer": "~5.2.0" + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" } }, - "through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", "dev": true, "requires": { - "readable-stream": "3" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } } } }, - "git-remote-origin-url": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", - "integrity": "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=", + "jest-environment-jsdom": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz", + "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==", "dev": true, "requires": { - "gitconfiglocal": "^1.0.0", - "pify": "^2.3.0" + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2", + "jsdom": "^16.4.0" }, "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true + "jest-mock": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", + "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*" + } } } }, - "git-semver-tags": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz", - "integrity": "sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==", + "jest-environment-node": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz", + "integrity": "sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==", "dev": true, "requires": { - "meow": "^8.0.0", - "semver": "^6.0.0" + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" }, "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true + "jest-mock": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", + "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*" + } } } }, - "git-up": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/git-up/-/git-up-4.0.5.tgz", - "integrity": "sha512-YUvVDg/vX3d0syBsk/CKUTib0srcQME0JyHkL5BaYdwLsiCslPWmDSi8PUMo9pXYjrryMcmsCoCgsTpSCJEQaA==", - "dev": true, - "requires": { - "is-ssh": "^1.3.0", - "parse-url": "^6.0.0" - } - }, - "git-url-parse": { - "version": "11.6.0", - "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.6.0.tgz", - "integrity": "sha512-WWUxvJs5HsyHL6L08wOusa/IXYtMuCAhrMmnTjQPpBU0TTHyDhnOATNH3xNQz7YOQUsqIIPTGr4xiVti1Hsk5g==", - "dev": true, - "requires": { - "git-up": "^4.0.0" - } - }, - "gitconfiglocal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", - "integrity": "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=", - "dev": true, - "requires": { - "ini": "^1.3.2" - } - }, - "glob": { - "version": "7.1.7", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "3.1.0", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "glob-to-regexp": { - "version": "0.3.0", - "dev": true - }, - "global-agent": { - "version": "2.1.12", + "jest-extended": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/jest-extended/-/jest-extended-1.2.1.tgz", + "integrity": "sha512-eKZR5iDpyTkcDesj16FpIPnjAWQNUB81ZFQW08EIddM6iqO7DjRIi39td9qol+1dpJS4Mqr9Qzp8ZMhanbSeug==", "dev": true, - "optional": true, "requires": { - "boolean": "^3.0.1", - "core-js": "^3.6.5", - "es6-error": "^4.1.1", - "matcher": "^3.0.0", - "roarr": "^2.15.3", - "semver": "^7.3.2", - "serialize-error": "^7.0.1" + "expect": "^26.6.2", + "jest-diff": "^27.2.5", + "jest-get-type": "^27.0.6", + "jest-matcher-utils": "^27.2.4" }, "dependencies": { - "lru-cache": { - "version": "6.0.0", + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "optional": true, "requires": { - "yallist": "^4.0.0" + "color-convert": "^2.0.1" } }, - "semver": { - "version": "7.3.5", + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "optional": true, "requires": { - "lru-cache": "^6.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "yallist": { + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "dev": true + }, + "has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", "dev": true, - "optional": true + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "dev": true + }, + "pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, - "global-modules": { - "version": "1.0.0", - "dev": true, - "requires": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" - } - }, - "global-prefix": { - "version": "1.0.2", - "dev": true, - "requires": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" - } - }, - "global-tunnel-ng": { - "version": "2.7.1", - "dev": true, - "optional": true, - "requires": { - "encodeurl": "^1.0.2", - "lodash": "^4.17.10", - "npm-conf": "^1.1.3", - "tunnel": "^0.0.6" - } - }, - "globals": { - "version": "11.11.0", + "jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", "dev": true }, - "globalthis": { - "version": "1.0.2", - "dev": true, - "optional": true, - "requires": { - "define-properties": "^1.1.3" - } - }, - "globby": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", - "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "jest-haste-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", + "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", "dev": true, "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" + "@jest/types": "^26.6.2", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.1.2", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^26.0.0", + "jest-serializer": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7" }, "dependencies": { - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, "braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", @@ -28979,19 +37133,6 @@ "fill-range": "^7.0.1" } }, - "fast-glob": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", - "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - } - }, "fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -29001,24 +37142,6 @@ "to-regex-range": "^5.0.1" } }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -29026,13 +37149,13 @@ "dev": true }, "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" + "braces": "^3.0.2", + "picomatch": "^2.3.1" } }, "to-regex-range": { @@ -29046,404 +37169,769 @@ } } }, - "got": { - "version": "9.6.0", + "jest-jasmine2": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz", + "integrity": "sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==", "dev": true, "requires": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" + "@babel/traverse": "^7.1.0", + "@jest/environment": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^26.6.2", + "is-generator-fn": "^2.0.0", + "jest-each": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2", + "throat": "^5.0.0" }, "dependencies": { - "get-stream": { - "version": "4.1.0", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "pump": "^3.0.0" + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "jest-matcher-utils": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", + "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" } } } }, - "graceful-fs": { - "version": "4.2.6", - "dev": true - }, - "growl": { - "version": "1.10.5", - "dev": true - }, - "handlebars": { - "version": "4.7.7", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", - "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", - "dev": true, - "requires": { - "minimist": "^1.2.5", - "neo-async": "^2.6.0", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4", - "wordwrap": "^1.0.0" - } - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "dev": true, - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, - "hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "dev": true - }, - "has": { - "version": "1.0.3", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-bigints": { - "version": "1.0.1", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "dev": true - }, - "has-symbols": { - "version": "1.0.2", - "dev": true - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "jest-leak-detector": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz", + "integrity": "sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==", "dev": true, "requires": { - "has-symbols": "^1.0.2" + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" } }, - "has-unicode": { - "version": "2.0.1", - "dev": true - }, - "has-value": { - "version": "1.0.0", + "jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", "dev": true, "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "dev": true + }, + "pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "has-values": { - "version": "1.0.0", + "jest-message-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", + "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", "dev": true, "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "@babel/code-frame": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.2" }, "dependencies": { - "kind-of": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" } } } }, - "hasha": { - "version": "5.2.2", + "jest-mock": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz", + "integrity": "sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==", "dev": true, "requires": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" + "@jest/types": "^24.9.0" }, "dependencies": { - "is-stream": { - "version": "2.0.0", - "dev": true + "@jest/types": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", + "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^13.0.0" + } + }, + "@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "@types/yargs": { + "version": "13.0.12", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.12.tgz", + "integrity": "sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } } } }, - "he": { - "version": "1.2.0", - "dev": true - }, - "highlight.js": { - "version": "10.7.3", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", - "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", - "dev": true - }, - "homedir-polyfill": { - "version": "1.0.3", - "dev": true, - "requires": { - "parse-passwd": "^1.0.0" - } - }, - "hosted-git-info": { - "version": "2.7.1", + "jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", "dev": true }, - "html-escaper": { - "version": "2.0.2", + "jest-raw-loader": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/jest-raw-loader/-/jest-raw-loader-1.0.1.tgz", + "integrity": "sha512-g9oaAjeC4/rIJk1Wd3RxVbOfMizowM7LSjEJqa4R9qDX0OjQNABXOhH+GaznUp+DjTGVPi2vPPbQXyX87DOnYg==", "dev": true }, - "http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "jest-regex-util": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", + "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", "dev": true }, - "http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "jest-resolve": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", + "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", "dev": true, "requires": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.2", + "read-pkg-up": "^7.0.1", + "resolve": "^1.18.1", + "slash": "^3.0.0" }, "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "ms": "2.1.2" + "color-convert": "^2.0.1" } }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + } + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "jest-resolve-dependencies": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz", + "integrity": "sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==", "dev": true, "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "@jest/types": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-snapshot": "^26.6.2" } }, - "https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "jest-runner": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz", + "integrity": "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==", "dev": true, "requires": { - "agent-base": "6", - "debug": "4" + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.7.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-docblock": "^26.0.0", + "jest-haste-map": "^26.6.2", + "jest-leak-detector": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "source-map-support": "^0.5.6", + "throat": "^5.0.0" }, "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "ms": "2.1.2" + "color-convert": "^2.0.1" } }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true - }, - "humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", - "dev": true, - "requires": { - "ms": "^2.0.0" - } - }, - "iconv-lite": { - "version": "0.4.24", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore": { - "version": "5.1.9", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz", - "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==", - "dev": true - }, - "ignore-walk": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", - "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", - "dev": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "import-lazy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", - "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", - "dev": true - }, - "import-local": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.3.tgz", - "integrity": "sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA==", + "jest-runtime": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz", + "integrity": "sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==", "dev": true, "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/globals": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0", + "cjs-module-lexer": "^0.6.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^15.4.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "jest-mock": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", + "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "imurmurhash": { - "version": "0.1.4", - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, - "inflight": { - "version": "1.0.6", + "jest-serializer": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", + "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", "dev": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "@types/node": "*", + "graceful-fs": "^4.2.4" } }, - "inherits": { - "version": "2.0.3", - "dev": true - }, - "ini": { - "version": "1.3.5", - "dev": true - }, - "init-package-json": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-2.0.5.tgz", - "integrity": "sha512-u1uGAtEFu3VA6HNl/yUWw57jmKEMx8SKOxHhxjGnOFUiIlFnohKDFg4ZrPpv9wWqk44nDxGJAtqjdQFm+9XXQA==", + "jest-snapshot": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz", + "integrity": "sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==", "dev": true, "requires": { - "npm-package-arg": "^8.1.5", - "promzard": "^0.3.0", - "read": "~1.0.1", - "read-package-json": "^4.1.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4", - "validate-npm-package-name": "^3.0.0" + "@babel/types": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.0.0", + "chalk": "^4.0.0", + "expect": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-haste-map": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "natural-compare": "^1.4.0", + "pretty-format": "^26.6.2", + "semver": "^7.3.2" }, "dependencies": { - "hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "lru-cache": "^6.0.0" + "color-convert": "^2.0.1" } }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { - "yallist": "^4.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" + "color-name": "~1.1.4" } }, - "npm-package-arg": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz", - "integrity": "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==", + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "jest-matcher-utils": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", + "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", "dev": true, "requires": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" + "chalk": "^4.0.0", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" } }, - "read-package-json": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-4.1.1.tgz", - "integrity": "sha512-P82sbZJ3ldDrWCOSKxJT0r/CXMWR0OR3KRh55SgKo3p91GSIEEC32v3lSHAvO/UcH3/IoL7uqhOFBduAnwdldw==", + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "requires": { - "glob": "^7.1.1", - "json-parse-even-better-errors": "^2.3.0", - "normalize-package-data": "^3.0.0", - "npm-normalize-package-bin": "^1.0.0" + "yallist": "^4.0.0" } }, "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { - "lru-cache": "^6.0.0" + "has-flag": "^4.0.0" } }, "yallist": { @@ -29454,33 +37942,20 @@ } } }, - "inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "jest-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", + "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", "dev": true, "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "micromatch": "^4.0.2" }, "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -29490,6 +37965,15 @@ "color-convert": "^2.0.1" } }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -29509,11 +37993,14 @@ "color-name": "~1.1.4" } }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } }, "has-flag": { "version": "4.0.0", @@ -29521,30 +38008,20 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "requires": { - "ansi-regex": "^5.0.1" + "braces": "^3.0.2", + "picomatch": "^2.3.1" } }, "supports-color": { @@ -29555,394 +38032,136 @@ "requires": { "has-flag": "^4.0.0" } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } } } }, - "internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "invert-kv": { - "version": "1.0.0", - "dev": true - }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-arrayish": { - "version": "0.2.1", - "dev": true - }, - "is-bigint": { - "version": "1.0.2", - "dev": true - }, - "is-binary-path": { - "version": "2.1.0", - "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-boolean-object": { - "version": "1.1.1", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-buffer": { - "version": "1.1.6", - "dev": true - }, - "is-callable": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", - "dev": true - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "requires": { - "ci-info": "^2.0.0" - } - }, - "is-core-module": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", - "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-date-object": { - "version": "1.0.1", - "dev": true - }, - "is-descriptor": { - "version": "0.1.6", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "dev": true - } - } - }, - "is-extendable": { - "version": "0.1.1", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "is-glob": { - "version": "3.1.0", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - }, - "is-lambda": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=", - "dev": true - }, - "is-module": { - "version": "1.0.0", - "dev": true - }, - "is-negative-zero": { - "version": "2.0.1", - "dev": true - }, - "is-number": { - "version": "3.0.0", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-number-object": { - "version": "1.0.5", - "dev": true - }, - "is-plain-obj": { - "version": "1.1.0", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-reference": { - "version": "1.2.1", - "dev": true, - "requires": { - "@types/estree": "*" - } - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-shared-array-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", - "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==", - "dev": true - }, - "is-ssh": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.3.tgz", - "integrity": "sha512-NKzJmQzJfEEma3w5cJNcUMxoXfDjz0Zj0eyCalHn2E6VOwlzjZo0yuO2fcBSf8zhFuVCL/82/r5gRcoi6aEPVQ==", - "dev": true, - "requires": { - "protocols": "^1.1.0" - } - }, - "is-stream": { - "version": "1.1.0", - "dev": true - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-text-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", - "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", - "dev": true, - "requires": { - "text-extensions": "^1.0.0" - } - }, - "is-typedarray": { - "version": "1.0.0", - "dev": true - }, - "is-weakref": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.1.tgz", - "integrity": "sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0" - } - }, - "is-windows": { - "version": "1.0.2", - "dev": true - }, - "isarray": { - "version": "0.0.1", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "dev": true - }, - "ismobilejs": { - "version": "1.1.1" - }, - "isobject": { - "version": "3.0.1", - "dev": true - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "istanbul-lib-coverage": { - "version": "3.0.0", - "dev": true - }, - "istanbul-lib-hook": { - "version": "3.0.0", - "dev": true, - "requires": { - "append-transform": "^2.0.0" - } - }, - "istanbul-lib-instrument": { - "version": "4.0.3", - "dev": true, - "requires": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "dev": true - } - } - }, - "istanbul-lib-processinfo": { - "version": "2.0.2", + "jest-validate": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", + "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", "dev": true, "requires": { - "archy": "^1.0.0", - "cross-spawn": "^7.0.0", - "istanbul-lib-coverage": "^3.0.0-alpha.1", - "make-dir": "^3.0.0", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "uuid": "^3.3.3" + "@jest/types": "^26.6.2", + "camelcase": "^6.0.0", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "leven": "^3.1.0", + "pretty-format": "^26.6.2" }, "dependencies": { - "cross-spawn": { - "version": "7.0.3", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "make-dir": { - "version": "3.1.0", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "p-map": { - "version": "3.0.0", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "aggregate-error": "^3.0.0" + "color-convert": "^2.0.1" } }, - "path-key": { - "version": "3.1.1", + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true }, - "rimraf": { - "version": "3.0.2", + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { - "glob": "^7.1.3" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "semver": { - "version": "6.3.0", - "dev": true - }, - "shebang-command": { - "version": "2.0.0", + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "shebang-regex": "^3.0.0" + "color-name": "~1.1.4" } }, - "shebang-regex": { - "version": "3.0.0", + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "which": { - "version": "2.0.2", + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { - "isexe": "^2.0.0" + "has-flag": "^4.0.0" } } } }, - "istanbul-lib-report": { - "version": "3.0.0", + "jest-watcher": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.6.2.tgz", + "integrity": "sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==", "dev": true, "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^26.6.2", + "string-length": "^4.0.1" }, "dependencies": { - "has-flag": { - "version": "4.0.0", - "dev": true + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } }, - "make-dir": { - "version": "3.1.0", + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { - "semver": "^6.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "semver": { - "version": "6.3.0", + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { "has-flag": "^4.0.0" @@ -29950,36 +38169,6 @@ } } }, - "istanbul-lib-source-maps": { - "version": "4.0.0", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "dev": true - } - } - }, - "istanbul-reports": { - "version": "3.0.2", - "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, "jest-worker": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", @@ -30049,6 +38238,71 @@ "integrity": "sha512-vqMCdAFVIiFhVgBYE/X8naf3L/7qiJsaYWTfUJZZZ124dR3OUz9HrmaMUGpYIYAN4VSuodf6gIZY0e8ktPw9cg==", "dev": true }, + "jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "dev": true, + "requires": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "dependencies": { + "acorn": { + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", + "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", + "dev": true + }, + "form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "tough-cookie": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", + "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", + "dev": true, + "requires": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.1.2" + } + } + } + }, "jsesc": { "version": "0.5.0", "dev": true @@ -30125,10 +38379,6 @@ "verror": "1.10.0" } }, - "just-extend": { - "version": "4.0.2", - "dev": true - }, "keyv": { "version": "3.1.0", "dev": true, @@ -30150,6 +38400,12 @@ "graceful-fs": "^4.1.11" } }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + }, "lcid": { "version": "1.0.0", "dev": true, @@ -30157,6 +38413,12 @@ "invert-kv": "^1.0.0" } }, + "left-pad": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", + "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==", + "dev": true + }, "lerna": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/lerna/-/lerna-4.0.0.tgz", @@ -30183,6 +38445,12 @@ "npmlog": "^4.1.2" } }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true + }, "levn": { "version": "0.4.1", "dev": true, @@ -30493,10 +38761,6 @@ "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", "dev": true }, - "lodash.flattendeep": { - "version": "4.4.0", - "dev": true - }, "lodash.flow": { "version": "3.5.0", "dev": true @@ -30523,6 +38787,12 @@ "version": "4.6.2", "dev": true }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", + "dev": true + }, "lodash.template": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", @@ -30542,59 +38812,13 @@ "lodash._reinterpolate": "^3.0.0" } }, - "log-symbols": { - "version": "4.0.0", - "dev": true, - "requires": { - "chalk": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "lolex": { - "version": "4.1.0", - "dev": true - }, - "loupe": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz", - "integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==", + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dev": true, "requires": { - "get-func-name": "^2.0.0" + "js-tokens": "^3.0.0 || ^4.0.0" } }, "lowercase-keys": { @@ -30660,6 +38884,15 @@ } } }, + "makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "requires": { + "tmpl": "1.0.5" + } + }, "map-cache": { "version": "0.2.2", "dev": true @@ -31125,234 +39358,6 @@ } } }, - "mocha": { - "version": "8.3.2", - "dev": true, - "requires": { - "@ungap/promise-all-settled": "1.1.2", - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.1", - "debug": "4.3.1", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.1.6", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "4.0.0", - "log-symbols": "4.0.0", - "minimatch": "3.0.4", - "ms": "2.1.3", - "nanoid": "3.1.20", - "serialize-javascript": "5.0.1", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "which": "2.0.2", - "wide-align": "1.1.3", - "workerpool": "6.1.0", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "argparse": { - "version": "2.0.1", - "dev": true - }, - "cliui": { - "version": "7.0.4", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "debug": { - "version": "4.3.1", - "dev": true, - "requires": { - "ms": "2.1.2" - }, - "dependencies": { - "ms": { - "version": "2.1.2", - "dev": true - } - } - }, - "diff": { - "version": "5.0.0", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "dev": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "dev": true - }, - "find-up": { - "version": "5.0.0", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "get-caller-file": { - "version": "2.0.5", - "dev": true - }, - "glob": { - "version": "7.1.6", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "dev": true - }, - "js-yaml": { - "version": "4.0.0", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "locate-path": { - "version": "6.0.0", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "ms": { - "version": "2.1.3", - "dev": true - }, - "nanoid": { - "version": "3.1.20", - "dev": true - }, - "p-limit": { - "version": "3.1.0", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "path-exists": { - "version": "4.0.0", - "dev": true - }, - "serialize-javascript": { - "version": "5.0.1", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "string-width": { - "version": "4.2.2", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "8.1.1", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "which": { - "version": "2.0.2", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "5.0.5", - "dev": true - }, - "yargs": { - "version": "16.2.0", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.4", - "dev": true - } - } - }, "modify-values": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", @@ -31396,6 +39401,13 @@ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", "dev": true }, + "nan": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", + "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==", + "dev": true, + "optional": true + }, "nanoid": { "version": "3.1.18", "dev": true @@ -31443,17 +39455,6 @@ "version": "1.0.5", "dev": true }, - "nise": { - "version": "1.5.0", - "dev": true, - "requires": { - "@sinonjs/formatio": "^3.1.0", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "lolex": "^4.1.0", - "path-to-regexp": "^1.7.0" - } - }, "node-fetch": { "version": "2.6.1", "dev": true @@ -31555,11 +39556,71 @@ } } }, - "node-preload": { - "version": "0.2.1", + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node-notifier": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.2.tgz", + "integrity": "sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg==", "dev": true, + "optional": true, "requires": { - "process-on-spawn": "^1.0.0" + "growly": "^1.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.2", + "shellwords": "^0.1.1", + "uuid": "^8.3.0", + "which": "^2.0.2" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "optional": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "optional": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "optional": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "optional": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "optional": true + } } }, "node-releases": { @@ -31871,69 +39932,11 @@ "version": "1.0.1", "dev": true }, - "nyc": { - "version": "15.1.0", - "dev": true, - "requires": { - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "caching-transform": "^4.0.0", - "convert-source-map": "^1.7.0", - "decamelize": "^1.2.0", - "find-cache-dir": "^3.2.0", - "find-up": "^4.1.0", - "foreground-child": "^2.0.0", - "get-package-type": "^0.1.0", - "glob": "^7.1.6", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-hook": "^3.0.0", - "istanbul-lib-instrument": "^4.0.0", - "istanbul-lib-processinfo": "^2.0.2", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "make-dir": "^3.0.0", - "node-preload": "^0.2.1", - "p-map": "^3.0.0", - "process-on-spawn": "^1.0.0", - "resolve-from": "^5.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "spawn-wrap": "^2.0.0", - "test-exclude": "^6.0.0", - "yargs": "^15.0.2" - }, - "dependencies": { - "make-dir": { - "version": "3.1.0", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "p-map": { - "version": "3.0.0", - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "semver": { - "version": "6.3.0", - "dev": true - } - } + "nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", + "dev": true }, "oauth-sign": { "version": "0.9.0", @@ -32103,6 +40106,12 @@ "version": "1.1.0", "dev": true }, + "p-each-series": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", + "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", + "dev": true + }, "p-finally": { "version": "1.0.0", "dev": true @@ -32188,16 +40197,6 @@ "p-reduce": "^2.0.0" } }, - "package-hash": { - "version": "4.0.0", - "dev": true, - "requires": { - "graceful-fs": "^4.1.15", - "hasha": "^5.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" - } - }, "pacote": { "version": "11.3.5", "resolved": "https://registry.npmjs.org/pacote/-/pacote-11.3.5.tgz", @@ -32355,12 +40354,6 @@ "dev": true, "requires": { "callsites": "^3.0.0" - }, - "dependencies": { - "callsites": { - "version": "3.1.0", - "dev": true - } } }, "parse-github-url": { @@ -32403,6 +40396,12 @@ "protocols": "^1.4.0" } }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, "pascalcase": { "version": "0.1.1", "dev": true @@ -32424,16 +40423,11 @@ "dev": true }, "path-parse": { - "version": "1.0.6", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, - "path-to-regexp": { - "version": "1.7.0", - "dev": true, - "requires": { - "isarray": "0.0.1" - } - }, "path-type": { "version": "3.0.0", "dev": true, @@ -32441,12 +40435,6 @@ "pify": "^3.0.0" } }, - "pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true - }, "pend": { "version": "1.2.0", "dev": true @@ -32472,9 +40460,9 @@ "dev": true }, "picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, "pidtree": { @@ -32485,6 +40473,12 @@ "version": "3.0.0", "dev": true }, + "pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true + }, "pixi.js": { "version": "file:bundles/pixi.js", "requires": { @@ -32592,6 +40586,12 @@ } } }, + "pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", + "dev": true + }, "posix-character-classes": { "version": "0.1.1", "dev": true @@ -32622,17 +40622,48 @@ "version": "2.0.0", "dev": true }, - "process-nextick-args": { - "version": "2.0.0", - "dev": true - }, - "process-on-spawn": { - "version": "1.0.0", + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", "dev": true, "requires": { - "fromentries": "^1.2.0" + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + } } }, + "process-nextick-args": { + "version": "2.0.0", + "dev": true + }, "progress": { "version": "2.0.3", "dev": true @@ -32656,6 +40687,16 @@ "retry": "^0.12.0" } }, + "prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, "promzard": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz", @@ -32740,6 +40781,12 @@ "safe-buffer": "^5.1.0" } }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, "read": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", @@ -32903,11 +40950,13 @@ "once": "^1.3.0" } }, - "readdirp": { - "version": "3.5.0", + "realpath-native": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz", + "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==", "dev": true, "requires": { - "picomatch": "^2.2.1" + "util.promisify": "^1.0.0" } }, "redent": { @@ -32953,12 +41002,11 @@ "jsesc": "~0.5.0" } }, - "release-zalgo": { - "version": "1.0.0", - "dev": true, - "requires": { - "es6-error": "^4.0.1" - } + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true }, "repeat-element": { "version": "1.1.2", @@ -33010,6 +41058,26 @@ } } }, + "request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "dev": true, + "requires": { + "lodash": "^4.17.19" + } + }, + "request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "dev": true, + "requires": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + } + }, "require-directory": { "version": "2.1.1", "dev": true @@ -33192,6 +41260,12 @@ "micromatch": "^3.1.10" } }, + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true + }, "run-async": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", @@ -33226,6 +41300,96 @@ "version": "2.1.2", "dev": true }, + "sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "dev": true, + "requires": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "requires": { + "xmlchars": "^2.2.0" + } + }, "semver": { "version": "5.5.0", "dev": true @@ -33314,6 +41478,13 @@ "version": "1.7.2", "dev": true }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true, + "optional": true + }, "side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", @@ -33331,23 +41502,11 @@ "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==", "dev": true }, - "sinon": { - "version": "7.3.2", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.4.0", - "@sinonjs/formatio": "^3.2.1", - "@sinonjs/samsam": "^3.3.1", - "diff": "^3.5.0", - "lolex": "^4.0.1", - "nise": "^1.4.10", - "supports-color": "^5.5.0" - } - }, - "sinon-chai": { - "version": "3.3.0", - "dev": true, - "requires": {} + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true }, "skip-regex": { "version": "1.0.2", @@ -33558,45 +41717,6 @@ "os-shim": "^0.1.2" } }, - "spawn-wrap": { - "version": "2.0.0", - "dev": true, - "requires": { - "foreground-child": "^2.0.0", - "is-windows": "^1.0.2", - "make-dir": "^3.0.0", - "rimraf": "^3.0.0", - "signal-exit": "^3.0.2", - "which": "^2.0.1" - }, - "dependencies": { - "make-dir": { - "version": "3.1.0", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "rimraf": { - "version": "3.0.2", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "semver": { - "version": "6.3.0", - "dev": true - }, - "which": { - "version": "2.0.2", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, "spdx-correct": { "version": "3.1.0", "dev": true, @@ -33712,6 +41832,23 @@ "minipass": "^3.1.1" } }, + "stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + } + } + }, "static-extend": { "version": "0.1.2", "dev": true, @@ -33729,6 +41866,12 @@ } } }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==", + "dev": true + }, "strict-uri-encode": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", @@ -33745,6 +41888,33 @@ "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", "dev": true }, + "string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, "string-width": { "version": "1.0.2", "dev": true, @@ -33851,6 +42021,45 @@ "has-flag": "^3.0.0" } }, + "supports-hyperlinks": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", + "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", + "dev": true, + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, "table": { "version": "5.4.6", "dev": true, @@ -33970,6 +42179,16 @@ } } }, + "terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + }, "terser": { "version": "5.12.1", "resolved": "https://registry.npmjs.org/terser/-/terser-5.12.1.tgz", @@ -34015,6 +42234,12 @@ "version": "0.2.0", "dev": true }, + "throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "dev": true + }, "through": { "version": "2.3.8", "dev": true @@ -34066,6 +42291,12 @@ "os-tmpdir": "~1.0.2" } }, + "tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, "to-fast-properties": { "version": "2.0.0", "dev": true @@ -34124,6 +42355,62 @@ "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", "dev": true }, + "ts-jest": { + "version": "26.5.6", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.5.6.tgz", + "integrity": "sha512-rua+rCP8DxpA8b4DQD/6X2HQS8Zy/xzViVYfEs2OQu68tkCuKLV0Md8pmX55+W24uRIyAsf/BajRfxOs+R2MKA==", + "dev": true, + "requires": { + "bs-logger": "0.x", + "buffer-from": "1.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^26.1.0", + "json5": "2.x", + "lodash": "4.x", + "make-error": "1.x", + "mkdirp": "1.x", + "semver": "7.x", + "yargs-parser": "20.x" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true + } + } + }, "ts-node": { "version": "9.0.0", "dev": true, @@ -34151,7 +42438,9 @@ } }, "tslib": { - "version": "1.9.3", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, "tsutils": { @@ -34416,6 +42705,19 @@ "object.getownpropertydescriptors": "^2.0.3" } }, + "util.promisify": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz", + "integrity": "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "for-each": "^0.3.3", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.1" + } + }, "uuid": { "version": "3.4.0", "dev": true @@ -34424,6 +42726,25 @@ "version": "2.1.1", "dev": true }, + "v8-to-istanbul": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz", + "integrity": "sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true + } + } + }, "validate-npm-package-license": { "version": "3.0.4", "dev": true, @@ -34456,6 +42777,33 @@ "extsprintf": "^1.2.0" } }, + "w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "dev": true, + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, + "requires": { + "xml-name-validator": "^3.0.0" + } + }, + "walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "requires": { + "makeerror": "1.0.12" + } + }, "wcwidth": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", @@ -34471,6 +42819,21 @@ "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", "dev": true }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "requires": { + "iconv-lite": "0.4.24" + } + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, "whatwg-url": { "version": "8.7.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", @@ -34521,10 +42884,6 @@ "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", "dev": true }, - "workerpool": { - "version": "6.1.0", - "dev": true - }, "workspaces-run": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/workspaces-run/-/workspaces-run-1.0.1.tgz", @@ -34783,6 +43142,16 @@ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } } } }, @@ -34879,6 +43248,24 @@ "signal-exit": "^3.0.2" } }, + "ws": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.8.tgz", + "integrity": "sha512-ri1Id1WinAX5Jqn9HejiGb8crfRio0Qgu8+MtL36rlTA6RLsMdWt1Az/19A2Qij6uSHUMphEFaTKa4WG+UNHNw==", + "dev": true + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, "xtend": { "version": "4.0.1", "dev": true @@ -34985,40 +43372,24 @@ "y18n": { "version": "4.0.3", "dev": true + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } } } }, "yargs-parser": { - "version": "18.1.3", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "yargs-unparser": { - "version": "2.0.0", - "dev": true, - "requires": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - }, - "dependencies": { - "camelcase": { - "version": "6.2.0", - "dev": true - }, - "decamelize": { - "version": "4.0.0", - "dev": true - }, - "is-plain-obj": { - "version": "2.1.0", - "dev": true - } - } + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", + "dev": true }, "yauzl": { "version": "2.10.0", @@ -35032,10 +43403,6 @@ "version": "3.1.1", "dev": true }, - "yocto-queue": { - "version": "0.1.0", - "dev": true - }, "z-schema": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-5.0.2.tgz", diff --git a/package.json b/package.json index 88cf2aebac..066aef4bf3 100644 --- a/package.json +++ b/package.json @@ -12,13 +12,11 @@ "clean:dist": "rimraf dist/*", "clean:modules": "lerna clean --yes", "clean": "run-s clean:*", - "floss": "cross-env TS_NODE_PROJECT=tsconfig.tests.json floss -r ts-node/register/transpile-only -p test", - "test": "run-s floss", - "unit-test": "npm run floss -- --", - "unit-test:debug": "npm run floss -- --debug --", - "precoverage": "run-s lint", - "coverage": "nyc run-s floss && nyc report --reporter=html", - "coverage:ci": "run-s coverage && nyc report --reporter=text-lcov > coverage.lcov", + "test:pkg": "ts-node --transpile-only ./test/index.ts", + "test:pkg:debug": "cross-env DEBUG_MODE=1 ts-node --transpile-only ./test/index.ts", + "test": "npx jest --silent", + "test:debug": "cross-env DEBUG_MODE=1 npx jest", + "coverage": "npm run test -- --coverage --maxWorkers=4", "docs": "mkdirp dist && webdoc -R README.md", "lint": "eslint --ext .js --ext .ts test bundles packages scripts --ignore-path .gitignore --max-warnings 0", "lintfix": "run-s \"lint -- --fix\"", @@ -46,19 +44,7 @@ "yarn": "please-use-npm", "npm": ">=7" }, - "nyc": { - "all": true, - "extends": "@istanbuljs/nyc-config-typescript", - "include": [ - "packages/**/src/**" - ], - "exclude": [ - "packages/polyfill/src**" - ], - "report-dir": "dist/coverage" - }, "devDependencies": { - "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "~7.20.1", "@pixi-build-tools/api-extractor-lerna-monorepo": "~1.1.0", "@pixi/eslint-config": "^4.0.1", @@ -70,21 +56,20 @@ "@rollup/plugin-node-resolve": "^9.0.0", "@rollup/plugin-typescript": "^6.0.0", "@types/chai": "^4.3.1", - "@types/mocha": "^8.2.3", - "@types/sinon": "^10.0.11", - "@types/sinon-chai": "^3.2.8", + "@types/jest": "^26.0.0", "@webdoc/cli": "^1.5.5", - "chai": "~4.3.6", "copyfiles": "^2.1.0", "cross-env": "^5.2.0", "electron": "^12.0.0", "eslint": "^7.2.0", "eslint-plugin-jsdoc": "^39.2.9", - "floss": "^5.0.0", "glob": "^7.1.3", + "jest": "^26.0.0", + "jest-electron": "^0.1.12", + "jest-extended": "^1.2.1", + "jest-raw-loader": "^1.0.1", "lerna": "^4.0.0", "npm-run-all": "^4.1.5", - "nyc": "^15.1.0", "pre-commit": "^1.2.2", "rimraf": "^2.6.3", "rollup": "^2.70.1", @@ -93,11 +78,11 @@ "rollup-plugin-string": "^3.0.0", "rollup-plugin-terser": "^7.0.2", "rollup-plugin-typescript": "^1.0.1", - "sinon": "^7.3.2", - "sinon-chai": "^3.3.0", + "ts-jest": "^26.0.0", "ts-node": "^9.0.0", "tsconfig-paths": "^3.10.1", "typescript": "~4.3.0", - "workspaces-run": "^1.0.1" + "workspaces-run": "^1.0.1", + "yargs-parser": "^21.0.1" } } diff --git a/packages/accessibility/test/AccessibilityManager.tests.ts b/packages/accessibility/test/AccessibilityManager.tests.ts index 552d520997..b6ada993d5 100644 --- a/packages/accessibility/test/AccessibilityManager.tests.ts +++ b/packages/accessibility/test/AccessibilityManager.tests.ts @@ -3,20 +3,24 @@ import { CanvasRenderer } from '@pixi/canvas-renderer'; import { DisplayObject, Container } from '@pixi/display'; import { extensions, Renderer } from '@pixi/core'; import { isMobile } from '@pixi/utils'; -import { expect } from 'chai'; describe('AccessibilityManager', () => { + beforeAll(() => + { + extensions.add(AccessibilityManager); + }); + it('should exist', () => { - expect(AccessibilityManager).to.be.not.undefined; + expect(AccessibilityManager).toBeDefined(); }); it('should create new manager', () => { const manager = new AccessibilityManager(undefined); - expect(manager).to.be.instanceof(AccessibilityManager); + expect(manager).toBeInstanceOf(AccessibilityManager); manager.destroy(); }); @@ -26,7 +30,7 @@ describe('AccessibilityManager', () => const renderer = new CanvasRenderer(); - expect(renderer.plugins.accessibility).to.be.instanceof(AccessibilityManager); + expect(renderer.plugins.accessibility).toBeInstanceOf(AccessibilityManager); renderer.destroy(); extensions.remove(AccessibilityManager); @@ -40,10 +44,10 @@ describe('AccessibilityManager', () => const manager = new AccessibilityManager(undefined); const hookDiv = manager['_hookDiv']; - expect(hookDiv).to.be.instanceof(HTMLElement); - expect(document.body.contains(hookDiv)).to.be.true; + expect(hookDiv).toBeInstanceOf(HTMLElement); + expect(document.body.contains(hookDiv)).toBe(true); manager.destroy(); - expect(document.body.contains(hookDiv)).to.be.false; + expect(document.body.contains(hookDiv)).toBe(false); isMobile.phone = phone; }); @@ -53,9 +57,12 @@ describe('AccessibilityManager', () => const manager = new AccessibilityManager(renderer); globalThis.dispatchEvent(new KeyboardEvent('keydown', { keyCode: 9, key: 'tab' })); - expect(manager.isActive).to.be.true; - globalThis.document.dispatchEvent(new MouseEvent('mousemove', { movementX: 10, movementY: 10 })); - expect(manager.isActive).to.be.false; + setTimeout(() => + { + expect(manager.isActive).toBe(true); + globalThis.document.dispatchEvent(new MouseEvent('mousemove', { movementX: 10, movementY: 10 })); + expect(manager.isActive).toBe(false); + }, 0); }); it('should not crash when scene graph contains DisplayObjects without children', () => @@ -73,7 +80,10 @@ describe('AccessibilityManager', () => globalThis.dispatchEvent(new KeyboardEvent('keydown', { keyCode: 9, key: 'tab' })); - expect(() => renderer.render(stage)).not.to.throw(); - expect(manager.isActive).to.be.true; + expect(() => renderer.render(stage)).not.toThrowError(); + setTimeout(() => + { + expect(manager.isActive).toBe(true); + }, 0); }); }); diff --git a/packages/accessibility/test/accessibleTarget.tests.ts b/packages/accessibility/test/accessibleTarget.tests.ts index 2199f4bb04..37b45327f6 100644 --- a/packages/accessibility/test/accessibleTarget.tests.ts +++ b/packages/accessibility/test/accessibleTarget.tests.ts @@ -1,6 +1,4 @@ import { DisplayObject } from '@pixi/display'; -import { expect } from 'chai'; - import '@pixi/accessibility'; describe('accessibleTarget', () => @@ -10,10 +8,10 @@ describe('accessibleTarget', () => // @ts-expect-error --- const obj = new DisplayObject(); - expect(obj.accessible).to.be.a('boolean'); - expect(obj.accessible).to.be.false; - expect(obj.accessibleTitle).to.be.null; - expect(obj.accessibleHint).to.be.null; - expect(obj.tabIndex).to.equal(0); + expect(obj.accessible).toBeBoolean(); + expect(obj.accessible).toBe(false); + expect(obj.accessibleTitle).toBeNull(); + expect(obj.accessibleHint).toBeNull(); + expect(obj.tabIndex).toEqual(0); }); }); diff --git a/packages/app/test/Application.tests.ts b/packages/app/test/Application.tests.ts index 2ff2efa430..c8d60530d8 100644 --- a/packages/app/test/Application.tests.ts +++ b/packages/app/test/Application.tests.ts @@ -2,8 +2,6 @@ import { Application } from '@pixi/app'; import { extensions, ExtensionType } from '@pixi/core'; import { Container } from '@pixi/display'; import { skipHello } from '@pixi/utils'; -import { expect } from 'chai'; -import sinon from 'sinon'; skipHello(); @@ -11,23 +9,23 @@ describe('Application', () => { it('should generate application', () => { - expect(Application).to.be.a('function'); + expect(Application).toBeInstanceOf(Function); const app = new Application(); - expect(app.stage).to.be.instanceof(Container); - expect(app.renderer).to.be.ok; + expect(app.stage).toBeInstanceOf(Container); + expect(app.renderer).toBeTruthy(); app.destroy(); - expect(app.stage).to.be.null; - expect(app.renderer).to.be.null; + expect(app.stage).toBeNull(); + expect(app.renderer).toBeNull(); }); it('register a new plugin, then destroy it', () => { const plugin = { - init: sinon.spy(), - destroy: sinon.spy(), + init: jest.fn(), + destroy: jest.fn(), }; const extension = { type: ExtensionType.Application, ref: plugin }; @@ -37,8 +35,8 @@ describe('Application', () => app.destroy(); - expect(plugin.init).to.be.calledOnce; - expect(plugin.destroy).to.be.calledOnce; + expect(plugin.init).toHaveBeenCalledOnce(); + expect(plugin.destroy).toHaveBeenCalledOnce(); extensions.remove(extension); }); @@ -48,12 +46,12 @@ describe('Application', () => const app = new Application(); const view = app.view; - expect(view).to.be.instanceof(HTMLCanvasElement); + expect(view).toBeInstanceOf(HTMLCanvasElement); document.body.appendChild(view); - expect(document.body.contains(view)).to.be.true; + expect(document.body.contains(view)).toBe(true); app.destroy(true); - expect(document.body.contains(view)).to.be.false; + expect(document.body.contains(view)).toBe(false); }); it('should not destroy children by default', () => @@ -65,7 +63,7 @@ describe('Application', () => stage.addChild(child); app.destroy(true); - expect(child.transform).to.not.be.null; + expect(child.transform).not.toBeNull(); }); it('should allow children destroy', () => @@ -77,14 +75,14 @@ describe('Application', () => stage.addChild(child); app.destroy(true, true); - expect(child.transform).to.be.null; + expect(child.transform).toBeNull(); }); describe('resizeTo', () => { let div: HTMLDivElement; - before(() => + beforeAll(() => { div = document.createElement('div'); @@ -93,7 +91,7 @@ describe('Application', () => document.body.appendChild(div); }); - after(() => + afterAll(() => { div.parentNode.removeChild(div); div = null; @@ -105,15 +103,15 @@ describe('Application', () => resizeTo: div, }); - expect(app.resizeTo).to.equal(div); - expect(app.view.width).to.equal(100); - expect(app.view.height).to.equal(200); + expect(app.resizeTo).toEqual(div); + expect(app.view.width).toEqual(100); + expect(app.view.height).toEqual(200); app.destroy(); }); it('should force multiple immediate resizes', () => { - const spy = sinon.spy(); + const spy = jest.fn(); const app = new Application({ resizeTo: div, }); @@ -123,14 +121,14 @@ describe('Application', () => app.resize(); app.resize(); - expect(spy.calledTwice).to.be.true; + expect(spy).toBeCalledTimes(2); app.destroy(); }); it('should throttle multiple resizes', (done) => { - const spy = sinon.spy(); + const spy = jest.fn(); const app = new Application({ resizeTo: div, }); @@ -141,7 +139,7 @@ describe('Application', () => setTimeout(() => { - expect(spy.calledOnce).to.be.true; + expect(spy).toBeCalledTimes(1); app.destroy(); done(); }, 50); @@ -149,7 +147,7 @@ describe('Application', () => it('should cancel resize on destroy', (done) => { - const spy = sinon.spy(); + const spy = jest.fn(); const app = new Application({ resizeTo: div, }); @@ -160,14 +158,14 @@ describe('Application', () => requestAnimationFrame(() => { - expect(spy.called).to.be.false; + expect(spy).not.toBeCalled(); done(); }); }); it('should resize cancel resize queue', (done) => { - const spy = sinon.spy(); + const spy = jest.fn(); const app = new Application({ resizeTo: div, }); @@ -179,7 +177,7 @@ describe('Application', () => requestAnimationFrame(() => { - expect(spy.calledOnce).to.be.true; + expect(spy).toBeCalledTimes(1); done(); }); }); @@ -191,8 +189,8 @@ describe('Application', () => resizeTo: div, }); - expect(app.view.width).to.equal(200); - expect(app.view.height).to.equal(400); + expect(app.view.width).toEqual(200); + expect(app.view.height).toEqual(400); app.destroy(); }); @@ -204,10 +202,10 @@ describe('Application', () => autoDensity: true, }); - expect(app.view.width).to.equal(200); - expect(app.view.height).to.equal(400); - expect(app.view.style.width).to.equal(div.style.width); - expect(app.view.style.height).to.equal(div.style.height); + expect(app.view.width).toEqual(200); + expect(app.view.height).toEqual(400); + expect(app.view.style.width).toEqual(div.style.width); + expect(app.view.style.height).toEqual(div.style.height); app.destroy(); }); }); diff --git a/packages/canvas-display/test/Container.tests.ts b/packages/canvas-display/test/Container.tests.ts index 1a26c023cc..bfe30c8b7d 100644 --- a/packages/canvas-display/test/Container.tests.ts +++ b/packages/canvas-display/test/Container.tests.ts @@ -1,7 +1,4 @@ import { Container } from '@pixi/display'; -import sinon from 'sinon'; -import { expect } from 'chai'; - import '@pixi/canvas-display'; describe('Container', () => @@ -11,46 +8,46 @@ describe('Container', () => it('should not render when object not visible', () => { const container = new Container(); - const canvasSpy = sinon.spy(container._renderCanvas); + const canvasSpy = jest.spyOn(container, '_renderCanvas'); container.visible = false; container.renderCanvas(undefined); - expect(canvasSpy).to.not.have.been.called; + expect(canvasSpy).not.toBeCalled(); }); it('should not render when alpha is zero', () => { const container = new Container(); - const canvasSpy = sinon.spy(container._renderCanvas); + const canvasSpy = jest.spyOn(container, '_renderCanvas'); container.worldAlpha = 0; container.renderCanvas(undefined); - expect(canvasSpy).to.not.have.been.called; + expect(canvasSpy).not.toBeCalled(); }); it('should not render when object not renderable', () => { const container = new Container(); - const canvasSpy = sinon.spy(container._renderCanvas); + const canvasSpy = jest.spyOn(container, '_renderCanvas'); container.renderable = false; container.renderCanvas(undefined); - expect(canvasSpy).to.not.have.been.called; + expect(canvasSpy).not.toBeCalled(); }); it('should render children', () => { const container = new Container(); const child = new Container(); - const canvasSpy = sinon.spy(child, '_renderCanvas'); + const canvasSpy = jest.spyOn(child, '_renderCanvas'); container.addChild(child); container.renderCanvas(undefined); - expect(canvasSpy).to.have.been.called; + expect(canvasSpy).toBeCalled(); }); }); }); diff --git a/packages/canvas-extract/test/CanvasExtract.tests.ts b/packages/canvas-extract/test/CanvasExtract.tests.ts index d10a469957..11ecafa6f3 100644 --- a/packages/canvas-extract/test/CanvasExtract.tests.ts +++ b/packages/canvas-extract/test/CanvasExtract.tests.ts @@ -1,7 +1,6 @@ import { CanvasExtract } from '@pixi/canvas-extract'; import { CanvasRenderer } from '@pixi/canvas-renderer'; import { Sprite } from '@pixi/sprite'; -import { expect } from 'chai'; import { skipHello } from '@pixi/utils'; import { Texture, RenderTexture, extensions } from '@pixi/core'; import { CanvasSpriteRenderer } from '@pixi/canvas-sprite'; @@ -12,14 +11,14 @@ skipHello(); describe('CanvasExtract', () => { - before(() => extensions.add(CanvasExtract, CanvasSpriteRenderer)); - after(() => extensions.remove(CanvasExtract, CanvasSpriteRenderer)); + beforeAll(() => extensions.add(CanvasExtract, CanvasSpriteRenderer)); + afterAll(() => extensions.remove(CanvasExtract, CanvasSpriteRenderer)); it('should access extract on renderer', () => { const renderer = new CanvasRenderer(); - expect(renderer.plugins.extract).to.be.an.instanceof(CanvasExtract); + expect(renderer.plugins.extract).toBeInstanceOf(CanvasExtract); renderer.destroy(); }); @@ -30,10 +29,10 @@ describe('CanvasExtract', () => const sprite = new Sprite(Texture.WHITE); const extract = renderer.plugins.extract as CanvasExtract; - expect(extract.canvas(sprite)).to.be.an.instanceof(HTMLCanvasElement); - expect(extract.base64(sprite)).to.be.a('string'); - expect(extract.pixels(sprite)).to.be.instanceOf(Uint8ClampedArray); - expect(extract.image(sprite)).to.be.instanceOf(HTMLImageElement); + expect(extract.canvas(sprite)).toBeInstanceOf(HTMLCanvasElement); + expect(extract.base64(sprite)).toBeString(); + expect(extract.pixels(sprite)).toBeInstanceOf(Uint8ClampedArray); + expect(extract.image(sprite)).toBeInstanceOf(HTMLImageElement); renderer.destroy(); sprite.destroy(); @@ -44,10 +43,10 @@ describe('CanvasExtract', () => const renderer = new CanvasRenderer(); const extract = renderer.plugins.extract as CanvasExtract; - expect(extract.canvas()).to.be.an.instanceof(HTMLCanvasElement); - expect(extract.base64()).to.be.a('string'); - expect(extract.pixels()).to.be.instanceOf(Uint8ClampedArray); - expect(extract.image()).to.be.instanceOf(HTMLImageElement); + expect(extract.canvas()).toBeInstanceOf(HTMLCanvasElement); + expect(extract.base64()).toBeString(); + expect(extract.pixels()).toBeInstanceOf(Uint8ClampedArray); + expect(extract.image()).toBeInstanceOf(HTMLImageElement); renderer.destroy(); }); @@ -61,10 +60,10 @@ describe('CanvasExtract', () => renderer.render(sprite, { renderTexture }); - expect(extract.canvas(renderTexture)).to.be.an.instanceof(HTMLCanvasElement); - expect(extract.base64(renderTexture)).to.be.a('string'); - expect(extract.pixels(renderTexture)).to.be.instanceOf(Uint8ClampedArray); - expect(extract.image(renderTexture)).to.be.instanceOf(HTMLImageElement); + expect(extract.canvas(renderTexture)).toBeInstanceOf(HTMLCanvasElement); + expect(extract.base64(renderTexture)).toBeString(); + expect(extract.pixels(renderTexture)).toBeInstanceOf(Uint8ClampedArray); + expect(extract.image(renderTexture)).toBeInstanceOf(HTMLImageElement); renderer.destroy(); renderTexture.destroy(); diff --git a/packages/canvas-graphics/test/CanvasGraphicsRenderer.tests.ts b/packages/canvas-graphics/test/CanvasGraphicsRenderer.tests.ts index 27f32a101d..4c7b75f308 100644 --- a/packages/canvas-graphics/test/CanvasGraphicsRenderer.tests.ts +++ b/packages/canvas-graphics/test/CanvasGraphicsRenderer.tests.ts @@ -2,7 +2,7 @@ import { BaseTexture, Texture } from '@pixi/core'; import { Graphics } from '@pixi/graphics'; import { CanvasRenderer } from '@pixi/canvas-renderer'; import { CanvasGraphicsRenderer } from '@pixi/canvas-graphics'; -import { expect } from 'chai'; +import '@pixi/canvas-display'; describe('CanvasGraphicsRenderer', () => { @@ -21,7 +21,7 @@ describe('CanvasGraphicsRenderer', () => try { renderer.render(graphics); - expect(Texture.WHITE.patternCache).to.be.null; + expect(Texture.WHITE.patternCache).toBeNull(); } finally { @@ -50,7 +50,7 @@ describe('CanvasGraphicsRenderer', () => try { renderer.render(graphics); - expect(Object.keys(myTex.patternCache).length).equal(1); + expect(Object.keys(myTex.patternCache).length).toEqual(1); } finally { diff --git a/packages/canvas-graphics/test/PolygonUtils.tests.ts b/packages/canvas-graphics/test/PolygonUtils.tests.ts index 3a6df72539..f785f55b44 100644 --- a/packages/canvas-graphics/test/PolygonUtils.tests.ts +++ b/packages/canvas-graphics/test/PolygonUtils.tests.ts @@ -1,5 +1,4 @@ import { PolygonUtils } from '../src/utils/PolygonUtils'; -import { expect } from 'chai'; describe('PolygonUtils', () => { @@ -20,19 +19,19 @@ describe('PolygonUtils', () => const cwSquare3 = [1, 0, 0, 0, 0, 1, 1, 1]; const cwSquare4 = [0, 0, 0, 1, 1, 1, 1, 0]; - expect(PolygonUtils.isPolygonClockwise(cwTriangle1)).to.be.true; - expect(PolygonUtils.isPolygonClockwise(cwTriangle2)).to.be.true; - expect(PolygonUtils.isPolygonClockwise(cwTriangle3)).to.be.true; - expect(PolygonUtils.isPolygonClockwise(cwSquare1)).to.be.true; - expect(PolygonUtils.isPolygonClockwise(cwSquare2)).to.be.true; - expect(PolygonUtils.isPolygonClockwise(cwSquare3)).to.be.true; - expect(PolygonUtils.isPolygonClockwise(cwSquare4)).to.be.true; - expect(PolygonUtils.isPolygonClockwise(ccwTriangle1)).to.be.false; - expect(PolygonUtils.isPolygonClockwise(ccwTriangle2)).to.be.false; - expect(PolygonUtils.isPolygonClockwise(ccwTriangle3)).to.be.false; - expect(PolygonUtils.isPolygonClockwise(ccwSquare1)).to.be.false; - expect(PolygonUtils.isPolygonClockwise(ccwSquare2)).to.be.false; - expect(PolygonUtils.isPolygonClockwise(ccwSquare3)).to.be.false; - expect(PolygonUtils.isPolygonClockwise(ccwSquare4)).to.be.false; + expect(PolygonUtils.isPolygonClockwise(cwTriangle1)).toBe(true); + expect(PolygonUtils.isPolygonClockwise(cwTriangle2)).toBe(true); + expect(PolygonUtils.isPolygonClockwise(cwTriangle3)).toBe(true); + expect(PolygonUtils.isPolygonClockwise(cwSquare1)).toBe(true); + expect(PolygonUtils.isPolygonClockwise(cwSquare2)).toBe(true); + expect(PolygonUtils.isPolygonClockwise(cwSquare3)).toBe(true); + expect(PolygonUtils.isPolygonClockwise(cwSquare4)).toBe(true); + expect(PolygonUtils.isPolygonClockwise(ccwTriangle1)).toBe(false); + expect(PolygonUtils.isPolygonClockwise(ccwTriangle2)).toBe(false); + expect(PolygonUtils.isPolygonClockwise(ccwTriangle3)).toBe(false); + expect(PolygonUtils.isPolygonClockwise(ccwSquare1)).toBe(false); + expect(PolygonUtils.isPolygonClockwise(ccwSquare2)).toBe(false); + expect(PolygonUtils.isPolygonClockwise(ccwSquare3)).toBe(false); + expect(PolygonUtils.isPolygonClockwise(ccwSquare4)).toBe(false); }); }); diff --git a/packages/canvas-mesh/test/NineSlicePlane.tests.ts b/packages/canvas-mesh/test/NineSlicePlane.tests.ts index 7ccaa41555..dfe7ec966f 100644 --- a/packages/canvas-mesh/test/NineSlicePlane.tests.ts +++ b/packages/canvas-mesh/test/NineSlicePlane.tests.ts @@ -5,19 +5,18 @@ import { NineSlicePlane } from '@pixi/mesh-extras'; import '@pixi/canvas-display'; import { CanvasSpriteRenderer } from '@pixi/canvas-sprite'; import { CanvasMeshRenderer } from '@pixi/canvas-mesh'; -import { expect } from 'chai'; describe('NineSlicePlane', () => { let renderer: CanvasRenderer; - before(() => + beforeAll(() => { extensions.add(CanvasSpriteRenderer, CanvasMeshRenderer, BatchRenderer); renderer = new CanvasRenderer(); }); - after(() => + afterAll(() => { extensions.remove(CanvasSpriteRenderer, CanvasMeshRenderer, BatchRenderer); renderer.destroy(); @@ -34,6 +33,6 @@ describe('NineSlicePlane', () => const nineSlicePlane = new NineSlicePlane(rt, 1, 1, 1, 1); - expect(() => { renderer.render(nineSlicePlane); }).to.not.throw(); + expect(() => { renderer.render(nineSlicePlane); }).not.toThrowError(); }); }); diff --git a/packages/canvas-renderer/test/CanvasMaskManager.tests.ts b/packages/canvas-renderer/test/CanvasMaskManager.tests.ts index 4d19825c11..13b00aba2d 100644 --- a/packages/canvas-renderer/test/CanvasMaskManager.tests.ts +++ b/packages/canvas-renderer/test/CanvasMaskManager.tests.ts @@ -2,21 +2,20 @@ import { Container } from '@pixi/display'; import { Graphics } from '@pixi/graphics'; import { Sprite } from '@pixi/sprite'; import { CanvasRenderer } from '@pixi/canvas-renderer'; -import sinon from 'sinon'; -import { expect } from 'chai'; +import '@pixi/canvas-display'; describe('CanvasMaskManager', () => { it('should work on all graphics masks inside container', () => { const renderer = new CanvasRenderer({ width: 1, height: 1 }); - const shapeSpy = sinon.spy(renderer.maskManager, 'renderGraphicsShape'); - const contextPath = sinon.spy(renderer.context, 'closePath'); + const shapeSpy = jest.spyOn(renderer.maskManager, 'renderGraphicsShape'); + const contextPath = jest.spyOn(renderer.context, 'closePath'); const cont = new Container(); cont.mask = new Sprite(); - expect(() => { renderer.render(cont); }).to.not.throw(); - expect(shapeSpy).to.not.called; + expect(() => { renderer.render(cont); }).not.toThrowError(); + expect(shapeSpy).not.toBeCalled(); const graphics1 = new Graphics(); const graphics2 = new Graphics(); @@ -30,20 +29,20 @@ describe('CanvasMaskManager', () => cont.mask.addChild(graphics1, graphics2); cont.addChild(cont.mask); - expect(() => { renderer.render(cont); }).to.not.throw(); - expect(shapeSpy).to.calledTwice; - expect(contextPath).to.calledTwice; + expect(() => { renderer.render(cont); }).not.toThrowError(); + expect(shapeSpy).toBeCalledTimes(2); + expect(contextPath).toBeCalledTimes(2); cont.mask.removeChildren(); cont.mask = graphics1; - expect(() => { renderer.render(cont); }).to.not.throw(); - expect(shapeSpy).to.calledThrice; - expect(contextPath).to.calledThrice; + expect(() => { renderer.render(cont); }).not.toThrowError(); + expect(shapeSpy).toBeCalledTimes(3); + expect(contextPath).toBeCalledTimes(3); }); it('should set correct transform for graphics', () => { const renderer = new CanvasRenderer({ width: 1, height: 1 }); - const transformSpy = sinon.spy(renderer.context, 'setTransform'); + const transformSpy = jest.spyOn(renderer.context, 'setTransform'); const cont = new Container(); const graphics1 = new Graphics(); const graphics2 = new Graphics(); @@ -60,9 +59,9 @@ describe('CanvasMaskManager', () => cont.mask.addChild(graphics1, graphics2); cont.addChild(cont.mask); - expect(() => { renderer.render(cont); }).to.not.throw(); - expect(transformSpy).to.calledThrice; - expect(transformSpy.args[1][0]).to.equal(2.0); - expect(transformSpy.args[2][0]).to.equal(3.0); + expect(() => { renderer.render(cont); }).not.toThrowError(); + expect(transformSpy).toBeCalledTimes(3); + expect(transformSpy.mock.calls[1][0]).toEqual(2); + expect(transformSpy.mock.calls[2][0]).toEqual(3); }); }); diff --git a/packages/canvas-renderer/test/CanvasRenderer.tests.ts b/packages/canvas-renderer/test/CanvasRenderer.tests.ts index 1b20942b45..d0312aeab6 100644 --- a/packages/canvas-renderer/test/CanvasRenderer.tests.ts +++ b/packages/canvas-renderer/test/CanvasRenderer.tests.ts @@ -1,7 +1,7 @@ import { Container } from '@pixi/display'; import { Matrix } from '@pixi/math'; import { CanvasRenderer } from '@pixi/canvas-renderer'; -import { expect } from 'chai'; +import '@pixi/canvas-display'; describe('CanvasRenderer', () => { @@ -11,7 +11,7 @@ describe('CanvasRenderer', () => try { - expect(renderer.context).to.equal(renderer.rootContext); + expect(renderer.context).toEqual(renderer.rootContext); } finally { @@ -44,15 +44,15 @@ describe('CanvasRenderer', () => par.addChild(cont); renderer.render(cont, { transform: new Matrix().translate(10, 20) }); - expect(cont.worldTransform.tx).to.equal(0); - expect(cont.worldTransform.ty).to.equal(0); + expect(cont.worldTransform.tx).toEqual(0); + expect(cont.worldTransform.ty).toEqual(0); renderer.render(par); - expect(cont.worldTransform.tx).to.equal(5); - expect(cont.worldTransform.ty).to.equal(10); + expect(cont.worldTransform.tx).toEqual(5); + expect(cont.worldTransform.ty).toEqual(10); renderer.render(cont, { transform: new Matrix().translate(-20, 30) }); - expect(cont.worldTransform.tx).to.equal(0); - expect(cont.worldTransform.ty).to.equal(0); + expect(cont.worldTransform.tx).toEqual(0); + expect(cont.worldTransform.ty).toEqual(0); }); }); diff --git a/packages/canvas-sprite/test/CanvasSpriteRenderer.tests.ts b/packages/canvas-sprite/test/CanvasSpriteRenderer.tests.ts index 790e6bd9f1..5098bd9562 100644 --- a/packages/canvas-sprite/test/CanvasSpriteRenderer.tests.ts +++ b/packages/canvas-sprite/test/CanvasSpriteRenderer.tests.ts @@ -1,16 +1,16 @@ -import { BatchRenderer, CanvasResource, extensions, Texture, BaseTexture } from '@pixi/core'; -import { Sprite } from '@pixi/sprite'; +import '@pixi/canvas-display'; import { CanvasRenderer } from '@pixi/canvas-renderer'; -import { expect } from 'chai'; import { CanvasSpriteRenderer } from '@pixi/canvas-sprite'; -import { Container } from '@pixi/display'; import { MIPMAP_MODES, SCALE_MODES } from '@pixi/constants'; +import { BaseTexture, BatchRenderer, CanvasResource, extensions, Texture } from '@pixi/core'; +import { Container } from '@pixi/display'; import { Rectangle } from '@pixi/math'; +import { Sprite } from '@pixi/sprite'; describe('CanvasSpriteRenderer', () => { - before(() => extensions.add(CanvasSpriteRenderer, BatchRenderer)); - after(() => extensions.remove(CanvasSpriteRenderer, BatchRenderer)); + beforeAll(() => extensions.add(CanvasSpriteRenderer, BatchRenderer)); + afterAll(() => extensions.remove(CanvasSpriteRenderer, BatchRenderer)); it('should still render a sprite after texture is destroyed', () => { @@ -23,7 +23,7 @@ describe('CanvasSpriteRenderer', () => try { - expect(() => { renderer.render(sprite); }).to.not.throw(); + expect(() => { renderer.render(sprite); }).not.toThrowError(); } finally { @@ -72,14 +72,14 @@ describe('CanvasSpriteRenderer', () => const pixels = ctx.getImageData(0, 0, 2 * scale, Number(scale)).data; - expect(pixels[0]).to.equal(255); - expect(pixels[1]).to.equal(0); - expect(pixels[2]).to.equal(0); - expect(pixels[3]).to.equal(255); + expect(pixels[0]).toEqual(255); + expect(pixels[1]).toEqual(0); + expect(pixels[2]).toEqual(0); + expect(pixels[3]).toEqual(255); - expect(pixels[8]).to.equal(0); - expect(pixels[9]).to.equal(255); - expect(pixels[10]).to.equal(0); - expect(pixels[11]).to.equal(255); + expect(pixels[8]).toEqual(0); + expect(pixels[9]).toEqual(255); + expect(pixels[10]).toEqual(0); + expect(pixels[11]).toEqual(255); }); }); diff --git a/packages/constants/test/constants.tests.ts b/packages/constants/test/constants.tests.ts index 259e37f366..86538505e4 100644 --- a/packages/constants/test/constants.tests.ts +++ b/packages/constants/test/constants.tests.ts @@ -1,70 +1,69 @@ import * as lib from '@pixi/constants'; -import { expect } from 'chai'; describe('Constants', () => { it('should have ENV', () => { - expect(lib.ENV).to.be.an('object'); + expect(lib.ENV).toBeObject(); }); it('should have RENDERER_TYPE', () => { - expect(lib.RENDERER_TYPE).to.be.an('object'); + expect(lib.RENDERER_TYPE).toBeObject(); }); it('should have BLEND_MODES', () => { - expect(lib.RENDERER_TYPE).to.be.an('object'); + expect(lib.RENDERER_TYPE).toBeObject(); }); it('should have DRAW_MODES', () => { - expect(lib.DRAW_MODES).to.be.an('object'); + expect(lib.DRAW_MODES).toBeObject(); }); it('should have FORMATS', () => { - expect(lib.FORMATS).to.be.an('object'); + expect(lib.FORMATS).toBeObject(); }); it('should have TARGETS', () => { - expect(lib.TARGETS).to.be.an('object'); + expect(lib.TARGETS).toBeObject(); }); it('should have TYPES', () => { - expect(lib.TYPES).to.be.an('object'); + expect(lib.TYPES).toBeObject(); }); it('should have SCALE_MODES', () => { - expect(lib.SCALE_MODES).to.be.an('object'); + expect(lib.SCALE_MODES).toBeObject(); }); it('should have WRAP_MODES', () => { - expect(lib.WRAP_MODES).to.be.an('object'); + expect(lib.WRAP_MODES).toBeObject(); }); it('should have MIPMAP_MODES', () => { - expect(lib.MIPMAP_MODES).to.be.an('object'); + expect(lib.MIPMAP_MODES).toBeObject(); }); it('should have ALPHA_MODES', () => { - expect(lib.ALPHA_MODES).to.be.an('object'); + expect(lib.ALPHA_MODES).toBeObject(); }); it('should have GC_MODES', () => { - expect(lib.GC_MODES).to.be.an('object'); + expect(lib.GC_MODES).toBeObject(); }); it('should have PRECISION', () => { - expect(lib.PRECISION).to.be.an('object'); + expect(lib.PRECISION).toBeObject(); }); }); diff --git a/packages/core/test/ArrayResource.tests.ts b/packages/core/test/ArrayResource.tests.ts index bf5719a31b..e30914b367 100644 --- a/packages/core/test/ArrayResource.tests.ts +++ b/packages/core/test/ArrayResource.tests.ts @@ -1,14 +1,12 @@ import { ArrayResource, BaseTexture, ImageResource } from '@pixi/core'; import { join } from 'path'; -import sinon from 'sinon'; -import { expect } from 'chai'; describe('ArrayResource', () => { let basePath: string; let imageUrl: string; - before(() => + beforeAll(() => { basePath = join(__dirname, 'resources'); imageUrl = join(basePath, 'slug.png'); @@ -19,7 +17,7 @@ describe('ArrayResource', () => const resource = new ArrayResource(5, { width: 100, height: 100 }); resource.destroy(); - expect(resource.destroyed).to.be.true; + expect(resource.destroyed).toBe(true); }); it('should error on out of bound', () => @@ -27,7 +25,7 @@ describe('ArrayResource', () => const resource = new ArrayResource(5, { width: 100, height: 100 }); const image = new ImageResource(imageUrl); - expect(() => resource.addResourceAt(image, 10)).to.throw(Error, /out of bounds/); + expect(() => resource.addResourceAt(image, 10)).toThrowWithMessage(Error, 'Index 10 is out of bounds'); resource.destroy(); }); @@ -46,24 +44,23 @@ describe('ArrayResource', () => height: 100, }); const baseTexture = { - setRealSize: sinon.stub(), - update: sinon.stub(), + setRealSize: jest.fn(), + update: jest.fn(), } as unknown as BaseTexture; resource.bind(baseTexture); return resource.load().then((res) => { - expect(res).to.equal(resource); - // @ts-expect-error - issue with sinon typings - expect(baseTexture.setRealSize.calledOnce).to.be.true; + expect(res).toEqual(resource); + expect(baseTexture.setRealSize).toBeCalledTimes(1); for (let i = 0; i < images.length; i++) { const item = resource.items[i].resource; - expect(item.valid).to.be.true; - expect(item.width).to.equal(100); - expect(item.height).to.equal(100); + expect(item.valid).toBe(true); + expect(item.width).toEqual(100); + expect(item.height).toEqual(100); } resource.unbind(baseTexture); resource.destroy(); diff --git a/packages/core/test/BaseTexture.tests.ts b/packages/core/test/BaseTexture.tests.ts index a107a2c990..ba40067565 100644 --- a/packages/core/test/BaseTexture.tests.ts +++ b/packages/core/test/BaseTexture.tests.ts @@ -1,7 +1,6 @@ import { BaseTextureCache, TextureCache } from '@pixi/utils'; import { BaseTexture, Texture, RenderTexture, ImageResource, SVGResource, VideoResource } from '@pixi/core'; import { settings } from '@pixi/settings'; -import { expect } from 'chai'; const URL = 'foo.png'; const NAME = 'foo'; @@ -20,22 +19,6 @@ function cleanCache() describe('BaseTexture', () => { - /* - describe('updateImageType', () => - { - it('should allow no extension', () => - { - cleanCache(); - - const baseTexture = new BaseTexture(); - - baseTexture.imageUrl = 'http://some.domain.org/100/100'; - baseTexture._updateImageType(); - - expect(baseTexture.imageType).to.be.equals('png'); - }); - }); - */ interface PixiCanvas extends HTMLCanvasElement { _pixiId: string; @@ -50,9 +33,9 @@ describe('BaseTexture', () => baseTexture.once('error', (baseTexture, event) => { - expect(baseTexture.resource).to.be.instanceof(ImageResource); - expect(baseTexture.resource.url).contains(invalidFile); - expect(event.type).to.equal('error'); + expect(baseTexture.resource).toBeInstanceOf(ImageResource); + expect(baseTexture.resource.url).toInclude(invalidFile); + expect(event.type).toEqual('error'); baseTexture.destroy(); done(); }); @@ -67,9 +50,9 @@ describe('BaseTexture', () => baseTexture.once('error', (baseTexture, event) => { - expect(baseTexture.resource).to.be.instanceof(SVGResource); - expect(baseTexture.resource.svg).contains(invalidFile); - expect(event.type).to.equal('error'); + expect(baseTexture.resource).toBeInstanceOf(SVGResource); + expect(baseTexture.resource.svg).toInclude(invalidFile); + expect(event.type).toEqual('error'); baseTexture.destroy(); done(); }); @@ -84,9 +67,9 @@ describe('BaseTexture', () => baseTexture.once('error', (baseTexture, event) => { - expect(baseTexture.resource).to.be.instanceof(VideoResource); - expect(baseTexture.resource.source.firstChild.src).contains(invalidFile); - expect(event.type).to.equal('error'); + expect(baseTexture.resource).toBeInstanceOf(VideoResource); + expect(baseTexture.resource.source.firstChild.src).toInclude(invalidFile); + expect(event.type).toEqual('error'); baseTexture.destroy(); done(); }); @@ -100,9 +83,9 @@ describe('BaseTexture', () => const baseTexture = BaseTexture.from(canvas, { pixiIdPrefix: 'unittest' }); const _pixiId = canvas._pixiId; - expect(_pixiId.indexOf('unittest_')).to.equal(0); - expect(baseTexture.textureCacheIds.indexOf(_pixiId)).to.equal(0); - expect(BaseTextureCache[_pixiId]).to.equal(baseTexture); + expect(_pixiId.indexOf('unittest_')).toEqual(0); + expect(baseTexture.textureCacheIds.indexOf(_pixiId)).toEqual(0); + expect(BaseTextureCache[_pixiId]).toEqual(baseTexture); }); it('should remove Canvas BaseTexture from cache on destroy', () => @@ -113,11 +96,11 @@ describe('BaseTexture', () => const baseTexture = BaseTexture.from(canvas); const _pixiId = canvas._pixiId; - expect(baseTexture.textureCacheIds.indexOf(_pixiId)).to.equal(0); - expect(BaseTextureCache[_pixiId]).to.equal(baseTexture); + expect(baseTexture.textureCacheIds.indexOf(_pixiId)).toEqual(0); + expect(BaseTextureCache[_pixiId]).toEqual(baseTexture); baseTexture.destroy(); - expect(baseTexture.textureCacheIds).to.equal(null); - expect(BaseTextureCache[_pixiId]).to.equal(undefined); + expect(baseTexture.textureCacheIds).toEqual(null); + expect(BaseTextureCache[_pixiId]).toEqual(undefined); }); it('should remove Image BaseTexture from cache on destroy', (done) => @@ -131,13 +114,13 @@ describe('BaseTexture', () => Texture.fromLoader(image, URL, NAME).then((texture) => { - expect(texture.baseTexture.textureCacheIds.indexOf(NAME)).to.equal(0); - expect(texture.baseTexture.textureCacheIds.indexOf(URL)).to.equal(1); - expect(BaseTextureCache[NAME]).to.equal(texture.baseTexture); + expect(texture.baseTexture.textureCacheIds.indexOf(NAME)).toEqual(0); + expect(texture.baseTexture.textureCacheIds.indexOf(URL)).toEqual(1); + expect(BaseTextureCache[NAME]).toEqual(texture.baseTexture); texture.destroy(true); - expect(texture.baseTexture).to.equal(null); - expect(BaseTextureCache[NAME]).to.equal(undefined); - expect(BaseTextureCache[URL]).to.equal(undefined); + expect(texture.baseTexture).toEqual(null); + expect(BaseTextureCache[NAME]).toEqual(undefined); + expect(BaseTextureCache[URL]).toEqual(undefined); done(); }); @@ -151,15 +134,15 @@ describe('BaseTexture', () => BaseTexture.addToCache(baseTexture, NAME); BaseTexture.addToCache(baseTexture, NAME2); - expect(baseTexture.textureCacheIds.indexOf(NAME)).to.equal(0); - expect(baseTexture.textureCacheIds.indexOf(NAME2)).to.equal(1); - expect(BaseTextureCache[NAME]).to.equal(baseTexture); - expect(BaseTextureCache[NAME2]).to.equal(baseTexture); + expect(baseTexture.textureCacheIds.indexOf(NAME)).toEqual(0); + expect(baseTexture.textureCacheIds.indexOf(NAME2)).toEqual(1); + expect(BaseTextureCache[NAME]).toEqual(baseTexture); + expect(BaseTextureCache[NAME2]).toEqual(baseTexture); BaseTexture.removeFromCache(baseTexture); - expect(baseTexture.textureCacheIds.indexOf(NAME)).to.equal(-1); - expect(baseTexture.textureCacheIds.indexOf(NAME2)).to.equal(-1); - expect(BaseTextureCache[NAME]).to.equal(undefined); - expect(BaseTextureCache[NAME2]).to.equal(undefined); + expect(baseTexture.textureCacheIds.indexOf(NAME)).toEqual(-1); + expect(baseTexture.textureCacheIds.indexOf(NAME2)).toEqual(-1); + expect(BaseTextureCache[NAME]).toEqual(undefined); + expect(BaseTextureCache[NAME2]).toEqual(undefined); }); it('should remove BaseTexture from single cache entry using removeFromCache (by id)', () => @@ -170,15 +153,15 @@ describe('BaseTexture', () => BaseTexture.addToCache(baseTexture, NAME); BaseTexture.addToCache(baseTexture, NAME2); - expect(baseTexture.textureCacheIds.indexOf(NAME)).to.equal(0); - expect(baseTexture.textureCacheIds.indexOf(NAME2)).to.equal(1); - expect(BaseTextureCache[NAME]).to.equal(baseTexture); - expect(BaseTextureCache[NAME2]).to.equal(baseTexture); + expect(baseTexture.textureCacheIds.indexOf(NAME)).toEqual(0); + expect(baseTexture.textureCacheIds.indexOf(NAME2)).toEqual(1); + expect(BaseTextureCache[NAME]).toEqual(baseTexture); + expect(BaseTextureCache[NAME2]).toEqual(baseTexture); BaseTexture.removeFromCache(NAME); - expect(baseTexture.textureCacheIds.indexOf(NAME)).to.equal(-1); - expect(baseTexture.textureCacheIds.indexOf(NAME2)).to.equal(0); - expect(BaseTextureCache[NAME]).to.equal(undefined); - expect(BaseTextureCache[NAME2]).to.equal(baseTexture); + expect(baseTexture.textureCacheIds.indexOf(NAME)).toEqual(-1); + expect(baseTexture.textureCacheIds.indexOf(NAME2)).toEqual(0); + expect(BaseTextureCache[NAME]).toEqual(undefined); + expect(BaseTextureCache[NAME2]).toEqual(baseTexture); }); it('should not throw an error destroying a destroyed BaseTexture', () => @@ -198,8 +181,8 @@ describe('BaseTexture', () => const baseTexture = BaseTexture.from(canvas); - expect(baseTexture.width).to.equal(canvas.width); - expect(baseTexture.height).to.equal(canvas.height); + expect(baseTexture.width).toEqual(canvas.width); + expect(baseTexture.height).toEqual(canvas.height); baseTexture.destroy(); }); @@ -215,7 +198,7 @@ describe('BaseTexture', () => const baseTexture = new BaseTexture(imageResource); const source = (baseTexture.resource as ImageResource).source as HTMLImageElement; - expect(source.crossOrigin).to.equal('anonymous'); + expect(source.crossOrigin).toEqual('anonymous'); baseTexture.destroy(); imageResource.destroy(); @@ -230,12 +213,12 @@ describe('BaseTexture', () => baseTexture.destroy(); - expect(baseTexture.destroyed).to.be.true; - expect(imageResource.destroyed).to.be.false; + expect(baseTexture.destroyed).toBe(true); + expect(imageResource.destroyed).toBe(false); imageResource.destroy(); - expect(imageResource.destroyed).to.be.true; + expect(imageResource.destroyed).toBe(true); }); it('should destroy internally created resources', () => @@ -247,8 +230,8 @@ describe('BaseTexture', () => baseTexture.destroy(); - expect(resource.destroyed).to.be.true; - expect(baseTexture.destroyed).to.be.true; + expect(resource.destroyed).toBe(true); + expect(baseTexture.destroyed).toBe(true); }); it('should show correct width/height after setResolution', () => @@ -256,17 +239,17 @@ describe('BaseTexture', () => const texture = RenderTexture.create({ width: 15, height: 15 }); texture.setResolution(0.9); - expect(texture.baseTexture.realWidth).to.equal(15); - expect(texture.baseTexture.realHeight).to.equal(15); + expect(texture.baseTexture.realWidth).toEqual(15); + expect(texture.baseTexture.realHeight).toEqual(15); }); it('should throw and error in strict from mode', () => { const id = 'baz'; - expect(() => BaseTexture.from(id, {}, true)).to.throw(`The cacheId "${id}" does not exist in BaseTextureCache.`); + expect(() => BaseTexture.from(id, {}, true)).toThrowError(`The cacheId "${id}" does not exist in BaseTextureCache.`); settings.STRICT_TEXTURE_CACHE = true; - expect(() => BaseTexture.from(id)).to.throw(`The cacheId "${id}" does not exist in BaseTextureCache.`); + expect(() => BaseTexture.from(id)).toThrowError(`The cacheId "${id}" does not exist in BaseTextureCache.`); settings.STRICT_TEXTURE_CACHE = false; }); }); diff --git a/packages/core/test/BatchRenderer.tests.ts b/packages/core/test/BatchRenderer.tests.ts index 163f8f3401..e04c694f71 100644 --- a/packages/core/test/BatchRenderer.tests.ts +++ b/packages/core/test/BatchRenderer.tests.ts @@ -1,8 +1,6 @@ import { Renderer, BatchRenderer, CanvasResource, Texture, BaseTexture, IBatchableElement } from '@pixi/core'; import { skipHello } from '@pixi/utils'; import { BLEND_MODES } from '@pixi/constants'; -import sinon from 'sinon'; -import { expect } from 'chai'; skipHello(); @@ -68,17 +66,17 @@ describe('BatchRenderer', () => batchRenderer.MAX_TEXTURES = 2; batchRenderer.start(); elements.forEach((element) => batchRenderer.render(element)); - expect(batchRenderer['_bufferedElements'].length).to.equal(8); - expect(batchRenderer['_bufferedTextures'].length).to.equal(8); + expect(batchRenderer['_bufferedElements'].length).toEqual(8); + expect(batchRenderer['_bufferedTextures'].length).toEqual(8); batchRenderer.flush(); - expect(batchRenderer['_bufferedElements']).to.eql(nullArray); - expect(batchRenderer['_bufferedTextures']).to.eql(nullArray); + expect(batchRenderer['_bufferedElements']).toEqual(nullArray); + expect(batchRenderer['_bufferedTextures']).toEqual(nullArray); const attrCount = batchRenderer['_aIndex']; // first number is start * 2, second is size - expect(drawCalls).to.eql([0, 18, 36, 6, 48, 11, 70, 12]); - expect(attrCount).to.equal(198); + expect(drawCalls).toEqual([0, 18, 36, 6, 48, 11, 70, 12]); + expect(attrCount).toEqual(198); // eslint-disable-next-line no-console const attr = [0x0, 0x0, 0x0, 0x0, 0xffffffff, 0x0, @@ -126,8 +124,8 @@ describe('BatchRenderer', () => batchRenderer['_attributeBuffer'].uint32View.slice(0, 198).forEach((x) => { resultAttr.push(x); }); batchRenderer['_indexBuffer'].slice(0, 47).forEach((x) => { resultInd.push(x); }); - expect(resultAttr).to.eql(attr); - expect(resultInd).to.eql(ind); + expect(resultAttr).toEqual(attr); + expect(resultInd).toEqual(ind); } finally { @@ -156,16 +154,16 @@ describe('BatchRenderer', () => batchRenderer.MAX_TEXTURES = 2; batchRenderer.start(); - const glEnable = sinon.spy(gl, 'enable'); - const glDisable = sinon.spy(gl, 'disable'); + const glEnable = jest.spyOn(gl, 'enable'); + const glDisable = jest.spyOn(gl, 'disable'); elements.forEach((element) => batchRenderer.render(element)); batchRenderer.flush(); - expect(glDisable.calledOnce).to.be.true; - expect(glDisable.args[0][0]).to.equal(gl.BLEND); - expect(glEnable.calledOnce).to.be.true; - expect(glEnable.args[0][0]).to.equal(gl.BLEND); + expect(glDisable).toBeCalledTimes(1); + expect(glDisable).toBeCalledWith(gl.BLEND); + expect(glEnable).toBeCalledTimes(1); + expect(glEnable).toBeCalledWith(gl.BLEND); } finally { diff --git a/packages/core/test/CanvasResource.tests.ts b/packages/core/test/CanvasResource.tests.ts index cb75a67919..47ce232855 100644 --- a/packages/core/test/CanvasResource.tests.ts +++ b/packages/core/test/CanvasResource.tests.ts @@ -1,6 +1,4 @@ import { CanvasResource, BaseTexture } from '@pixi/core'; -import sinon from 'sinon'; -import { expect } from 'chai'; describe('CanvasResource', () => { @@ -10,9 +8,9 @@ describe('CanvasResource', () => const resource = new CanvasResource(canvas); - expect(resource.width).to.equal(canvas.width); - expect(resource.height).to.equal(canvas.height); - expect(resource.valid).to.be.true; + expect(resource.width).toEqual(canvas.width); + expect(resource.height).toEqual(canvas.height); + expect(resource.valid).toBe(true); resource.destroy(); }); @@ -26,9 +24,9 @@ describe('CanvasResource', () => const resource = new CanvasResource(canvas); - expect(resource.width).to.equal(100); - expect(resource.height).to.equal(200); - expect(resource.valid).to.be.true; + expect(resource.width).toEqual(100); + expect(resource.height).toEqual(200); + expect(resource.valid).toBe(true); resource.destroy(); }); @@ -37,11 +35,11 @@ describe('CanvasResource', () => { const canvas = document.createElement('canvas'); const resource = new CanvasResource(canvas); - const baseTexture = { setRealSize: sinon.stub() }; + const baseTexture = { setRealSize: jest.fn() }; resource.bind(baseTexture as unknown as BaseTexture); - expect(baseTexture.setRealSize.calledOnce).to.be.true; + expect(baseTexture.setRealSize).toBeCalledTimes(1); resource.unbind(baseTexture as unknown as BaseTexture); resource.destroy(); @@ -51,15 +49,15 @@ describe('CanvasResource', () => { const canvas = document.createElement('canvas'); const resource = new CanvasResource(canvas); - const baseTexture = { update: sinon.stub() }; + const baseTexture = { update: jest.fn() }; resource.bind(baseTexture as unknown as BaseTexture); - expect(baseTexture.update.called).to.be.false; + expect(baseTexture.update).not.toHaveBeenCalled(); resource.update(); - expect(baseTexture.update.calledOnce).to.be.true; + expect(baseTexture.update).toBeCalledTimes(1); resource.unbind(baseTexture as unknown as BaseTexture); resource.destroy(); @@ -75,13 +73,13 @@ describe('CanvasResource', () => const resource = new CanvasResource(canvas); const baseTexture = new BaseTexture(resource); - expect(baseTexture.width).to.equal(50); + expect(baseTexture.width).toEqual(50); canvas.width = 100; resource.update(); - expect(baseTexture.width).to.equal(100); + expect(baseTexture.width).toEqual(100); canvas.height = 70; resource.update(); - expect(baseTexture.height).to.equal(70); + expect(baseTexture.height).toEqual(70); resource.destroy(); }); }); diff --git a/packages/core/test/CubeResource.tests.ts b/packages/core/test/CubeResource.tests.ts index a0a7bd0c18..b038487304 100644 --- a/packages/core/test/CubeResource.tests.ts +++ b/packages/core/test/CubeResource.tests.ts @@ -1,12 +1,11 @@ import { CubeResource, BaseTexture } from '@pixi/core'; import path from 'path'; -import { expect } from 'chai'; describe('CubeResource', () => { let baseTexUrl: string; - before(() => + beforeAll(() => { baseTexUrl = path.resolve(__dirname, 'resources', 'slug.png'); }); @@ -18,13 +17,13 @@ describe('CubeResource', () => // @ts-expect-error - using an invalid length // eslint-disable-next-line no-new new CubeResource([null, null, null, null, null, null, null, null]); - }).to.throw(Error, /invalid length/i); + }).toThrowWithMessage(Error, 'Invalid length. Got 8, expected 6'); }); it('should be created through BaseTexture.from()', () => { const path1 = baseTexUrl; const baseTex = BaseTexture.from([path1, path1, path1, path1, path1, path1]); - expect(baseTex.resource).to.be.instanceof(CubeResource); + expect(baseTex.resource).toBeInstanceOf(CubeResource); }); }); diff --git a/packages/core/test/FilterSystem.tests.ts b/packages/core/test/FilterSystem.tests.ts index 9d6b1c4650..001b971ecf 100644 --- a/packages/core/test/FilterSystem.tests.ts +++ b/packages/core/test/FilterSystem.tests.ts @@ -1,8 +1,6 @@ import { CLEAR_MODES } from '@pixi/constants'; import { Filter, IFilterTarget, Renderer } from '@pixi/core'; import { Matrix, Rectangle } from '@pixi/math'; -import { expect } from 'chai'; -import sinon from 'sinon'; describe('FilterSystem', () => { @@ -20,12 +18,12 @@ describe('FilterSystem', () => let renderer: Renderer; - before(() => + beforeAll(() => { renderer = new Renderer(); }); - after(() => + afterAll(() => { renderer.destroy(); renderer = null; @@ -35,7 +33,7 @@ describe('FilterSystem', () => { const innerFilter = new Filter(); const filter = new Filter(); - const clearSpy = sinon.spy(renderer.framebuffer, 'clear'); + const clearSpy = jest.spyOn(renderer.framebuffer, 'clear'); const obj = onePixelObject(); const filterSystem = renderer.filter; @@ -61,7 +59,7 @@ describe('FilterSystem', () => filterSystem.push(obj, [filter]); filterSystem.pop(); - const val = clearSpy.callCount; + const val = clearSpy.mock.calls.length; const clears = val - prevCalls - 1; prevCalls = val; @@ -69,18 +67,18 @@ describe('FilterSystem', () => return clears; } - expect(render(CLEAR_MODES.BLEND, false)).to.equal(0); - expect(render(CLEAR_MODES.BLEND, true)).to.equal(0); - expect(render(CLEAR_MODES.CLEAR, false)).to.equal(1); - expect(render(CLEAR_MODES.CLEAR, true)).to.equal(1); - expect(render(CLEAR_MODES.AUTO, false)).to.equal(0); - expect(render(CLEAR_MODES.AUTO, true)).to.equal(1); + expect(render(CLEAR_MODES.BLEND, false)).toEqual(0); + expect(render(CLEAR_MODES.BLEND, true)).toEqual(0); + expect(render(CLEAR_MODES.CLEAR, false)).toEqual(1); + expect(render(CLEAR_MODES.CLEAR, true)).toEqual(1); + expect(render(CLEAR_MODES.AUTO, false)).toEqual(0); + expect(render(CLEAR_MODES.AUTO, true)).toEqual(1); // check that there are two temp textures of same size const keys = Object.keys(filterSystem.texturePool.texturePool); - expect(keys.sort()).to.deep.eq(['65537']); - expect(filterSystem.texturePool.texturePool[65537].length).to.equal(2); + expect(keys.sort()).toEqual(['65537']); + expect(filterSystem.texturePool.texturePool[65537].length).toEqual(2); }); function rectToString(rect: Rectangle) @@ -103,26 +101,26 @@ describe('FilterSystem', () => renderer.filter.push(obj, filters); - expect(renderer.projection.transform).to.be.null; + expect(renderer.projection.transform).toBeNull(); const newSrc = renderer.projection.sourceFrame; const newDst = renderer.projection.destinationFrame; // coords are cut to left-top corner of src, moved by inverse of transform - expect(newSrc.x).equal(23); - expect(newSrc.y).equal(15); + expect(newSrc.x).toEqual(23); + expect(newSrc.y).toEqual(15); // 20-14 = 6, but left pixel start at 9, so we cut 3 pixels, making width=10-3=7, // but round it to 8 because we scale it down 2 times in src->dst - expect(newSrc.width).equal(8); + expect(newSrc.width).toEqual(8); // cut 5 pixels from height, 10-5=5, rounded up to 6 to match resulting pixel grid - expect(newSrc.height).equal(6); + expect(newSrc.height).toEqual(6); // destination has the same size - expect(newDst.width).equal(8); - expect(newDst.height).equal(6); + expect(newDst.width).toEqual(8); + expect(newDst.height).toEqual(6); renderer.filter.pop(); - expect(renderer.projection.transform).to.equal(trans); - expect(rectToString(renderer.projection.sourceFrame)).equal(rectToString(src)); - expect(rectToString(renderer.projection.destinationFrame)).equal(rectToString(dst)); + expect(renderer.projection.transform).toEqual(trans); + expect(rectToString(renderer.projection.sourceFrame)).toEqual(rectToString(src)); + expect(rectToString(renderer.projection.destinationFrame)).toEqual(rectToString(dst)); renderer.projection.transform = null; }); @@ -149,9 +147,9 @@ describe('FilterSystem', () => const newSrc = renderer.projection.sourceFrame; // Coords are shifted by 2x (0.1, 0.1) - expect(newSrc.x).to.be.closeTo(-0.9, 1e-5); - expect(newSrc.y).to.be.closeTo(-0.9, 1e-5); - expect(newSrc.width).to.closeTo(101, 1e-5); - expect(newSrc.height).to.closeTo(101, 1e-5); + expect(newSrc.x).toBeCloseTo(-0.9, 1e-5); + expect(newSrc.y).toBeCloseTo(-0.9, 1e-5); + expect(newSrc.width).toBeCloseTo(101, 1e-5); + expect(newSrc.height).toBeCloseTo(101, 1e-5); }); }); diff --git a/packages/core/test/FramebufferSystem.tests.ts b/packages/core/test/FramebufferSystem.tests.ts index 8ecb1bbc12..6ebd555d19 100644 --- a/packages/core/test/FramebufferSystem.tests.ts +++ b/packages/core/test/FramebufferSystem.tests.ts @@ -1,18 +1,17 @@ import { Renderer, Framebuffer } from '@pixi/core'; import { MSAA_QUALITY } from '@pixi/constants'; import { Rectangle } from '@pixi/math'; -import { expect } from 'chai'; describe('FramebufferSystem', () => { let renderer: Renderer; - before(() => + beforeAll(() => { renderer = new Renderer(); }); - after(() => + afterAll(() => { renderer.destroy(); renderer = null; @@ -24,18 +23,18 @@ describe('FramebufferSystem', () => // chrome, general framebuffer['msaaSamples'] = [8, 4, 1]; - expect(framebuffer['detectSamples'](1)).to.equal(0); - expect(framebuffer['detectSamples'](4)).to.equal(4); - expect(framebuffer['detectSamples'](8)).to.equal(8); + expect(framebuffer['detectSamples'](1)).toEqual(0); + expect(framebuffer['detectSamples'](4)).toEqual(4); + expect(framebuffer['detectSamples'](8)).toEqual(8); // some mobile devices framebuffer['msaaSamples'] = [4, 1]; - expect(framebuffer['detectSamples'](8)).to.equal(4); + expect(framebuffer['detectSamples'](8)).toEqual(4); // firefox on mac framebuffer['msaaSamples'] = [8, 4]; - expect(framebuffer['detectSamples'](1)).to.equal(0); + expect(framebuffer['detectSamples'](1)).toEqual(0); // no MSAA framebuffer['msaaSamples'] = null; - expect(framebuffer['detectSamples'](8)).to.equal(0); + expect(framebuffer['detectSamples'](8)).toEqual(0); }); it('should render to mip levels', () => @@ -46,15 +45,15 @@ describe('FramebufferSystem', () => renderer.framebuffer.bind(framebuffer, null, 1); - expect(framebuffer.glFramebuffers[CONTEXT_UID].mipLevel).to.equal(1); + expect(framebuffer.glFramebuffers[CONTEXT_UID].mipLevel).toEqual(1); - expect(Array.from(gl.getParameter(gl.VIEWPORT))).to.deep.equal([0, 0, 2, 2]); + expect(Array.from(gl.getParameter(gl.VIEWPORT))).toEqual([0, 0, 2, 2]); renderer.framebuffer.bind(framebuffer, null, 0); - expect(framebuffer.glFramebuffers[CONTEXT_UID].mipLevel).to.equal(0); + expect(framebuffer.glFramebuffers[CONTEXT_UID].mipLevel).toEqual(0); - expect(Array.from(gl.getParameter(gl.VIEWPORT))).to.deep.equal([0, 0, 4, 4]); + expect(Array.from(gl.getParameter(gl.VIEWPORT))).toEqual([0, 0, 4, 4]); }); it('should render to with correct frame', () => @@ -67,7 +66,7 @@ describe('FramebufferSystem', () => renderer.framebuffer.bind(framebuffer, frame, 0); - expect(Array.from(gl.getParameter(gl.VIEWPORT))).to.deep.equal([2, 2, 2, 2]); + expect(Array.from(gl.getParameter(gl.VIEWPORT))).toEqual([2, 2, 2, 2]); }); it('should create an incomplete framebuffer if it has no attachments', () => @@ -84,7 +83,7 @@ describe('FramebufferSystem', () => renderer.framebuffer.bind(framebuffer); - expect(gl.checkFramebufferStatus(gl.FRAMEBUFFER)).to.equal(gl.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT); + expect(gl.checkFramebufferStatus(gl.FRAMEBUFFER)).toEqual(gl.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT); }); it('should create a complete framebuffer with a color texture attachment', () => @@ -104,10 +103,10 @@ describe('FramebufferSystem', () => const fbo = framebuffer.glFramebuffers[CONTEXT_UID]; - expect(gl.checkFramebufferStatus(gl.FRAMEBUFFER)).to.equal(gl.FRAMEBUFFER_COMPLETE); - expect(fbo.multisample).to.equal(0); - expect(fbo.msaaBuffer).to.be.null; - expect(fbo.stencil).to.be.null; + expect(gl.checkFramebufferStatus(gl.FRAMEBUFFER)).toEqual(gl.FRAMEBUFFER_COMPLETE); + expect(fbo.multisample).toEqual(0); + expect(fbo.msaaBuffer).toBeNull(); + expect(fbo.stencil).toBeNull(); }); // eslint-disable-next-line func-names @@ -119,7 +118,7 @@ describe('FramebufferSystem', () => || renderer.framebuffer['msaaSamples'] === null || renderer.framebuffer['msaaSamples'].every((x) => x <= 1)) { - this.skip(); + return; } const { gl, CONTEXT_UID } = renderer; @@ -134,14 +133,14 @@ describe('FramebufferSystem', () => const fbo = framebuffer.glFramebuffers[CONTEXT_UID]; - expect(gl.checkFramebufferStatus(gl.FRAMEBUFFER)).to.equal(gl.FRAMEBUFFER_COMPLETE); - expect(fbo.multisample).to.equal(0); - expect(fbo.msaaBuffer).to.be.null; - expect(fbo.stencil).to.be.not.null; + expect(gl.checkFramebufferStatus(gl.FRAMEBUFFER)).toEqual(gl.FRAMEBUFFER_COMPLETE); + expect(fbo.multisample).toEqual(0); + expect(fbo.msaaBuffer).toBeNull(); + expect(fbo.stencil).not.toBeNull(); gl.bindRenderbuffer(gl.RENDERBUFFER, fbo.stencil); - expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_SAMPLES)).to.equal(fbo.multisample); + expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_SAMPLES)).toEqual(fbo.multisample); }); // eslint-disable-next-line func-names @@ -153,7 +152,7 @@ describe('FramebufferSystem', () => || renderer.framebuffer['msaaSamples'] === null || renderer.framebuffer['msaaSamples'].every((x) => x <= 1)) { - this.skip(); + return; } const { gl, CONTEXT_UID } = renderer; @@ -167,14 +166,14 @@ describe('FramebufferSystem', () => const fbo = framebuffer.glFramebuffers[CONTEXT_UID]; - expect(gl.checkFramebufferStatus(gl.FRAMEBUFFER)).to.equal(gl.FRAMEBUFFER_COMPLETE); - expect(fbo.multisample).to.be.greaterThan(1); - expect(fbo.msaaBuffer).to.be.not.null; - expect(fbo.stencil).to.be.null; + expect(gl.checkFramebufferStatus(gl.FRAMEBUFFER)).toEqual(gl.FRAMEBUFFER_COMPLETE); + expect(fbo.multisample).toBeGreaterThan(1); + expect(fbo.msaaBuffer).not.toBeNull(); + expect(fbo.stencil).toBeNull(); gl.bindRenderbuffer(gl.RENDERBUFFER, fbo.msaaBuffer); - expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_SAMPLES)).to.equal(fbo.multisample); + expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_SAMPLES)).toEqual(fbo.multisample); }); // eslint-disable-next-line func-names @@ -186,7 +185,7 @@ describe('FramebufferSystem', () => || renderer.framebuffer['msaaSamples'] === null || renderer.framebuffer['msaaSamples'].every((x) => x <= 1)) { - this.skip(); + return; } const { gl, CONTEXT_UID } = renderer; @@ -201,18 +200,18 @@ describe('FramebufferSystem', () => const fbo = framebuffer.glFramebuffers[CONTEXT_UID]; - expect(gl.checkFramebufferStatus(gl.FRAMEBUFFER)).to.equal(gl.FRAMEBUFFER_COMPLETE); - expect(fbo.multisample).to.be.greaterThan(1); - expect(fbo.msaaBuffer).to.be.not.null; - expect(fbo.stencil).to.be.not.null; + expect(gl.checkFramebufferStatus(gl.FRAMEBUFFER)).toEqual(gl.FRAMEBUFFER_COMPLETE); + expect(fbo.multisample).toBeGreaterThan(1); + expect(fbo.msaaBuffer).not.toBeNull(); + expect(fbo.stencil).not.toBeNull(); gl.bindRenderbuffer(gl.RENDERBUFFER, fbo.msaaBuffer); - expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_SAMPLES)).to.equal(fbo.multisample); + expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_SAMPLES)).toEqual(fbo.multisample); gl.bindRenderbuffer(gl.RENDERBUFFER, fbo.stencil); - expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_SAMPLES)).to.equal(fbo.multisample); + expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_SAMPLES)).toEqual(fbo.multisample); }); it('should not create an incomplete framebuffer if it has multiple color attachments and multisampling is requested', @@ -234,9 +233,9 @@ describe('FramebufferSystem', () => const fbo = framebuffer.glFramebuffers[CONTEXT_UID]; - expect(gl.checkFramebufferStatus(gl.FRAMEBUFFER)).to.equal(gl.FRAMEBUFFER_COMPLETE); - expect(fbo.msaaBuffer).to.be.null; - expect(fbo.stencil).to.be.null; + expect(gl.checkFramebufferStatus(gl.FRAMEBUFFER)).toEqual(gl.FRAMEBUFFER_COMPLETE); + expect(fbo.msaaBuffer).toBeNull(); + expect(fbo.stencil).toBeNull(); }); it('should not create an incomplete framebuffer if it has depth texture and multisampling is requested', @@ -247,7 +246,7 @@ describe('FramebufferSystem', () => if (!renderer.framebuffer.writeDepthTexture) { - this.skip(); + return; } const { gl, CONTEXT_UID } = renderer; @@ -263,9 +262,9 @@ describe('FramebufferSystem', () => const fbo = framebuffer.glFramebuffers[CONTEXT_UID]; - expect(gl.checkFramebufferStatus(gl.FRAMEBUFFER)).to.equal(gl.FRAMEBUFFER_COMPLETE); - expect(fbo.msaaBuffer).to.be.null; - expect(fbo.stencil).to.be.null; + expect(gl.checkFramebufferStatus(gl.FRAMEBUFFER)).toEqual(gl.FRAMEBUFFER_COMPLETE); + expect(fbo.msaaBuffer).toBeNull(); + expect(fbo.stencil).toBeNull(); }); it('should succeed to resize framebuffer', () => @@ -284,31 +283,31 @@ describe('FramebufferSystem', () => const fbo = framebuffer.glFramebuffers[CONTEXT_UID]; - expect(gl.checkFramebufferStatus(gl.FRAMEBUFFER)).to.equal(gl.FRAMEBUFFER_COMPLETE); - expect(fbo.multisample).to.equal(0); - expect(fbo.msaaBuffer).to.be.null; - expect(fbo.stencil).to.be.not.null; + expect(gl.checkFramebufferStatus(gl.FRAMEBUFFER)).toEqual(gl.FRAMEBUFFER_COMPLETE); + expect(fbo.multisample).toEqual(0); + expect(fbo.msaaBuffer).toBeNull(); + expect(fbo.stencil).not.toBeNull(); gl.bindRenderbuffer(gl.RENDERBUFFER, fbo.stencil); - expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_SAMPLES)).to.equal(fbo.multisample); - expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_WIDTH)).to.equal(4); - expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_HEIGHT)).to.equal(8); + expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_SAMPLES)).toEqual(fbo.multisample); + expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_WIDTH)).toEqual(4); + expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_HEIGHT)).toEqual(8); framebuffer.resize(16, 32); renderer.framebuffer.bind(framebuffer); - expect(gl.checkFramebufferStatus(gl.FRAMEBUFFER)).to.equal(gl.FRAMEBUFFER_COMPLETE); - expect(fbo.multisample).to.equal(0); - expect(fbo.msaaBuffer).to.be.null; - expect(fbo.stencil).to.be.not.null; + expect(gl.checkFramebufferStatus(gl.FRAMEBUFFER)).toEqual(gl.FRAMEBUFFER_COMPLETE); + expect(fbo.multisample).toEqual(0); + expect(fbo.msaaBuffer).toBeNull(); + expect(fbo.stencil).not.toBeNull(); gl.bindRenderbuffer(gl.RENDERBUFFER, fbo.stencil); - expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_SAMPLES)).to.equal(fbo.multisample); - expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_WIDTH)).to.equal(16); - expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_HEIGHT)).to.equal(32); + expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_SAMPLES)).toEqual(fbo.multisample); + expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_WIDTH)).toEqual(16); + expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_HEIGHT)).toEqual(32); }); // eslint-disable-next-line func-names @@ -320,7 +319,7 @@ describe('FramebufferSystem', () => || renderer.framebuffer['msaaSamples'] === null || renderer.framebuffer['msaaSamples'].every((x) => x <= 1)) { - this.skip(); + return; } const { gl, CONTEXT_UID } = renderer; @@ -335,42 +334,42 @@ describe('FramebufferSystem', () => const fbo = framebuffer.glFramebuffers[CONTEXT_UID]; - expect(gl.checkFramebufferStatus(gl.FRAMEBUFFER)).to.equal(gl.FRAMEBUFFER_COMPLETE); - expect(fbo.multisample).to.be.greaterThan(1); - expect(fbo.msaaBuffer).to.be.not.null; - expect(fbo.stencil).to.be.not.null; + expect(gl.checkFramebufferStatus(gl.FRAMEBUFFER)).toEqual(gl.FRAMEBUFFER_COMPLETE); + expect(fbo.multisample).toBeGreaterThan(1); + expect(fbo.msaaBuffer).not.toBeNull(); + expect(fbo.stencil).not.toBeNull(); gl.bindRenderbuffer(gl.RENDERBUFFER, fbo.msaaBuffer); - expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_SAMPLES)).to.equal(fbo.multisample); - expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_WIDTH)).to.equal(4); - expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_HEIGHT)).to.equal(8); + expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_SAMPLES)).toEqual(fbo.multisample); + expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_WIDTH)).toEqual(4); + expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_HEIGHT)).toEqual(8); gl.bindRenderbuffer(gl.RENDERBUFFER, fbo.stencil); - expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_SAMPLES)).to.equal(fbo.multisample); - expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_WIDTH)).to.equal(4); - expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_HEIGHT)).to.equal(8); + expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_SAMPLES)).toEqual(fbo.multisample); + expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_WIDTH)).toEqual(4); + expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_HEIGHT)).toEqual(8); framebuffer.resize(16, 32); renderer.framebuffer.bind(framebuffer); - expect(gl.checkFramebufferStatus(gl.FRAMEBUFFER)).to.equal(gl.FRAMEBUFFER_COMPLETE); - expect(fbo.multisample).to.be.greaterThan(1); - expect(fbo.msaaBuffer).to.be.not.null; - expect(fbo.stencil).to.be.not.null; + expect(gl.checkFramebufferStatus(gl.FRAMEBUFFER)).toEqual(gl.FRAMEBUFFER_COMPLETE); + expect(fbo.multisample).toBeGreaterThan(1); + expect(fbo.msaaBuffer).not.toBeNull(); + expect(fbo.stencil).not.toBeNull(); gl.bindRenderbuffer(gl.RENDERBUFFER, fbo.msaaBuffer); - expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_SAMPLES)).to.equal(fbo.multisample); - expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_WIDTH)).to.equal(16); - expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_HEIGHT)).to.equal(32); + expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_SAMPLES)).toEqual(fbo.multisample); + expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_WIDTH)).toEqual(16); + expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_HEIGHT)).toEqual(32); gl.bindRenderbuffer(gl.RENDERBUFFER, fbo.stencil); - expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_SAMPLES)).to.equal(fbo.multisample); - expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_WIDTH)).to.equal(16); - expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_HEIGHT)).to.equal(32); + expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_SAMPLES)).toEqual(fbo.multisample); + expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_WIDTH)).toEqual(16); + expect(gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_HEIGHT)).toEqual(32); }); }); diff --git a/packages/core/test/Geometry.tests.ts b/packages/core/test/Geometry.tests.ts index 01c9841080..591afadf12 100644 --- a/packages/core/test/Geometry.tests.ts +++ b/packages/core/test/Geometry.tests.ts @@ -1,5 +1,4 @@ import { Buffer, Geometry, Program, Renderer, Shader, Texture } from '@pixi/core'; -import { expect } from 'chai'; const vert = ` attribute vec2 aVertexPosition; @@ -55,10 +54,10 @@ describe('Geometry', () => renderer.geometry.bind(geometry2, shader); geometry1.destroy(); - expect(indices.data).to.be.not.null; - expect(Object.keys(indices._glBuffers).length).to.equal(1); + expect(indices.data).not.toBeNull(); + expect(Object.keys(indices._glBuffers).length).toEqual(1); geometry2.destroy(); - expect(Object.keys(indices._glBuffers).length).to.equal(0); + expect(Object.keys(indices._glBuffers).length).toEqual(0); } finally { @@ -87,15 +86,15 @@ describe('Geometry', () => renderer.geometry.bind(geometry, shader2); // 2 signatures and 2 by shader-ids - expect(Object.keys(geometry.glVertexArrayObjects).length).to.equal(1); - expect(Object.keys(geometry.glVertexArrayObjects[renderer.CONTEXT_UID]).length).to.equal(4); - expect(Object.keys(renderer.geometry.managedGeometries).length).to.equal(1); - expect(Object.keys(indices._glBuffers).length).to.equal(1); - expect(indices._glBuffers[renderer.CONTEXT_UID].refCount).to.equal(1); + expect(Object.keys(geometry.glVertexArrayObjects).length).toEqual(1); + expect(Object.keys(geometry.glVertexArrayObjects[renderer.CONTEXT_UID]).length).toEqual(4); + expect(Object.keys(renderer.geometry.managedGeometries).length).toEqual(1); + expect(Object.keys(indices._glBuffers).length).toEqual(1); + expect(indices._glBuffers[renderer.CONTEXT_UID].refCount).toEqual(1); geometry.dispose(); - expect(Object.keys(geometry.glVertexArrayObjects).length).to.equal(0); - expect(Object.keys(renderer.geometry.managedGeometries).length).to.equal(0); - expect(Object.keys(indices._glBuffers).length).to.equal(0); + expect(Object.keys(geometry.glVertexArrayObjects).length).toEqual(0); + expect(Object.keys(renderer.geometry.managedGeometries).length).toEqual(0); + expect(Object.keys(indices._glBuffers).length).toEqual(0); geometry.destroy(); } finally @@ -115,7 +114,7 @@ describe('Geometry', () => const geom = Geometry.merge([geom0, geom1]); - expect([...(geom.getIndex().data) as unknown as number[]]).to.have.members([0, 1, 2, 3, 4, 5, 6]); + expect([...(geom.getIndex().data) as unknown as number[]]).toEqual(expect.arrayContaining([0, 1, 2, 3, 4, 5, 6])); }); it('should create one VAO for shaders with the same attributes and same location specifiers', () => @@ -181,7 +180,7 @@ describe('Geometry', () => const vao2 = renderer.geometry['_activeVao']; - expect(vao1).to.equal(vao2); + expect(vao1).toEqual(vao2); geometry.destroy(); } @@ -254,7 +253,7 @@ describe('Geometry', () => const vao2 = renderer.geometry['_activeVao']; - expect(vao1).to.not.equal(vao2); + expect(vao1).not.toBe(vao2); geometry.destroy(); } @@ -324,7 +323,7 @@ describe('Geometry', () => const vao2 = renderer.geometry['_activeVao']; - expect(vao1).to.not.equal(vao2); + expect(vao1).not.toBe(vao2); geometry.destroy(); } diff --git a/packages/core/test/ImageBitmapResource.tests.ts b/packages/core/test/ImageBitmapResource.tests.ts index 49d6de20f3..611ee5e834 100644 --- a/packages/core/test/ImageBitmapResource.tests.ts +++ b/packages/core/test/ImageBitmapResource.tests.ts @@ -1,6 +1,4 @@ import { BaseTexture, ImageBitmapResource } from '@pixi/core'; -import sinon from 'sinon'; -import { expect } from 'chai'; describe('ImageBitmapResource', () => { @@ -11,9 +9,9 @@ describe('ImageBitmapResource', () => const bitmap = await createImageBitmap(canvas); const resource = new ImageBitmapResource(bitmap); - expect(resource.width).to.equal(canvas.width); - expect(resource.height).to.equal(canvas.height); - expect(resource.valid).to.be.true; + expect(resource.width).toEqual(canvas.width); + expect(resource.height).toEqual(canvas.height); + expect(resource.valid).toBe(true); resource.destroy(); }); @@ -28,9 +26,9 @@ describe('ImageBitmapResource', () => const bitmap = await createImageBitmap(canvas); const resource = new ImageBitmapResource(bitmap); - expect(resource.width).to.equal(100); - expect(resource.height).to.equal(200); - expect(resource.valid).to.be.true; + expect(resource.width).toEqual(100); + expect(resource.height).toEqual(200); + expect(resource.valid).toBe(true); resource.destroy(); }); @@ -40,11 +38,11 @@ describe('ImageBitmapResource', () => const canvas = document.createElement('canvas'); const bitmap = await createImageBitmap(canvas); const resource = new ImageBitmapResource(bitmap); - const baseTexture = { setRealSize: sinon.stub() }; + const baseTexture = { setRealSize: jest.fn() }; resource.bind(baseTexture as unknown as BaseTexture); - expect(baseTexture.setRealSize.calledOnce).to.be.true; + expect(baseTexture.setRealSize).toBeCalledTimes(1); resource.unbind(baseTexture as unknown as BaseTexture); resource.destroy(); @@ -55,15 +53,15 @@ describe('ImageBitmapResource', () => const canvas = document.createElement('canvas'); const bitmap = await createImageBitmap(canvas); const resource = new ImageBitmapResource(bitmap); - const baseTexture = { update: sinon.stub() }; + const baseTexture = { update: jest.fn() }; resource.bind(baseTexture as unknown as BaseTexture); - expect(baseTexture.update.called).to.be.false; + expect(baseTexture.update).not.toHaveBeenCalled(); resource.update(); - expect(baseTexture.update.calledOnce).to.be.true; + expect(baseTexture.update).toBeCalledTimes(1); resource.unbind(baseTexture as unknown as BaseTexture); resource.destroy(); diff --git a/packages/core/test/ImageResource.tests.ts b/packages/core/test/ImageResource.tests.ts index 64ccb071c4..cf31a10593 100644 --- a/packages/core/test/ImageResource.tests.ts +++ b/packages/core/test/ImageResource.tests.ts @@ -1,13 +1,12 @@ import { ImageResource, BaseTexture, Renderer } from '@pixi/core'; import { settings } from '@pixi/settings'; import path from 'path'; -import { expect } from 'chai'; describe('ImageResource', () => { let slugUrl: string; - before(() => + beforeAll(() => { slugUrl = path.resolve(__dirname, 'resources', 'slug.png'); }); @@ -18,10 +17,10 @@ describe('ImageResource', () => const resource = new ImageResource(image); - expect(resource.width).to.equal(0); - expect(resource.height).to.equal(0); - expect(resource.valid).to.be.false; - expect(resource.url).to.equal(''); + expect(resource.width).toEqual(0); + expect(resource.height).toEqual(0); + expect(resource.valid).toBe(false); + expect(resource.url).toEqual(''); resource.destroy(); }); @@ -42,10 +41,10 @@ describe('ImageResource', () => const resource = new ImageResource(image); - expect(resource.width).to.equal(0); - expect(resource.height).to.equal(0); - expect(resource.valid).to.be.false; - expect(resource.url).to.equal(image.src); + expect(resource.width).toEqual(0); + expect(resource.height).toEqual(0); + expect(resource.valid).toBe(false); + expect(resource.url).toEqual(image.src); resource.destroy(); }); @@ -63,11 +62,11 @@ describe('ImageResource', () => return resource.load().then((res) => { - expect(res).to.equal(resource); - expect(resource.width).to.equal(100); - expect(resource.height).to.equal(100); - expect(resource.valid).to.be.true; - expect(resource.bitmap).to.be.instanceof(ImageBitmap); + expect(res).toEqual(resource); + expect(resource.width).toEqual(100); + expect(resource.height).toEqual(100); + expect(resource.valid).toBe(true); + expect(resource.bitmap).toBeInstanceOf(ImageBitmap); }); }); @@ -84,11 +83,11 @@ describe('ImageResource', () => return resource.load().then((res) => { - expect(res).to.equal(resource); - expect(resource.width).to.equal(100); - expect(resource.height).to.equal(100); - expect(resource.valid).to.be.true; - expect(resource.bitmap).to.be.null; + expect(res).toEqual(resource); + expect(resource.width).toEqual(100); + expect(resource.height).toEqual(100); + expect(resource.valid).toBe(true); + expect(resource.bitmap).toBeNull(); }); }); @@ -105,7 +104,7 @@ describe('ImageResource', () => return resource.load().catch((error) => { - expect(error).to.be.not.null; + expect(error).not.toBeNull(); }); }); @@ -121,12 +120,12 @@ describe('ImageResource', () => return resource.load().then((res) => { - expect(res).to.equal(resource); - expect(resource.createBitmap).to.equal(true); - expect(resource.width).to.equal(100); - expect(resource.height).to.equal(100); - expect(resource.valid).to.be.true; - expect(resource.bitmap).to.be.instanceof(ImageBitmap); + expect(res).toEqual(resource); + expect(resource.createBitmap).toEqual(true); + expect(resource.width).toEqual(100); + expect(resource.height).toEqual(100); + expect(resource.valid).toBe(true); + expect(resource.bitmap).toBeInstanceOf(ImageBitmap); settings.CREATE_IMAGE_BITMAP = old; }); }); @@ -143,12 +142,12 @@ describe('ImageResource', () => return resource.load().then((res) => { - expect(res).to.equal(resource); - expect(resource.createBitmap).to.equal(false); - expect(resource.width).to.equal(100); - expect(resource.height).to.equal(100); - expect(resource.valid).to.be.true; - expect(resource.bitmap).to.be.null; + expect(res).toEqual(resource); + expect(resource.createBitmap).toEqual(false); + expect(resource.width).toEqual(100); + expect(resource.height).toEqual(100); + expect(resource.valid).toBe(true); + expect(resource.bitmap).toBeNull(); settings.CREATE_IMAGE_BITMAP = old; }); }); @@ -157,12 +156,12 @@ describe('ImageResource', () => { let renderer: Renderer; - before(() => + beforeAll(() => { renderer = new Renderer(); }); - after(() => + afterAll(() => { renderer.destroy(); renderer = null; @@ -179,7 +178,7 @@ describe('ImageResource', () => return resource.load(false).then(() => { renderer.texture.bind(baseTexture); - expect(baseTexture.alphaMode).to.equal(2); + expect(baseTexture.alphaMode).toEqual(2); }); }); @@ -190,14 +189,14 @@ describe('ImageResource', () => const baseTexture = new BaseTexture(resource); baseTexture.alphaMode = 2; - expect(resource.alphaMode).to.be.null; + expect(resource.alphaMode).toBeNull(); image.src = slugUrl; return resource.load(false).then(() => { renderer.texture.bind(baseTexture); - expect(baseTexture.alphaMode).to.equal(2); + expect(baseTexture.alphaMode).toEqual(2); }); }); }); diff --git a/packages/core/test/MaskSystem.tests.ts b/packages/core/test/MaskSystem.tests.ts index 412de839d8..65fd5c8876 100644 --- a/packages/core/test/MaskSystem.tests.ts +++ b/packages/core/test/MaskSystem.tests.ts @@ -16,13 +16,11 @@ import { import { Graphics } from '@pixi/graphics'; import { Matrix, Rectangle } from '@pixi/math'; import { Sprite } from '@pixi/sprite'; -import { expect } from 'chai'; -import sinon from 'sinon'; describe('MaskSystem', () => { - before(() => extensions.add(BatchRenderer)); - after(() => extensions.remove(BatchRenderer)); + beforeAll(() => extensions.add(BatchRenderer)); + afterAll(() => extensions.remove(BatchRenderer)); function onePixelMask(worldTransform: Matrix | Record): IMaskTarget { @@ -54,7 +52,7 @@ describe('MaskSystem', () => let textureGreen: Texture; let spriteMaskFilterGreen: SpriteMaskFilter; - before(() => + beforeAll(() => { renderer = new Renderer(); renderer.mask.enableScissor = true; @@ -89,7 +87,7 @@ describe('MaskSystem', () => }`); }); - after(() => + afterAll(() => { renderer.destroy(); renderer = null; @@ -103,7 +101,7 @@ describe('MaskSystem', () => it('should have scissor-masks enabled', () => { - expect(renderer.mask.enableScissor).to.equal(true); + expect(renderer.mask.enableScissor).toEqual(true); }); it('should use scissor masks with axis aligned squares', () => @@ -114,19 +112,19 @@ describe('MaskSystem', () => renderer.mask.push(context, maskObject); - expect(renderer.scissor.getStackLength()).to.equal(1); + expect(renderer.scissor.getStackLength()).toEqual(1); renderer.mask.push(context, maskObject2); - expect(renderer.scissor.getStackLength()).to.equal(2); + expect(renderer.scissor.getStackLength()).toEqual(2); renderer.mask.pop(context); - expect(renderer.scissor.getStackLength()).to.equal(1); + expect(renderer.scissor.getStackLength()).toEqual(1); renderer.mask.pop(context); - expect(renderer.scissor.getStackLength()).to.equal(0); + expect(renderer.scissor.getStackLength()).toEqual(0); }); it('should return maskData to pool if it does not belong in the object', () => @@ -140,8 +138,8 @@ describe('MaskSystem', () => const maskData = renderer.mask['maskDataPool'][0]; - expect(maskData).to.exist; - expect(maskData._scissorCounter).to.equal(1); + expect(maskData).toBeDefined(); + expect(maskData._scissorCounter).toEqual(1); }); it('should not put maskData to pool if it belongs to object', () => @@ -157,8 +155,8 @@ describe('MaskSystem', () => renderer.mask.push(context, maskData); renderer.mask.pop(context); - expect(maskData._scissorCounter).to.equal(1); - expect(renderer.mask['maskDataPool'].length).to.equal(0); + expect(maskData._scissorCounter).toEqual(1); + expect(renderer.mask['maskDataPool'].length).toEqual(0); } }); @@ -169,7 +167,7 @@ describe('MaskSystem', () => renderer.mask.push(context, maskObject); - expect(renderer.scissor.getStackLength()).to.equal(0); + expect(renderer.scissor.getStackLength()).toEqual(0); renderer.mask.pop(context); }); @@ -188,7 +186,7 @@ describe('MaskSystem', () => renderer.resize(30, 30); const rt = RenderTexture.create({ width: 20, height: 20, resolution: 3 }); - const scissor = sinon.spy(renderer.gl, 'scissor'); + const scissor = jest.spyOn(renderer.gl, 'scissor'); renderer.projection.transform = new Matrix(1, 0, 0, 1, 0.5, 1); renderer.mask.push(context, maskObject); @@ -200,11 +198,11 @@ describe('MaskSystem', () => renderer.mask.push(context, maskObject); renderer.mask.pop(context); - expect(scissor.calledTwice).to.be.true; + expect(scissor).toBeCalledTimes(2); // result Y is 2 because after transform y=8 h=10 and renderer H=60 is inverted , 8-18 becomes 52-42, e.g. Y=2 - expect(scissor.args[0]).to.eql([Math.round(5), Math.round(42), Math.round(12), Math.round(10)]); + expect(scissor.mock.calls[0]).toEqual([Math.round(5), Math.round(42), Math.round(12), Math.round(10)]); // resolution is 3 , and Y is not reversed - expect(scissor.args[1]).to.eql([Math.round(7.5), Math.round(12), Math.round(18), Math.round(15)]); + expect(scissor.mock.calls[1]).toEqual([Math.round(7.5), Math.round(12), Math.round(18), Math.round(15)]); rt.destroy(true); renderer.projection.transform = null; @@ -215,7 +213,7 @@ describe('MaskSystem', () => it('should correctly calculate alpha mask area if filter is present', function () { // fixes slow runs on CI #6604 - this.timeout(5000); + jest.setTimeout(5000); // the bug was fixed in #5444 renderer.resize(10, 10); @@ -241,24 +239,24 @@ describe('MaskSystem', () => { renderer.filter.push(filteredObject, filters); maskSystem.push(filteredObject as IMaskTarget, maskObject); - expect(maskSystem['maskStack'].length).to.equal(1); - expect(maskSystem['maskStack'][0].type).to.equal(MASK_TYPES.SPRITE); - expect(renderer.renderTexture.current).to.exist; + expect(maskSystem['maskStack'].length).toEqual(1); + expect(maskSystem['maskStack'][0].type).toEqual(MASK_TYPES.SPRITE); + expect(renderer.renderTexture.current).toBeDefined(); const filterArea = renderer.renderTexture.current.filterFrame; const expected = maskBounds.clone().ceil(); expected.fit(filteredObject.getBounds()); - expect(filterArea).to.exist; - expect(filterArea.x).to.equal(expected.x); - expect(filterArea.y).to.equal(expected.y); - expect(filterArea.width).to.equal(expected.width); - expect(filterArea.height).to.equal(expected.height); + expect(filterArea).toBeDefined(); + expect(filterArea.x).toEqual(expected.x); + expect(filterArea.y).toEqual(expected.y); + expect(filterArea.width).toEqual(expected.width); + expect(filterArea.height).toEqual(expected.height); maskSystem.pop(filteredObject as IMaskTarget); renderer.filter.pop(); - expect(maskSystem['maskStack'].length).to.equal(0); - expect(renderer.renderTexture.current).to.be.null; + expect(maskSystem['maskStack'].length).toEqual(0); + expect(renderer.renderTexture.current).toBeNull(); maskBounds.x += 1.0; maskBounds.y += 0.5; @@ -286,10 +284,10 @@ describe('MaskSystem', () => const [r, g, b, a] = pixel; - expect(r).to.equal(0xff); - expect(g).to.equal(0xff); - expect(b).to.equal(0xff); - expect(a).to.equal(0xff); + expect(r).toEqual(0xff); + expect(g).toEqual(0xff); + expect(b).toEqual(0xff); + expect(a).toEqual(0xff); }); it('should render correctly without a custom sprite mask filter and a green texture sprite mask', () => @@ -313,10 +311,10 @@ describe('MaskSystem', () => const [r, g, b, a] = pixel; - expect(r).to.equal(0x00); - expect(g).to.equal(0x00); - expect(b).to.equal(0x00); - expect(a).to.equal(0x00); + expect(r).toEqual(0x00); + expect(g).toEqual(0x00); + expect(b).toEqual(0x00); + expect(a).toEqual(0x00); }); it('should render correctly with acustom sprite mask filter and a red texture sprite mask', () => @@ -341,10 +339,10 @@ describe('MaskSystem', () => const [r, g, b, a] = pixel; - expect(r).to.equal(0x00); - expect(g).to.equal(0x00); - expect(b).to.equal(0x00); - expect(a).to.equal(0x00); + expect(r).toEqual(0x00); + expect(g).toEqual(0x00); + expect(b).toEqual(0x00); + expect(a).toEqual(0x00); }); it('should render correctly with a custom sprite mask filter and a green texture sprite mask', () => @@ -369,10 +367,10 @@ describe('MaskSystem', () => const [r, g, b, a] = pixel; - expect(r).to.equal(0xff); - expect(g).to.equal(0xff); - expect(b).to.equal(0xff); - expect(a).to.equal(0xff); + expect(r).toEqual(0xff); + expect(g).toEqual(0xff); + expect(b).toEqual(0xff); + expect(a).toEqual(0xff); }); it('should restore sprite of current sprite mask filter after pop', () => @@ -393,28 +391,28 @@ describe('MaskSystem', () => maskData1.filter = spriteMaskFilterGreen; maskData2.filter = spriteMaskFilterGreen; - expect(maskData1.filter.maskSprite).to.be.null; - expect(maskData2.filter.maskSprite).to.be.null; + expect(maskData1.filter.maskSprite).toBeNull(); + expect(maskData2.filter.maskSprite).toBeNull(); graphics1.mask = maskData1; graphics2.mask = maskData2; renderer.mask.push(graphics1, maskData1); - expect(maskData1.filter.maskSprite).to.equal(sprite1); + expect(maskData1.filter.maskSprite).toEqual(sprite1); renderer.mask.push(graphics2, maskData2); - expect(maskData2.filter.maskSprite).to.equal(sprite2); + expect(maskData2.filter.maskSprite).toEqual(sprite2); renderer.mask.pop(graphics2); - expect(maskData1.filter.maskSprite).to.equal(sprite1); + expect(maskData1.filter.maskSprite).toEqual(sprite1); renderer.mask.pop(graphics1); - expect(maskData1.filter.maskSprite).to.be.null; - expect(maskData2.filter.maskSprite).to.be.null; + expect(maskData1.filter.maskSprite).toBeNull(); + expect(maskData2.filter.maskSprite).toBeNull(); renderTexture.destroy(true); }); diff --git a/packages/core/test/ProjectionSystem.tests.ts b/packages/core/test/ProjectionSystem.tests.ts index f2ce4407b1..f713b271b1 100644 --- a/packages/core/test/ProjectionSystem.tests.ts +++ b/packages/core/test/ProjectionSystem.tests.ts @@ -1,17 +1,16 @@ import { Renderer } from '@pixi/core'; import { Point, Rectangle } from '@pixi/math'; -import { expect } from 'chai'; describe('ProjectionSystem', () => { let renderer: Renderer; - before(() => + beforeAll(() => { renderer = new Renderer(); }); - after(() => + afterAll(() => { renderer = null; }); @@ -25,13 +24,13 @@ describe('ProjectionSystem', () => const sourceOrigin = new Point(16, 16); const clipOrigin = renderer.projection.projectionMatrix.apply(sourceOrigin); - expect(clipOrigin.x).to.equal(-1); - expect(clipOrigin.y).to.equal(1); + expect(clipOrigin.x).toEqual(-1); + expect(clipOrigin.y).toEqual(1); const sourceCorner = new Point(1040, 1040); const clipCorner = renderer.projection.projectionMatrix.apply(sourceCorner); - expect(clipCorner.x).to.equal(1); - expect(clipCorner.y).to.equal(-1); + expect(clipCorner.x).toEqual(1); + expect(clipCorner.y).toEqual(-1); }); }); diff --git a/packages/core/test/RenderTexture.tests.ts b/packages/core/test/RenderTexture.tests.ts index 496dfd6135..b3070b42f5 100644 --- a/packages/core/test/RenderTexture.tests.ts +++ b/packages/core/test/RenderTexture.tests.ts @@ -3,19 +3,18 @@ import { Graphics } from '@pixi/graphics'; import { Container } from '@pixi/display'; import { MSAA_QUALITY } from '@pixi/constants'; import { AlphaFilter } from '@pixi/filter-alpha'; -import { expect } from 'chai'; describe('RenderTexture', () => { let renderer: Renderer; - before(() => + beforeAll(() => { extensions.add(BatchRenderer); renderer = new Renderer(); }); - after(() => + afterAll(() => { extensions.remove(BatchRenderer); renderer.destroy(); @@ -36,9 +35,9 @@ describe('RenderTexture', () => renderer.renderTexture.bind(renderTexture); - expect(depthTexture._glTextures[renderer.CONTEXT_UID]).to.not.equal(undefined); + expect(depthTexture._glTextures[renderer.CONTEXT_UID]).not.toEqual(undefined); renderTexture.destroy(true); - expect(depthTexture._glTextures[renderer.CONTEXT_UID]).to.equal(undefined); + expect(depthTexture._glTextures[renderer.CONTEXT_UID]).toEqual(undefined); }); it('should render correctly with empty mask', () => @@ -70,10 +69,10 @@ describe('RenderTexture', () => gl.readPixels(0, 0, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, pixel); - expect(pixel[0]).to.equal(51); - expect(pixel[1]).to.equal(51); - expect(pixel[2]).to.equal(51); - expect(pixel[3]).to.equal(51); + expect(pixel[0]).toEqual(51); + expect(pixel[1]).toEqual(51); + expect(pixel[2]).toEqual(51); + expect(pixel[3]).toEqual(51); }); it('should render correctly with empty mask and multisampling', () => @@ -110,10 +109,10 @@ describe('RenderTexture', () => gl.readPixels(0, 0, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, pixel); - expect(pixel[0]).to.equal(51); - expect(pixel[1]).to.equal(51); - expect(pixel[2]).to.equal(51); - expect(pixel[3]).to.equal(51); + expect(pixel[0]).toEqual(51); + expect(pixel[1]).toEqual(51); + expect(pixel[2]).toEqual(51); + expect(pixel[3]).toEqual(51); }); it('should render correctly with mask', () => @@ -150,19 +149,19 @@ describe('RenderTexture', () => gl.readPixels(0, 0, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, pixel); - expect(pixel[0]).to.equal(0xff); - expect(pixel[1]).to.equal(0xff); - expect(pixel[2]).to.equal(0xff); - expect(pixel[3]).to.equal(0xff); + expect(pixel[0]).toEqual(0xff); + expect(pixel[1]).toEqual(0xff); + expect(pixel[2]).toEqual(0xff); + expect(pixel[3]).toEqual(0xff); pixel.set([0x80, 0x80, 0x80, 0x80]); gl.readPixels(1, 1, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, pixel); - expect(pixel[0]).to.equal(51); - expect(pixel[1]).to.equal(51); - expect(pixel[2]).to.equal(51); - expect(pixel[3]).to.equal(51); + expect(pixel[0]).toEqual(51); + expect(pixel[1]).toEqual(51); + expect(pixel[2]).toEqual(51); + expect(pixel[3]).toEqual(51); }); it('should render correctly with stencil mask and filter', () => @@ -201,10 +200,10 @@ describe('RenderTexture', () => gl.readPixels(0, 0, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, pixel); - expect(pixel[0]).to.equal(0xff); - expect(pixel[1]).to.equal(0xff); - expect(pixel[2]).to.equal(0xff); - expect(pixel[3]).to.equal(0xff); + expect(pixel[0]).toEqual(0xff); + expect(pixel[1]).toEqual(0xff); + expect(pixel[2]).toEqual(0xff); + expect(pixel[3]).toEqual(0xff); }); it('should render correctly with mask and multisampling', () => @@ -246,19 +245,19 @@ describe('RenderTexture', () => gl.readPixels(0, 0, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, pixel); - expect(pixel[0]).to.equal(0xff); - expect(pixel[1]).to.equal(0xff); - expect(pixel[2]).to.equal(0xff); - expect(pixel[3]).to.equal(0xff); + expect(pixel[0]).toEqual(0xff); + expect(pixel[1]).toEqual(0xff); + expect(pixel[2]).toEqual(0xff); + expect(pixel[3]).toEqual(0xff); pixel.set([0x80, 0x80, 0x80, 0x80]); gl.readPixels(1, 1, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, pixel); - expect(pixel[0]).to.equal(51); - expect(pixel[1]).to.equal(51); - expect(pixel[2]).to.equal(51); - expect(pixel[3]).to.equal(51); + expect(pixel[0]).toEqual(51); + expect(pixel[1]).toEqual(51); + expect(pixel[2]).toEqual(51); + expect(pixel[3]).toEqual(51); }); it('should resize framebuffer', () => @@ -289,10 +288,10 @@ describe('RenderTexture', () => gl.readPixels(1, 1, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, pixel); - expect(pixel[0]).to.equal(0xff); - expect(pixel[1]).to.equal(0xff); - expect(pixel[2]).to.equal(0xff); - expect(pixel[3]).to.equal(0xff); + expect(pixel[0]).toEqual(0xff); + expect(pixel[1]).toEqual(0xff); + expect(pixel[2]).toEqual(0xff); + expect(pixel[3]).toEqual(0xff); }); it('should resize multisampled framebuffer', () => @@ -329,9 +328,9 @@ describe('RenderTexture', () => gl.readPixels(1, 1, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, pixel); - expect(pixel[0]).to.equal(0xff); - expect(pixel[1]).to.equal(0xff); - expect(pixel[2]).to.equal(0xff); - expect(pixel[3]).to.equal(0xff); + expect(pixel[0]).toEqual(0xff); + expect(pixel[1]).toEqual(0xff); + expect(pixel[2]).toEqual(0xff); + expect(pixel[3]).toEqual(0xff); }); }); diff --git a/packages/core/test/RenderTexturePool.tests.ts b/packages/core/test/RenderTexturePool.tests.ts index 0d3ef4264b..f7fd65f0dc 100644 --- a/packages/core/test/RenderTexturePool.tests.ts +++ b/packages/core/test/RenderTexturePool.tests.ts @@ -1,5 +1,4 @@ import { RenderTexturePool } from '@pixi/core'; -import { expect } from 'chai'; describe('RenderTexturePool', () => { @@ -9,23 +8,23 @@ describe('RenderTexturePool', () => renderTexturePool.setScreenSize({ width: 100, height: 100 }); - expect(renderTexturePool.enableFullScreen).to.be.true; + expect(renderTexturePool.enableFullScreen).toBe(true); const renderTexture = renderTexturePool.getOptimalTexture(100, 100); const baseRenderTexture = renderTexture.baseTexture; - expect(renderTexturePool.texturePool[RenderTexturePool.SCREEN_KEY]?.length ?? 0).to.equal(0); + expect(renderTexturePool.texturePool[RenderTexturePool.SCREEN_KEY]?.length ?? 0).toEqual(0); renderTexturePool.returnTexture(renderTexture); - expect(renderTexturePool.texturePool[RenderTexturePool.SCREEN_KEY]?.length ?? 0).to.equal(1); + expect(renderTexturePool.texturePool[RenderTexturePool.SCREEN_KEY]?.length ?? 0).toEqual(1); renderTexturePool.setScreenSize({ width: 50, height: 50 }); - expect(renderTexturePool.texturePool[RenderTexturePool.SCREEN_KEY]?.length ?? 0).to.equal(0); + expect(renderTexturePool.texturePool[RenderTexturePool.SCREEN_KEY]?.length ?? 0).toEqual(0); - expect(renderTexture.baseTexture).to.be.null; - expect(baseRenderTexture.destroyed).to.be.true; + expect(renderTexture.baseTexture).toBeNull(); + expect(baseRenderTexture.destroyed).toBe(true); renderTexturePool.clear(true); }); @@ -38,27 +37,27 @@ describe('RenderTexturePool', () => const screenWidth = viewWidth / resolution; const screenHeight = viewHeight / resolution; - expect(screenWidth * resolution).to.equal(1419.0000000000002); - expect(screenHeight * resolution).to.equal(982.9999999999999); + expect(screenWidth * resolution).toEqual(1419.0000000000002); + expect(screenHeight * resolution).toEqual(982.9999999999999); const renderTexturePool = new RenderTexturePool(); renderTexturePool.setScreenSize({ width: viewWidth, height: viewHeight }); - expect(renderTexturePool.enableFullScreen).to.be.true; + expect(renderTexturePool.enableFullScreen).toBe(true); const renderTexture = renderTexturePool.getOptimalTexture(screenWidth, screenHeight, resolution); const baseRenderTexture = renderTexture.baseTexture; - expect(baseRenderTexture.width).to.equal(screenWidth); - expect(baseRenderTexture.height).to.equal(screenHeight); - expect(baseRenderTexture.realWidth).to.equal(viewWidth); - expect(baseRenderTexture.realHeight).to.equal(viewHeight); - expect(renderTexturePool.texturePool[RenderTexturePool.SCREEN_KEY]?.length ?? 0).to.equal(0); + expect(baseRenderTexture.width).toEqual(screenWidth); + expect(baseRenderTexture.height).toEqual(screenHeight); + expect(baseRenderTexture.realWidth).toEqual(viewWidth); + expect(baseRenderTexture.realHeight).toEqual(viewHeight); + expect(renderTexturePool.texturePool[RenderTexturePool.SCREEN_KEY]?.length ?? 0).toEqual(0); renderTexturePool.returnTexture(renderTexture); - expect(renderTexturePool.texturePool[RenderTexturePool.SCREEN_KEY]?.length ?? 0).to.equal(1); + expect(renderTexturePool.texturePool[RenderTexturePool.SCREEN_KEY]?.length ?? 0).toEqual(1); renderTexturePool.clear(true); }); diff --git a/packages/core/test/RenderTextureSystem.tests.ts b/packages/core/test/RenderTextureSystem.tests.ts index 07e9d749f7..8a1a975663 100644 --- a/packages/core/test/RenderTextureSystem.tests.ts +++ b/packages/core/test/RenderTextureSystem.tests.ts @@ -1,17 +1,16 @@ import { Renderer } from '@pixi/core'; import { Rectangle } from '@pixi/math'; -import { expect } from 'chai'; describe('RenderTextureSystem', () => { let renderer: Renderer; - before(() => + beforeAll(() => { renderer = new Renderer({ resolution: 4, width: 1024, height: 1024 }); }); - after(() => + afterAll(() => { renderer = null; }); @@ -22,17 +21,17 @@ describe('RenderTextureSystem', () => const viewport = renderer.framebuffer.viewport; - expect(viewport.x).to.equal(0); - expect(viewport.y).to.equal(0); - expect(viewport.width).to.equal(renderer.width); - expect(viewport.height).to.equal(renderer.height); + expect(viewport.x).toEqual(0); + expect(viewport.y).toEqual(0); + expect(viewport.width).toEqual(renderer.width); + expect(viewport.height).toEqual(renderer.height); const destinationFrame = renderer.renderTexture.destinationFrame; - expect(destinationFrame.x).to.equal(0); - expect(destinationFrame.y).to.equal(0); - expect(destinationFrame.width).to.equal(renderer.width / renderer.resolution); - expect(destinationFrame.height).to.equal(renderer.height / renderer.resolution); + expect(destinationFrame.x).toEqual(0); + expect(destinationFrame.y).toEqual(0); + expect(destinationFrame.width).toEqual(renderer.width / renderer.resolution); + expect(destinationFrame.height).toEqual(renderer.height / renderer.resolution); }); it('rebinding with the same source & destination frame should change nothing', () => @@ -44,14 +43,14 @@ describe('RenderTextureSystem', () => renderTextureSystem.bind(null, sourceFrame, destinationFrame); renderTextureSystem.bind(null, renderTextureSystem.sourceFrame, renderTextureSystem.destinationFrame); - expect(destinationFrame.x).to.equal(renderTextureSystem.destinationFrame.x); - expect(destinationFrame.y).to.equal(renderTextureSystem.destinationFrame.y); - expect(destinationFrame.width).to.equal(renderTextureSystem.destinationFrame.width); - expect(destinationFrame.height).to.equal(renderTextureSystem.destinationFrame.height); + expect(destinationFrame.x).toEqual(renderTextureSystem.destinationFrame.x); + expect(destinationFrame.y).toEqual(renderTextureSystem.destinationFrame.y); + expect(destinationFrame.width).toEqual(renderTextureSystem.destinationFrame.width); + expect(destinationFrame.height).toEqual(renderTextureSystem.destinationFrame.height); - expect(sourceFrame.x).to.equal(renderTextureSystem.sourceFrame.x); - expect(sourceFrame.y).to.equal(renderTextureSystem.sourceFrame.y); - expect(sourceFrame.width).to.equal(renderTextureSystem.sourceFrame.width); - expect(sourceFrame.height).to.equal(renderTextureSystem.sourceFrame.height); + expect(sourceFrame.x).toEqual(renderTextureSystem.sourceFrame.x); + expect(sourceFrame.y).toEqual(renderTextureSystem.sourceFrame.y); + expect(sourceFrame.width).toEqual(renderTextureSystem.sourceFrame.width); + expect(sourceFrame.height).toEqual(renderTextureSystem.sourceFrame.height); }); }); diff --git a/packages/core/test/Renderer.tests.ts b/packages/core/test/Renderer.tests.ts index 60f384fe7d..4123c1db1b 100644 --- a/packages/core/test/Renderer.tests.ts +++ b/packages/core/test/Renderer.tests.ts @@ -3,8 +3,6 @@ import { Graphics } from '@pixi/graphics'; import { settings } from '@pixi/settings'; import { ENV, MSAA_QUALITY } from '@pixi/constants'; import { skipHello } from '@pixi/utils'; -import sinon from 'sinon'; -import { expect } from 'chai'; skipHello(); @@ -17,8 +15,7 @@ describe('Renderer', () => try { - expect(renderer.geometry.hasVao).to.equal(false); - // expect(renderer.plugins.sprite.MAX_TEXTURES).to.equal(1); + expect(renderer.geometry.hasVao).toEqual(false); } finally { @@ -44,14 +41,13 @@ describe('Renderer', () => it('should emit resize event', () => { const renderer = new Renderer({ width: 1, height: 1 }); - const spy = sinon.spy(); + const spy = jest.fn(); renderer.on('resize', spy); renderer.resize(2, 4); - expect(spy.calledOnce).to.be.true; - expect(spy.firstCall.args[0]).to.equal(2); - expect(spy.firstCall.args[1]).to.equal(4); + expect(spy).toBeCalledTimes(1); + expect(spy).toHaveBeenCalledWith(2, 4); renderer.destroy(); }); @@ -62,7 +58,7 @@ describe('Renderer', () => let curRenderer: ObjectRenderer; let objRenderer: ObjectRenderer; - before(() => + beforeAll(() => { extensions.add(BatchRenderer); renderer = new Renderer(); @@ -71,17 +67,17 @@ describe('Renderer', () => beforeEach(() => { curRenderer = { - start: sinon.spy(), - stop: sinon.spy(), + start: jest.fn(), + stop: jest.fn(), } as unknown as ObjectRenderer; objRenderer = { - start: sinon.spy(), - stop: sinon.spy(), + start: jest.fn(), + stop: jest.fn(), } as unknown as ObjectRenderer; renderer.batch.currentRenderer = curRenderer; }); - after(() => + afterAll(() => { extensions.remove(BatchRenderer); renderer.destroy(); @@ -93,17 +89,17 @@ describe('Renderer', () => it('should set objectRenderer as new current renderer', () => { renderer.batch.setObjectRenderer(objRenderer); - expect(curRenderer.stop).to.be.calledOnce; - expect(renderer.batch.currentRenderer).to.be.equal(objRenderer); - expect(objRenderer.start).to.be.calledOnce; + expect(curRenderer.stop).toHaveBeenCalledOnce(); + expect(renderer.batch.currentRenderer).toEqual(objRenderer); + expect(objRenderer.start).toHaveBeenCalledOnce(); }); it('should do nothing if objectRenderer is already used as current', () => { renderer.batch.setObjectRenderer(curRenderer); - expect(renderer.batch.currentRenderer).to.be.equal(curRenderer); - expect(curRenderer.stop).to.not.be.called; - expect(curRenderer.start).to.not.be.called; + expect(renderer.batch.currentRenderer).toEqual(curRenderer); + expect(curRenderer.stop).not.toBeCalled(); + expect(curRenderer.start).not.toBeCalled(); }); it('should generate a multisampled texture', () => @@ -128,10 +124,10 @@ describe('Renderer', () => gl.readPixels(0, 0, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, pixel); - expect(pixel[0]).to.equal(0xff); - expect(pixel[1]).to.equal(0xff); - expect(pixel[2]).to.equal(0xff); - expect(pixel[3]).to.equal(0xff); + expect(pixel[0]).toEqual(0xff); + expect(pixel[1]).toEqual(0xff); + expect(pixel[2]).toEqual(0xff); + expect(pixel[3]).toEqual(0xff); }); }); }); diff --git a/packages/core/test/SVGResource.tests.ts b/packages/core/test/SVGResource.tests.ts index c889975115..c12f9372d4 100644 --- a/packages/core/test/SVGResource.tests.ts +++ b/packages/core/test/SVGResource.tests.ts @@ -1,13 +1,12 @@ import { SVGResource } from '@pixi/core'; import fs from 'fs'; import path from 'path'; -import { expect } from 'chai'; describe('SVGResource', () => { let resources: string; - before(() => + beforeAll(() => { resources = path.join(__dirname, 'resources'); }); @@ -20,12 +19,12 @@ describe('SVGResource', () => const buffer = fs.readFileSync(url, 'utf8'); const resource = new SVGResource(buffer, { autoLoad: false }); - expect(resource.valid).to.equal(false); + expect(resource.valid).toEqual(false); resource.load().then(() => { - expect(resource.valid).to.equal(true); - expect(resource.width).to.equal(100); - expect(resource.height).to.equal(100); + expect(resource.valid).toEqual(true); + expect(resource.width).toEqual(100); + expect(resource.height).toEqual(100); done(); }); @@ -37,12 +36,12 @@ describe('SVGResource', () => const buffer = fs.readFileSync(url, 'utf8'); const resource = new SVGResource(buffer, { autoLoad: false }); - expect(resource.valid).to.equal(false); + expect(resource.valid).toEqual(false); resource.load().then(() => { - expect(resource.valid).to.equal(true); - expect(resource.width).to.equal(100); - expect(resource.height).to.equal(100); + expect(resource.valid).toEqual(true); + expect(resource.width).toEqual(100); + expect(resource.height).toEqual(100); done(); }); @@ -55,12 +54,12 @@ describe('SVGResource', () => { autoLoad: false } ); - expect(resource.valid).to.equal(false); + expect(resource.valid).toEqual(false); resource.load().then(() => { - expect(resource.valid).to.equal(true); - expect(resource.width).to.equal(100); - expect(resource.height).to.equal(100); + expect(resource.valid).toEqual(true); + expect(resource.width).toEqual(100); + expect(resource.height).toEqual(100); done(); }); @@ -78,8 +77,8 @@ describe('SVGResource', () => resource.load().then(() => { - expect(resource.width).to.equal(212); - expect(resource.height).to.equal(212); + expect(resource.width).toEqual(212); + expect(resource.height).toEqual(212); done(); }); @@ -97,8 +96,8 @@ describe('SVGResource', () => resource.load().then(() => { - expect(resource.width).to.equal(10); - expect(resource.height).to.equal(10); + expect(resource.width).toEqual(10); + expect(resource.height).toEqual(10); done(); }); @@ -117,8 +116,8 @@ describe('SVGResource', () => resource.load().then(() => { - expect(resource.width).to.equal(10); - expect(resource.height).to.equal(10); + expect(resource.width).toEqual(10); + expect(resource.height).toEqual(10); done(); }); @@ -130,12 +129,12 @@ describe('SVGResource', () => const buffer = fs.readFileSync(url, 'utf8'); const resource = new SVGResource(buffer, { autoLoad: false }); - expect(resource.valid).to.equal(false); + expect(resource.valid).toEqual(false); resource.load().then(() => { - expect(resource.valid).to.equal(true); - expect(resource.width).to.equal(100); - expect(resource.height).to.equal(100); + expect(resource.valid).toEqual(true); + expect(resource.width).toEqual(100); + expect(resource.height).toEqual(100); done(); }); @@ -147,13 +146,13 @@ describe('SVGResource', () => const buffer = fs.readFileSync(url, 'utf8'); const resource = new SVGResource(buffer, { autoLoad: false }); - expect(buffer.startsWith(' { - expect(resource.valid).to.equal(true); - expect(resource.width).to.equal(48); - expect(resource.height).to.equal(48); + expect(resource.valid).toEqual(true); + expect(resource.width).toEqual(48); + expect(resource.height).toEqual(48); done(); }); @@ -165,7 +164,7 @@ describe('SVGResource', () => it('should exist', () => { expect(SVGResource.getSize) - .to.be.a('function'); + .toBeInstanceOf(Function); }); it('should return a size object with width and height from an SVG string', () => @@ -173,11 +172,11 @@ describe('SVGResource', () => const svgSize = SVGResource.getSize(''); expect(svgSize) - .to.be.an('object'); + .toBeObject(); expect(svgSize.width) - .to.equal(64); + .toEqual(64); expect(svgSize.height) - .to.equal(32); + .toEqual(32); }); it('should return a size object from an SVG string with inverted quotes', () => @@ -185,11 +184,11 @@ describe('SVGResource', () => const svgSize = SVGResource.getSize(''); // eslint-disable-line quotes expect(svgSize) - .to.be.an('object'); + .toBeObject(); expect(svgSize.width) - .to.equal(64); + .toEqual(64); expect(svgSize.height) - .to.equal(32); + .toEqual(32); }); it('should work with px values', () => @@ -197,11 +196,11 @@ describe('SVGResource', () => const svgSize = SVGResource.getSize(''); expect(svgSize) - .to.be.an('object'); + .toBeObject(); expect(svgSize.width) - .to.equal(64); + .toEqual(64); expect(svgSize.height) - .to.equal(32); + .toEqual(32); }); it('should return an empty object when width and/or height is missing', () => @@ -209,7 +208,7 @@ describe('SVGResource', () => const svgSize = SVGResource.getSize(''); expect(Object.keys(svgSize).length) - .to.equal(0); + .toEqual(0); }); }); @@ -219,7 +218,7 @@ describe('SVGResource', () => { const didPass = SVGResource.test(``, 'xml'); - expect(didPass).to.equal(true); + expect(didPass).toEqual(true); }); it('should pass SVG document with prolog', () => @@ -230,7 +229,7 @@ describe('SVGResource', () => Hello world `, 'xml'); - expect(didPass).to.equal(true); + expect(didPass).toEqual(true); }); it('should pass SVG document with only prolog, no comments', () => @@ -239,7 +238,7 @@ describe('SVGResource', () => `Hello world`, 'xml'); - expect(didPass).to.equal(true); + expect(didPass).toEqual(true); }); it('should not pass HTML fragment', () => @@ -248,7 +247,7 @@ describe('SVGResource', () => `This is a mistake`, 'xml'); - expect(didPass).to.equal(false); + expect(didPass).toEqual(false); }); }); }); diff --git a/packages/core/test/Shader.tests.ts b/packages/core/test/Shader.tests.ts index 40d8aea235..487dbdbcf8 100644 --- a/packages/core/test/Shader.tests.ts +++ b/packages/core/test/Shader.tests.ts @@ -17,14 +17,14 @@ void main() { let renderer: Renderer; let geometry: Geometry; - before(() => + beforeAll(() => { renderer = new Renderer(); geometry = new Geometry() .addAttribute('aVertexPosition', [-100, -100, 100, -100, 100, 100], 2); }); - after(() => + afterAll(() => { renderer.destroy(); renderer = null; diff --git a/packages/core/test/ShaderSystem.tests.ts b/packages/core/test/ShaderSystem.tests.ts index 3861a2fab2..2200e4eaba 100644 --- a/packages/core/test/ShaderSystem.tests.ts +++ b/packages/core/test/ShaderSystem.tests.ts @@ -1,6 +1,5 @@ import { Renderer, Shader, CanvasResource, Geometry, UniformGroup, BaseTexture } from '@pixi/core'; import { skipHello } from '@pixi/utils'; -import { expect } from 'chai'; skipHello(); @@ -49,12 +48,12 @@ void main() { let renderer: Renderer; - before(() => + beforeAll(() => { renderer = new Renderer(); }); - after(() => + afterAll(() => { renderer.destroy(); renderer = null; @@ -75,7 +74,7 @@ void main() { renderer.shader.bind(shader); renderer.geometry.bind(geometry); // actually, order is not important. But if behaviour changes, we'll be better knowing about that - expect(renderer.texture.boundTextures[0]).to.equal(texture2); - expect(renderer.texture.boundTextures[1]).to.equal(texture1); + expect(renderer.texture.boundTextures[0]).toEqual(texture2); + expect(renderer.texture.boundTextures[1]).toEqual(texture1); }); }); diff --git a/packages/core/test/Texture.tests.ts b/packages/core/test/Texture.tests.ts index 07426a3730..d6517ea585 100644 --- a/packages/core/test/Texture.tests.ts +++ b/packages/core/test/Texture.tests.ts @@ -2,7 +2,7 @@ import { BaseTextureCache, TextureCache } from '@pixi/utils'; import { Rectangle, Point } from '@pixi/math'; import { BaseTexture, ImageResource, Texture } from '@pixi/core'; import { settings } from '@pixi/settings'; -import { expect } from 'chai'; + import path from 'path'; const URL = 'foo.png'; @@ -38,11 +38,11 @@ describe('Texture', () => Texture.fromLoader(image, URL, NAME).then((texture) => { - expect((texture.baseTexture.resource as ImageResource).url).to.equal('foo.png'); - expect(TextureCache[NAME]).to.equal(texture); - expect(BaseTextureCache[NAME]).to.equal(texture.baseTexture); - expect(TextureCache[URL]).to.equal(texture); - expect(BaseTextureCache[URL]).to.equal(texture.baseTexture); + expect((texture.baseTexture.resource as ImageResource).url).toEqual('foo.png'); + expect(TextureCache[NAME]).toEqual(texture); + expect(BaseTextureCache[NAME]).toEqual(texture.baseTexture); + expect(TextureCache[URL]).toEqual(texture); + expect(BaseTextureCache[URL]).toEqual(texture.baseTexture); done(); }); @@ -56,14 +56,14 @@ describe('Texture', () => Texture.addToCache(texture, NAME); Texture.addToCache(texture, NAME2); - expect(texture.textureCacheIds.indexOf(NAME)).to.equal(0); - expect(texture.textureCacheIds.indexOf(NAME2)).to.equal(1); - expect(TextureCache[NAME]).to.equal(texture); - expect(TextureCache[NAME2]).to.equal(texture); + expect(texture.textureCacheIds.indexOf(NAME)).toEqual(0); + expect(texture.textureCacheIds.indexOf(NAME2)).toEqual(1); + expect(TextureCache[NAME]).toEqual(texture); + expect(TextureCache[NAME2]).toEqual(texture); texture.destroy(); - expect(texture.textureCacheIds).to.equal(null); - expect(TextureCache[NAME]).to.equal(undefined); - expect(TextureCache[NAME2]).to.equal(undefined); + expect(texture.textureCacheIds).toEqual(null); + expect(TextureCache[NAME]).toEqual(undefined); + expect(TextureCache[NAME2]).toEqual(undefined); }); it('should use pixiIdPrefix correctly', () => @@ -75,11 +75,11 @@ describe('Texture', () => const baseTexture = texture.baseTexture as BaseTexture; const _pixiId = (baseTexture.resource.source as PixiCanvas)._pixiId; - expect(_pixiId.indexOf('unittest_')).to.equal(0); - expect(baseTexture.textureCacheIds.indexOf(_pixiId)).to.equal(0); - expect(BaseTextureCache[_pixiId]).to.equal(baseTexture); - expect(texture.textureCacheIds.indexOf(_pixiId)).to.equal(0); - expect(TextureCache[_pixiId]).to.equal(texture); + expect(_pixiId.indexOf('unittest_')).toEqual(0); + expect(baseTexture.textureCacheIds.indexOf(_pixiId)).toEqual(0); + expect(BaseTextureCache[_pixiId]).toEqual(baseTexture); + expect(texture.textureCacheIds.indexOf(_pixiId)).toEqual(0); + expect(TextureCache[_pixiId]).toEqual(texture); }); it('should be added to the texture cache correctly, ' @@ -91,15 +91,15 @@ describe('Texture', () => BaseTexture.addToCache(texture.baseTexture, NAME); Texture.addToCache(texture, NAME); - expect(texture.baseTexture.textureCacheIds.indexOf(NAME)).to.equal(0); - expect(texture.textureCacheIds.indexOf(NAME)).to.equal(0); - expect(BaseTextureCache[NAME]).to.equal(texture.baseTexture); - expect(TextureCache[NAME]).to.equal(texture); + expect(texture.baseTexture.textureCacheIds.indexOf(NAME)).toEqual(0); + expect(texture.textureCacheIds.indexOf(NAME)).toEqual(0); + expect(BaseTextureCache[NAME]).toEqual(texture.baseTexture); + expect(TextureCache[NAME]).toEqual(texture); Texture.removeFromCache(NAME); - expect(texture.baseTexture.textureCacheIds.indexOf(NAME)).to.equal(0); - expect(texture.textureCacheIds.indexOf(NAME)).to.equal(-1); - expect(BaseTextureCache[NAME]).to.equal(texture.baseTexture); - expect(TextureCache[NAME]).to.equal(undefined); + expect(texture.baseTexture.textureCacheIds.indexOf(NAME)).toEqual(0); + expect(texture.textureCacheIds.indexOf(NAME)).toEqual(-1); + expect(BaseTextureCache[NAME]).toEqual(texture.baseTexture); + expect(TextureCache[NAME]).toEqual(undefined); }); it('should remove Texture from entire cache using removeFromCache (by Texture instance)', () => @@ -110,15 +110,15 @@ describe('Texture', () => Texture.addToCache(texture, NAME); Texture.addToCache(texture, NAME2); - expect(texture.textureCacheIds.indexOf(NAME)).to.equal(0); - expect(texture.textureCacheIds.indexOf(NAME2)).to.equal(1); - expect(TextureCache[NAME]).to.equal(texture); - expect(TextureCache[NAME2]).to.equal(texture); + expect(texture.textureCacheIds.indexOf(NAME)).toEqual(0); + expect(texture.textureCacheIds.indexOf(NAME2)).toEqual(1); + expect(TextureCache[NAME]).toEqual(texture); + expect(TextureCache[NAME2]).toEqual(texture); Texture.removeFromCache(texture); - expect(texture.textureCacheIds.indexOf(NAME)).to.equal(-1); - expect(texture.textureCacheIds.indexOf(NAME2)).to.equal(-1); - expect(TextureCache[NAME]).to.equal(undefined); - expect(TextureCache[NAME2]).to.equal(undefined); + expect(texture.textureCacheIds.indexOf(NAME)).toEqual(-1); + expect(texture.textureCacheIds.indexOf(NAME2)).toEqual(-1); + expect(TextureCache[NAME]).toEqual(undefined); + expect(TextureCache[NAME2]).toEqual(undefined); }); it('should remove Texture from single cache entry using removeFromCache (by id)', () => @@ -129,15 +129,15 @@ describe('Texture', () => Texture.addToCache(texture, NAME); Texture.addToCache(texture, NAME2); - expect(texture.textureCacheIds.indexOf(NAME)).to.equal(0); - expect(texture.textureCacheIds.indexOf(NAME2)).to.equal(1); - expect(TextureCache[NAME]).to.equal(texture); - expect(TextureCache[NAME2]).to.equal(texture); + expect(texture.textureCacheIds.indexOf(NAME)).toEqual(0); + expect(texture.textureCacheIds.indexOf(NAME2)).toEqual(1); + expect(TextureCache[NAME]).toEqual(texture); + expect(TextureCache[NAME2]).toEqual(texture); Texture.removeFromCache(NAME); - expect(texture.textureCacheIds.indexOf(NAME)).to.equal(-1); - expect(texture.textureCacheIds.indexOf(NAME2)).to.equal(0); - expect(TextureCache[NAME]).to.equal(undefined); - expect(TextureCache[NAME2]).to.equal(texture); + expect(texture.textureCacheIds.indexOf(NAME)).toEqual(-1); + expect(texture.textureCacheIds.indexOf(NAME2)).toEqual(0); + expect(TextureCache[NAME]).toEqual(undefined); + expect(TextureCache[NAME2]).toEqual(texture); }); it('should not remove Texture from cache if Texture instance has been replaced', () => @@ -148,15 +148,15 @@ describe('Texture', () => const texture2 = new Texture(new BaseTexture()); Texture.addToCache(texture, NAME); - expect(texture.textureCacheIds.indexOf(NAME)).to.equal(0); - expect(TextureCache[NAME]).to.equal(texture); + expect(texture.textureCacheIds.indexOf(NAME)).toEqual(0); + expect(TextureCache[NAME]).toEqual(texture); Texture.addToCache(texture2, NAME); - expect(texture2.textureCacheIds.indexOf(NAME)).to.equal(0); - expect(TextureCache[NAME]).to.equal(texture2); + expect(texture2.textureCacheIds.indexOf(NAME)).toEqual(0); + expect(TextureCache[NAME]).toEqual(texture2); Texture.removeFromCache(texture); - expect(texture.textureCacheIds.indexOf(NAME)).to.equal(-1); - expect(texture2.textureCacheIds.indexOf(NAME)).to.equal(0); - expect(TextureCache[NAME]).to.equal(texture2); + expect(texture.textureCacheIds.indexOf(NAME)).toEqual(-1); + expect(texture2.textureCacheIds.indexOf(NAME)).toEqual(0); + expect(TextureCache[NAME]).toEqual(texture2); }); it('destroying a destroyed texture should not throw an error', () => @@ -184,14 +184,14 @@ describe('Texture', () => const clone = texture.clone(); const toJSON = ({ x, y, width, height }: any) => ({ x, y, width, height }); - expect(clone.baseTexture).to.equal(baseTexture); - expect(clone.frame).to.not.equal(texture.frame); - expect(toJSON(clone.frame)).to.deep.equal(toJSON(texture.frame)); - expect(clone.trim).to.be.undefined; - expect(clone.orig).to.not.equal(texture.orig); - expect(toJSON(clone.orig)).to.deep.equal(toJSON(texture.orig)); - expect(clone.frame === clone.orig).to.equal(texture.frame === texture.orig); - expect(clone.noFrame).to.equal(texture.noFrame); + expect(clone.baseTexture).toEqual(baseTexture); + expect(clone.frame).not.toBe(texture.frame); + expect(toJSON(clone.frame)).toEqual(toJSON(texture.frame)); + expect(clone.trim).toBeUndefined(); + expect(clone.orig).not.toBe(texture.orig); + expect(toJSON(clone.orig)).toEqual(toJSON(texture.orig)); + expect(clone.frame === clone.orig).toEqual(texture.frame === texture.orig); + expect(clone.noFrame).toEqual(texture.noFrame); clone.destroy(); texture.destroy(true); @@ -209,19 +209,19 @@ describe('Texture', () => const clone = texture.clone(); const toJSON = ({ x, y, width, height }: any) => ({ x, y, width, height }); - expect(clone.baseTexture).to.equal(baseTexture); - expect(clone.defaultAnchor).to.not.equal(texture.defaultAnchor); - expect(clone.defaultAnchor.x).to.equal(texture.defaultAnchor.x); - expect(clone.defaultAnchor.y).to.equal(texture.defaultAnchor.y); - expect(clone.frame).to.not.equal(texture.frame); - expect(toJSON(clone.frame)).to.deep.equal(toJSON(texture.frame)); - expect(clone.trim).to.not.equal(texture.trim); - expect(toJSON(clone.trim)).to.deep.equal(toJSON(texture.trim)); - expect(clone.orig).to.not.equal(texture.orig); - expect(toJSON(clone.orig)).to.deep.equal(toJSON(texture.orig)); - expect(clone.rotate).to.equal(texture.rotate); - expect(clone.frame === clone.orig).to.equal(texture.frame === texture.orig); - expect(clone.noFrame).to.equal(texture.noFrame); + expect(clone.baseTexture).toEqual(baseTexture); + expect(clone.defaultAnchor).not.toBe(texture.defaultAnchor); + expect(clone.defaultAnchor.x).toEqual(texture.defaultAnchor.x); + expect(clone.defaultAnchor.y).toEqual(texture.defaultAnchor.y); + expect(clone.frame).not.toBe(texture.frame); + expect(toJSON(clone.frame)).toEqual(toJSON(texture.frame)); + expect(clone.trim).not.toBe(texture.trim); + expect(toJSON(clone.trim)).toEqual(toJSON(texture.trim)); + expect(clone.orig).not.toBe(texture.orig); + expect(toJSON(clone.orig)).toEqual(toJSON(texture.orig)); + expect(clone.rotate).toEqual(texture.rotate); + expect(clone.frame === clone.orig).toEqual(texture.frame === texture.orig); + expect(clone.noFrame).toEqual(texture.noFrame); clone.destroy(); texture.destroy(true); @@ -236,26 +236,26 @@ describe('Texture', () => const texture = Texture.from(canvas); - expect(texture.noFrame).to.equal(true); - expect(texture.width).to.equal(50); + expect(texture.noFrame).toEqual(true); + expect(texture.width).toEqual(50); canvas.width = 100; texture.update(); - expect(texture.width).to.equal(100); + expect(texture.width).toEqual(100); canvas.height = 70; texture.update(); - expect(texture.height).to.equal(70); + expect(texture.height).toEqual(70); const clone = texture.clone(); - expect(texture.noFrame).to.equal(true); - expect(clone.width).to.equal(100); - expect(clone.height).to.equal(70); + expect(texture.noFrame).toEqual(true); + expect(clone.width).toEqual(100); + expect(clone.height).toEqual(70); canvas.width = 40; clone.update(); - expect(clone.width).to.equal(40); + expect(clone.width).toEqual(40); canvas.height = 60; clone.update(); - expect(clone.height).to.equal(60); + expect(clone.height).toEqual(60); clone.destroy(); texture.destroy(true); @@ -269,25 +269,25 @@ describe('Texture', () => let texture = new Texture(baseTexture); - expect(texture.noFrame).to.equal(true); - expect(texture.width).to.equal(50); + expect(texture.noFrame).toEqual(true); + expect(texture.width).toEqual(50); baseTexture.setSize(100, 70); - expect(texture.width).to.equal(100); - expect(texture.height).to.equal(70); + expect(texture.width).toEqual(100); + expect(texture.height).toEqual(70); texture.frame = new Rectangle(1, 1, 10, 20); - expect(texture.noFrame).to.equal(false); + expect(texture.noFrame).toEqual(false); baseTexture.setSize(110, 80); - expect(texture.width).to.equal(10); - expect(texture.height).to.equal(20); + expect(texture.width).toEqual(10); + expect(texture.height).toEqual(20); texture.destroy(true); baseTexture = new BaseTexture(); texture = new Texture(baseTexture, new Rectangle(1, 1, 10, 20)); - expect(texture.noFrame).to.equal(false); + expect(texture.noFrame).toEqual(false); baseTexture.setSize(50, 50); - expect(texture.width).to.equal(10); - expect(texture.height).to.equal(20); + expect(texture.width).toEqual(10); + expect(texture.height).toEqual(20); texture.destroy(true); }); @@ -295,9 +295,9 @@ describe('Texture', () => { const id = 'baz'; - expect(() => Texture.from(id, {}, true)).to.throw(`The cacheId "${id}" does not exist in TextureCache.`); + expect(() => Texture.from(id, {}, true)).toThrowError(`The cacheId "${id}" does not exist in TextureCache.`); settings.STRICT_TEXTURE_CACHE = true; - expect(() => Texture.from(id)).to.throw(`The cacheId "${id}" does not exist in TextureCache.`); + expect(() => Texture.from(id)).toThrowError(`The cacheId "${id}" does not exist in TextureCache.`); settings.STRICT_TEXTURE_CACHE = false; }); @@ -308,11 +308,11 @@ describe('Texture', () => const baseTexture = new BaseTexture(null, { width: 100, height: 100 }); const texture1 = Texture.from(baseTexture); - expect(baseTexture.cacheId).to.not.be.null; - expect(BaseTextureCache[baseTexture.cacheId]).to.equal(baseTexture); - expect(texture1.baseTexture).to.equal(baseTexture); + expect(baseTexture.cacheId).not.toBeNull(); + expect(BaseTextureCache[baseTexture.cacheId]).toEqual(baseTexture); + expect(texture1.baseTexture).toEqual(baseTexture); - expect(Texture.from(baseTexture)).to.equal(texture1); + expect(Texture.from(baseTexture)).toEqual(texture1); }); it('should accept an array of strings to create a cubemap', () => @@ -327,18 +327,20 @@ describe('Texture', () => path.join(resources, 'cube-face.jpg'), path.join(resources, 'cube-face.jpg')]); - expect(texture).to.not.be.null - .and.to.not.be.undefined; + expect(texture).not.toBeNull(); + expect(texture).toBeDefined(); - expect(texture).to.be.an.instanceof(Texture); + expect(texture).toBeInstanceOf(Texture); }); }); describe('Texture.fromURL', () => { - it('should handle loading an invalid URL', () => + it('should handle loading an invalid URL', async () => { - expect(() => Texture.fromURL('invalid/image.png')).throws; + const throwingFunction = () => Texture.fromURL('invalid/image.png'); + + await throwingFunction().catch((e) => expect(e).toBeInstanceOf(Event)); }); it('should handle loading an cached URL', async () => @@ -347,11 +349,11 @@ describe('Texture', () => TextureCache[url] = Texture.WHITE; - expect(Texture.WHITE.valid).to.be.true; + expect(Texture.WHITE.valid).toBe(true); const texture = await Texture.fromURL(url); - expect(texture).equals(Texture.WHITE); + expect(texture).toEqual(Texture.WHITE); delete TextureCache[url]; }); @@ -367,10 +369,9 @@ describe('Texture', () => path.join(resources, 'cube-face.jpg'), path.join(resources, 'cube-face.jpg')]); - expect(texture).to.not.be.null - .and.to.not.be.undefined; - - expect(texture).to.be.an.instanceof(Texture); + expect(texture).not.toBeNull(); + expect(texture).toBeDefined(); + expect(texture).toBeInstanceOf(Texture); }); }); }); diff --git a/packages/core/test/TextureSystem.tests.ts b/packages/core/test/TextureSystem.tests.ts index 84e029c098..840437c127 100644 --- a/packages/core/test/TextureSystem.tests.ts +++ b/packages/core/test/TextureSystem.tests.ts @@ -1,6 +1,5 @@ import { WRAP_MODES, TYPES, FORMATS, SAMPLER_TYPES } from '@pixi/constants'; import { Renderer, Texture, BaseTexture } from '@pixi/core'; -import { expect } from 'chai'; describe('TextureSystem', () => { @@ -38,8 +37,8 @@ describe('TextureSystem', () => const glTex = baseTex._glTextures[renderer.CONTEXT_UID]; - expect(glTex).to.exist; - expect(glTex.wrapMode).to.equal(WRAP_MODES.REPEAT); + expect(glTex).toBeDefined(); + expect(glTex.wrapMode).toEqual(WRAP_MODES.REPEAT); }); it('should not allow glTexture wrapMode=REPEAT for non-pow2 in webgl1', () => @@ -52,8 +51,8 @@ describe('TextureSystem', () => const glTex = baseTex._glTextures[renderer.CONTEXT_UID]; - expect(glTex).to.exist; - expect(glTex.wrapMode).to.equal(WRAP_MODES.CLAMP); + expect(glTex).toBeDefined(); + expect(glTex.wrapMode).toEqual(WRAP_MODES.CLAMP); }); it('should set internalFormat correctly for RGBA float textures', () => @@ -64,8 +63,8 @@ describe('TextureSystem', () => const glTex = baseTex._glTextures[renderer.CONTEXT_UID]; - expect(glTex).to.not.be.null; - expect(glTex.internalFormat).to.equal(renderer.gl.RGBA32F); + expect(glTex).not.toBeNull(); + expect(glTex.internalFormat).toEqual(renderer.gl.RGBA32F); }); it('should set internalFormat correctly for red-channel float textures', () => @@ -76,8 +75,8 @@ describe('TextureSystem', () => const glTex = baseTex._glTextures[renderer.CONTEXT_UID]; - expect(glTex).to.not.be.null; - expect(glTex.internalFormat).to.equal(renderer.gl.R32F); + expect(glTex).not.toBeNull(); + expect(glTex.internalFormat).toEqual(renderer.gl.R32F); }); it('should set internalFormat correctly for RGB FLOAT textures', () => @@ -88,8 +87,8 @@ describe('TextureSystem', () => const glTex = baseTex._glTextures[renderer.CONTEXT_UID]; - expect(glTex).to.not.be.null; - expect(glTex.internalFormat).to.equal(renderer.gl.RGB32F); + expect(glTex).not.toBeNull(); + expect(glTex.internalFormat).toEqual(renderer.gl.RGB32F); }); function createIntegerTexture() @@ -122,26 +121,26 @@ describe('TextureSystem', () => textureSystem.bind(Texture.WHITE.baseTexture, 0); textureSystem.bind(sampleTex, 1); textureSystem.bind(sampleTex2, 2); - expect(textureSystem['hasIntegerTextures']).to.be.true; + expect(textureSystem['hasIntegerTextures']).toBe(true); textureSystem.ensureSamplerType(2); - expect(boundTextures[0]).to.equal(Texture.WHITE.baseTexture); - expect(boundTextures[1]).to.be.null; - expect(boundTextures[2]).to.equal(sampleTex2); + expect(boundTextures[0]).toEqual(Texture.WHITE.baseTexture); + expect(boundTextures[1]).toBeNull(); + expect(boundTextures[2]).toEqual(sampleTex2); }); it('should bind empty texture if texture is invalid', () => { const textureSystem = renderer.texture; - expect(Texture.WHITE.baseTexture.valid).to.be.true; + expect(Texture.WHITE.baseTexture.valid).toBe(true); textureSystem.bind(Texture.WHITE.baseTexture, 0); - expect(textureSystem.boundTextures[0]).to.equal(Texture.WHITE.baseTexture); - expect(Texture.EMPTY.baseTexture.valid).to.be.false; + expect(textureSystem.boundTextures[0]).toEqual(Texture.WHITE.baseTexture); + expect(Texture.EMPTY.baseTexture.valid).toBe(false); textureSystem.bind(Texture.EMPTY.baseTexture, 0); - expect(textureSystem.boundTextures[0]).to.equal(null); + expect(textureSystem.boundTextures[0]).toEqual(null); }); }); diff --git a/packages/core/test/UniformBuffer.tests.ts b/packages/core/test/UniformBuffer.tests.ts index 9786d1a923..9223436718 100644 --- a/packages/core/test/UniformBuffer.tests.ts +++ b/packages/core/test/UniformBuffer.tests.ts @@ -9,7 +9,7 @@ import { getTestContext, IRenderingContext, } from '@pixi/core'; -import { expect } from 'chai'; + import { skipHello } from '@pixi/utils'; import { Matrix, Rectangle, Point } from '@pixi/math'; @@ -84,7 +84,7 @@ describe('UniformBuffer', () => value: 0, }]; - expect(usedUniformData).to.deep.equal(expectedResult); + expect(usedUniformData).toEqual(expectedResult); const group2 = UniformGroup.uboFrom({ uAlpha: 1, @@ -93,7 +93,7 @@ describe('UniformBuffer', () => const usedUniformData2 = getUBOData(group2.uniforms, uniformData); - expect(usedUniformData2).to.deep.equal(expectedResult); + expect(usedUniformData2).toEqual(expectedResult); const group3 = UniformGroup.uboFrom({ uAlpha: 1, @@ -103,7 +103,7 @@ describe('UniformBuffer', () => const usedUniformData3 = getUBOData(group3.uniforms, uniformData); - expect(usedUniformData3).to.deep.equal(expectedResult); + expect(usedUniformData3).toEqual(expectedResult); }); it('should generate correct UBO elements', () => @@ -146,7 +146,7 @@ describe('UniformBuffer', () => size: 16 }; - expect(uboData).to.deep.equal(expectedObject); + expect(uboData).toEqual(expectedObject); }); it('should generate the correct update function using the parsers', () => @@ -204,8 +204,8 @@ describe('UniformBuffer', () => 0, 0, 33, 33 ]); - expect(size).to.equal(96); - expect(buffer.data).to.deep.equal(expectedBufferValue); + expect(size).toEqual(96); + expect(buffer.data).toEqual(expectedBufferValue); }); it('should write arrays types to buffer correctly', () => @@ -587,7 +587,7 @@ describe('UniformBuffer', () => // console.log('actual ', buffer.data); // } - expect(buffer.data).to.deep.equal(toTest.expectedBuffer); + expect(buffer.data).toEqual(toTest.expectedBuffer); }); }); }); diff --git a/packages/core/test/VideoResource.tests.ts b/packages/core/test/VideoResource.tests.ts index 8b545c4fc5..0477aac679 100644 --- a/packages/core/test/VideoResource.tests.ts +++ b/packages/core/test/VideoResource.tests.ts @@ -1,12 +1,11 @@ import { VideoResource } from '@pixi/core'; import path from 'path'; -import { expect } from 'chai'; describe('VideoResource', () => { let videoUrl: string; - before(() => + beforeAll(() => { videoUrl = path.resolve(__dirname, 'resources', 'small.mp4'); }); @@ -15,10 +14,10 @@ describe('VideoResource', () => { const resource = new VideoResource(videoUrl, { autoLoad: false }); - expect(resource.width).to.equal(0); - expect(resource.height).to.equal(0); - expect(resource.valid).to.be.false; - expect(resource.source).to.be.instanceof(HTMLVideoElement); + expect(resource.width).toEqual(0); + expect(resource.height).toEqual(0); + expect(resource.valid).toBe(false); + expect(resource.source).toBeInstanceOf(HTMLVideoElement); resource.destroy(); }); @@ -32,10 +31,10 @@ describe('VideoResource', () => return resource.load().then((res) => { - expect(res).to.equal(resource); - expect(res.width).to.equal(560); - expect(res.height).to.equal(320); - expect(res.valid).to.be.true; + expect(res).toEqual(resource); + expect(res.width).toEqual(560); + expect(res.height).toEqual(320); + expect(res.valid).toBe(true); resource.destroy(); }); }); @@ -48,7 +47,7 @@ describe('VideoResource', () => }); // @ts-expect-error --- - expect(resource.source.firstChild.type).to.be.equals('video/webm'); + expect(resource.source.firstChild.type).toEqual('video/webm'); resource.destroy(); }); @@ -61,7 +60,7 @@ describe('VideoResource', () => }); // @ts-expect-error --- - expect(resource.source.firstChild.type).to.be.equals('video/mp4'); + expect(resource.source.firstChild.type).toEqual('video/mp4'); resource.destroy(); }); @@ -76,10 +75,10 @@ describe('VideoResource', () => return resource.load().then((res) => { - expect(res).to.equal(resource); - expect(res.updateFPS).to.equal(30); + expect(res).toEqual(resource); + expect(res.updateFPS).toEqual(30); res.updateFPS = 20; - expect(res.updateFPS).to.equal(20); + expect(res.updateFPS).toEqual(20); resource.destroy(); }); }); diff --git a/packages/core/test/autoDetectResource.tests.ts b/packages/core/test/autoDetectResource.tests.ts index 30a799be4e..bda8bcd781 100644 --- a/packages/core/test/autoDetectResource.tests.ts +++ b/packages/core/test/autoDetectResource.tests.ts @@ -1,4 +1,3 @@ -import { expect } from 'chai'; import { autoDetectResource, INSTALLED, CanvasResource, @@ -10,13 +9,13 @@ describe('autoDetectResource', () => { it('should have api', () => { - expect(autoDetectResource).to.be.a('function'); + expect(autoDetectResource).toBeInstanceOf(Function); }); it('should have installed resources', () => { - expect(INSTALLED).to.be.an('array'); - expect(INSTALLED.length).to.equal(8); + expect(INSTALLED).toBeArray(); + expect(INSTALLED.length).toEqual(8); }); it('should auto-detect canvas element', () => @@ -28,9 +27,9 @@ describe('autoDetectResource', () => const resource = autoDetectResource(canvas); - expect(resource).is.instanceOf(CanvasResource); - expect(resource.width).to.equal(200); - expect(resource.height).to.equal(100); + expect(resource).toBeInstanceOf(CanvasResource); + expect(resource.width).toEqual(200); + expect(resource.height).toEqual(100); }); it('should auto-detect video element', () => @@ -38,7 +37,7 @@ describe('autoDetectResource', () => const video = document.createElement('video'); const resource = autoDetectResource(video); - expect(resource).is.instanceOf(VideoResource); + expect(resource).toBeInstanceOf(VideoResource); }); it('should auto-detect image element', () => @@ -46,7 +45,7 @@ describe('autoDetectResource', () => const img = new Image(); const resource = autoDetectResource(img); - expect(resource).is.instanceOf(ImageResource); + expect(resource).toBeInstanceOf(ImageResource); }); it('should auto-detect image string', () => @@ -54,7 +53,7 @@ describe('autoDetectResource', () => const img = 'foo.png'; const resource = autoDetectResource(img); - expect(resource).is.instanceOf(ImageResource); + expect(resource).toBeInstanceOf(ImageResource); }); it('should auto-detect svg string', () => @@ -62,7 +61,7 @@ describe('autoDetectResource', () => const svg = 'foo.svg'; const resource = autoDetectResource(svg); - expect(resource).is.instanceOf(SVGResource); + expect(resource).toBeInstanceOf(SVGResource); }); it('should auto-detect video Url', () => @@ -70,21 +69,21 @@ describe('autoDetectResource', () => const video = 'foo.mp4'; const resource = autoDetectResource(video); - expect(resource).is.instanceOf(VideoResource); + expect(resource).toBeInstanceOf(VideoResource); }); it('should pass null', () => { const resource = autoDetectResource(null); - expect(resource).to.equal(null); + expect(resource).toEqual(null); }); it('should throw for unknown types', () => { - expect(() => autoDetectResource({})).throws; - expect(() => autoDetectResource(document.createElement('input'))).throws; - expect(() => autoDetectResource(2)).throws; - expect(() => autoDetectResource(true)).throws; + expect(() => autoDetectResource({})).toThrow(); + expect(() => autoDetectResource(document.createElement('input'))).toThrow(); + expect(() => autoDetectResource(2)).toThrow(); + expect(() => autoDetectResource(true)).toThrow(); }); }); diff --git a/packages/display/test/Container.tests.ts b/packages/display/test/Container.tests.ts index c3205f95f2..ae97d11171 100644 --- a/packages/display/test/Container.tests.ts +++ b/packages/display/test/Container.tests.ts @@ -3,8 +3,6 @@ import { Container, DisplayObject } from '@pixi/display'; import { AlphaFilter } from '@pixi/filter-alpha'; import { Graphics } from '@pixi/graphics'; import { Rectangle } from '@pixi/math'; -import sinon from 'sinon'; -import { expect } from 'chai'; function testAddChild(fn: any) { @@ -44,8 +42,8 @@ function testRemoveChild(fn: any) describe('Container', () => { - before(() => extensions.add(BatchRenderer)); - after(() => extensions.remove(BatchRenderer)); + beforeAll(() => extensions.add(BatchRenderer)); + afterAll(() => extensions.remove(BatchRenderer)); describe('parent', () => { @@ -55,10 +53,10 @@ describe('Container', () => // @ts-expect-error - instantiating DisplayObject const child = new DisplayObject(); - expect(container.children.length).to.be.equals(0); + expect(container.children.length).toEqual(0); container.addChild(child); - expect(container.children.length).to.be.equals(1); - expect(child.parent).to.be.equals(container); + expect(container.children.length).toEqual(1); + expect(child.parent).toEqual(container); }); }); @@ -77,41 +75,41 @@ describe('Container', () => child.on('added', (to: Container) => { triggeredAdded = true; - expect(container.children.length).to.be.equals(1); - expect(child.parent).to.be.equals(to); + expect(container.children.length).toEqual(1); + expect(child.parent).toEqual(to); }); child.on('removed', (from: Container) => { triggeredRemoved = true; - expect(container.children.length).to.be.equals(0); - expect(child.parent).to.be.null; - expect(container).to.be.equals(from); + expect(container.children.length).toEqual(0); + expect(child.parent).toBeNull(); + expect(container).toEqual(from); }); container.on('childAdded', (childAdded, containerFrom, index) => { triggeredChildAdded = true; - expect(child).to.be.equals(childAdded); - expect(container).to.be.equals(containerFrom); - expect(index).to.be.equals(0); + expect(child).toEqual(childAdded); + expect(container).toEqual(containerFrom); + expect(index).toEqual(0); }); container.on('childRemoved', (childRemoved, containerFrom, index) => { triggeredChildRemoved = true; - expect(child).to.be.equals(childRemoved); - expect(container).to.be.equals(containerFrom); - expect(index).to.be.equals(0); + expect(child).toEqual(childRemoved); + expect(container).toEqual(containerFrom); + expect(index).toEqual(0); }); container.addChild(child); - expect(triggeredAdded).to.be.true; - expect(triggeredRemoved).to.be.false; - expect(triggeredChildAdded).to.be.true; - expect(triggeredChildRemoved).to.be.false; + expect(triggeredAdded).toBe(true); + expect(triggeredRemoved).toBe(false); + expect(triggeredChildAdded).toBe(true); + expect(triggeredChildRemoved).toBe(false); container.removeChild(child); - expect(triggeredRemoved).to.be.true; - expect(triggeredChildRemoved).to.be.true; + expect(triggeredRemoved).toBe(true); + expect(triggeredChildRemoved).toBe(true); }); }); @@ -132,12 +130,12 @@ describe('Container', () => const container = new Container(); // @ts-expect-error - instantiating DisplayObject const child = new DisplayObject(); - const spy = sinon.spy(container, 'onChildrenChange' as keyof Container); + const spy = jest.spyOn(container, 'onChildrenChange' as any); container.addChild(child); - expect(spy).to.have.been.called; - expect(spy).to.have.been.calledWith(0); + expect(spy).toBeCalled(); + expect(spy).toBeCalledWith(0); }); it('should flag child transform and container bounds for recalculation', testAddChild( @@ -154,8 +152,8 @@ describe('Container', () => mockAddChild(container, child); - expect(boundsID).to.not.be.equals(container['_boundsID']); - expect(childParentID).to.not.be.equals(child.transform._parentID); + expect(boundsID).not.toEqual(container['_boundsID']); + expect(childParentID).not.toEqual(child.transform._parentID); })); }); @@ -178,11 +176,11 @@ describe('Container', () => container.addChild(child); - const spy = sinon.spy(container, 'onChildrenChange' as keyof Container); + const spy = jest.spyOn(container, 'onChildrenChange' as any); container.removeChildAt(0); - expect(spy).to.have.been.called; - expect(spy).to.have.been.calledWith(0); + expect(spy).toBeCalled(); + expect(spy).toBeCalledWith(0); }); }); @@ -198,8 +196,8 @@ describe('Container', () => container.addChild(new DisplayObject()); container.addChildAt(child, 0); - expect(container.children.length).to.be.equals(2); - expect(container.children[0]).to.be.equals(child); + expect(container.children.length).toEqual(2); + expect(container.children[0]).toEqual(child); }); it('should allow placements at end', () => @@ -212,8 +210,8 @@ describe('Container', () => container.addChild(new DisplayObject()); container.addChildAt(child, 1); - expect(container.children.length).to.be.equals(2); - expect(container.children[1]).to.be.equals(child); + expect(container.children.length).toEqual(2); + expect(container.children[1]).toEqual(child); }); it('should throw on out-of-bounds', () => @@ -225,8 +223,8 @@ describe('Container', () => // @ts-expect-error - instantiating DisplayObject container.addChild(new DisplayObject()); - expect(() => container.addChildAt(child, -1)).to.throw('The index -1 supplied is out of bounds 1'); - expect(() => container.addChildAt(child, 2)).to.throw('The index 2 supplied is out of bounds 1'); + expect(() => container.addChildAt(child, -1)).toThrowError('The index -1 supplied is out of bounds 1'); + expect(() => container.addChildAt(child, 2)).toThrowError('The index 2 supplied is out of bounds 1'); }); it('should remove from current parent', () => @@ -248,12 +246,12 @@ describe('Container', () => // @ts-expect-error - instantiating DisplayObject container.addChild(new DisplayObject()); - const spy = sinon.spy(container, 'onChildrenChange' as keyof Container); + const spy = jest.spyOn(container, 'onChildrenChange' as any); container.addChildAt(child, 0); - expect(spy).to.have.been.called; - expect(spy).to.have.been.calledWith(0); + expect(spy).toBeCalled(); + expect(spy).toBeCalledWith(0); }); }); @@ -270,7 +268,7 @@ describe('Container', () => // @ts-expect-error - instantiating DisplayObject container.removeChild(new DisplayObject()); - expect(container.children.length).to.be.equals(1); + expect(container.children.length).toEqual(1); }); it('should remove all children supplied', () => @@ -283,11 +281,11 @@ describe('Container', () => container.addChild(child1, child2); - expect(container.children.length).to.be.equals(2); + expect(container.children.length).toEqual(2); container.removeChild(child1, child2); - expect(container.children.length).to.be.equals(0); + expect(container.children.length).toEqual(0); }); it('should call onChildrenChange', () => @@ -298,12 +296,12 @@ describe('Container', () => container.addChild(child); - const spy = sinon.spy(container, 'onChildrenChange' as keyof Container); + const spy = jest.spyOn(container, 'onChildrenChange' as any); container.removeChild(child); - expect(spy).to.have.been.called; - expect(spy).to.have.been.calledWith(0); + expect(spy).toBeCalled(); + expect(spy).toBeCalledWith(0); }); it('should flag transform for recalculation', testRemoveChild( @@ -320,8 +318,8 @@ describe('Container', () => mockRemoveChild(container, child); - expect(childParentID).to.not.be.equals(child.transform._parentID); - expect(boundsID).to.not.be.equals(container['_boundsID']); + expect(childParentID).not.toEqual(child.transform._parentID); + expect(boundsID).not.toEqual(container['_boundsID']); })); }); @@ -336,7 +334,7 @@ describe('Container', () => // @ts-expect-error - instantiating DisplayObject container.addChild(new DisplayObject(), child, new DisplayObject()); - expect(container.getChildIndex(child)).to.be.equals(1); + expect(container.getChildIndex(child)).toEqual(1); }); it('should throw when child does not exist', () => @@ -346,7 +344,7 @@ describe('Container', () => const child = new DisplayObject(); expect(() => container.getChildIndex(child)) - .to.throw('The supplied DisplayObject must be a child of the caller'); + .toThrowError('The supplied DisplayObject must be a child of the caller'); }); }); @@ -356,8 +354,8 @@ describe('Container', () => { const container = new Container(); - expect(() => container.getChildAt(-1)).to.throw('getChildAt: Index (-1) does not exist.'); - expect(() => container.getChildAt(1)).to.throw('getChildAt: Index (1) does not exist.'); + expect(() => container.getChildAt(-1)).toThrowError('getChildAt: Index (-1) does not exist.'); + expect(() => container.getChildAt(1)).toThrowError('getChildAt: Index (1) does not exist.'); }); }); @@ -371,8 +369,8 @@ describe('Container', () => container.addChild(child); - expect(() => container.setChildIndex(child, -1)).to.throw('The index -1 supplied is out of bounds 1'); - expect(() => container.setChildIndex(child, 1)).to.throw('The index 1 supplied is out of bounds 1'); + expect(() => container.setChildIndex(child, -1)).toThrowError('The index -1 supplied is out of bounds 1'); + expect(() => container.setChildIndex(child, 1)).toThrowError('The index 1 supplied is out of bounds 1'); }); it('should throw when child does not belong', () => @@ -385,7 +383,7 @@ describe('Container', () => container.addChild(new DisplayObject()); expect(() => container.setChildIndex(child, 0)) - .to.throw('The supplied DisplayObject must be a child of the caller'); + .toThrowError('The supplied DisplayObject must be a child of the caller'); }); it('should set index', () => @@ -396,16 +394,16 @@ describe('Container', () => // @ts-expect-error - instantiating DisplayObject container.addChild(child, new DisplayObject(), new DisplayObject()); - expect(container.children.indexOf(child)).to.be.equals(0); + expect(container.children.indexOf(child)).toEqual(0); container.setChildIndex(child, 1); - expect(container.children.indexOf(child)).to.be.equals(1); + expect(container.children.indexOf(child)).toEqual(1); container.setChildIndex(child, 2); - expect(container.children.indexOf(child)).to.be.equals(2); + expect(container.children.indexOf(child)).toEqual(2); container.setChildIndex(child, 0); - expect(container.children.indexOf(child)).to.be.equals(0); + expect(container.children.indexOf(child)).toEqual(0); }); it('should call onChildrenChange', () => @@ -417,12 +415,12 @@ describe('Container', () => // @ts-expect-error - instantiating DisplayObject container.addChild(child, new DisplayObject()); - const spy = sinon.spy(container, 'onChildrenChange' as keyof Container); + const spy = jest.spyOn(container, 'onChildrenChange' as any); container.setChildIndex(child, 1); - expect(spy).to.have.been.called; - expect(spy).to.have.been.calledWith(1); + expect(spy).toBeCalled(); + expect(spy).toBeCalledWith(1); }); }); @@ -438,16 +436,16 @@ describe('Container', () => container.addChild(child1, child2); - const spy = sinon.spy(container, 'onChildrenChange' as keyof Container); + const spy = jest.spyOn(container, 'onChildrenChange' as any); container.swapChildren(child1, child2); - expect(spy).to.have.been.called; - expect(spy).to.have.been.calledWith(0); + expect(spy).toBeCalled(); + expect(spy).toBeCalledWith(0); // second call required to complete returned index coverage container.swapChildren(child1, child2); - expect(spy).to.have.been.calledTwice; - expect(spy).to.have.been.calledWith(0); + expect(spy).toBeCalledTimes(2); + expect(spy).toBeCalledWith(0); }); it('should not call onChildrenChange if supplied children are equal', () => @@ -459,11 +457,11 @@ describe('Container', () => // @ts-expect-error - instantiating DisplayObject container.addChild(child, new DisplayObject()); - const spy = sinon.spy(container, 'onChildrenChange' as keyof Container); + const spy = jest.spyOn(container, 'onChildrenChange' as any); container.swapChildren(child, child); - expect(spy).to.not.have.been.called; + expect(spy).not.toBeCalled(); }); it('should throw if children do not belong', () => @@ -476,10 +474,10 @@ describe('Container', () => // @ts-expect-error - instantiating DisplayObject expect(() => container.swapChildren(child, new DisplayObject())) - .to.throw('The supplied DisplayObject must be a child of the caller'); + .toThrowError('The supplied DisplayObject must be a child of the caller'); // @ts-expect-error - instantiating DisplayObject expect(() => container.swapChildren(new DisplayObject(), child)) - .to.throw('The supplied DisplayObject must be a child of the caller'); + .toThrowError('The supplied DisplayObject must be a child of the caller'); }); it('should result in swapped child positions', () => @@ -492,13 +490,13 @@ describe('Container', () => container.addChild(child1, child2); - expect(container.children.indexOf(child1)).to.be.equals(0); - expect(container.children.indexOf(child2)).to.be.equals(1); + expect(container.children.indexOf(child1)).toEqual(0); + expect(container.children.indexOf(child2)).toEqual(1); container.swapChildren(child1, child2); - expect(container.children.indexOf(child2)).to.be.equals(0); - expect(container.children.indexOf(child1)).to.be.equals(1); + expect(container.children.indexOf(child2)).toEqual(0); + expect(container.children.indexOf(child1)).toEqual(1); }); }); @@ -509,7 +507,7 @@ describe('Container', () => const parent = new Container(); const container = new Container(); const child = new Container(); - const canvasSpy = sinon.spy(container, 'sortChildren'); + const canvasSpy = jest.spyOn(container, 'sortChildren'); parent.addChild(container); container.addChild(child); @@ -519,7 +517,7 @@ describe('Container', () => container.updateTransform(); - expect(canvasSpy).to.have.been.called; + expect(canvasSpy).toBeCalled(); }); it('should not call sortChildren if sortDirty is false', () => @@ -527,7 +525,7 @@ describe('Container', () => const parent = new Container(); const container = new Container(); const child = new Container(); - const canvasSpy = sinon.spy(container, 'sortChildren'); + const canvasSpy = jest.spyOn(container, 'sortChildren'); parent.addChild(container); container.addChild(child); @@ -537,7 +535,7 @@ describe('Container', () => container.updateTransform(); - expect(canvasSpy).to.not.have.been.called; + expect(canvasSpy).not.toBeCalled(); }); it('should not call sortChildren if sortableChildren is false', () => @@ -545,7 +543,7 @@ describe('Container', () => const parent = new Container(); const container = new Container(); const child = new Container(); - const canvasSpy = sinon.spy(container, 'sortChildren'); + const canvasSpy = jest.spyOn(container, 'sortChildren'); parent.addChild(container); container.addChild(child); @@ -555,7 +553,7 @@ describe('Container', () => container.updateTransform(); - expect(canvasSpy).to.not.have.been.called; + expect(canvasSpy).not.toBeCalled(); }); }); @@ -564,46 +562,46 @@ describe('Container', () => it('should not render when object not visible', () => { const container = new Container(); - const webGLSpy = sinon.spy(container['_render']); + const webGLSpy = jest.spyOn(container, '_render' as any); container.visible = false; container.render(undefined); - expect(webGLSpy).to.not.have.been.called; + expect(webGLSpy).not.toBeCalled(); }); it('should not render when alpha is zero', () => { const container = new Container(); - const webGLSpy = sinon.spy(container['_render']); + const webGLSpy = jest.spyOn(container, '_render' as any); container.worldAlpha = 0; container.render(undefined); - expect(webGLSpy).to.not.have.been.called; + expect(webGLSpy).not.toBeCalled(); }); it('should not render when object not renderable', () => { const container = new Container(); - const webGLSpy = sinon.spy(container['_render']); + const webGLSpy = jest.spyOn(container, '_render' as any); container.renderable = false; container.render(undefined); - expect(webGLSpy).to.not.have.been.called; + expect(webGLSpy).not.toBeCalled(); }); it('should render children', () => { const container = new Container(); const child = new Container(); - const webGLSpy = sinon.spy(child, '_render' as keyof Container); + const webGLSpy = jest.spyOn(child, '_render' as any); container.addChild(child); container.render(undefined); - expect(webGLSpy).to.have.been.called; + expect(webGLSpy).toBeCalled(); }); }); @@ -617,12 +615,12 @@ describe('Container', () => // @ts-expect-error - instantiating DisplayObject container.addChild(new DisplayObject(), new DisplayObject(), new DisplayObject()); - expect(container.children.length).to.be.equals(3); + expect(container.children.length).toEqual(3); removed = container.removeChildren(); - expect(container.children.length).to.be.equals(0); - expect(removed.length).to.be.equals(3); + expect(container.children.length).toEqual(0); + expect(removed.length).toEqual(3); }); it('should return empty array if no children', () => @@ -630,7 +628,7 @@ describe('Container', () => const container = new Container(); const removed = container.removeChildren(); - expect(removed.length).to.be.equals(0); + expect(removed.length).toEqual(0); }); it('should handle a range greater than length', () => @@ -642,7 +640,7 @@ describe('Container', () => container.addChild(new DisplayObject()); removed = container.removeChildren(0, 2); - expect(removed.length).to.be.equals(1); + expect(removed.length).toEqual(1); }); it('should throw outside acceptable range', () => @@ -653,11 +651,11 @@ describe('Container', () => container.addChild(new DisplayObject()); expect(() => container.removeChildren(2)) - .to.throw('removeChildren: numeric values are outside the acceptable range.'); + .toThrowError('removeChildren: numeric values are outside the acceptable range.'); expect(() => container.removeChildren(-1)) - .to.throw('removeChildren: numeric values are outside the acceptable range.'); + .toThrowError('removeChildren: numeric values are outside the acceptable range.'); expect(() => container.removeChildren(-1, 1)) - .to.throw('removeChildren: numeric values are outside the acceptable range.'); + .toThrowError('removeChildren: numeric values are outside the acceptable range.'); }); }); @@ -672,8 +670,8 @@ describe('Container', () => container.addChild(child); container.destroy(); - expect(container.children.length).to.be.equals(0); - expect(child.transform).to.not.be.null; + expect(container.children.length).toEqual(0); + expect(child.transform).not.toBeNull(); }); it('should allow children destroy', () => @@ -685,9 +683,9 @@ describe('Container', () => container.addChild(child); container.destroy({ children: true }); - expect(container.children.length).to.be.equals(0); - expect(container.transform).to.be.null; - expect(child.transform).to.be.null; + expect(container.children.length).toEqual(0); + expect(container.transform).toBeNull(); + expect(child.transform).toBeNull(); container = new Container(); // @ts-expect-error - instantiating DisplayObject @@ -696,9 +694,9 @@ describe('Container', () => container.addChild(child); container.destroy(true); - expect(container.children.length).to.be.equals(0); - expect(container.transform).to.be.null; - expect(child.transform).to.be.null; + expect(container.children.length).toEqual(0); + expect(container.transform).toBeNull(); + expect(child.transform).toBeNull(); }); }); @@ -719,8 +717,8 @@ describe('Container', () => container.updateTransform(); container.getLocalBounds(); - expect(child.transform.worldTransform.tx).to.equal(30); - expect(child.transform.worldTransform.ty).to.equal(40); + expect(child.transform.worldTransform.tx).toEqual(30); + expect(child.transform.worldTransform.ty).toEqual(40); }); it('should recalculate bounds if children position was changed', () => @@ -743,12 +741,12 @@ describe('Container', () => child.position.set(20, 30); bounds = container.getLocalBounds(); - expect(bounds.x).to.equal(20); - expect(bounds.y).to.equal(30); + expect(bounds.x).toEqual(20); + expect(bounds.y).toEqual(30); child.position.set(5, 5); bounds = container.getLocalBounds(); - expect(bounds.x).to.equal(5); - expect(bounds.y).to.equal(5); + expect(bounds.x).toEqual(5); + expect(bounds.y).toEqual(5); }); }); @@ -761,8 +759,8 @@ describe('Container', () => container.scale.x = 2; container.width = 5; - expect(container.width).to.be.equals(0); - expect(container.scale.x).to.be.equals(1); + expect(container.width).toEqual(0); + expect(container.scale.x).toEqual(1); }); }); @@ -775,8 +773,8 @@ describe('Container', () => container.scale.y = 2; container.height = 5; - expect(container.height).to.be.equals(0); - expect(container.scale.y).to.be.equals(1); + expect(container.height).toEqual(0); + expect(container.scale.y).toEqual(1); }); }); @@ -788,11 +786,11 @@ describe('Container', () => // @ts-expect-error - instantiating DisplayObject const child = new DisplayObject(); - expect(parent.sortDirty).to.be.false; + expect(parent.sortDirty).toBe(false); parent.addChild(child); - expect(parent.sortDirty).to.be.true; + expect(parent.sortDirty).toBe(true); }); it('should set sortDirty flag to true when changing a child zIndex', () => @@ -807,7 +805,7 @@ describe('Container', () => child.zIndex = 10; - expect(parent.sortDirty).to.be.true; + expect(parent.sortDirty).toBe(true); }); }); @@ -821,7 +819,7 @@ describe('Container', () => container.sortChildren(); - expect(container.sortDirty).to.be.false; + expect(container.sortDirty).toBe(false); }); it('should call sort when at least one child has a zIndex', () => @@ -831,14 +829,14 @@ describe('Container', () => const child1 = new DisplayObject(); // @ts-expect-error - instantiating DisplayObject const child2 = new DisplayObject(); - const spy = sinon.spy(container.children, 'sort'); + const spy = jest.spyOn(container.children, 'sort' as any); child1.zIndex = 5; container.addChild(child1, child2); container.sortChildren(); - expect(spy).to.have.been.called; + expect(spy).toBeCalled(); }); it('should not call sort when children have no zIndex', () => @@ -848,13 +846,13 @@ describe('Container', () => const child1 = new DisplayObject(); // @ts-expect-error - instantiating DisplayObject const child2 = new DisplayObject(); - const spy = sinon.spy(container.children, 'sort'); + const spy = jest.spyOn(container.children, 'sort' as any); container.addChild(child1, child2); container.sortChildren(); - expect(spy).to.not.have.been.called; + expect(spy).not.toBeCalled(); }); it('should sort children by zIndex value', () => @@ -875,17 +873,17 @@ describe('Container', () => container.addChild(child1, child2, child3, child4); - expect(container.children.indexOf(child1)).to.be.equals(0); - expect(container.children.indexOf(child2)).to.be.equals(1); - expect(container.children.indexOf(child3)).to.be.equals(2); - expect(container.children.indexOf(child4)).to.be.equals(3); + expect(container.children.indexOf(child1)).toEqual(0); + expect(container.children.indexOf(child2)).toEqual(1); + expect(container.children.indexOf(child3)).toEqual(2); + expect(container.children.indexOf(child4)).toEqual(3); container.sortChildren(); - expect(container.children.indexOf(child1)).to.be.equals(3); - expect(container.children.indexOf(child2)).to.be.equals(1); - expect(container.children.indexOf(child3)).to.be.equals(2); - expect(container.children.indexOf(child4)).to.be.equals(0); + expect(container.children.indexOf(child1)).toEqual(3); + expect(container.children.indexOf(child2)).toEqual(1); + expect(container.children.indexOf(child3)).toEqual(2); + expect(container.children.indexOf(child4)).toEqual(0); }); it('should sort children by current array order if zIndex values match', () => @@ -907,22 +905,22 @@ describe('Container', () => container.addChild(child1, child2, child3, child4); - expect(container.children.indexOf(child1)).to.be.equals(0); - expect(container.children.indexOf(child2)).to.be.equals(1); - expect(container.children.indexOf(child3)).to.be.equals(2); - expect(container.children.indexOf(child4)).to.be.equals(3); + expect(container.children.indexOf(child1)).toEqual(0); + expect(container.children.indexOf(child2)).toEqual(1); + expect(container.children.indexOf(child3)).toEqual(2); + expect(container.children.indexOf(child4)).toEqual(3); container.sortChildren(); - expect(child1._lastSortedIndex).to.be.equals(0); - expect(child2._lastSortedIndex).to.be.equals(1); - expect(child3._lastSortedIndex).to.be.equals(2); - expect(child4._lastSortedIndex).to.be.equals(3); + expect(child1._lastSortedIndex).toEqual(0); + expect(child2._lastSortedIndex).toEqual(1); + expect(child3._lastSortedIndex).toEqual(2); + expect(child4._lastSortedIndex).toEqual(3); - expect(container.children.indexOf(child1)).to.be.equals(2); - expect(container.children.indexOf(child2)).to.be.equals(3); - expect(container.children.indexOf(child3)).to.be.equals(0); - expect(container.children.indexOf(child4)).to.be.equals(1); + expect(container.children.indexOf(child1)).toEqual(2); + expect(container.children.indexOf(child2)).toEqual(3); + expect(container.children.indexOf(child3)).toEqual(0); + expect(container.children.indexOf(child4)).toEqual(1); }); it('should sort children in the same way despite being called multiple times', () => @@ -944,24 +942,24 @@ describe('Container', () => container.addChild(child1, child2, child3, child4); - expect(container.children.indexOf(child1)).to.be.equals(0); - expect(container.children.indexOf(child2)).to.be.equals(1); - expect(container.children.indexOf(child3)).to.be.equals(2); - expect(container.children.indexOf(child4)).to.be.equals(3); + expect(container.children.indexOf(child1)).toEqual(0); + expect(container.children.indexOf(child2)).toEqual(1); + expect(container.children.indexOf(child3)).toEqual(2); + expect(container.children.indexOf(child4)).toEqual(3); container.sortChildren(); - expect(container.children.indexOf(child1)).to.be.equals(2); - expect(container.children.indexOf(child2)).to.be.equals(3); - expect(container.children.indexOf(child3)).to.be.equals(1); - expect(container.children.indexOf(child4)).to.be.equals(0); + expect(container.children.indexOf(child1)).toEqual(2); + expect(container.children.indexOf(child2)).toEqual(3); + expect(container.children.indexOf(child3)).toEqual(1); + expect(container.children.indexOf(child4)).toEqual(0); container.sortChildren(); - expect(container.children.indexOf(child1)).to.be.equals(2); - expect(container.children.indexOf(child2)).to.be.equals(3); - expect(container.children.indexOf(child3)).to.be.equals(1); - expect(container.children.indexOf(child4)).to.be.equals(0); + expect(container.children.indexOf(child1)).toEqual(2); + expect(container.children.indexOf(child2)).toEqual(3); + expect(container.children.indexOf(child3)).toEqual(1); + expect(container.children.indexOf(child4)).toEqual(0); child1.zIndex = 1; child2.zIndex = 1; @@ -970,10 +968,10 @@ describe('Container', () => container.sortChildren(); - expect(container.children.indexOf(child1)).to.be.equals(2); - expect(container.children.indexOf(child2)).to.be.equals(3); - expect(container.children.indexOf(child3)).to.be.equals(1); - expect(container.children.indexOf(child4)).to.be.equals(0); + expect(container.children.indexOf(child1)).toEqual(2); + expect(container.children.indexOf(child2)).toEqual(3); + expect(container.children.indexOf(child3)).toEqual(1); + expect(container.children.indexOf(child4)).toEqual(0); }); it('should sort new children added correctly', () => @@ -994,29 +992,29 @@ describe('Container', () => container.addChild(child1, child2, child3); - expect(container.children.indexOf(child1)).to.be.equals(0); - expect(container.children.indexOf(child2)).to.be.equals(1); - expect(container.children.indexOf(child3)).to.be.equals(2); + expect(container.children.indexOf(child1)).toEqual(0); + expect(container.children.indexOf(child2)).toEqual(1); + expect(container.children.indexOf(child3)).toEqual(2); container.sortChildren(); - expect(container.children.indexOf(child1)).to.be.equals(2); - expect(container.children.indexOf(child2)).to.be.equals(0); - expect(container.children.indexOf(child3)).to.be.equals(1); + expect(container.children.indexOf(child1)).toEqual(2); + expect(container.children.indexOf(child2)).toEqual(0); + expect(container.children.indexOf(child3)).toEqual(1); container.addChild(child4); - expect(container.children.indexOf(child1)).to.be.equals(2); - expect(container.children.indexOf(child2)).to.be.equals(0); - expect(container.children.indexOf(child3)).to.be.equals(1); - expect(container.children.indexOf(child4)).to.be.equals(3); + expect(container.children.indexOf(child1)).toEqual(2); + expect(container.children.indexOf(child2)).toEqual(0); + expect(container.children.indexOf(child3)).toEqual(1); + expect(container.children.indexOf(child4)).toEqual(3); container.sortChildren(); - expect(container.children.indexOf(child1)).to.be.equals(3); - expect(container.children.indexOf(child2)).to.be.equals(1); - expect(container.children.indexOf(child3)).to.be.equals(2); - expect(container.children.indexOf(child4)).to.be.equals(0); + expect(container.children.indexOf(child1)).toEqual(3); + expect(container.children.indexOf(child2)).toEqual(1); + expect(container.children.indexOf(child3)).toEqual(2); + expect(container.children.indexOf(child4)).toEqual(0); }); it('should sort children after a removal correctly', () => @@ -1037,29 +1035,29 @@ describe('Container', () => container.addChild(child1, child2, child3, child4); - expect(container.children.indexOf(child1)).to.be.equals(0); - expect(container.children.indexOf(child2)).to.be.equals(1); - expect(container.children.indexOf(child3)).to.be.equals(2); - expect(container.children.indexOf(child4)).to.be.equals(3); + expect(container.children.indexOf(child1)).toEqual(0); + expect(container.children.indexOf(child2)).toEqual(1); + expect(container.children.indexOf(child3)).toEqual(2); + expect(container.children.indexOf(child4)).toEqual(3); container.sortChildren(); - expect(container.children.indexOf(child1)).to.be.equals(3); - expect(container.children.indexOf(child2)).to.be.equals(1); - expect(container.children.indexOf(child3)).to.be.equals(2); - expect(container.children.indexOf(child4)).to.be.equals(0); + expect(container.children.indexOf(child1)).toEqual(3); + expect(container.children.indexOf(child2)).toEqual(1); + expect(container.children.indexOf(child3)).toEqual(2); + expect(container.children.indexOf(child4)).toEqual(0); container.removeChild(child3); - expect(container.children.indexOf(child1)).to.be.equals(2); - expect(container.children.indexOf(child2)).to.be.equals(1); - expect(container.children.indexOf(child4)).to.be.equals(0); + expect(container.children.indexOf(child1)).toEqual(2); + expect(container.children.indexOf(child2)).toEqual(1); + expect(container.children.indexOf(child4)).toEqual(0); container.sortChildren(); - expect(container.children.indexOf(child1)).to.be.equals(2); - expect(container.children.indexOf(child2)).to.be.equals(1); - expect(container.children.indexOf(child4)).to.be.equals(0); + expect(container.children.indexOf(child1)).toEqual(2); + expect(container.children.indexOf(child2)).toEqual(1); + expect(container.children.indexOf(child4)).toEqual(0); }); }); @@ -1067,27 +1065,27 @@ describe('Container', () => { parent.addChild(child); - expect(parent.children.length).to.be.equals(1); - expect(child.parent).to.be.equals(parent); + expect(parent.children.length).toEqual(1); + expect(child.parent).toEqual(parent); functionToAssert(); - expect(parent.children.length).to.be.equals(0); - expect(child.parent).to.be.equals(container); + expect(parent.children.length).toEqual(0); + expect(child.parent).toEqual(container); } describe('culling', () => { let renderer: Renderer; - let filterPush: sinon.SinonSpy; + let filterPush: jest.SpyInstance; - before(() => + beforeAll(() => { renderer = new Renderer({ width: 100, height: 100 }); - filterPush = sinon.spy(renderer.filter, 'push'); + filterPush = jest.spyOn(renderer.filter, 'push'); }); - after(() => + afterAll(() => { renderer.destroy(); renderer = null; @@ -1096,7 +1094,7 @@ describe('Container', () => afterEach(() => { - filterPush.resetHistory(); + filterPush.mockClear(); }); it('noncullable container should always be rendered even if bounds do not intersect the frame', () => @@ -1108,13 +1106,13 @@ describe('Container', () => graphics.x = -1000; graphics.y = -1000; - const _renderContainer = sinon.spy(container, '_render' as keyof Container); - const _renderGraphics = sinon.spy(graphics, '_render' as keyof Graphics); + const _renderContainer = jest.spyOn(container, '_render' as any); + const _renderGraphics = jest.spyOn(graphics, '_render' as any); renderer.render(container); - expect(_renderContainer).to.have.been.called; - expect(_renderGraphics).to.have.been.called; + expect(_renderContainer).toBeCalled(); + expect(_renderGraphics).toBeCalled(); }); it('cullable container should not be rendered if bounds do not intersect the frame', () => @@ -1126,13 +1124,13 @@ describe('Container', () => graphics.x = 0; graphics.y = -10; - const _renderContainer = sinon.spy(container, '_render' as keyof Container); - const _renderGraphics = sinon.spy(graphics, '_render' as keyof Graphics); + const _renderContainer = jest.spyOn(container, '_render' as any); + const _renderGraphics = jest.spyOn(graphics, '_render' as any); renderer.render(container); - expect(_renderContainer).to.not.have.been.called; - expect(_renderGraphics).to.not.have.been.called; + expect(_renderContainer).not.toBeCalled(); + expect(_renderGraphics).not.toBeCalled(); }); it('cullable container should be rendered if bounds intersects the frame', () => @@ -1144,13 +1142,13 @@ describe('Container', () => graphics.x = 0; graphics.y = -9; - const _renderContainer = sinon.spy(container, '_render' as keyof Container); - const _renderGraphics = sinon.spy(graphics, '_render' as keyof Graphics); + const _renderContainer = jest.spyOn(container, '_render' as any); + const _renderGraphics = jest.spyOn(graphics, '_render' as any); renderer.render(container); - expect(_renderContainer).to.have.been.called; - expect(_renderGraphics).to.have.been.called; + expect(_renderContainer).toBeCalled(); + expect(_renderGraphics).toBeCalled(); }); it('cullable container that contains a child with a padded filter (autoFit=true) ' @@ -1169,14 +1167,14 @@ describe('Container', () => graphics.x = 0; graphics.y = -15; - const _renderContainer = sinon.spy(container, '_render' as keyof Container); - const _renderGraphics = sinon.spy(graphics, '_render' as keyof Graphics); + const _renderContainer = jest.spyOn(container, '_render' as any); + const _renderGraphics = jest.spyOn(graphics, '_render' as any); renderer.render(container); - expect(_renderContainer).to.not.have.been.called; - expect(_renderGraphics).to.not.have.been.called; - expect(filterPush).to.have.been.called; + expect(_renderContainer).not.toBeCalled(); + expect(_renderGraphics).not.toBeCalled(); + expect(filterPush).toBeCalled(); }); it('cullable container that contains a child with a padded filter (autoFit=false) ' @@ -1195,14 +1193,14 @@ describe('Container', () => graphics.x = 0; graphics.y = -15; - const _renderContainer = sinon.spy(container, '_render' as keyof Container); - const _renderGraphics = sinon.spy(graphics, '_render' as keyof Graphics); + const _renderContainer = jest.spyOn(container, '_render' as any); + const _renderGraphics = jest.spyOn(graphics, '_render' as any); renderer.render(container); - expect(_renderContainer).to.not.have.been.called; - expect(_renderGraphics).to.have.been.called; - expect(filterPush).to.have.been.called; + expect(_renderContainer).not.toBeCalled(); + expect(_renderGraphics).toBeCalled(); + expect(filterPush).toBeCalled(); }); it('cullable container with a filter (autoFit=true) should not render the container or children ' @@ -1220,14 +1218,14 @@ describe('Container', () => graphics.x = 0; graphics.y = -15; - const _renderContainer = sinon.spy(container, '_render' as keyof Container); - const renderGraphics = sinon.spy(graphics, 'render'); + const _renderContainer = jest.spyOn(container, '_render' as any); + const renderGraphics = jest.spyOn(graphics, 'render'); renderer.render(container); - expect(_renderContainer).to.not.have.been.called; - expect(renderGraphics).to.not.have.been.called; - expect(filterPush).to.have.been.called; + expect(_renderContainer).not.toBeCalled(); + expect(renderGraphics).not.toBeCalled(); + expect(filterPush).toBeCalled(); }); it('cullable container with cullArea should be rendered if the bounds intersect the frame', () => @@ -1240,11 +1238,11 @@ describe('Container', () => container.x = container.y = 107.07; container.rotation = Math.PI / 4; - const _renderGraphics = sinon.spy(graphics, '_render' as keyof Graphics); + const _renderGraphics = jest.spyOn(graphics, '_render' as any); renderer.render(container); - expect(_renderGraphics).to.have.been.called; + expect(_renderGraphics).toBeCalled(); }); it('cullable container with cullArea should not be rendered if the bounds do not intersect the frame', () => @@ -1257,11 +1255,11 @@ describe('Container', () => container.x = container.y = 107.08; container.rotation = Math.PI / 4; - const renderGraphics = sinon.spy(graphics, 'render'); + const renderGraphics = jest.spyOn(graphics, 'render'); renderer.render(container); - expect(renderGraphics).to.not.have.been.called; + expect(renderGraphics).not.toBeCalled(); }); }); }); diff --git a/packages/display/test/DisplayObject.tests.ts b/packages/display/test/DisplayObject.tests.ts index 2bc22c19b8..5481b56035 100755 --- a/packages/display/test/DisplayObject.tests.ts +++ b/packages/display/test/DisplayObject.tests.ts @@ -1,7 +1,5 @@ import { DisplayObject, Container } from '@pixi/display'; import { RAD_TO_DEG, DEG_TO_RAD } from '@pixi/math'; -import sinon from 'sinon'; -import { expect } from 'chai'; describe('DisplayObject', () => { @@ -12,10 +10,10 @@ describe('DisplayObject', () => // @ts-expect-error - instantiating DisplayOBject const object = new DisplayObject(); - expect(object.alpha).to.equal(1); - expect(object.worldAlpha).to.equal(1); - expect(object.renderable).to.be.true; - expect(object.visible).to.be.true; + expect(object.alpha).toEqual(1); + expect(object.worldAlpha).toEqual(1); + expect(object.renderable).toBe(true); + expect(object.visible).toBe(true); }); }); @@ -27,10 +25,10 @@ describe('DisplayObject', () => const child = new DisplayObject(); const container = new Container(); - expect(container.children.length).to.equal(0); + expect(container.children.length).toEqual(0); child.setParent(container); - expect(container.children.length).to.equal(1); - expect(child.parent).to.equal(container); + expect(container.children.length).toEqual(1); + expect(child.parent).toEqual(container); }); it('should throw if not Container', () => @@ -39,8 +37,8 @@ describe('DisplayObject', () => const child = new DisplayObject(); const notAContainer = {}; - expect(() => child.setParent()).to.throw('setParent: Argument must be a Container'); - expect(() => child.setParent(notAContainer)).to.throw('setParent: Argument must be a Container'); + expect(() => child.setParent()).toThrowError('setParent: Argument must be a Container'); + expect(() => child.setParent(notAContainer)).toThrowError('setParent: Argument must be a Container'); }); }); @@ -53,15 +51,15 @@ describe('DisplayObject', () => object.setTransform(1, 2, 3, 4, 5, 6, 7, 8, 9); - expect(object.position.x).to.be.equal(1); - expect(object.position.y).to.be.equal(2); - expect(object.scale.x).to.be.equal(3); - expect(object.scale.y).to.be.equal(4); - expect(object.rotation).to.be.equal(5); - expect(object.skew.x).to.be.equal(6); - expect(object.skew.y).to.be.equal(7); - expect(object.pivot.x).to.be.equal(8); - expect(object.pivot.y).to.be.equal(9); + expect(object.position.x).toEqual(1); + expect(object.position.y).toEqual(2); + expect(object.scale.x).toEqual(3); + expect(object.scale.y).toEqual(4); + expect(object.rotation).toEqual(5); + expect(object.skew.x).toEqual(6); + expect(object.skew.y).toEqual(7); + expect(object.pivot.x).toEqual(8); + expect(object.pivot.y).toEqual(9); }); it('should convert zero scale to one', () => @@ -71,8 +69,8 @@ describe('DisplayObject', () => object.setTransform(1, 1, 0, 0, 1, 1, 1, 1, 1); - expect(object.scale.x).to.be.equal(1); - expect(object.scale.y).to.be.equal(1); + expect(object.scale.x).toEqual(1); + expect(object.scale.y).toEqual(1); }); }); @@ -88,11 +86,11 @@ describe('DisplayObject', () => grandParent.addChild(parent); parent.addChild(child); - expect(child.worldVisible).to.be.true; + expect(child.worldVisible).toBe(true); grandParent.visible = false; - expect(child.worldVisible).to.be.false; + expect(child.worldVisible).toBe(false); }); }); @@ -103,18 +101,18 @@ describe('DisplayObject', () => // @ts-expect-error - instantiating DisplayOBject const object = new DisplayObject(); - expect(object.rotation).to.be.equal(0); - expect(object.angle).to.be.equal(0); + expect(object.rotation).toEqual(0); + expect(object.angle).toEqual(0); object.rotation = 2; - expect(object.rotation).to.be.equal(2); - expect(object.angle).to.be.equal(2 * RAD_TO_DEG); + expect(object.rotation).toEqual(2); + expect(object.angle).toEqual(2 * RAD_TO_DEG); object.angle = 180; - expect(object.rotation).to.be.equal(180 * DEG_TO_RAD); - expect(object.angle).to.be.equal(180); + expect(object.rotation).toEqual(180 * DEG_TO_RAD); + expect(object.angle).toEqual(180); }); }); @@ -134,23 +132,23 @@ describe('DisplayObject', () => container.updateTransform(); container.disableTempParent(null); - expect(child.worldTransform.tx).to.equal(25); - expect(child.worldTransform.ty).to.equal(20); + expect(child.worldTransform.tx).toEqual(25); + expect(child.worldTransform.ty).toEqual(20); const cacheParent = child.enableTempParent(); child.updateTransform(); child.disableTempParent(cacheParent); - expect(cacheParent).to.equal(container); - expect(child.parent).to.equal(container); - expect(child.worldTransform.tx).to.equal(15); - expect(child.worldTransform.ty).to.equal(10); + expect(cacheParent).toEqual(container); + expect(child.parent).toEqual(container); + expect(child.worldTransform.tx).toEqual(15); + expect(child.worldTransform.ty).toEqual(10); child.updateTransform(); - expect(child.worldTransform.tx).to.equal(25); - expect(child.worldTransform.ty).to.equal(20); + expect(child.worldTransform.tx).toEqual(25); + expect(child.worldTransform.ty).toEqual(20); }); }); @@ -166,69 +164,69 @@ describe('DisplayObject', () => const container1 = new Container(); const container2 = new Container(); - expect(mask1.isMask).to.be.false; - expect(mask1.renderable).to.be.true; - expect(mask2.isMask).to.be.false; - expect(mask2.renderable).to.be.true; + expect(mask1.isMask).toBe(false); + expect(mask1.renderable).toBe(true); + expect(mask2.isMask).toBe(false); + expect(mask2.renderable).toBe(true); container1.mask = mask1; - expect(mask1.isMask).to.be.true; - expect(mask1.renderable).to.be.false; - expect(mask2.isMask).to.be.false; - expect(mask2.renderable).to.be.true; + expect(mask1.isMask).toBe(true); + expect(mask1.renderable).toBe(false); + expect(mask2.isMask).toBe(false); + expect(mask2.renderable).toBe(true); container1.mask = mask1; - expect(mask1.isMask).to.be.true; - expect(mask1.renderable).to.be.false; - expect(mask2.isMask).to.be.false; - expect(mask2.renderable).to.be.true; + expect(mask1.isMask).toBe(true); + expect(mask1.renderable).toBe(false); + expect(mask2.isMask).toBe(false); + expect(mask2.renderable).toBe(true); container2.mask = mask1; - expect(mask1.isMask).to.be.true; - expect(mask2.isMask).to.be.false; - expect(mask1.renderable).to.be.false; - expect(mask2.renderable).to.be.true; + expect(mask1.isMask).toBe(true); + expect(mask2.isMask).toBe(false); + expect(mask1.renderable).toBe(false); + expect(mask2.renderable).toBe(true); container1.mask = mask2; - expect(mask1.isMask).to.be.true; - expect(mask1.renderable).to.be.false; - expect(mask2.isMask).to.be.true; - expect(mask2.renderable).to.be.false; + expect(mask1.isMask).toBe(true); + expect(mask1.renderable).toBe(false); + expect(mask2.isMask).toBe(true); + expect(mask2.renderable).toBe(false); container2.mask = mask2; - expect(mask1.isMask).to.be.false; - expect(mask1.renderable).to.be.true; - expect(mask2.isMask).to.be.true; - expect(mask2.renderable).to.be.false; + expect(mask1.isMask).toBe(false); + expect(mask1.renderable).toBe(true); + expect(mask2.isMask).toBe(true); + expect(mask2.renderable).toBe(false); container1.mask = null; - expect(mask1.isMask).to.be.false; - expect(mask1.renderable).to.be.true; - expect(mask2.isMask).to.be.true; - expect(mask2.renderable).to.be.false; + expect(mask1.isMask).toBe(false); + expect(mask1.renderable).toBe(true); + expect(mask2.isMask).toBe(true); + expect(mask2.renderable).toBe(false); container2.mask = null; - expect(mask1.isMask).to.be.false; - expect(mask1.renderable).to.be.true; - expect(mask2.isMask).to.be.false; - expect(mask2.renderable).to.be.true; + expect(mask1.isMask).toBe(false); + expect(mask1.renderable).toBe(true); + expect(mask2.isMask).toBe(false); + expect(mask2.renderable).toBe(true); container1.mask = mask1; - expect(mask1.isMask).to.be.true; - expect(mask1.renderable).to.be.false; + expect(mask1.isMask).toBe(true); + expect(mask1.renderable).toBe(false); container1.destroy(); - expect(mask1.isMask).to.be.false; - expect(mask1.renderable).to.be.true; + expect(mask1.isMask).toBe(false); + expect(mask1.renderable).toBe(true); } ); }); @@ -237,7 +235,7 @@ describe('DisplayObject', () => { it('should trigger removed listeners', () => { - const listener = sinon.spy(); + const listener = jest.fn(); // @ts-expect-error - instantiating DisplayOBject const child = new DisplayObject(); const container = new Container(); @@ -247,12 +245,12 @@ describe('DisplayObject', () => container.addChild(child); container.removeChild(child); - expect(listener.calledOnce).to.be.true; + expect(listener).toBeCalledTimes(1); container.addChild(child); child.destroy(); - expect(listener.calledTwice).to.be.true; + expect(listener).toBeCalledTimes(2); }); }); @@ -260,7 +258,7 @@ describe('DisplayObject', () => { it('should trigger destroyed listeners', () => { - const listener = sinon.spy(); + const listener = jest.fn(); // @ts-expect-error - instantiating DisplayOBject const child = new DisplayObject(); const container = new Container(); @@ -270,12 +268,12 @@ describe('DisplayObject', () => container.addChild(child); container.removeChild(child); - expect(listener.notCalled).to.be.true; + expect(listener).not.toBeCalled(); container.addChild(child); child.destroy(); - expect(listener.calledOnce).to.be.true; + expect(listener).toBeCalledTimes(1); }); it('should trigger destroyed listeners once destruction is complete', () => @@ -288,19 +286,19 @@ describe('DisplayObject', () => child.on('destroyed', () => { listenerCallCount++; - expect(child.destroyed).to.be.true; - expect(child.parent).to.be.null; + expect(child.destroyed).toBe(true); + expect(child.parent).toBeNull(); }); container.addChild(child); container.removeChild(child); - expect(listenerCallCount).to.equal(0); + expect(listenerCallCount).toEqual(0); container.addChild(child); child.destroy(); - expect(listenerCallCount).to.equal(1); + expect(listenerCallCount).toEqual(1); }); }); }); diff --git a/packages/display/test/toGlobal.tests.ts b/packages/display/test/toGlobal.tests.ts index 59e57f8802..bc2d7076d6 100644 --- a/packages/display/test/toGlobal.tests.ts +++ b/packages/display/test/toGlobal.tests.ts @@ -1,6 +1,5 @@ import { Container } from '@pixi/display'; import { Point } from '@pixi/math'; -import { expect } from 'chai'; describe('toGlobal', () => { @@ -16,8 +15,8 @@ describe('toGlobal', () => let globalPoint = container.toGlobal(point); - expect(globalPoint.x).to.equal(100); - expect(globalPoint.y).to.equal(100); + expect(globalPoint.x).toEqual(100); + expect(globalPoint.y).toEqual(100); container.position.x = 20; container.position.y = 20; @@ -27,7 +26,7 @@ describe('toGlobal', () => globalPoint = container.toGlobal(point); - expect(globalPoint.x).to.equal(220); - expect(globalPoint.y).to.equal(220); + expect(globalPoint.x).toEqual(220); + expect(globalPoint.y).toEqual(220); }); }); diff --git a/packages/display/test/toLocal.tests.ts b/packages/display/test/toLocal.tests.ts index 0808000a56..9114179faf 100644 --- a/packages/display/test/toLocal.tests.ts +++ b/packages/display/test/toLocal.tests.ts @@ -1,6 +1,5 @@ import { Container } from '@pixi/display'; import { Point } from '@pixi/math'; -import { expect } from 'chai'; describe('toLocal', () => { @@ -16,8 +15,8 @@ describe('toLocal', () => let localPoint = container.toLocal(point); - expect(localPoint.x).to.equal(100); - expect(localPoint.y).to.equal(100); + expect(localPoint.x).toEqual(100); + expect(localPoint.y).toEqual(100); container.position.x = 20; container.position.y = 20; @@ -27,8 +26,8 @@ describe('toLocal', () => localPoint = container.toLocal(point); - expect(localPoint.x).to.equal(40); - expect(localPoint.y).to.equal(40); + expect(localPoint.x).toEqual(40); + expect(localPoint.y).toEqual(40); }); it('should map the correct local cordinates of a displayObject to another', () => @@ -51,7 +50,7 @@ describe('toLocal', () => const localPoint = container.toLocal(point, container2); - expect(localPoint.x).to.equal(100); - expect(localPoint.y).to.equal(100); + expect(localPoint.x).toEqual(100); + expect(localPoint.y).toEqual(100); }); }); diff --git a/packages/events/test/EventBoundary.tests.ts b/packages/events/test/EventBoundary.tests.ts index 53fd1d7986..e660c8acd6 100644 --- a/packages/events/test/EventBoundary.tests.ts +++ b/packages/events/test/EventBoundary.tests.ts @@ -1,8 +1,6 @@ import { Container } from '@pixi/display'; import { FederatedPointerEvent, EventBoundary } from '@pixi/events'; import { Graphics } from '@pixi/graphics'; -import sinon from 'sinon'; -import { expect } from 'chai'; describe('EventBoundary', () => { @@ -19,9 +17,9 @@ describe('EventBoundary', () => new Graphics().drawRect(150, 0, 100, 100) ); const event = new FederatedPointerEvent(boundary); - const eventSpy = sinon.spy(); - const captureSpy = sinon.spy(); - const stageSpy = sinon.spy(); + const eventSpy = jest.fn(); + const captureSpy = jest.fn(); + const stageSpy = jest.fn(); target.interactive = true; container.interactive = true; @@ -34,8 +32,8 @@ describe('EventBoundary', () => target.addEventListener('click', { handleEvent(e) { - expect(this).to.not.be.undefined; - expect(e.eventPhase).to.equal(e.AT_TARGET); + expect(this).toBeDefined(); + expect(e.eventPhase).toEqual(e.AT_TARGET); eventSpy(); } @@ -44,10 +42,10 @@ describe('EventBoundary', () => stage.addEventListener('click', stageSpy); boundary.dispatchEvent(event); - expect(eventSpy).to.have.been.calledTwice; - expect(captureSpy).to.have.been.calledOnce; - expect(captureSpy).to.have.been.calledBefore(eventSpy); - expect(stageSpy).to.have.been.calledOnce; + expect(eventSpy).toBeCalledTimes(2); + expect(captureSpy).toHaveBeenCalledOnce(); + expect(captureSpy).toHaveBeenCalledBefore(eventSpy); + expect(stageSpy).toHaveBeenCalledOnce(); }); it('should set hit-test target to most specific ancestor if hit object is not interactive', () => @@ -62,7 +60,7 @@ describe('EventBoundary', () => const hitTestTarget = boundary.hitTest(50, 50); - expect(hitTestTarget).to.equal(container); + expect(hitTestTarget).toEqual(container); }); it('should fire pointerupoutside only on relevant & still mounted targets', () => @@ -74,10 +72,10 @@ describe('EventBoundary', () => stage.addChild(new Graphics().beginFill(0).drawRect(100, 0, 100, 100)); - const eventSpy = sinon.spy(); - const containerSpy = sinon.spy(); - const stageSpy = sinon.spy(); - const stageOutsideSpy = sinon.spy(); + const eventSpy = jest.fn(); + const containerSpy = jest.fn(); + const stageSpy = jest.fn(); + const stageOutsideSpy = jest.fn(); stage.interactive = true; container.interactive = true; @@ -102,21 +100,21 @@ describe('EventBoundary', () => off.global.set(150, 50); boundary.mapEvent(on); - expect(boundary['trackingData'](1).pressTargetsByButton[1][2]).to.equal(pressed); + expect(boundary['trackingData'](1).pressTargetsByButton[1][2]).toEqual(pressed); pressed.destroy(); boundary.mapEvent(off); // "pressed" unmounted so it shouldn't get a pointerupoutside - expect(eventSpy).to.not.have.been.called; + expect(eventSpy).not.toBeCalled(); // "container" still mounted so it should get pointerupoutside - expect(containerSpy).to.have.been.calledOnce; + expect(containerSpy).toHaveBeenCalledOnce(); // "stage" still ancestor of the hit "outside" on pointerup, so it get pointerup instead - expect(stageOutsideSpy).to.not.have.been.called; + expect(stageOutsideSpy).not.toBeCalled(); // not a "pointerupoutside" - expect(stageSpy).to.have.been.calledOnce; + expect(stageSpy).toHaveBeenCalledOnce(); }); it('should fire pointerout on the most specific mounted ancestor of pointerover target', () => @@ -127,22 +125,22 @@ describe('EventBoundary', () => const over = container.addChild(new Graphics().beginFill(0).drawRect(0, 0, 100, 100)); const to = stage.addChild(new Graphics().beginFill(0).drawRect(100, 0, 100, 100)); - const orgOverSpy = sinon.spy(); - const orgContainerOverSpy = sinon.spy(); - const outSpy = sinon.spy(); - const containerOutSpy = sinon.spy(); - const toOverSpy = sinon.spy(); + const orgOverSpy = jest.fn(); + const orgContainerOverSpy = jest.fn(); + const outSpy = jest.fn(); + const containerOutSpy = jest.fn(); + const toOverSpy = jest.fn(); over.addEventListener('pointerover', orgOverSpy); container.addEventListener('pointerover', (e) => { - expect(e.target).to.equal(over); + expect(e.target).toEqual(over); orgContainerOverSpy(); }); over.addEventListener('pointerout', outSpy); container.addEventListener('pointerout', (e) => { - expect(e.target).to.equal(container); + expect(e.target).toEqual(container); containerOutSpy(); }); to.addEventListener('pointerover', toOverSpy); @@ -164,14 +162,14 @@ describe('EventBoundary', () => boundary.mapEvent(on); - expect(orgOverSpy).to.have.been.calledOnce; - expect(orgContainerOverSpy).to.have.been.calledOnce; + expect(orgOverSpy).toHaveBeenCalledOnce(); + expect(orgContainerOverSpy).toHaveBeenCalledOnce(); over.destroy(); boundary.mapEvent(off); - expect(outSpy).to.not.have.been.called; - expect(containerOutSpy).to.have.been.calledOnce; - expect(toOverSpy).to.have.been.calledOnce; + expect(outSpy).not.toBeCalled(); + expect(containerOutSpy).toHaveBeenCalledOnce(); + expect(toOverSpy).toHaveBeenCalledOnce(); }); }); diff --git a/packages/events/test/EventSystem.tests.ts b/packages/events/test/EventSystem.tests.ts index e30c98bfec..dc99321f31 100644 --- a/packages/events/test/EventSystem.tests.ts +++ b/packages/events/test/EventSystem.tests.ts @@ -2,8 +2,6 @@ import { BatchRenderer, extensions, Renderer } from '@pixi/core'; import { Container } from '@pixi/display'; import { EventSystem } from '@pixi/events'; import { Graphics } from '@pixi/graphics'; -import sinon from 'sinon'; -import { expect } from 'chai'; function createRenderer(view?: HTMLCanvasElement, supportsPointerEvents?: boolean) { @@ -52,8 +50,8 @@ function createScene() describe('EventSystem', () => { - before(() => extensions.add(BatchRenderer)); - after(() => extensions.remove(BatchRenderer)); + beforeAll(() => extensions.add(BatchRenderer)); + afterAll(() => extensions.remove(BatchRenderer)); // Share WebGL context for performance const view = document.createElement('canvas'); @@ -140,13 +138,13 @@ describe('EventSystem', () => clientX = clientX || 25; clientY = clientY || 25; - const eventSpy = sinon.spy(); + const eventSpy = jest.fn(); const handler = handlers[(native || type) as keyof typeof handlers]; graphics.on(type, function testEvent(e) { - expect(e.nativeEvent.clientX).to.equal(clientX); - expect(e.nativeEvent.clientY).to.equal(clientY); + expect(e.nativeEvent.clientX).toEqual(clientX); + expect(e.nativeEvent.clientY).toEqual(clientY); eventSpy(); }); @@ -176,7 +174,7 @@ describe('EventSystem', () => renderer['events'][handler](event); - expect(eventSpy).to.have.been.calledOnce; + expect(eventSpy).toHaveBeenCalledOnce(); }); }); }); @@ -197,9 +195,9 @@ describe('EventSystem', () => }) ); - expect(renderer.view.style.cursor).to.equal('copy'); + expect(renderer.view.style.cursor).toEqual('copy'); - const eventSpy = sinon.spy(); + const eventSpy = jest.fn(); graphics.on('mousemove', eventSpy); renderer['events'].onPointerMove( @@ -210,8 +208,8 @@ describe('EventSystem', () => }) ); - expect(eventSpy).to.not.have.been.called; - expect(renderer.view.style.cursor).to.equal('inherit'); + expect(eventSpy).not.toBeCalled(); + expect(renderer.view.style.cursor).toEqual('inherit'); }); it('should dispatch synthetic over/out events on pointermove', () => @@ -227,45 +225,45 @@ describe('EventSystem', () => renderer.render(stage); second.interactive = true; - const primaryOverSpy = sinon.spy(); - const primaryOutSpy = sinon.spy(); - const primaryMoveSpy = sinon.spy(); + const primaryOverSpy = jest.fn(); + const primaryOutSpy = jest.fn(); + const primaryMoveSpy = jest.fn(); let callCount = 0; graphics.on('pointerover', () => { - expect(callCount).to.equal(0); + expect(callCount).toEqual(0); primaryOverSpy(); ++callCount; }); graphics.on('pointermove', () => { - expect(callCount).to.equal(1); + expect(callCount).toEqual(1); primaryMoveSpy(); ++callCount; }); graphics.on('pointerout', () => { - expect(callCount).to.equal(2); + expect(callCount).toEqual(2); primaryOutSpy(); ++callCount; }); - const secondaryOverSpy = sinon.spy(); - const secondaryOutSpy = sinon.spy(); - const secondaryMoveSpy = sinon.spy(); + const secondaryOverSpy = jest.fn(); + const secondaryOutSpy = jest.fn(); + const secondaryMoveSpy = jest.fn(); second.on('pointerover', () => { - expect(callCount).to.equal(3); + expect(callCount).toEqual(3); secondaryOverSpy(); ++callCount; }); second.on('pointerout', secondaryOutSpy); second.on('pointermove', () => { - expect(callCount).to.equal(4); + expect(callCount).toEqual(4); secondaryMoveSpy(); ++callCount; }); @@ -273,29 +271,29 @@ describe('EventSystem', () => renderer['events'].onPointerMove( new PointerEvent('pointermove', { clientX: 25, clientY: 25 }) ); - expect(primaryOverSpy).to.have.been.calledOnce; - expect(primaryMoveSpy).to.have.been.calledOnce; + expect(primaryOverSpy).toHaveBeenCalledOnce(); + expect(primaryMoveSpy).toHaveBeenCalledOnce(); renderer['events'].onPointerMove( new PointerEvent('pointermove', { clientX: 125, clientY: 25 }) ); - expect(primaryOutSpy).to.have.been.calledOnce; - expect(secondaryOverSpy).to.have.been.calledOnce; - expect(secondaryMoveSpy).to.have.been.calledOnce; - expect(secondaryOutSpy).to.not.have.been.calledOnce; + expect(primaryOutSpy).toHaveBeenCalledOnce(); + expect(secondaryOverSpy).toHaveBeenCalledOnce(); + expect(secondaryMoveSpy).toHaveBeenCalledOnce(); + expect(secondaryOutSpy).not.toBeCalledTimes(1); }); it('should dispatch click events', () => { const renderer = createRenderer(); const [stage, graphics] = createScene(); - const eventSpy = sinon.spy(); + const eventSpy = jest.fn(); renderer.render(stage); graphics.addEventListener('pointertap', (e) => { - expect(e.type).to.equal('click'); + expect(e.type).toEqual('click'); eventSpy(); }); @@ -311,14 +309,14 @@ describe('EventSystem', () => }); renderer['events'].onPointerUp(e); - expect(eventSpy).to.have.been.calledOnce; + expect(eventSpy).toHaveBeenCalledOnce(); }); it('should set the detail of click events to the click count', (done) => { const renderer = createRenderer(); const [stage, graphics] = createScene(); - const eventSpy = sinon.spy(); + const eventSpy = jest.fn(); let clickCount = 0; renderer.render(stage); @@ -326,7 +324,7 @@ describe('EventSystem', () => graphics.addEventListener('pointertap', (e) => { ++clickCount; - expect((e as PointerEvent).detail).to.equal(clickCount); + expect((e as PointerEvent).detail).toEqual(clickCount); eventSpy(); }); @@ -345,15 +343,15 @@ describe('EventSystem', () => renderer['events'].onPointerUp(e); } - expect(eventSpy).to.have.been.calledThrice; + expect(eventSpy).toBeCalledTimes(3); graphics.removeAllListeners(); - const newSpy = sinon.spy(); + const newSpy = jest.fn(); graphics.addEventListener('pointertap', (e) => { - expect((e as PointerEvent).detail).to.equal(1); + expect((e as PointerEvent).detail).toEqual(1); newSpy(); }); @@ -371,7 +369,7 @@ describe('EventSystem', () => }); renderer['events'].onPointerUp(e); - expect(newSpy).to.have.been.calledOnce; + expect(newSpy).toHaveBeenCalledOnce(); done(); }, 800); }); diff --git a/packages/extract/test/Extract.tests.ts b/packages/extract/test/Extract.tests.ts index 772b9f2e3b..b8b081bfab 100644 --- a/packages/extract/test/Extract.tests.ts +++ b/packages/extract/test/Extract.tests.ts @@ -1,5 +1,5 @@ import { Sprite } from '@pixi/sprite'; -import { expect } from 'chai'; + import { skipHello } from '@pixi/utils'; import { Texture, RenderTexture, BatchRenderer, Renderer, extensions } from '@pixi/core'; import { Extract } from '@pixi/extract'; @@ -9,14 +9,14 @@ skipHello(); describe('Extract', () => { - before(() => extensions.add(Extract, BatchRenderer)); - after(() => extensions.remove(Extract, BatchRenderer)); + beforeAll(() => extensions.add(Extract, BatchRenderer)); + afterAll(() => extensions.remove(Extract, BatchRenderer)); it('should access extract on renderer', () => { const renderer = new Renderer(); - expect(renderer.plugins.extract).to.be.an.instanceof(Extract); + expect(renderer.plugins.extract).toBeInstanceOf(Extract); renderer.destroy(); }); @@ -27,10 +27,10 @@ describe('Extract', () => const sprite = new Sprite(Texture.WHITE); const extract = renderer.plugins.extract as Extract; - expect(extract.canvas(sprite)).to.be.an.instanceof(HTMLCanvasElement); - expect(extract.base64(sprite)).to.be.a('string'); - expect(extract.pixels(sprite)).to.be.instanceOf(Uint8Array); - expect(extract.image(sprite)).to.be.instanceOf(HTMLImageElement); + expect(extract.canvas(sprite)).toBeInstanceOf(HTMLCanvasElement); + expect(extract.base64(sprite)).toBeString(); + expect(extract.pixels(sprite)).toBeInstanceOf(Uint8Array); + expect(extract.image(sprite)).toBeInstanceOf(HTMLImageElement); renderer.destroy(); sprite.destroy(); @@ -41,10 +41,10 @@ describe('Extract', () => const renderer = new Renderer(); const extract = renderer.plugins.extract as Extract; - expect(extract.canvas(undefined)).to.be.an.instanceof(HTMLCanvasElement); - expect(extract.base64(undefined)).to.be.a('string'); - expect(extract.pixels()).to.be.instanceOf(Uint8Array); - expect(extract.image(undefined)).to.be.instanceOf(HTMLImageElement); + expect(extract.canvas(undefined)).toBeInstanceOf(HTMLCanvasElement); + expect(extract.base64(undefined)).toBeString(); + expect(extract.pixels()).toBeInstanceOf(Uint8Array); + expect(extract.image(undefined)).toBeInstanceOf(HTMLImageElement); renderer.destroy(); }); @@ -59,10 +59,10 @@ describe('Extract', () => renderer.render(sprite, { renderTexture }); - expect(extract.canvas(renderTexture)).to.be.an.instanceof(HTMLCanvasElement); - expect(extract.base64(renderTexture)).to.be.a('string'); - expect(extract.pixels(renderTexture, frame)).to.be.instanceOf(Uint8Array); - expect(extract.image(renderTexture)).to.be.instanceOf(HTMLImageElement); + expect(extract.canvas(renderTexture)).toBeInstanceOf(HTMLCanvasElement); + expect(extract.base64(renderTexture)).toBeString(); + expect(extract.pixels(renderTexture, frame)).toBeInstanceOf(Uint8Array); + expect(extract.image(renderTexture)).toBeInstanceOf(HTMLImageElement); renderer.destroy(); renderTexture.destroy(); diff --git a/packages/filter-alpha/test/AlphaFilter.tests.ts b/packages/filter-alpha/test/AlphaFilter.tests.ts index 54f850c9c9..31c4073533 100644 --- a/packages/filter-alpha/test/AlphaFilter.tests.ts +++ b/packages/filter-alpha/test/AlphaFilter.tests.ts @@ -1,5 +1,4 @@ import { AlphaFilter } from '@pixi/filter-alpha'; -import { expect } from 'chai'; describe('AlphaFilter', () => { @@ -7,8 +6,8 @@ describe('AlphaFilter', () => { const filter = new AlphaFilter(); - expect(filter).to.be.instanceOf(AlphaFilter); - expect(filter.alpha).to.equal(1); + expect(filter).toBeInstanceOf(AlphaFilter); + expect(filter.alpha).toEqual(1); filter.destroy(); }); @@ -19,7 +18,7 @@ describe('AlphaFilter', () => filter.alpha = 0.5; - expect(filter.alpha).to.equal(0.5); + expect(filter.alpha).toEqual(0.5); filter.destroy(); }); diff --git a/packages/filter-blur/test/BlurFilter.tests.ts b/packages/filter-blur/test/BlurFilter.tests.ts index 241a1ace8d..75e36c31e8 100644 --- a/packages/filter-blur/test/BlurFilter.tests.ts +++ b/packages/filter-blur/test/BlurFilter.tests.ts @@ -1,5 +1,4 @@ import { BlurFilter } from '@pixi/filter-blur'; -import { expect } from 'chai'; describe('BlurFilter', () => { @@ -7,11 +6,11 @@ describe('BlurFilter', () => { const filter = new BlurFilter(); - expect(filter).to.be.instanceOf(BlurFilter); - expect(filter.blur).to.equal(8); - expect(filter.blurX).to.equal(8); - expect(filter.blurY).to.equal(8); - expect(filter.quality).to.equal(4); + expect(filter).toBeInstanceOf(BlurFilter); + expect(filter.blur).toEqual(8); + expect(filter.blurX).toEqual(8); + expect(filter.blurY).toEqual(8); + expect(filter.quality).toEqual(4); filter.destroy(); }); @@ -20,13 +19,13 @@ describe('BlurFilter', () => { const filter = new BlurFilter(); - expect(filter.repeatEdgePixels).to.be.false; - expect(filter.padding).to.be.greaterThan(0); + expect(filter.repeatEdgePixels).toBe(false); + expect(filter.padding).toBeGreaterThan(0); filter.repeatEdgePixels = true; - expect(filter.repeatEdgePixels).to.be.true; - expect(filter.padding).to.equal(0); + expect(filter.repeatEdgePixels).toBe(true); + expect(filter.padding).toEqual(0); filter.destroy(); }); diff --git a/packages/filter-color-matrix/test/ColorMatrixFilter.tests.ts b/packages/filter-color-matrix/test/ColorMatrixFilter.tests.ts index 1e23350073..4f4ef9282d 100644 --- a/packages/filter-color-matrix/test/ColorMatrixFilter.tests.ts +++ b/packages/filter-color-matrix/test/ColorMatrixFilter.tests.ts @@ -1,5 +1,4 @@ import { ColorMatrixFilter } from '@pixi/filter-color-matrix'; -import { expect } from 'chai'; describe('ColorMatrixFilter', () => { @@ -7,13 +6,13 @@ describe('ColorMatrixFilter', () => { const filter = new ColorMatrixFilter(); - expect(filter).to.be.instanceOf(ColorMatrixFilter); - expect(filter.alpha).to.equal(1); + expect(filter).toBeInstanceOf(ColorMatrixFilter); + expect(filter.alpha).toEqual(1); filter.alpha = 0.5; - expect(filter.alpha).to.equal(0.5); - expect(filter.matrix).to.deep.eq(new Float32Array( + expect(filter.alpha).toEqual(0.5); + expect(filter.matrix).toEqual(new Float32Array( [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0] )); diff --git a/packages/graphics-extras/test/Graphics.tests.ts b/packages/graphics-extras/test/Graphics.tests.ts index fac54e79e1..7f3591c7ea 100644 --- a/packages/graphics-extras/test/Graphics.tests.ts +++ b/packages/graphics-extras/test/Graphics.tests.ts @@ -1,5 +1,5 @@ import { Graphics } from '@pixi/graphics'; -import { expect } from 'chai'; + import '@pixi/graphics-extras'; describe('Graphics', () => @@ -8,12 +8,12 @@ describe('Graphics', () => { const g = new Graphics(); - expect(g.drawChamferRect).to.be.ok; - expect(g.drawFilletRect).to.be.ok; - expect(g.drawRegularPolygon).to.be.ok; - expect(g.drawRoundedPolygon).to.be.ok; - expect(g.drawStar).to.be.ok; - expect(g.drawTorus).to.be.ok; + expect(g.drawChamferRect).toBeTruthy(); + expect(g.drawFilletRect).toBeTruthy(); + expect(g.drawRegularPolygon).toBeTruthy(); + expect(g.drawRoundedPolygon).toBeTruthy(); + expect(g.drawStar).toBeTruthy(); + expect(g.drawTorus).toBeTruthy(); g.destroy(); }); @@ -22,19 +22,19 @@ describe('Graphics', () => { const g = new Graphics(); - expect(g.drawChamferRect(0, 0, 100, 100, 5)).equals(g); - expect(g.drawChamferRect(0, 0, 100, 100, 0)).equals(g); - expect(g.drawFilletRect(0, 0, 100, 100, -5)).equals(g); - expect(g.drawFilletRect(0, 0, 100, 100, 5)).equals(g); - expect(g.drawFilletRect(0, 0, 100, 100, 0)).equals(g); - expect(g.drawRegularPolygon(0, 0, 100, 5, 0)).equals(g); - expect(g.drawRoundedPolygon(0, 0, 100, 5, 10, 0)).equals(g); - expect(g.drawRoundedPolygon(0, 0, 100, 5, 10)).equals(g); - expect(g.drawRoundedPolygon(0, 0, 100, 5, 0)).equals(g); - expect(g.drawStar(0, 0, 5, 100, 50, 0)).equals(g); - expect(g.drawTorus(0, 0, 50, 100)).equals(g); - expect(g.drawTorus(0, 0, 50, 100, 0, Math.PI * 2)).equals(g); - expect(g.drawTorus(0, 0, 50, 100, 0.2, Math.PI)).equals(g); + expect(g.drawChamferRect(0, 0, 100, 100, 5)).toEqual(g); + expect(g.drawChamferRect(0, 0, 100, 100, 0)).toEqual(g); + expect(g.drawFilletRect(0, 0, 100, 100, -5)).toEqual(g); + expect(g.drawFilletRect(0, 0, 100, 100, 5)).toEqual(g); + expect(g.drawFilletRect(0, 0, 100, 100, 0)).toEqual(g); + expect(g.drawRegularPolygon(0, 0, 100, 5, 0)).toEqual(g); + expect(g.drawRoundedPolygon(0, 0, 100, 5, 10, 0)).toEqual(g); + expect(g.drawRoundedPolygon(0, 0, 100, 5, 10)).toEqual(g); + expect(g.drawRoundedPolygon(0, 0, 100, 5, 0)).toEqual(g); + expect(g.drawStar(0, 0, 5, 100, 50, 0)).toEqual(g); + expect(g.drawTorus(0, 0, 50, 100)).toEqual(g); + expect(g.drawTorus(0, 0, 50, 100, 0, Math.PI * 2)).toEqual(g); + expect(g.drawTorus(0, 0, 50, 100, 0.2, Math.PI)).toEqual(g); g.destroy(); }); diff --git a/packages/graphics/test/Graphics.tests.ts b/packages/graphics/test/Graphics.tests.ts index 2ac4d0cf7f..a128380012 100644 --- a/packages/graphics/test/Graphics.tests.ts +++ b/packages/graphics/test/Graphics.tests.ts @@ -1,19 +1,17 @@ import { BatchRenderer, Texture, extensions } from '@pixi/core'; -import { Graphics, GRAPHICS_CURVES, FillStyle, LineStyle, graphicsUtils, GraphicsGeometry, LINE_CAP } from '@pixi/graphics'; +import { Graphics, GRAPHICS_CURVES, FillStyle, LineStyle, graphicsUtils, LINE_CAP } from '@pixi/graphics'; const { FILL_COMMANDS, buildLine } = graphicsUtils; import { BLEND_MODES } from '@pixi/constants'; import { Point, Matrix, SHAPES, Polygon } from '@pixi/math'; import { skipHello } from '@pixi/utils'; -import sinon from 'sinon'; -import { expect } from 'chai'; skipHello(); describe('Graphics', () => { - before(() => extensions.add(BatchRenderer)); - after(() => extensions.remove(BatchRenderer)); + beforeAll(() => extensions.add(BatchRenderer)); + afterAll(() => extensions.remove(BatchRenderer)); describe('constructor', () => { @@ -21,12 +19,12 @@ describe('Graphics', () => { const graphics = new Graphics(); - expect(graphics.fill.color).to.be.equals(0xFFFFFF); - expect(graphics.fill.alpha).to.be.equals(1); - expect(graphics.line.width).to.be.equals(0); - expect(graphics.line.color).to.be.equals(0); - expect(graphics.tint).to.be.equals(0xFFFFFF); - expect(graphics.blendMode).to.be.equals(BLEND_MODES.NORMAL); + expect(graphics.fill.color).toEqual(0xFFFFFF); + expect(graphics.fill.alpha).toEqual(1); + expect(graphics.line.width).toEqual(0); + expect(graphics.line.color).toEqual(0); + expect(graphics.tint).toEqual(0xFFFFFF); + expect(graphics.blendMode).toEqual(BLEND_MODES.NORMAL); }); }); @@ -38,11 +36,11 @@ describe('Graphics', () => graphics.lineStyle(1, 0xff0000, 0.5, 1, true); - expect(graphics.line.width).to.equal(1); - expect(graphics.line.color).to.equal(0xff0000); - expect(graphics.line.alignment).to.equal(1); - expect(graphics.line.alpha).to.equal(0.5); - expect(graphics.line.native).to.equal(true); + expect(graphics.line.width).toEqual(1); + expect(graphics.line.color).toEqual(0xff0000); + expect(graphics.line.alignment).toEqual(1); + expect(graphics.line.alpha).toEqual(0.5); + expect(graphics.line.native).toEqual(true); graphics.destroy(); }); @@ -52,9 +50,9 @@ describe('Graphics', () => const graphics = new Graphics(); graphics.lineStyle(1); - expect(graphics.line.color).to.equal(0x0); + expect(graphics.line.color).toEqual(0x0); graphics.lineTextureStyle({ texture: Texture.WHITE, width: 1 }); - expect(graphics.line.color).to.equal(0xFFFFFF); + expect(graphics.line.color).toEqual(0xFFFFFF); graphics.destroy(); }); @@ -70,21 +68,21 @@ describe('Graphics', () => native: true, }); - expect(graphics.line.width).to.equal(1); - expect(graphics.line.color).to.equal(0xff0000); - expect(graphics.line.alignment).to.equal(1); - expect(graphics.line.alpha).to.equal(0.5); - expect(graphics.line.native).to.equal(true); - expect(graphics.line.visible).to.equal(true); + expect(graphics.line.width).toEqual(1); + expect(graphics.line.color).toEqual(0xff0000); + expect(graphics.line.alignment).toEqual(1); + expect(graphics.line.alpha).toEqual(0.5); + expect(graphics.line.native).toEqual(true); + expect(graphics.line.visible).toEqual(true); graphics.lineStyle(); - expect(graphics.line.width).to.equal(0); - expect(graphics.line.color).to.equal(0); - expect(graphics.line.alignment).to.equal(0.5); - expect(graphics.line.alpha).to.equal(1); - expect(graphics.line.native).to.equal(false); - expect(graphics.line.visible).to.equal(false); + expect(graphics.line.width).toEqual(0); + expect(graphics.line.color).toEqual(0); + expect(graphics.line.alignment).toEqual(0.5); + expect(graphics.line.alpha).toEqual(1); + expect(graphics.line.native).toEqual(false); + expect(graphics.line.visible).toEqual(false); graphics.destroy(); }); @@ -108,25 +106,25 @@ describe('Graphics', () => native: true, }); - expect(graphics.line.width).to.equal(1); - expect(graphics.line.texture).to.equal(texture); - expect(graphics.line.matrix).to.be.ok; - expect(graphics.line.color).to.equal(0xff0000); - expect(graphics.line.alignment).to.equal(1); - expect(graphics.line.alpha).to.equal(0.5); - expect(graphics.line.native).to.equal(true); - expect(graphics.line.visible).to.equal(true); + expect(graphics.line.width).toEqual(1); + expect(graphics.line.texture).toEqual(texture); + expect(graphics.line.matrix).toBeTruthy(); + expect(graphics.line.color).toEqual(0xff0000); + expect(graphics.line.alignment).toEqual(1); + expect(graphics.line.alpha).toEqual(0.5); + expect(graphics.line.native).toEqual(true); + expect(graphics.line.visible).toEqual(true); graphics.lineTextureStyle(); - expect(graphics.line.width).to.equal(0); - expect(graphics.line.texture).to.equal(Texture.WHITE); - expect(graphics.line.matrix).to.equal(null); - expect(graphics.line.color).to.equal(0); - expect(graphics.line.alignment).to.equal(0.5); - expect(graphics.line.alpha).to.equal(1); - expect(graphics.line.native).to.equal(false); - expect(graphics.line.visible).to.equal(false); + expect(graphics.line.width).toEqual(0); + expect(graphics.line.texture).toEqual(Texture.WHITE); + expect(graphics.line.matrix).toEqual(null); + expect(graphics.line.color).toEqual(0); + expect(graphics.line.alignment).toEqual(0.5); + expect(graphics.line.alpha).toEqual(1); + expect(graphics.line.native).toEqual(false); + expect(graphics.line.visible).toEqual(false); graphics.destroy(); }); @@ -158,9 +156,9 @@ describe('Graphics', () => const batches = graphics.geometry.batches; - expect(batches.length).to.equal(2); - expect(batches[0].style.texture).to.equal(validTex1); - expect(batches[1].style.texture).to.equal(validTex2); + expect(batches.length).toEqual(2); + expect(batches[0].style.texture).toEqual(validTex1); + expect(batches[1].style.texture).toEqual(validTex2); }); }); @@ -168,13 +166,13 @@ describe('Graphics', () => { it('FILL_COMMADS should be filled', () => { - expect(FILL_COMMANDS).to.not.be.null; + expect(FILL_COMMANDS).not.toBeNull(); - expect(FILL_COMMANDS[SHAPES.POLY]).to.not.be.null; - expect(FILL_COMMANDS[SHAPES.CIRC]).to.not.be.null; - expect(FILL_COMMANDS[SHAPES.ELIP]).to.not.be.null; - expect(FILL_COMMANDS[SHAPES.RECT]).to.not.be.null; - expect(FILL_COMMANDS[SHAPES.RREC]).to.not.be.null; + expect(FILL_COMMANDS[SHAPES.POLY]).not.toBeNull(); + expect(FILL_COMMANDS[SHAPES.CIRC]).not.toBeNull(); + expect(FILL_COMMANDS[SHAPES.ELIP]).not.toBeNull(); + expect(FILL_COMMANDS[SHAPES.RECT]).not.toBeNull(); + expect(FILL_COMMANDS[SHAPES.RREC]).not.toBeNull(); }); it('buildLine should execute without throws', () => @@ -188,11 +186,11 @@ describe('Graphics', () => const data = geometry.graphicsData[0]; // native = false - expect(() => { buildLine(data, geometry); }).to.not.throw(); + expect(() => { buildLine(data, geometry); }).not.toThrowError(); data.lineStyle.native = true; // native = true - expect(() => { buildLine(data, geometry); }).to.not.throw(); + expect(() => { buildLine(data, geometry); }).not.toThrowError(); }); }); @@ -206,8 +204,8 @@ describe('Graphics', () => graphics.moveTo(0, 0); graphics.lineTo(0, 10); - expect(graphics.width).to.be.closeTo(1, 0.0001); - expect(graphics.height).to.be.closeTo(11, 0.0001); + expect(graphics.width).toBeCloseTo(1, 0.0001); + expect(graphics.height).toBeCloseTo(11, 0.0001); }); it('should return correct bounds - south', () => @@ -218,8 +216,8 @@ describe('Graphics', () => graphics.lineStyle({ width: 1, cap: LINE_CAP.SQUARE }); graphics.lineTo(0, -10); - expect(graphics.width).to.be.closeTo(1, 0.0001); - expect(graphics.height).to.be.closeTo(11, 0.0001); + expect(graphics.width).toBeCloseTo(1, 0.0001); + expect(graphics.height).toBeCloseTo(11, 0.0001); }); it('should return correct bounds - east', () => @@ -230,8 +228,8 @@ describe('Graphics', () => graphics.lineStyle({ width: 1, cap: LINE_CAP.SQUARE }); graphics.lineTo(10, 0); - expect(graphics.height).to.be.closeTo(1, 0.0001); - expect(graphics.width).to.be.closeTo(11, 0.0001); + expect(graphics.height).toBeCloseTo(1, 0.0001); + expect(graphics.width).toBeCloseTo(11, 0.0001); }); it('should return correct bounds - west', () => @@ -242,8 +240,8 @@ describe('Graphics', () => graphics.lineStyle({ width: 1, cap: LINE_CAP.SQUARE }); graphics.lineTo(-10, 0); - expect(graphics.height).to.be.closeTo(1, 0.0001); - expect(graphics.width).to.be.closeTo(11, 0.0001); + expect(graphics.height).toBeCloseTo(1, 0.0001); + expect(graphics.width).toBeCloseTo(11, 0.0001); }); it('should return correct bounds when stacked with circle', () => @@ -254,15 +252,15 @@ describe('Graphics', () => graphics.drawCircle(50, 50, 50); graphics.endFill(); - expect(graphics.width).to.be.equals(100); - expect(graphics.height).to.be.equals(100); + expect(graphics.width).toEqual(100); + expect(graphics.height).toEqual(100); graphics.lineStyle(20, 0); graphics.moveTo(25, 50); graphics.lineTo(75, 50); - expect(graphics.width).to.be.equals(100); - expect(graphics.height).to.be.equals(100); + expect(graphics.width).toEqual(100); + expect(graphics.height).toEqual(100); }); it('should return correct bounds when square', () => @@ -276,8 +274,8 @@ describe('Graphics', () => graphics.lineTo(0, 50); graphics.lineTo(0, 0); - expect(graphics.width).to.be.equals(70); - expect(graphics.height).to.be.equals(70); + expect(graphics.width).toEqual(70); + expect(graphics.height).toEqual(70); }); it('should ignore duplicate calls', () => @@ -289,7 +287,7 @@ describe('Graphics', () => graphics.lineTo(10, 0); graphics.lineTo(10, 0); - expect(graphics.currentPath.points).to.deep.equal([0, 0, 10, 0]); + expect(graphics.currentPath.points).toEqual([0, 0, 10, 0]); }); }); @@ -303,7 +301,7 @@ describe('Graphics', () => graphics.beginFill(0); graphics.drawRect(0, 0, 10, 10); - expect(graphics.containsPoint(point)).to.be.true; + expect(graphics.containsPoint(point)).toBe(true); }); it('should return false when point outside a standard shape', () => @@ -314,7 +312,7 @@ describe('Graphics', () => graphics.beginFill(0); graphics.drawRect(0, 0, 10, 10); - expect(graphics.containsPoint(point)).to.be.false; + expect(graphics.containsPoint(point)).toBe(false); }); it('should return true when point inside just lines', () => @@ -330,7 +328,7 @@ describe('Graphics', () => graphics.lineTo(0, 0); graphics.closePath(); - expect(graphics.containsPoint(point)).to.be.true; + expect(graphics.containsPoint(point)).toBe(true); }); it('should return false when point outside just lines', () => @@ -345,7 +343,7 @@ describe('Graphics', () => graphics.lineTo(0, 0); graphics.closePath(); - expect(graphics.containsPoint(point)).to.be.false; + expect(graphics.containsPoint(point)).toBe(false); }); it('should return false when no fill', () => @@ -355,7 +353,7 @@ describe('Graphics', () => graphics.drawRect(0, 0, 10, 10); - expect(graphics.containsPoint(point)).to.be.false; + expect(graphics.containsPoint(point)).toBe(false); }); it('should return false with hole', () => @@ -376,8 +374,8 @@ describe('Graphics', () => .lineTo(2, 8) .endHole(); - expect(graphics.containsPoint(point1)).to.be.true; - expect(graphics.containsPoint(point2)).to.be.false; + expect(graphics.containsPoint(point1)).toBe(true); + expect(graphics.containsPoint(point2)).toBe(false); }); it('should handle extra shapes in holes', () => @@ -407,11 +405,11 @@ describe('Graphics', () => .lineTo(5, 7) .endFill(); - expect(graphics.containsPoint(new Point(1, 1))).to.be.true; - expect(graphics.containsPoint(new Point(4, 4))).to.be.true; - expect(graphics.containsPoint(new Point(4, 6))).to.be.false; - expect(graphics.containsPoint(new Point(6, 4))).to.be.false; - expect(graphics.containsPoint(new Point(6, 6))).to.be.true; + expect(graphics.containsPoint(new Point(1, 1))).toBe(true); + expect(graphics.containsPoint(new Point(4, 4))).toBe(true); + expect(graphics.containsPoint(new Point(4, 6))).toBe(false); + expect(graphics.containsPoint(new Point(6, 4))).toBe(false); + expect(graphics.containsPoint(new Point(6, 6))).toBe(true); }); it('should take a matrix into account', () => @@ -429,10 +427,10 @@ describe('Graphics', () => g.setMatrix(null); g.drawRect(30, 40, 10, 10); - expect(g.containsPoint(new Point(5, 5))).to.be.false; - expect(g.containsPoint(new Point(5, 105))).to.be.true; - expect(g.containsPoint(new Point(205, 5))).to.be.true; - expect(g.containsPoint(new Point(35, 45))).to.be.true; + expect(g.containsPoint(new Point(5, 5))).toBe(false); + expect(g.containsPoint(new Point(5, 105))).toBe(true); + expect(g.containsPoint(new Point(205, 5))).toBe(true); + expect(g.containsPoint(new Point(35, 45))).toBe(true); }); }); @@ -460,7 +458,7 @@ describe('Graphics', () => .drawPolygon([1, 1, 1, 1, 1, 1]) .clear(); - expect(graphics).to.be.not.null; + expect(graphics).not.toBeNull(); }); }); @@ -470,7 +468,7 @@ describe('Graphics', () => let points: Point[]; let poly: Polygon; - before(() => + beforeAll(() => { numbers = [0, 0, 10, 10, 20, 20]; points = [new Point(0, 0), new Point(10, 10), new Point(20, 20)]; @@ -481,30 +479,30 @@ describe('Graphics', () => { const graphics = new Graphics(); - expect(graphics.currentPath).to.be.null; + expect(graphics.currentPath).toBeNull(); graphics.drawPolygon(poly); - expect(graphics.geometry.graphicsData[0]).to.be.not.null; + expect(graphics.geometry.graphicsData[0]).not.toBeNull(); const result = (graphics.geometry.graphicsData[0].shape as Polygon).points; - expect(result).to.deep.equals(numbers); + expect(result).toEqual(numbers); }); it('should support array of numbers', () => { const graphics = new Graphics(); - expect(graphics.currentPath).to.be.null; + expect(graphics.currentPath).toBeNull(); graphics.drawPolygon(numbers); - expect(graphics.geometry.graphicsData[0]).to.be.not.null; + expect(graphics.geometry.graphicsData[0]).not.toBeNull(); const result = (graphics.geometry.graphicsData[0].shape as Polygon).points; - expect(result).to.deep.equals(numbers); + expect(result).toEqual(numbers); }); it('should support array of points', () => @@ -513,41 +511,41 @@ describe('Graphics', () => graphics.drawPolygon(points); - expect(graphics.geometry.graphicsData[0]).to.be.not.null; + expect(graphics.geometry.graphicsData[0]).not.toBeNull(); const result = (graphics.geometry.graphicsData[0].shape as Polygon).points; - expect(result).to.deep.equals(numbers); + expect(result).toEqual(numbers); }); it('should support flat arguments of numbers', () => { const graphics = new Graphics(); - expect(graphics.currentPath).to.be.null; + expect(graphics.currentPath).toBeNull(); graphics.drawPolygon(...numbers); - expect(graphics.geometry.graphicsData[0]).to.be.not.null; + expect(graphics.geometry.graphicsData[0]).not.toBeNull(); const result = (graphics.geometry.graphicsData[0].shape as Polygon).points; - expect(result).to.deep.equals(numbers); + expect(result).toEqual(numbers); }); it('should support flat arguments of points', () => { const graphics = new Graphics(); - expect(graphics.currentPath).to.be.null; + expect(graphics.currentPath).toBeNull(); graphics.drawPolygon(...points); - expect(graphics.geometry.graphicsData[0]).to.be.not.null; + expect(graphics.geometry.graphicsData[0]).not.toBeNull(); const result = (graphics.geometry.graphicsData[0].shape as Polygon).points; - expect(result).to.deep.equals(numbers); + expect(result).toEqual(numbers); }); }); @@ -557,7 +555,7 @@ describe('Graphics', () => let height: number; let points: Point[]; - before(() => + beforeAll(() => { width = 100; height = 100; @@ -595,10 +593,10 @@ describe('Graphics', () => const polyBounds = polyGraphics.getBounds(); const rectBounds = rectGraphics.getBounds(); - expect(polyBounds.x).to.equal(rectBounds.x); - expect(polyBounds.y).to.equal(rectBounds.y); - expect(polyBounds.width).to.equal(rectBounds.width); - expect(polyBounds.height).to.equal(rectBounds.height); + expect(polyBounds.x).toEqual(rectBounds.x); + expect(polyBounds.y).toEqual(rectBounds.y); + expect(polyBounds.width).toEqual(rectBounds.width); + expect(polyBounds.height).toEqual(rectBounds.height); }); }); }); @@ -609,11 +607,11 @@ describe('Graphics', () => { const graphics = new Graphics(); - expect(graphics.currentPath).to.be.null; + expect(graphics.currentPath).toBeNull(); - expect(() => graphics.arc(100, 30, 20, 0, Math.PI)).to.not.throw(); + expect(() => graphics.arc(100, 30, 20, 0, Math.PI)).not.toThrowError(); - expect(graphics.currentPath).to.be.not.null; + expect(graphics.currentPath).not.toBeNull(); }); it('should not throw with other shapes', () => @@ -640,29 +638,29 @@ describe('Graphics', () => graphics.beginFill(); graphics.lineStyle(4, 0x00ff00, 1); - expect(() => graphics.arc(300, 100, 20, 0, Math.PI)).to.not.throw(); + expect(() => graphics.arc(300, 100, 20, 0, Math.PI)).not.toThrowError(); }); it('should do nothing when startAngle and endAngle are equal', () => { const graphics = new Graphics(); - expect(graphics.currentPath).to.be.null; + expect(graphics.currentPath).toBeNull(); graphics.arc(0, 0, 10, 0, 0); - expect(graphics.currentPath).to.be.null; + expect(graphics.currentPath).toBeNull(); }); it('should do nothing if sweep equals zero', () => { const graphics = new Graphics(); - expect(graphics.currentPath).to.be.null; + expect(graphics.currentPath).toBeNull(); graphics.arc(0, 0, 10, 10, 10); - expect(graphics.currentPath).to.be.null; + expect(graphics.currentPath).toBeNull(); }); }); @@ -676,30 +674,30 @@ describe('Graphics', () => graphics.drawRect(0, 0, 10, 10); graphics.endFill(); - const spy = sinon.spy(graphics.geometry, 'calculateBounds' as keyof GraphicsGeometry); + const spy = jest.spyOn(graphics.geometry, 'calculateBounds' as any); graphics['_calculateBounds'](); - expect(spy).to.have.been.calledOnce; + expect(spy).toHaveBeenCalledOnce(); graphics['_calculateBounds'](); - expect(spy).to.have.been.calledOnce; + expect(spy).toHaveBeenCalledOnce(); }); it('should not call updateLocalBounds when empty', () => { const graphics = new Graphics(); - const spy = sinon.spy(graphics.geometry, 'calculateBounds' as keyof GraphicsGeometry); + const spy = jest.spyOn(graphics.geometry, 'calculateBounds' as any); graphics['_calculateBounds'](); - expect(spy).to.not.have.been.called; + expect(spy).not.toBeCalled(); graphics['_calculateBounds'](); - expect(spy).to.not.have.been.called; + expect(spy).not.toBeCalled(); }); }); @@ -713,10 +711,10 @@ describe('Graphics', () => const { x, y, width, height } = graphics.getBounds(); - expect(x).to.equal(10); - expect(y).to.equal(20); - expect(width).to.equal(100); - expect(height).to.equal(200); + expect(x).toEqual(10); + expect(y).toEqual(20); + expect(width).toEqual(100); + expect(height).toEqual(200); }); it('should use getBounds with stroke', () => @@ -730,10 +728,10 @@ describe('Graphics', () => const { x, y, width, height } = graphics.getBounds(); - expect(x).to.equal(8); - expect(y).to.equal(18); - expect(width).to.equal(104); - expect(height).to.equal(204); + expect(x).toEqual(8); + expect(y).toEqual(18); + expect(width).toEqual(104); + expect(height).toEqual(204); }); it('should be zero for empty Graphics', () => @@ -742,10 +740,10 @@ describe('Graphics', () => const { x, y, width, height } = graphics.getBounds(); - expect(x).to.equal(0); - expect(y).to.equal(0); - expect(width).to.equal(0); - expect(height).to.equal(0); + expect(x).toEqual(0); + expect(y).toEqual(0); + expect(width).toEqual(0); + expect(height).toEqual(0); }); it('should be zero after clear', () => @@ -760,10 +758,10 @@ describe('Graphics', () => const { x, y, width, height } = graphics.getBounds(); - expect(x).to.equal(0); - expect(y).to.equal(0); - expect(width).to.equal(0); - expect(height).to.equal(0); + expect(x).toEqual(0); + expect(y).toEqual(0); + expect(width).toEqual(0); + expect(height).toEqual(0); }); it('should be equal of childs bounds when empty', () => @@ -779,10 +777,10 @@ describe('Graphics', () => const { x, y, width, height } = graphics.getBounds(); - expect(x).to.equal(10); - expect(y).to.equal(20); - expect(width).to.equal(100); - expect(height).to.equal(200); + expect(x).toEqual(10); + expect(y).toEqual(20); + expect(width).toEqual(100); + expect(height).toEqual(200); }); }); @@ -806,9 +804,9 @@ describe('Graphics', () => const data = graphics.geometry.graphicsData; - expect(data.length).to.equals(2); - expect((data[0].shape as Polygon).points).to.eql([50, 50, 250, 50, 100, 100, 50, 50]); - expect((data[1].shape as Polygon).points).to.eql([250, 50, 450, 50, 300, 100, 250, 50]); + expect(data.length).toEqual(2); + expect((data[0].shape as Polygon).points).toEqual([50, 50, 250, 50, 100, 100, 50, 50]); + expect((data[1].shape as Polygon).points).toEqual([250, 50, 450, 50, 300, 100, 250, 50]); }); it('should honor lineStyle break', () => @@ -825,9 +823,9 @@ describe('Graphics', () => const data = graphics.geometry.graphicsData; - expect(data.length).to.equals(2); - expect((data[0].shape as Polygon).points).to.eql([50, 50, 250, 50]); - expect((data[1].shape as Polygon).points).to.eql([250, 50, 100, 100, 50, 50]); + expect(data.length).toEqual(2); + expect((data[0].shape as Polygon).points).toEqual([50, 50, 250, 50]); + expect((data[1].shape as Polygon).points).toEqual([250, 50, 100, 100, 50, 50]); }); }); @@ -849,7 +847,7 @@ describe('Graphics', () => const arcLen = Math.PI / 2 * Math.sqrt(200); const estimate = Math.ceil(arcLen / myMaxLen) + 1; - expect(pointsLen).to.be.closeTo(estimate, 2.0); + expect(pointsLen).toBeCloseTo(estimate, 2.0); GRAPHICS_CURVES.adaptive = defMode; GRAPHICS_CURVES.maxLength = defMaxLen; @@ -870,7 +868,7 @@ describe('Graphics', () => const geometry = graphics.geometry; - expect(geometry['validateBatching']()).to.be.false; + expect(geometry['validateBatching']()).toBe(false); }); it('validateBatching should return true if all textures is valid', () => @@ -885,7 +883,7 @@ describe('Graphics', () => const geometry = graphics.geometry; - expect(geometry['validateBatching']()).to.be.true; + expect(geometry['validateBatching']()).toBe(true); }); it('should be batchable if graphicsData is empty', () => @@ -894,7 +892,7 @@ describe('Graphics', () => const geometry = graphics.geometry; geometry.updateBatches(); - expect(geometry.batchable).to.be.true; + expect(geometry.batchable).toBe(true); }); it('_compareStyles should return true for identical styles', () => @@ -910,7 +908,7 @@ describe('Graphics', () => const second = first.clone(); - expect(geometry['_compareStyles'](first, second)).to.be.true; + expect(geometry['_compareStyles'](first, second)).toBe(true); const firstLine = new LineStyle(); @@ -920,7 +918,7 @@ describe('Graphics', () => const secondLine = firstLine.clone(); - expect(geometry['_compareStyles'](firstLine, secondLine)).to.be.true; + expect(geometry['_compareStyles'](firstLine, secondLine)).toBe(true); }); it('should be 1 batch for same styles', () => @@ -934,7 +932,7 @@ describe('Graphics', () => const geometry = graphics.geometry; geometry.updateBatches(); - expect(geometry.batches).to.have.lengthOf(1); + expect(geometry.batches).toHaveLength(1); }); it('should be 2 batches for 2 different styles', () => @@ -955,7 +953,7 @@ describe('Graphics', () => const geometry = graphics.geometry; geometry.updateBatches(); - expect(geometry.batches).to.have.lengthOf(2); + expect(geometry.batches).toHaveLength(2); }); it('should be 1 batch if fill and line are the same', () => @@ -970,7 +968,7 @@ describe('Graphics', () => const geometry = graphics.geometry; geometry.updateBatches(); - expect(geometry.batches).to.have.lengthOf(1); + expect(geometry.batches).toHaveLength(1); }); it('should not use fill if triangulation does nothing', () => @@ -987,11 +985,11 @@ describe('Graphics', () => const geometry = graphics.geometry; geometry.updateBatches(); - expect(geometry.batches).to.have.lengthOf(2); - expect(geometry.batches[0].style.color).to.equals(0xff0000); - expect(geometry.batches[0].size).to.equal(6); - expect(geometry.batches[1].style.color).to.equals(0x00ff00); - expect(geometry.batches[1].size).to.equal(30); + expect(geometry.batches).toHaveLength(2); + expect(geometry.batches[0].style.color).toEqual(0xff0000); + expect(geometry.batches[0].size).toEqual(6); + expect(geometry.batches[1].style.color).toEqual(0x00ff00); + expect(geometry.batches[1].size).toEqual(30); }); }); }); diff --git a/packages/interaction/test/InteractionData.tests.ts b/packages/interaction/test/InteractionData.tests.ts index 3f75ee6c37..01764a8139 100755 --- a/packages/interaction/test/InteractionData.tests.ts +++ b/packages/interaction/test/InteractionData.tests.ts @@ -1,7 +1,6 @@ import { InteractionData } from '@pixi/interaction'; import { DisplayObject } from '@pixi/display'; import { Point } from '@pixi/math'; -import { expect } from 'chai'; import '@pixi/canvas-display'; @@ -23,8 +22,8 @@ describe('InteractionData', () => displayObject.parent = stage; displayObject.displayObjectUpdateTransform(); data.getLocalPosition(displayObject, point); - expect(point.x).to.equal(5); - expect(point.y).to.equal(7); + expect(point.x).toEqual(5); + expect(point.y).toEqual(7); }); }); }); diff --git a/packages/interaction/test/InteractionManager.tests.ts b/packages/interaction/test/InteractionManager.tests.ts index a265741e6a..fcee13b994 100644 --- a/packages/interaction/test/InteractionManager.tests.ts +++ b/packages/interaction/test/InteractionManager.tests.ts @@ -7,20 +7,19 @@ import { InteractionManager } from '@pixi/interaction'; import { CanvasGraphicsRenderer } from '@pixi/canvas-graphics'; import { CanvasSpriteRenderer } from '@pixi/canvas-sprite'; import { Sprite } from '@pixi/sprite'; -import sinon from 'sinon'; -import { expect } from 'chai'; + import '@pixi/canvas-display'; import { extensions, Texture } from '@pixi/core'; describe('InteractionManager', () => { - before(() => extensions.add( + beforeAll(() => extensions.add( InteractionManager, CanvasGraphicsRenderer, CanvasSpriteRenderer )); - after(() => extensions.remove( + afterAll(() => extensions.remove( InteractionManager, CanvasGraphicsRenderer, CanvasSpriteRenderer @@ -44,7 +43,7 @@ describe('InteractionManager', () => { const stage = new Container(); const graphics = new Graphics(); - const eventSpy = sinon.spy(); + const eventSpy = jest.fn(); pointer = new MockPointer(stage); @@ -56,14 +55,14 @@ describe('InteractionManager', () => pointer.mousedown(10, 10); - expect(eventSpy).to.have.been.calledOnce; + expect(eventSpy).toHaveBeenCalledOnce(); }); it('should call mouseup handler', () => { const stage = new Container(); const graphics = new Graphics(); - const eventSpy = sinon.spy(); + const eventSpy = jest.fn(); pointer = new MockPointer(stage); @@ -75,14 +74,14 @@ describe('InteractionManager', () => pointer.click(10, 10); - expect(eventSpy).to.have.been.called; + expect(eventSpy).toBeCalled(); }); it('should call mouseupoutside handler', () => { const stage = new Container(); const graphics = new Graphics(); - const eventSpy = sinon.spy(); + const eventSpy = jest.fn(); pointer = new MockPointer(stage); @@ -95,14 +94,14 @@ describe('InteractionManager', () => pointer.mousedown(10, 10); pointer.mouseup(60, 60); - expect(eventSpy).to.have.been.called; + expect(eventSpy).toBeCalled(); }); it('should call mouseupoutside handler on mouseup on different elements', () => { const stage = new Container(); const graphics = new Graphics(); - const eventSpy = sinon.spy(); + const eventSpy = jest.fn(); pointer = new MockPointer(stage); @@ -115,14 +114,14 @@ describe('InteractionManager', () => pointer.mousedown(10, 10); pointer.mouseup(10, 10, false); - expect(eventSpy).to.have.been.called; + expect(eventSpy).toBeCalled(); }); it('should call mouseover handler', () => { const stage = new Container(); const graphics = new Graphics(); - const eventSpy = sinon.spy(); + const eventSpy = jest.fn(); pointer = new MockPointer(stage); @@ -134,14 +133,14 @@ describe('InteractionManager', () => pointer.mousemove(10, 10); - expect(eventSpy).to.have.been.called; + expect(eventSpy).toBeCalled(); }); it('should call mouseout handler', () => { const stage = new Container(); const graphics = new Graphics(); - const eventSpy = sinon.spy(); + const eventSpy = jest.fn(); pointer = new MockPointer(stage); @@ -154,7 +153,7 @@ describe('InteractionManager', () => pointer.mousemove(10, 10); pointer.mousemove(60, 60); - expect(eventSpy).to.have.been.called; + expect(eventSpy).toBeCalled(); }); it('should always call mouseout before mouseover', () => @@ -163,11 +162,11 @@ describe('InteractionManager', () => const graphicsA = new Graphics(); const graphicsB = new Graphics(); - const mouseOverSpyA = sinon.spy(); - const mouseOutSpyA = sinon.spy(); + const mouseOverSpyA = jest.fn(); + const mouseOutSpyA = jest.fn(); - const mouseOverSpyB = sinon.spy(); - const mouseOutSpyB = sinon.spy(); + const mouseOverSpyB = jest.fn(); + const mouseOutSpyB = jest.fn(); pointer = new MockPointer(stage); @@ -190,15 +189,15 @@ describe('InteractionManager', () => pointer.mousemove(10, 10); - expect(mouseOverSpyA).to.have.been.called; + expect(mouseOverSpyA).toBeCalled(); pointer.mousemove(40, 10); - expect(mouseOutSpyA).to.have.been.calledImmediatelyBefore(mouseOverSpyB); + expect(mouseOutSpyA.mock.invocationCallOrder[0]).toBeLessThan(mouseOverSpyB.mock.invocationCallOrder[0]); pointer.mousemove(10, 10); - expect(mouseOutSpyB).to.have.been.calledImmediatelyBefore(mouseOverSpyA); + expect(mouseOutSpyB.mock.invocationCallOrder[0]).toBeLessThan(mouseOverSpyA.mock.invocationCallOrder[1]); }); }); @@ -212,8 +211,8 @@ describe('InteractionManager', () => pointer = new MockPointer(stage); - const mouseDownChild = sinon.spy((evt) => evt.stopPropagation()); - const mouseDownParent = sinon.spy(); + const mouseDownChild = jest.fn((evt) => evt.stopPropagation()); + const mouseDownParent = jest.fn(); stage.addChild(parent); parent.addChild(graphics); @@ -229,8 +228,8 @@ describe('InteractionManager', () => pointer.mousedown(10, 10); - expect(mouseDownChild).to.have.been.called; - expect(mouseDownParent).to.not.have.been.called; + expect(mouseDownChild).toBeCalled(); + expect(mouseDownParent).not.toBeCalled(); }); it('should not stop events on the same object from happening', () => @@ -242,11 +241,11 @@ describe('InteractionManager', () => pointer = new MockPointer(stage); // Neither of these should stop the other from firing - const mouseMoveChild = sinon.spy((evt) => evt.stopPropagation()); - const mouseOverChild = sinon.spy((evt) => evt.stopPropagation()); + const mouseMoveChild = jest.fn((evt) => evt.stopPropagation()); + const mouseOverChild = jest.fn((evt) => evt.stopPropagation()); - const mouseMoveParent = sinon.spy(); - const mouseOverParent = sinon.spy(); + const mouseMoveParent = jest.fn(); + const mouseOverParent = jest.fn(); stage.addChild(parent); parent.addChild(graphics); @@ -264,11 +263,11 @@ describe('InteractionManager', () => pointer.mousemove(10, 10); - expect(mouseOverChild).to.have.been.called; - expect(mouseMoveChild).to.have.been.called; + expect(mouseOverChild).toBeCalled(); + expect(mouseMoveChild).toBeCalled(); - expect(mouseOverParent).to.not.have.been.called; - expect(mouseMoveParent).to.not.have.been.called; + expect(mouseOverParent).not.toBeCalled(); + expect(mouseMoveParent).not.toBeCalled(); }); it('should not stop events on children of an object from happening', () => @@ -279,11 +278,11 @@ describe('InteractionManager', () => pointer = new MockPointer(stage); - const mouseMoveChild = sinon.spy(); - const mouseMoveParent = sinon.spy((evt) => evt.stopPropagation()); + const mouseMoveChild = jest.fn(); + const mouseMoveParent = jest.fn((evt) => evt.stopPropagation()); - const mouseOverChild = sinon.spy(); - const mouseOverParent = sinon.spy(); + const mouseOverChild = jest.fn(); + const mouseOverParent = jest.fn(); stage.addChild(parent); parent.addChild(graphics); @@ -301,11 +300,11 @@ describe('InteractionManager', () => pointer.mousemove(10, 10); - expect(mouseMoveChild).to.have.been.called; - expect(mouseOverChild).to.have.been.called; + expect(mouseMoveChild).toBeCalled(); + expect(mouseOverChild).toBeCalled(); - expect(mouseMoveParent).to.have.been.called; - expect(mouseOverParent).to.have.been.called; + expect(mouseMoveParent).toBeCalled(); + expect(mouseOverParent).toBeCalled(); }); }); @@ -315,8 +314,8 @@ describe('InteractionManager', () => { const stage = new Container(); const graphics = new Graphics(); - const touchSpy = sinon.spy(function touchListen() { /* noop */ }); - const pointerSpy = sinon.spy(function pointerListen() { /* noop */ }); + const touchSpy = jest.fn(function touchListen() { /* noop */ }); + const pointerSpy = jest.fn(function pointerListen() { /* noop */ }); pointer = new MockPointer(stage, null, null, true); @@ -329,16 +328,16 @@ describe('InteractionManager', () => pointer.touchstart(10, 10); - expect(touchSpy).to.have.been.calledOnce; - expect(pointerSpy).to.have.been.calledOnce; + expect(touchSpy).toHaveBeenCalledOnce(); + expect(pointerSpy).toHaveBeenCalledOnce(); }); it('should not call touchstart or pointerdown when pointer event and touch supported', () => { const stage = new Container(); const graphics = new Graphics(); - const touchSpy = sinon.spy(function touchListen() { /* noop */ }); - const pointerSpy = sinon.spy(function pointerListen() { /* noop */ }); + const touchSpy = jest.fn(function touchListen() { /* noop */ }); + const pointerSpy = jest.fn(function pointerListen() { /* noop */ }); pointer = new MockPointer(stage, null, null, true); @@ -351,16 +350,16 @@ describe('InteractionManager', () => pointer.touchstart(10, 10, 0, true); - expect(touchSpy).to.not.have.been.called; - expect(pointerSpy).to.not.have.been.called; + expect(touchSpy).not.toBeCalled(); + expect(pointerSpy).not.toBeCalled(); }); it('should call touchstart and pointerdown when touch event and pointer not supported', () => { const stage = new Container(); const graphics = new Graphics(); - const touchSpy = sinon.spy(function touchListen() { /* noop */ }); - const pointerSpy = sinon.spy(function pointerListen() { /* noop */ }); + const touchSpy = jest.fn(function touchListen() { /* noop */ }); + const pointerSpy = jest.fn(function pointerListen() { /* noop */ }); pointer = new MockPointer(stage, null, null, false); @@ -373,16 +372,16 @@ describe('InteractionManager', () => pointer.touchstart(10, 10); - expect(touchSpy).to.have.been.calledOnce; - expect(pointerSpy).to.have.been.calledOnce; + expect(touchSpy).toHaveBeenCalledOnce(); + expect(pointerSpy).toHaveBeenCalledOnce(); }); it('should call touchstart and pointerdown when pointer event and touch not supported', () => { const stage = new Container(); const graphics = new Graphics(); - const touchSpy = sinon.spy(function touchListen() { /* noop */ }); - const pointerSpy = sinon.spy(function pointerListen() { /* noop */ }); + const touchSpy = jest.fn(function touchListen() { /* noop */ }); + const pointerSpy = jest.fn(function pointerListen() { /* noop */ }); pointer = new MockPointer(stage, null, null, true); @@ -397,93 +396,99 @@ describe('InteractionManager', () => pointer.touchstart(10, 10, 0, true); - expect(touchSpy).to.have.been.calledOnce; - expect(pointerSpy).to.have.been.calledOnce; + expect(touchSpy).toHaveBeenCalledOnce(); + expect(pointerSpy).toHaveBeenCalledOnce(); }); }); describe('add/remove events and ticker', () => { - let stub: sinon.SinonStub; + let stub: jest.SpyInstance; - before(() => + beforeAll(() => { - stub = sinon.stub(InteractionManager.prototype, 'setTargetElement'); + stub = jest.spyOn(InteractionManager.prototype, 'setTargetElement'); }); - after(() => + afterAll(() => { - stub.restore(); + stub.mockClear(); }); it('should add and remove pointer events to document', () => { - const manager = new InteractionManager(sinon.stub() as any); - const addSpy = sinon.spy(window.document, 'addEventListener'); - const removeSpy = sinon.spy(window.document, 'removeEventListener'); + const manager = new InteractionManager(jest.fn() as any); + const addSpy = jest.spyOn(window.document, 'addEventListener'); + const removeSpy = jest.spyOn(window.document, 'removeEventListener'); + + addSpy.mockReset(); + removeSpy.mockReset(); manager['interactionDOMElement'] = { style: {}, - addEventListener: sinon.stub(), - removeEventListener: sinon.stub() + addEventListener: jest.fn(), + removeEventListener: jest.fn() } as unknown as HTMLElement; // @ts-expect-error - overriding readonly prop manager['supportsPointerEvents'] = true; manager['addEvents'](); - expect(addSpy).to.have.been.calledOnce; - expect(addSpy).to.have.been.calledWith('pointermove'); + expect(addSpy).toHaveBeenCalledOnce(); + expect(addSpy.mock.calls[0][0]).toEqual('pointermove'); manager['removeEvents'](); - expect(removeSpy).to.have.been.calledOnce; - expect(removeSpy).to.have.been.calledWith('pointermove'); + expect(removeSpy).toHaveBeenCalledOnce(); + expect(removeSpy.mock.calls[0][0]).toEqual('pointermove'); - addSpy.restore(); - removeSpy.restore(); + addSpy.mockClear(); + removeSpy.mockClear(); }); it('should add and remove pointer events to window', () => { - const manager = new InteractionManager(sinon.stub() as any); - const addSpy = sinon.spy(window, 'addEventListener'); - const removeSpy = sinon.spy(window, 'removeEventListener'); + const manager = new InteractionManager(jest.fn() as any); + const addSpy = jest.spyOn(window, 'addEventListener'); + const removeSpy = jest.spyOn(window, 'removeEventListener'); + + addSpy.mockReset(); + removeSpy.mockReset(); manager['interactionDOMElement'] = { style: {}, - addEventListener: sinon.stub(), - removeEventListener: sinon.stub() + addEventListener: jest.fn(), + removeEventListener: jest.fn() } as unknown as HTMLElement; // @ts-expect-error - overriding readonly prop manager['supportsPointerEvents'] = true; manager['addEvents'](); - expect(addSpy).to.have.been.calledTwice; - expect(addSpy).to.have.been.calledWith('pointercancel'); - expect(addSpy).to.have.been.calledWith('pointerup'); + expect(addSpy).toBeCalledTimes(2); + expect(addSpy.mock.calls[0][0]).toEqual('pointercancel'); + expect(addSpy.mock.calls[1][0]).toEqual('pointerup'); manager['removeEvents'](); - expect(removeSpy).to.have.been.calledTwice; - expect(removeSpy).to.have.been.calledWith('pointercancel'); - expect(removeSpy).to.have.been.calledWith('pointerup'); + expect(removeSpy).toBeCalledTimes(2); + expect(removeSpy.mock.calls[0][0]).toEqual('pointercancel'); + expect(removeSpy.mock.calls[1][0]).toEqual('pointerup'); - addSpy.restore(); - removeSpy.restore(); + addSpy.mockClear(); + removeSpy.mockClear(); }); it('should add and remove pointer events to element seven times when touch events are supported', () => { - const manager = new InteractionManager(sinon.stub() as any); + const manager = new InteractionManager(jest.fn() as any); const element = { style: {}, - addEventListener: sinon.stub(), - removeEventListener: sinon.stub() - } as unknown as HTMLElement; + addEventListener: jest.fn(), + removeEventListener: jest.fn() + }; - manager['interactionDOMElement'] = element; + manager['interactionDOMElement'] = element as unknown as HTMLElement; // @ts-expect-error - overriding readonly prop manager['supportsPointerEvents'] = true; // @ts-expect-error - overriding readonly prop @@ -491,39 +496,39 @@ describe('InteractionManager', () => manager['addEvents'](); - expect(element.addEventListener).to.have.been.callCount(7); - expect(element.addEventListener).to.have.been.calledWith('pointerdown'); - expect(element.addEventListener).to.have.been.calledWith('pointerleave'); - expect(element.addEventListener).to.have.been.calledWith('pointerover'); + expect(element.addEventListener).toBeCalledTimes(7); + expect(element.addEventListener.mock.calls[0][0]).toEqual('pointerdown'); + expect(element.addEventListener.mock.calls[1][0]).toEqual('pointerleave'); + expect(element.addEventListener.mock.calls[2][0]).toEqual('pointerover'); - expect(element.addEventListener).to.have.been.calledWith('touchstart'); - expect(element.addEventListener).to.have.been.calledWith('touchcancel'); - expect(element.addEventListener).to.have.been.calledWith('touchend'); - expect(element.addEventListener).to.have.been.calledWith('touchmove'); + expect(element.addEventListener.mock.calls[3][0]).toEqual('touchstart'); + expect(element.addEventListener.mock.calls[4][0]).toEqual('touchcancel'); + expect(element.addEventListener.mock.calls[5][0]).toEqual('touchend'); + expect(element.addEventListener.mock.calls[6][0]).toEqual('touchmove'); manager['removeEvents'](); - expect(element.removeEventListener).to.have.been.callCount(7); - expect(element.removeEventListener).to.have.been.calledWith('pointerdown'); - expect(element.removeEventListener).to.have.been.calledWith('pointerleave'); - expect(element.removeEventListener).to.have.been.calledWith('pointerover'); + expect(element.removeEventListener).toBeCalledTimes(7); + expect(element.removeEventListener.mock.calls[0][0]).toEqual('pointerdown'); + expect(element.removeEventListener.mock.calls[1][0]).toEqual('pointerleave'); + expect(element.removeEventListener.mock.calls[2][0]).toEqual('pointerover'); - expect(element.removeEventListener).to.have.been.calledWith('touchstart'); - expect(element.removeEventListener).to.have.been.calledWith('touchcancel'); - expect(element.removeEventListener).to.have.been.calledWith('touchend'); - expect(element.removeEventListener).to.have.been.calledWith('touchmove'); + expect(element.removeEventListener.mock.calls[3][0]).toEqual('touchstart'); + expect(element.removeEventListener.mock.calls[4][0]).toEqual('touchcancel'); + expect(element.removeEventListener.mock.calls[5][0]).toEqual('touchend'); + expect(element.removeEventListener.mock.calls[6][0]).toEqual('touchmove'); }); it('should add and remove pointer events to element three times when touch events are not supported', () => { - const manager = new InteractionManager(sinon.stub() as any); + const manager = new InteractionManager(jest.fn() as any); const element = { style: {}, - addEventListener: sinon.stub(), - removeEventListener: sinon.stub() - } as unknown as HTMLElement; + addEventListener: jest.fn(), + removeEventListener: jest.fn() + }; - manager['interactionDOMElement'] = element; + manager['interactionDOMElement'] = element as unknown as HTMLElement; // @ts-expect-error - overriding readonly prop manager['supportsPointerEvents'] = true; // @ts-expect-error - overriding readonly prop @@ -531,85 +536,91 @@ describe('InteractionManager', () => manager['addEvents'](); - expect(element.addEventListener).to.have.been.calledThrice; - expect(element.addEventListener).to.have.been.calledWith('pointerdown'); - expect(element.addEventListener).to.have.been.calledWith('pointerleave'); - expect(element.addEventListener).to.have.been.calledWith('pointerover'); + expect(element.addEventListener).toBeCalledTimes(3); + expect(element.addEventListener.mock.calls[0][0]).toEqual('pointerdown'); + expect(element.addEventListener.mock.calls[1][0]).toEqual('pointerleave'); + expect(element.addEventListener.mock.calls[2][0]).toEqual('pointerover'); manager['removeEvents'](); - expect(element.removeEventListener).to.have.been.calledThrice; - expect(element.removeEventListener).to.have.been.calledWith('pointerdown'); - expect(element.removeEventListener).to.have.been.calledWith('pointerleave'); - expect(element.removeEventListener).to.have.been.calledWith('pointerover'); + expect(element.removeEventListener).toBeCalledTimes(3); + expect(element.removeEventListener.mock.calls[0][0]).toEqual('pointerdown'); + expect(element.removeEventListener.mock.calls[1][0]).toEqual('pointerleave'); + expect(element.removeEventListener.mock.calls[2][0]).toEqual('pointerover'); }); it('should add and remove mouse events to document', () => { - const manager = new InteractionManager(sinon.stub() as any); - const addSpy = sinon.spy(window.document, 'addEventListener'); - const removeSpy = sinon.spy(window.document, 'removeEventListener'); + const manager = new InteractionManager(jest.fn() as any); + const addSpy = jest.spyOn(window.document, 'addEventListener'); + const removeSpy = jest.spyOn(window.document, 'removeEventListener'); + + addSpy.mockReset(); + removeSpy.mockReset(); manager['interactionDOMElement'] = { style: {}, - addEventListener: sinon.stub(), - removeEventListener: sinon.stub() + addEventListener: jest.fn(), + removeEventListener: jest.fn() } as unknown as HTMLElement; // @ts-expect-error - overriding readonly prop manager['supportsPointerEvents'] = false; manager['addEvents'](); - expect(addSpy).to.have.been.calledOnce; - expect(addSpy).to.have.been.calledWith('mousemove'); + expect(addSpy).toHaveBeenCalledOnce(); + expect(addSpy.mock.calls[0][0]).toEqual('mousemove'); manager['removeEvents'](); - expect(removeSpy).to.have.been.calledOnce; - expect(removeSpy).to.have.been.calledWith('mousemove'); + expect(removeSpy).toHaveBeenCalledOnce(); + expect(removeSpy.mock.calls[0][0]).toEqual('mousemove'); - addSpy.restore(); - removeSpy.restore(); + addSpy.mockClear(); + removeSpy.mockClear(); }); it('should add and remove mouse events to window', () => { - const manager = new InteractionManager(sinon.stub() as any); - const addSpy = sinon.spy(window, 'addEventListener'); - const removeSpy = sinon.spy(window, 'removeEventListener'); + const manager = new InteractionManager(jest.fn() as any); + const addSpy = jest.spyOn(window, 'addEventListener'); + const removeSpy = jest.spyOn(window, 'removeEventListener'); + + addSpy.mockReset(); + removeSpy.mockReset(); manager['interactionDOMElement'] = { style: {}, - addEventListener: sinon.stub(), - removeEventListener: sinon.stub() + addEventListener: jest.fn(), + removeEventListener: jest.fn() } as unknown as HTMLElement; // @ts-expect-error - overriding readonly prop manager['supportsPointerEvents'] = false; manager['addEvents'](); - expect(addSpy).to.have.been.calledOnce; - expect(addSpy).to.have.been.calledWith('mouseup'); + expect(addSpy).toHaveBeenCalledOnce(); + expect(addSpy.mock.calls[0][0]).toEqual('mouseup'); manager['removeEvents'](); - expect(removeSpy).to.have.been.calledOnce; - expect(removeSpy).to.have.been.calledWith('mouseup'); + expect(removeSpy).toHaveBeenCalledOnce(); + expect(removeSpy.mock.calls[0][0]).toEqual('mouseup'); - addSpy.restore(); - removeSpy.restore(); + addSpy.mockClear(); + removeSpy.mockClear(); }); it('should add and remove mouse events to element', () => { - const manager = new InteractionManager(sinon.stub() as any); + const manager = new InteractionManager(jest.fn() as any); const element = { style: {}, - addEventListener: sinon.stub(), - removeEventListener: sinon.stub() - } as unknown as HTMLElement; + addEventListener: jest.fn(), + removeEventListener: jest.fn() + }; - manager['interactionDOMElement'] = element; + manager['interactionDOMElement'] = element as unknown as HTMLElement; // @ts-expect-error - overriding readonly prop manager['supportsPointerEvents'] = false; // @ts-expect-error - overriding readonly prop @@ -617,29 +628,29 @@ describe('InteractionManager', () => manager['addEvents'](); - expect(element.addEventListener).to.have.been.calledThrice; - expect(element.addEventListener).to.have.been.calledWith('mousedown'); - expect(element.addEventListener).to.have.been.calledWith('mouseout'); - expect(element.addEventListener).to.have.been.calledWith('mouseover'); + expect(element.addEventListener).toBeCalledTimes(3); + expect(element.addEventListener.mock.calls[0][0]).toEqual('mousedown'); + expect(element.addEventListener.mock.calls[1][0]).toEqual('mouseout'); + expect(element.addEventListener.mock.calls[2][0]).toEqual('mouseover'); manager['removeEvents'](); - expect(element.removeEventListener).to.have.been.calledThrice; - expect(element.removeEventListener).to.have.been.calledWith('mousedown'); - expect(element.removeEventListener).to.have.been.calledWith('mouseout'); - expect(element.removeEventListener).to.have.been.calledWith('mouseover'); + expect(element.removeEventListener).toBeCalledTimes(3); + expect(element.removeEventListener.mock.calls[0][0]).toEqual('mousedown'); + expect(element.removeEventListener.mock.calls[1][0]).toEqual('mouseout'); + expect(element.removeEventListener.mock.calls[2][0]).toEqual('mouseover'); }); it('should add and remove touch events to element without pointer events', () => { - const manager = new InteractionManager(sinon.stub() as any); + const manager = new InteractionManager(jest.fn() as any); const element = { style: {}, - addEventListener: sinon.stub(), - removeEventListener: sinon.stub() - } as unknown as HTMLElement; + addEventListener: jest.fn(), + removeEventListener: jest.fn() + }; - manager['interactionDOMElement'] = element; + manager['interactionDOMElement'] = element as unknown as HTMLElement; // @ts-expect-error - overriding readonly prop manager['supportsPointerEvents'] = false; // @ts-expect-error - overriding readonly prop @@ -647,29 +658,29 @@ describe('InteractionManager', () => manager['addEvents'](); - expect(element.addEventListener).to.have.been.calledWith('touchstart'); - expect(element.addEventListener).to.have.been.calledWith('touchcancel'); - expect(element.addEventListener).to.have.been.calledWith('touchend'); - expect(element.addEventListener).to.have.been.calledWith('touchmove'); + expect(element.addEventListener.mock.calls[3][0]).toEqual('touchstart'); + expect(element.addEventListener.mock.calls[4][0]).toEqual('touchcancel'); + expect(element.addEventListener.mock.calls[5][0]).toEqual('touchend'); + expect(element.addEventListener.mock.calls[6][0]).toEqual('touchmove'); manager['removeEvents'](); - expect(element.removeEventListener).to.have.been.calledWith('touchstart'); - expect(element.removeEventListener).to.have.been.calledWith('touchcancel'); - expect(element.removeEventListener).to.have.been.calledWith('touchend'); - expect(element.removeEventListener).to.have.been.calledWith('touchmove'); + expect(element.removeEventListener.mock.calls[3][0]).toEqual('touchstart'); + expect(element.removeEventListener.mock.calls[4][0]).toEqual('touchcancel'); + expect(element.removeEventListener.mock.calls[5][0]).toEqual('touchend'); + expect(element.removeEventListener.mock.calls[6][0]).toEqual('touchmove'); }); it('should add and remove touch events to element with pointer events', () => { - const manager = new InteractionManager(sinon.stub() as any); + const manager = new InteractionManager(jest.fn() as any); const element = { style: {}, - addEventListener: sinon.stub(), - removeEventListener: sinon.stub() - } as unknown as HTMLElement; + addEventListener: jest.fn(), + removeEventListener: jest.fn() + }; - manager['interactionDOMElement'] = element; + manager['interactionDOMElement'] = element as unknown as HTMLElement; // @ts-expect-error - overriding readonly prop manager['supportsPointerEvents'] = true; // @ts-expect-error - overriding readonly prop @@ -677,51 +688,51 @@ describe('InteractionManager', () => manager['addEvents'](); - expect(element.addEventListener).to.have.been.calledWith('touchstart'); - expect(element.addEventListener).to.have.been.calledWith('touchcancel'); - expect(element.addEventListener).to.have.been.calledWith('touchend'); - expect(element.addEventListener).to.have.been.calledWith('touchmove'); + expect(element.addEventListener.mock.calls[3][0]).toEqual('touchstart'); + expect(element.addEventListener.mock.calls[4][0]).toEqual('touchcancel'); + expect(element.addEventListener.mock.calls[5][0]).toEqual('touchend'); + expect(element.addEventListener.mock.calls[6][0]).toEqual('touchmove'); manager['removeEvents'](); - expect(element.removeEventListener).to.have.been.calledWith('touchstart'); - expect(element.removeEventListener).to.have.been.calledWith('touchcancel'); - expect(element.removeEventListener).to.have.been.calledWith('touchend'); - expect(element.removeEventListener).to.have.been.calledWith('touchmove'); + expect(element.removeEventListener.mock.calls[3][0]).toEqual('touchstart'); + expect(element.removeEventListener.mock.calls[4][0]).toEqual('touchcancel'); + expect(element.removeEventListener.mock.calls[5][0]).toEqual('touchend'); + expect(element.removeEventListener.mock.calls[6][0]).toEqual('touchmove'); }); it('should add and remove Ticker.system listener', () => { - const manager = new InteractionManager(sinon.stub() as any); - const element = {} as unknown as HTMLElement; + const manager = new InteractionManager(jest.fn() as any); + const element = {}; - manager['interactionDOMElement'] = element; + manager['interactionDOMElement'] = element as unknown as HTMLElement; const listenerCount = Ticker.system.count; manager['addTickerListener'](); - expect(Ticker.system.count).to.equal(listenerCount + 1); + expect(Ticker.system.count).toEqual(listenerCount + 1); manager.useSystemTicker = false; - expect(Ticker.system.count).to.equal(listenerCount); + expect(Ticker.system.count).toEqual(listenerCount); manager.useSystemTicker = true; - expect(Ticker.system.count).to.equal(listenerCount + 1); + expect(Ticker.system.count).toEqual(listenerCount + 1); manager['removeTickerListener'](); - expect(Ticker.system.count).to.equal(listenerCount); + expect(Ticker.system.count).toEqual(listenerCount); manager.useSystemTicker = false; - expect(Ticker.system.count).to.equal(listenerCount); + expect(Ticker.system.count).toEqual(listenerCount); manager['addTickerListener'](); - expect(Ticker.system.count).to.equal(listenerCount); + expect(Ticker.system.count).toEqual(listenerCount); }); }); @@ -731,7 +742,7 @@ describe('InteractionManager', () => { const stage = new Container(); const graphics = new Graphics(); - const clickSpy = sinon.spy(); + const clickSpy = jest.fn(); pointer = new MockPointer(stage); @@ -743,14 +754,14 @@ describe('InteractionManager', () => pointer.click(10, 10); - expect(clickSpy).to.have.been.calledOnce; + expect(clickSpy).toHaveBeenCalledOnce(); }); it('should not call handler when outside', () => { const stage = new Container(); const graphics = new Graphics(); - const clickSpy = sinon.spy(); + const clickSpy = jest.fn(); pointer = new MockPointer(stage); @@ -762,14 +773,14 @@ describe('InteractionManager', () => pointer.click(60, 60); - expect(clickSpy).to.not.have.been.called; + expect(clickSpy).not.toBeCalled(); }); it('should not call handler when mousedown not received', () => { const stage = new Container(); const graphics = new Graphics(); - const clickSpy = sinon.spy(); + const clickSpy = jest.fn(); const pointer = new MockPointer(stage); stage.addChild(graphics); @@ -780,12 +791,12 @@ describe('InteractionManager', () => pointer.mouseup(10, 10); - expect(clickSpy, 'click should not happen on first mouseup').to.not.have.been.called; + expect(clickSpy).not.toBeCalled(); // test again, just because it was a bug that was reported pointer.mouseup(20, 20); - expect(clickSpy, 'click should not happen on second mouseup').to.not.have.been.called; + expect(clickSpy).not.toBeCalled(); }); }); @@ -795,7 +806,7 @@ describe('InteractionManager', () => { const stage = new Container(); const graphics = new Graphics(); - const clickSpy = sinon.spy(); + const clickSpy = jest.fn(); pointer = new MockPointer(stage); @@ -807,14 +818,14 @@ describe('InteractionManager', () => pointer.tap(10, 10); - expect(clickSpy).to.have.been.calledOnce; + expect(clickSpy).toHaveBeenCalledOnce(); }); it('should not call handler when outside', () => { const stage = new Container(); const graphics = new Graphics(); - const clickSpy = sinon.spy(); + const clickSpy = jest.fn(); pointer = new MockPointer(stage); @@ -826,7 +837,7 @@ describe('InteractionManager', () => pointer.tap(60, 60); - expect(clickSpy).to.not.have.been.called; + expect(clickSpy).not.toBeCalled(); }); it('should not call handler when moved to other sprite', () => @@ -834,9 +845,9 @@ describe('InteractionManager', () => const stage = new Container(); const graphics = new Graphics(); const graphics2 = new Graphics(); - const clickSpy = sinon.spy(); - const overSpy = sinon.spy(); - const endSpy = sinon.spy(); + const clickSpy = jest.fn(); + const overSpy = jest.fn(); + const endSpy = jest.fn(); pointer = new MockPointer(stage); @@ -858,9 +869,9 @@ describe('InteractionManager', () => pointer.touchmove(80, 80, 3); pointer.touchend(80, 80, 3); - expect(overSpy).to.have.been.called; - expect(endSpy).to.have.been.called; - expect(clickSpy).to.not.have.been.called; + expect(overSpy).toBeCalled(); + expect(endSpy).toBeCalled(); + expect(clickSpy).not.toBeCalled(); }); }); @@ -870,7 +881,7 @@ describe('InteractionManager', () => { const stage = new Container(); const graphics = new Graphics(); - const clickSpy = sinon.spy(); + const clickSpy = jest.fn(); pointer = new MockPointer(stage); @@ -882,14 +893,14 @@ describe('InteractionManager', () => pointer.click(10, 10, true); - expect(clickSpy).to.have.been.calledOnce; + expect(clickSpy).toHaveBeenCalledOnce(); }); it('should not call handler when outside', () => { const stage = new Container(); const graphics = new Graphics(); - const clickSpy = sinon.spy(); + const clickSpy = jest.fn(); pointer = new MockPointer(stage); @@ -901,7 +912,7 @@ describe('InteractionManager', () => pointer.click(60, 60, true); - expect(clickSpy).to.not.have.been.called; + expect(clickSpy).not.toBeCalled(); }); it('with mouse events, should not call handler when moved to other sprite', () => @@ -909,9 +920,9 @@ describe('InteractionManager', () => const stage = new Container(); const graphics = new Graphics(); const graphics2 = new Graphics(); - const overSpy = sinon.spy(); - const upSpy = sinon.spy(); - const clickSpy = sinon.spy(); + const overSpy = jest.fn(); + const upSpy = jest.fn(); + const clickSpy = jest.fn(); pointer = new MockPointer(stage); @@ -933,9 +944,9 @@ describe('InteractionManager', () => pointer.mousemove(80, 80); pointer.mouseup(80, 80); - expect(overSpy).to.have.been.called; - expect(upSpy).to.have.been.called; - expect(clickSpy).to.not.have.been.called; + expect(overSpy).toBeCalled(); + expect(upSpy).toBeCalled(); + expect(clickSpy).not.toBeCalled(); }); it('with pointer events, should not call handler when moved to other sprite', () => @@ -943,9 +954,9 @@ describe('InteractionManager', () => const stage = new Container(); const graphics = new Graphics(); const graphics2 = new Graphics(); - const overSpy = sinon.spy(); - const upSpy = sinon.spy(); - const clickSpy = sinon.spy(); + const overSpy = jest.fn(); + const upSpy = jest.fn(); + const clickSpy = jest.fn(); pointer = new MockPointer(stage); @@ -967,9 +978,9 @@ describe('InteractionManager', () => pointer.mousemove(80, 80, true); pointer.mouseup(80, 80, true); - expect(overSpy).to.have.been.called; - expect(upSpy).to.have.been.called; - expect(clickSpy).to.not.have.been.called; + expect(overSpy).toBeCalled(); + expect(upSpy).toBeCalled(); + expect(clickSpy).not.toBeCalled(); }); it('with touch events, should not call handler when moved to other sprite', () => @@ -977,9 +988,9 @@ describe('InteractionManager', () => const stage = new Container(); const graphics = new Graphics(); const graphics2 = new Graphics(); - const moveSpy = sinon.spy(); - const upSpy = sinon.spy(); - const clickSpy = sinon.spy(); + const moveSpy = jest.fn(); + const upSpy = jest.fn(); + const clickSpy = jest.fn(); pointer = new MockPointer(stage); @@ -1001,9 +1012,9 @@ describe('InteractionManager', () => pointer.touchmove(80, 80, true); pointer.touchend(80, 80, true); - expect(moveSpy).to.have.been.called; - expect(upSpy).to.have.been.called; - expect(clickSpy).to.not.have.been.called; + expect(moveSpy).toBeCalled(); + expect(upSpy).toBeCalled(); + expect(clickSpy).not.toBeCalled(); }); }); @@ -1014,13 +1025,13 @@ describe('InteractionManager', () => const behindChild = new Graphics(); const frontChild = new Graphics(); const parent = new Container(); - const behindChildCallback = sinon.spy(function behindSpy() { /* no op*/ }); - const frontChildCallback = sinon.spy(function frontSpy() { /* no op*/ }); - const parentCallback = sinon.spy(function parentSpy() { /* no op*/ }); + const behindChildCallback = jest.fn(function behindSpy() { /* no op*/ }); + const frontChildCallback = jest.fn(function frontSpy() { /* no op*/ }); + const parentCallback = jest.fn(function parentSpy() { /* no op*/ }); let behindParent: Container; let frontParent: Container; - let behindParentCallback: sinon.SinonSpy; - let frontParentCallback: sinon.SinonSpy; + let behindParentCallback: jest.Mock; + let frontParentCallback: jest.Mock; behindChild.beginFill(0xFF); behindChild.drawRect(0, 0, 50, 50); @@ -1034,8 +1045,8 @@ describe('InteractionManager', () => { behindParent = new Container(); frontParent = new Container(); - behindParentCallback = sinon.spy(function behindParentSpy() { /* no op*/ }); - frontParentCallback = sinon.spy(function frontParentSpy() { /* no op*/ }); + behindParentCallback = jest.fn(function behindParentSpy() { /* no op*/ }); + frontParentCallback = jest.fn(function frontParentSpy() { /* no op*/ }); behindParent.on(callbackEventName, behindParentCallback); frontParent.on(callbackEventName, frontParentCallback); @@ -1081,9 +1092,9 @@ describe('InteractionManager', () => stage.addChild(scene.parent); pointer.click(10, 10); - expect(scene.behindChildCallback).to.not.have.been.called; - expect(scene.frontChildCallback).to.have.been.calledOnce; - expect(scene.parentCallback).to.not.have.been.called; + expect(scene.behindChildCallback).not.toBeCalled(); + expect(scene.frontChildCallback).toHaveBeenCalledOnce(); + expect(scene.parentCallback).not.toBeCalled(); }); it('should callback front child when clicking overlap', () => @@ -1100,9 +1111,9 @@ describe('InteractionManager', () => stage.addChild(scene.parent); pointer.click(40, 10); - expect(scene.behindChildCallback).to.not.have.been.called; - expect(scene.frontChildCallback).to.have.been.calledOnce; - expect(scene.parentCallback).to.not.have.been.called; + expect(scene.behindChildCallback).not.toBeCalled(); + expect(scene.frontChildCallback).toHaveBeenCalledOnce(); + expect(scene.parentCallback).not.toBeCalled(); }); it('should callback behind child when clicking behind child', () => @@ -1119,9 +1130,9 @@ describe('InteractionManager', () => stage.addChild(scene.parent); pointer.click(60, 10); - expect(scene.frontChildCallback).to.not.have.been.called; - expect(scene.behindChildCallback).to.have.been.calledOnce; - expect(scene.parentCallback).to.not.have.been.called; + expect(scene.frontChildCallback).not.toBeCalled(); + expect(scene.behindChildCallback).toHaveBeenCalledOnce(); + expect(scene.parentCallback).not.toBeCalled(); }); it('should callback front child of different non-interactive parents when clicking overlap', () => @@ -1138,11 +1149,11 @@ describe('InteractionManager', () => stage.addChild(scene.parent); pointer.click(40, 10); - expect(scene.behindChildCallback).to.not.have.been.called; - expect(scene.frontChildCallback).to.have.been.calledOnce; - expect(scene.parentCallback).to.not.have.been.called; - expect(scene.behindParentCallback).to.not.have.been.called; - expect(scene.frontParentCallback).to.not.have.been.called; + expect(scene.behindChildCallback).not.toBeCalled(); + expect(scene.frontChildCallback).toHaveBeenCalledOnce(); + expect(scene.parentCallback).not.toBeCalled(); + expect(scene.behindParentCallback).not.toBeCalled(); + expect(scene.frontParentCallback).not.toBeCalled(); }); it('should callback front child of different interactive parents when clicking overlap', () => @@ -1161,11 +1172,11 @@ describe('InteractionManager', () => stage.addChild(scene.parent); pointer.click(40, 10); - expect(scene.behindChildCallback).to.not.have.been.called; - expect(scene.frontChildCallback).to.have.been.calledOnce; - expect(scene.parentCallback).to.not.have.been.called; - expect(scene.behindParentCallback).to.not.have.been.called; - expect(scene.frontParentCallback).to.have.been.calledOnce; + expect(scene.behindChildCallback).not.toBeCalled(); + expect(scene.frontChildCallback).toHaveBeenCalledOnce(); + expect(scene.parentCallback).not.toBeCalled(); + expect(scene.behindParentCallback).not.toBeCalled(); + expect(scene.frontParentCallback).toHaveBeenCalledOnce(); }); }); @@ -1184,9 +1195,9 @@ describe('InteractionManager', () => stage.addChild(scene.parent); pointer.click(10, 10); - expect(scene.behindChildCallback).to.not.have.been.called; - expect(scene.frontChildCallback).to.not.have.been.called; - expect(scene.parentCallback).to.not.have.been.called; + expect(scene.behindChildCallback).not.toBeCalled(); + expect(scene.frontChildCallback).not.toBeCalled(); + expect(scene.parentCallback).not.toBeCalled(); }); it('should callback behind child when clicking overlap', () => @@ -1202,9 +1213,9 @@ describe('InteractionManager', () => stage.addChild(scene.parent); pointer.click(40, 10); - expect(scene.behindChildCallback).to.have.been.calledOnce; - expect(scene.frontChildCallback).to.not.have.been.called; - expect(scene.parentCallback).to.not.have.been.called; + expect(scene.behindChildCallback).toHaveBeenCalledOnce(); + expect(scene.frontChildCallback).not.toBeCalled(); + expect(scene.parentCallback).not.toBeCalled(); }); it('should callback behind child when clicking behind child', () => @@ -1220,9 +1231,9 @@ describe('InteractionManager', () => stage.addChild(scene.parent); pointer.click(60, 10); - expect(scene.frontChildCallback).to.not.have.been.called; - expect(scene.behindChildCallback).to.have.been.calledOnce; - expect(scene.parentCallback).to.not.have.been.called; + expect(scene.frontChildCallback).not.toBeCalled(); + expect(scene.behindChildCallback).toHaveBeenCalledOnce(); + expect(scene.parentCallback).not.toBeCalled(); }); }); @@ -1241,9 +1252,9 @@ describe('InteractionManager', () => stage.addChild(scene.parent); pointer.click(10, 10); - expect(scene.behindChildCallback).to.not.have.been.called; - expect(scene.frontChildCallback).to.have.been.calledOnce; - expect(scene.parentCallback).to.not.have.been.called; + expect(scene.behindChildCallback).not.toBeCalled(); + expect(scene.frontChildCallback).toHaveBeenCalledOnce(); + expect(scene.parentCallback).not.toBeCalled(); }); it('should callback front child when clicking overlap', () => @@ -1259,9 +1270,9 @@ describe('InteractionManager', () => stage.addChild(scene.parent); pointer.click(40, 10); - expect(scene.behindChildCallback).to.not.have.been.called; - expect(scene.frontChildCallback).to.have.been.calledOnce; - expect(scene.parentCallback).to.not.have.been.called; + expect(scene.behindChildCallback).not.toBeCalled(); + expect(scene.frontChildCallback).toHaveBeenCalledOnce(); + expect(scene.parentCallback).not.toBeCalled(); }); it('should not callback when clicking behind child', () => @@ -1277,9 +1288,9 @@ describe('InteractionManager', () => stage.addChild(scene.parent); pointer.click(60, 10); - expect(scene.frontChildCallback).to.not.have.been.called; - expect(scene.behindChildCallback).to.not.have.been.called; - expect(scene.parentCallback).to.not.have.been.called; + expect(scene.frontChildCallback).not.toBeCalled(); + expect(scene.behindChildCallback).not.toBeCalled(); + expect(scene.parentCallback).not.toBeCalled(); }); }); }); @@ -1303,9 +1314,9 @@ describe('InteractionManager', () => stage.addChild(scene.parent); pointer.click(10, 10); - expect(scene.behindChildCallback).to.not.have.been.called; - expect(scene.frontChildCallback).to.have.been.calledOnce; - expect(scene.parentCallback).to.have.been.calledOnce; + expect(scene.behindChildCallback).not.toBeCalled(); + expect(scene.frontChildCallback).toHaveBeenCalledOnce(); + expect(scene.parentCallback).toHaveBeenCalledOnce(); }); it('should callback parent and front child when clicking overlap', () => @@ -1323,9 +1334,9 @@ describe('InteractionManager', () => stage.addChild(scene.parent); pointer.click(40, 10); - expect(scene.behindChildCallback).to.not.have.been.called; - expect(scene.frontChildCallback).to.have.been.calledOnce; - expect(scene.parentCallback).to.have.been.calledOnce; + expect(scene.behindChildCallback).not.toBeCalled(); + expect(scene.frontChildCallback).toHaveBeenCalledOnce(); + expect(scene.parentCallback).toHaveBeenCalledOnce(); }); it('should callback parent and behind child when clicking behind child', () => @@ -1343,9 +1354,9 @@ describe('InteractionManager', () => stage.addChild(scene.parent); pointer.click(60, 10); - expect(scene.frontChildCallback).to.not.have.been.called; - expect(scene.behindChildCallback).to.have.been.calledOnce; - expect(scene.parentCallback).to.have.been.calledOnce; + expect(scene.frontChildCallback).not.toBeCalled(); + expect(scene.behindChildCallback).toHaveBeenCalledOnce(); + expect(scene.parentCallback).toHaveBeenCalledOnce(); }); it('should callback front child of different non-interactive parents when clicking overlap', () => @@ -1363,11 +1374,11 @@ describe('InteractionManager', () => stage.addChild(scene.parent); pointer.click(40, 10); - expect(scene.behindChildCallback).to.not.have.been.called; - expect(scene.frontChildCallback).to.have.been.calledOnce; - expect(scene.parentCallback).to.have.been.calledOnce; - expect(scene.behindParentCallback).to.not.have.been.called; - expect(scene.frontParentCallback).to.not.have.been.called; + expect(scene.behindChildCallback).not.toBeCalled(); + expect(scene.frontChildCallback).toHaveBeenCalledOnce(); + expect(scene.parentCallback).toHaveBeenCalledOnce(); + expect(scene.behindParentCallback).not.toBeCalled(); + expect(scene.frontParentCallback).not.toBeCalled(); }); it('should callback front child of different interactive parents when clicking overlap', () => @@ -1387,11 +1398,11 @@ describe('InteractionManager', () => stage.addChild(scene.parent); pointer.click(40, 10); - expect(scene.behindChildCallback).to.not.have.been.called; - expect(scene.frontChildCallback).to.have.been.calledOnce; - expect(scene.parentCallback).to.have.been.calledOnce; - expect(scene.behindParentCallback).to.not.have.been.called; - expect(scene.frontParentCallback).to.have.been.calledOnce; + expect(scene.behindChildCallback).not.toBeCalled(); + expect(scene.frontChildCallback).toHaveBeenCalledOnce(); + expect(scene.parentCallback).toHaveBeenCalledOnce(); + expect(scene.behindParentCallback).not.toBeCalled(); + expect(scene.frontParentCallback).toHaveBeenCalledOnce(); }); }); @@ -1411,9 +1422,9 @@ describe('InteractionManager', () => stage.addChild(scene.parent); pointer.click(10, 10); - expect(scene.behindChildCallback).to.not.have.been.called; - expect(scene.frontChildCallback).to.not.have.been.called; - expect(scene.parentCallback).to.have.been.calledOnce; + expect(scene.behindChildCallback).not.toBeCalled(); + expect(scene.frontChildCallback).not.toBeCalled(); + expect(scene.parentCallback).toHaveBeenCalledOnce(); }); it('should callback parent and behind child when clicking overlap', () => @@ -1430,9 +1441,9 @@ describe('InteractionManager', () => stage.addChild(scene.parent); pointer.click(40, 10); - expect(scene.behindChildCallback).to.have.been.calledOnce; - expect(scene.frontChildCallback).to.not.have.been.called; - expect(scene.parentCallback).to.have.been.calledOnce; + expect(scene.behindChildCallback).toHaveBeenCalledOnce(); + expect(scene.frontChildCallback).not.toBeCalled(); + expect(scene.parentCallback).toHaveBeenCalledOnce(); }); it('should callback parent and behind child when clicking behind child', () => @@ -1449,9 +1460,9 @@ describe('InteractionManager', () => stage.addChild(scene.parent); pointer.click(60, 10); - expect(scene.frontChildCallback).to.not.have.been.called; - expect(scene.behindChildCallback).to.have.been.calledOnce; - expect(scene.parentCallback).to.have.been.calledOnce; + expect(scene.frontChildCallback).not.toBeCalled(); + expect(scene.behindChildCallback).toHaveBeenCalledOnce(); + expect(scene.parentCallback).toHaveBeenCalledOnce(); }); }); @@ -1471,9 +1482,9 @@ describe('InteractionManager', () => stage.addChild(scene.parent); pointer.click(10, 10); - expect(scene.behindChildCallback).to.not.have.been.called; - expect(scene.frontChildCallback).to.have.been.calledOnce; - expect(scene.parentCallback).to.have.been.calledOnce; + expect(scene.behindChildCallback).not.toBeCalled(); + expect(scene.frontChildCallback).toHaveBeenCalledOnce(); + expect(scene.parentCallback).toHaveBeenCalledOnce(); }); it('should callback parent and front child when clicking overlap', () => @@ -1490,9 +1501,9 @@ describe('InteractionManager', () => stage.addChild(scene.parent); pointer.click(40, 10); - expect(scene.behindChildCallback).to.not.have.been.called; - expect(scene.frontChildCallback).to.have.been.calledOnce; - expect(scene.parentCallback).to.have.been.calledOnce; + expect(scene.behindChildCallback).not.toBeCalled(); + expect(scene.frontChildCallback).toHaveBeenCalledOnce(); + expect(scene.parentCallback).toHaveBeenCalledOnce(); }); it('should callback parent when clicking behind child', () => @@ -1509,9 +1520,9 @@ describe('InteractionManager', () => stage.addChild(scene.parent); pointer.click(60, 10); - expect(scene.frontChildCallback).to.not.have.been.called; - expect(scene.behindChildCallback).to.not.have.been.called; - expect(scene.parentCallback).to.have.been.calledOnce; + expect(scene.frontChildCallback).not.toBeCalled(); + expect(scene.behindChildCallback).not.toBeCalled(); + expect(scene.parentCallback).toHaveBeenCalledOnce(); }); }); }); @@ -1524,8 +1535,8 @@ describe('InteractionManager', () => const behindParent = new Container(); const subParent = new Container(); const behindChild = new Graphics(); - const behindCallback = sinon.spy(function behindSpy() { /* no op*/ }); - const frontCallback = sinon.spy(function frontSpy() { /* no op*/ }); + const behindCallback = jest.fn(function behindSpy() { /* no op*/ }); + const frontCallback = jest.fn(function frontSpy() { /* no op*/ }); behindChild.beginFill(0xFF); behindChild.drawRect(0, 0, 50, 50); @@ -1548,8 +1559,8 @@ describe('InteractionManager', () => pointer.click(40, 10); - expect(behindCallback).to.not.have.been.called; - expect(frontCallback).to.have.been.calledOnce; + expect(behindCallback).not.toBeCalled(); + expect(frontCallback).toHaveBeenCalledOnce(); }); }); @@ -1561,7 +1572,7 @@ describe('InteractionManager', () => const pointer = new MockPointer(stage); const graphics = new Graphics(); const mask = new Graphics(); - const spy = sinon.spy(); + const spy = jest.fn(); graphics.interactive = true; graphics.beginFill(0xFF0000); @@ -1574,7 +1585,7 @@ describe('InteractionManager', () => pointer.click(10, 10); - expect(spy).to.have.been.calledOnce; + expect(spy).toHaveBeenCalledOnce(); }); it('should trigger interaction callback when mask uses beginFill', () => @@ -1583,7 +1594,7 @@ describe('InteractionManager', () => const pointer = new MockPointer(stage); const graphics = new Graphics(); const mask = new Graphics(); - const spy = sinon.spy(); + const spy = jest.fn(); graphics.interactive = true; graphics.beginFill(0xFF0000); @@ -1596,7 +1607,7 @@ describe('InteractionManager', () => pointer.click(10, 10); - expect(spy).to.have.been.calledOnce; + expect(spy).toHaveBeenCalledOnce(); }); it('should trigger interaction callback on child when inside of parents mask', () => @@ -1606,7 +1617,7 @@ describe('InteractionManager', () => const pointer = new MockPointer(stage); const graphics = new Graphics(); const mask = new Graphics(); - const spy = sinon.spy(); + const spy = jest.fn(); graphics.interactive = true; graphics.beginFill(0xFF0000); @@ -1620,7 +1631,7 @@ describe('InteractionManager', () => pointer.click(10, 10); - expect(spy).to.have.been.calledOnce; + expect(spy).toHaveBeenCalledOnce(); }); it('should not trigger interaction callback on child when outside of parents mask', () => @@ -1630,7 +1641,7 @@ describe('InteractionManager', () => const pointer = new MockPointer(stage); const graphics = new Graphics(); const mask = new Graphics(); - const spy = sinon.spy(); + const spy = jest.fn(); graphics.interactive = true; graphics.beginFill(0xFF0000); @@ -1644,7 +1655,7 @@ describe('InteractionManager', () => pointer.click(30, 30); - expect(spy).to.have.not.been.calledOnce; + expect(spy).not.toBeCalledTimes(1); }); it('should not trigger interaction callback when mask doesn\'t use beginFill', () => @@ -1653,7 +1664,7 @@ describe('InteractionManager', () => const pointer = new MockPointer(stage); const graphics = new Graphics(); const mask = new Graphics(); - const spy = sinon.spy(); + const spy = jest.fn(); graphics.interactive = true; graphics.beginFill(0xFF0000); @@ -1665,7 +1676,7 @@ describe('InteractionManager', () => pointer.click(10, 10); - expect(spy).to.have.not.been.called; + expect(spy).not.toBeCalled(); }); it('should trigger interaction callback when mask doesn\'t use beginFill but hitArea is defined', () => @@ -1674,7 +1685,7 @@ describe('InteractionManager', () => const pointer = new MockPointer(stage); const graphics = new Graphics(); const mask = new Graphics(); - const spy = sinon.spy(); + const spy = jest.fn(); graphics.interactive = true; graphics.beginFill(0xFF0000); @@ -1687,7 +1698,7 @@ describe('InteractionManager', () => pointer.click(10, 10); - expect(spy).to.have.been.calledOnce; + expect(spy).toHaveBeenCalledOnce(); }); it('should trigger interaction callback when mask is a sprite', () => @@ -1696,7 +1707,7 @@ describe('InteractionManager', () => const pointer = new MockPointer(stage); const graphics = new Graphics(); const mask = new Graphics(); - const spy = sinon.spy(); + const spy = jest.fn(); graphics.interactive = true; graphics.beginFill(0xFF0000); @@ -1708,7 +1719,7 @@ describe('InteractionManager', () => pointer.click(10, 10); - expect(spy).to.have.been.calledOnce; + expect(spy).toHaveBeenCalledOnce(); }); }); @@ -1719,7 +1730,7 @@ describe('InteractionManager', () => const stage = new Container(); const pointer = new MockPointer(stage); const graphics = new Graphics(); - const spy = sinon.spy(); + const spy = jest.fn(); graphics.interactive = true; graphics.beginFill(0xFF0000); @@ -1730,7 +1741,7 @@ describe('InteractionManager', () => pointer.click(10, 10); - expect(spy).to.have.been.calledOnce; + expect(spy).toHaveBeenCalledOnce(); }); it('should not trigger interaction callback when not within hitArea', () => @@ -1738,7 +1749,7 @@ describe('InteractionManager', () => const stage = new Container(); const pointer = new MockPointer(stage); const graphics = new Graphics(); - const spy = sinon.spy(); + const spy = jest.fn(); graphics.interactive = true; graphics.beginFill(0xFF0000); @@ -1749,7 +1760,7 @@ describe('InteractionManager', () => pointer.click(30, 30); - expect(spy).to.have.not.been.calledOnce; + expect(spy).not.toBeCalledTimes(1); }); it('should trigger interaction callback on child when inside of parents hitArea', () => @@ -1758,7 +1769,7 @@ describe('InteractionManager', () => const parent = new Container(); const pointer = new MockPointer(stage); const graphics = new Graphics(); - const spy = sinon.spy(); + const spy = jest.fn(); graphics.interactive = true; graphics.beginFill(0xFF0000); @@ -1770,7 +1781,7 @@ describe('InteractionManager', () => pointer.click(10, 10); - expect(spy).to.have.been.calledOnce; + expect(spy).toHaveBeenCalledOnce(); }); it('should not trigger interaction callback on child when outside of parents hitArea', () => @@ -1779,7 +1790,7 @@ describe('InteractionManager', () => const parent = new Container(); const pointer = new MockPointer(stage); const graphics = new Graphics(); - const spy = sinon.spy(); + const spy = jest.fn(); graphics.interactive = true; graphics.beginFill(0xFF0000); @@ -1791,7 +1802,7 @@ describe('InteractionManager', () => pointer.click(30, 30); - expect(spy).to.have.not.been.calledOnce; + expect(spy).not.toBeCalledTimes(1); }); }); @@ -1813,7 +1824,7 @@ describe('InteractionManager', () => pointer.mousemove(10, 10); - expect(pointer.renderer.view.style.cursor).to.equal('help'); + expect(pointer.renderer.view.style.cursor).toEqual('help'); }); it('should return cursor to default on mouseout', () => @@ -1833,7 +1844,7 @@ describe('InteractionManager', () => pointer.mousemove(10, 10); pointer.mousemove(60, 60); - expect(pointer.renderer.view.style.cursor).to.equal(pointer.interaction.cursorStyles.default); + expect(pointer.renderer.view.style.cursor).toEqual(pointer.interaction.cursorStyles.default); }); it('should still be the over cursor after a click', () => @@ -1853,7 +1864,7 @@ describe('InteractionManager', () => pointer.mousemove(10, 10); pointer.click(10, 10); - expect(pointer.renderer.view.style.cursor).to.equal('help'); + expect(pointer.renderer.view.style.cursor).toEqual('help'); }); it('should return cursor to default when mouse leaves renderer', () => @@ -1873,15 +1884,15 @@ describe('InteractionManager', () => pointer.mousemove(10, 10); pointer.mousemove(-10, 60); - expect(pointer.renderer.view.style.cursor).to.equal(pointer.interaction.cursorStyles.default); + expect(pointer.renderer.view.style.cursor).toEqual(pointer.interaction.cursorStyles.default); }); it('cursor callback should be called', () => { const stage = new Container(); const graphics = new Graphics(); - const overSpy = sinon.spy(); - const defaultSpy = sinon.spy(); + const overSpy = jest.fn(); + const defaultSpy = jest.fn(); pointer = new MockPointer(stage); @@ -1896,15 +1907,15 @@ describe('InteractionManager', () => pointer.mousemove(10, 10); pointer.mousemove(60, 60); - expect(overSpy).to.have.been.called; - expect(defaultSpy).to.have.been.called; + expect(overSpy).toBeCalled(); + expect(defaultSpy).toBeCalled(); }); it('cursor callback should only be called if the cursor actually changed', () => { const stage = new Container(); const graphics = new Graphics(); - const defaultSpy = sinon.spy(); + const defaultSpy = jest.fn(); pointer = new MockPointer(stage); @@ -1918,7 +1929,7 @@ describe('InteractionManager', () => pointer.mousemove(10, 10); pointer.mousemove(20, 20); - expect(defaultSpy).to.have.been.calledOnce; + expect(defaultSpy).toHaveBeenCalledOnce(); }); it('cursor style object should be fully applied', () => @@ -1940,8 +1951,8 @@ describe('InteractionManager', () => pointer.mousemove(10, 10); - expect(pointer.renderer.view.style.cursor).to.equal('none'); - expect(pointer.renderer.view.style.display).to.equal('none'); + expect(pointer.renderer.view.style.cursor).toEqual('none'); + expect(pointer.renderer.view.style.display).toEqual('none'); }); it('should not change cursor style if null cursor style provided', () => @@ -1960,10 +1971,10 @@ describe('InteractionManager', () => pointer.interaction.cursorStyles.default = null; pointer.mousemove(10, 10); - expect(pointer.renderer.view.style.cursor).to.equal(''); + expect(pointer.renderer.view.style.cursor).toEqual(''); pointer.mousemove(60, 60); - expect(pointer.renderer.view.style.cursor).to.equal(''); + expect(pointer.renderer.view.style.cursor).toEqual(''); }); it('should use cursor property as css if no style entry', () => @@ -1980,7 +1991,7 @@ describe('InteractionManager', () => graphics.cursor = 'text'; pointer.mousemove(10, 10); - expect(pointer.renderer.view.style.cursor).to.equal('text'); + expect(pointer.renderer.view.style.cursor).toEqual('text'); }); }); @@ -2019,9 +2030,9 @@ describe('InteractionManager', () => const scene = getScene(); pointer = new MockPointer(scene.stage); - const frontHitTest = sinon.spy(scene.frontChild, 'containsPoint'); - const middleHitTest = sinon.spy(scene.middleChild, 'containsPoint'); - const behindHitTest = sinon.spy(scene.behindChild, 'containsPoint'); + const frontHitTest = jest.spyOn(scene.frontChild, 'containsPoint'); + const middleHitTest = jest.spyOn(scene.middleChild, 'containsPoint'); + const behindHitTest = jest.spyOn(scene.behindChild, 'containsPoint'); scene.frontChild.interactive = true; scene.middleChild.interactive = true; @@ -2029,9 +2040,9 @@ describe('InteractionManager', () => pointer.mousedown(25, 25); - expect(frontHitTest).to.have.been.calledOnce; - expect(middleHitTest).to.not.have.been.called; - expect(behindHitTest).to.not.have.been.called; + expect(frontHitTest).toHaveBeenCalledOnce(); + expect(middleHitTest).not.toBeCalled(); + expect(behindHitTest).not.toBeCalled(); }); }); @@ -2042,9 +2053,9 @@ describe('InteractionManager', () => const scene = getScene(); pointer = new MockPointer(scene.stage); - const frontHitTest = sinon.spy(scene.frontChild, 'containsPoint'); - const middleHitTest = sinon.spy(scene.middleChild, 'containsPoint'); - const behindHitTest = sinon.spy(scene.behindChild, 'containsPoint'); + const frontHitTest = jest.spyOn(scene.frontChild, 'containsPoint'); + const middleHitTest = jest.spyOn(scene.middleChild, 'containsPoint'); + const behindHitTest = jest.spyOn(scene.behindChild, 'containsPoint'); scene.frontChild.interactive = false; scene.middleChild.interactive = true; @@ -2052,9 +2063,9 @@ describe('InteractionManager', () => pointer.mousedown(25, 25); - expect(frontHitTest).to.not.have.been.called; - expect(middleHitTest).to.have.been.calledOnce; - expect(behindHitTest).to.not.have.been.called; + expect(frontHitTest).not.toBeCalled(); + expect(middleHitTest).toHaveBeenCalledOnce(); + expect(behindHitTest).not.toBeCalled(); }); }); }); @@ -2075,8 +2086,8 @@ describe('InteractionManager', () => pointer.mousemove(20, 10, true); - expect(pointer.interaction.mouse.global.x).to.equal(20); - expect(pointer.interaction.mouse.global.y).to.equal(10); + expect(pointer.interaction.mouse.global.x).toEqual(20); + expect(pointer.interaction.mouse.global.y).toEqual(10); }); }); @@ -2095,11 +2106,11 @@ describe('InteractionManager', () => graphics.interactive = true; pointer.touchstart(10, 10, 42); - expect(pointer.interaction.activeInteractionData[42]).to.exist; + expect(pointer.interaction.activeInteractionData[42]).toBeDefined(); pointer.touchend(10, 10, 42); - expect(pointer.interaction.activeInteractionData[42]).to.be.undefined; + expect(pointer.interaction.activeInteractionData[42]).toBeUndefined(); pointer.touchleave(10, 10, 42); - expect(pointer.interaction.activeInteractionData[42]).to.be.undefined; + expect(pointer.interaction.activeInteractionData[42]).toBeUndefined(); }); }); @@ -2120,7 +2131,7 @@ describe('InteractionManager', () => pointer.render(); const hit = pointer.interaction.hitTest(new Point(10, 10)); - expect(hit).to.equal(graphics); + expect(hit).toEqual(graphics); }); it('should return null if not hit', () => @@ -2138,7 +2149,7 @@ describe('InteractionManager', () => pointer.render(); const hit = pointer.interaction.hitTest(new Point(60, 60)); - expect(hit).to.be.null; + expect(hit).toBeNull(); }); it('should return top thing that was hit', () => @@ -2161,7 +2172,7 @@ describe('InteractionManager', () => pointer.render(); const hit = pointer.interaction.hitTest(new Point(10, 10)); - expect(hit).to.equal(graphics); + expect(hit).toEqual(graphics); }); it('should return hit when passing in root', () => @@ -2184,7 +2195,7 @@ describe('InteractionManager', () => pointer.render(); const hit = pointer.interaction.hitTest(new Point(10, 10), behind); - expect(hit).to.equal(behind); + expect(hit).toEqual(behind); }); }); @@ -2203,19 +2214,19 @@ describe('InteractionManager', () => graphics.interactive = true; pointer.touchstart(10, 10, 1); - expect(pointer.interaction.activeInteractionData[1]).to.exist; - expect(pointer.interaction.activeInteractionData[1].isPrimary, - 'first touch should be primary on touch start').to.be.true; + expect(pointer.interaction.activeInteractionData[1]).toBeDefined(); + // 'first touch should be primary on touch start' + expect(pointer.interaction.activeInteractionData[1].isPrimary).toBe(true); pointer.touchstart(13, 9, 2); - expect(pointer.interaction.activeInteractionData[2].isPrimary, - 'second touch should not be primary').to.be.false; + // 'second touch should not be primary' + expect(pointer.interaction.activeInteractionData[2].isPrimary).toBe(false); pointer.touchmove(10, 20, 1); - expect(pointer.interaction.activeInteractionData[1].isPrimary, - 'first touch should still be primary after move').to.be.true; + // 'first touch should still be primary after move' + expect(pointer.interaction.activeInteractionData[1].isPrimary).toBe(true); pointer.touchend(10, 10, 1); pointer.touchmove(13, 29, 2); - expect(pointer.interaction.activeInteractionData[2].isPrimary, - 'second touch should still not be primary after first is done').to.be.false; + 'second touch should still not be primary after first is done'; + expect(pointer.interaction.activeInteractionData[2].isPrimary).toBe(false); }); }); @@ -2225,7 +2236,7 @@ describe('InteractionManager', () => { const stage = new Container(); const graphics = new Graphics(); - const eventSpy = sinon.spy(); + const eventSpy = jest.fn(); pointer = new MockPointer(stage, null, null, true); @@ -2237,14 +2248,14 @@ describe('InteractionManager', () => pointer.pendown(10, 10); - expect(eventSpy).to.have.been.calledOnce; + expect(eventSpy).toHaveBeenCalledOnce(); }); it('should call mousemove handler', () => { const stage = new Container(); const graphics = new Graphics(); - const eventSpy = sinon.spy(); + const eventSpy = jest.fn(); pointer = new MockPointer(stage, null, null, true); @@ -2256,14 +2267,14 @@ describe('InteractionManager', () => pointer.penmove(10, 10); - expect(eventSpy).to.have.been.calledOnce; + expect(eventSpy).toHaveBeenCalledOnce(); }); it('should call mouseup handler', () => { const stage = new Container(); const graphics = new Graphics(); - const eventSpy = sinon.spy(); + const eventSpy = jest.fn(); pointer = new MockPointer(stage, null, null, true); @@ -2275,7 +2286,7 @@ describe('InteractionManager', () => pointer.penup(10, 10); - expect(eventSpy).to.have.been.calledOnce; + expect(eventSpy).toHaveBeenCalledOnce(); }); }); }); diff --git a/packages/loaders/test/AppLoaderPlugin.tests.ts b/packages/loaders/test/AppLoaderPlugin.tests.ts index f8440af539..2c63e96ebb 100644 --- a/packages/loaders/test/AppLoaderPlugin.tests.ts +++ b/packages/loaders/test/AppLoaderPlugin.tests.ts @@ -1,5 +1,4 @@ import { AppLoaderPlugin, Loader } from '@pixi/loaders'; -import { expect } from 'chai'; describe('AppLoaderPlugin', () => { @@ -9,12 +8,12 @@ describe('AppLoaderPlugin', () => AppLoaderPlugin.init.call(obj); - expect(obj.loader).to.be.not.undefined; - expect(obj.loader).to.be.instanceof(Loader); + expect(obj.loader).toBeDefined(); + expect(obj.loader).toBeInstanceOf(Loader); AppLoaderPlugin.destroy.call(obj); - expect(obj.loader).to.be.null; + expect(obj.loader).toBeNull(); }); it('should use sharedLoader option', () => @@ -23,12 +22,12 @@ describe('AppLoaderPlugin', () => AppLoaderPlugin.init.call(obj, { sharedLoader: true }); - expect(obj.loader).to.be.not.undefined; - expect(obj.loader).to.be.instanceof(Loader); - expect(obj.loader).to.equal(Loader.shared); + expect(obj.loader).toBeDefined(); + expect(obj.loader).toBeInstanceOf(Loader); + expect(obj.loader).toEqual(Loader.shared); AppLoaderPlugin.destroy.call(obj); - expect(obj.loader).to.be.null; + expect(obj.loader).toBeNull(); }); }); diff --git a/packages/loaders/test/AsyncQueue.tests.ts b/packages/loaders/test/AsyncQueue.tests.ts index 1be0e50565..141efbba0e 100644 --- a/packages/loaders/test/AsyncQueue.tests.ts +++ b/packages/loaders/test/AsyncQueue.tests.ts @@ -1,5 +1,4 @@ import { AsyncQueue as async } from '../src/base/AsyncQueue'; // testing internal package! -import { expect } from 'chai'; describe('async', () => { @@ -25,45 +24,45 @@ describe('async', () => q.push(1, (err, arg) => { - expect(err).to.equal('error'); - expect(arg).to.equal('arg'); - expect(q.length()).to.equal(1); + expect(err).toEqual('error'); + expect(arg).toEqual('arg'); + expect(q.length()).toEqual(1); callOrder.push('callback 1'); }); q.push(2, (err, arg) => { - expect(err).to.equal('error'); - expect(arg).to.equal('arg'); - expect(q.length()).to.equal(2); + expect(err).toEqual('error'); + expect(arg).toEqual('arg'); + expect(q.length()).toEqual(2); callOrder.push('callback 2'); }); q.push(3, (err, arg) => { - expect(err).to.equal('error'); - expect(arg).to.equal('arg'); - expect(q.length()).to.equal(0); + expect(err).toEqual('error'); + expect(arg).toEqual('arg'); + expect(q.length()).toEqual(0); callOrder.push('callback 3'); }); q.push(4, (err, arg) => { - expect(err).to.equal('error'); - expect(arg).to.equal('arg'); - expect(q.length()).to.equal(0); + expect(err).toEqual('error'); + expect(arg).toEqual('arg'); + expect(q.length()).toEqual(0); callOrder.push('callback 4'); }); - expect(q.length()).to.equal(4); - expect(q.concurrency).to.equal(2); + expect(q.length()).toEqual(4); + expect(q.concurrency).toEqual(2); q.drain = () => { - expect(callOrder).to.eql([ + expect(callOrder).toEqual([ 'process 2', 'callback 2', 'process 1', 'callback 1', 'process 4', 'callback 4', 'process 3', 'callback 3', ]); - expect(q.concurrency).to.equal(2); - expect(q.length()).to.equal(0); + expect(q.concurrency).toEqual(2); + expect(q.length()).toEqual(0); done(); }; }); @@ -86,45 +85,45 @@ describe('async', () => q.push(1, (err, arg) => { - expect(err).to.equal('error'); - expect(arg).to.equal('arg'); - expect(q.length()).to.equal(3); + expect(err).toEqual('error'); + expect(arg).toEqual('arg'); + expect(q.length()).toEqual(3); callOrder.push('callback 1'); }); q.push(2, (err, arg) => { - expect(err).to.equal('error'); - expect(arg).to.equal('arg'); - expect(q.length()).to.equal(2); + expect(err).toEqual('error'); + expect(arg).toEqual('arg'); + expect(q.length()).toEqual(2); callOrder.push('callback 2'); }); q.push(3, (err, arg) => { - expect(err).to.equal('error'); - expect(arg).to.equal('arg'); - expect(q.length()).to.equal(1); + expect(err).toEqual('error'); + expect(arg).toEqual('arg'); + expect(q.length()).toEqual(1); callOrder.push('callback 3'); }); q.push(4, (err, arg) => { - expect(err).to.equal('error'); - expect(arg).to.equal('arg'); - expect(q.length()).to.equal(0); + expect(err).toEqual('error'); + expect(arg).toEqual('arg'); + expect(q.length()).toEqual(0); callOrder.push('callback 4'); }); - expect(q.length()).to.equal(4); - expect(q.concurrency).to.equal(1); + expect(q.length()).toEqual(4); + expect(q.concurrency).toEqual(1); q.drain = () => { - expect(callOrder).to.eql([ + expect(callOrder).toEqual([ 'process 1', 'callback 1', 'process 2', 'callback 2', 'process 3', 'callback 3', 'process 4', 'callback 4', ]); - expect(q.concurrency).to.equal(1); - expect(q.length()).to.equal(0); + expect(q.concurrency).toEqual(1); + expect(q.length()).toEqual(0); done(); }; }); @@ -137,7 +136,7 @@ describe('async', () => { callback(null, task); }, 0); - }).to.throw(); + }).toThrow(); done(); }); @@ -152,7 +151,7 @@ describe('async', () => q.drain = () => { - expect(results).to.eql(['bar', 'fooError']); + expect(results).toEqual(['bar', 'fooError']); done(); }; @@ -192,15 +191,15 @@ describe('async', () => q.error = (error, task) => { - expect(error).to.exist; - expect(error.message).to.equal('fooError'); - expect(task.name).to.equal('foo'); + expect(error).toBeDefined(); + expect(error.message).toEqual('fooError'); + expect(task.name).toEqual('foo'); results.push('fooError'); }; q.drain = () => { - expect(results).to.eql(['fooError', 'bar']); + expect(results).toEqual(['fooError', 'bar']); done(); }; @@ -208,7 +207,7 @@ describe('async', () => q.push({ name: 'bar' }, (err) => { - expect(err).to.not.exist; + expect(err).toBeFalsy(); results.push('bar'); }); }); @@ -241,15 +240,15 @@ describe('async', () => setTimeout(() => { - expect(q.concurrency).to.equal(1); + expect(q.concurrency).toEqual(1); q.concurrency = 2; setTimeout(() => { - expect(q.running()).to.equal(2); + expect(q.running()).toEqual(2); q.concurrency = 5; setTimeout(() => { - expect(q.running()).to.equal(5); + expect(q.running()).toEqual(5); }, 40); }, 40); }, 40); @@ -280,7 +279,7 @@ describe('async', () => q.drain = () => { - expect(callOrder).to.eql([ + expect(callOrder).toEqual([ 'process 2', 'process 1', 'process 4', @@ -298,7 +297,7 @@ describe('async', () => { // @ts-expect-error - testing for error q.push({}, 1); - }).to.throw(); + }).toThrow(); done(); }); @@ -319,7 +318,7 @@ describe('async', () => setTimeout(() => { - expect(queueOrder).to.eql([1, 2, 3, 4]); + expect(queueOrder).toEqual([1, 2, 3, 4]); done(); }, 100); }); @@ -332,7 +331,7 @@ describe('async', () => expect(() => { callback(); - }).to.throw(); + }).toThrow(); done(); }, 2); @@ -344,12 +343,12 @@ describe('async', () => const q = async.queue((_task: any, callback: (...args: any) => void): void => { // Queue is busy when workers are running - expect(q.idle()).to.equal(false); + expect(q.idle()).toEqual(false); callback(); }, 1); // Queue is idle before anything added - expect(q.idle()).to.equal(true); + expect(q.idle()).toEqual(true); q.unshift(4); q.unshift(3); @@ -357,12 +356,12 @@ describe('async', () => q.unshift(1); // Queue is busy when tasks added - expect(q.idle()).to.equal(false); + expect(q.idle()).toEqual(false); q.drain = () => { // Queue is idle after drain - expect(q.idle()).to.equal(true); + expect(q.idle()).toEqual(true); done(); }; }); @@ -409,18 +408,18 @@ describe('async', () => setTimeout(() => { q.pause(); - expect(q.paused).to.equal(true); + expect(q.paused).toEqual(true); }, pauseTimeout); setTimeout(() => { q.resume(); - expect(q.paused).to.equal(false); + expect(q.paused).toEqual(false); }, resumeTimeout); setTimeout(() => { - expect(callOrder).to.eql([ + expect(callOrder).toEqual([ 'process 1', `timeout ${taskTimeout}`, 'process 2', `timeout ${(taskTimeout * 2)}`, 'process 3', `timeout ${(taskTimeout * 5)}`, @@ -462,7 +461,7 @@ describe('async', () => q.drain = () => { - expect(callOrder).to.eql([1, 2, 3, 4, 5]); + expect(callOrder).toEqual([1, 2, 3, 4, 5]); done(); }; }); @@ -500,23 +499,23 @@ describe('async', () => setTimeout(() => { q.pause(); - expect(q.paused).to.equal(true); + expect(q.paused).toEqual(true); }, pauseTimeout); setTimeout(() => { q.resume(); - expect(q.paused).to.equal(false); + expect(q.paused).toEqual(false); }, resumeTimeout); setTimeout(() => { - expect(q.running()).to.equal(2); + expect(q.running()).toEqual(2); }, resumeTimeout + 10); setTimeout(() => { - expect(callOrder).to.eql([ + expect(callOrder).toEqual([ 'process 1', `timeout ${taskTimeout}`, 'process 2', `timeout ${taskTimeout}`, 'process 3', `timeout ${(taskTimeout * 4)}`, @@ -551,8 +550,8 @@ describe('async', () => setTimeout(() => { - expect(q._tasks.length).to.equal(1); - expect(q.running()).to.equal(2); + expect(q._tasks.length).toEqual(1); + expect(q.running()).toEqual(2); q.resume(); }, 15); @@ -583,7 +582,7 @@ describe('async', () => setTimeout(() => { - expect(q.length()).to.equal(0); + expect(q.length()).toEqual(0); done(); }, 40); }); @@ -602,20 +601,20 @@ describe('async', () => q.saturated = () => { - expect(q.running()).to.equal(3, 'queue should be saturated now'); + expect(q.running()).toEqual(3); calls.push('saturated'); }; q.empty = () => { - expect(q.length()).to.equal(0, 'queue should be empty now'); + expect(q.length()).toEqual(0); calls.push('empty'); }; q.drain = () => { expect(q.length() === 0 && q.running() === 0) - .to.equal(true, 'queue should be empty now and no more workers should be running'); + .toEqual(true); calls.push('drain'); - expect(calls).to.eql([ + expect(calls).toEqual([ 'process foo', 'process bar', 'saturated', @@ -654,9 +653,9 @@ describe('async', () => q.drain = () => { expect(q.length() === 0 && q.running() === 0) - .to.equal(true, 'queue should be empty now and no more workers should be running'); + .toEqual(true); calls.push('drain'); - expect(calls).to.eql([ + expect(calls).toEqual([ 'drain', ]); done(); @@ -678,7 +677,7 @@ describe('async', () => }; q.drain = () => { - expect(saturatedCalled).to.equal(true, 'saturated not called'); + expect(saturatedCalled).toEqual(true); done(); }; @@ -695,13 +694,13 @@ describe('async', () => cb(null, task); }); - expect(q.started).to.equal(false); + expect(q.started).toEqual(false); q.push(undefined); - expect(q.started).to.equal(true); + expect(q.started).toEqual(true); done(); }); - context('q.saturated(): ', () => + describe('q.saturated(): ', () => { it('should call the saturated callback if tasks length is concurrency', (done: () => void) => { @@ -718,10 +717,10 @@ describe('async', () => }; q.empty = () => { - expect(calls.indexOf('saturated')).to.be.above(-1); + expect(calls.indexOf('saturated')).toBeGreaterThan(-1); setTimeout(() => { - expect(calls).eql([ + expect(calls).toEqual([ 'process foo0', 'process foo1', 'process foo2', @@ -746,7 +745,7 @@ describe('async', () => }); }); - context('q.unsaturated(): ', () => + describe('q.unsaturated(): ', () => { it('should have a default buffer property that equals 25% of the concurrenct rate', (done: () => void) => { @@ -758,7 +757,7 @@ describe('async', () => setTimeout(cb, 1); }, 10); - expect(q.buffer).to.equal(2.5); + expect(q.buffer).toEqual(2.5); done(); }); it('should allow a user to change the buffer property', (done: () => void) => @@ -772,8 +771,8 @@ describe('async', () => }, 10); q.buffer = 4; - expect(q.buffer).to.not.equal(2.5); - expect(q.buffer).to.equal(4); + expect(q.buffer).not.toEqual(2.5); + expect(q.buffer).toEqual(4); done(); }); it('should call the unsaturated callback if tasks length is less than concurrency minus buffer', @@ -792,10 +791,10 @@ describe('async', () => }; q.empty = () => { - expect(calls.indexOf('unsaturated')).to.be.above(-1); + expect(calls.indexOf('unsaturated')).toBeGreaterThan(-1); setTimeout(() => { - expect(calls).eql([ + expect(calls).toEqual([ 'process foo0', 'process foo1', 'process foo2', @@ -837,7 +836,7 @@ describe('async', () => function eachNoCallbackIteratee(done: () => void, x: number, callback: () => void) { - expect(x).to.equal(1); + expect(x).toEqual(1); callback(); done(); } @@ -848,8 +847,8 @@ describe('async', () => async.eachSeries([1, 3, 2], eachIteratee.bind({ }, args), (err) => { - expect(err).to.equal(undefined, `${err} passed instead of 'null'`); - expect(args).to.eql([1, 3, 2]); + expect(err).toEqual(undefined); + expect(args).toEqual([1, 3, 2]); done(); }); }); @@ -858,7 +857,7 @@ describe('async', () => { async.eachSeries([], (_x: number, callback: () => void) => { - expect(false).to.equal(true, 'iteratee should not be called'); + expect(false).toEqual(true); callback(); }, (err) => { @@ -867,7 +866,7 @@ describe('async', () => throw err; } - expect(true).to.equal(true, 'should call callback'); + expect(true).toEqual(true); }); setTimeout(done, 25); }); @@ -881,7 +880,7 @@ describe('async', () => setTimeout(callback, 1); }, () => { - expect(true).to.equal(true, 'should call callback'); + expect(true).toEqual(true); }); arr.pop(); @@ -903,7 +902,7 @@ describe('async', () => }, () => { - expect(sync).to.equal(true, 'callback not called on same tick'); + expect(sync).toEqual(true); } ); sync = false; @@ -923,7 +922,7 @@ describe('async', () => }, () => { - expect(sync).to.equal(true, 'callback not called on same tick'); + expect(sync).toEqual(true); } ); sync = false; @@ -943,8 +942,8 @@ describe('async', () => }, (err: string) => { - expect(callOrder).to.eql([1]); - expect(err).to.equal('error'); + expect(callOrder).toEqual([1]); + expect(err).toEqual('error'); } ); setTimeout(done, 50); diff --git a/packages/loaders/test/Loader.tests.ts b/packages/loaders/test/Loader.tests.ts index 7cfcfa7f99..b5c8565c05 100644 --- a/packages/loaders/test/Loader.tests.ts +++ b/packages/loaders/test/Loader.tests.ts @@ -4,7 +4,6 @@ import { TextureCache } from '@pixi/utils'; import { SCALE_MODES } from '@pixi/constants'; import { createServer } from './resources'; -import { expect } from 'chai'; import { Server } from 'http'; const createRandomName = () => `image${(Math.random() * 10000) | 0}`; @@ -14,13 +13,13 @@ describe('Loader', () => let server: Server; let baseUrl: string; - before(() => + beforeAll(() => { server = createServer(8125); baseUrl = 'http://localhost:8125'; }); - after(() => + afterAll(() => { server.close(); server = null; @@ -29,13 +28,13 @@ describe('Loader', () => it('should exist', () => { - expect(Loader).to.be.a('function'); + expect(Loader).toBeInstanceOf(Function); }); it('should have shared loader', () => { - expect(Loader.shared).to.not.be.undefined; - expect(Loader.shared).to.be.instanceof(Loader); + expect(Loader.shared).toBeDefined(); + expect(Loader.shared).toBeInstanceOf(Loader); }); it('should basic load an image using the TextureLoader', (done) => @@ -47,22 +46,22 @@ describe('Loader', () => loader.add(name, url); loader.load((ldr, resources) => { - expect(ldr).equals(loader); - expect(name in resources).to.be.ok; + expect(ldr).toEqual(loader); + expect(name in resources).toBeTruthy(); const texture = resources[name].texture as Texture; - expect(texture).instanceof(Texture); - expect(texture.baseTexture.valid).to.be.true; - expect(texture.baseTexture.resource).instanceof(ImageResource); - expect(texture.baseTexture.resource.url).equals(url); - expect(TextureCache[name]).equals(texture); - expect(TextureCache[url]).equals(texture); + expect(texture).toBeInstanceOf(Texture); + expect(texture.baseTexture.valid).toBe(true); + expect(texture.baseTexture.resource).toBeInstanceOf(ImageResource); + expect(texture.baseTexture.resource.url).toEqual(url); + expect(TextureCache[name]).toEqual(texture); + expect(TextureCache[url]).toEqual(texture); loader.reset(); texture.destroy(true); - expect(loader.resources[name]).to.be.undefined; - expect(TextureCache[name]).to.be.undefined; - expect(TextureCache[url]).to.be.undefined; + expect(loader.resources[name]).toBeUndefined(); + expect(TextureCache[name]).toBeUndefined(); + expect(TextureCache[url]).toBeUndefined(); done(); }); }); @@ -79,11 +78,11 @@ describe('Loader', () => const { texture, data } = loader.resources[name]; const { baseTexture } = texture; - expect(typeof data).equals('string'); - expect(baseTexture.resource).instanceof(SVGResource); - expect(baseTexture.valid).to.be.true; - expect(baseTexture.width).equals(512); - expect(baseTexture.height).equals(512); + expect(typeof data).toEqual('string'); + expect(baseTexture.resource).toBeInstanceOf(SVGResource); + expect(baseTexture.valid).toBe(true); + expect(baseTexture.width).toEqual(512); + expect(baseTexture.height).toEqual(512); loader.reset(); texture.destroy(true); done(); @@ -106,8 +105,8 @@ describe('Loader', () => const { texture } = loader.resources[name]; const { scaleMode, resolution } = texture.baseTexture; - expect(scaleMode).equals(SCALE_MODES.NEAREST); - expect(resolution).equals(2); + expect(scaleMode).toEqual(SCALE_MODES.NEAREST); + expect(resolution).toEqual(2); loader.reset(); texture.destroy(true); done(); @@ -132,8 +131,8 @@ describe('Loader', () => const { texture } = loader.resources[name]; const { width, height } = texture.baseTexture; - expect(width).equals(128); - expect(height).equals(256); + expect(width).toEqual(128); + expect(height).toEqual(256); loader.reset(); texture.destroy(true); done(); @@ -157,8 +156,8 @@ describe('Loader', () => const { texture } = loader.resources[name]; const { width, height } = texture.baseTexture; - expect(width).equals(256); - expect(height).equals(256); + expect(width).toEqual(256); + expect(height).toEqual(256); loader.reset(); texture.destroy(true); done(); diff --git a/packages/loaders/test/LoaderBase.tests.ts b/packages/loaders/test/LoaderBase.tests.ts index c0a6db88bb..686bf2ab7e 100644 --- a/packages/loaders/test/LoaderBase.tests.ts +++ b/packages/loaders/test/LoaderBase.tests.ts @@ -1,7 +1,7 @@ /* eslint-disable @typescript-eslint/no-unused-expressions */ -import sinon from 'sinon'; + import { Loader, LoaderResource } from '@pixi/loaders'; -import { expect } from 'chai'; + import { fixtureData } from './fixtures/data'; import { spritesheetMiddleware } from './fixtures/spritesheet'; import { Dict } from '@pixi/utils/src'; @@ -12,12 +12,12 @@ describe('Loader', () => { let server: Server; - before(() => + beforeAll(() => { server = createServer(8126); }); - after(() => + afterAll(() => { server.close(); server = null; @@ -34,17 +34,22 @@ describe('Loader', () => it('should have correct properties', () => { - expect(loader).to.have.property('baseUrl', fixtureData.baseUrl); - expect(loader).to.have.property('progress', 0); + expect(loader).toHaveProperty('baseUrl', fixtureData.baseUrl); + expect(loader).toHaveProperty('progress', 0); }); it('should have correct public methods', () => { - expect(loader).to.have.property('add').instanceOf(Function); - expect(loader).to.have.property('pre').instanceOf(Function); - expect(loader).to.have.property('use').instanceOf(Function); - expect(loader).to.have.property('reset').instanceOf(Function); - expect(loader).to.have.property('load').instanceOf(Function); + expect(loader).toHaveProperty('add'); + expect(loader['add']).toBeInstanceOf(Function); + expect(loader).toHaveProperty('pre'); + expect(loader['pre']).toBeInstanceOf(Function); + expect(loader).toHaveProperty('use'); + expect(loader['use']).toBeInstanceOf(Function); + expect(loader).toHaveProperty('reset'); + expect(loader['reset']).toBeInstanceOf(Function); + expect(loader).toHaveProperty('load'); + expect(loader['load']).toBeInstanceOf(Function); }); describe('#add', () => @@ -62,191 +67,184 @@ describe('Loader', () => { loader.add(name, fixtureData.url, options, callback); - expect(loader['_queue'].length()).to.equal(1); + expect(loader['_queue'].length()).toEqual(1); const res = loader['_queue']._tasks[0].data; - expect(res).to.be.an.instanceOf(LoaderResource); - expect(res).to.have.property('name', name); - expect(res).to.have.property('url', fixtureData.url); - expect(res).to.have.property('crossOrigin', options.crossOrigin ? 'anonymous' : null); - expect(res).to.have.property('loadType', options.loadType); - expect(res).to.have.property('xhrType', options.xhrType); + expect(res).toBeInstanceOf(LoaderResource); + expect(res).toHaveProperty('name', name); + expect(res).toHaveProperty('url', fixtureData.url); + expect(res).toHaveProperty('crossOrigin', options.crossOrigin ? 'anonymous' : null); + expect(res).toHaveProperty('loadType', options.loadType); + expect(res).toHaveProperty('xhrType', options.xhrType); - expect(res.onAfterMiddleware.handlers()) - .to.not.be.empty - .and.to.equal([callback]); + expect(res.onAfterMiddleware.handlers()).not.toHaveLength(0); + expect(res.onAfterMiddleware.handlers()[0]['_fn']).toEqual(callback); }); it('creates a resource with just name, url, and options', () => { loader.add(name, fixtureData.url, options); - expect(loader['_queue'].length()).to.equal(1); + expect(loader['_queue'].length()).toEqual(1); const res = loader['_queue']._tasks[0].data; - expect(res).to.be.an.instanceOf(LoaderResource); - expect(res).to.have.property('name', name); - expect(res).to.have.property('url', fixtureData.url); - expect(res).to.have.property('crossOrigin', options.crossOrigin ? 'anonymous' : null); - expect(res).to.have.property('loadType', options.loadType); - expect(res).to.have.property('xhrType', options.xhrType); + expect(res).toBeInstanceOf(LoaderResource); + expect(res).toHaveProperty('name', name); + expect(res).toHaveProperty('url', fixtureData.url); + expect(res).toHaveProperty('crossOrigin', options.crossOrigin ? 'anonymous' : null); + expect(res).toHaveProperty('loadType', options.loadType); + expect(res).toHaveProperty('xhrType', options.xhrType); }); it('creates a resource with just name, url, and a callback', () => { loader.add(name, fixtureData.url, callback); - expect(loader['_queue'].length()).to.equal(1); + expect(loader['_queue'].length()).toEqual(1); const res = loader['_queue']._tasks[0].data; - expect(res).to.be.an.instanceOf(LoaderResource); - expect(res).to.have.property('name', name); - expect(res).to.have.property('url', fixtureData.url); + expect(res).toBeInstanceOf(LoaderResource); + expect(res).toHaveProperty('name', name); + expect(res).toHaveProperty('url', fixtureData.url); - expect(res.onAfterMiddleware.handlers()) - .to.not.be.empty - .and.to.equal([callback]); + expect(res.onAfterMiddleware.handlers()).not.toHaveLength(0); + expect(res.onAfterMiddleware.handlers()[0]['_fn']).toEqual(callback); }); it('creates a resource with just name and url', () => { loader.add(name, fixtureData.url); - expect(loader['_queue'].length()).to.equal(1); + expect(loader['_queue'].length()).toEqual(1); const res = loader['_queue']._tasks[0].data; - expect(res).to.be.an.instanceOf(LoaderResource); - expect(res).to.have.property('name', name); - expect(res).to.have.property('url', fixtureData.url); + expect(res).toBeInstanceOf(LoaderResource); + expect(res).toHaveProperty('name', name); + expect(res).toHaveProperty('url', fixtureData.url); }); it('creates a resource with just url, options, and a callback', () => { loader.add(fixtureData.url, options, callback); - expect(loader['_queue'].length()).to.equal(1); + expect(loader['_queue'].length()).toEqual(1); const res = loader['_queue']._tasks[0].data; - expect(res).to.be.an.instanceOf(LoaderResource); - expect(res).to.have.property('name', fixtureData.url); - expect(res).to.have.property('url', fixtureData.url); - expect(res).to.have.property('crossOrigin', options.crossOrigin ? 'anonymous' : null); - expect(res).to.have.property('loadType', options.loadType); - expect(res).to.have.property('xhrType', options.xhrType); + expect(res).toBeInstanceOf(LoaderResource); + expect(res).toHaveProperty('name', fixtureData.url); + expect(res).toHaveProperty('url', fixtureData.url); + expect(res).toHaveProperty('crossOrigin', options.crossOrigin ? 'anonymous' : null); + expect(res).toHaveProperty('loadType', options.loadType); + expect(res).toHaveProperty('xhrType', options.xhrType); - expect(res.onAfterMiddleware.handlers()) - .to.not.be.empty - .and.to.equal([callback]); + expect(res.onAfterMiddleware.handlers()).not.toHaveLength(0); + expect(res.onAfterMiddleware.handlers()[0]['_fn']).toEqual(callback); }); it('creates a resource with just url and options', () => { loader.add(fixtureData.url, options); - expect(loader['_queue'].length()).to.equal(1); + expect(loader['_queue'].length()).toEqual(1); const res = loader['_queue']._tasks[0].data; - expect(res).to.be.an.instanceOf(LoaderResource); - expect(res).to.have.property('name', fixtureData.url); - expect(res).to.have.property('url', fixtureData.url); - expect(res).to.have.property('crossOrigin', options.crossOrigin ? 'anonymous' : null); - expect(res).to.have.property('loadType', options.loadType); - expect(res).to.have.property('xhrType', options.xhrType); + expect(res).toBeInstanceOf(LoaderResource); + expect(res).toHaveProperty('name', fixtureData.url); + expect(res).toHaveProperty('url', fixtureData.url); + expect(res).toHaveProperty('crossOrigin', options.crossOrigin ? 'anonymous' : null); + expect(res).toHaveProperty('loadType', options.loadType); + expect(res).toHaveProperty('xhrType', options.xhrType); }); it('creates a resource with just url and a callback', () => { loader.add(fixtureData.url, callback); - expect(loader['_queue'].length()).to.equal(1); + expect(loader['_queue'].length()).toEqual(1); const res = loader['_queue']._tasks[0].data; - expect(res).to.be.an.instanceOf(LoaderResource); - expect(res).to.have.property('name', fixtureData.url); - expect(res).to.have.property('url', fixtureData.url); + expect(res).toBeInstanceOf(LoaderResource); + expect(res).toHaveProperty('name', fixtureData.url); + expect(res).toHaveProperty('url', fixtureData.url); - expect(res.onAfterMiddleware.handlers()) - .to.not.be.empty - .and.to.equal([callback]); + expect(res.onAfterMiddleware.handlers()).not.toHaveLength(0); + expect(res.onAfterMiddleware.handlers()[0]['_fn']).toEqual(callback); }); it('creates a resource with just url', () => { loader.add(fixtureData.url); - expect(loader['_queue'].length()).to.equal(1); + expect(loader['_queue'].length()).toEqual(1); const res = loader['_queue']._tasks[0].data; - expect(res).to.be.an.instanceOf(LoaderResource); - expect(res).to.have.property('name', fixtureData.url); - expect(res).to.have.property('url', fixtureData.url); + expect(res).toBeInstanceOf(LoaderResource); + expect(res).toHaveProperty('name', fixtureData.url); + expect(res).toHaveProperty('url', fixtureData.url); }); it('creates a resource with just an object (name/url keys) and callback param', () => { loader.add({ name, url: fixtureData.url }, callback); - expect(loader['_queue'].length()).to.equal(1); + expect(loader['_queue'].length()).toEqual(1); const res = loader['_queue']._tasks[0].data; - expect(res).to.be.an.instanceOf(LoaderResource); - expect(res).to.have.property('name', name); - expect(res).to.have.property('url', fixtureData.url); + expect(res).toBeInstanceOf(LoaderResource); + expect(res).toHaveProperty('name', name); + expect(res).toHaveProperty('url', fixtureData.url); - expect(res.onAfterMiddleware.handlers()) - .to.not.be.empty - .and.to.equal([callback]); + expect(res.onAfterMiddleware.handlers()).not.toHaveLength(0); + expect(res.onAfterMiddleware.handlers()[0]['_fn']).toEqual(callback); }); it('creates a resource with just an object (name/url/callback keys)', () => { loader.add({ name, url: fixtureData.url, onComplete: callback }); - expect(loader['_queue'].length()).to.equal(1); + expect(loader['_queue'].length()).toEqual(1); const res = loader['_queue']._tasks[0].data; - expect(res).to.be.an.instanceOf(LoaderResource); - expect(res).to.have.property('name', name); - expect(res).to.have.property('url', fixtureData.url); + expect(res).toBeInstanceOf(LoaderResource); + expect(res).toHaveProperty('name', name); + expect(res).toHaveProperty('url', fixtureData.url); - expect(res.onAfterMiddleware.handlers()) - .to.not.be.empty - .and.to.equal([callback]); + expect(res.onAfterMiddleware.handlers()).not.toHaveLength(0); + expect(res.onAfterMiddleware.handlers()[0]['_fn']).toEqual(callback); }); it('creates a resource with just an object (url/callback keys)', () => { loader.add({ url: fixtureData.url, onComplete: callback }); - expect(loader['_queue'].length()).to.equal(1); + expect(loader['_queue'].length()).toEqual(1); const res = loader['_queue']._tasks[0].data; - expect(res).to.be.an.instanceOf(LoaderResource); - expect(res).to.have.property('name', fixtureData.url); - expect(res).to.have.property('url', fixtureData.url); + expect(res).toBeInstanceOf(LoaderResource); + expect(res).toHaveProperty('name', fixtureData.url); + expect(res).toHaveProperty('url', fixtureData.url); - expect(res.onAfterMiddleware.handlers()) - .to.not.be.empty - .and.to.equal([callback]); + expect(res.onAfterMiddleware.handlers()).not.toHaveLength(0); + expect(res.onAfterMiddleware.handlers()[0]['_fn']).toEqual(callback); }); it('throws an error if url isn\'t passed', () => { - expect(loader.add).to.throw(Error); - expect(() => loader.add(options)).to.throw(Error); - expect(() => loader.add(callback as any)).to.throw(Error); - expect(() => loader.add(options, callback)).to.throw(Error); + expect(loader.add).toThrow(Error); + expect(() => loader.add(options)).toThrow(Error); + expect(() => loader.add(callback as any)).toThrow(Error); + expect(() => loader.add(options, callback)).toThrow(Error); }); it('throws an error if we are already loading and you have no parent resource', () => @@ -255,7 +253,7 @@ describe('Loader', () => loader.load(); - expect(() => loader.add(fixtureData.dataUrlGif)).to.throw(Error); + expect(() => loader.add(fixtureData.dataUrlGif)).toThrow(Error); }); }); @@ -265,7 +263,7 @@ describe('Loader', () => { loader.pre(() => { /* empty */ }); - expect(loader['_beforeMiddleware']).to.have.length(1); + expect(loader['_beforeMiddleware']).toHaveLength(1); }); }); @@ -275,7 +273,7 @@ describe('Loader', () => { loader.use(() => { /* empty */ }); - expect(loader['_afterMiddleware']).to.have.length(1); + expect(loader['_afterMiddleware']).toHaveLength(1); }); }); @@ -284,39 +282,39 @@ describe('Loader', () => it('should reset the loading state of the loader', () => { loader.loading = true; - expect(loader.loading).to.equal(true); + expect(loader.loading).toEqual(true); loader.reset(); - expect(loader.loading).to.equal(false); + expect(loader.loading).toEqual(false); }); it('should reset the progress of the loader', () => { loader.progress = 100; - expect(loader.progress).to.equal(100); + expect(loader.progress).toEqual(100); loader.reset(); - expect(loader.progress).to.equal(0); + expect(loader.progress).toEqual(0); }); it('should reset the queue/buffer of the loader', () => { loader['_queue'].push('me'); - expect(loader['_queue'].length()).to.equal(1); - expect(loader['_queue'].started).to.equal(true); + expect(loader['_queue'].length()).toEqual(1); + expect(loader['_queue'].started).toEqual(true); loader.reset(); - expect(loader['_queue'].length()).to.equal(0); - expect(loader['_queue'].started).to.equal(false); + expect(loader['_queue'].length()).toEqual(0); + expect(loader['_queue'].started).toEqual(false); }); it('should reset the resources of the loader', () => { loader.add(fixtureData.url); - expect(loader.resources).to.not.be.empty; + expect(loader.resources).not.toBeEmpty(); loader.reset(); - expect(loader.resources).to.be.empty; + expect(loader.resources).toBeEmpty(); }); it('with unloaded items continues to work', (done: () => void) => @@ -327,12 +325,12 @@ describe('Loader', () => setTimeout(() => { - const spy = sinon.spy(); + const spy = jest.fn(); loader.reset(); loader.add('hud2.json', spy).load(() => { - expect(spy).to.have.been.calledOnce; + expect(spy).toHaveBeenCalledOnce(); done(); }); }, 0); @@ -343,40 +341,40 @@ describe('Loader', () => { it('should call start/complete when add was not called', (done: () => void) => { - const spy = sinon.spy(); - const spy2 = sinon.spy(); + const spy = jest.fn(); + const spy2 = jest.fn(); loader.onStart.add(spy); loader.onComplete.add(spy2); loader.load(() => { - expect(spy).to.have.been.calledOnce; - expect(spy2).to.have.been.calledOnce; + expect(spy).toHaveBeenCalledOnce(); + expect(spy2).toHaveBeenCalledOnce(); done(); }); }); it('should call start/complete when given an empty set of resources', (done: () => void) => { - const spy = sinon.spy(); - const spy2 = sinon.spy(); + const spy = jest.fn(); + const spy2 = jest.fn(); loader.onStart.add(spy); loader.onComplete.add(spy2); loader.add([]).load(() => { - expect(spy).to.have.been.calledOnce; - expect(spy2).to.have.been.calledOnce; + expect(spy).toHaveBeenCalledOnce(); + expect(spy2).toHaveBeenCalledOnce(); done(); }); }); it('should run the `before` middleware, before loading a resource', (done: () => void) => { - const spy = sinon.spy((_res: any, next: any) => next()); - const spy2 = sinon.spy((_res: any, next: any) => next()); + const spy = jest.fn((_res: any, next: any) => next()); + const spy2 = jest.fn((_res: any, next: any) => next()); loader.pre(spy); loader.pre(spy2); @@ -385,20 +383,20 @@ describe('Loader', () => loader.load(() => { - expect(spy).to.have.been.calledOnce; - expect(spy2).to.have.been.calledOnce; + expect(spy).toHaveBeenCalledOnce(); + expect(spy2).toHaveBeenCalledOnce(); done(); }); }); it('should stop running the `before` middleware when one calls complete()', (done: () => void) => { - const spy = sinon.spy((res: any, next: any) => + const spy = jest.fn((res: any, next: any) => { res.complete(); next(); }); - const spy2 = sinon.spy((_res: any, next: any) => next()); + const spy2 = jest.fn((_res: any, next: any) => next()); loader.pre(spy); loader.pre(spy2); @@ -407,16 +405,16 @@ describe('Loader', () => loader.load(() => { - expect(spy).to.have.been.calledOnce; - expect(spy2).to.have.not.been.called; + expect(spy).toHaveBeenCalledOnce(); + expect(spy2).not.toHaveBeenCalled(); done(); }); }); it('should run the `after` middleware, after loading a resource', (done: () => void) => { - const spy = sinon.spy((_res: any, next: any) => next()); - const spy2 = sinon.spy((_res: any, next: any) => next()); + const spy = jest.fn((_res: any, next: any) => next()); + const spy2 = jest.fn((_res: any, next: any) => next()); loader.use(spy); loader.use(spy2); @@ -425,8 +423,8 @@ describe('Loader', () => loader.load(() => { - expect(spy).to.have.been.calledOnce; - expect(spy2).to.have.been.calledOnce; + expect(spy).toHaveBeenCalledOnce(); + expect(spy2).toHaveBeenCalledOnce(); done(); }); }); @@ -434,7 +432,7 @@ describe('Loader', () => it('should run `after` middleware for resources that have been completed in `before` middleware', (done: () => void) => { - const spy = sinon.spy((_res: any, next: any) => next()); + const spy = jest.fn((_res: any, next: any) => next()); loader .pre((res, next) => @@ -447,23 +445,23 @@ describe('Loader', () => .add(fixtureData.url) .load(() => { - expect(spy).to.have.been.calledTwice; + expect(spy).toBeCalledTimes(2); done(); }); }); it('should properly load the resource', (done: () => void) => { - const spy = sinon.spy((loader: Loader, resources: Dict) => + const spy = jest.fn((loader: Loader, resources: Dict) => { - expect(spy).to.have.been.calledOnce; - expect(loader.progress).to.equal(100); - expect(loader.loading).to.equal(false); - expect(loader.resources).to.equal(resources); + expect(spy).toHaveBeenCalledOnce(); + expect(loader.progress).toEqual(100); + expect(loader.loading).toEqual(false); + expect(loader.resources).toEqual(resources); - expect(resources).to.not.be.empty; - expect(resources.res).to.be.ok; - expect(resources.res.isComplete).to.be.true; + expect(resources).not.toBeEmpty(); + expect(resources.res).toBeTruthy(); + expect(resources.res.isComplete).toBe(true); done(); }); @@ -483,10 +481,10 @@ describe('Loader', () => const u3 = '//myshare/image.png'; const u4 = '//myshare/image.png?v=1#me'; - expect(loader['_prepareUrl'](u1)).to.equal(u1); - expect(loader['_prepareUrl'](u2)).to.equal(u2); - expect(loader['_prepareUrl'](u3)).to.equal(u3); - expect(loader['_prepareUrl'](u4)).to.equal(u4); + expect(loader['_prepareUrl'](u1)).toEqual(u1); + expect(loader['_prepareUrl'](u2)).toEqual(u2); + expect(loader['_prepareUrl'](u3)).toEqual(u3); + expect(loader['_prepareUrl'](u4)).toEqual(u4); }); it('should add the baseUrl for relative urls (no trailing slash on baseUrl)', () => @@ -497,10 +495,10 @@ describe('Loader', () => const u3 = 'image.png?v=1'; const u4 = '/image.png?v=1#me'; - expect(loader['_prepareUrl'](u1)).to.equal(`${b}/${u1}`); - expect(loader['_prepareUrl'](u2)).to.equal(`${b}${u2}`); - expect(loader['_prepareUrl'](u3)).to.equal(`${b}/${u3}`); - expect(loader['_prepareUrl'](u4)).to.equal(`${b}${u4}`); + expect(loader['_prepareUrl'](u1)).toEqual(`${b}/${u1}`); + expect(loader['_prepareUrl'](u2)).toEqual(`${b}${u2}`); + expect(loader['_prepareUrl'](u3)).toEqual(`${b}/${u3}`); + expect(loader['_prepareUrl'](u4)).toEqual(`${b}${u4}`); }); it('should add the baseUrl for relative urls (yes trailing slash on baseUrl)', () => @@ -511,10 +509,10 @@ describe('Loader', () => const u3 = 'image.png?v=1'; const u4 = '/image.png?v=1#me'; - expect(loader['_prepareUrl'](u1)).to.equal(`${b}${u1}`); - expect(loader['_prepareUrl'](u2)).to.equal(`${b}${u2}`); - expect(loader['_prepareUrl'](u3)).to.equal(`${b}${u3}`); - expect(loader['_prepareUrl'](u4)).to.equal(`${b}${u4}`); + expect(loader['_prepareUrl'](u1)).toEqual(`${b}${u1}`); + expect(loader['_prepareUrl'](u2)).toEqual(`${b}${u2}`); + expect(loader['_prepareUrl'](u3)).toEqual(`${b}${u3}`); + expect(loader['_prepareUrl'](u4)).toEqual(`${b}${u4}`); }); it('should add the queryString when set', () => @@ -526,10 +524,10 @@ describe('Loader', () => loader.defaultQueryString = 'u=me&p=secret'; expect(loader['_prepareUrl'](u1)) - .to.equal(`${b}/${u1}?${loader.defaultQueryString}`); + .toEqual(`${b}/${u1}?${loader.defaultQueryString}`); expect(loader['_prepareUrl'](u2)) - .to.equal(`${b}${u2}?${loader.defaultQueryString}`); + .toEqual(`${b}${u2}?${loader.defaultQueryString}`); }); it('should add the defaultQueryString when set', () => @@ -541,10 +539,10 @@ describe('Loader', () => loader.defaultQueryString = 'u=me&p=secret'; expect(loader['_prepareUrl'](u1)) - .to.equal(`${b}/${u1}?${loader.defaultQueryString}`); + .toEqual(`${b}/${u1}?${loader.defaultQueryString}`); expect(loader['_prepareUrl'](u2)) - .to.equal(`${b}${u2}?${loader.defaultQueryString}`); + .toEqual(`${b}${u2}?${loader.defaultQueryString}`); }); it('should add the defaultQueryString when if querystring already exists', () => @@ -555,7 +553,7 @@ describe('Loader', () => loader.defaultQueryString = 'u=me&p=secret'; expect(loader['_prepareUrl'](u1)) - .to.equal(`${b}/${u1}&${loader.defaultQueryString}`); + .toEqual(`${b}/${u1}&${loader.defaultQueryString}`); }); it('should add the defaultQueryString when hash exists', () => @@ -565,7 +563,7 @@ describe('Loader', () => loader.defaultQueryString = 'u=me&p=secret'; expect(loader['_prepareUrl']('/image.png#me')) - .to.equal(`${b}/image.png?${loader.defaultQueryString}#me`); + .toEqual(`${b}/image.png?${loader.defaultQueryString}#me`); }); it('should add the defaultQueryString when querystring and hash exists', () => @@ -575,7 +573,7 @@ describe('Loader', () => loader.defaultQueryString = 'u=me&p=secret'; expect(loader['_prepareUrl']('/image.png?v=1#me')) - .to.equal(`${b}/image.png?v=1&${loader.defaultQueryString}#me`); + .toEqual(`${b}/image.png?v=1&${loader.defaultQueryString}#me`); }); }); @@ -583,7 +581,7 @@ describe('Loader', () => { it('should run the before middleware before loading the resource', (done: () => void) => { - const spy = sinon.spy(); + const spy = jest.fn(); const res = {} as LoaderResource; loader.pre(spy); @@ -592,9 +590,8 @@ describe('Loader', () => setTimeout(() => { - expect(spy).to.have.been.calledOnce - .and.calledOn(loader) - .and.calledWith(res); + expect(spy).toBeCalledTimes(1); + expect(spy.mock.calls[0][0]).toBe(res); done(); }, 16); @@ -604,11 +601,11 @@ describe('Loader', () => { const res = new LoaderResource('mock', fixtureData.url); - res.load = sinon.spy(); + res.load = jest.fn(); loader['_loadResource'](res, null); - expect(res.load).to.have.been.calledOnce; + expect(res.load).toHaveBeenCalledOnce(); }); }); @@ -618,7 +615,7 @@ describe('Loader', () => { loader.onStart.add((_l) => { - expect(_l).to.equal(loader); + expect(_l).toEqual(loader); done(); }); @@ -633,8 +630,8 @@ describe('Loader', () => { loader.onComplete.add((_l, resources) => { - expect(_l).to.equal(loader); - expect(resources).to.equal(loader.resources); + expect(_l).toEqual(loader); + expect(resources).toEqual(loader.resources); done(); }); @@ -648,23 +645,23 @@ describe('Loader', () => it('should emit the `progress` event', () => { const res = new LoaderResource('mock', fixtureData.url); - const spy = sinon.spy(); + const spy = jest.fn(); - res._dequeue = sinon.spy(); + res._dequeue = jest.fn(); loader.onProgress.once(spy); loader['_onLoad'](res); - expect(spy).to.have.been.calledOnce; + expect(spy).toHaveBeenCalledOnce(); }); it('should emit the `error` event when the resource has an error', () => { const res = new LoaderResource('mock', fixtureData.url); - const spy = sinon.spy(); + const spy = jest.fn(); - res._dequeue = sinon.spy(); + res._dequeue = jest.fn(); res.error = new Error('mock error'); @@ -672,29 +669,29 @@ describe('Loader', () => loader['_onLoad'](res); - expect(spy).to.have.been.calledOnce; + expect(spy).toHaveBeenCalledOnce(); }); it('should emit the `load` event when the resource loads successfully', () => { const res = new LoaderResource('mock', fixtureData.url); - const spy = sinon.spy(); + const spy = jest.fn(); - res._dequeue = sinon.spy(); + res._dequeue = jest.fn(); loader.onLoad.once(spy); loader['_onLoad'](res); - expect(spy).to.have.been.calledOnce; + expect(spy).toHaveBeenCalledOnce(); }); it('should run the after middleware', (done: () => void) => { - const spy = sinon.spy(); + const spy = jest.fn(); const res: any = {}; - res._dequeue = sinon.spy(); + res._dequeue = jest.fn(); loader.use(spy); @@ -702,9 +699,8 @@ describe('Loader', () => setTimeout(() => { - expect(spy).to.have.been.calledOnce - .and.calledOn(loader) - .and.calledWith(res); + expect(spy).toBeCalledTimes(1); + expect(spy.mock.calls[0][0]).toBe(res); done(); }, 16); @@ -722,13 +718,13 @@ describe('Loader', () => { name: 'hud2', url: 'hud2.png' }, ]); - const spy = sinon.spy(); + const spy = jest.fn(); loader.onProgress.add(spy); loader.load(() => { - expect(spy).to.have.been.calledTwice; + expect(spy).toBeCalledTimes(2); done(); }); }); @@ -742,13 +738,13 @@ describe('Loader', () => { name: 'hud2', url: 'hud2.png' }, ]); - const spy = sinon.spy(); + const spy = jest.fn(); loader.onProgress.add(spy); loader.load(() => { - expect(spy).to.have.been.calledTwice; + expect(spy).toBeCalledTimes(2); done(); }); }); @@ -768,20 +764,20 @@ describe('Loader', () => loader.onProgress.add((loader) => { i++; - expect(loader.progress).to.be.above(0); + expect(loader.progress).toBeGreaterThan(0); if (i === total) { - expect(loader.progress).to.be.at.most(100); + expect(loader.progress).toBeLessThanOrEqual(100); } else { - expect(loader.progress).to.be.below(100); + expect(loader.progress).toBeLessThan(100); } }); loader.load(() => { - expect(loader).to.have.property('progress', 100); + expect(loader).toHaveProperty('progress', 100); done(); }); }); @@ -795,7 +791,7 @@ describe('Loader', () => loader.load(() => { - expect(loader).to.have.property('progress', 100); + expect(loader).toHaveProperty('progress', 100); done(); }); }); @@ -812,13 +808,13 @@ describe('Loader', () => loader.use(spritesheetMiddleware()); - const spy = sinon.spy(); + const spy = jest.fn(); loader.onProgress.add(spy); loader.load(() => { - expect(spy).to.have.been.calledThrice; + expect(spy).toBeCalledTimes(3); done(); }); }); @@ -834,13 +830,13 @@ describe('Loader', () => loader.use(spritesheetMiddleware()); - const spy = sinon.spy(); + const spy = jest.fn(); loader.onProgress.add(spy); loader.load(() => { - expect(spy).to.have.been.calledThrice; + expect(spy).toBeCalledTimes(3); done(); }); }); @@ -859,12 +855,12 @@ describe('Loader', () => loader.onProgress.add((loader) => { - expect(loader).to.have.property('progress', expectedProgressValues[i++]); + expect(loader).toHaveProperty('progress', expectedProgressValues[i++]); }); loader.load(() => { - expect(loader).to.have.property('progress', 100); + expect(loader).toHaveProperty('progress', 100); done(); }); }); @@ -880,7 +876,7 @@ describe('Loader', () => loader.load(() => { - expect(loader).to.have.property('progress', 100); + expect(loader).toHaveProperty('progress', 100); done(); }); }); @@ -897,13 +893,13 @@ describe('Loader', () => loader.use(spritesheetMiddleware()); - const spy = sinon.spy(); + const spy = jest.fn(); loader.onProgress.add(spy); loader.load(() => { - expect(spy).to.have.callCount(4); + expect(spy).toBeCalledTimes(4); done(); }); }); @@ -922,12 +918,12 @@ describe('Loader', () => loader.onProgress.add((loader) => { - expect(loader).to.have.property('progress', expectedProgressValues[i++]); + expect(loader).toHaveProperty('progress', expectedProgressValues[i++]); }); loader.load(() => { - expect(loader).to.have.property('progress', 100); + expect(loader).toHaveProperty('progress', 100); done(); }); }); @@ -943,7 +939,7 @@ describe('Loader', () => loader.load(() => { - expect(loader).to.have.property('progress', 100); + expect(loader).toHaveProperty('progress', 100); done(); }); }); diff --git a/packages/loaders/test/LoaderResource.test.ts b/packages/loaders/test/LoaderResource.test.ts index 15f48bbd7b..3cbb45d821 100644 --- a/packages/loaders/test/LoaderResource.test.ts +++ b/packages/loaders/test/LoaderResource.test.ts @@ -1,3 +1,5 @@ +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-nocheck /* eslint-disable @typescript-eslint/no-unused-expressions */ import sinon from 'sinon'; import { IResourceMetadata, LoaderResource } from '@pixi/loaders'; diff --git a/packages/loaders/test/TextureLoader.tests.ts b/packages/loaders/test/TextureLoader.tests.ts index 8176b7a6b5..6394bb6346 100644 --- a/packages/loaders/test/TextureLoader.tests.ts +++ b/packages/loaders/test/TextureLoader.tests.ts @@ -1,26 +1,24 @@ import { TextureLoader, LoaderResource } from '@pixi/loaders'; import { Texture } from '@pixi/core'; import { BaseTextureCache, TextureCache } from '@pixi/utils'; -import sinon from 'sinon'; -import { expect } from 'chai'; describe('TextureLoader', () => { it('should exist and return a function', () => { - expect(TextureLoader).to.not.be.undefined; - expect(TextureLoader.use).to.be.a('function'); + expect(TextureLoader).toBeDefined(); + expect(TextureLoader.use).toBeInstanceOf(Function); }); it('should do nothing if the resource is not an image', () => { - const spy = sinon.spy(); + const spy = jest.fn(); const res = {} as LoaderResource; TextureLoader.use(res, spy); - expect(spy).to.have.been.calledOnce; - expect(res.texture).to.be.undefined; + expect(spy).toHaveBeenCalledOnce(); + expect(res.texture).toBeUndefined(); }); it('should create a texture if resource is an image', (done) => @@ -37,13 +35,13 @@ describe('TextureLoader', () => TextureLoader.use(res, () => { - expect(res.texture).to.be.an.instanceof(Texture); + expect(res.texture).toBeInstanceOf(Texture); - expect(BaseTextureCache).to.have.property(res.name, res.texture.baseTexture); - expect(BaseTextureCache).to.have.property(res.url, res.texture.baseTexture); + expect(BaseTextureCache).toHaveProperty(res.name, res.texture.baseTexture); + expect(BaseTextureCache).toHaveProperty(res.url, res.texture.baseTexture); - expect(TextureCache).to.have.property(res.name, res.texture); - expect(TextureCache).to.have.property(res.url, res.texture); + expect(TextureCache).toHaveProperty(res.name, res.texture); + expect(TextureCache).toHaveProperty(res.url, res.texture); done(); }); diff --git a/packages/math-extras/test/Point.tests.ts b/packages/math-extras/test/Point.tests.ts index 92bfed1eb8..adc8a3ad5a 100644 --- a/packages/math-extras/test/Point.tests.ts +++ b/packages/math-extras/test/Point.tests.ts @@ -1,5 +1,5 @@ import { ObservablePoint, Point } from '@pixi/math'; -import { expect } from 'chai'; + import '@pixi/math-extras'; describe('Point', () => @@ -13,16 +13,16 @@ describe('Point', () => const b = new Point(3, 4); const c = a.add(b); - expect(c.x).to.equal(4); - expect(c.y).to.equal(6); + expect(c.x).toEqual(4); + expect(c.y).toEqual(6); // ObservablePoint const oa = new ObservablePoint(() => { /* empty */ }, {}, 1, 2); const ob = new ObservablePoint(() => { /* empty */ }, {}, 3, 4); const oc = oa.add(ob); - expect(oc.x).to.equal(4); - expect(oc.y).to.equal(6); + expect(oc.x).toEqual(4); + expect(oc.y).toEqual(6); }); it('should return the same reference given', () => @@ -32,14 +32,14 @@ describe('Point', () => const b = new Point(3, 4); const c = a.add(b, a); - expect(c).to.equal(a); + expect(c).toEqual(a); // ObservablePoint const oa = new ObservablePoint(() => { /* empty */ }, {}, 1, 2); const ob = new ObservablePoint(() => { /* empty */ }, {}, 3, 4); const oc = oa.add(ob, oa); - expect(oc).to.equal(oa); + expect(oc).toEqual(oa); }); it('can output into any IPointData given', () => @@ -49,16 +49,16 @@ describe('Point', () => const b = new Point(3, 4); const c = a.add(b, { x: 0, y: 0 }); - expect(c.x).to.equal(4); - expect(c.y).to.equal(6); + expect(c.x).toEqual(4); + expect(c.y).toEqual(6); // ObservablePoint const oa = new ObservablePoint(() => { /* empty */ }, {}, 1, 2); const ob = new ObservablePoint(() => { /* empty */ }, {}, 3, 4); const oc = oa.add(ob, { x: 0, y: 0 }); - expect(oc.x).to.equal(4); - expect(oc.y).to.equal(6); + expect(oc.x).toEqual(4); + expect(oc.y).toEqual(6); }); it('can take any IPointData as other input', () => @@ -67,15 +67,15 @@ describe('Point', () => const a = new Point(1, 2); const c = a.add({ x: 3, y: 4 }); - expect(c.x).to.equal(4); - expect(c.y).to.equal(6); + expect(c.x).toEqual(4); + expect(c.y).toEqual(6); // ObservablePoint const oa = new ObservablePoint(() => { /* empty */ }, {}, 1, 2); const oc = oa.add({ x: 3, y: 4 }); - expect(oc.x).to.equal(4); - expect(oc.y).to.equal(6); + expect(oc.x).toEqual(4); + expect(oc.y).toEqual(6); }); }); @@ -88,16 +88,16 @@ describe('Point', () => const b = new Point(3, 4); const c = a.subtract(b); - expect(c.x).to.equal(-2); - expect(c.y).to.equal(-2); + expect(c.x).toEqual(-2); + expect(c.y).toEqual(-2); // ObservablePoint const oa = new ObservablePoint(() => { /* empty */ }, {}, 1, 2); const ob = new ObservablePoint(() => { /* empty */ }, {}, 3, 4); const oc = oa.subtract(ob); - expect(oc.x).to.equal(-2); - expect(oc.y).to.equal(-2); + expect(oc.x).toEqual(-2); + expect(oc.y).toEqual(-2); }); it('should return the same reference given', () => @@ -107,14 +107,14 @@ describe('Point', () => const b = new Point(3, 4); const c = a.subtract(b, a); - expect(c).to.equal(a); + expect(c).toEqual(a); // ObservablePoint const oa = new ObservablePoint(() => { /* empty */ }, {}, 1, 2); const ob = new ObservablePoint(() => { /* empty */ }, {}, 3, 4); const oc = oa.subtract(ob, oa); - expect(oc).to.equal(oa); + expect(oc).toEqual(oa); }); it('can output into any IPointData given', () => @@ -124,16 +124,16 @@ describe('Point', () => const b = new Point(3, 4); const c = a.subtract(b, { x: 0, y: 0 }); - expect(c.x).to.equal(-2); - expect(c.y).to.equal(-2); + expect(c.x).toEqual(-2); + expect(c.y).toEqual(-2); // ObservablePoint const oa = new ObservablePoint(() => { /* empty */ }, {}, 1, 2); const ob = new ObservablePoint(() => { /* empty */ }, {}, 3, 4); const oc = oa.subtract(ob, { x: 0, y: 0 }); - expect(oc.x).to.equal(-2); - expect(oc.y).to.equal(-2); + expect(oc.x).toEqual(-2); + expect(oc.y).toEqual(-2); }); it('can take any IPointData as other input', () => @@ -142,15 +142,15 @@ describe('Point', () => const a = new Point(1, 2); const c = a.subtract({ x: 3, y: 4 }); - expect(c.x).to.equal(-2); - expect(c.y).to.equal(-2); + expect(c.x).toEqual(-2); + expect(c.y).toEqual(-2); // ObservablePoint const oa = new ObservablePoint(() => { /* empty */ }, {}, 1, 2); const oc = oa.subtract({ x: 3, y: 4 }); - expect(oc.x).to.equal(-2); - expect(oc.y).to.equal(-2); + expect(oc.x).toEqual(-2); + expect(oc.y).toEqual(-2); }); }); @@ -163,16 +163,16 @@ describe('Point', () => const b = new Point(3, 4); const c = a.multiply(b); - expect(c.x).to.equal(3); - expect(c.y).to.equal(8); + expect(c.x).toEqual(3); + expect(c.y).toEqual(8); // ObservablePoint const oa = new ObservablePoint(() => { /* empty */ }, {}, 1, 2); const ob = new ObservablePoint(() => { /* empty */ }, {}, 3, 4); const oc = oa.multiply(ob); - expect(oc.x).to.equal(3); - expect(oc.y).to.equal(8); + expect(oc.x).toEqual(3); + expect(oc.y).toEqual(8); }); it('should return the same reference given', () => @@ -182,14 +182,14 @@ describe('Point', () => const b = new Point(3, 4); const c = a.multiply(b, a); - expect(c).to.equal(a); + expect(c).toEqual(a); // ObservablePoint const oa = new ObservablePoint(() => { /* empty */ }, {}, 1, 2); const ob = new ObservablePoint(() => { /* empty */ }, {}, 3, 4); const oc = oa.multiply(ob, oa); - expect(oc).to.equal(oa); + expect(oc).toEqual(oa); }); it('can output into any IPointData given', () => @@ -199,16 +199,16 @@ describe('Point', () => const b = new Point(3, 4); const c = a.multiply(b, { x: 0, y: 0 }); - expect(c.x).to.equal(3); - expect(c.y).to.equal(8); + expect(c.x).toEqual(3); + expect(c.y).toEqual(8); // ObservablePoint const oa = new ObservablePoint(() => { /* empty */ }, {}, 1, 2); const ob = new ObservablePoint(() => { /* empty */ }, {}, 3, 4); const oc = oa.multiply(ob, { x: 0, y: 0 }); - expect(oc.x).to.equal(3); - expect(oc.y).to.equal(8); + expect(oc.x).toEqual(3); + expect(oc.y).toEqual(8); }); it('can take any IPointData as other input', () => @@ -217,15 +217,15 @@ describe('Point', () => const a = new Point(1, 2); const c = a.multiply({ x: 3, y: 4 }); - expect(c.x).to.equal(3); - expect(c.y).to.equal(8); + expect(c.x).toEqual(3); + expect(c.y).toEqual(8); // ObservablePoint const oa = new ObservablePoint(() => { /* empty */ }, {}, 1, 2); const oc = oa.multiply({ x: 3, y: 4 }); - expect(oc.x).to.equal(3); - expect(oc.y).to.equal(8); + expect(oc.x).toEqual(3); + expect(oc.y).toEqual(8); }); }); @@ -237,15 +237,15 @@ describe('Point', () => const a = new Point(1, 2); const c = a.multiplyScalar(3); - expect(c.x).to.equal(3); - expect(c.y).to.equal(6); + expect(c.x).toEqual(3); + expect(c.y).toEqual(6); // ObservablePoint const oa = new ObservablePoint(() => { /* empty */ }, {}, 1, 2); const oc = oa.multiplyScalar(3); - expect(oc.x).to.equal(3); - expect(oc.y).to.equal(6); + expect(oc.x).toEqual(3); + expect(oc.y).toEqual(6); }); it('should return the same reference given', () => @@ -254,13 +254,13 @@ describe('Point', () => const a = new Point(1, 2); const c = a.multiplyScalar(3, a); - expect(c).to.equal(a); + expect(c).toEqual(a); // ObservablePoint const oa = new ObservablePoint(() => { /* empty */ }, {}, 1, 2); const oc = oa.multiplyScalar(3, oa); - expect(oc).to.equal(oa); + expect(oc).toEqual(oa); }); it('can output into any IPointData given', () => @@ -269,15 +269,15 @@ describe('Point', () => const a = new Point(1, 2); const c = a.multiplyScalar(3, { x: 0, y: 0 }); - expect(c.x).to.equal(3); - expect(c.y).to.equal(6); + expect(c.x).toEqual(3); + expect(c.y).toEqual(6); // ObservablePoint const oa = new ObservablePoint(() => { /* empty */ }, {}, 1, 2); const oc = oa.multiplyScalar(3, { x: 0, y: 0 }); - expect(oc.x).to.equal(3); - expect(oc.y).to.equal(6); + expect(oc.x).toEqual(3); + expect(oc.y).toEqual(6); }); }); @@ -290,14 +290,14 @@ describe('Point', () => const b = new Point(3, 4); const c = a.dot(b); - expect(c).to.equal(11); + expect(c).toEqual(11); // ObservablePoint const oa = new ObservablePoint(() => { /* empty */ }, {}, 1, 2); const ob = new ObservablePoint(() => { /* empty */ }, {}, 3, 4); const oc = oa.dot(ob); - expect(oc).to.equal(11); + expect(oc).toEqual(11); }); }); @@ -310,14 +310,14 @@ describe('Point', () => const b = new Point(3, 4); const c = a.cross(b); - expect(c).to.equal(-2); + expect(c).toEqual(-2); // ObservablePoint const oa = new ObservablePoint(() => { /* empty */ }, {}, 1, 2); const ob = new ObservablePoint(() => { /* empty */ }, {}, 3, 4); const oc = oa.cross(ob); - expect(oc).to.equal(-2); + expect(oc).toEqual(-2); }); }); @@ -331,7 +331,7 @@ describe('Point', () => const magnitude = Math.sqrt((c.x * c.x) + (c.y * c.y)); - expect(magnitude).to.be.closeTo(1, 0.001); + expect(magnitude).toBeCloseTo(1, 0.001); // ObservablePoint const oa = new ObservablePoint(() => { /* empty */ }, {}, 3, 4); @@ -339,7 +339,7 @@ describe('Point', () => const omagnitude = Math.sqrt((oc.x * oc.x) + (oc.y * oc.y)); - expect(omagnitude).to.be.closeTo(1, 0.001); + expect(omagnitude).toBeCloseTo(1, 0.001); }); it('should return the same reference given', () => @@ -348,13 +348,13 @@ describe('Point', () => const a = new Point(3, 4); const c = a.normalize(a); - expect(c).to.equal(a); + expect(c).toEqual(a); // ObservablePoint const oa = new ObservablePoint(() => { /* empty */ }, {}, 3, 4); const oc = oa.normalize(oa); - expect(oc).to.equal(oa); + expect(oc).toEqual(oa); }); it('can output into any IPointData given', () => @@ -365,7 +365,7 @@ describe('Point', () => const magnitude = Math.sqrt((c.x * c.x) + (c.y * c.y)); - expect(magnitude).to.be.closeTo(1, 0.001); + expect(magnitude).toBeCloseTo(1, 0.001); // ObservablePoint const oa = new ObservablePoint(() => { /* empty */ }, {}, 1, 2); @@ -373,7 +373,7 @@ describe('Point', () => const omagnitude = Math.sqrt((oc.x * oc.x) + (oc.y * oc.y)); - expect(omagnitude).to.be.closeTo(1, 0.001); + expect(omagnitude).toBeCloseTo(1, 0.001); }); }); @@ -386,13 +386,13 @@ describe('Point', () => const a = new Point(3, 4); const c = a.magnitude(); - expect(c).to.be.closeTo(expectedMagnitude, 0.001); + expect(c).toBeCloseTo(expectedMagnitude, 0.001); // ObservablePoint const oa = new ObservablePoint(() => { /* empty */ }, {}, 3, 4); const oc = oa.magnitude(); - expect(oc).to.be.closeTo(expectedMagnitude, 0.001); + expect(oc).toBeCloseTo(expectedMagnitude, 0.001); }); it('should return the sum of the squares of each component', () => @@ -402,13 +402,13 @@ describe('Point', () => const a = new Point(3, 4); const c = a.magnitudeSquared(); - expect(c).to.be.closeTo(expectedMagnitudeSquared, 0.001); + expect(c).toBeCloseTo(expectedMagnitudeSquared, 0.001); // ObservablePoint const oa = new ObservablePoint(() => { /* empty */ }, {}, 3, 4); const oc = oa.magnitudeSquared(); - expect(oc).to.equal(expectedMagnitudeSquared); + expect(oc).toEqual(expectedMagnitudeSquared); }); }); @@ -421,16 +421,16 @@ describe('Point', () => const b = new Point(3, 4); const c = a.project(b); - expect(c.x).to.be.closeTo(33 / 25, 0.001); - expect(c.y).to.be.closeTo(44 / 25, 0.001); + expect(c.x).toBeCloseTo(33 / 25, 0.001); + expect(c.y).toBeCloseTo(44 / 25, 0.001); // ObservablePoint const oa = new ObservablePoint(() => { /* empty */ }, {}, 1, 2); const ob = new ObservablePoint(() => { /* empty */ }, {}, 3, 4); const oc = oa.project(ob); - expect(oc.x).to.be.closeTo(33 / 25, 0.001); - expect(oc.y).to.be.closeTo(44 / 25, 0.001); + expect(oc.x).toBeCloseTo(33 / 25, 0.001); + expect(oc.y).toBeCloseTo(44 / 25, 0.001); }); it('should return the same reference given', () => @@ -440,14 +440,14 @@ describe('Point', () => const b = new Point(3, 4); const c = a.project(b, a); - expect(c).to.equal(a); + expect(c).toEqual(a); // ObservablePoint const oa = new ObservablePoint(() => { /* empty */ }, {}, 1, 2); const ob = new ObservablePoint(() => { /* empty */ }, {}, 3, 4); const oc = oa.project(ob, oa); - expect(oc).to.equal(oa); + expect(oc).toEqual(oa); }); it('can output into any IPointData given', () => @@ -457,16 +457,16 @@ describe('Point', () => const b = new Point(3, 4); const c = a.project(b, { x: 0, y: 0 }); - expect(c.x).to.be.closeTo(33 / 25, 0.001); - expect(c.y).to.be.closeTo(44 / 25, 0.001); + expect(c.x).toBeCloseTo(33 / 25, 0.001); + expect(c.y).toBeCloseTo(44 / 25, 0.001); // ObservablePoint const oa = new ObservablePoint(() => { /* empty */ }, {}, 1, 2); const ob = new ObservablePoint(() => { /* empty */ }, {}, 3, 4); const oc = oa.project(ob, { x: 0, y: 0 }); - expect(oc.x).to.be.closeTo(33 / 25, 0.001); - expect(oc.y).to.be.closeTo(44 / 25, 0.001); + expect(oc.x).toBeCloseTo(33 / 25, 0.001); + expect(oc.y).toBeCloseTo(44 / 25, 0.001); }); it('can take any IPointData as other input', () => @@ -475,15 +475,15 @@ describe('Point', () => const a = new Point(1, 2); const c = a.project({ x: 3, y: 4 }); - expect(c.x).to.be.closeTo(33 / 25, 0.001); - expect(c.y).to.be.closeTo(44 / 25, 0.001); + expect(c.x).toBeCloseTo(33 / 25, 0.001); + expect(c.y).toBeCloseTo(44 / 25, 0.001); // ObservablePoint const oa = new ObservablePoint(() => { /* empty */ }, {}, 1, 2); const oc = oa.project({ x: 3, y: 4 }); - expect(oc.x).to.be.closeTo(33 / 25, 0.001); - expect(oc.y).to.be.closeTo(44 / 25, 0.001); + expect(oc.x).toBeCloseTo(33 / 25, 0.001); + expect(oc.y).toBeCloseTo(44 / 25, 0.001); }); }); @@ -496,16 +496,16 @@ describe('Point', () => const b = new Point(3, 4); const c = a.reflect(b); - expect(c.x).to.equal(-65); - expect(c.y).to.equal(-86); + expect(c.x).toEqual(-65); + expect(c.y).toEqual(-86); // ObservablePoint const oa = new ObservablePoint(() => { /* empty */ }, {}, 1, 2); const ob = new ObservablePoint(() => { /* empty */ }, {}, 3, 4); const oc = oa.reflect(ob); - expect(oc.x).to.equal(-65); - expect(oc.y).to.equal(-86); + expect(oc.x).toEqual(-65); + expect(oc.y).toEqual(-86); }); it('should return the same reference given', () => @@ -515,14 +515,14 @@ describe('Point', () => const b = new Point(3, 4); const c = a.reflect(b, a); - expect(c).to.equal(a); + expect(c).toEqual(a); // ObservablePoint const oa = new ObservablePoint(() => { /* empty */ }, {}, 1, 2); const ob = new ObservablePoint(() => { /* empty */ }, {}, 3, 4); const oc = oa.reflect(ob, oa); - expect(oc).to.equal(oa); + expect(oc).toEqual(oa); }); it('can output into any IPointData given', () => @@ -532,16 +532,16 @@ describe('Point', () => const b = new Point(3, 4); const c = a.reflect(b, { x: 0, y: 0 }); - expect(c.x).to.equal(-65); - expect(c.y).to.equal(-86); + expect(c.x).toEqual(-65); + expect(c.y).toEqual(-86); // ObservablePoint const oa = new ObservablePoint(() => { /* empty */ }, {}, 1, 2); const ob = new ObservablePoint(() => { /* empty */ }, {}, 3, 4); const oc = oa.reflect(ob, { x: 0, y: 0 }); - expect(oc.x).to.equal(-65); - expect(oc.y).to.equal(-86); + expect(oc.x).toEqual(-65); + expect(oc.y).toEqual(-86); }); it('can take any IPointData as other input', () => @@ -550,15 +550,15 @@ describe('Point', () => const a = new Point(1, 2); const c = a.reflect({ x: 3, y: 4 }); - expect(c.x).to.equal(-65); - expect(c.y).to.equal(-86); + expect(c.x).toEqual(-65); + expect(c.y).toEqual(-86); // ObservablePoint const oa = new ObservablePoint(() => { /* empty */ }, {}, 1, 2); const oc = oa.reflect({ x: 3, y: 4 }); - expect(oc.x).to.equal(-65); - expect(oc.y).to.equal(-86); + expect(oc.x).toEqual(-65); + expect(oc.y).toEqual(-86); }); }); }); diff --git a/packages/math-extras/test/Rectangle.tests.ts b/packages/math-extras/test/Rectangle.tests.ts index 082ad5eecc..b22a6c325e 100644 --- a/packages/math-extras/test/Rectangle.tests.ts +++ b/packages/math-extras/test/Rectangle.tests.ts @@ -1,5 +1,5 @@ import { Rectangle } from '@pixi/math'; -import { expect } from 'chai'; + import '@pixi/math-extras'; describe('Rectangle', () => @@ -25,23 +25,23 @@ describe('Rectangle', () => const d = new Rectangle(150, 50, 0, 0); // a contains c - expect(a.containsRect(c)).to.equal(true); + expect(a.containsRect(c)).toEqual(true); // but c doesn't contain a - expect(c.containsRect(a)).to.equal(false); + expect(c.containsRect(a)).toEqual(false); // b doesn't contain c - expect(a.containsRect(b)).to.equal(false); + expect(a.containsRect(b)).toEqual(false); // B contains D. An empty rectangle **CAN** be contained - expect(b.containsRect(d)).to.equal(true); + expect(b.containsRect(d)).toEqual(true); // Any rectangle with area contains itself - expect(a.containsRect(a.clone())).to.equal(true); - expect(b.containsRect(b.clone())).to.equal(true); - expect(c.containsRect(c.clone())).to.equal(true); + expect(a.containsRect(a.clone())).toEqual(true); + expect(b.containsRect(b.clone())).toEqual(true); + expect(c.containsRect(c.clone())).toEqual(true); // An empty rectangle can't contain anything, thus it can't contain itself - expect(d.containsRect(d.clone())).to.equal(false); + expect(d.containsRect(d.clone())).toEqual(false); }); }); @@ -54,17 +54,17 @@ describe('Rectangle', () => const c = new Rectangle(50, 50, 100, 100); // a is equal to b - expect(a.equals(b)).to.equal(true); + expect(a.equals(b)).toEqual(true); // thus b is equal to a - expect(b.equals(a)).to.equal(true); + expect(b.equals(a)).toEqual(true); // c is not equal to a - expect(a.equals(c)).to.equal(false); + expect(a.equals(c)).toEqual(false); // any point is equal to themselves - expect(a.equals(a.clone())).to.equal(true); - expect(b.equals(b.clone())).to.equal(true); - expect(c.equals(c.clone())).to.equal(true); + expect(a.equals(a.clone())).toEqual(true); + expect(b.equals(b.clone())).toEqual(true); + expect(c.equals(c.clone())).toEqual(true); }); }); describe('intersection', () => @@ -93,31 +93,31 @@ describe('Rectangle', () => const intersectingEmpty = b.intersection(empty); const emptyIntersectsItself = empty.intersection(empty); - expect(d.x).to.equal(50); - expect(d.y).to.equal(50); - expect(d.width).to.equal(50); - expect(d.height).to.equal(50); + expect(d.x).toEqual(50); + expect(d.y).toEqual(50); + expect(d.width).toEqual(50); + expect(d.height).toEqual(50); - expect(e.x).to.equal(0); - expect(e.y).to.equal(0); - expect(e.width).to.equal(0); - expect(e.height).to.equal(0); + expect(e.x).toEqual(0); + expect(e.y).toEqual(0); + expect(e.width).toEqual(0); + expect(e.height).toEqual(0); // empty rectangles can't intersect or be intersected - expect(emptyIntersects.x).to.equal(0); - expect(emptyIntersects.y).to.equal(0); - expect(emptyIntersects.width).to.equal(0); - expect(emptyIntersects.height).to.equal(0); - - expect(intersectingEmpty.x).to.equal(0); - expect(intersectingEmpty.y).to.equal(0); - expect(intersectingEmpty.width).to.equal(0); - expect(intersectingEmpty.height).to.equal(0); - - expect(emptyIntersectsItself.x).to.equal(0); - expect(emptyIntersectsItself.y).to.equal(0); - expect(emptyIntersectsItself.width).to.equal(0); - expect(emptyIntersectsItself.height).to.equal(0); + expect(emptyIntersects.x).toEqual(0); + expect(emptyIntersects.y).toEqual(0); + expect(emptyIntersects.width).toEqual(0); + expect(emptyIntersects.height).toEqual(0); + + expect(intersectingEmpty.x).toEqual(0); + expect(intersectingEmpty.y).toEqual(0); + expect(intersectingEmpty.width).toEqual(0); + expect(intersectingEmpty.height).toEqual(0); + + expect(emptyIntersectsItself.x).toEqual(0); + expect(emptyIntersectsItself.y).toEqual(0); + expect(emptyIntersectsItself.width).toEqual(0); + expect(emptyIntersectsItself.height).toEqual(0); }); it('should return the same reference given', () => @@ -126,7 +126,7 @@ describe('Rectangle', () => const b = new Rectangle(50, 50, 100, 100); const c = a.intersection(b, a); - expect(c).to.equal(a); + expect(c).toEqual(a); }); }); @@ -139,10 +139,10 @@ describe('Rectangle', () => const b = new Rectangle(50, 50, 100, 100); const c = a.union(b); - expect(c.x).to.equal(0); - expect(c.y).to.equal(0); - expect(c.width).to.equal(150); - expect(c.height).to.equal(150); + expect(c.x).toEqual(0); + expect(c.y).toEqual(0); + expect(c.width).toEqual(150); + expect(c.height).toEqual(150); }); it('should return the same reference given', () => @@ -151,7 +151,7 @@ describe('Rectangle', () => const b = new Rectangle(50, 50, 100, 100); const c = a.union(b, a); - expect(c).to.equal(a); + expect(c).toEqual(a); }); it('should return the same values as enalrge()', @@ -164,10 +164,10 @@ describe('Rectangle', () => enlarged.enlarge(b); - expect(c.x).to.equal(enlarged.x); - expect(c.y).to.equal(enlarged.y); - expect(c.width).to.equal(enlarged.width); - expect(c.height).to.equal(enlarged.height); + expect(c.x).toEqual(enlarged.x); + expect(c.y).toEqual(enlarged.y); + expect(c.width).toEqual(enlarged.width); + expect(c.height).toEqual(enlarged.height); }); }); }); diff --git a/packages/math-extras/test/floatEqual.tests.ts b/packages/math-extras/test/floatEqual.tests.ts index 9726c29ce1..e7f156bbab 100644 --- a/packages/math-extras/test/floatEqual.tests.ts +++ b/packages/math-extras/test/floatEqual.tests.ts @@ -1,4 +1,3 @@ -import { expect } from 'chai'; import { floatEqual } from '@pixi/math-extras'; describe('floatEqual', () => @@ -7,9 +6,9 @@ describe('floatEqual', () => () => { // 0.1 + 0.2 = 0.3 is the common floating point pitfall. - expect(floatEqual(0.1 + 0.2, 0.3)).to.equal(true); + expect(floatEqual(0.1 + 0.2, 0.3)).toEqual(true); // now let's make it false - expect(floatEqual(0.1 + 0.2 + 0.00001, 0.3)).to.equal(false); + expect(floatEqual(0.1 + 0.2 + 0.00001, 0.3)).toEqual(false); }); }); diff --git a/packages/math-extras/test/lineIntersection.tests.ts b/packages/math-extras/test/lineIntersection.tests.ts index 41061be073..8c80540575 100644 --- a/packages/math-extras/test/lineIntersection.tests.ts +++ b/packages/math-extras/test/lineIntersection.tests.ts @@ -1,6 +1,5 @@ import { Point } from '@pixi/math'; import { lineIntersection } from '@pixi/math-extras'; -import { expect } from 'chai'; describe('lineIntersection', () => { @@ -14,8 +13,8 @@ describe('lineIntersection', () => const intersect = lineIntersection(aStart, aEnd, bStart, bEnd); - expect(intersect.x).to.equal(6.25); - expect(intersect.y).to.equal(7.25); + expect(intersect.x).toEqual(6.25); + expect(intersect.y).toEqual(7.25); }); it('should return NaN if the lines are parallel', @@ -28,8 +27,8 @@ describe('lineIntersection', () => const parallel = lineIntersection(aStart, aEnd, parallelStart, parallelEnd); - expect(parallel.x).to.be.NaN; - expect(parallel.y).to.be.NaN; + expect(parallel.x).toBeNaN(); + expect(parallel.y).toBeNaN(); }); it('should return the same reference given', () => { @@ -41,7 +40,7 @@ describe('lineIntersection', () => const outValue = new Point(); const intersect = lineIntersection(aStart, aEnd, bStart, bEnd, outValue); - expect(intersect).to.equal(outValue); + expect(intersect).toEqual(outValue); }); it('can output into any IPointData given', () => @@ -54,8 +53,8 @@ describe('lineIntersection', () => lineIntersection(aStart, aEnd, bStart, bEnd, outValue); - expect(outValue.x).to.equal(6.25); - expect(outValue.y).to.equal(7.25); + expect(outValue.x).toEqual(6.25); + expect(outValue.y).toEqual(7.25); }); it('can take any IPointData as input', () => @@ -67,7 +66,7 @@ describe('lineIntersection', () => const intersect = lineIntersection(aStart, aEnd, bStart, bEnd); - expect(intersect.x).to.equal(6.25); - expect(intersect.y).to.equal(7.25); + expect(intersect.x).toEqual(6.25); + expect(intersect.y).toEqual(7.25); }); }); diff --git a/packages/math-extras/test/segmentIntersection.tests.ts b/packages/math-extras/test/segmentIntersection.tests.ts index a805748fc2..d08a1f148b 100644 --- a/packages/math-extras/test/segmentIntersection.tests.ts +++ b/packages/math-extras/test/segmentIntersection.tests.ts @@ -1,5 +1,5 @@ import { Point } from '@pixi/math'; -import { expect } from 'chai'; + import { segmentIntersection } from '@pixi/math-extras'; describe('segmentIntersection', () => @@ -14,8 +14,8 @@ describe('segmentIntersection', () => const intersect = segmentIntersection(aStart, aEnd, bStart, bEnd); - expect(intersect.x).to.equal(6.25); - expect(intersect.y).to.equal(7.25); + expect(intersect.x).toEqual(6.25); + expect(intersect.y).toEqual(7.25); }); it('should return NaN if the segments are parallel', @@ -28,8 +28,8 @@ describe('segmentIntersection', () => const parallel = segmentIntersection(aStart, aEnd, parallelStart, parallelEnd); - expect(parallel.x).to.be.NaN; - expect(parallel.y).to.be.NaN; + expect(parallel.x).toBeNaN(); + expect(parallel.y).toBeNaN(); }); it('should return NaN if the segments dont intersect', () => @@ -41,8 +41,8 @@ describe('segmentIntersection', () => const parallel = segmentIntersection(aStart, aEnd, bStart, bEnd); - expect(parallel.x).to.be.NaN; - expect(parallel.y).to.be.NaN; + expect(parallel.x).toBeNaN(); + expect(parallel.y).toBeNaN(); }); it('should return the same reference given', () => { @@ -54,7 +54,7 @@ describe('segmentIntersection', () => const outValue = new Point(); const intersect = segmentIntersection(aStart, aEnd, bStart, bEnd, outValue); - expect(intersect).to.equal(outValue); + expect(intersect).toEqual(outValue); }); it('can output into any IPointData given', () => @@ -67,8 +67,8 @@ describe('segmentIntersection', () => segmentIntersection(aStart, aEnd, bStart, bEnd, outValue); - expect(outValue.x).to.equal(6.25); - expect(outValue.y).to.equal(7.25); + expect(outValue.x).toEqual(6.25); + expect(outValue.y).toEqual(7.25); }); it('can take any IPointData as input', () => @@ -80,7 +80,7 @@ describe('segmentIntersection', () => const intersect = segmentIntersection(aStart, aEnd, bStart, bEnd); - expect(intersect.x).to.equal(6.25); - expect(intersect.y).to.equal(7.25); + expect(intersect.x).toEqual(6.25); + expect(intersect.y).toEqual(7.25); }); }); diff --git a/packages/math/test/Circle.tests.ts b/packages/math/test/Circle.tests.ts index 1e9c7fbc53..4220bd1391 100644 --- a/packages/math/test/Circle.tests.ts +++ b/packages/math/test/Circle.tests.ts @@ -1,5 +1,4 @@ import { Circle } from '@pixi/math'; -import { expect } from 'chai'; describe('Circle', () => { @@ -7,57 +6,57 @@ describe('Circle', () => { const circ1 = new Circle(); - expect(circ1.x).to.equal(0); - expect(circ1.y).to.equal(0); - expect(circ1.radius).to.equal(0); + expect(circ1.x).toEqual(0); + expect(circ1.y).toEqual(0); + expect(circ1.radius).toEqual(0); const circ2 = new Circle(10, 10, 5); - expect(circ2.x).to.equal(10); - expect(circ2.y).to.equal(10); - expect(circ2.radius).to.equal(5); + expect(circ2.x).toEqual(10); + expect(circ2.y).toEqual(10); + expect(circ2.radius).toEqual(5); }); it('should clone a new circle', () => { const circ1 = new Circle(10, 10, 5); - expect(circ1.x).to.equal(10); - expect(circ1.y).to.equal(10); - expect(circ1.radius).to.equal(5); + expect(circ1.x).toEqual(10); + expect(circ1.y).toEqual(10); + expect(circ1.radius).toEqual(5); const circ2 = circ1.clone(); - expect(circ2.x).to.equal(10); - expect(circ2.y).to.equal(10); - expect(circ2.radius).to.equal(5); - expect(circ1).to.not.equal(circ2); + expect(circ2.x).toEqual(10); + expect(circ2.y).toEqual(10); + expect(circ2.radius).toEqual(5); + expect(circ1).not.toBe(circ2); }); it('should check if point is within circle', () => { const circ1 = new Circle(10, 10, 5); - expect(circ1.contains(10, 10)).to.be.true; - expect(circ1.contains(10, 15)).to.be.true; - expect(circ1.contains(15, 10)).to.be.true; - expect(circ1.contains(5, 10)).to.be.true; - expect(circ1.contains(15, 10)).to.be.true; + expect(circ1.contains(10, 10)).toBe(true); + expect(circ1.contains(10, 15)).toBe(true); + expect(circ1.contains(15, 10)).toBe(true); + expect(circ1.contains(5, 10)).toBe(true); + expect(circ1.contains(15, 10)).toBe(true); - expect(circ1.contains(6, 7)).to.be.true; - expect(circ1.contains(7, 6)).to.be.true; - expect(circ1.contains(7, 7)).to.be.true; - expect(circ1.contains(13, 14)).to.be.true; - expect(circ1.contains(14, 13)).to.be.true; + expect(circ1.contains(6, 7)).toBe(true); + expect(circ1.contains(7, 6)).toBe(true); + expect(circ1.contains(7, 7)).toBe(true); + expect(circ1.contains(13, 14)).toBe(true); + expect(circ1.contains(14, 13)).toBe(true); - expect(circ1.contains(14, 14)).to.be.false; - expect(circ1.contains(10, 16)).to.be.false; - expect(circ1.contains(11, 15)).to.be.false; - expect(circ1.contains(0, 0)).to.be.false; + expect(circ1.contains(14, 14)).toBe(false); + expect(circ1.contains(10, 16)).toBe(false); + expect(circ1.contains(11, 15)).toBe(false); + expect(circ1.contains(0, 0)).toBe(false); const circ2 = new Circle(10, 10, 0); - expect(circ2.contains(10, 10)).to.be.false; + expect(circ2.contains(10, 10)).toBe(false); }); it('should return framing rectangle', () => @@ -65,9 +64,9 @@ describe('Circle', () => const circ1 = new Circle(10, 10, 5); const rect1 = circ1.getBounds(); - expect(rect1.left).to.equal(5); - expect(rect1.top).to.equal(5); - expect(rect1.right).to.equal(15); - expect(rect1.bottom).to.equal(15); + expect(rect1.left).toEqual(5); + expect(rect1.top).toEqual(5); + expect(rect1.right).toEqual(15); + expect(rect1.bottom).toEqual(15); }); }); diff --git a/packages/math/test/Ellipse.tests.ts b/packages/math/test/Ellipse.tests.ts index 4439b2149f..afbb0398c0 100644 --- a/packages/math/test/Ellipse.tests.ts +++ b/packages/math/test/Ellipse.tests.ts @@ -1,5 +1,4 @@ import { Ellipse } from '@pixi/math'; -import { expect } from 'chai'; describe('Ellipse', () => { @@ -7,60 +6,60 @@ describe('Ellipse', () => { const ellipse1 = new Ellipse(); - expect(ellipse1.x).to.equal(0); - expect(ellipse1.y).to.equal(0); - expect(ellipse1.width).to.equal(0); - expect(ellipse1.height).to.equal(0); + expect(ellipse1.x).toEqual(0); + expect(ellipse1.y).toEqual(0); + expect(ellipse1.width).toEqual(0); + expect(ellipse1.height).toEqual(0); const ellipse2 = new Ellipse(10, 10, 5, 5); - expect(ellipse2.x).to.equal(10); - expect(ellipse2.y).to.equal(10); - expect(ellipse2.width).to.equal(5); - expect(ellipse2.height).to.equal(5); + expect(ellipse2.x).toEqual(10); + expect(ellipse2.y).toEqual(10); + expect(ellipse2.width).toEqual(5); + expect(ellipse2.height).toEqual(5); }); it('should clone a new ellipse', () => { const ellipse1 = new Ellipse(10, 10, 5, 5); - expect(ellipse1.x).to.equal(10); - expect(ellipse1.y).to.equal(10); - expect(ellipse1.width).to.equal(5); - expect(ellipse1.height).to.equal(5); + expect(ellipse1.x).toEqual(10); + expect(ellipse1.y).toEqual(10); + expect(ellipse1.width).toEqual(5); + expect(ellipse1.height).toEqual(5); const ellipse2 = ellipse1.clone(); - expect(ellipse2.x).to.equal(10); - expect(ellipse2.y).to.equal(10); - expect(ellipse2.width).to.equal(5); - expect(ellipse2.height).to.equal(5); + expect(ellipse2.x).toEqual(10); + expect(ellipse2.y).toEqual(10); + expect(ellipse2.width).toEqual(5); + expect(ellipse2.height).toEqual(5); }); it('should check if point is within ellipse', () => { const ellipse1 = new Ellipse(10, 10, 5, 5); - expect(ellipse1.contains(10, 10)).to.be.true; - expect(ellipse1.contains(10, 15)).to.be.true; - expect(ellipse1.contains(15, 10)).to.be.true; - expect(ellipse1.contains(5, 10)).to.be.true; - expect(ellipse1.contains(15, 10)).to.be.true; + expect(ellipse1.contains(10, 10)).toBe(true); + expect(ellipse1.contains(10, 15)).toBe(true); + expect(ellipse1.contains(15, 10)).toBe(true); + expect(ellipse1.contains(5, 10)).toBe(true); + expect(ellipse1.contains(15, 10)).toBe(true); - expect(ellipse1.contains(6, 7)).to.be.true; - expect(ellipse1.contains(7, 6)).to.be.true; - expect(ellipse1.contains(7, 7)).to.be.true; - expect(ellipse1.contains(13, 14)).to.be.true; - expect(ellipse1.contains(14, 13)).to.be.true; + expect(ellipse1.contains(6, 7)).toBe(true); + expect(ellipse1.contains(7, 6)).toBe(true); + expect(ellipse1.contains(7, 7)).toBe(true); + expect(ellipse1.contains(13, 14)).toBe(true); + expect(ellipse1.contains(14, 13)).toBe(true); - expect(ellipse1.contains(14, 14)).to.be.false; - expect(ellipse1.contains(10, 16)).to.be.false; - expect(ellipse1.contains(11, 15)).to.be.false; - expect(ellipse1.contains(0, 0)).to.be.false; + expect(ellipse1.contains(14, 14)).toBe(false); + expect(ellipse1.contains(10, 16)).toBe(false); + expect(ellipse1.contains(11, 15)).toBe(false); + expect(ellipse1.contains(0, 0)).toBe(false); const ellipse2 = new Ellipse(10, 10, 0, 0); - expect(ellipse2.contains(10, 10)).to.be.false; + expect(ellipse2.contains(10, 10)).toBe(false); }); it('should return framing rectangle', () => @@ -68,9 +67,9 @@ describe('Ellipse', () => const ellipse1 = new Ellipse(10, 10, 5, 5); const rect1 = ellipse1.getBounds(); - expect(rect1.left).to.equal(5); - expect(rect1.top).to.equal(5); - expect(rect1.right).to.equal(10); - expect(rect1.bottom).to.equal(10); + expect(rect1.left).toEqual(5); + expect(rect1.top).toEqual(5); + expect(rect1.right).toEqual(10); + expect(rect1.bottom).toEqual(10); }); }); diff --git a/packages/math/test/Matrix.tests.ts b/packages/math/test/Matrix.tests.ts index 8461664714..2df38f7639 100644 --- a/packages/math/test/Matrix.tests.ts +++ b/packages/math/test/Matrix.tests.ts @@ -1,5 +1,4 @@ import { Matrix, Transform } from '@pixi/math'; -import { expect } from 'chai'; describe('Matrix', () => { @@ -7,43 +6,43 @@ describe('Matrix', () => { const matrix = new Matrix(); - expect(matrix.a).to.equal(1); - expect(matrix.b).to.equal(0); - expect(matrix.c).to.equal(0); - expect(matrix.d).to.equal(1); - expect(matrix.tx).to.equal(0); - expect(matrix.ty).to.equal(0); + expect(matrix.a).toEqual(1); + expect(matrix.b).toEqual(0); + expect(matrix.c).toEqual(0); + expect(matrix.d).toEqual(1); + expect(matrix.tx).toEqual(0); + expect(matrix.ty).toEqual(0); const input = [0, 1, 2, 3, 4, 5]; matrix.fromArray(input); - expect(matrix.a).to.equal(0); - expect(matrix.b).to.equal(1); - expect(matrix.c).to.equal(3); - expect(matrix.d).to.equal(4); - expect(matrix.tx).to.equal(2); - expect(matrix.ty).to.equal(5); + expect(matrix.a).toEqual(0); + expect(matrix.b).toEqual(1); + expect(matrix.c).toEqual(3); + expect(matrix.d).toEqual(4); + expect(matrix.tx).toEqual(2); + expect(matrix.ty).toEqual(5); let output = matrix.toArray(true); - expect(output.length).to.equal(9); - expect(output[0]).to.equal(0); - expect(output[1]).to.equal(1); - expect(output[3]).to.equal(3); - expect(output[4]).to.equal(4); - expect(output[6]).to.equal(2); - expect(output[7]).to.equal(5); + expect(output.length).toEqual(9); + expect(output[0]).toEqual(0); + expect(output[1]).toEqual(1); + expect(output[3]).toEqual(3); + expect(output[4]).toEqual(4); + expect(output[6]).toEqual(2); + expect(output[7]).toEqual(5); output = matrix.toArray(false); - expect(output.length).to.equal(9); - expect(output[0]).to.equal(0); - expect(output[1]).to.equal(3); - expect(output[2]).to.equal(2); - expect(output[3]).to.equal(1); - expect(output[4]).to.equal(4); - expect(output[5]).to.equal(5); + expect(output.length).toEqual(9); + expect(output[0]).toEqual(0); + expect(output[1]).toEqual(3); + expect(output[2]).toEqual(2); + expect(output[3]).toEqual(1); + expect(output[4]).toEqual(4); + expect(output[5]).toEqual(5); }); it('should apply different transforms', () => @@ -52,34 +51,35 @@ describe('Matrix', () => matrix.translate(10, 20); matrix.translate(1, 2); - expect(matrix.tx).to.equal(11); - expect(matrix.ty).to.equal(22); + expect(matrix.tx).toEqual(11); + expect(matrix.ty).toEqual(22); matrix.scale(2, 4); - expect(matrix.a).to.equal(2); - expect(matrix.b).to.equal(0); - expect(matrix.c).to.equal(0); - expect(matrix.d).to.equal(4); - expect(matrix.tx).to.equal(22); - expect(matrix.ty).to.equal(88); + expect(matrix.a).toEqual(2); + expect(matrix.b).toEqual(0); + expect(matrix.c).toEqual(0); + expect(matrix.d).toEqual(4); + expect(matrix.tx).toEqual(22); + expect(matrix.ty).toEqual(88); const m2 = matrix.clone(); - expect(m2).to.not.equal(matrix); - expect(m2.a).to.equal(2); - expect(m2.b).to.equal(0); - expect(m2.c).to.equal(0); - expect(m2.d).to.equal(4); - expect(m2.tx).to.equal(22); - expect(m2.ty).to.equal(88); + expect(m2).not.toBe(matrix); + expect(m2.a).toEqual(2); + expect(m2.b).toEqual(0); + expect(m2.c).toEqual(0); + expect(m2.d).toEqual(4); + expect(m2.tx).toEqual(22); + expect(m2.ty).toEqual(88); matrix.setTransform(14, 15, 0, 0, 4, 2, 0, 0, 0); - expect(matrix.a).to.equal(4); - expect(matrix.b).to.equal(0); - expect(matrix.c).to.equal(0); - expect(matrix.d).to.equal(2); - expect(matrix.tx).to.equal(14); - expect(matrix.ty).to.equal(15); + expect(matrix.a).toEqual(4); + expect(matrix.b).toEqual(0); + // Object.is cant distinguish between 0 and -0 + expect(Math.abs(matrix.c)).toEqual(0); + expect(matrix.d).toEqual(2); + expect(matrix.tx).toEqual(14); + expect(matrix.ty).toEqual(15); }); it('should allow rotatation', () => @@ -88,10 +88,10 @@ describe('Matrix', () => matrix.rotate(Math.PI); - expect(matrix.a).to.equal(-1); - expect(matrix.b).to.equal(Math.sin(Math.PI)); - expect(matrix.c).to.equal(-Math.sin(Math.PI)); - expect(matrix.d).to.equal(-1); + expect(matrix.a).toEqual(-1); + expect(matrix.b).toEqual(Math.sin(Math.PI)); + expect(matrix.c).toEqual(-Math.sin(Math.PI)); + expect(matrix.d).toEqual(-1); }); it('should append matrix', () => @@ -104,8 +104,8 @@ describe('Matrix', () => m1.append(m2); - expect(m1.tx).to.equal(m2.tx); - expect(m1.ty).to.equal(m2.ty); + expect(m1.tx).toEqual(m2.tx); + expect(m1.ty).toEqual(m2.ty); }); it('should prepend matrix', () => @@ -116,30 +116,30 @@ describe('Matrix', () => m2.set(2, 3, 4, 5, 100, 200); m1.prepend(m2); - expect(m1.a).to.equal(m2.a); - expect(m1.b).to.equal(m2.b); - expect(m1.c).to.equal(m2.c); - expect(m1.d).to.equal(m2.d); - expect(m1.tx).to.equal(m2.tx); - expect(m1.ty).to.equal(m2.ty); + expect(m1.a).toEqual(m2.a); + expect(m1.b).toEqual(m2.b); + expect(m1.c).toEqual(m2.c); + expect(m1.d).toEqual(m2.d); + expect(m1.tx).toEqual(m2.tx); + expect(m1.ty).toEqual(m2.ty); const m3 = new Matrix(); const m4 = new Matrix(); m3.prepend(m4); - expect(m3.a).to.equal(m4.a); - expect(m3.b).to.equal(m4.b); - expect(m3.c).to.equal(m4.c); - expect(m3.d).to.equal(m4.d); - expect(m3.tx).to.equal(m4.tx); - expect(m3.ty).to.equal(m4.ty); + expect(m3.a).toEqual(m4.a); + expect(m3.b).toEqual(m4.b); + expect(m3.c).toEqual(m4.c); + expect(m3.d).toEqual(m4.d); + expect(m3.tx).toEqual(m4.tx); + expect(m3.ty).toEqual(m4.ty); }); it('should get IDENTITY and TEMP_MATRIX', () => { - expect(Matrix.IDENTITY instanceof Matrix).to.be.true; - expect(Matrix.TEMP_MATRIX instanceof Matrix).to.be.true; + expect(Matrix.IDENTITY instanceof Matrix).toBe(true); + expect(Matrix.TEMP_MATRIX instanceof Matrix).toBe(true); }); it('should reset matrix to default when identity() is called', () => @@ -148,21 +148,21 @@ describe('Matrix', () => matrix.set(2, 3, 4, 5, 100, 200); - expect(matrix.a).to.equal(2); - expect(matrix.b).to.equal(3); - expect(matrix.c).to.equal(4); - expect(matrix.d).to.equal(5); - expect(matrix.tx).to.equal(100); - expect(matrix.ty).to.equal(200); + expect(matrix.a).toEqual(2); + expect(matrix.b).toEqual(3); + expect(matrix.c).toEqual(4); + expect(matrix.d).toEqual(5); + expect(matrix.tx).toEqual(100); + expect(matrix.ty).toEqual(200); matrix.identity(); - expect(matrix.a).to.equal(1); - expect(matrix.b).to.equal(0); - expect(matrix.c).to.equal(0); - expect(matrix.d).to.equal(1); - expect(matrix.tx).to.equal(0); - expect(matrix.ty).to.equal(0); + expect(matrix.a).toEqual(1); + expect(matrix.b).toEqual(0); + expect(matrix.c).toEqual(0); + expect(matrix.d).toEqual(1); + expect(matrix.tx).toEqual(0); + expect(matrix.ty).toEqual(0); }); it('should have the same transform after decompose', () => @@ -193,12 +193,12 @@ describe('Matrix', () => transformInitial.updateLocalTransform(); transformDecomposed.updateLocalTransform(); - expect(transformInitial.localTransform.a).to.be.closeTo(transformDecomposed.localTransform.a, 0.0001); - expect(transformInitial.localTransform.b).to.be.closeTo(transformDecomposed.localTransform.b, 0.0001); - expect(transformInitial.localTransform.c).to.be.closeTo(transformDecomposed.localTransform.c, 0.0001); - expect(transformInitial.localTransform.d).to.be.closeTo(transformDecomposed.localTransform.d, 0.0001); - expect(transformInitial.localTransform.tx).to.be.closeTo(transformDecomposed.localTransform.tx, 0.0001); - expect(transformInitial.localTransform.ty).to.be.closeTo(transformDecomposed.localTransform.ty, 0.0001); + expect(transformInitial.localTransform.a).toBeCloseTo(transformDecomposed.localTransform.a, 0.0001); + expect(transformInitial.localTransform.b).toBeCloseTo(transformDecomposed.localTransform.b, 0.0001); + expect(transformInitial.localTransform.c).toBeCloseTo(transformDecomposed.localTransform.c, 0.0001); + expect(transformInitial.localTransform.d).toBeCloseTo(transformDecomposed.localTransform.d, 0.0001); + expect(transformInitial.localTransform.tx).toBeCloseTo(transformDecomposed.localTransform.tx, 0.0001); + expect(transformInitial.localTransform.ty).toBeCloseTo(transformDecomposed.localTransform.ty, 0.0001); } }); @@ -215,10 +215,10 @@ describe('Matrix', () => matrix.decompose(transform); transform.updateLocalTransform(); - expect(result.a).to.closeTo(matrix.a, 0.001); - expect(result.b).to.closeTo(matrix.b, 0.001); - expect(result.c).to.closeTo(matrix.c, 0.001); - expect(result.d).to.closeTo(matrix.d, 0.001); + expect(result.a).toBeCloseTo(matrix.a, 0.001); + expect(result.b).toBeCloseTo(matrix.b, 0.001); + expect(result.c).toBeCloseTo(matrix.c, 0.001); + expect(result.d).toBeCloseTo(matrix.d, 0.001); }); describe('decompose', () => @@ -235,12 +235,12 @@ describe('Matrix', () => const localTransform = transform.localTransform; - expect(localTransform.a).to.closeTo(matrix.a, 0.001); - expect(localTransform.b).to.closeTo(matrix.b, 0.001); - expect(localTransform.c).to.closeTo(matrix.c, 0.001); - expect(localTransform.d).to.closeTo(matrix.d, 0.001); - expect(localTransform.tx).to.closeTo(matrix.tx, 0.001); - expect(localTransform.ty).to.closeTo(matrix.ty, 0.001); + expect(localTransform.a).toBeCloseTo(matrix.a, 0.001); + expect(localTransform.b).toBeCloseTo(matrix.b, 0.001); + expect(localTransform.c).toBeCloseTo(matrix.c, 0.001); + expect(localTransform.d).toBeCloseTo(matrix.d, 0.001); + expect(localTransform.tx).toBeCloseTo(matrix.tx, 0.001); + expect(localTransform.ty).toBeCloseTo(matrix.ty, 0.001); }); }); }); diff --git a/packages/math/test/ObservablePoint.tests.ts b/packages/math/test/ObservablePoint.tests.ts index 35bce2d27a..cc0c58a6c5 100644 --- a/packages/math/test/ObservablePoint.tests.ts +++ b/packages/math/test/ObservablePoint.tests.ts @@ -1,36 +1,34 @@ import { ObservablePoint } from '@pixi/math'; -import sinon from 'sinon'; -import { expect } from 'chai'; describe('ObservablePoint', () => { it('should create a new observable point', () => { - const cb = sinon.spy(); + const cb = jest.fn(); const pt = new ObservablePoint(cb, this); - expect(pt.x).to.equal(0); - expect(pt.y).to.equal(0); + expect(pt.x).toEqual(0); + expect(pt.y).toEqual(0); pt.set(2, 5); - expect(pt.x).to.equal(2); - expect(pt.y).to.equal(5); + expect(pt.x).toEqual(2); + expect(pt.y).toEqual(5); - expect(cb.called).to.be.true; + expect(cb).toBeCalled(); pt.set(2, 6); - expect(pt.x).to.equal(2); - expect(pt.y).to.equal(6); + expect(pt.x).toEqual(2); + expect(pt.y).toEqual(6); pt.set(2, 0); - expect(pt.x).to.equal(2); - expect(pt.y).to.equal(0); + expect(pt.x).toEqual(2); + expect(pt.y).toEqual(0); pt.set(); - expect(pt.x).to.equal(0); - expect(pt.y).to.equal(0); + expect(pt.x).toEqual(0); + expect(pt.y).toEqual(0); - expect(cb.callCount).to.equal(4); + expect(cb.mock.calls).toHaveLength(4); }); it('should copy a new observable point', () => @@ -45,11 +43,11 @@ describe('ObservablePoint', () => const p3 = new ObservablePoint(cb, this, 5, 6); p1.copyFrom(p2); - expect(p1.x).to.equal(p2.x); - expect(p1.y).to.equal(p2.y); + expect(p1.x).toEqual(p2.x); + expect(p1.y).toEqual(p2.y); p1.copyFrom(p3); - expect(p1.y).to.equal(p3.y); + expect(p1.y).toEqual(p3.y); }); }); diff --git a/packages/math/test/Point.tests.ts b/packages/math/test/Point.tests.ts index dbd47b76ec..f16fd62268 100644 --- a/packages/math/test/Point.tests.ts +++ b/packages/math/test/Point.tests.ts @@ -1,5 +1,4 @@ import { Point } from '@pixi/math'; -import { expect } from 'chai'; describe('Point', () => { @@ -7,23 +6,23 @@ describe('Point', () => { const pt = new Point(); - expect(pt.x).to.equal(0); - expect(pt.y).to.equal(0); + expect(pt.x).toEqual(0); + expect(pt.y).toEqual(0); }); it('should clone a new point', () => { const p1 = new Point(10, 20); - expect(p1.x).to.equal(10); - expect(p1.y).to.equal(20); + expect(p1.x).toEqual(10); + expect(p1.y).toEqual(20); const p2 = p1.clone(); - expect(p2.x).to.equal(10); - expect(p2.y).to.equal(20); - expect(p1).to.not.equal(p2); - expect(p1.equals(p2)).to.be.true; + expect(p2.x).toEqual(10); + expect(p2.y).toEqual(20); + expect(p1).not.toBe(p2); + expect(p1.equals(p2)).toBe(true); }); it('should copy from one point to another', () => @@ -33,8 +32,8 @@ describe('Point', () => p1.copyFrom(p2); - expect(p1.x).to.equal(2); - expect(p1.y).to.equal(5); + expect(p1.x).toEqual(2); + expect(p1.y).toEqual(5); }); it('should set a new value', () => @@ -42,15 +41,15 @@ describe('Point', () => const p1 = new Point(10, 20); p1.set(); - expect(p1.x).to.equal(0); - expect(p1.y).to.equal(0); + expect(p1.x).toEqual(0); + expect(p1.y).toEqual(0); p1.set(1); - expect(p1.x).to.equal(1); - expect(p1.y).to.equal(1); + expect(p1.x).toEqual(1); + expect(p1.y).toEqual(1); p1.set(1, 0); - expect(p1.x).to.equal(1); - expect(p1.y).to.equal(0); + expect(p1.x).toEqual(1); + expect(p1.y).toEqual(0); }); }); diff --git a/packages/math/test/Polygon.tests.ts b/packages/math/test/Polygon.tests.ts index 7ff0ccde6e..ba74c00f44 100644 --- a/packages/math/test/Polygon.tests.ts +++ b/packages/math/test/Polygon.tests.ts @@ -1,5 +1,4 @@ import { Polygon, Point } from '@pixi/math'; -import { expect } from 'chai'; describe('Polygon', () => { @@ -9,7 +8,7 @@ describe('Polygon', () => { const polygon = new Polygon(0, 0, 10, 0, 0, 10); - expect(polygon.points.length).to.be.equals(6); + expect(polygon.points.length).toEqual(6); }); it('should accept a spread of points', () => @@ -20,14 +19,14 @@ describe('Polygon', () => new Point(0, 10) ); - expect(polygon.points.length).to.be.equals(6); + expect(polygon.points.length).toEqual(6); }); it('should accept an array of values', () => { const polygon = new Polygon([0, 0, 10, 0, 0, 10]); - expect(polygon.points.length).to.be.equals(6); + expect(polygon.points.length).toEqual(6); }); it('should accept an array of points', () => @@ -38,7 +37,7 @@ describe('Polygon', () => new Point(0, 10), ]); - expect(polygon.points.length).to.be.equals(6); + expect(polygon.points.length).toEqual(6); }); }); @@ -52,19 +51,19 @@ describe('Polygon', () => const polygon2 = polygon1.clone(); - expect(polygon1.points.length).to.be.equals(6); - expect(polygon1.points.length).to.be.equals(6); + expect(polygon1.points.length).toEqual(6); + expect(polygon1.points.length).toEqual(6); for (let i = 0; i < 6; i++) { - expect(polygon1.points[i]).to.be.equals(polygon2.points[i]); + expect(polygon1.points[i]).toEqual(polygon2.points[i]); } - expect(polygon1.closeStroke).to.be.equals(polygon2.closeStroke); + expect(polygon1.closeStroke).toEqual(polygon2.closeStroke); polygon2.points.push(0, 0); - expect(polygon1.points.length).to.be.equals(6); - expect(polygon2.points.length).to.be.equals(8); + expect(polygon1.points.length).toEqual(6); + expect(polygon2.points.length).toEqual(8); }); }); @@ -74,30 +73,29 @@ describe('Polygon', () => { const polygon = new Polygon(0, 0, 10, 0, 10, 10, 0, 10, 0, 0); - expect(polygon.contains(1, 1)).to.be.true; - expect(polygon.contains(1, 9)).to.be.true; - expect(polygon.contains(9, 1)).to.be.true; - expect(polygon.contains(9, 9)).to.be.true; + expect(polygon.contains(1, 1)).toBe(true); + expect(polygon.contains(1, 9)).toBe(true); + expect(polygon.contains(9, 1)).toBe(true); + expect(polygon.contains(9, 9)).toBe(true); }); it('should exclude bounds', () => { const polygon = new Polygon(0, 0, 10, 0, 10, 10, 0, 10, 0, 0); - // expect(polygon.contains(0, 0)).to.be.false; // this currently returns true - expect(polygon.contains(0, 10)).to.be.false; - expect(polygon.contains(10, 0)).to.be.false; - expect(polygon.contains(10, 10)).to.be.false; + expect(polygon.contains(0, 10)).toBe(false); + expect(polygon.contains(10, 0)).toBe(false); + expect(polygon.contains(10, 10)).toBe(false); }); it('should exclude points outside', () => { const polygon = new Polygon(0, 0, 10, 0, 10, 10, 0, 10, 0, 0); - expect(polygon.contains(-1, -1)).to.be.false; - expect(polygon.contains(-1, 11)).to.be.false; - expect(polygon.contains(11, -1)).to.be.false; - expect(polygon.contains(11, 11)).to.be.false; + expect(polygon.contains(-1, -1)).toBe(false); + expect(polygon.contains(-1, 11)).toBe(false); + expect(polygon.contains(11, -1)).toBe(false); + expect(polygon.contains(11, 11)).toBe(false); }); }); }); diff --git a/packages/math/test/Rectangle.tests.ts b/packages/math/test/Rectangle.tests.ts index f2c3c1a820..c3b1570a43 100644 --- a/packages/math/test/Rectangle.tests.ts +++ b/packages/math/test/Rectangle.tests.ts @@ -1,5 +1,4 @@ import { Rectangle, Matrix } from '@pixi/math'; -import { expect } from 'chai'; describe('Rectangle', () => { @@ -7,38 +6,38 @@ describe('Rectangle', () => { const rect = new Rectangle(5, 5, 1, 1); - expect(rect.left).to.equal(5); - expect(rect.top).to.equal(5); - expect(rect.right).to.equal(6); - expect(rect.bottom).to.equal(6); + expect(rect.left).toEqual(5); + expect(rect.top).toEqual(5); + expect(rect.right).toEqual(6); + expect(rect.bottom).toEqual(6); }); it('should cast quantities to number types', () => { const rect = new Rectangle('5', '5', '1', '1'); - expect(rect.left).to.equal(5); - expect(rect.top).to.equal(5); - expect(rect.right).to.equal(6); - expect(rect.bottom).to.equal(6); + expect(rect.left).toEqual(5); + expect(rect.top).toEqual(5); + expect(rect.right).toEqual(6); + expect(rect.bottom).toEqual(6); }); it('should clone a new rectangle', () => { const rect1 = new Rectangle(10, 10, 10, 10); - expect(rect1.x).to.equal(10); - expect(rect1.y).to.equal(10); - expect(rect1.width).to.equal(10); - expect(rect1.height).to.equal(10); + expect(rect1.x).toEqual(10); + expect(rect1.y).toEqual(10); + expect(rect1.width).toEqual(10); + expect(rect1.height).toEqual(10); const rect2 = rect1.clone(); - expect(rect2.x).to.equal(10); - expect(rect2.y).to.equal(10); - expect(rect2.width).to.equal(10); - expect(rect2.height).to.equal(10); - expect(rect1).to.not.equal(rect2); + expect(rect2.x).toEqual(10); + expect(rect2.y).toEqual(10); + expect(rect2.width).toEqual(10); + expect(rect2.height).toEqual(10); + expect(rect1).not.toBe(rect2); }); it('should copy from one rectangle to another', () => @@ -48,34 +47,34 @@ describe('Rectangle', () => rect1.copyFrom(rect2); - expect(rect1.x).to.equal(2); - expect(rect1.y).to.equal(2); - expect(rect1.width).to.equal(5); - expect(rect1.height).to.equal(5); + expect(rect1.x).toEqual(2); + expect(rect1.y).toEqual(2); + expect(rect1.width).toEqual(5); + expect(rect1.height).toEqual(5); }); it('should check if point is within rectangle', () => { const rect1 = new Rectangle(10, 10, 10, 10); - expect(rect1.contains(10, 10)).to.be.true; - expect(rect1.contains(10, 19)).to.be.true; - expect(rect1.contains(19, 10)).to.be.true; - expect(rect1.contains(15, 15)).to.be.true; - expect(rect1.contains(10, 9)).to.be.false; - expect(rect1.contains(9, 10)).to.be.false; - expect(rect1.contains(10, 20)).to.be.false; - expect(rect1.contains(20, 10)).to.be.false; - expect(rect1.contains(21, 21)).to.be.false; + expect(rect1.contains(10, 10)).toBe(true); + expect(rect1.contains(10, 19)).toBe(true); + expect(rect1.contains(19, 10)).toBe(true); + expect(rect1.contains(15, 15)).toBe(true); + expect(rect1.contains(10, 9)).toBe(false); + expect(rect1.contains(9, 10)).toBe(false); + expect(rect1.contains(10, 20)).toBe(false); + expect(rect1.contains(20, 10)).toBe(false); + expect(rect1.contains(21, 21)).toBe(false); const rect2 = new Rectangle(10, 10, 10, 0); - expect(rect2.contains(10, 10)).to.be.false; - expect(rect2.contains(20, 20)).to.be.false; - expect(rect2.contains(15, 15)).to.be.false; - expect(rect2.contains(10, 9)).to.be.false; - expect(rect2.contains(9, 10)).to.be.false; - expect(rect2.contains(21, 21)).to.be.false; + expect(rect2.contains(10, 10)).toBe(false); + expect(rect2.contains(20, 20)).toBe(false); + expect(rect2.contains(15, 15)).toBe(false); + expect(rect2.contains(10, 9)).toBe(false); + expect(rect2.contains(9, 10)).toBe(false); + expect(rect2.contains(21, 21)).toBe(false); }); it('should enlarge rectangle', () => @@ -85,20 +84,20 @@ describe('Rectangle', () => rect1.enlarge(rect2); - expect(rect1.left).to.equal(10); - expect(rect1.top).to.equal(10); - expect(rect1.right).to.equal(25); - expect(rect1.bottom).to.equal(25); + expect(rect1.left).toEqual(10); + expect(rect1.top).toEqual(10); + expect(rect1.right).toEqual(25); + expect(rect1.bottom).toEqual(25); const rect3 = new Rectangle(0, 0, 0, 0); const rect4 = new Rectangle(10, 10, 10, 10); rect4.enlarge(rect3); - expect(rect4.left).to.equal(0); - expect(rect4.top).to.equal(0); - expect(rect4.right).to.equal(20); - expect(rect4.bottom).to.equal(20); + expect(rect4.left).toEqual(0); + expect(rect4.top).toEqual(0); + expect(rect4.right).toEqual(20); + expect(rect4.bottom).toEqual(20); }); it('should pad a rectangle', () => @@ -108,40 +107,40 @@ describe('Rectangle', () => rect.pad(10, 10); - expect(rect.left).to.equal(0); - expect(rect.top).to.equal(0); - expect(rect.right).to.equal(30); - expect(rect.bottom).to.equal(30); + expect(rect.left).toEqual(0); + expect(rect.top).toEqual(0); + expect(rect.right).toEqual(30); + expect(rect.bottom).toEqual(30); // Pad with X const rect1 = new Rectangle(10, 10, 10, 10); rect1.pad(10); - expect(rect1.left).to.equal(0); - expect(rect1.top).to.equal(0); - expect(rect1.right).to.equal(30); - expect(rect1.bottom).to.equal(30); + expect(rect1.left).toEqual(0); + expect(rect1.top).toEqual(0); + expect(rect1.right).toEqual(30); + expect(rect1.bottom).toEqual(30); // Pad with nothing const rect2 = new Rectangle(10, 10, 10, 10); rect2.pad(); - expect(rect2.left).to.equal(10); - expect(rect2.top).to.equal(10); - expect(rect2.right).to.equal(20); - expect(rect2.bottom).to.equal(20); + expect(rect2.left).toEqual(10); + expect(rect2.top).toEqual(10); + expect(rect2.right).toEqual(20); + expect(rect2.bottom).toEqual(20); // Pad with Y const rect3 = new Rectangle(10, 10, 10, 10); rect3.pad(null, 10); - expect(rect3.left).to.equal(10); - expect(rect3.top).to.equal(0); - expect(rect3.right).to.equal(20); - expect(rect3.bottom).to.equal(30); + expect(rect3.left).toEqual(10); + expect(rect3.top).toEqual(0); + expect(rect3.right).toEqual(20); + expect(rect3.bottom).toEqual(30); }); it('should fit a rectangle', () => @@ -151,50 +150,50 @@ describe('Rectangle', () => rect2.fit(rect1); - expect(rect2.left).to.equal(0); - expect(rect2.top).to.equal(0); - expect(rect2.right).to.equal(0); - expect(rect2.bottom).to.equal(0); + expect(rect2.left).toEqual(0); + expect(rect2.top).toEqual(0); + expect(rect2.right).toEqual(0); + expect(rect2.bottom).toEqual(0); const rect3 = new Rectangle(0, 0, 20, 20); const rect4 = new Rectangle(10, 0, 20, 20); rect3.fit(rect4); - expect(rect3.left).to.equal(10); - expect(rect3.top).to.equal(0); - expect(rect3.right).to.equal(20); - expect(rect3.bottom).to.equal(20); + expect(rect3.left).toEqual(10); + expect(rect3.top).toEqual(0); + expect(rect3.right).toEqual(20); + expect(rect3.bottom).toEqual(20); const rect5 = new Rectangle(10, 10, 20, 25); const rect6 = new Rectangle(22, 24, 20, 20); rect5.fit(rect6); - expect(rect5.left).to.equal(22); - expect(rect5.top).to.equal(24); - expect(rect5.right).to.equal(30); - expect(rect5.bottom).to.equal(35); + expect(rect5.left).toEqual(22); + expect(rect5.top).toEqual(24); + expect(rect5.right).toEqual(30); + expect(rect5.bottom).toEqual(35); const rect7 = new Rectangle(11, 10, 20, 25); const rect8 = new Rectangle(10, 9, 13, 10); rect7.fit(rect8); - expect(rect7.left).to.equal(11); - expect(rect7.top).to.equal(10); - expect(rect7.right).to.equal(23); - expect(rect7.bottom).to.equal(19); + expect(rect7.left).toEqual(11); + expect(rect7.top).toEqual(10); + expect(rect7.right).toEqual(23); + expect(rect7.bottom).toEqual(19); }); it('should generate an empty rectangle', () => { const rect = Rectangle.EMPTY; - expect(rect.left).to.equal(0); - expect(rect.top).to.equal(0); - expect(rect.right).to.equal(0); - expect(rect.bottom).to.equal(0); + expect(rect.left).toEqual(0); + expect(rect.top).toEqual(0); + expect(rect.right).toEqual(0); + expect(rect.bottom).toEqual(0); }); it('should return true if the area of the intersection > 0', () => @@ -219,83 +218,83 @@ describe('Rectangle', () => const f = new Rectangle(150, 175, 0, 0); // e intersects a,b,c,d - expect(e.intersects(a)).to.equal(true); - expect(e.intersects(b)).to.equal(true); - expect(e.intersects(c)).to.equal(true); - expect(e.intersects(d)).to.equal(true); + expect(e.intersects(a)).toEqual(true); + expect(e.intersects(b)).toEqual(true); + expect(e.intersects(c)).toEqual(true); + expect(e.intersects(d)).toEqual(true); - expect(e.intersects(a, new Matrix())).to.equal(true); - expect(e.intersects(b, new Matrix())).to.equal(true); - expect(e.intersects(c, new Matrix())).to.equal(true); - expect(e.intersects(d, new Matrix())).to.equal(true); + expect(e.intersects(a, new Matrix())).toEqual(true); + expect(e.intersects(b, new Matrix())).toEqual(true); + expect(e.intersects(c, new Matrix())).toEqual(true); + expect(e.intersects(d, new Matrix())).toEqual(true); // works the other way arround - expect(a.intersects(e)).to.equal(true); - expect(b.intersects(e)).to.equal(true); - expect(c.intersects(e)).to.equal(true); - expect(d.intersects(e)).to.equal(true); + expect(a.intersects(e)).toEqual(true); + expect(b.intersects(e)).toEqual(true); + expect(c.intersects(e)).toEqual(true); + expect(d.intersects(e)).toEqual(true); - expect(a.intersects(e, new Matrix())).to.equal(true); - expect(b.intersects(e, new Matrix())).to.equal(true); - expect(c.intersects(e, new Matrix())).to.equal(true); - expect(d.intersects(e, new Matrix())).to.equal(true); + expect(a.intersects(e, new Matrix())).toEqual(true); + expect(b.intersects(e, new Matrix())).toEqual(true); + expect(c.intersects(e, new Matrix())).toEqual(true); + expect(d.intersects(e, new Matrix())).toEqual(true); // none of the other intersect (sharing a side it is NOT intersecting!) - expect(a.intersects(b)).to.equal(false); // share Y side - expect(b.intersects(d)).to.equal(false); // share X side - expect(c.intersects(b)).to.equal(false); // share single point + expect(a.intersects(b)).toEqual(false); // share Y side + expect(b.intersects(d)).toEqual(false); // share X side + expect(c.intersects(b)).toEqual(false); // share single point - expect(a.intersects(b, new Matrix())).to.equal(false); // share Y side - expect(b.intersects(d, new Matrix())).to.equal(false); // share X side - expect(c.intersects(b, new Matrix())).to.equal(false); // share single point + expect(a.intersects(b, new Matrix())).toEqual(false); // share Y side + expect(b.intersects(d, new Matrix())).toEqual(false); // share X side + expect(c.intersects(b, new Matrix())).toEqual(false); // share single point // Since F has no area, the intersection with D it's 0 so it's false. - expect(f.intersects(d)).to.equal(false); + expect(f.intersects(d)).toEqual(false); - expect(f.intersects(d, new Matrix())).to.equal(false); + expect(f.intersects(d, new Matrix())).toEqual(false); // Any rectangle with area intersects itself - expect(a.intersects(a.clone())).to.equal(true); - expect(b.intersects(b.clone())).to.equal(true); - expect(c.intersects(c.clone())).to.equal(true); - expect(d.intersects(d.clone())).to.equal(true); - expect(e.intersects(e.clone())).to.equal(true); - - expect(a.intersects(a.clone(), new Matrix())).to.equal(true); - expect(b.intersects(b.clone(), new Matrix())).to.equal(true); - expect(c.intersects(c.clone(), new Matrix())).to.equal(true); - expect(d.intersects(d.clone(), new Matrix())).to.equal(true); - expect(e.intersects(e.clone(), new Matrix())).to.equal(true); + expect(a.intersects(a.clone())).toEqual(true); + expect(b.intersects(b.clone())).toEqual(true); + expect(c.intersects(c.clone())).toEqual(true); + expect(d.intersects(d.clone())).toEqual(true); + expect(e.intersects(e.clone())).toEqual(true); + + expect(a.intersects(a.clone(), new Matrix())).toEqual(true); + expect(b.intersects(b.clone(), new Matrix())).toEqual(true); + expect(c.intersects(c.clone(), new Matrix())).toEqual(true); + expect(d.intersects(d.clone(), new Matrix())).toEqual(true); + expect(e.intersects(e.clone(), new Matrix())).toEqual(true); // A point without area can't have an intersection, thus it can't even intersect itself - expect(f.intersects(f.clone())).to.equal(false); + expect(f.intersects(f.clone())).toEqual(false); - expect(f.intersects(f.clone(), new Matrix())).to.equal(false); + expect(f.intersects(f.clone(), new Matrix())).toEqual(false); // No intersection if the transform is degenerate - expect(a.intersects(a.clone(), new Matrix().scale(0, 1))).to.equal(false); + expect(a.intersects(a.clone(), new Matrix().scale(0, 1))).toEqual(false); - expect(a.intersects(a.clone(), new Matrix().scale(0.5, 0.5))).to.equal(true); - expect(a.intersects(a.clone(), new Matrix().scale(2, 2))).to.equal(true); + expect(a.intersects(a.clone(), new Matrix().scale(0.5, 0.5))).toEqual(true); + expect(a.intersects(a.clone(), new Matrix().scale(2, 2))).toEqual(true); const m = new Matrix().translate(-50, -50).rotate(Math.PI / 4); - expect(a.intersects(a.clone(), m.clone().translate(-35, -35))).to.equal(true); - expect(a.intersects(a.clone(), m.clone().translate(-36, -36))).to.equal(false); - expect(a.intersects(a.clone(), m.clone().translate(135, -35))).to.equal(true); - expect(a.intersects(a.clone(), m.clone().translate(136, -36))).to.equal(false); - expect(a.intersects(a.clone(), m.clone().translate(-35, 135))).to.equal(true); - expect(a.intersects(a.clone(), m.clone().translate(-36, 136))).to.equal(false); - expect(a.intersects(a.clone(), m.clone().translate(135, 135))).to.equal(true); - expect(a.intersects(a.clone(), m.clone().translate(136, 136))).to.equal(false); - - expect(a.intersects(a.clone(), m.clone().scale(-1, +1).translate(-35, -35))).to.equal(true); - expect(a.intersects(a.clone(), m.clone().scale(-1, +1).translate(-36, -36))).to.equal(false); - expect(a.intersects(a.clone(), m.clone().scale(-1, +1).translate(135, -35))).to.equal(true); - expect(a.intersects(a.clone(), m.clone().scale(-1, +1).translate(136, -36))).to.equal(false); - expect(a.intersects(a.clone(), m.clone().scale(-1, +1).translate(-35, 135))).to.equal(true); - expect(a.intersects(a.clone(), m.clone().scale(-1, +1).translate(-36, 136))).to.equal(false); - expect(a.intersects(a.clone(), m.clone().scale(-1, +1).translate(135, 135))).to.equal(true); - expect(a.intersects(a.clone(), m.clone().scale(-1, +1).translate(136, 136))).to.equal(false); + expect(a.intersects(a.clone(), m.clone().translate(-35, -35))).toEqual(true); + expect(a.intersects(a.clone(), m.clone().translate(-36, -36))).toEqual(false); + expect(a.intersects(a.clone(), m.clone().translate(135, -35))).toEqual(true); + expect(a.intersects(a.clone(), m.clone().translate(136, -36))).toEqual(false); + expect(a.intersects(a.clone(), m.clone().translate(-35, 135))).toEqual(true); + expect(a.intersects(a.clone(), m.clone().translate(-36, 136))).toEqual(false); + expect(a.intersects(a.clone(), m.clone().translate(135, 135))).toEqual(true); + expect(a.intersects(a.clone(), m.clone().translate(136, 136))).toEqual(false); + + expect(a.intersects(a.clone(), m.clone().scale(-1, +1).translate(-35, -35))).toEqual(true); + expect(a.intersects(a.clone(), m.clone().scale(-1, +1).translate(-36, -36))).toEqual(false); + expect(a.intersects(a.clone(), m.clone().scale(-1, +1).translate(135, -35))).toEqual(true); + expect(a.intersects(a.clone(), m.clone().scale(-1, +1).translate(136, -36))).toEqual(false); + expect(a.intersects(a.clone(), m.clone().scale(-1, +1).translate(-35, 135))).toEqual(true); + expect(a.intersects(a.clone(), m.clone().scale(-1, +1).translate(-36, 136))).toEqual(false); + expect(a.intersects(a.clone(), m.clone().scale(-1, +1).translate(135, 135))).toEqual(true); + expect(a.intersects(a.clone(), m.clone().scale(-1, +1).translate(136, 136))).toEqual(false); }); }); diff --git a/packages/math/test/RoundedRectangle.tests.ts b/packages/math/test/RoundedRectangle.tests.ts index 15056c3b37..bae1e6c4cc 100644 --- a/packages/math/test/RoundedRectangle.tests.ts +++ b/packages/math/test/RoundedRectangle.tests.ts @@ -1,5 +1,4 @@ import { RoundedRectangle } from '@pixi/math'; -import { expect } from 'chai'; describe('RoundedRectangle', () => { @@ -7,61 +6,61 @@ describe('RoundedRectangle', () => { const rrect = new RoundedRectangle(5, 5, 1, 1); - expect(rrect.x).to.equal(5); - expect(rrect.y).to.equal(5); - expect(rrect.width).to.equal(1); - expect(rrect.height).to.equal(1); - expect(rrect.radius).to.equal(20); + expect(rrect.x).toEqual(5); + expect(rrect.y).toEqual(5); + expect(rrect.width).toEqual(1); + expect(rrect.height).toEqual(1); + expect(rrect.radius).toEqual(20); }); it('should clone a new rounded rectangle', () => { const rrect1 = new RoundedRectangle(0, 0, 100, 100, 40); - expect(rrect1.x).to.equal(0); - expect(rrect1.y).to.equal(0); - expect(rrect1.width).to.equal(100); - expect(rrect1.height).to.equal(100); - expect(rrect1.radius).to.equal(40); + expect(rrect1.x).toEqual(0); + expect(rrect1.y).toEqual(0); + expect(rrect1.width).toEqual(100); + expect(rrect1.height).toEqual(100); + expect(rrect1.radius).toEqual(40); const rrect2 = rrect1.clone(); - expect(rrect2.x).to.equal(0); - expect(rrect2.y).to.equal(0); - expect(rrect2.width).to.equal(100); - expect(rrect2.height).to.equal(100); - expect(rrect2.radius).to.equal(40); - expect(rrect1).to.not.equal(rrect2); + expect(rrect2.x).toEqual(0); + expect(rrect2.y).toEqual(0); + expect(rrect2.width).toEqual(100); + expect(rrect2.height).toEqual(100); + expect(rrect2.radius).toEqual(40); + expect(rrect1).not.toBe(rrect2); }); it('should check if point is within rounded rectangle', () => { const rrect1 = new RoundedRectangle(0, 0, 200, 200, 50); - expect(rrect1.contains(50, 50)).to.be.true; - expect(rrect1.contains(5, 100)).to.be.true; - expect(rrect1.contains(100, 5)).to.be.true; - expect(rrect1.contains(195, 100)).to.be.true; - expect(rrect1.contains(100, 195)).to.be.true; - expect(rrect1.contains(20, 20)).to.be.true; - expect(rrect1.contains(180, 20)).to.be.true; - expect(rrect1.contains(180, 180)).to.be.true; - expect(rrect1.contains(20, 180)).to.be.true; - expect(rrect1.contains(10, 10)).to.be.false; - expect(rrect1.contains(190, 10)).to.be.false; - expect(rrect1.contains(190, 190)).to.be.false; - expect(rrect1.contains(10, 190)).to.be.false; + expect(rrect1.contains(50, 50)).toBe(true); + expect(rrect1.contains(5, 100)).toBe(true); + expect(rrect1.contains(100, 5)).toBe(true); + expect(rrect1.contains(195, 100)).toBe(true); + expect(rrect1.contains(100, 195)).toBe(true); + expect(rrect1.contains(20, 20)).toBe(true); + expect(rrect1.contains(180, 20)).toBe(true); + expect(rrect1.contains(180, 180)).toBe(true); + expect(rrect1.contains(20, 180)).toBe(true); + expect(rrect1.contains(10, 10)).toBe(false); + expect(rrect1.contains(190, 10)).toBe(false); + expect(rrect1.contains(190, 190)).toBe(false); + expect(rrect1.contains(10, 190)).toBe(false); const rrect2 = new RoundedRectangle(0, 0, 10, 0, 1); - expect(rrect2.contains(0, 0)).to.be.false; + expect(rrect2.contains(0, 0)).toBe(false); const rrect3 = new RoundedRectangle(0, 0, 0, 10, 1); - expect(rrect3.contains(0, 0)).to.be.false; + expect(rrect3.contains(0, 0)).toBe(false); const rrect4 = new RoundedRectangle(0, 0, 10, 10, 1000); - expect(rrect4.contains(5, 5)).to.be.true; + expect(rrect4.contains(5, 5)).toBe(true); }); }); diff --git a/packages/math/test/Transform.tests.ts b/packages/math/test/Transform.tests.ts index 84707e5af6..b720050278 100644 --- a/packages/math/test/Transform.tests.ts +++ b/packages/math/test/Transform.tests.ts @@ -1,5 +1,4 @@ import { Transform } from '@pixi/math'; -import { expect } from 'chai'; describe('Transform', () => { @@ -24,13 +23,13 @@ describe('Transform', () => const scale = otherTransform.scale; const skew = otherTransform.skew; - expect(position.x).to.be.closeTo(20, eps); - expect(position.y).to.be.closeTo(10, eps); - expect(scale.x).to.be.closeTo(2, eps); - expect(scale.y).to.be.closeTo(3, eps); - expect(skew.x).to.equal(0); - expect(skew.y).to.equal(0); - expect(otherTransform.rotation).to.be.closeTo(-5 * Math.PI / 6, eps); + expect(position.x).toBeCloseTo(20, eps); + expect(position.y).toBeCloseTo(10, eps); + expect(scale.x).toBeCloseTo(2, eps); + expect(scale.y).toBeCloseTo(3, eps); + expect(skew.x).toEqual(0); + expect(skew.y).toEqual(0); + expect(otherTransform.rotation).toBeCloseTo(-5 * Math.PI / 6, eps); }); it('should decompose mirror into skew', () => @@ -52,13 +51,13 @@ describe('Transform', () => const scale = otherTransform.scale; const skew = otherTransform.skew; - expect(position.x).to.be.closeTo(20, eps); - expect(position.y).to.be.closeTo(10, eps); - expect(scale.x).to.be.closeTo(2, eps); - expect(scale.y).to.be.closeTo(3, eps); - expect(skew.x).to.be.closeTo(5 * Math.PI / 6, eps); - expect(skew.y).to.be.closeTo(Math.PI / 6, eps); - expect(otherTransform.rotation).to.equal(0); + expect(position.x).toBeCloseTo(20, eps); + expect(position.y).toBeCloseTo(10, eps); + expect(scale.x).toBeCloseTo(2, eps); + expect(scale.y).toBeCloseTo(3, eps); + expect(skew.x).toBeCloseTo(5 * Math.PI / 6, eps); + expect(skew.y).toBeCloseTo(Math.PI / 6, eps); + expect(otherTransform.rotation).toEqual(0); }); it('should apply skew before scale, like in adobe animate and spine', () => @@ -78,12 +77,12 @@ describe('Transform', () => const mat = transform.worldTransform; - expect(mat.a).to.be.closeTo(0.563, eps); - expect(mat.b).to.be.closeTo(0.100, eps); - expect(mat.c).to.be.closeTo(-3.142, eps); - expect(mat.d).to.be.closeTo(2.635, eps); - expect(mat.tx).to.be.closeTo(387.8, eps); - expect(mat.ty).to.be.closeTo(313.95, eps); + expect(mat.a).toBeCloseTo(0.563, eps); + expect(mat.b).toBeCloseTo(0.100, eps); + expect(mat.c).toBeCloseTo(-3.142, eps); + expect(mat.d).toBeCloseTo(2.635, eps); + expect(mat.tx).toBeCloseTo(387.8, eps); + expect(mat.ty).toBeCloseTo(313.95, eps); otherTransform.setFromMatrix(transform.worldTransform); @@ -91,13 +90,13 @@ describe('Transform', () => const scale = otherTransform.scale; const skew = otherTransform.skew; - expect(position.x).to.be.closeTo(387.8, eps); - expect(position.y).to.be.closeTo(313.95, eps); - expect(scale.x).to.be.closeTo(0.572, eps); - expect(scale.y).to.be.closeTo(4.101, eps); - expect(skew.x).to.be.closeTo(-0.873, eps); - expect(skew.y).to.be.closeTo(0.175, eps); - expect(otherTransform.rotation).to.be.equal(0); + expect(position.x).toBeCloseTo(387.8, eps); + expect(position.y).toBeCloseTo(313.95, eps); + expect(scale.x).toBeCloseTo(0.572, eps); + expect(scale.y).toBeCloseTo(4.101, eps); + expect(skew.x).toBeCloseTo(-0.873, eps); + expect(skew.y).toBeCloseTo(0.175, eps); + expect(otherTransform.rotation).toEqual(0); }); }); }); diff --git a/packages/mesh-extras/test/NineSlicePlane.tests.ts b/packages/mesh-extras/test/NineSlicePlane.tests.ts index cb11852984..ca9e11917a 100644 --- a/packages/mesh-extras/test/NineSlicePlane.tests.ts +++ b/packages/mesh-extras/test/NineSlicePlane.tests.ts @@ -1,7 +1,6 @@ import { NineSlicePlane } from '@pixi/mesh-extras'; import { skipHello } from '@pixi/utils'; import { Texture } from '@pixi/core'; -import { expect } from 'chai'; skipHello(); @@ -11,13 +10,13 @@ describe('NineSlicePlane', () => { const plane = new NineSlicePlane(Texture.WHITE); - expect(plane).to.be.an.instanceOf(NineSlicePlane); - expect(plane.leftWidth).equals(10); - expect(plane.rightWidth).equals(10); - expect(plane.topHeight).equals(10); - expect(plane.bottomHeight).equals(10); - expect(plane.width).equals(Texture.WHITE.width); - expect(plane.height).equals(Texture.WHITE.height); + expect(plane).toBeInstanceOf(NineSlicePlane); + expect(plane.leftWidth).toEqual(10); + expect(plane.rightWidth).toEqual(10); + expect(plane.topHeight).toEqual(10); + expect(plane.bottomHeight).toEqual(10); + expect(plane.width).toEqual(Texture.WHITE.width); + expect(plane.height).toEqual(Texture.WHITE.height); plane.destroy(); }); @@ -28,13 +27,13 @@ describe('NineSlicePlane', () => plane.width = 100; plane.height = 100; - expect(plane['_getMinScale']()).to.equal(1); + expect(plane['_getMinScale']()).toEqual(1); plane.width = 10; plane.height = 100; - expect(plane['_getMinScale']()).to.equal(0.5); + expect(plane['_getMinScale']()).toEqual(0.5); plane.width = 100; plane.height = 10; - expect(plane['_getMinScale']()).to.equal(0.5); + expect(plane['_getMinScale']()).toEqual(0.5); plane.destroy(); }); diff --git a/packages/mesh-extras/test/SimpleMesh.tests.ts b/packages/mesh-extras/test/SimpleMesh.tests.ts index 8514d79846..a41566d21c 100644 --- a/packages/mesh-extras/test/SimpleMesh.tests.ts +++ b/packages/mesh-extras/test/SimpleMesh.tests.ts @@ -1,7 +1,6 @@ import { SimpleMesh } from '@pixi/mesh-extras'; import { skipHello } from '@pixi/utils'; import { Renderer, BatchRenderer, extensions } from '@pixi/core'; -import { expect } from 'chai'; skipHello(); @@ -11,8 +10,8 @@ describe('SimpleMesh', () => { const mesh = new SimpleMesh(); - expect(mesh).to.be.instanceOf(SimpleMesh); - expect(mesh.autoUpdate).to.be.true; + expect(mesh).toBeInstanceOf(SimpleMesh); + expect(mesh.autoUpdate).toBe(true); mesh.destroy(); }); diff --git a/packages/mesh-extras/test/SimplePlane.tests.ts b/packages/mesh-extras/test/SimplePlane.tests.ts index 3d5236e7ea..42276c8ec7 100644 --- a/packages/mesh-extras/test/SimplePlane.tests.ts +++ b/packages/mesh-extras/test/SimplePlane.tests.ts @@ -3,7 +3,6 @@ import { skipHello } from '@pixi/utils'; import { Loader } from '@pixi/loaders'; import { Point } from '@pixi/math'; import { Renderer, BatchRenderer, RenderTexture, Texture, extensions } from '@pixi/core'; -import { expect } from 'chai'; skipHello(); @@ -19,8 +18,8 @@ describe('SimplePlane', () => { const plane = new SimplePlane(resources.testBitmap.texture, 100, 100); - expect((plane.geometry as PlaneGeometry).segWidth).to.equal(100); - expect((plane.geometry as PlaneGeometry).segHeight).to.equal(100); + expect((plane.geometry as PlaneGeometry).segWidth).toEqual(100); + expect((plane.geometry as PlaneGeometry).segHeight).toEqual(100); done(); }); }); @@ -29,8 +28,8 @@ describe('SimplePlane', () => { const plane = new SimplePlane(Texture.EMPTY, 100, 100); - expect((plane.geometry as PlaneGeometry).segWidth).to.equal(100); - expect((plane.geometry as PlaneGeometry).segHeight).to.equal(100); + expect((plane.geometry as PlaneGeometry).segWidth).toEqual(100); + expect((plane.geometry as PlaneGeometry).segHeight).toEqual(100); }); describe('containsPoint', () => @@ -41,7 +40,7 @@ describe('SimplePlane', () => const texture = RenderTexture.create({ width: 20, height: 30 }); const plane = new SimplePlane(texture, 100, 100); - expect(plane.containsPoint(point)).to.be.true; + expect(plane.containsPoint(point)).toBe(true); }); it('should return false when point outside', () => @@ -50,7 +49,7 @@ describe('SimplePlane', () => const texture = RenderTexture.create({ width: 20, height: 30 }); const plane = new SimplePlane(texture, 100, 100); - expect(plane.containsPoint(point)).to.be.false; + expect(plane.containsPoint(point)).toBe(false); }); }); diff --git a/packages/mesh-extras/test/SimpleRope.tests.ts b/packages/mesh-extras/test/SimpleRope.tests.ts index 33f7e58c56..1fa70abec3 100644 --- a/packages/mesh-extras/test/SimpleRope.tests.ts +++ b/packages/mesh-extras/test/SimpleRope.tests.ts @@ -3,7 +3,6 @@ import { skipHello } from '@pixi/utils'; import { Loader } from '@pixi/loaders'; import { Point } from '@pixi/math'; import { Renderer, Texture, BatchRenderer, extensions } from '@pixi/core'; -import { expect } from 'chai'; skipHello(); @@ -18,8 +17,8 @@ describe('SimpleRope', () => { const rope = new SimpleRope(resources.testBitmap.texture, [new Point(0, 0), new Point(0, 1)]); - expect(rope).to.be.instanceof(SimpleRope); - expect(rope.autoUpdate).to.be.true; + expect(rope).toBeInstanceOf(SimpleRope); + expect(rope.autoUpdate).toBe(true); rope.destroy(); resources.testBitmap.texture.destroy(true); diff --git a/packages/mesh/test/Mesh.tests.ts b/packages/mesh/test/Mesh.tests.ts index 7014d24112..c61dc44731 100644 --- a/packages/mesh/test/Mesh.tests.ts +++ b/packages/mesh/test/Mesh.tests.ts @@ -1,7 +1,6 @@ import { Mesh, MeshGeometry, MeshMaterial } from '@pixi/mesh'; import { skipHello } from '@pixi/utils'; -import sinon from 'sinon'; -import { expect } from 'chai'; + import { Texture } from '@pixi/core'; skipHello(); @@ -13,62 +12,62 @@ describe('Mesh', () => const geometry1 = new MeshGeometry(new Float32Array([0, 0])); const geometry2 = new MeshGeometry(new Float32Array([1, 1])); - const dispose1 = sinon.spy(geometry1, 'dispose'); - const dispose2 = sinon.spy(geometry2, 'dispose'); + const dispose1 = jest.spyOn(geometry1, 'dispose'); + const dispose2 = jest.spyOn(geometry2, 'dispose'); - expect(geometry1.refCount).to.equal(0); - expect(geometry2.refCount).to.equal(0); - expect(dispose1.called).to.be.false; - expect(dispose2.called).to.be.false; + expect(geometry1.refCount).toEqual(0); + expect(geometry2.refCount).toEqual(0); + expect(dispose1).not.toHaveBeenCalled(); + expect(dispose2).not.toHaveBeenCalled(); const mesh = new Mesh(geometry1, new MeshMaterial(Texture.EMPTY)); - expect(mesh.geometry).to.equal(geometry1); - expect(mesh['vertexDirty']).to.equal(-1); - expect(geometry1.refCount).to.equal(1); - expect(geometry2.refCount).to.equal(0); - expect(dispose1.called).to.be.false; - expect(dispose2.called).to.be.false; + expect(mesh.geometry).toEqual(geometry1); + expect(mesh['vertexDirty']).toEqual(-1); + expect(geometry1.refCount).toEqual(1); + expect(geometry2.refCount).toEqual(0); + expect(dispose1).not.toHaveBeenCalled(); + expect(dispose2).not.toHaveBeenCalled(); mesh.calculateVertices(); - expect(mesh['vertexDirty']).to.equal(mesh.verticesBuffer._updateID); - expect(mesh['vertexData'][0]).to.equal(0); - expect(mesh['vertexData'][1]).to.equal(0); + expect(mesh['vertexDirty']).toEqual(mesh.verticesBuffer._updateID); + expect(mesh['vertexData'][0]).toEqual(0); + expect(mesh['vertexData'][1]).toEqual(0); mesh.geometry = geometry1; - expect(mesh.geometry).to.equal(geometry1); - expect(mesh['vertexDirty']).to.equal(mesh.verticesBuffer._updateID); - expect(mesh['vertexData'][0]).to.equal(0); - expect(mesh['vertexData'][1]).to.equal(0); - expect(geometry1.refCount).to.equal(1); - expect(geometry2.refCount).to.equal(0); - expect(dispose1.called).to.be.false; - expect(dispose2.called).to.be.false; + expect(mesh.geometry).toEqual(geometry1); + expect(mesh['vertexDirty']).toEqual(mesh.verticesBuffer._updateID); + expect(mesh['vertexData'][0]).toEqual(0); + expect(mesh['vertexData'][1]).toEqual(0); + expect(geometry1.refCount).toEqual(1); + expect(geometry2.refCount).toEqual(0); + expect(dispose1).not.toHaveBeenCalled(); + expect(dispose2).not.toHaveBeenCalled(); mesh.geometry = geometry2; - expect(mesh.geometry).to.equal(geometry2); - expect(mesh['vertexDirty']).to.equal(-1); - expect(geometry1.refCount).to.equal(0); - expect(geometry2.refCount).to.equal(1); - expect(dispose1.called).to.be.true; - expect(dispose2.called).to.be.false; + expect(mesh.geometry).toEqual(geometry2); + expect(mesh['vertexDirty']).toEqual(-1); + expect(geometry1.refCount).toEqual(0); + expect(geometry2.refCount).toEqual(1); + expect(dispose1).toBeCalled(); + expect(dispose2).not.toHaveBeenCalled(); mesh.calculateVertices(); - expect(mesh['vertexDirty']).to.equal(mesh.verticesBuffer._updateID); - expect(mesh['vertexData'][0]).to.equal(1); - expect(mesh['vertexData'][1]).to.equal(1); + expect(mesh['vertexDirty']).toEqual(mesh.verticesBuffer._updateID); + expect(mesh['vertexData'][0]).toEqual(1); + expect(mesh['vertexData'][1]).toEqual(1); mesh.destroy(); - expect(mesh.geometry).to.equal(null); - expect(mesh['vertexDirty']).to.equal(-1); - expect(geometry1.refCount).to.equal(0); - expect(geometry2.refCount).to.equal(0); - expect(dispose1.called).to.be.true; - expect(dispose2.called).to.be.true; + expect(mesh.geometry).toEqual(null); + expect(mesh['vertexDirty']).toEqual(-1); + expect(geometry1.refCount).toEqual(0); + expect(geometry2.refCount).toEqual(0); + expect(dispose1).toBeCalled(); + expect(dispose2).toBeCalled(); }); }); diff --git a/packages/mixin-cache-as-bitmap/test/cacheAsBitmap.tests.ts b/packages/mixin-cache-as-bitmap/test/cacheAsBitmap.tests.ts index ed9c37e3cb..4e2d5ce162 100644 --- a/packages/mixin-cache-as-bitmap/test/cacheAsBitmap.tests.ts +++ b/packages/mixin-cache-as-bitmap/test/cacheAsBitmap.tests.ts @@ -1,23 +1,22 @@ import { DisplayObject, Container } from '@pixi/display'; import { Renderer, Filter, extensions, BatchRenderer } from '@pixi/core'; import { Rectangle } from '@pixi/math'; -import { expect } from 'chai'; import '@pixi/mixin-cache-as-bitmap'; describe('DisplayObject#cacheAsBitmap', () => { - before(() => extensions.add(BatchRenderer)); - after(() => extensions.remove(BatchRenderer)); + beforeAll(() => extensions.add(BatchRenderer)); + afterAll(() => extensions.remove(BatchRenderer)); it('should contain property', () => { // @ts-expect-error - instantiating DisplayObject const obj = new DisplayObject(); - expect(obj.cacheAsBitmap).to.be.not.undefined; - expect(obj.cacheAsBitmap).to.be.a('boolean'); - expect(obj.cacheAsBitmap).to.be.false; + expect(obj.cacheAsBitmap).toBeDefined(); + expect(obj.cacheAsBitmap).toBeBoolean(); + expect(obj.cacheAsBitmap).toBe(false); }); it('should enable cacheAsBitmap', () => @@ -58,18 +57,18 @@ describe('DisplayObject#cacheAsBitmap', () => let src = renderer.renderTexture.sourceFrame; let dest = renderer.renderTexture.destinationFrame; - expect(src.toString()).to.equal(srcExpected.toString()); - expect(dest.toString()).to.equal(destExpected.toString()); + expect(src.toString()).toEqual(srcExpected.toString()); + expect(dest.toString()).toEqual(destExpected.toString()); obj.render(renderer); src = renderer.renderTexture.sourceFrame; dest = renderer.renderTexture.destinationFrame; - expect(obj._cacheData.sprite.width).to.equal(10); - expect(obj._cacheData.sprite.height).to.equal(11); - expect(src.toString()).to.equal(srcExpected.toString()); - expect(dest.toString()).to.equal(destExpected.toString()); + expect(obj._cacheData.sprite.width).toEqual(10); + expect(obj._cacheData.sprite.height).toEqual(11); + expect(src.toString()).toEqual(srcExpected.toString()); + expect(dest.toString()).toEqual(destExpected.toString()); } finally { @@ -98,7 +97,7 @@ describe('DisplayObject#cacheAsBitmap', () => { renderer.destroy(); } - }).to.not.throw(); + }).not.toThrowError(); }); it('should respect projection', () => @@ -133,10 +132,10 @@ describe('DisplayObject#cacheAsBitmap', () => const src = renderer.renderTexture.sourceFrame; const dest = renderer.renderTexture.destinationFrame; - expect(obj._cacheData.sprite.width).to.equal(10); - expect(obj._cacheData.sprite.height).to.equal(11); - expect(src.toString()).to.equal(srcExpected.toString()); - expect(dest.toString()).to.equal(destExpected.toString()); + expect(obj._cacheData.sprite.width).toEqual(10); + expect(obj._cacheData.sprite.height).toEqual(11); + expect(src.toString()).toEqual(srcExpected.toString()); + expect(dest.toString()).toEqual(destExpected.toString()); } finally { diff --git a/packages/mixin-get-child-by-name/test/getChildByName.tests.ts b/packages/mixin-get-child-by-name/test/getChildByName.tests.ts index 2d08438e7e..cb9e78158c 100644 --- a/packages/mixin-get-child-by-name/test/getChildByName.tests.ts +++ b/packages/mixin-get-child-by-name/test/getChildByName.tests.ts @@ -1,5 +1,4 @@ import { DisplayObject, Container } from '@pixi/display'; -import { expect } from 'chai'; import '@pixi/mixin-get-child-by-name'; @@ -10,8 +9,8 @@ describe('DisplayObject#name', () => // @ts-expect-error - instantiating DisplayObject const obj = new DisplayObject(); - expect(obj.name).to.be.not.undefined; - expect(obj.name).to.be.null; + expect(obj.name).toBeDefined(); + expect(obj.name).toBeNull(); }); }); @@ -21,8 +20,8 @@ describe('Container#getChildByName', () => { const parent = new Container(); - expect(parent.getChildByName).to.be.not.undefined; - expect(parent.getChildByName).to.be.a('function'); + expect(parent.getChildByName).toBeDefined(); + expect(parent.getChildByName).toBeInstanceOf(Function); }); it('should correctly find a child by its name', () => @@ -34,7 +33,7 @@ describe('Container#getChildByName', () => obj.name = 'foo'; parent.addChild(obj); - expect(parent.getChildByName('foo')).to.equal(obj); + expect(parent.getChildByName('foo')).toEqual(obj); }); it('should correctly find a indirect child by its name in deep search', () => @@ -48,7 +47,7 @@ describe('Container#getChildByName', () => parent.addChild(obj); grandParent.addChild(parent); - expect(grandParent.getChildByName('foo', true)).to.equal(obj); + expect(grandParent.getChildByName('foo', true)).toEqual(obj); }); it('should return null if name does not exist', () => @@ -59,7 +58,7 @@ describe('Container#getChildByName', () => root.addChild(new DisplayObject()); root.addChild(new Container()); - expect(root.getChildByName('mock-name', true)).to.equal(null); + expect(root.getChildByName('mock-name', true)).toEqual(null); }); it('should return the match highest in the hierarchy', () => @@ -76,6 +75,6 @@ describe('Container#getChildByName', () => uncle.name = 'mock-target'; target.name = 'mock-target'; - expect(stage.getChildByName('mock-target', true)).to.equal(uncle); + expect(stage.getChildByName('mock-target', true)).toEqual(uncle); }); }); diff --git a/packages/mixin-get-global-position/test/getGlobalPosition.tests.ts b/packages/mixin-get-global-position/test/getGlobalPosition.tests.ts index 3a999f4bca..73139d328d 100644 --- a/packages/mixin-get-global-position/test/getGlobalPosition.tests.ts +++ b/packages/mixin-get-global-position/test/getGlobalPosition.tests.ts @@ -1,5 +1,4 @@ import { Container, DisplayObject } from '@pixi/display'; -import { expect } from 'chai'; import '@pixi/mixin-get-global-position'; @@ -10,8 +9,8 @@ describe('DisplayObject#getGlobalPosition', () => // @ts-expect-error - instantiating DisplayObject const obj = new DisplayObject(); - expect(obj.getGlobalPosition).to.be.not.undefined; - expect(obj.getGlobalPosition).to.be.a('function'); + expect(obj.getGlobalPosition).toBeDefined(); + expect(obj.getGlobalPosition).toBeInstanceOf(Function); }); it('should return correct global coordinates of a displayObject, without depending on its pivot', () => @@ -30,15 +29,15 @@ describe('DisplayObject#getGlobalPosition', () => let globalPoint = container.getGlobalPosition(); - expect(globalPoint.x).to.equal(80); - expect(globalPoint.y).to.equal(160); + expect(globalPoint.x).toEqual(80); + expect(globalPoint.y).toEqual(160); // check but skipUpdate parent.position.set(200, 200); globalPoint = container.getGlobalPosition(globalPoint, true); - expect(globalPoint.x).to.equal(80); - expect(globalPoint.y).to.equal(160); + expect(globalPoint.x).toEqual(80); + expect(globalPoint.y).toEqual(160); }); }); diff --git a/packages/particle-container/test/ParticleContainer.tests.ts b/packages/particle-container/test/ParticleContainer.tests.ts index f0e9a16243..02cc376ea8 100644 --- a/packages/particle-container/test/ParticleContainer.tests.ts +++ b/packages/particle-container/test/ParticleContainer.tests.ts @@ -1,7 +1,6 @@ import { ParticleContainer } from '@pixi/particle-container'; import { Sprite } from '@pixi/sprite'; import { Texture } from '@pixi/core'; -import { expect } from 'chai'; describe('ParticleContainer', () => { @@ -9,8 +8,8 @@ describe('ParticleContainer', () => { const container = new ParticleContainer(); - expect(container).to.be.an.instanceOf(ParticleContainer); - expect(container.children).to.have.length(0); + expect(container).toBeInstanceOf(ParticleContainer); + expect(container.children).toHaveLength(0); container.destroy(); }); diff --git a/packages/particle-container/test/ParticleRenderer.tests.ts b/packages/particle-container/test/ParticleRenderer.tests.ts index a913d6b349..62f46adc2c 100644 --- a/packages/particle-container/test/ParticleRenderer.tests.ts +++ b/packages/particle-container/test/ParticleRenderer.tests.ts @@ -2,22 +2,22 @@ import { ParticleContainer, ParticleRenderer } from '@pixi/particle-container'; import { Texture, Renderer, extensions } from '@pixi/core'; import { skipHello } from '@pixi/utils'; import { Sprite } from '@pixi/sprite'; -import { expect } from 'chai'; + import path from 'path'; skipHello(); describe('ParticleRenderer', () => { - before(() => extensions.add(ParticleRenderer)); - after(() => extensions.remove(ParticleRenderer)); + beforeAll(() => extensions.add(ParticleRenderer)); + afterAll(() => extensions.remove(ParticleRenderer)); it('should render a particle container with no children', () => { const renderer = new Renderer(); const container = new ParticleContainer(); - expect(container.children.length).to.equal(0); + expect(container.children.length).toEqual(0); renderer.render(container); container.destroy(); @@ -44,7 +44,7 @@ describe('ParticleRenderer', () => const child = Sprite.from(image); - expect(child.texture.baseTexture.valid).to.be.false; + expect(child.texture.baseTexture.valid).toBe(false); const container = new ParticleContainer(); const renderer = new Renderer(); diff --git a/packages/prepare/test/BasePrepare.tests.ts b/packages/prepare/test/BasePrepare.tests.ts index c4eaba858e..fbd2e8c039 100644 --- a/packages/prepare/test/BasePrepare.tests.ts +++ b/packages/prepare/test/BasePrepare.tests.ts @@ -1,6 +1,5 @@ import { BasePrepare } from '@pixi/prepare'; -import sinon from 'sinon'; -import { expect } from 'chai'; + import { AbstractRenderer } from '@pixi/core'; import { DisplayObject } from '@pixi/display'; @@ -11,12 +10,12 @@ describe('BasePrepare', () => const renderer = {} as AbstractRenderer; const prep = new BasePrepare(renderer); - expect(prep['renderer']).to.equal(renderer); - expect(prep['uploadHookHelper']).to.be.null; - expect(prep['queue']).to.be.empty; - expect(prep.addHooks).to.have.lengthOf(5); - expect(prep.uploadHooks).to.have.lengthOf(2); - expect(prep.completes).to.be.empty; + expect(prep['renderer']).toEqual(renderer); + expect(prep['uploadHookHelper']).toBeNull(); + expect(prep['queue']).toBeEmpty(); + expect(prep.addHooks).toHaveLength(5); + expect(prep.uploadHooks).toHaveLength(2); + expect(prep.completes).toBeEmpty(); prep.destroy(); }); @@ -31,10 +30,10 @@ describe('BasePrepare', () => prep.registerFindHook(addHook); prep.registerUploadHook(uploadHook); - expect(prep.addHooks).to.contain(addHook); - expect(prep.addHooks).to.have.lengthOf(6); - expect(prep.uploadHooks).to.contain(uploadHook); - expect(prep.uploadHooks).to.have.lengthOf(3); + expect(prep.addHooks).toEqual(expect.arrayContaining([addHook])); + expect(prep.addHooks).toHaveLength(6); + expect(prep.uploadHooks).toEqual(expect.arrayContaining([uploadHook])); + expect(prep.uploadHooks).toHaveLength(3); prep.destroy(); }); @@ -48,18 +47,18 @@ describe('BasePrepare', () => prep['uploadHookHelper'] = uploadHelper; - const addHook = sinon.spy((item, queue) => + const addHook = jest.fn((item, queue) => { - expect(item).to.equal(uploadItem); - expect(queue).to.equal(prep['queue']); + expect(item).toEqual(uploadItem); + expect(queue).toEqual(prep['queue']); queue.push(item); return true; }); - const uploadHook = sinon.spy((helper, item) => + const uploadHook = jest.fn((helper, item) => { - expect(helper).to.equal(uploadHelper); - expect(item).to.equal(uploadItem); + expect(helper).toEqual(uploadHelper); + expect(item).toEqual(uploadItem); return true; }); @@ -68,12 +67,12 @@ describe('BasePrepare', () => prep.registerUploadHook(uploadHook); prep.upload(uploadItem); - expect(prep['queue']).to.contain(uploadItem); + expect(prep['queue']).toEqual(expect.arrayContaining([uploadItem])); prep.prepareItems(); - expect(addHook.calledOnce).to.be.true; - expect(uploadHook.calledOnce).to.be.true; + expect(addHook).toBeCalledTimes(1); + expect(uploadHook).toBeCalledTimes(1); prep.destroy(); }); @@ -87,12 +86,12 @@ describe('BasePrepare', () => { return false; } - const complete = sinon.spy(() => { /* empty */ }); + const complete = jest.fn(() => { /* empty */ }); prep.registerFindHook(addHook); await prep.upload({} as DisplayObject).then(complete); - expect(complete.calledOnce).to.be.true; + expect(complete).toBeCalledTimes(1); prep.destroy(); }); @@ -102,26 +101,26 @@ describe('BasePrepare', () => const renderer = {} as AbstractRenderer; const prep = new BasePrepare(renderer); - const addHook = sinon.spy((item, queue) => + const addHook = jest.fn((item, queue) => { queue.push(item); return true; }); - const uploadHook = sinon.spy(() => + const uploadHook = jest.fn(() => false); prep.registerFindHook(addHook); prep.registerUploadHook(uploadHook); prep.upload({} as DisplayObject); - expect(prep['queue']).to.have.lengthOf(1); + expect(prep['queue']).toHaveLength(1); prep.prepareItems(); - expect(prep['queue']).to.be.empty; - expect(addHook.calledOnce).to.be.true; - expect(uploadHook.calledOnce).to.be.true; + expect(prep['queue']).toBeEmpty(); + expect(addHook).toBeCalledTimes(1); + expect(uploadHook).toBeCalledTimes(1); prep.destroy(); }); @@ -131,13 +130,13 @@ describe('BasePrepare', () => const renderer = {} as AbstractRenderer; const prep = new BasePrepare(renderer); - const addHook = sinon.spy((item, queue) => + const addHook = jest.fn((item, queue) => { queue.push(item); return true; }); - const uploadHook = sinon.spy(() => + const uploadHook = jest.fn(() => false); prep.registerFindHook(addHook); @@ -146,14 +145,14 @@ describe('BasePrepare', () => prep.upload(item); - expect(prep['queue']).to.have.lengthOf(1); + expect(prep['queue']).toHaveLength(1); item['_destroyed'] = true; prep.prepareItems(); - expect(prep['queue']).to.be.empty; - expect(addHook.calledOnce).to.be.true; - expect(uploadHook.called).to.be.false; + expect(prep['queue']).toBeEmpty(); + expect(addHook).toBeCalledTimes(1); + expect(uploadHook).not.toHaveBeenCalled(); prep.destroy(); }); @@ -163,21 +162,21 @@ describe('BasePrepare', () => const renderer = {} as AbstractRenderer; const prep = new BasePrepare(renderer); - const addHook = sinon.spy((item, queue) => + const addHook = jest.fn((item, queue) => { queue.push(item); return true; }); - const uploadHook = sinon.spy(() => true); + const uploadHook = jest.fn(() => true); prep.registerFindHook(addHook); prep.registerUploadHook(uploadHook); await prep.upload({} as DisplayObject); - expect(prep['queue']).to.be.empty; - expect(addHook.calledOnce).to.be.true; - expect(uploadHook.calledOnce).to.be.true; + expect(prep['queue']).toBeEmpty(); + expect(addHook).toBeCalledTimes(1); + expect(uploadHook).toBeCalledTimes(1); prep.destroy(); }); diff --git a/packages/prepare/test/CountLimiter.tests.ts b/packages/prepare/test/CountLimiter.tests.ts index 3290ea1bf6..1472867121 100644 --- a/packages/prepare/test/CountLimiter.tests.ts +++ b/packages/prepare/test/CountLimiter.tests.ts @@ -1,5 +1,4 @@ import { CountLimiter } from '@pixi/prepare'; -import { expect } from 'chai'; describe('CountLimiter', () => { @@ -8,15 +7,15 @@ describe('CountLimiter', () => const limit = new CountLimiter(3); limit.beginFrame(); - expect(limit.allowedToUpload()).to.be.true; - expect(limit.allowedToUpload()).to.be.true; - expect(limit.allowedToUpload()).to.be.true; - expect(limit.allowedToUpload()).to.be.false; + expect(limit.allowedToUpload()).toBe(true); + expect(limit.allowedToUpload()).toBe(true); + expect(limit.allowedToUpload()).toBe(true); + expect(limit.allowedToUpload()).toBe(false); limit.beginFrame(); - expect(limit.allowedToUpload()).to.be.true; - expect(limit.allowedToUpload()).to.be.true; - expect(limit.allowedToUpload()).to.be.true; - expect(limit.allowedToUpload()).to.be.false; + expect(limit.allowedToUpload()).toBe(true); + expect(limit.allowedToUpload()).toBe(true); + expect(limit.allowedToUpload()).toBe(true); + expect(limit.allowedToUpload()).toBe(false); }); }); diff --git a/packages/prepare/test/Prepare.tests.ts b/packages/prepare/test/Prepare.tests.ts index 4010e40877..c007f60646 100644 --- a/packages/prepare/test/Prepare.tests.ts +++ b/packages/prepare/test/Prepare.tests.ts @@ -2,12 +2,11 @@ import { Prepare } from '@pixi/prepare'; import { BatchRenderer, extensions, Renderer, Texture } from '@pixi/core'; import { Container } from '@pixi/display'; import { Graphics } from '@pixi/graphics'; -import { expect } from 'chai'; describe('Prepare', () => { - before(() => extensions.add(BatchRenderer)); - after(() => extensions.remove(BatchRenderer)); + beforeAll(() => extensions.add(BatchRenderer)); + afterAll(() => extensions.remove(BatchRenderer)); it('should upload graphics vao and textures', () => { @@ -37,10 +36,10 @@ describe('Prepare', () => prepare.add(container); prepare.prepareItems(); - expect(Object.keys(texture.baseTexture._glTextures)).to.eql([`${CONTEXT_UID}`]); - expect(graphics.geometry.batches.length).to.equal(2); - expect(vaos[CONTEXT_UID]).to.exist; - expect(Object.keys(vaos[CONTEXT_UID]).length).to.equal(2); // [shader_id] and [signature] + expect(Object.keys(texture.baseTexture._glTextures)).toEqual([`${CONTEXT_UID}`]); + expect(graphics.geometry.batches.length).toEqual(2); + expect(vaos[CONTEXT_UID]).toBeDefined(); + expect(Object.keys(vaos[CONTEXT_UID]).length).toEqual(2); // [shader_id] and [signature] } finally { diff --git a/packages/prepare/test/TimeLimiter.tests.ts b/packages/prepare/test/TimeLimiter.tests.ts index 3300b58b44..0e55cb19e7 100644 --- a/packages/prepare/test/TimeLimiter.tests.ts +++ b/packages/prepare/test/TimeLimiter.tests.ts @@ -1,28 +1,25 @@ import { TimeLimiter } from '@pixi/prepare'; -import { expect } from 'chai'; describe('TimeLimiter', () => { // eslint-disable-next-line func-names it('should limit to stop after time from beginFrame()', function (done) { - this.slow(500); - const limit = new TimeLimiter(100); limit.beginFrame(); for (let i = 0; i < 20; ++i) { - expect(limit.allowedToUpload()).to.be.true; + expect(limit.allowedToUpload()).toBe(true); } setTimeout(() => { - expect(limit.allowedToUpload()).to.be.false; + expect(limit.allowedToUpload()).toBe(false); limit.beginFrame(); - expect(limit.allowedToUpload()).to.be.true; + expect(limit.allowedToUpload()).toBe(true); done(); }, 200); diff --git a/packages/runner/test/Runner.tests.ts b/packages/runner/test/Runner.tests.ts index 3aed18f28d..09f31d7f86 100644 --- a/packages/runner/test/Runner.tests.ts +++ b/packages/runner/test/Runner.tests.ts @@ -1,40 +1,38 @@ import { Runner } from '@pixi/runner'; -import sinon from 'sinon'; -import { expect } from 'chai'; describe('Runner', () => { it('should should exist', () => { - expect(Runner).to.be.not.undefined; - expect(typeof Runner).to.equal('function'); + expect(Runner).toBeDefined(); + expect(typeof Runner).toEqual('function'); }); it('should implement emit', () => { const complete = new Runner('complete'); - expect(complete.name).to.equal('complete'); - const callback = sinon.spy(); + expect(complete.name).toEqual('complete'); + const callback = jest.fn(); complete.add({ complete: callback }); complete.emit(); - expect(callback.called).to.be.true; - expect(callback.calledOnce).to.be.true; + expect(callback).toBeCalled(); + expect(callback).toBeCalledTimes(1); complete.emit(); - expect(callback.calledTwice).to.be.true; + expect(callback).toBeCalledTimes(2); complete.emit(); - expect(callback.calledThrice).to.be.true; + expect(callback).toBeCalledTimes(3); complete.destroy(); - expect(!complete.items).to.be.true; - expect(!complete.name).to.be.true; + expect(!complete.items).toBe(true); + expect(!complete.name).toBe(true); }); it('should implement emit with arguments', () => { const update = new Runner('update'); // eslint-disable-next-line func-names - const callback = sinon.spy(function (time, delta) + const callback = jest.fn(function (time, delta) { let len = 0; // Count the number of non-undefined arguments @@ -47,15 +45,15 @@ describe('Runner', () => len++; } } - expect(len).to.equal(2); - expect(time).to.equal(1); - expect(delta).to.equal(2); + expect(len).toEqual(2); + expect(time).toEqual(1); + expect(delta).toEqual(2); }); update.add({ update: callback }); update.emit(1, 2); - expect(callback.called).to.be.true; - expect(callback.calledOnce).to.be.true; + expect(callback).toBeCalled(); + expect(callback).toBeCalledTimes(1); }); it('should throw an error with too many arguments', () => @@ -74,34 +72,34 @@ describe('Runner', () => } catch (e) { - expect(!!e).to.be.true; - expect((e as Error).message).to.equal('max arguments reached'); + expect(!!e).toBe(true); + expect((e as Error).message).toEqual('max arguments reached'); } }); it('should implement multiple targets', () => { const complete = new Runner('complete'); - const obj = { complete: sinon.spy() }; - const obj2 = { complete: sinon.spy() }; + const obj = { complete: jest.fn() }; + const obj2 = { complete: jest.fn() }; - expect(complete.empty).to.be.true; + expect(complete.empty).toBe(true); complete.add(obj); - expect(complete.contains(obj)).to.be.true; + expect(complete.contains(obj)).toBe(true); complete.add(obj2); - expect(complete.contains(obj2)).to.be.true; + expect(complete.contains(obj2)).toBe(true); complete.emit(); - expect(!complete.empty).to.be.true; - expect(complete.items.length).to.equal(2); - expect(obj.complete.called).to.be.true; - expect(obj.complete.calledOnce).to.be.true; - expect(obj2.complete.called).to.be.true; - expect(obj2.complete.calledOnce).to.be.true; + expect(!complete.empty).toBe(true); + expect(complete.items.length).toEqual(2); + expect(obj.complete).toBeCalled(); + expect(obj.complete).toBeCalledTimes(1); + expect(obj2.complete).toBeCalled(); + expect(obj2.complete).toBeCalledTimes(1); complete.remove(obj); - expect(complete.items.length).to.equal(1); + expect(complete.items.length).toEqual(1); complete.remove(obj2); - expect(complete.items.length).to.equal(0); - expect(complete.empty).to.be.true; + expect(complete.items.length).toEqual(0); + expect(complete.empty).toBe(true); }); it('should implement removeAll', () => @@ -118,10 +116,10 @@ describe('Runner', () => .add(obj2) .add(obj3); - expect(complete.items.length).to.equal(2); + expect(complete.items.length).toEqual(2); complete.removeAll(); - expect(complete.empty).to.be.true; + expect(complete.empty).toBe(true); }); it('should not add items more than once', () => @@ -131,7 +129,7 @@ describe('Runner', () => const obj = { complete() {} }; complete.add(obj).add(obj); - expect(complete.items.length).to.equal(1); + expect(complete.items.length).toEqual(1); }); it('should not not bug out is items are removed items whilst mid run', () => @@ -161,7 +159,7 @@ describe('Runner', () => complete.emit(); - expect(complete.items.length).to.equal(0); - expect(tick).to.equal(10); + expect(complete.items.length).toEqual(0); + expect(tick).toEqual(10); }); }); diff --git a/packages/settings/test/settings.tests.ts b/packages/settings/test/settings.tests.ts index a7326fca67..1d9da16d53 100644 --- a/packages/settings/test/settings.tests.ts +++ b/packages/settings/test/settings.tests.ts @@ -1,80 +1,80 @@ import { settings } from '@pixi/settings'; -import { expect } from 'chai'; +import '@pixi/core'; describe('settings', () => { it('should have MIPMAP_TEXTURES', () => { - expect(settings.MIPMAP_TEXTURES).to.be.a('number'); + expect(settings.MIPMAP_TEXTURES).toBeNumber(); }); it('should have RESOLUTION', () => { - expect(settings.RESOLUTION).to.be.a('number'); + expect(settings.RESOLUTION).toBeNumber(); }); it('should have PREFER_ENV', () => { - expect(settings.PREFER_ENV).to.be.a('number'); + expect(settings.PREFER_ENV).toBeNumber(); }); it('should have FILTER_RESOLUTION', () => { - expect(settings.FILTER_RESOLUTION).to.be.a('number'); + expect(settings.FILTER_RESOLUTION).toBeNumber(); }); it('should have SPRITE_MAX_TEXTURES', () => { - expect(settings.SPRITE_MAX_TEXTURES).to.be.a('number'); + expect(settings.SPRITE_MAX_TEXTURES).toBeNumber(); }); it('should have SPRITE_BATCH_SIZE', () => { - expect(settings.SPRITE_BATCH_SIZE).to.be.a('number'); + expect(settings.SPRITE_BATCH_SIZE).toBeNumber(); }); it('should have RENDER_OPTIONS', () => { - expect(settings.RENDER_OPTIONS).to.be.an('object'); + expect(settings.RENDER_OPTIONS).toBeObject(); }); it('should have GC_MODE', () => { - expect(settings.GC_MODE).to.be.a('number'); + expect(settings.GC_MODE).toBeNumber(); }); it('should have GC_MAX_IDLE', () => { - expect(settings.GC_MAX_IDLE).to.be.a('number'); + expect(settings.GC_MAX_IDLE).toBeNumber(); }); it('should have GC_MAX_CHECK_COUNT', () => { - expect(settings.GC_MAX_CHECK_COUNT).to.be.a('number'); + expect(settings.GC_MAX_CHECK_COUNT).toBeNumber(); }); it('should have WRAP_MODE', () => { - expect(settings.WRAP_MODE).to.be.a('number'); + expect(settings.WRAP_MODE).toBeNumber(); }); it('should have SCALE_MODE', () => { - expect(settings.SCALE_MODE).to.be.a('number'); + expect(settings.SCALE_MODE).toBeNumber(); }); it('should have PRECISION_VERTEX', () => { - expect(settings.PRECISION_VERTEX).to.be.a.string; + expect(settings.PRECISION_VERTEX).toBeString(); }); it('should have PRECISION_FRAGMENT', () => { - expect(settings.PRECISION_FRAGMENT).to.be.a.string; + expect(settings.PRECISION_FRAGMENT).toBeString(); }); it('should have CAN_UPLOAD_SAME_BUFFER', () => { - expect(settings.CAN_UPLOAD_SAME_BUFFER).to.be.a('boolean'); + expect(settings.CAN_UPLOAD_SAME_BUFFER).toBeBoolean(); }); }); diff --git a/packages/sprite-animated/test/AnimatedSprite.tests.ts b/packages/sprite-animated/test/AnimatedSprite.tests.ts index f2d73bdb66..ab418e4c72 100644 --- a/packages/sprite-animated/test/AnimatedSprite.tests.ts +++ b/packages/sprite-animated/test/AnimatedSprite.tests.ts @@ -1,6 +1,5 @@ import { AnimatedSprite } from '@pixi/sprite-animated'; import { Texture } from '@pixi/core'; -import { expect } from 'chai'; describe('AnimatedSprite', () => { @@ -16,12 +15,12 @@ describe('AnimatedSprite', () => afterEach(() => { - expect(sprite.animationSpeed).to.be.equal(1); - expect(sprite.loop).to.be.true; - expect(sprite.onComplete).to.be.null; - expect(sprite.onFrameChange).to.be.null; - expect(sprite.onLoop).to.be.null; - expect(sprite.playing).to.be.false; + expect(sprite.animationSpeed).toEqual(1); + expect(sprite.loop).toBe(true); + expect(sprite.onComplete).toBeNull(); + expect(sprite.onFrameChange).toBeNull(); + expect(sprite.onLoop).toBeNull(); + expect(sprite.playing).toBe(false); sprite.destroy(); sprite = null; @@ -30,21 +29,21 @@ describe('AnimatedSprite', () => it('should be correct with default options', () => { sprite = new AnimatedSprite(textures); - expect(sprite['_autoUpdate']).to.be.true; + expect(sprite['_autoUpdate']).toBe(true); }); it('should be correct with autoUpdate=false', () => { sprite = new AnimatedSprite(textures, false); - expect(sprite['_autoUpdate']).to.be.false; + expect(sprite['_autoUpdate']).toBe(false); }); it('should be correct with autoUpdate=true but then turned off via setter', () => { sprite = new AnimatedSprite(textures, true); - expect(sprite['_autoUpdate']).to.be.true; + expect(sprite['_autoUpdate']).toBe(true); sprite.autoUpdate = false; - expect(sprite['_autoUpdate']).to.be.false; + expect(sprite['_autoUpdate']).toBe(false); }); }); @@ -52,12 +51,12 @@ describe('AnimatedSprite', () => { let sprite: AnimatedSprite; - before(() => + beforeAll(() => { sprite = new AnimatedSprite([Texture.EMPTY], false); }); - after(() => + afterAll(() => { sprite.destroy(); sprite = null; @@ -66,7 +65,7 @@ describe('AnimatedSprite', () => afterEach(() => { sprite.stop(); - expect(sprite.playing).to.be.false; + expect(sprite.playing).toBe(false); }); it('should stop playing if it is playing', () => @@ -84,12 +83,12 @@ describe('AnimatedSprite', () => { let sprite: AnimatedSprite; - before(() => + beforeAll(() => { sprite = new AnimatedSprite([Texture.EMPTY], false); }); - after(() => + afterAll(() => { sprite.destroy(); sprite = null; @@ -98,7 +97,7 @@ describe('AnimatedSprite', () => afterEach(() => { sprite.play(); - expect(sprite.playing).to.be.true; + expect(sprite.playing).toBe(true); }); it('should start playing if it is not playing', () => @@ -116,41 +115,39 @@ describe('AnimatedSprite', () => { let sprite: AnimatedSprite; - before(() => + beforeAll(() => { sprite = new AnimatedSprite([Texture.WHITE, Texture.WHITE, Texture.EMPTY]); sprite.animationSpeed = 0.5; sprite.loop = false; }); - after(() => + afterAll(() => { sprite.destroy(); sprite = null; }); // eslint-disable-next-line func-names - it('should fire onComplete', function (done) + it('should fire onComplete', (done) => { - this.timeout(( - sprite.textures.length * 1000 / 60 / sprite.animationSpeed) - + (1000 / 60 / sprite.animationSpeed * 0.9) - ); + jest.setTimeout(5000); sprite.onComplete = () => { sprite.onComplete = null; done(); }; sprite.play(); - expect(sprite.playing).to.be.true; + expect(sprite.playing).toBe(true); }); it('should the current texture be the last item in textures', (done) => { + jest.setTimeout(5000); sprite.play(); sprite.onComplete = () => { - expect(sprite.texture === sprite.textures[sprite.currentFrame]).to.be.true; + expect(sprite.texture === sprite.textures[sprite.currentFrame]).toBe(true); sprite.onComplete = null; done(); }; @@ -161,14 +158,14 @@ describe('AnimatedSprite', () => { let sprite: AnimatedSprite; - before(() => + beforeAll(() => { sprite = new AnimatedSprite([Texture.EMPTY, Texture.EMPTY, Texture.EMPTY]); sprite.animationSpeed = 0.5; sprite.loop = false; }); - after(() => + afterAll(() => { sprite.destroy(); sprite = null; @@ -176,12 +173,13 @@ describe('AnimatedSprite', () => it('should fire frame after start frame during one play and fire onComplete', (done) => { + jest.setTimeout(5000); const frameIds = [] as number[]; sprite.onComplete = () => { - expect(frameIds).to.deep.equal([1, 2]); - expect(sprite.playing).to.be.false; + expect(frameIds).toEqual(expect.arrayContaining([1, 2])); + expect(sprite.playing).toBe(false); sprite.onComplete = null; sprite.onFrameChange = null; done(); @@ -191,7 +189,7 @@ describe('AnimatedSprite', () => frameIds.push(frame); }; sprite.gotoAndPlay(1); - expect(sprite.playing).to.be.true; + expect(sprite.playing).toBe(true); }); }); @@ -199,14 +197,14 @@ describe('AnimatedSprite', () => { let sprite: AnimatedSprite; - before(() => + beforeAll(() => { sprite = new AnimatedSprite([Texture.EMPTY, Texture.EMPTY, Texture.EMPTY]); sprite.animationSpeed = 0.5; sprite.loop = false; }); - after(() => + afterAll(() => { sprite.destroy(); sprite = null; @@ -223,14 +221,14 @@ describe('AnimatedSprite', () => sprite.onFrameChange = (frame) => { - expect(frame).to.equal(targetFrame); - expect(sprite.playing).to.be.false; + expect(frame).toEqual(targetFrame); + expect(sprite.playing).toBe(false); sprite.onComplete = null; sprite.onFrameChange = null; done(); }; sprite.gotoAndStop(targetFrame); - expect(sprite.playing).to.be.false; + expect(sprite.playing).toBe(false); }); it('should not fire onFrameChange on target frame if current is already target', () => @@ -245,8 +243,8 @@ describe('AnimatedSprite', () => fired = true; }; sprite.gotoAndStop(targetFrame); - expect(sprite.playing).to.be.false; - expect(fired).to.be.false; + expect(sprite.playing).toBe(false); + expect(fired).toBe(false); }); }); @@ -254,33 +252,29 @@ describe('AnimatedSprite', () => { let sprite: AnimatedSprite; - before(() => + beforeEach(() => { sprite = new AnimatedSprite([Texture.EMPTY, Texture.WHITE, Texture.EMPTY]); sprite.animationSpeed = 0.5; sprite.loop = false; }); - after(() => + afterEach(() => { sprite.destroy(); sprite = null; }); - beforeEach(() => - { - sprite['_playing'] = false; - }); - it('should fire every frame(except current) during one play', (done) => { + jest.setTimeout(10000); const frameIds = [] as number[]; sprite.gotoAndStop(0); sprite.onComplete = () => { - expect(frameIds).to.deep.equal([1, 2]); // from 0 to 2, triggers onFrameChange at 1,2. - expect(sprite.currentFrame).to.equal(2); + expect(frameIds).toEqual(expect.arrayContaining([1, 2])); // from 0 to 2, triggers onFrameChange at 1,2. + expect(sprite.currentFrame).toEqual(2); sprite.onComplete = null; sprite.onFrameChange = null; done(); @@ -289,20 +283,28 @@ describe('AnimatedSprite', () => { frameIds.push(frame); }; + sprite.autoUpdate = false; sprite.play(); - expect(sprite.playing).to.be.true; + expect(sprite.playing).toBe(true); + sprite.update(1); + sprite.update(1); + sprite.update(1); + sprite.update(1); + sprite.update(1); + sprite.update(1); }); it('should fire every frame(except current) during one play - reverse', (done) => { + jest.setTimeout(10000); const frameIds = [] as number[]; sprite.gotoAndStop(2); - sprite.animationSpeed = -0.5; + sprite.animationSpeed = -1; sprite.onComplete = () => { - expect(frameIds).to.deep.equal([1, 0]); // from 2 to 0, triggers onFrameChange at 1,0. - expect(sprite.currentFrame).to.equal(0); + expect(frameIds).toEqual(expect.arrayContaining([1, 0])); // from 2 to 0, triggers onFrameChange at 1,0. + expect(sprite.currentFrame).toEqual(0); sprite.onComplete = null; sprite.onFrameChange = null; done(); @@ -311,20 +313,25 @@ describe('AnimatedSprite', () => { frameIds.push(frame); }; + sprite.autoUpdate = false; sprite.play(); - expect(sprite.playing).to.be.true; + expect(sprite.playing).toBe(true); + sprite.update(1); + sprite.update(1); + sprite.update(1); }); it('should fire every frame(except current) during one play - from not start/end', (done) => { + jest.setTimeout(10000); const frameIds = [] as number[]; sprite.gotoAndStop(1); - sprite.animationSpeed = -0.5; + sprite.animationSpeed = -1; sprite.onComplete = () => { - expect(frameIds).to.deep.equal([0]); // from 1 to 0, triggers onFrameChange at 0. - expect(sprite.currentFrame).to.equal(0); + expect(frameIds).toEqual(expect.arrayContaining([0])); // from 1 to 0, triggers onFrameChange at 0. + expect(sprite.currentFrame).toEqual(0); sprite.onComplete = null; sprite.onFrameChange = null; done(); @@ -333,8 +340,12 @@ describe('AnimatedSprite', () => { frameIds.push(frame); }; + sprite.autoUpdate = false; sprite.play(); - expect(sprite.playing).to.be.true; + expect(sprite.playing).toBe(true); + sprite.update(1); + sprite.update(1); + sprite.update(1); }); }); @@ -360,8 +371,8 @@ describe('AnimatedSprite', () => sprite.textures = [frame1, frame2, frame3]; - expect(sprite.currentFrame).to.equal(0); - expect(sprite._texture).to.equal(frame1); + expect(sprite.currentFrame).toEqual(0); + expect(sprite._texture).toEqual(frame1); done(); }; diff --git a/packages/sprite-tiling/test/TilingSprite.tests.ts b/packages/sprite-tiling/test/TilingSprite.tests.ts index 05a07499c1..395a142b61 100644 --- a/packages/sprite-tiling/test/TilingSprite.tests.ts +++ b/packages/sprite-tiling/test/TilingSprite.tests.ts @@ -3,8 +3,6 @@ import { Texture, BaseTexture } from '@pixi/core'; import { Point, Rectangle } from '@pixi/math'; import { Sprite } from '@pixi/sprite'; import { TilingSprite } from '@pixi/sprite-tiling'; -import sinon from 'sinon'; -import { expect } from 'chai'; describe('TilingSprite', () => { @@ -24,10 +22,10 @@ describe('TilingSprite', () => const bounds = tilingSprite.getBounds(); - expect(bounds.x).to.equal(-150); - expect(bounds.y).to.equal(-260); - expect(bounds.width).to.equal(400); - expect(bounds.height).to.equal(600); + expect(bounds.x).toEqual(-150); + expect(bounds.y).toEqual(-260); + expect(bounds.width).toEqual(400); + expect(bounds.height).toEqual(600); }); }); @@ -62,26 +60,24 @@ describe('TilingSprite', () => describe('.getLocalBounds()', () => { let tileSprite: TilingSprite; + let spy: jest.SpyInstance; - before(() => + beforeEach(() => { tileSprite = new TilingSprite(Texture.EMPTY, 1, 2); tileSprite.anchor.set(3, 4); - }); - - beforeEach(() => - { - sinon.stub(Sprite.prototype, 'getLocalBounds'); - tileSprite['_bounds'] = { getRectangle: sinon.spy() } as unknown as Bounds; + spy = jest.spyOn(Sprite.prototype, 'getLocalBounds'); + spy.mockReset(); + tileSprite['_bounds'] = { getRectangle: jest.fn() } as unknown as Bounds; }); afterEach(() => { // @ts-expect-error --- - Sprite.prototype.getLocalBounds.restore(); + Sprite.prototype.getLocalBounds.mockClear(); }); - after(() => + afterAll(() => { tileSprite.destroy(); tileSprite = null; @@ -91,8 +87,8 @@ describe('TilingSprite', () => { tileSprite.children.length = 1; tileSprite.getLocalBounds(); - expect(Sprite.prototype.getLocalBounds).to.be.calledOnce; - expect(tileSprite['_bounds'].getRectangle).to.not.be.called; + expect(Sprite.prototype.getLocalBounds).toHaveBeenCalledOnce(); + expect(tileSprite['_bounds'].getRectangle).not.toBeCalled(); }); it('should make quick calc if no children', () => @@ -101,15 +97,15 @@ describe('TilingSprite', () => // @ts-expect-error --- tileSprite.getLocalBounds('dummy'); - expect(tileSprite['_bounds'].getRectangle).to.be.calledOnce; + expect(tileSprite['_bounds'].getRectangle).toHaveBeenCalledOnce(); // @ts-expect-error --- - expect(tileSprite['_bounds'].getRectangle.args[0][0]).to.be.equal('dummy'); - expect(Sprite.prototype.getLocalBounds).to.not.be.called; + expect(tileSprite['_bounds'].getRectangle.mock.calls[0][0]).toEqual('dummy'); + expect(Sprite.prototype.getLocalBounds).not.toBeCalled(); - expect(tileSprite['_bounds'].minX).to.be.equal(-3); - expect(tileSprite['_bounds'].minY).to.be.equal(-8); - expect(tileSprite['_bounds'].maxX).to.be.equal(-2); - expect(tileSprite['_bounds'].maxY).to.be.equal(-6); + expect(tileSprite['_bounds'].minX).toEqual(-3); + expect(tileSprite['_bounds'].minY).toEqual(-8); + expect(tileSprite['_bounds'].maxX).toEqual(-2); + expect(tileSprite['_bounds'].maxY).toEqual(-6); }); it('should assign default rect if rect is not specified', () => @@ -119,15 +115,15 @@ describe('TilingSprite', () => tileSprite['_localBoundsRect'] = 'localRect'; tileSprite.getLocalBounds(); - expect(tileSprite['_bounds'].getRectangle).to.be.calledOnce; + expect(tileSprite['_bounds'].getRectangle).toHaveBeenCalledOnce(); // @ts-expect-error --- - expect(tileSprite['_bounds'].getRectangle.args[0][0]).to.be.equal('localRect'); - expect(Sprite.prototype.getLocalBounds).to.not.be.called; + expect(tileSprite['_bounds'].getRectangle.mock.calls[0][0]).toEqual('localRect'); + expect(Sprite.prototype.getLocalBounds).not.toBeCalled(); - expect(tileSprite['_bounds'].minX).to.be.equal(-3); - expect(tileSprite['_bounds'].minY).to.be.equal(-8); - expect(tileSprite['_bounds'].maxX).to.be.equal(-2); - expect(tileSprite['_bounds'].maxY).to.be.equal(-6); + expect(tileSprite['_bounds'].minX).toEqual(-3); + expect(tileSprite['_bounds'].minY).toEqual(-8); + expect(tileSprite['_bounds'].maxX).toEqual(-2); + expect(tileSprite['_bounds'].maxY).toEqual(-6); }); it('should create and assign rect if default rect is not', () => @@ -136,15 +132,15 @@ describe('TilingSprite', () => tileSprite['_localBoundsRect'] = null; tileSprite.getLocalBounds(); - expect(tileSprite['_bounds'].getRectangle).to.be.calledOnce; + expect(tileSprite['_bounds'].getRectangle).toHaveBeenCalledOnce(); // @ts-expect-error --- - expect(tileSprite['_bounds'].getRectangle.args[0][0]).to.be.instanceof(Rectangle); - expect(Sprite.prototype.getLocalBounds).to.not.be.called; + expect(tileSprite['_bounds'].getRectangle.mock.calls[0][0]).toBeInstanceOf(Rectangle); + expect(Sprite.prototype.getLocalBounds).not.toBeCalled(); - expect(tileSprite['_bounds'].minX).to.be.equal(-3); - expect(tileSprite['_bounds'].minY).to.be.equal(-8); - expect(tileSprite['_bounds'].maxX).to.be.equal(-2); - expect(tileSprite['_bounds'].maxY).to.be.equal(-6); + expect(tileSprite['_bounds'].minX).toEqual(-3); + expect(tileSprite['_bounds'].minY).toEqual(-8); + expect(tileSprite['_bounds'].maxX).toEqual(-2); + expect(tileSprite['_bounds'].maxY).toEqual(-6); }); }); @@ -153,10 +149,10 @@ describe('TilingSprite', () => const texture = new Texture(new BaseTexture()); const tilingSprite = new TilingSprite(texture, 200, 300); - expect(tilingSprite.containsPoint(new Point(0, 0))).to.equal(true); - expect(tilingSprite.containsPoint(new Point(10, 10))).to.equal(true); - expect(tilingSprite.containsPoint(new Point(200, 300))).to.equal(false); - expect(tilingSprite.containsPoint(new Point(300, 400))).to.equal(false); + expect(tilingSprite.containsPoint(new Point(0, 0))).toEqual(true); + expect(tilingSprite.containsPoint(new Point(10, 10))).toEqual(true); + expect(tilingSprite.containsPoint(new Point(200, 300))).toEqual(false); + expect(tilingSprite.containsPoint(new Point(300, 400))).toEqual(false); }); it('gets and sets height and width correctly', () => @@ -167,14 +163,14 @@ describe('TilingSprite', () => tilingSprite.width = 400; tilingSprite.height = 600; - expect(tilingSprite.width).to.equal(400); - expect(tilingSprite.height).to.equal(600); + expect(tilingSprite.width).toEqual(400); + expect(tilingSprite.height).toEqual(600); }); it('should create TilingSprite with nullable texture', () => { const tilingSprite = new TilingSprite(null, 1, 1); - expect(tilingSprite.texture).to.equal(Texture.EMPTY); + expect(tilingSprite.texture).toEqual(Texture.EMPTY); }); }); diff --git a/packages/sprite/test/Sprite.tests.ts b/packages/sprite/test/Sprite.tests.ts index 3615faab9e..5f55adaf16 100755 --- a/packages/sprite/test/Sprite.tests.ts +++ b/packages/sprite/test/Sprite.tests.ts @@ -2,7 +2,6 @@ import { Sprite } from '@pixi/sprite'; import { Texture, BaseTexture, RenderTexture } from '@pixi/core'; import { Container } from '@pixi/display'; import { Point } from '@pixi/math'; -import { expect } from 'chai'; import path from 'path'; @@ -15,9 +14,9 @@ describe('Sprite', () => const sprite = new Sprite(); sprite.width = 100; - expect(sprite.width).to.be.at.least(0); + expect(sprite.width).toBeGreaterThanOrEqual(0); sprite.scale.x = -1; - expect(sprite.width).to.be.at.least(0); + expect(sprite.width).toBeGreaterThanOrEqual(0); }); it('should not change sign of scale.x', () => @@ -29,12 +28,12 @@ describe('Sprite', () => sprite.scale.x = 1; sprite.width = 50; - expect(sprite.scale.x).to.be.above(0); + expect(sprite.scale.x).toBeGreaterThan(0); sprite.scale.x = -1; sprite.width = 75; - expect(sprite.scale.x).to.be.below(0); + expect(sprite.scale.x).toBeLessThan(0); }); }); @@ -45,9 +44,9 @@ describe('Sprite', () => const sprite = new Sprite(); sprite.height = 100; - expect(sprite.height).to.be.at.least(0); + expect(sprite.height).toBeGreaterThanOrEqual(0); sprite.scale.y = -1; - expect(sprite.height).to.be.at.least(0); + expect(sprite.height).toBeGreaterThanOrEqual(0); }); it('should not change sign of scale.y', () => @@ -59,12 +58,12 @@ describe('Sprite', () => sprite.scale.y = 1; sprite.height = 50; - expect(sprite.scale.y).to.be.above(0); + expect(sprite.scale.y).toBeGreaterThan(0); sprite.scale.y = -1; sprite.height = 75; - expect(sprite.scale.y).to.be.below(0); + expect(sprite.scale.y).toBeLessThan(0); }); }); @@ -88,10 +87,10 @@ describe('Sprite', () => const bounds = sprite.getBounds(); - expect(bounds.x).to.equal(-150); - expect(bounds.y).to.equal(-260); - expect(bounds.width).to.equal(400); - expect(bounds.height).to.equal(600); + expect(bounds.x).toEqual(-150); + expect(bounds.y).toEqual(-260); + expect(bounds.width).toEqual(400); + expect(bounds.height).toEqual(600); }); }); @@ -106,10 +105,10 @@ describe('Sprite', () => const bounds = sprite.getLocalBounds(); - expect(bounds.x).to.equal(-10); - expect(bounds.y).to.equal(-15); - expect(bounds.width).to.equal(20); - expect(bounds.height).to.equal(30); + expect(bounds.x).toEqual(-10); + expect(bounds.y).toEqual(-15); + expect(bounds.width).toEqual(20); + expect(bounds.height).toEqual(30); }); it('should not corrupt bounds', () => @@ -122,24 +121,24 @@ describe('Sprite', () => let bounds = sprite.getBounds(false); - expect(bounds.x).to.equal(0); - expect(bounds.y).to.equal(-5); - expect(bounds.width).to.equal(40); - expect(bounds.height).to.equal(30); + expect(Math.abs(bounds.x)).toEqual(0); + expect(bounds.y).toEqual(-5); + expect(bounds.width).toEqual(40); + expect(bounds.height).toEqual(30); bounds = sprite.getLocalBounds(); - expect(bounds.x).to.equal(0); - expect(bounds.y).to.equal(0); - expect(bounds.width).to.equal(20); - expect(bounds.height).to.equal(30); + expect(Math.abs(bounds.x)).toEqual(0); + expect(Math.abs(bounds.y)).toEqual(0); + expect(bounds.width).toEqual(20); + expect(bounds.height).toEqual(30); bounds = sprite.getBounds(true); - expect(bounds.x).to.equal(0); - expect(bounds.y).to.equal(-5); - expect(bounds.width).to.equal(40); - expect(bounds.height).to.equal(30); + expect(Math.abs(bounds.x)).toEqual(0); + expect(bounds.y).toEqual(-5); + expect(bounds.width).toEqual(40); + expect(bounds.height).toEqual(30); }); }); @@ -152,28 +151,28 @@ describe('Sprite', () => { const point = new Point(10, 10); - expect(sprite.containsPoint(point)).to.be.true; + expect(sprite.containsPoint(point)).toBe(true); }); it('should return true when point on left edge', () => { const point = new Point(0, 15); - expect(sprite.containsPoint(point)).to.be.true; + expect(sprite.containsPoint(point)).toBe(true); }); it('should return true when point on top edge', () => { const point = new Point(10, 0); - expect(sprite.containsPoint(point)).to.be.true; + expect(sprite.containsPoint(point)).toBe(true); }); it('should return false when point outside', () => { const point = new Point(100, 100); - expect(sprite.containsPoint(point)).to.be.false; + expect(sprite.containsPoint(point)).toBe(false); }); }); @@ -191,13 +190,13 @@ describe('Sprite', () => const sprite = new Sprite(texture); - expect(texture['_eventsCount']).to.equal(1); - expect(texture2['_eventsCount']).to.equal(0); + expect(texture['_eventsCount']).toEqual(1); + expect(texture2['_eventsCount']).toEqual(0); sprite.texture = texture2; - expect(texture['_eventsCount']).to.equal(0); - expect(texture2['_eventsCount']).to.equal(1); + expect(texture['_eventsCount']).toEqual(0); + expect(texture2['_eventsCount']).toEqual(1); sprite.destroy(); texture.destroy(true); @@ -212,11 +211,11 @@ describe('Sprite', () => const texture = Texture.from(path.resolve(__dirname, 'resources', 'building1.png')) as EETexture; const sprite = new Sprite(texture); - expect(texture['_eventsCount']).to.equal(1); + expect(texture['_eventsCount']).toEqual(1); sprite.destroy(); - expect(texture['_eventsCount']).to.equal(0); + expect(texture['_eventsCount']).toEqual(0); texture.emit('update', texture); texture.destroy(true); diff --git a/packages/spritesheet/test/Spritesheet.tests.ts b/packages/spritesheet/test/Spritesheet.tests.ts index 3aca88b7de..537a7969d8 100644 --- a/packages/spritesheet/test/Spritesheet.tests.ts +++ b/packages/spritesheet/test/Spritesheet.tests.ts @@ -1,7 +1,6 @@ import { ISpritesheetData, ISpritesheetFrameData, Spritesheet } from '@pixi/spritesheet'; import { BaseTexture, ImageResource, Texture } from '@pixi/core'; import path from 'path'; -import { expect } from 'chai'; describe('Spritesheet', () => { @@ -9,7 +8,7 @@ describe('Spritesheet', () => let validate: (spritesheet: Spritesheet, done: () => void) => void; let parseFrame: (frameData: ISpritesheetFrameData, cb: (frame: Texture) => void) => void; - before(() => + beforeAll(() => { resources = path.join(__dirname, 'resources'); validate = (spritesheet: Spritesheet, done) => @@ -20,23 +19,23 @@ describe('Spritesheet', () => const width = Math.floor(spritesheet.data.frames[id].frame.w); const height = Math.floor(spritesheet.data.frames[id].frame.h); - expect(Object.keys(textures).length).to.equal(5); - expect(Object.keys(spritesheet.textures).length).to.equal(5); - expect(textures[id]).to.be.an.instanceof(Texture); - expect(textures[id].width).to.equal(width / spritesheet.resolution); - expect(textures[id].height).to.equal(height / spritesheet.resolution); - expect(textures[id].defaultAnchor.x).to.equal(0); - expect(textures[id].defaultAnchor.y).to.equal(0); - expect(textures[id].textureCacheIds.indexOf(id)).to.equal(0); + expect(Object.keys(textures).length).toEqual(5); + expect(Object.keys(spritesheet.textures).length).toEqual(5); + expect(textures[id]).toBeInstanceOf(Texture); + expect(textures[id].width).toEqual(width / spritesheet.resolution); + expect(textures[id].height).toEqual(height / spritesheet.resolution); + expect(textures[id].defaultAnchor.x).toEqual(0); + expect(textures[id].defaultAnchor.y).toEqual(0); + expect(textures[id].textureCacheIds.indexOf(id)).toEqual(0); - expect(spritesheet.animations).to.have.property('star').that.is.an('array'); - expect(spritesheet.animations.star.length).to.equal(4); - expect(spritesheet.animations.star[0].defaultAnchor.x).to.equal(0.5); - expect(spritesheet.animations.star[0].defaultAnchor.y).to.equal(0.5); + expect(spritesheet.animations.star).toBeArray(); + expect(spritesheet.animations.star.length).toEqual(4); + expect(spritesheet.animations.star[0].defaultAnchor.x).toEqual(0.5); + expect(spritesheet.animations.star[0].defaultAnchor.y).toEqual(0.5); spritesheet.destroy(true); - expect(spritesheet.textures).to.be.null; - expect(spritesheet.baseTexture).to.be.null; + expect(spritesheet.textures).toBeNull(); + expect(spritesheet.baseTexture).toBeNull(); done(); }); }; @@ -60,7 +59,7 @@ describe('Spritesheet', () => { const { frame } = sheet.textures; - expect(frame).to.be.instanceof(Texture); + expect(frame).toBeInstanceOf(Texture); callback(frame); @@ -71,8 +70,8 @@ describe('Spritesheet', () => it('should exist on PIXI', () => { - expect(Spritesheet).to.be.a('function'); - expect(Spritesheet.BATCH_SIZE).to.be.a('number'); + expect(Spritesheet).toBeInstanceOf(Function); + expect(Spritesheet.BATCH_SIZE).toBeNumber(); }); it('should create an instance', () => @@ -85,15 +84,16 @@ describe('Spritesheet', () => const spritesheet = new Spritesheet(baseTexture, data); - expect(spritesheet.data).to.equal(data); - expect(spritesheet.baseTexture).to.equal(baseTexture); - expect(spritesheet.resolution).to.equal(1); + expect(spritesheet.data).toEqual(data); + expect(spritesheet.baseTexture).toEqual(baseTexture); + expect(spritesheet.resolution).toEqual(1); spritesheet.destroy(true); }); it('should create instance with scale resolution', (done) => { + jest.setTimeout(10000); // eslint-disable-next-line @typescript-eslint/no-var-requires, global-require const data = require(path.resolve(resources, 'building1.json')); const image = new Image(); @@ -104,9 +104,9 @@ describe('Spritesheet', () => const baseTexture = new BaseTexture(image, null); const spritesheet = new Spritesheet(baseTexture, data); - expect(data).to.be.an('object'); - expect(data.meta.image).to.equal('building1.png'); - expect(spritesheet.resolution).to.equal(0.5); + expect(data).toBeObject(); + expect(data.meta.image).toEqual('building1.png'); + expect(spritesheet.resolution).toEqual(0.5); validate(spritesheet, done); }; }); @@ -118,9 +118,9 @@ describe('Spritesheet', () => const baseTexture = BaseTexture.from(data.meta.image);// , undefined, undefined, 1.5); const spritesheet = new Spritesheet(baseTexture, data); - expect(data).to.be.an('object'); - expect(data.meta.image).to.equal('building1.png'); - expect(spritesheet.resolution).to.equal(0.5); + expect(data).toBeObject(); + expect(data.meta.image).toEqual('building1.png'); + expect(spritesheet.resolution).toEqual(0.5); validate(spritesheet, done); }); @@ -138,9 +138,9 @@ describe('Spritesheet', () => const baseTexture = new BaseTexture(image, { resolution: 1 }); const spritesheet = new Spritesheet(baseTexture, data, uri); - expect(data).to.be.an('object'); - expect(data.meta.image).to.equal('building1@2x.png'); - expect(spritesheet.resolution).to.equal(2); + expect(data).toBeObject(); + expect(data.meta.image).toEqual('building1@2x.png'); + expect(spritesheet.resolution).toEqual(2); validate(spritesheet, done); }; @@ -158,8 +158,8 @@ describe('Spritesheet', () => parseFrame(data, (texture) => { - expect(texture.width).to.equal(14); - expect(texture.height).to.equal(16); + expect(texture.width).toEqual(14); + expect(texture.height).toEqual(16); done(); }); }); @@ -176,8 +176,8 @@ describe('Spritesheet', () => parseFrame(data, (texture) => { - expect(texture.width).to.equal(40); - expect(texture.height).to.equal(20); + expect(texture.width).toEqual(40); + expect(texture.height).toEqual(20); done(); }); }); @@ -188,8 +188,8 @@ describe('Spritesheet', () => parseFrame(data, (texture) => { - expect(texture.width).to.equal(14); - expect(texture.height).to.equal(14); + expect(texture.width).toEqual(14); + expect(texture.height).toEqual(14); done(); }); }); @@ -205,8 +205,8 @@ describe('Spritesheet', () => parseFrame(data, (texture) => { - expect(texture.width).to.equal(14); - expect(texture.height).to.equal(14); + expect(texture.width).toEqual(14); + expect(texture.height).toEqual(14); done(); }); }); @@ -222,8 +222,8 @@ describe('Spritesheet', () => parseFrame(data, (texture) => { - expect(texture.width).to.equal(120); - expect(texture.height).to.equal(100); + expect(texture.width).toEqual(120); + expect(texture.height).toEqual(100); done(); }); }); diff --git a/packages/spritesheet/test/SpritesheetLoader.tests.ts b/packages/spritesheet/test/SpritesheetLoader.tests.ts index 135ea72d29..635a63f7ef 100644 --- a/packages/spritesheet/test/SpritesheetLoader.tests.ts +++ b/packages/spritesheet/test/SpritesheetLoader.tests.ts @@ -3,18 +3,16 @@ import { IAddOptions, Loader, LoaderResource } from '@pixi/loaders'; import { Texture, BaseTexture, extensions } from '@pixi/core'; import { BaseTextureCache, TextureCache, url, clearTextureCache } from '@pixi/utils'; import { SpritesheetLoader, Spritesheet } from '@pixi/spritesheet'; -import sinon from 'sinon'; -import { expect } from 'chai'; describe('SpritesheetLoader', () => { - before(() => extensions.add(SpritesheetLoader)); - after(() => extensions.remove(SpritesheetLoader)); + beforeAll(() => extensions.add(SpritesheetLoader)); + afterAll(() => extensions.remove(SpritesheetLoader)); it('should exist and return a function', () => { - expect(SpritesheetLoader).to.not.be.undefined; - expect(SpritesheetLoader.use).to.be.a('function'); + expect(SpritesheetLoader).toBeDefined(); + expect(SpritesheetLoader.use).toBeInstanceOf(Function); }); it('should install middleware', (done) => @@ -26,11 +24,11 @@ describe('SpritesheetLoader', () => loader.add('building1', path.join(__dirname, 'resources/building1.json')); loader.load((loader, resources) => { - expect(resources.building1).to.be.instanceof(LoaderResource); - expect(resources.building1.spritesheet).to.be.instanceof(Spritesheet); + expect(resources.building1).toBeInstanceOf(LoaderResource); + expect(resources.building1.spritesheet).toBeInstanceOf(Spritesheet); resources.building1.spritesheet.destroy(true); - expect(Object.keys(BaseTextureCache).length).to.equal(baseTextures); - expect(Object.keys(TextureCache).length).to.equal(textures); + expect(Object.keys(BaseTextureCache).length).toEqual(baseTextures); + expect(Object.keys(TextureCache).length).toEqual(textures); loader.reset(); done(); }); @@ -38,64 +36,65 @@ describe('SpritesheetLoader', () => it('should do nothing if the resource is not JSON', () => { - const spy = sinon.spy(); + const spy = jest.fn(); const res = {} as LoaderResource; SpritesheetLoader.use(res, spy); - expect(spy).to.have.been.calledOnce; - expect(res.textures).to.be.undefined; + expect(spy).toHaveBeenCalledOnce(); + expect(res.textures).toBeUndefined(); }); it('should do nothing if the resource is JSON, but improper format', () => { - const spy = sinon.spy(); + const spy = jest.fn(); const res = createMockResource(LoaderResource.TYPE.JSON, {}); SpritesheetLoader.use(res, spy); - expect(spy).to.have.been.calledOnce; - expect(res.textures).to.be.undefined; + expect(spy).toHaveBeenCalledOnce(); + expect(res.textures).toBeUndefined(); }); - it('should load the image & create textures if json is properly formatted', (next) => + it('should load the image & create textures if json is properly formatted', async () => { + jest.setTimeout(10000); const res = createMockResource(LoaderResource.TYPE.JSON, getJsonSpritesheet()); const loader = new Loader(); - const addStub = sinon.stub(loader, 'add'); const imgRes = createMockResource(LoaderResource.TYPE.IMAGE, new Image()); + const addStub = jest.fn((_0, _1, _2, callback) => + { + callback(imgRes); + }); - imgRes.texture = new Texture(new BaseTexture(imgRes.data)); + loader.add = addStub as any; - addStub.yields(imgRes); + imgRes.texture = new Texture(new BaseTexture(imgRes.data)); - SpritesheetLoader.use.call(loader, res, () => + await new Promise((resolve) => { - addStub.restore(); - expect(addStub).to.have.been.calledWith( - `${res.name}_image`, - `${path.dirname(res.url)}/${res.data.meta.image}` - ); - expect(res).to.have.property('textures') - .that.is.an('object') - .with.keys(Object.keys(getJsonSpritesheet().frames)) - .and.has.property('0.png') - .that.is.an.instanceof(Texture); - - expect(res.textures['0.png'].frame.x).to.equal(14); - expect(res.textures['0.png'].frame.y).to.equal(28); - expect(res.textures['0.png'].defaultAnchor.x).to.equal(0.3); - expect(res.textures['0.png'].defaultAnchor.y).to.equal(0.4); - expect(res.textures['1.png'].defaultAnchor.x).to.equal(0.0); // default of defaultAnchor is 0,0 - expect(res.textures['1.png'].defaultAnchor.y).to.equal(0.0); - - expect(res).to.have.property('spritesheet') - .to.have.property('animations') - .to.have.property('png123'); - expect(res.spritesheet.animations.png123.length).to.equal(3); - expect(res.spritesheet.animations.png123[0]).to.equal(res.textures['1.png']); - next(); + SpritesheetLoader.use.call(loader, res, () => + { + resolve(); + }); }); + + expect(res).toHaveProperty('textures'); + expect(Object.keys(res.textures)).toEqual(Object.keys(getJsonSpritesheet().frames)); + expect(res.textures['0.png']).toBeInstanceOf(Texture); + + expect(res.textures['0.png'].frame.x).toEqual(14); + expect(res.textures['0.png'].frame.y).toEqual(28); + expect(res.textures['0.png'].defaultAnchor.x).toEqual(0.3); + expect(res.textures['0.png'].defaultAnchor.y).toEqual(0.4); + expect(res.textures['1.png'].defaultAnchor.x).toEqual(0.0); // default of defaultAnchor is 0,0 + expect(res.textures['1.png'].defaultAnchor.y).toEqual(0.0); + + expect(res).toHaveProperty('spritesheet'); + expect(res.spritesheet).toHaveProperty('animations'); + expect(res.spritesheet.animations).toHaveProperty('png123'); + expect(res.spritesheet.animations.png123.length).toEqual(3); + expect(res.spritesheet.animations.png123[0]).toEqual(res.textures['1.png']); }); it('should not load binary images as an image loader type', (done) => @@ -116,8 +115,8 @@ describe('SpritesheetLoader', () => .add(`atlas`, path.join(__dirname, 'resources', 'building1.json')) .load((loader, resources) => { - expect(resources.atlas_image.data).to.be.instanceof(HTMLImageElement); - expect(resources.atlas_crn_image.data).to.not.be.instanceof(HTMLImageElement); + expect(resources.atlas_image.data).toBeInstanceOf(HTMLImageElement); + expect(resources.atlas_crn_image.data).not.toBeInstanceOf(HTMLImageElement); loader.reset(); done(); }); @@ -125,11 +124,11 @@ describe('SpritesheetLoader', () => it('should dispatch an error failing to load spritesheet image', (done) => { - const spy = sinon.spy((error, _ldr, res) => + const spy = jest.fn((error, _ldr, res) => { - expect(res.name).to.equal('atlas_error_image'); - expect(res.error).to.equal(error); - expect(error.toString()).to.have.string('Failed to load element using: IMG'); + expect(res.name).toEqual('atlas_error_image'); + expect(res.error).toEqual(error); + expect(error.toString()).toContain('Failed to load element using: IMG'); }); const loader = new Loader(); @@ -137,8 +136,8 @@ describe('SpritesheetLoader', () => loader.onError.add(spy); loader.load((loader, resources) => { - expect(resources.atlas_error_image.error).to.be.instanceof(Error); - expect(spy.calledOnce).to.be.true; + expect(resources.atlas_error_image.error).toBeInstanceOf(Error); + expect(spy).toBeCalledTimes(1); loader.reset(); done(); }); @@ -159,28 +158,28 @@ describe('SpritesheetLoader', () => let result = getPath('http://some.com/spritesheet.json', 'img.png'); - expect(result).to.be.equals('http://some.com/img.png'); + expect(result).toEqual('http://some.com/img.png'); result = getPath('http://some.com/some/dir/spritesheet.json', 'img.png'); - expect(result).to.be.equals('http://some.com/some/dir/img.png'); + expect(result).toEqual('http://some.com/some/dir/img.png'); result = getPath('http://some.com/some/dir/spritesheet.json', './img.png'); - expect(result).to.be.equals('http://some.com/some/dir/img.png'); + expect(result).toEqual('http://some.com/some/dir/img.png'); result = getPath('http://some.com/some/dir/spritesheet.json', '../img.png'); - expect(result).to.be.equals('http://some.com/some/img.png'); + expect(result).toEqual('http://some.com/some/img.png'); result = getPath('/spritesheet.json', 'img.png'); - expect(result).to.be.equals('/img.png'); + expect(result).toEqual('/img.png'); result = getPath('/some/dir/spritesheet.json', 'img.png'); - expect(result).to.be.equals('/some/dir/img.png'); + expect(result).toEqual('/some/dir/img.png'); result = getPath('/some/dir/spritesheet.json', './img.png'); - expect(result).to.be.equals('/some/dir/img.png'); + expect(result).toEqual('/some/dir/img.png'); result = getPath('/some/dir/spritesheet.json', '../img.png'); - expect(result).to.be.equals('/some/img.png'); + expect(result).toEqual('/some/img.png'); }); // TODO: Test that rectangles are created correctly. @@ -198,7 +197,7 @@ describe('SpritesheetLoader', () => loader.add('atlas_multi_self', path.join(__dirname, 'resources', 'building1-0.json')); loader.load((loader, resources) => { - expect(Object.values(resources).filter((r) => r.url.includes('building1-0.json')).length).to.be.equals(1); + expect(Object.values(resources).filter((r) => r.url.includes('building1-0.json')).length).toEqual(1); loader.reset(); done(); }); @@ -214,7 +213,7 @@ describe('SpritesheetLoader', () => loader.add('atlas_multi_child_check', path.join(__dirname, 'resources', 'building1-0.json')); loader.load((loader, resources) => { - expect(resources.atlas_multi_child_check.children.some((r) => r.url.includes('building1-1.json'))).to.be.true; + expect(resources.atlas_multi_child_check.children.some((r) => r.url.includes('building1-1.json'))).toBe(true); loader.reset(); done(); }); @@ -232,9 +231,9 @@ describe('SpritesheetLoader', () => loader.add('atlas_multipack_wrong_array', path.join(__dirname, 'resources', 'atlas-multipack-wrong-array.json')); loader.load((loader, resources) => { - expect(resources.atlas_no_multipack.children.length).to.be.equals(1); - expect(resources.atlas_multipack_wrong_type.children.length).to.be.equals(1); - expect(resources.atlas_multipack_wrong_array.children.length).to.be.equals(1); + expect(resources.atlas_no_multipack.children.length).toEqual(1); + expect(resources.atlas_multipack_wrong_type.children.length).toEqual(1); + expect(resources.atlas_multipack_wrong_array.children.length).toEqual(1); loader.reset(); done(); }); @@ -244,28 +243,28 @@ describe('SpritesheetLoader', () => { let result = url.resolve('http://some.com/spritesheet.json', 'spritesheet-1.json'); - expect(result).to.be.equals('http://some.com/spritesheet-1.json'); + expect(result).toEqual('http://some.com/spritesheet-1.json'); result = url.resolve('http://some.com/some/dir/spritesheet.json', 'spritesheet-1.json'); - expect(result).to.be.equals('http://some.com/some/dir/spritesheet-1.json'); + expect(result).toEqual('http://some.com/some/dir/spritesheet-1.json'); result = url.resolve('http://some.com/some/dir/spritesheet.json', './spritesheet-1.json'); - expect(result).to.be.equals('http://some.com/some/dir/spritesheet-1.json'); + expect(result).toEqual('http://some.com/some/dir/spritesheet-1.json'); result = url.resolve('http://some.com/some/dir/spritesheet.json', '../spritesheet-1.json'); - expect(result).to.be.equals('http://some.com/some/spritesheet-1.json'); + expect(result).toEqual('http://some.com/some/spritesheet-1.json'); result = url.resolve('/spritesheet.json', 'spritesheet-1.json'); - expect(result).to.be.equals('/spritesheet-1.json'); + expect(result).toEqual('/spritesheet-1.json'); result = url.resolve('/some/dir/spritesheet.json', 'spritesheet-1.json'); - expect(result).to.be.equals('/some/dir/spritesheet-1.json'); + expect(result).toEqual('/some/dir/spritesheet-1.json'); result = url.resolve('/some/dir/spritesheet.json', './spritesheet-1.json'); - expect(result).to.be.equals('/some/dir/spritesheet-1.json'); + expect(result).toEqual('/some/dir/spritesheet-1.json'); result = url.resolve('/some/dir/spritesheet.json', '../spritesheet-1.json'); - expect(result).to.be.equals('/some/spritesheet-1.json'); + expect(result).toEqual('/some/spritesheet-1.json'); }); it('should use metadata to load all multipack resources', (done) => @@ -279,8 +278,8 @@ describe('SpritesheetLoader', () => loader.add('building1-0', path.join(__dirname, 'resources', 'building1-0.json'), { metadata } as IAddOptions); loader.load((_loader, resources) => { - expect(resources['building1-0'].metadata).to.be.equals(metadata); - expect(resources['building1-1'].metadata).to.be.equals(metadata); + expect(resources['building1-0'].metadata).toEqual(metadata); + expect(resources['building1-1'].metadata).toEqual(metadata); done(); }); diff --git a/packages/text-bitmap/test/BitmapFont.tests.ts b/packages/text-bitmap/test/BitmapFont.tests.ts index 459dba0886..7cf64c926f 100644 --- a/packages/text-bitmap/test/BitmapFont.tests.ts +++ b/packages/text-bitmap/test/BitmapFont.tests.ts @@ -1,5 +1,4 @@ import { BitmapFont } from '@pixi/text-bitmap'; -import { expect } from 'chai'; describe('BitmapFont', () => { @@ -16,27 +15,26 @@ describe('BitmapFont', () => it('should throw for missing name', () => { // @ts-expect-error - testing for error - expect(() => BitmapFont.from()).to.throw; + expect(() => BitmapFont.from()).toThrow(); }); // eslint-disable-next-line func-names it('should register the font if a name is provided', function () { - this.timeout(8000); - this.slow(4000); + jest.setTimeout(8000); - expect(BitmapFont.available.foo).to.be.undefined; + expect(BitmapFont.available.foo).toBeUndefined(); const font = BitmapFont.from('foo'); - expect(BitmapFont.available.foo).to.equal(font); + expect(BitmapFont.available.foo).toEqual(font); }); it('should draw all characters in a provided range', () => { const font = BitmapFont.from('foo', {}, { chars: [['a', 'z']] }); - expect(Object.keys(font.chars).length).to.equal(26); + expect(Object.keys(font.chars).length).toEqual(26); }); it('should draw emojis', () => @@ -44,23 +42,23 @@ describe('BitmapFont', () => const emojis = ['🔥', '🌏', '😀']; const font = BitmapFont.from('foo', {}, { chars: [emojis.join('')] }); - expect(Object.keys(font.chars).length).to.equal(emojis.length); + expect(Object.keys(font.chars).length).toEqual(emojis.length); for (const emoji of emojis) { const char = String(emoji.codePointAt(0)); - expect(font.chars).to.have.property(char); + expect(font.chars).toHaveProperty(char); } }); it('should throw an error when an invalid range is given', () => { - expect(() => BitmapFont.from('foo', {}, { chars: [['l', 'i', 'm']] })).to.throw; + expect(() => BitmapFont.from('foo', {}, { chars: [['l', 'i', 'm']] })).toThrow(); }); it('should throw an error when an invalid start/end of range', () => { - expect(() => BitmapFont.from('foo', {}, { chars: [['z', 'a']] })).to.throw; + expect(() => BitmapFont.from('foo', {}, { chars: [['z', 'a']] })).toThrow(); }); it('should render resolution with proportional size', () => @@ -71,8 +69,8 @@ describe('BitmapFont', () => // BitmapFont.from IDs are charCodes const id = 'a'.charCodeAt(0); - expect(fontRes1.chars[id].texture.baseTexture.resolution).to.equal(1); - expect(fontRes2.chars[id].texture.baseTexture.resolution).to.equal(2); + expect(fontRes1.chars[id].texture.baseTexture.resolution).toEqual(1); + expect(fontRes2.chars[id].texture.baseTexture.resolution).toEqual(2); }); it('should override and replace font', () => @@ -80,16 +78,16 @@ describe('BitmapFont', () => const id = 'a'.charCodeAt(0); BitmapFont.from('foo', {}, { chars: 'a' }); - expect(Object.keys(BitmapFont.available.foo.chars).length).to.equal(1); + expect(Object.keys(BitmapFont.available.foo.chars).length).toEqual(1); BitmapFont.from('foo', {}, { chars: 'bc' }); - expect(Object.keys(BitmapFont.available.foo.chars).length).to.equal(2); - expect(BitmapFont.available.foo.chars[id]).to.be.undefined; + expect(Object.keys(BitmapFont.available.foo.chars).length).toEqual(2); + expect(BitmapFont.available.foo.chars[id]).toBeUndefined(); }); it('should throw an error when no characters are passed', () => { - expect(() => BitmapFont.from('foo', {}, { chars: [] })).to.throw; + expect(() => BitmapFont.from('foo', {}, { chars: [] })).toThrow(); }); }); }); diff --git a/packages/text-bitmap/test/BitmapFontLoader.tests.ts b/packages/text-bitmap/test/BitmapFontLoader.tests.ts index 8a517b627f..ec05e6e546 100644 --- a/packages/text-bitmap/test/BitmapFontLoader.tests.ts +++ b/packages/text-bitmap/test/BitmapFontLoader.tests.ts @@ -5,8 +5,6 @@ import { BaseTextureCache, TextureCache } from '@pixi/utils'; import { Texture, BaseTexture, ImageResource } from '@pixi/core'; import { ISpritesheetData, Spritesheet } from '@pixi/spritesheet'; import { BitmapFont, BitmapFontLoader } from '@pixi/text-bitmap'; -import sinon from 'sinon'; -import { expect } from 'chai'; describe('BitmapFontLoader', () => { @@ -44,7 +42,7 @@ describe('BitmapFontLoader', () => let atlasJSON: ISpritesheetData; let atlasScaledJSON: ISpritesheetData; - before((done) => + beforeAll((done) => { const resolveURL = (url: string) => path.resolve(resources, url); @@ -68,14 +66,14 @@ describe('BitmapFontLoader', () => const loadXML = (url: string) => new Promise((resolve) => fs.readFile(resolveURL(url), 'utf8', (err, data) => { - expect(err).to.be.null; + expect(err).toBeNull(); resolve((new window.DOMParser()).parseFromString(data, 'text/xml')); })); const loadTxt = (url: string) => new Promise((resolve) => fs.readFile(resolveURL(url), 'utf8', (err, data) => { - expect(err).to.be.null; + expect(err).toBeNull(); resolve(data); })); @@ -139,55 +137,55 @@ describe('BitmapFontLoader', () => it('should exist and return a function', () => { - expect(BitmapFontLoader).to.not.be.undefined; - expect(BitmapFontLoader.use).to.be.a('function'); + expect(BitmapFontLoader).toBeDefined(); + expect(BitmapFontLoader.use).toBeInstanceOf(Function); }); it('should process dirname correctly', () => { const dirname = BitmapFontLoader['dirname']; - expect(dirname('file.fnt')).to.equal('.'); - expect(dirname('/file.fnt')).to.equal('/'); - expect(dirname('foo/bar/file.fnt')).to.equal('foo/bar'); - expect(dirname('/foo/bar/file.fnt')).to.equal('/foo/bar'); - expect(dirname('../file.fnt')).to.equal('..'); + expect(dirname('file.fnt')).toEqual('.'); + expect(dirname('/file.fnt')).toEqual('/'); + expect(dirname('foo/bar/file.fnt')).toEqual('foo/bar'); + expect(dirname('/foo/bar/file.fnt')).toEqual('/foo/bar'); + expect(dirname('../file.fnt')).toEqual('..'); }); it('should do nothing if the resource is not XML/TXT font data', () => { - const spy = sinon.spy(); + const spy = jest.fn(); const res = {} as LoaderResource; // @ts-expect-error --- BitmapFontLoader.use(res, spy); - expect(spy).to.have.been.calledOnce; - expect(res.textures).to.be.undefined; + expect(spy).toHaveBeenCalledOnce(); + expect(res.textures).toBeUndefined(); }); it('should do nothing if the resource is not properly formatted XML', () => { - const spy = sinon.spy(); + const spy = jest.fn(); const res = { data: document.createDocumentFragment() } as LoaderResource; // @ts-expect-error --- BitmapFontLoader.use(res, spy); - expect(spy).to.have.been.calledOnce; - expect(res.textures).to.be.undefined; + expect(spy).toHaveBeenCalledOnce(); + expect(res.textures).toBeUndefined(); }); it('should do nothing if the resource is not properly formatted TXT', () => { - const spy = sinon.spy(); + const spy = jest.fn(); const res = { data: 'abcdefgh' } as LoaderResource; // @ts-expect-error --- BitmapFontLoader.use(res, spy); - expect(spy).to.have.been.calledOnce; - expect(res.textures).to.be.undefined; + expect(spy).toHaveBeenCalledOnce(); + expect(res.textures).toBeUndefined(); }); // TODO: Test the texture cache code path. @@ -199,48 +197,48 @@ describe('BitmapFontLoader', () => const texture = Texture.from(fontImage); const font = BitmapFont.install(fontXML, texture); - expect(font).to.be.an('object'); - expect(BitmapFont.available.font).to.equal(font); - expect(font).to.have.property('chars'); + expect(font).toBeObject(); + expect(BitmapFont.available.font).toEqual(font); + expect(font).toHaveProperty('chars'); const charA = font.chars['A'.charCodeAt(0)]; const charATexture = charA.texture as Texture; - expect(charA).to.exist; - expect(charATexture.baseTexture.resource.source).to.equal(fontImage); - expect(charATexture.frame.x).to.equal(2); - expect(charATexture.frame.y).to.equal(2); - expect(charATexture.frame.width).to.equal(19); - expect(charATexture.frame.height).to.equal(20); + expect(charA).toBeDefined(); + expect(charATexture.baseTexture.resource.source).toEqual(fontImage); + expect(charATexture.frame.x).toEqual(2); + expect(charATexture.frame.y).toEqual(2); + expect(charATexture.frame.width).toEqual(19); + expect(charATexture.frame.height).toEqual(20); const charB = font.chars['B'.charCodeAt(0)]; const charBTexture = charB.texture as Texture; - expect(charB).to.exist; - expect(charBTexture.baseTexture.resource.source).to.equal(fontImage); - expect(charBTexture.frame.x).to.equal(2); - expect(charBTexture.frame.y).to.equal(24); - expect(charBTexture.frame.width).to.equal(15); - expect(charBTexture.frame.height).to.equal(20); + expect(charB).toBeDefined(); + expect(charBTexture.baseTexture.resource.source).toEqual(fontImage); + expect(charBTexture.frame.x).toEqual(2); + expect(charBTexture.frame.y).toEqual(24); + expect(charBTexture.frame.width).toEqual(15); + expect(charBTexture.frame.height).toEqual(20); const charC = font.chars['C'.charCodeAt(0)]; const charCTexture = charC.texture as Texture; - expect(charC).to.exist; - expect(charCTexture.baseTexture.resource.source).to.equal(fontImage); - expect(charCTexture.frame.x).to.equal(23); - expect(charCTexture.frame.y).to.equal(2); - expect(charCTexture.frame.width).to.equal(18); - expect(charCTexture.frame.height).to.equal(20); + expect(charC).toBeDefined(); + expect(charCTexture.baseTexture.resource.source).toEqual(fontImage); + expect(charCTexture.frame.x).toEqual(23); + expect(charCTexture.frame.y).toEqual(2); + expect(charCTexture.frame.width).toEqual(18); + expect(charCTexture.frame.height).toEqual(20); const charD = font.chars['D'.charCodeAt(0)]; const charDTexture = charD.texture as Texture; - expect(charD).to.exist; - expect(charDTexture.baseTexture.resource.source).to.equal(fontImage); - expect(charDTexture.frame.x).to.equal(19); - expect(charDTexture.frame.y).to.equal(24); - expect(charDTexture.frame.width).to.equal(17); - expect(charDTexture.frame.height).to.equal(20); + expect(charD).toBeDefined(); + expect(charDTexture.baseTexture.resource.source).toEqual(fontImage); + expect(charDTexture.frame.x).toEqual(19); + expect(charDTexture.frame.y).toEqual(24); + expect(charDTexture.frame.width).toEqual(17); + expect(charDTexture.frame.height).toEqual(20); const charE = font.chars['E'.charCodeAt(0)]; - expect(charE).to.be.undefined; + expect(charE).toBeUndefined(); done(); }); @@ -249,48 +247,48 @@ describe('BitmapFontLoader', () => const texture = Texture.from(fontTXTImage); const font = BitmapFont.install(fontTXT, texture); - expect(font).to.be.an('object'); - expect(font).to.have.property('chars'); + expect(font).toBeObject(); + expect(font).toHaveProperty('chars'); const charA = font.chars['A'.charCodeAt(0)]; const charATexture = charA.texture as Texture; - expect(charA).to.exist; - expect(charATexture.baseTexture.resource.source).to.equal(fontTXTImage); - expect(charATexture.frame.x).to.equal(1); - expect(charATexture.frame.y).to.equal(179); - expect(charATexture.frame.width).to.equal(38); - expect(charATexture.frame.height).to.equal(28); + expect(charA).toBeDefined(); + expect(charATexture.baseTexture.resource.source).toEqual(fontTXTImage); + expect(charATexture.frame.x).toEqual(1); + expect(charATexture.frame.y).toEqual(179); + expect(charATexture.frame.width).toEqual(38); + expect(charATexture.frame.height).toEqual(28); const charB = font.chars['B'.charCodeAt(0)]; const charBTexture = charB.texture as Texture; - expect(charB).to.exist; - expect(charBTexture.baseTexture.resource.source).to.equal(fontTXTImage); - expect(charBTexture.frame.x).to.equal(52); - expect(charBTexture.frame.y).to.equal(146); - expect(charBTexture.frame.width).to.equal(34); - expect(charBTexture.frame.height).to.equal(28); + expect(charB).toBeDefined(); + expect(charBTexture.baseTexture.resource.source).toEqual(fontTXTImage); + expect(charBTexture.frame.x).toEqual(52); + expect(charBTexture.frame.y).toEqual(146); + expect(charBTexture.frame.width).toEqual(34); + expect(charBTexture.frame.height).toEqual(28); const charC = font.chars['C'.charCodeAt(0)]; const charCTexture = charC.texture as Texture; - expect(charC).to.exist; - expect(charCTexture.baseTexture.resource.source).to.equal(fontTXTImage); - expect(charCTexture.frame.x).to.equal(52); - expect(charCTexture.frame.y).to.equal(117); - expect(charCTexture.frame.width).to.equal(34); - expect(charCTexture.frame.height).to.equal(28); + expect(charC).toBeDefined(); + expect(charCTexture.baseTexture.resource.source).toEqual(fontTXTImage); + expect(charCTexture.frame.x).toEqual(52); + expect(charCTexture.frame.y).toEqual(117); + expect(charCTexture.frame.width).toEqual(34); + expect(charCTexture.frame.height).toEqual(28); const charD = font.chars['D'.charCodeAt(0)]; const charDTexture = charD.texture as Texture; - expect(charD).to.exist; - expect(charDTexture.baseTexture.resource.source).to.equal(fontTXTImage); - expect(charDTexture.frame.x).to.equal(52); - expect(charDTexture.frame.y).to.equal(88); - expect(charDTexture.frame.width).to.equal(34); - expect(charDTexture.frame.height).to.equal(28); + expect(charD).toBeDefined(); + expect(charDTexture.baseTexture.resource.source).toEqual(fontTXTImage); + expect(charDTexture.frame.x).toEqual(52); + expect(charDTexture.frame.y).toEqual(88); + expect(charDTexture.frame.width).toEqual(34); + expect(charDTexture.frame.height).toEqual(28); const charUndefined = font.chars['£'.charCodeAt(0)]; - expect(charUndefined).to.be.undefined; + expect(charUndefined).toBeUndefined(); done(); }); @@ -303,48 +301,48 @@ describe('BitmapFontLoader', () => const texture = new Texture(baseTexture); const font = BitmapFont.install(fontScaledXML, texture); - expect(font).to.be.an('object'); - expect(BitmapFont.available.font).to.equal(font); - expect(font).to.have.property('chars'); + expect(font).toBeObject(); + expect(BitmapFont.available.font).toEqual(font); + expect(font).toHaveProperty('chars'); const charA = font.chars['A'.charCodeAt(0)]; const charATexture = charA.texture as Texture; - expect(charA).to.exist; - expect(charATexture.baseTexture.resource.source).to.equal(fontScaledImage); - expect(charATexture.frame.x).to.equal(4); // 2 / 0.5 - expect(charATexture.frame.y).to.equal(4); // 2 / 0.5 - expect(charATexture.frame.width).to.equal(38); // 19 / 0.5 - expect(charATexture.frame.height).to.equal(40); // 20 / 0.5 + expect(charA).toBeDefined(); + expect(charATexture.baseTexture.resource.source).toEqual(fontScaledImage); + expect(charATexture.frame.x).toEqual(4); // 2 / 0.5 + expect(charATexture.frame.y).toEqual(4); // 2 / 0.5 + expect(charATexture.frame.width).toEqual(38); // 19 / 0.5 + expect(charATexture.frame.height).toEqual(40); // 20 / 0.5 const charB = font.chars['B'.charCodeAt(0)]; const charBTexture = charB.texture as Texture; - expect(charB).to.exist; - expect(charBTexture.baseTexture.resource.source).to.equal(fontScaledImage); - expect(charBTexture.frame.x).to.equal(4); // 2 / 0.5 - expect(charBTexture.frame.y).to.equal(48); // 24 / 0.5 - expect(charBTexture.frame.width).to.equal(30); // 15 / 0.5 - expect(charBTexture.frame.height).to.equal(40); // 20 / 0.5 + expect(charB).toBeDefined(); + expect(charBTexture.baseTexture.resource.source).toEqual(fontScaledImage); + expect(charBTexture.frame.x).toEqual(4); // 2 / 0.5 + expect(charBTexture.frame.y).toEqual(48); // 24 / 0.5 + expect(charBTexture.frame.width).toEqual(30); // 15 / 0.5 + expect(charBTexture.frame.height).toEqual(40); // 20 / 0.5 const charC = font.chars['C'.charCodeAt(0)]; const charCTexture = charC.texture as Texture; - expect(charC).to.exist; - expect(charCTexture.baseTexture.resource.source).to.equal(fontScaledImage); - expect(charCTexture.frame.x).to.equal(46); // 23 / 0.5 - expect(charCTexture.frame.y).to.equal(4); // 2 / 0.5 - expect(charCTexture.frame.width).to.equal(36); // 18 / 0.5 - expect(charCTexture.frame.height).to.equal(40); // 20 / 0.5 + expect(charC).toBeDefined(); + expect(charCTexture.baseTexture.resource.source).toEqual(fontScaledImage); + expect(charCTexture.frame.x).toEqual(46); // 23 / 0.5 + expect(charCTexture.frame.y).toEqual(4); // 2 / 0.5 + expect(charCTexture.frame.width).toEqual(36); // 18 / 0.5 + expect(charCTexture.frame.height).toEqual(40); // 20 / 0.5 const charD = font.chars['D'.charCodeAt(0)]; const charDTexture = charD.texture as Texture; - expect(charD).to.exist; - expect(charDTexture.baseTexture.resource.source).to.equal(fontScaledImage); - expect(charDTexture.frame.x).to.equal(38); // 19 / 0.5 - expect(charDTexture.frame.y).to.equal(48); // 24 / 0.5 - expect(charDTexture.frame.width).to.equal(34); // 17 / 0.5 - expect(charDTexture.frame.height).to.equal(40); // 20 / 0.5 + expect(charD).toBeDefined(); + expect(charDTexture.baseTexture.resource.source).toEqual(fontScaledImage); + expect(charDTexture.frame.x).toEqual(38); // 19 / 0.5 + expect(charDTexture.frame.y).toEqual(48); // 24 / 0.5 + expect(charDTexture.frame.width).toEqual(34); // 17 / 0.5 + expect(charDTexture.frame.height).toEqual(40); // 20 / 0.5 const charE = font.chars['E'.charCodeAt(0)]; - expect(charE).to.be.undefined; + expect(charE).toBeUndefined(); done(); }); @@ -360,48 +358,48 @@ describe('BitmapFontLoader', () => const fontX = 158; // bare value from spritesheet frame const fontY = 2; // bare value from spritesheet frame - expect(font).to.be.an('object'); - expect(BitmapFont.available.font).to.equal(font); - expect(font).to.have.property('chars'); + expect(font).toBeObject(); + expect(BitmapFont.available.font).toEqual(font); + expect(font).toHaveProperty('chars'); const charA = font.chars['A'.charCodeAt(0)]; const charATexture = charA.texture as Texture; - expect(charA).to.exist; - expect(charATexture.baseTexture.resource.source).to.equal(atlasImage); - expect(charATexture.frame.x).to.equal(fontX + 2); - expect(charATexture.frame.y).to.equal(fontY + 2); - expect(charATexture.frame.width).to.equal(19); - expect(charATexture.frame.height).to.equal(20); + expect(charA).toBeDefined(); + expect(charATexture.baseTexture.resource.source).toEqual(atlasImage); + expect(charATexture.frame.x).toEqual(fontX + 2); + expect(charATexture.frame.y).toEqual(fontY + 2); + expect(charATexture.frame.width).toEqual(19); + expect(charATexture.frame.height).toEqual(20); const charB = font.chars['B'.charCodeAt(0)]; const charBTexture = charB.texture as Texture; - expect(charB).to.exist; - expect(charBTexture.baseTexture.resource.source).to.equal(atlasImage); - expect(charBTexture.frame.x).to.equal(fontX + 2); - expect(charBTexture.frame.y).to.equal(fontY + 24); - expect(charBTexture.frame.width).to.equal(15); - expect(charBTexture.frame.height).to.equal(20); + expect(charB).toBeDefined(); + expect(charBTexture.baseTexture.resource.source).toEqual(atlasImage); + expect(charBTexture.frame.x).toEqual(fontX + 2); + expect(charBTexture.frame.y).toEqual(fontY + 24); + expect(charBTexture.frame.width).toEqual(15); + expect(charBTexture.frame.height).toEqual(20); const charC = font.chars['C'.charCodeAt(0)]; const charCTexture = charC.texture as Texture; - expect(charC).to.exist; - expect(charCTexture.baseTexture.resource.source).to.equal(atlasImage); - expect(charCTexture.frame.x).to.equal(fontX + 23); - expect(charCTexture.frame.y).to.equal(fontY + 2); - expect(charCTexture.frame.width).to.equal(18); - expect(charCTexture.frame.height).to.equal(20); + expect(charC).toBeDefined(); + expect(charCTexture.baseTexture.resource.source).toEqual(atlasImage); + expect(charCTexture.frame.x).toEqual(fontX + 23); + expect(charCTexture.frame.y).toEqual(fontY + 2); + expect(charCTexture.frame.width).toEqual(18); + expect(charCTexture.frame.height).toEqual(20); const charD = font.chars['D'.charCodeAt(0)]; const charDTexture = charD.texture as Texture; - expect(charD).to.exist; - expect(charDTexture.baseTexture.resource.source).to.equal(atlasImage); - expect(charDTexture.frame.x).to.equal(fontX + 19); - expect(charDTexture.frame.y).to.equal(fontY + 24); - expect(charDTexture.frame.width).to.equal(17); - expect(charDTexture.frame.height).to.equal(20); + expect(charD).toBeDefined(); + expect(charDTexture.baseTexture.resource.source).toEqual(atlasImage); + expect(charDTexture.frame.x).toEqual(fontX + 19); + expect(charDTexture.frame.y).toEqual(fontY + 24); + expect(charDTexture.frame.width).toEqual(17); + expect(charDTexture.frame.height).toEqual(20); const charE = font.chars['E'.charCodeAt(0)]; - expect(charE).to.be.undefined; + expect(charE).toBeUndefined(); done(); }); }); @@ -420,48 +418,48 @@ describe('BitmapFontLoader', () => const fontX = 158; // bare value from spritesheet frame const fontY = 2; // bare value from spritesheet frame - expect(font).to.be.an('object'); - expect(BitmapFont.available.font).to.equal(font); - expect(font).to.have.property('chars'); + expect(font).toBeObject(); + expect(BitmapFont.available.font).toEqual(font); + expect(font).toHaveProperty('chars'); const charA = font.chars['A'.charCodeAt(0)]; const charATexture = charA.texture as Texture; - expect(charA).to.exist; - expect(charATexture.baseTexture.resource.source).to.equal(atlasScaledImage); - expect(charATexture.frame.x).to.equal(fontX + 2); - expect(charATexture.frame.y).to.equal(fontY + 2); - expect(charATexture.frame.width).to.equal(19); - expect(charATexture.frame.height).to.equal(20); + expect(charA).toBeDefined(); + expect(charATexture.baseTexture.resource.source).toEqual(atlasScaledImage); + expect(charATexture.frame.x).toEqual(fontX + 2); + expect(charATexture.frame.y).toEqual(fontY + 2); + expect(charATexture.frame.width).toEqual(19); + expect(charATexture.frame.height).toEqual(20); const charB = font.chars['B'.charCodeAt(0)]; const charBTexture = charB.texture as Texture; - expect(charB).to.exist; - expect(charBTexture.baseTexture.resource.source).to.equal(atlasScaledImage); - expect(charBTexture.frame.x).to.equal(fontX + 2); - expect(charBTexture.frame.y).to.equal(fontY + 24); - expect(charBTexture.frame.width).to.equal(15); - expect(charBTexture.frame.height).to.equal(20); + expect(charB).toBeDefined(); + expect(charBTexture.baseTexture.resource.source).toEqual(atlasScaledImage); + expect(charBTexture.frame.x).toEqual(fontX + 2); + expect(charBTexture.frame.y).toEqual(fontY + 24); + expect(charBTexture.frame.width).toEqual(15); + expect(charBTexture.frame.height).toEqual(20); const charC = font.chars['C'.charCodeAt(0)]; const charCTexture = charC.texture as Texture; - expect(charC).to.exist; - expect(charCTexture.baseTexture.resource.source).to.equal(atlasScaledImage); - expect(charCTexture.frame.x).to.equal(fontX + 23); - expect(charCTexture.frame.y).to.equal(fontY + 2); - expect(charCTexture.frame.width).to.equal(18); - expect(charCTexture.frame.height).to.equal(20); + expect(charC).toBeDefined(); + expect(charCTexture.baseTexture.resource.source).toEqual(atlasScaledImage); + expect(charCTexture.frame.x).toEqual(fontX + 23); + expect(charCTexture.frame.y).toEqual(fontY + 2); + expect(charCTexture.frame.width).toEqual(18); + expect(charCTexture.frame.height).toEqual(20); const charD = font.chars['D'.charCodeAt(0)]; const charDTexture = charD.texture as Texture; - expect(charD).to.exist; - expect(charDTexture.baseTexture.resource.source).to.equal(atlasScaledImage); - expect(charDTexture.frame.x).to.equal(fontX + 19); - expect(charDTexture.frame.y).to.equal(fontY + 24); - expect(charDTexture.frame.width).to.equal(17); - expect(charDTexture.frame.height).to.equal(20); + expect(charD).toBeDefined(); + expect(charDTexture.baseTexture.resource.source).toEqual(atlasScaledImage); + expect(charDTexture.frame.x).toEqual(fontX + 19); + expect(charDTexture.frame.y).toEqual(fontY + 24); + expect(charDTexture.frame.width).toEqual(17); + expect(charDTexture.frame.height).toEqual(20); const charE = font.chars['E'.charCodeAt(0)]; - expect(charE).to.be.undefined; + expect(charE).toBeUndefined(); done(); }); }); @@ -476,60 +474,60 @@ describe('BitmapFontLoader', () => { const font = BitmapFont.available.split_font; - expect(font).to.be.an('object'); - expect(BitmapFont.available.split_font).to.equal(font); - expect(font).to.have.property('chars'); + expect(font).toBeObject(); + expect(BitmapFont.available.split_font).toEqual(font); + expect(font).toHaveProperty('chars'); const charA = font.chars['A'.charCodeAt(0)]; const charATexture = charA.texture as Texture; - expect(charA).to.exist; + expect(charA).toBeDefined(); let src = charATexture.baseTexture.resource.url; src = src.substring(src.length - 17); - expect(src).to.equal('split_font_ab.png'); - expect(charATexture.frame.x).to.equal(2); - expect(charATexture.frame.y).to.equal(2); - expect(charATexture.frame.width).to.equal(19); - expect(charATexture.frame.height).to.equal(20); + expect(src).toEqual('split_font_ab.png'); + expect(charATexture.frame.x).toEqual(2); + expect(charATexture.frame.y).toEqual(2); + expect(charATexture.frame.width).toEqual(19); + expect(charATexture.frame.height).toEqual(20); const charB = font.chars['B'.charCodeAt(0)]; const charBTexture = charB.texture as Texture; - expect(charB).to.exist; + expect(charB).toBeDefined(); src = charBTexture.baseTexture.resource.url; src = src.substring(src.length - 17); - expect(src).to.equal('split_font_ab.png'); - expect(charBTexture.frame.x).to.equal(2); - expect(charBTexture.frame.y).to.equal(24); - expect(charBTexture.frame.width).to.equal(15); - expect(charBTexture.frame.height).to.equal(20); + expect(src).toEqual('split_font_ab.png'); + expect(charBTexture.frame.x).toEqual(2); + expect(charBTexture.frame.y).toEqual(24); + expect(charBTexture.frame.width).toEqual(15); + expect(charBTexture.frame.height).toEqual(20); const charC = font.chars['C'.charCodeAt(0)]; const charCTexture = charC.texture as Texture; - expect(charC).to.exist; + expect(charC).toBeDefined(); src = charCTexture.baseTexture.resource.url; src = src.substring(src.length - 17); - expect(src).to.equal('split_font_cd.png'); - expect(charCTexture.frame.x).to.equal(2); - expect(charCTexture.frame.y).to.equal(2); - expect(charCTexture.frame.width).to.equal(18); - expect(charCTexture.frame.height).to.equal(20); + expect(src).toEqual('split_font_cd.png'); + expect(charCTexture.frame.x).toEqual(2); + expect(charCTexture.frame.y).toEqual(2); + expect(charCTexture.frame.width).toEqual(18); + expect(charCTexture.frame.height).toEqual(20); const charD = font.chars['D'.charCodeAt(0)]; const charDTexture = charD.texture as Texture; - expect(charD).to.exist; + expect(charD).toBeDefined(); src = charDTexture.baseTexture.resource.url; src = src.substring(src.length - 17); - expect(src).to.equal('split_font_cd.png'); - expect(charDTexture.frame.x).to.equal(2); - expect(charDTexture.frame.y).to.equal(24); - expect(charDTexture.frame.width).to.equal(17); - expect(charDTexture.frame.height).to.equal(20); + expect(src).toEqual('split_font_cd.png'); + expect(charDTexture.frame.x).toEqual(2); + expect(charDTexture.frame.y).toEqual(24); + expect(charDTexture.frame.width).toEqual(17); + expect(charDTexture.frame.height).toEqual(20); const charE = font.chars['E'.charCodeAt(0)]; - expect(charE).to.be.undefined; + expect(charE).toBeUndefined(); done(); }); }); @@ -545,8 +543,8 @@ describe('BitmapFontLoader', () => const page0 = path.join(resources, 'split_font_ab.png').replace(/\\/g, '/'); const page1 = path.join(resources, 'split_font_cd.png').replace(/\\/g, '/'); - expect(loader.resources[page0].metadata.pageFile).to.equal('split_font_ab.png'); - expect(loader.resources[page1].metadata.pageFile).to.equal('split_font_cd.png'); + expect(loader.resources[page0].metadata.pageFile).toEqual('split_font_ab.png'); + expect(loader.resources[page1].metadata.pageFile).toEqual('split_font_cd.png'); const font = BitmapFont.available.split_font2; const charA = font.chars['A'.charCodeAt(0)]; @@ -554,10 +552,10 @@ describe('BitmapFontLoader', () => const charATexture = charA.texture as Texture; const charCTexture = charC.texture as Texture; - expect(charA.page).to.equal(0); - expect(charC.page).to.equal(1); - expect(charATexture.baseTexture.resource.url).to.equal(page0); - expect(charCTexture.baseTexture.resource.url).to.equal(page1); + expect(charA.page).toEqual(0); + expect(charC.page).toEqual(1); + expect(charATexture.baseTexture.resource.url).toEqual(page0); + expect(charCTexture.baseTexture.resource.url).toEqual(page1); done(); }); @@ -573,9 +571,9 @@ describe('BitmapFontLoader', () => loader.add('font', fontPath); loader.load(() => { - expect(Object.values(loader.resources).length).to.equal(2); - expect(loader.resources.image.url).to.equal(imagePath); - expect(loader.resources.font.url).to.equal(fontPath); + expect(Object.values(loader.resources).length).toEqual(2); + expect(loader.resources.image.url).toEqual(imagePath); + expect(loader.resources.font.url).toEqual(fontPath); done(); }); @@ -587,16 +585,16 @@ describe('BitmapFontLoader', () => const fontPath = path.join(resources, 'font.fnt'); const textureCount = Object.keys(TextureCache).length; - expect(BitmapFont.available.font).to.be.undefined; + expect(BitmapFont.available.font).toBeUndefined(); loader.use(BitmapFontLoader.use); loader.add('font', fontPath); loader.load(() => { - expect(BitmapFont.available.font).to.not.be.undefined; + expect(BitmapFont.available.font).toBeDefined(); BitmapFont.uninstall('font'); - expect(BitmapFont.available.font).to.be.undefined; - expect(Object.keys(TextureCache).length - textureCount).equals(0); + expect(BitmapFont.available.font).toBeUndefined(); + expect(Object.keys(TextureCache).length - textureCount).toEqual(0); done(); }); @@ -608,12 +606,12 @@ describe('BitmapFontLoader', () => const texture = Texture.from(fontImage); const font = BitmapFont.install(fontText, texture); - expect(BitmapFont.available.fontText).equals(font); + expect(BitmapFont.available.fontText).toEqual(font); BitmapFont.uninstall('fontText'); - expect(BitmapFont.available.fontText).to.be.undefined; - expect(Object.keys(TextureCache).length - textureCount).equals(1); + expect(BitmapFont.available.fontText).toBeUndefined(); + expect(Object.keys(TextureCache).length - textureCount).toEqual(1); texture.destroy(true); }); @@ -623,48 +621,48 @@ describe('BitmapFontLoader', () => const texture = Texture.from(fontImage); const font = BitmapFont.install(fontText, texture); - expect(font).to.be.an('object'); - expect(BitmapFont.available.fontText).to.equal(font); - expect(font).to.have.property('chars'); + expect(font).toBeObject(); + expect(BitmapFont.available.fontText).toEqual(font); + expect(font).toHaveProperty('chars'); const charA = font.chars['A'.charCodeAt(0)]; const charATexture = charA.texture as Texture; - expect(charA).to.exist; - expect(charATexture.baseTexture.resource.source).to.equal(fontImage); - expect(charATexture.frame.x).to.equal(2); - expect(charATexture.frame.y).to.equal(2); - expect(charATexture.frame.width).to.equal(19); - expect(charATexture.frame.height).to.equal(20); + expect(charA).toBeDefined(); + expect(charATexture.baseTexture.resource.source).toEqual(fontImage); + expect(charATexture.frame.x).toEqual(2); + expect(charATexture.frame.y).toEqual(2); + expect(charATexture.frame.width).toEqual(19); + expect(charATexture.frame.height).toEqual(20); const charB = font.chars['B'.charCodeAt(0)]; const charBTexture = charB.texture as Texture; - expect(charB).to.exist; - expect(charBTexture.baseTexture.resource.source).to.equal(fontImage); - expect(charBTexture.frame.x).to.equal(2); - expect(charBTexture.frame.y).to.equal(24); - expect(charBTexture.frame.width).to.equal(15); - expect(charBTexture.frame.height).to.equal(20); + expect(charB).toBeDefined(); + expect(charBTexture.baseTexture.resource.source).toEqual(fontImage); + expect(charBTexture.frame.x).toEqual(2); + expect(charBTexture.frame.y).toEqual(24); + expect(charBTexture.frame.width).toEqual(15); + expect(charBTexture.frame.height).toEqual(20); const charC = font.chars['C'.charCodeAt(0)]; const charCTexture = charC.texture as Texture; - expect(charC).to.exist; - expect(charCTexture.baseTexture.resource.source).to.equal(fontImage); - expect(charCTexture.frame.x).to.equal(23); - expect(charCTexture.frame.y).to.equal(2); - expect(charCTexture.frame.width).to.equal(18); - expect(charCTexture.frame.height).to.equal(20); + expect(charC).toBeDefined(); + expect(charCTexture.baseTexture.resource.source).toEqual(fontImage); + expect(charCTexture.frame.x).toEqual(23); + expect(charCTexture.frame.y).toEqual(2); + expect(charCTexture.frame.width).toEqual(18); + expect(charCTexture.frame.height).toEqual(20); const charD = font.chars['D'.charCodeAt(0)]; const charDTexture = charD.texture as Texture; - expect(charD).to.exist; - expect(charDTexture.baseTexture.resource.source).to.equal(fontImage); - expect(charDTexture.frame.x).to.equal(19); - expect(charDTexture.frame.y).to.equal(24); - expect(charDTexture.frame.width).to.equal(17); - expect(charDTexture.frame.height).to.equal(20); + expect(charD).toBeDefined(); + expect(charDTexture.baseTexture.resource.source).toEqual(fontImage); + expect(charDTexture.frame.x).toEqual(19); + expect(charDTexture.frame.y).toEqual(24); + expect(charDTexture.frame.width).toEqual(17); + expect(charDTexture.frame.height).toEqual(20); const charE = font.chars['E'.charCodeAt(0)]; - expect(charE).to.be.undefined; + expect(charE).toBeUndefined(); done(); }); @@ -677,9 +675,9 @@ describe('BitmapFontLoader', () => const msdfFont = BitmapFont.install(msdfXML, msdfTexture); const regularFont = BitmapFont.install(fontText, regularTexture); - expect(sdfFont.chars['A'.charCodeAt(0)].texture.baseTexture.alphaMode).to.equal(0); - expect(msdfFont.chars['A'.charCodeAt(0)].texture.baseTexture.alphaMode).to.equal(0); - expect(regularFont.chars['A'.charCodeAt(0)].texture.baseTexture.alphaMode).to.not.equal(0); + expect(sdfFont.chars['A'.charCodeAt(0)].texture.baseTexture.alphaMode).toEqual(0); + expect(msdfFont.chars['A'.charCodeAt(0)].texture.baseTexture.alphaMode).toEqual(0); + expect(regularFont.chars['A'.charCodeAt(0)].texture.baseTexture.alphaMode).not.toEqual(0); done(); }); @@ -693,9 +691,9 @@ describe('BitmapFontLoader', () => const msdfFont = BitmapFont.install(msdfXML, msdfTexture); const regularFont = BitmapFont.install(fontText, regularTexture); - expect(sdfFont.distanceFieldType).to.equal('sdf'); - expect(msdfFont.distanceFieldType).to.equal('msdf'); - expect(regularFont.distanceFieldType).to.equal('none'); + expect(sdfFont.distanceFieldType).toEqual('sdf'); + expect(msdfFont.distanceFieldType).toEqual('msdf'); + expect(regularFont.distanceFieldType).toEqual('none'); done(); }); @@ -705,18 +703,18 @@ describe('BitmapFontLoader', () => const texture = Texture.from(fontImage); const font = BitmapFont.install(fontRandomArgs, texture); - expect(font).to.be.an('object'); - expect(BitmapFont.available.font).to.equal(font); - expect(font).to.have.property('chars'); + expect(font).toBeObject(); + expect(BitmapFont.available.font).toEqual(font); + expect(font).toHaveProperty('chars'); const charA = font.chars['A'.charCodeAt(0)]; const charATexture = charA.texture as Texture; - expect(charA).to.exist; - expect(charATexture.baseTexture.resource.source).to.equal(fontImage); - expect(charATexture.frame.x).to.equal(2); - expect(charATexture.frame.y).to.equal(2); - expect(charATexture.frame.width).to.equal(19); - expect(charATexture.frame.height).to.equal(20); + expect(charA).toBeDefined(); + expect(charATexture.baseTexture.resource.source).toEqual(fontImage); + expect(charATexture.frame.x).toEqual(2); + expect(charATexture.frame.y).toEqual(2); + expect(charATexture.frame.width).toEqual(19); + expect(charATexture.frame.height).toEqual(20); done(); }); diff --git a/packages/text-bitmap/test/BitmapText.tests.ts b/packages/text-bitmap/test/BitmapText.tests.ts index 6979ab27a2..f838b54ced 100644 --- a/packages/text-bitmap/test/BitmapText.tests.ts +++ b/packages/text-bitmap/test/BitmapText.tests.ts @@ -3,8 +3,7 @@ import fs from 'fs'; import { BitmapText, BitmapFont } from '@pixi/text-bitmap'; import { settings } from '@pixi/settings'; import { Texture, Renderer } from '@pixi/core'; -import sinon from 'sinon'; -import { expect } from 'chai'; + import { Container } from '@pixi/display'; describe('BitmapText', () => @@ -17,7 +16,7 @@ describe('BitmapText', () => let font2XML: XMLDocument; let texture: Texture; - before((done) => + beforeAll((done) => { fontXML = null; fontImage = null; @@ -27,7 +26,7 @@ describe('BitmapText', () => const loadXML = (url: string) => new Promise((resolve) => fs.readFile(resolveURL(url), 'utf8', (err, data) => { - expect(err).to.be.null; + expect(err).toBeNull(); resolve((new window.DOMParser()).parseFromString(data, 'text/xml')); })); @@ -57,7 +56,7 @@ describe('BitmapText', () => }); }); - after(() => + afterAll(() => { BitmapFont.uninstall(font.font); BitmapFont.uninstall(font2.font); @@ -72,10 +71,10 @@ describe('BitmapText', () => texture = Texture.from(fontImage); font = BitmapFont.install(fontXML, texture); font2 = BitmapFont.install(font2XML, texture); - expect(font).instanceof(BitmapFont); - expect(font2).instanceof(BitmapFont); - expect(BitmapFont.available[font.font]).to.equal(font); - expect(BitmapFont.available[font2.font]).to.equal(font2); + expect(font).toBeInstanceOf(BitmapFont); + expect(font2).toBeInstanceOf(BitmapFont); + expect(BitmapFont.available[font.font]).toEqual(font); + expect(BitmapFont.available[font2.font]).toEqual(font2); }); it('should have correct children when modified', () => @@ -89,24 +88,24 @@ describe('BitmapText', () => fontName: 'testFont', }); - const listener = sinon.spy(text, 'addChild'); + const listener = jest.spyOn(text, 'addChild'); text.updateText(); - expect(listener.callCount).to.equal(1); - expect(text.children.length).to.equal(1); + expect(listener.mock.calls).toHaveLength(1); + expect(text.children.length).toEqual(1); text.updateText(); - expect(listener.callCount).to.equal(1); - expect(text.children.length).to.equal(1); + expect(listener.mock.calls).toHaveLength(1); + expect(text.children.length).toEqual(1); text.text = 'hiya'; text.updateText(); - expect(listener.callCount).to.equal(1); - expect(text.children.length).to.equal(1); + expect(listener.mock.calls).toHaveLength(1); + expect(text.children.length).toEqual(1); }); it('should render text even if there are unsupported characters', () => @@ -116,7 +115,7 @@ describe('BitmapText', () => }); text.updateText(); - expect(text['_activePagesMeshData'][0].total).to.equal(4); + expect(text['_activePagesMeshData'][0].total).toEqual(4); }); it('should support font without page reference', () => { @@ -126,8 +125,8 @@ describe('BitmapText', () => text.updateText(); - expect((text.children[0] as Container).width).to.equal(19); - expect((text.children[0] as Container).height).to.equal(20); + expect((text.children[0] as Container).width).toEqual(19); + expect((text.children[0] as Container).height).toEqual(20); }); it('should break line on space', () => { @@ -142,13 +141,13 @@ describe('BitmapText', () => bmpText.text = 'A A A A A A A '; bmpText.updateText(); - expect(bmpText.textWidth).to.be.at.most(bmpText.maxWidth); + expect(bmpText.textWidth).toBeLessThanOrEqual(bmpText.maxWidth); bmpText.maxWidth = 40; bmpText.text = 'A A A A A A A'; bmpText.updateText(); - expect(bmpText.textWidth).to.be.at.most(bmpText.maxWidth); + expect(bmpText.textWidth).toBeLessThanOrEqual(bmpText.maxWidth); }); it('letterSpacing should add extra space between characters', () => { @@ -174,7 +173,7 @@ describe('BitmapText', () => for (let char = 1; char < renderedChars; ++char) { - expect(bmpText.children[char].x).to.equal(prevPos + space + positions[char] - positions[char - 1]); + expect(bmpText.children[char].x).toEqual(prevPos + space + positions[char] - positions[char - 1]); prevPos = bmpText.children[char].x; } } @@ -185,7 +184,7 @@ describe('BitmapText', () => fontName: font.font, }); - expect(() => text.updateText()).to.not.throw(); + expect(() => text.updateText()).not.toThrowError(); text = new BitmapText('not undefined', { fontName: font.font, @@ -193,7 +192,7 @@ describe('BitmapText', () => text.text = undefined; - expect(() => text.updateText()).to.not.throw(); + expect(() => text.updateText()).not.toThrowError(); }); it('should set the text resolution to match the resolution setting when constructed time', () => @@ -202,7 +201,7 @@ describe('BitmapText', () => fontName: font.font, }); - expect(text.resolution).to.equal(settings.RESOLUTION); + expect(text.resolution).toEqual(settings.RESOLUTION); }); it('should update the text resolution to match the renderer resolution when being rendered to screen', () => @@ -211,15 +210,15 @@ describe('BitmapText', () => fontName: font.font, }); - expect(text.resolution).to.equal(settings.RESOLUTION); + expect(text.resolution).toEqual(settings.RESOLUTION); const renderer = new Renderer({ resolution: 2 }); - expect(renderer.resolution).to.equal(2); + expect(renderer.resolution).toEqual(2); renderer.render(text); - expect(text.resolution).to.equal(renderer.resolution); + expect(text.resolution).toEqual(renderer.resolution); renderer.destroy(); }); @@ -232,13 +231,13 @@ describe('BitmapText', () => text.resolution = 3; - expect(text.resolution).to.equal(3); + expect(text.resolution).toEqual(3); const renderer = new Renderer({ resolution: 2 }); renderer.render(text); - expect(text.resolution).to.equal(3); + expect(text.resolution).toEqual(3); renderer.destroy(); }); diff --git a/packages/text/test/Text.tests.ts b/packages/text/test/Text.tests.ts index a5065fedcd..f33a774f29 100644 --- a/packages/text/test/Text.tests.ts +++ b/packages/text/test/Text.tests.ts @@ -3,15 +3,15 @@ import { Sprite } from '@pixi/sprite'; import { skipHello } from '@pixi/utils'; import { settings } from '@pixi/settings'; import { Renderer, BatchRenderer, extensions } from '@pixi/core'; -import { expect } from 'chai'; + import { IDestroyOptions } from '@pixi/display'; skipHello(); describe('Text', () => { - before(() => extensions.add(BatchRenderer)); - after(() => extensions.remove(BatchRenderer)); + beforeAll(() => extensions.add(BatchRenderer)); + afterAll(() => extensions.remove(BatchRenderer)); describe('properties', () => { @@ -21,7 +21,7 @@ describe('Text', () => text.height = 300; - expect(text.height).to.equal(300); + expect(text.height).toEqual(300); }); it('should modify the width of the object when setting width', () => @@ -30,29 +30,29 @@ describe('Text', () => text.width = 300; - expect(text.width).to.equal(300); + expect(text.width).toEqual(300); }); it('should set the text resolution to match the resolution setting when constructed time', () => { const text = new Text('foo'); - expect(text.resolution).to.equal(settings.RESOLUTION); + expect(text.resolution).toEqual(settings.RESOLUTION); }); it('should update the text resolution to match the renderer resolution when being rendered to screen', () => { const text = new Text('foo'); - expect(text.resolution).to.equal(settings.RESOLUTION); + expect(text.resolution).toEqual(settings.RESOLUTION); const renderer = new Renderer({ resolution: 2 }); - expect(renderer.resolution).to.equal(2); + expect(renderer.resolution).toEqual(2); renderer.render(text); - expect(text.resolution).to.equal(renderer.resolution); + expect(text.resolution).toEqual(renderer.resolution); renderer.destroy(); }); @@ -63,13 +63,13 @@ describe('Text', () => text.resolution = 3; - expect(text.resolution).to.equal(3); + expect(text.resolution).toEqual(3); const renderer = new Renderer({ resolution: 2 }); renderer.render(text); - expect(text.resolution).to.equal(3); + expect(text.resolution).toEqual(3); renderer.destroy(); }); @@ -85,8 +85,8 @@ describe('Text', () => text.destroy(); - expect(canvas.width).to.equal(width); - expect(canvas.height).to.equal(height); + expect(canvas.width).toEqual(width); + expect(canvas.height).toEqual(height); }); it('should clear size on owned canvas during destroy', () => @@ -96,26 +96,26 @@ describe('Text', () => text.destroy(); - expect(canvas.width).to.equal(0); - expect(canvas.height).to.equal(0); + expect(canvas.width).toEqual(0); + expect(canvas.height).toEqual(0); }); it('should call through to Sprite.destroy', () => { const text = new Text('foo'); - expect(text.anchor).to.not.equal(null); + expect(text.anchor).not.toEqual(null); text.destroy(); - expect(text.anchor).to.equal(null); + expect(text.anchor).toEqual(null); }); it('should set context to null', () => { const text = new Text('foo'); - expect(text.style).to.not.equal(null); + expect(text.style).not.toEqual(null); text.destroy(); - expect(text.style).to.equal(null); + expect(text.style).toEqual(null); }); it('should destroy children if children flag is set', () => @@ -125,8 +125,8 @@ describe('Text', () => text.addChild(child); text.destroy({ children: true }); - expect(text.transform).to.equal(null); - expect(child.transform).to.equal(null); + expect(text.transform).toEqual(null); + expect(child.transform).toEqual(null); }); it('should accept options correctly', () => @@ -136,8 +136,8 @@ describe('Text', () => text.addChild(child); text.destroy(true); - expect(text.transform).to.equal(null); - expect(child.transform).to.equal(null); + expect(text.transform).toEqual(null); + expect(child.transform).toEqual(null); }); it('should pass opts on to children if children flag is set', () => @@ -153,7 +153,7 @@ describe('Text', () => text.addChild(child); text.destroy({ children: true, texture: true }); - expect(childDestroyOpts).to.deep.equal({ children: true, texture: true, baseTexture: true }); + expect(childDestroyOpts).toEqual({ children: true, texture: true, baseTexture: true }); }); }); @@ -163,42 +163,42 @@ describe('Text', () => { const text = new Text(2); - expect(text.text).to.equal('2'); + expect(text.text).toEqual('2'); }); it('should not change 0 to \'\'', () => { const text = new Text(0); - expect(text.text).to.equal('0'); + expect(text.text).toEqual('0'); }); it('should prevent setting null', () => { const text = new Text(null); - expect(text.text).to.equal(''); + expect(text.text).toEqual(''); }); it('should prevent setting undefined', () => { const text = new Text(); - expect(text.text).to.equal(''); + expect(text.text).toEqual(''); }); it('should trim an empty string', () => { const text = new Text('', { trim: true }); - expect(text.text).to.equal(''); + expect(text.text).toEqual(''); }); it('should allow setting \'\' for v5', () => { const text = new Text(''); - expect(text.text).to.equal(''); + expect(text.text).toEqual(''); }); it('should keep at least 1 pixel for canvas width and height', () => @@ -207,12 +207,12 @@ describe('Text', () => text.updateText(undefined); - expect(text.canvas.width).to.be.above(1); - expect(text.canvas.height).to.be.above(1); + expect(text.canvas.width).toBeGreaterThan(1); + expect(text.canvas.height).toBeGreaterThan(1); text.text = '\n'; - expect(text.canvas.width).to.be.above(0); + expect(text.canvas.width).toBeGreaterThan(0); }); }); }); diff --git a/packages/text/test/TextMetrics.tests.ts b/packages/text/test/TextMetrics.tests.ts index 8eb171ddf6..7a39227acb 100644 --- a/packages/text/test/TextMetrics.tests.ts +++ b/packages/text/test/TextMetrics.tests.ts @@ -1,5 +1,4 @@ import { ITextStyle, TextMetrics, TextStyle } from '@pixi/text'; -import { expect } from 'chai'; /** * Fonts render slightly differently between platforms so tests that depend on a specific @@ -67,13 +66,15 @@ describe('TextMetrics', () => const metrics = TextMetrics.measureText(longText, new TextStyle(style)); - expect(metrics.width).to.be.below(style.wordWrapWidth); + expect(metrics.width).toBeLessThan(style.wordWrapWidth); metrics.lines.forEach((line) => { - expect(line).to.not.contain(' ', 'should not have multiple spaces in a row'); - expect(line[0]).to.not.equal(' ', 'should not have space at the start'); - expect(line[line.length - 1]).to.not.equal(' ', 'should not have space at the end'); + expect(line).toEqual( + expect.not.arrayContaining([' ', 'should not have multiple spaces in a row']) + ); + expect(line[0]).not.toEqual(' '); + expect(line[line.length - 1]).not.toEqual(' '); }); }); @@ -83,12 +84,12 @@ describe('TextMetrics', () => const metrics = TextMetrics.measureText(breakingWordText, new TextStyle(style)); - expect(metrics.width).to.be.above(style.wordWrapWidth); + expect(metrics.width).toBeGreaterThan(style.wordWrapWidth); metrics.lines.forEach((line) => { - expect(line[0]).to.not.equal(' ', 'should not have space at the start'); - expect(line[line.length - 1]).to.not.equal(' ', 'should not have space at the end'); + expect(line[0]).not.toEqual(' '); + expect(line[line.length - 1]).not.toEqual(' '); }); }); @@ -100,13 +101,13 @@ describe('TextMetrics', () => const metrics = TextMetrics.measureText(fillText, new TextStyle(style)); - expect(metrics.width).to.be.below(style.wordWrapWidth); - expect(metrics.width + charWidth).to.be.above(style.wordWrapWidth); + expect(metrics.width).toBeLessThan(style.wordWrapWidth); + expect(metrics.width + charWidth).toBeGreaterThan(style.wordWrapWidth); metrics.lines.forEach((line) => { - expect(line[0]).to.not.equal(' ', 'should not have space at the start'); - expect(line[line.length - 1]).to.not.equal(' ', 'should not have space at the end'); + expect(line[0]).not.toEqual(' '); + expect(line[line.length - 1]).not.toEqual(' '); }); }); @@ -116,21 +117,21 @@ describe('TextMetrics', () => const metrics = TextMetrics.measureText(spaceNewLineText, new TextStyle(style)); - expect(metrics.width).to.be.above(style.wordWrapWidth); + expect(metrics.width).toBeGreaterThan(style.wordWrapWidth); - expect(metrics.lines[0][0]).to.equal(' ', '1st line should start with a space'); - expect(metrics.lines[4][0]).to.equal(' ', '5th line should start with 3 spaces (1)'); - expect(metrics.lines[4][1]).to.equal(' ', '5th line should start with 3 spaces (2)'); - expect(metrics.lines[4][2]).to.equal(' ', '5th line should start with 3 spaces (3)'); - expect(metrics.lines[4][3]).to.not.equal(' ', '5th line should not have a space as the 4th char'); + expect(metrics.lines[0][0]).toEqual(' '); + expect(metrics.lines[4][0]).toEqual(' '); + expect(metrics.lines[4][1]).toEqual(' '); + expect(metrics.lines[4][2]).toEqual(' '); + expect(metrics.lines[4][3]).not.toEqual(' '); metrics.lines.forEach((line, i) => { if (i !== 0 && i !== 4) { - expect(metrics.lines[1][0]).to.not.equal(' ', 'all lines except 1 & 5 should not have space at the start'); + expect(metrics.lines[1][0]).not.toEqual(' '); } - expect(line[line.length - 1]).to.not.equal(' ', 'no lines should have a space at the end'); + expect(line[line.length - 1]).not.toEqual(' '); }); }); @@ -138,7 +139,7 @@ describe('TextMetrics', () => { const metrics = TextMetrics.measureText(longText, new TextStyle(defaultStyle), false); - expect(metrics.lines.length).to.equal(1); + expect(metrics.lines.length).toEqual(1); }); }); @@ -150,12 +151,12 @@ describe('TextMetrics', () => const metrics = TextMetrics.measureText(longText, new TextStyle(style)); - expect(metrics.width).to.be.below(style.wordWrapWidth); + expect(metrics.width).toBeLessThan(style.wordWrapWidth); metrics.lines.forEach((line) => { - expect(line[0]).to.not.equal(' ', 'should not have space at the start'); - expect(line[line.length - 1]).to.not.equal(' ', 'should not have space at the end'); + expect(line[0]).not.toEqual(' '); + expect(line[line.length - 1]).not.toEqual(' '); }); }); @@ -165,12 +166,12 @@ describe('TextMetrics', () => const metrics = TextMetrics.measureText(breakingWordText, new TextStyle(style)); - expect(metrics.width).to.be.below(style.wordWrapWidth); + expect(metrics.width).toBeLessThan(style.wordWrapWidth); metrics.lines.forEach((line) => { - expect(line[0]).to.not.equal(' ', 'should not have space at the start'); - expect(line[line.length - 1]).to.not.equal(' ', 'should not have space at the end'); + expect(line[0]).not.toEqual(' '); + expect(line[line.length - 1]).not.toEqual(' '); }); }); @@ -182,13 +183,13 @@ describe('TextMetrics', () => const metrics = TextMetrics.measureText(fillText, new TextStyle(style)); - expect(metrics.width).to.be.below(style.wordWrapWidth); - expect(metrics.width + charWidth).to.be.above(style.wordWrapWidth); + expect(metrics.width).toBeLessThan(style.wordWrapWidth); + expect(metrics.width + charWidth).toBeGreaterThan(style.wordWrapWidth); metrics.lines.forEach((line) => { - expect(line[0]).to.not.equal(' ', 'should not have space at the start'); - expect(line[line.length - 1]).to.not.equal(' ', 'should not have space at the end'); + expect(line[0]).not.toEqual(' '); + expect(line[line.length - 1]).not.toEqual(' '); }); }); @@ -200,7 +201,7 @@ describe('TextMetrics', () => const lines = metrics.lines.reduce((accumulator, line) => accumulator + line); - expect(lines).to.equal(intergityText, 'should have the same chars as the original text'); + expect(lines).toEqual(intergityText); }); it('width should not be greater than wordWrapWidth and should format correct spaces', () => @@ -209,21 +210,21 @@ describe('TextMetrics', () => const metrics = TextMetrics.measureText(spaceNewLineText, new TextStyle(style)); - expect(metrics.width).to.be.below(style.wordWrapWidth); + expect(metrics.width).toBeLessThan(style.wordWrapWidth); - expect(metrics.lines[0][0]).to.equal(' ', '1st line should start with a space'); - expect(metrics.lines[4][0]).to.equal(' ', '5th line should start with 3 spaces (1)'); - expect(metrics.lines[4][1]).to.equal(' ', '5th line should start with 3 spaces (2)'); - expect(metrics.lines[4][2]).to.equal(' ', '5th line should start with 3 spaces (3)'); - expect(metrics.lines[4][3]).to.not.equal(' ', '5th line should not have a space as the 4th char'); + expect(metrics.lines[0][0]).toEqual(' '); + expect(metrics.lines[4][0]).toEqual(' '); + expect(metrics.lines[4][1]).toEqual(' '); + expect(metrics.lines[4][2]).toEqual(' '); + expect(metrics.lines[4][3]).not.toEqual(' '); metrics.lines.forEach((line, i) => { if (i !== 0 && i !== 4) { - expect(metrics.lines[1][0]).to.not.equal(' ', 'all lines except 1 & 5 should not have space at the start'); + expect(metrics.lines[1][0]).not.toEqual(' '); } - expect(line[line.length - 1]).to.not.equal(' ', 'no lines should have a space at the end'); + expect(line[line.length - 1]).not.toEqual(' '); }); }); }); @@ -244,15 +245,15 @@ describe('TextMetrics', () => TextMetrics.wordWrapSplit = (token) => { wasSplitCalled = true; - expect(token).to.equal('testword1234567890abcd!'); + expect(token).toEqual('testword1234567890abcd!'); return ['s', 'p', 'l', 'i', 't']; }; const brokenText = TextMetrics['wordWrap']('testword1234567890abcd!', new TextStyle(defaultStyle)); - expect(wasSplitCalled).to.equal(true); - expect(brokenText).to.equal('split'); + expect(wasSplitCalled).toEqual(true); + expect(brokenText).toEqual('split'); }); }); @@ -264,13 +265,15 @@ describe('TextMetrics', () => const metrics = TextMetrics.measureText(spaceNewLineText, new TextStyle(style)); - expect(metrics.width).to.be.above(style.wordWrapWidth); + expect(metrics.width).toBeGreaterThan(style.wordWrapWidth); metrics.lines.forEach((line) => { - expect(line).to.not.contain(' ', 'should not have multiple spaces in a row'); - expect(line[0]).to.not.equal(' ', 'all lines should not have space at the start'); - expect(line[line.length - 1]).to.not.equal(' ', 'no lines should have a space at the end'); + expect(line).toEqual( + expect.not.arrayContaining([' ', 'should not have multiple spaces in a row']) + ); + expect(line[0]).not.toEqual(' '); + expect(line[line.length - 1]).not.toEqual(' '); }); }); @@ -279,7 +282,7 @@ describe('TextMetrics', () => { if (process.platform === 'win32') { - this.skip(); + return; return; } @@ -288,11 +291,11 @@ describe('TextMetrics', () => const metrics = TextMetrics.measureText(spaceNewLineText, new TextStyle(style)); - expect(metrics.lines[0][0]).to.equal('S', '1st line should not start with a space'); - expect(metrics.lines[4][0]).to.equal('m', '5th line should not start with 3 spaces (1)'); - expect(metrics.lines[4][1]).to.equal('o', '5th line should not start with 3 spaces (2)'); - expect(metrics.lines[4][2]).to.equal('r', '5th line should not start with 3 spaces (3)'); - expect(metrics.lines[17][0]).to.equal('a', '17th line should not have wrapped'); + expect(metrics.lines[0][0]).toEqual('S'); + expect(metrics.lines[4][0]).toEqual('m'); + expect(metrics.lines[4][1]).toEqual('o'); + expect(metrics.lines[4][2]).toEqual('r'); + expect(metrics.lines[17][0]).toEqual('a'); }); }); @@ -304,18 +307,18 @@ describe('TextMetrics', () => const metrics = TextMetrics.measureText(spaceNewLineText, new TextStyle(style)); - expect(metrics.width).to.be.above(style.wordWrapWidth); + expect(metrics.width).toBeGreaterThan(style.wordWrapWidth); - expect(metrics.lines[0][0]).to.equal('S', '1st line should not start with a space'); - expect(metrics.lines[4][0]).to.equal('A', '5th line should not start with 3 spaces (1)'); - expect(metrics.lines[4][1]).to.equal('n', '5th line should not start with 3 spaces (2)'); - expect(metrics.lines[4][2]).to.equal('d', '5th line should not start with 3 spaces (3)'); - expect(metrics.lines[17][0]).to.equal('t', '17th line should have wrapped'); + expect(metrics.lines[0][0]).toEqual('S'); + expect(metrics.lines[4][0]).toEqual('A'); + expect(metrics.lines[4][1]).toEqual('n'); + expect(metrics.lines[4][2]).toEqual('d'); + expect(metrics.lines[17][0]).toEqual('t'); metrics.lines.forEach((line) => { - expect(line[0]).to.not.equal(' ', 'all lines should not have space at the start'); - expect(line[line.length - 1]).to.not.equal(' ', 'no lines should have a space at the end'); + expect(line[0]).not.toEqual(' '); + expect(line[line.length - 1]).not.toEqual(' '); }); }); }); @@ -328,13 +331,15 @@ describe('TextMetrics', () => const metrics = TextMetrics.measureText(spaceNewLineText, new TextStyle(style)); - expect(metrics.width).to.be.below(style.wordWrapWidth); + expect(metrics.width).toBeLessThan(style.wordWrapWidth); metrics.lines.forEach((line) => { - expect(line).to.not.contain(' ', 'should not have multiple spaces in a row'); - expect(line[0]).to.not.equal(' ', 'all lines should not have space at the start'); - expect(line[line.length - 1]).to.not.equal(' ', 'no lines should have a space at the end'); + expect(line).toEqual( + expect.not.arrayContaining([' ', 'should not have multiple spaces in a row']) + ); + expect(line[0]).not.toEqual(' '); + expect(line[line.length - 1]).not.toEqual(' '); }); }); @@ -343,7 +348,7 @@ describe('TextMetrics', () => { if (process.platform === 'win32') { - this.skip(); + return; return; } @@ -352,11 +357,11 @@ describe('TextMetrics', () => const metrics = TextMetrics.measureText(spaceNewLineText, new TextStyle(style)); - expect(metrics.lines[0][0]).to.equal('S', '1st line should not start with a space'); - expect(metrics.lines[4][0]).to.equal('m', '5th line should not start with 3 spaces (1)'); - expect(metrics.lines[4][1]).to.equal('o', '5th line should not start with 3 spaces (2)'); - expect(metrics.lines[4][2]).to.equal('r', '5th line should not start with 3 spaces (3)'); - expect(metrics.lines[17][0]).to.equal('a', '17th line should not have wrapped'); + expect(metrics.lines[0][0]).toEqual('S'); + expect(metrics.lines[4][0]).toEqual('m'); + expect(metrics.lines[4][1]).toEqual('o'); + expect(metrics.lines[4][2]).toEqual('r'); + expect(metrics.lines[17][0]).toEqual('a'); }); }); @@ -368,18 +373,18 @@ describe('TextMetrics', () => const metrics = TextMetrics.measureText(spaceNewLineText, new TextStyle(style)); - expect(metrics.width).to.be.below(style.wordWrapWidth); + expect(metrics.width).toBeLessThan(style.wordWrapWidth); - expect(metrics.lines[0][0]).to.equal('S', '1st line should not start with a space'); - expect(metrics.lines[4][0]).to.equal('A', '5th line should not start with 3 spaces (1)'); - expect(metrics.lines[4][1]).to.equal('n', '5th line should not start with 3 spaces (2)'); - expect(metrics.lines[4][2]).to.equal('d', '5th line should not start with 3 spaces (3)'); - expect(metrics.lines[17][0]).to.equal('t', '17th line should have wrapped'); + expect(metrics.lines[0][0]).toEqual('S'); + expect(metrics.lines[4][0]).toEqual('A'); + expect(metrics.lines[4][1]).toEqual('n'); + expect(metrics.lines[4][2]).toEqual('d'); + expect(metrics.lines[17][0]).toEqual('t'); metrics.lines.forEach((line) => { - expect(line[0]).to.not.equal(' ', 'all lines should not have space at the start'); - expect(line[line.length - 1]).to.not.equal(' ', 'no lines should have a space at the end'); + expect(line[0]).not.toEqual(' '); + expect(line[line.length - 1]).not.toEqual(' '); }); }); }); @@ -390,28 +395,28 @@ describe('TextMetrics', () => { const text = TextMetrics['trimRight']('remove white spaces to the right'); - expect(text).to.equal('remove white spaces to the right'); + expect(text).toEqual('remove white spaces to the right'); }); it('string with whitespaces to trim', () => { const text = TextMetrics['trimRight']('remove white spaces to the right '); - expect(text).to.equal('remove white spaces to the right'); + expect(text).toEqual('remove white spaces to the right'); }); it('string with strange unicode whitespaces to trim', () => { const text = TextMetrics['trimRight']('remove white spaces to the right\u0009\u0020\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2008\u2009\u200A\u205F\u3000'); - expect(text).to.equal('remove white spaces to the right'); + expect(text).toEqual('remove white spaces to the right'); }); it('empty string', () => { const text = TextMetrics['trimRight'](''); - expect(text).to.equal(''); + expect(text).toEqual(''); }); it('non-string input', () => @@ -419,7 +424,7 @@ describe('TextMetrics', () => // @ts-expect-error - should return false on non-string input const text = TextMetrics['trimRight']({}); - expect(text).to.equal(''); + expect(text).toEqual(''); }); }); @@ -429,21 +434,21 @@ describe('TextMetrics', () => { const bool = TextMetrics['isNewline']('\n'); - expect(bool).to.equal(true); + expect(bool).toEqual(true); }); it('carriage return', () => { const bool = TextMetrics['isNewline']('\r'); - expect(bool).to.equal(true); + expect(bool).toEqual(true); }); it('newline char', () => { const bool = TextMetrics['isNewline']('A'); - expect(bool).to.equal(false); + expect(bool).toEqual(false); }); it('non string', () => @@ -451,7 +456,7 @@ describe('TextMetrics', () => // @ts-expect-error - should return false on non-string input const bool = TextMetrics['isNewline']({}); - expect(bool).to.equal(false); + expect(bool).toEqual(false); }); }); @@ -463,7 +468,7 @@ describe('TextMetrics', () => { const bool = TextMetrics.isBreakingSpace(char); - expect(bool).to.equal(true); + expect(bool).toEqual(true); }); }); @@ -473,7 +478,7 @@ describe('TextMetrics', () => { const bool = TextMetrics.isBreakingSpace(char); - expect(bool).to.not.equal(true); + expect(bool).not.toEqual(true); }); }); @@ -481,7 +486,7 @@ describe('TextMetrics', () => { const bool = TextMetrics.isBreakingSpace('A'); - expect(bool).to.equal(false); + expect(bool).toEqual(false); }); it('non string', () => @@ -489,7 +494,7 @@ describe('TextMetrics', () => // @ts-expect-error - should return false on non-string input const bool = TextMetrics.isBreakingSpace({}); - expect(bool).to.equal(false); + expect(bool).toEqual(false); }); it('overridable breaking spaces', () => @@ -515,7 +520,7 @@ describe('TextMetrics', () => { const bool = TextMetrics.isBreakingSpace(char, 'あ'); - expect(bool).to.equal(false); + expect(bool).toEqual(false); }); // reset the override breakingSpace @@ -529,42 +534,42 @@ describe('TextMetrics', () => { const arr = TextMetrics['tokenize'](spaceNewLineText); - expect(arr).to.be.an('array'); - expect(arr.length).to.equal(146); - expect(arr).to.not.contain(''); - expect(arr).to.not.contain(null); + expect(arr).toBeArray(); + expect(arr.length).toEqual(146); + expect(arr).toEqual(expect.not.arrayContaining([''])); + expect(arr).toEqual(expect.not.arrayContaining([null])); }); it('empty string', () => { const arr = TextMetrics['tokenize'](''); - expect(arr).to.be.an('array'); - expect(arr.length).to.equal(0); + expect(arr).toBeArray(); + expect(arr.length).toEqual(0); }); it('single char', () => { const arr = TextMetrics['tokenize']('A'); - expect(arr).to.be.an('array'); - expect(arr.length).to.equal(1); + expect(arr).toBeArray(); + expect(arr.length).toEqual(1); }); it('newline char', () => { const arr = TextMetrics['tokenize']('\n'); - expect(arr).to.be.an('array'); - expect(arr.length).to.equal(1); + expect(arr).toBeArray(); + expect(arr.length).toEqual(1); }); it('breakingSpaces', () => { const arr = TextMetrics['tokenize'](breakingSpaces.join('')); - expect(arr).to.be.an('array'); - expect(arr.length).to.equal(breakingSpaces.length); + expect(arr).toBeArray(); + expect(arr.length).toEqual(breakingSpaces.length); }); it('non string', () => @@ -572,8 +577,8 @@ describe('TextMetrics', () => // @ts-expect-error - should return false on non-string input const arr = TextMetrics['tokenize']({}); - expect(arr).to.be.an('array'); - expect(arr.length).to.equal(0); + expect(arr).toBeArray(); + expect(arr.length).toEqual(0); }); }); @@ -583,21 +588,21 @@ describe('TextMetrics', () => { const bool = TextMetrics['collapseSpaces']('pre'); - expect(bool).to.equal(false); + expect(bool).toEqual(false); }); it('normal', () => { const bool = TextMetrics['collapseSpaces']('normal'); - expect(bool).to.equal(true); + expect(bool).toEqual(true); }); it('pre-line', () => { const bool = TextMetrics['collapseSpaces']('pre-line'); - expect(bool).to.equal(true); + expect(bool).toEqual(true); }); it('non matching string', () => @@ -605,7 +610,7 @@ describe('TextMetrics', () => // @ts-expect-error - should return false on non matching string const bool = TextMetrics['collapseSpaces']('bull'); - expect(bool).to.equal(false); + expect(bool).toEqual(false); }); it('non string', () => @@ -613,7 +618,7 @@ describe('TextMetrics', () => // @ts-expect-error - should return false on non-string input const bool = TextMetrics['collapseSpaces']({}); - expect(bool).to.equal(false); + expect(bool).toEqual(false); }); }); @@ -623,21 +628,21 @@ describe('TextMetrics', () => { const bool = TextMetrics['collapseNewlines']('pre'); - expect(bool).to.equal(false); + expect(bool).toEqual(false); }); it('normal', () => { const bool = TextMetrics['collapseNewlines']('normal'); - expect(bool).to.equal(true); + expect(bool).toEqual(true); }); it('pre-line', () => { const bool = TextMetrics['collapseNewlines']('pre-line'); - expect(bool).to.equal(false); + expect(bool).toEqual(false); }); it('non matching string', () => @@ -645,7 +650,7 @@ describe('TextMetrics', () => // @ts-expect-error - should return false on non matching string const bool = TextMetrics['collapseNewlines']('bull'); - expect(bool).to.equal(false); + expect(bool).toEqual(false); }); it('non string', () => @@ -653,7 +658,7 @@ describe('TextMetrics', () => // @ts-expect-error - should return false on non-string input const bool = TextMetrics['collapseNewlines']({}); - expect(bool).to.equal(false); + expect(bool).toEqual(false); }); }); @@ -663,14 +668,14 @@ describe('TextMetrics', () => { const bool = TextMetrics.canBreakWords('text', true); - expect(bool).to.equal(true); + expect(bool).toEqual(true); }); it('breakWords: false', () => { const bool = TextMetrics.canBreakWords('text', false); - expect(bool).to.equal(false); + expect(bool).toEqual(false); }); }); @@ -681,7 +686,7 @@ describe('TextMetrics', () => // @ts-expect-error - function is meant to be overridden const bool = TextMetrics['canBreakChars'](); - expect(bool).to.equal(true); + expect(bool).toEqual(true); }); it('should prevent breaking for all numbers', () => @@ -713,8 +718,8 @@ describe('TextMetrics', () => const metrics = TextMetrics.measureText(str, style); - expect(metrics.lines[0]).to.equal('-------0000,1111,'); - expect(metrics.lines[1]).to.equal('9999------'); + expect(metrics.lines[0]).toEqual('-------0000,1111,'); + expect(metrics.lines[1]).toEqual('9999------'); }); }); }); diff --git a/packages/text/test/TextStyle.tests.ts b/packages/text/test/TextStyle.tests.ts index a88350a040..a0f531ccea 100644 --- a/packages/text/test/TextStyle.tests.ts +++ b/packages/text/test/TextStyle.tests.ts @@ -1,5 +1,4 @@ import { TextStyle } from '@pixi/text'; -import { expect } from 'chai'; describe('TextStyle', () => { @@ -10,9 +9,9 @@ describe('TextStyle', () => textStyle.fontSize = 1000; - expect(textStyle.fontSize).to.equal(1000); + expect(textStyle.fontSize).toEqual(1000); textStyle.reset(); - expect(textStyle.fontSize).to.equal(defaultFontSize); + expect(textStyle.fontSize).toEqual(defaultFontSize); }); it('should clone correctly', () => @@ -21,8 +20,8 @@ describe('TextStyle', () => const clonedTextStyle = textStyle.clone(); - expect(textStyle.fontSize).to.equal(1000); - expect(clonedTextStyle.fontSize).to.equal(textStyle.fontSize); + expect(textStyle.fontSize).toEqual(1000); + expect(clonedTextStyle.fontSize).toEqual(textStyle.fontSize); }); it('should assume pixel fonts', () => @@ -30,8 +29,8 @@ describe('TextStyle', () => const style = new TextStyle({ fontSize: 72 }); const font = style.toFontString(); - expect(font).to.be.a.string; - expect(font).to.have.string(' 72px '); + expect(font).toBeString(); + expect(font).toContain(' 72px '); }); it('should handle multiple fonts as array', () => @@ -40,7 +39,7 @@ describe('TextStyle', () => fontFamily: ['Georgia', 'Arial', 'sans-serif'], }); - expect(style.toFontString()).to.have.string('"Georgia","Arial",sans-serif'); + expect(style.toFontString()).toContain('"Georgia","Arial",sans-serif'); }); it('should handle multiple fonts as string', () => @@ -49,7 +48,7 @@ describe('TextStyle', () => fontFamily: 'Georgia, "Arial", sans-serif', }); - expect(style.toFontString()).to.have.string('"Georgia","Arial",sans-serif'); + expect(style.toFontString()).toContain('"Georgia","Arial",sans-serif'); }); it('should not shared array / object references between different instances', () => @@ -57,9 +56,9 @@ describe('TextStyle', () => const defaultStyle = new TextStyle(); const style = new TextStyle(); - expect(defaultStyle.fillGradientStops.length).to.equal(style.fillGradientStops.length); + expect(defaultStyle.fillGradientStops.length).toEqual(style.fillGradientStops.length); style.fillGradientStops.push(0); - expect(defaultStyle.fillGradientStops.length).to.not.equal(style.fillGradientStops.length); + expect(defaultStyle.fillGradientStops.length).not.toEqual(style.fillGradientStops.length); }); it('should not quote generic font families when calling toFontString', () => @@ -87,7 +86,7 @@ describe('TextStyle', () => const regex = new RegExp(incorrectRegexTemplate.replace('FAMILY', genericFamily)); const result = style.toFontString().match(regex); - expect(result).to.be.null; + expect(result).toBeNull(); } }); }); diff --git a/packages/ticker/test/Ticker.tests.ts b/packages/ticker/test/Ticker.tests.ts index 92ac5744db..53a90ecd06 100644 --- a/packages/ticker/test/Ticker.tests.ts +++ b/packages/ticker/test/Ticker.tests.ts @@ -1,6 +1,4 @@ import { Ticker, UPDATE_PRIORITY } from '@pixi/ticker'; -import sinon from 'sinon'; -import { expect } from 'chai'; const { shared, system } = Ticker; @@ -8,7 +6,7 @@ describe('Ticker', () => { let length: (ticker?: Ticker) => number; - before(() => + beforeAll(() => { length = (ticker?: Ticker) => { @@ -34,9 +32,9 @@ describe('Ticker', () => it('should be available', () => { - expect(Ticker).to.be.a('function'); - expect(shared).to.be.an.instanceof(Ticker); - expect(system).to.be.an.instanceof(Ticker); + expect(Ticker).toBeInstanceOf(Function); + expect(shared).toBeInstanceOf(Ticker); + expect(system).toBeInstanceOf(Ticker); }); it('should create a new ticker and destroy it', () => @@ -45,122 +43,122 @@ describe('Ticker', () => ticker.start(); - const listener = sinon.spy(); + const listener = jest.fn(); - expect(length(ticker)).to.equal(0); + expect(length(ticker)).toEqual(0); ticker.add(listener); - expect(length(ticker)).to.equal(1); + expect(length(ticker)).toEqual(1); ticker.destroy(); - expect(ticker['_head']).to.be.null; - expect(ticker.started).to.be.false; - expect(length(ticker)).to.equal(0); + expect(ticker['_head']).toBeNull(); + expect(ticker.started).toBe(false); + expect(length(ticker)).toEqual(0); }); it('should protect destroying shared ticker', () => { - const listener = sinon.spy(); + const listener = jest.fn(); shared.add(listener); // needed to autoStart shared.destroy(); - expect(shared['_head']).to.not.be.null; - expect(shared.started).to.be.true; + expect(shared['_head']).not.toBeNull(); + expect(shared.started).toBe(true); }); it('should protect destroying system ticker', () => { - const listener = sinon.spy(); + const listener = jest.fn(); system.add(listener); // needed to autoStart system.destroy(); - expect(system['_head']).to.not.be.null; - expect(system.started).to.be.true; + expect(system['_head']).not.toBeNull(); + expect(system.started).toBe(true); }); it('should add and remove listener', () => { - const listener = sinon.spy(); + const listener = jest.fn(); const len = length(); shared.add(listener); - expect(length()).to.equal(len + 1); + expect(length()).toEqual(len + 1); shared.remove(listener); - expect(length()).to.equal(len); + expect(length()).toEqual(len); }); it('should update a listener', () => { - const listener = sinon.spy(); + const listener = jest.fn(); shared.add(listener); shared.update(); - expect(listener.calledOnce).to.be.true; + expect(listener).toBeCalledTimes(1); shared.remove(listener); shared.update(); - expect(listener.calledOnce).to.be.true; + expect(listener).toBeCalledTimes(1); }); it('should update a listener twice and remove once', () => { - const listener = sinon.spy(); + const listener = jest.fn(); const len = length(); shared.add(listener).add(listener); shared.update(); - expect(listener.calledTwice).to.be.true; - expect(length()).to.equal(len + 2); + expect(listener).toBeCalledTimes(2); + expect(length()).toEqual(len + 2); shared.remove(listener); shared.update(); - expect(listener.calledTwice).to.be.true; - expect(length()).to.equal(len); + expect(listener).toBeCalledTimes(2); + expect(length()).toEqual(len); }); it('should count listeners correctly', () => { const ticker = new Ticker(); - expect(ticker.count).to.equal(0); + expect(ticker.count).toEqual(0); - const listener = sinon.spy(); + const listener = jest.fn(); ticker.add(listener); - expect(ticker.count).to.equal(1); + expect(ticker.count).toEqual(1); ticker.add(listener); - expect(ticker.count).to.equal(2); + expect(ticker.count).toEqual(2); ticker.remove(listener); - expect(ticker.count).to.equal(0); + expect(ticker.count).toEqual(0); ticker.destroy(); - expect(ticker['_head']).to.be.null; - expect(ticker.started).to.be.false; - expect(length(ticker)).to.equal(0); + expect(ticker['_head']).toBeNull(); + expect(ticker.started).toBe(false); + expect(length(ticker)).toEqual(0); }); it('should respect priority order', () => { const len = length(); - const listener1 = sinon.spy(); - const listener2 = sinon.spy(); - const listener3 = sinon.spy(); - const listener4 = sinon.spy(); + const listener1 = jest.fn(); + const listener2 = jest.fn(); + const listener3 = jest.fn(); + const listener4 = jest.fn(); shared.add(listener1, null, UPDATE_PRIORITY.LOW) .add(listener4, null, UPDATE_PRIORITY.INTERACTION) @@ -169,37 +167,44 @@ describe('Ticker', () => shared.update(); - expect(length()).to.equal(len + 4); + expect(length()).toEqual(len + 4); - sinon.assert.callOrder(listener4, listener3, listener2, listener1); + const l4 = listener4.mock.invocationCallOrder[0]; + const l3 = listener3.mock.invocationCallOrder[0]; + const l2 = listener2.mock.invocationCallOrder[0]; + const l1 = listener1.mock.invocationCallOrder[0]; + + expect(l4).toBeLessThan(l3); + expect(l3).toBeLessThan(l2); + expect(l2).toBeLessThan(l1); shared.remove(listener1) .remove(listener2) .remove(listener3) .remove(listener4); - expect(length()).to.equal(len); + expect(length()).toEqual(len); }); it('should auto-remove once listeners', () => { const len = length(); - const listener = sinon.spy(); + const listener = jest.fn(); shared.addOnce(listener); shared.update(); - expect(listener.calledOnce).to.be.true; - expect(length()).to.equal(len); + expect(listener).toBeCalledTimes(1); + expect(length()).toEqual(len); }); it('should call when adding same priority', () => { const len = length(); - const listener1 = sinon.spy(); - const listener2 = sinon.spy(); - const listener3 = sinon.spy(); + const listener1 = jest.fn(); + const listener2 = jest.fn(); + const listener3 = jest.fn(); shared.add(listener1) .add(listener2) @@ -207,23 +212,28 @@ describe('Ticker', () => shared.update(); - expect(length()).to.equal(len + 3); + expect(length()).toEqual(len + 3); + + const l3 = listener3.mock.invocationCallOrder[0]; + const l2 = listener2.mock.invocationCallOrder[0]; + const l1 = listener1.mock.invocationCallOrder[0]; - sinon.assert.callOrder(listener1, listener2, listener3); + expect(l1).toBeLessThan(l2); + expect(l2).toBeLessThan(l3); shared.remove(listener1) .remove(listener2) .remove(listener3); - expect(length()).to.equal(len); + expect(length()).toEqual(len); }); it.skip('should remove once listener in a stack', () => { const len = length(); - const listener1 = sinon.spy(); - const listener2 = sinon.spy(); - const listener3 = sinon.spy(); + const listener1 = jest.fn(); + const listener2 = jest.fn(); + const listener3 = jest.fn(); shared.add(listener1, null, UPDATE_PRIORITY.HIGH); shared.addOnce(listener2, null, UPDATE_PRIORITY.NORMAL); @@ -231,25 +241,25 @@ describe('Ticker', () => shared.update(); - expect(length()).to.equal(len + 2); + expect(length()).toEqual(len + 2); shared.update(); - expect(listener1.calledTwice).to.be.true; - expect(listener2.calledOnce).to.be.true; - expect(listener3.calledTwice).to.be.true; + expect(listener1).toBeCalledTimes(2); + expect(listener2).toBeCalledTimes(1); + expect(listener3).toBeCalledTimes(2); shared.remove(listener1).remove(listener3); - expect(length()).to.equal(len); + expect(length()).toEqual(len); }); it('should call inserted item with a lower priority', () => { const len = length(); - const lowListener = sinon.spy(); - const highListener = sinon.spy(); - const mainListener = sinon.spy(() => + const lowListener = jest.fn(); + const highListener = jest.fn(); + const mainListener = jest.fn(() => { shared.add(highListener, null, UPDATE_PRIORITY.HIGH); shared.add(lowListener, null, UPDATE_PRIORITY.LOW); @@ -259,24 +269,24 @@ describe('Ticker', () => shared.update(); - expect(length()).to.equal(len + 3); + expect(length()).toEqual(len + 3); - expect(mainListener.calledOnce).to.be.true; - expect(lowListener.calledOnce).to.be.true; - expect(highListener.calledOnce).to.be.false; + expect(mainListener).toBeCalledTimes(1); + expect(lowListener).toBeCalledTimes(1); + expect(highListener).not.toBeCalled(); shared.remove(mainListener) .remove(highListener) .remove(lowListener); - expect(length()).to.equal(len); + expect(length()).toEqual(len); }); it('should remove emit low-priority item during emit', () => { const len = length(); - const listener2 = sinon.spy(); - const listener1 = sinon.spy(() => + const listener2 = jest.fn(); + const listener1 = jest.fn(() => { shared.add(listener2, null, UPDATE_PRIORITY.LOW); }); @@ -285,131 +295,131 @@ describe('Ticker', () => shared.update(); - expect(length()).to.equal(len + 2); + expect(length()).toEqual(len + 2); - expect(listener2.calledOnce).to.be.true; - expect(listener1.calledOnce).to.be.true; + expect(listener2).toBeCalledTimes(1); + expect(listener1).toBeCalledTimes(1); shared.remove(listener1) .remove(listener2); - expect(length()).to.equal(len); + expect(length()).toEqual(len); }); it('should remove itself on emit after adding new item', () => { const len = length(); - const listener2 = sinon.spy(); - const listener1 = sinon.spy(() => + const listener2 = jest.fn(); + const listener1 = jest.fn(() => { shared.add(listener2, null, UPDATE_PRIORITY.LOW); shared.remove(listener1); // listener is removed right away - expect(length()).to.equal(len + 1); + expect(length()).toEqual(len + 1); }); shared.add(listener1, null, UPDATE_PRIORITY.NORMAL); shared.update(); - expect(length()).to.equal(len + 1); + expect(length()).toEqual(len + 1); - expect(listener2.calledOnce).to.be.true; - expect(listener1.calledOnce).to.be.true; + expect(listener2).toBeCalledTimes(1); + expect(listener1).toBeCalledTimes(1); shared.remove(listener2); - expect(length()).to.equal(len); + expect(length()).toEqual(len); }); it.skip('should remove itself before, still calling new item', () => { const len = length(); - const listener2 = sinon.spy(); - const listener1 = sinon.spy(() => + const listener2 = jest.fn(); + const listener1 = jest.fn(() => { shared.remove(listener1); shared.add(listener2, null, UPDATE_PRIORITY.LOW); // listener is removed right away - expect(length()).to.equal(len + 1); + expect(length()).toEqual(len + 1); }); shared.add(listener1, null, UPDATE_PRIORITY.NORMAL); shared.update(); - expect(length()).to.equal(len + 1); + expect(length()).toEqual(len + 1); - expect(listener2.called).to.be.false; - expect(listener1.calledOnce).to.be.true; + expect(listener2).not.toHaveBeenCalled(); + expect(listener1).toBeCalledTimes(1); shared.update(); - expect(listener2.calledOnce).to.be.true; - expect(listener1.calledOnce).to.be.true; + expect(listener2).toBeCalledTimes(1); + expect(listener1).toBeCalledTimes(1); shared.remove(listener2); - expect(length()).to.equal(len); + expect(length()).toEqual(len); }); it.skip('should remove items before and after current priority', () => { const len = length(); - const listener2 = sinon.spy(); - const listener3 = sinon.spy(); - const listener4 = sinon.spy(); + const listener2 = jest.fn(); + const listener3 = jest.fn(); + const listener4 = jest.fn(); shared.add(listener2, null, UPDATE_PRIORITY.HIGH); shared.add(listener3, null, UPDATE_PRIORITY.LOW); shared.add(listener4, null, UPDATE_PRIORITY.LOW); - const listener1 = sinon.spy(() => + const listener1 = jest.fn(() => { shared.remove(listener2) .remove(listener3); // listener is removed right away - expect(length()).to.equal(len + 2); + expect(length()).toEqual(len + 2); }); shared.add(listener1, null, UPDATE_PRIORITY.NORMAL); shared.update(); - expect(length()).to.equal(len + 2); + expect(length()).toEqual(len + 2); - expect(listener2.calledOnce).to.be.true; - expect(listener3.calledOnce).to.be.false; - expect(listener4.calledOnce).to.be.true; - expect(listener1.calledOnce).to.be.true; + expect(listener2).toBeCalledTimes(1); + expect(listener3).not.toBeCalled(); + expect(listener4).toBeCalledTimes(1); + expect(listener1).toBeCalledTimes(1); shared.update(); - expect(listener2.calledOnce).to.be.true; - expect(listener3.calledOnce).to.be.false; - expect(listener4.calledTwice).to.be.true; - expect(listener1.calledTwice).to.be.true; + expect(listener2).toBeCalledTimes(1); + expect(listener3).not.toBeCalled(); + expect(listener4).toBeCalledTimes(2); + expect(listener1).toBeCalledTimes(2); shared.remove(listener1) .remove(listener4); - expect(length()).to.equal(len); + expect(length()).toEqual(len); }); it('should destroy on listener', (done) => { const ticker = new Ticker(); - const listener2 = sinon.spy(); - const listener = sinon.spy(() => + const listener2 = jest.fn(); + const listener = jest.fn(() => { ticker.destroy(); setTimeout(() => { - expect(listener2.called).to.be.false; - expect(listener.calledOnce).to.be.true; + expect(listener2).not.toHaveBeenCalled(); + expect(listener).toBeCalledTimes(1); done(); }, 0); }); @@ -423,19 +433,19 @@ describe('Ticker', () => { const ticker = new Ticker(); - const listener1 = sinon.spy(); - const listener2 = sinon.spy(() => + const listener1 = jest.fn(); + const listener2 = jest.fn(() => { ticker.remove(listener2); }); - const listener3 = sinon.spy(() => + const listener3 = jest.fn(() => { ticker.stop(); - expect(listener1.calledOnce).to.be.true; - expect(listener2.calledOnce).to.be.true; - expect(listener3.calledOnce).to.be.true; + expect(listener1).toBeCalledTimes(1); + expect(listener2).toBeCalledTimes(1); + expect(listener3).toBeCalledTimes(1); done(); }); diff --git a/packages/ticker/test/TickerPlugin.tests.ts b/packages/ticker/test/TickerPlugin.tests.ts index f8c0f97b01..2c4abbed63 100644 --- a/packages/ticker/test/TickerPlugin.tests.ts +++ b/packages/ticker/test/TickerPlugin.tests.ts @@ -1,6 +1,4 @@ import { Ticker, TickerPlugin, UPDATE_PRIORITY } from '@pixi/ticker'; -import { expect } from 'chai'; -import sinon from 'sinon'; describe('TickerPlugin', () => { @@ -19,8 +17,8 @@ describe('TickerPlugin', () => TickerPlugin.init.call(appp, { autoStart: false }); - expect(appp.ticker).to.be.instanceof(Ticker); - expect(appp.ticker.started).to.be.false; + expect(appp.ticker).toBeInstanceOf(Ticker); + expect(appp.ticker.started).toBe(false); appp.start(); @@ -33,7 +31,7 @@ describe('TickerPlugin', () => describe('set ticker', () => { - before(() => + beforeAll(() => { app = { render() @@ -46,56 +44,50 @@ describe('TickerPlugin', () => app._ticker.remove(app.render, app); }); - after(() => + afterAll(() => { TickerPlugin.destroy.call(app); }); it('should assign ticker object', () => { - const ticker = { add: sinon.spy() }; - const _ticker = { remove: sinon.spy() }; + const ticker = { add: jest.fn() }; + const _ticker = { remove: jest.fn() }; app._ticker = _ticker as unknown as Ticker; app.ticker = ticker as unknown as Ticker; - expect(_ticker.remove).to.be.calledOnce; - expect(_ticker.remove.args[0][0]).to.be.equal(app.render); - expect(_ticker.remove.args[0][1]).to.be.equal(app); + expect(_ticker.remove).toHaveBeenCalledOnce(); + expect(_ticker.remove).toBeCalledWith(app.render, app); - expect(app._ticker).to.be.equal(ticker); - expect(ticker.add).to.be.calledOnce; - expect(ticker.add.args[0][0]).to.be.equal(app.render); - expect(ticker.add.args[0][1]).to.be.equal(app); - expect(ticker.add.args[0][2]).to.be.equal(UPDATE_PRIORITY.LOW); + expect(app._ticker).toEqual(ticker); + expect(ticker.add).toHaveBeenCalledOnce(); + expect(ticker.add).toBeCalledWith(app.render, app, UPDATE_PRIORITY.LOW); }); it('should assign ticker if no ticker', () => { - const ticker = { add: sinon.spy() }; + const ticker = { add: jest.fn() }; app._ticker = null; app.ticker = ticker as unknown as Ticker; - expect(app._ticker).to.be.equal(ticker); - expect(ticker.add).to.be.calledOnce; - expect(ticker.add.args[0][0]).to.be.equal(app.render); - expect(ticker.add.args[0][1]).to.be.equal(app); - expect(ticker.add.args[0][2]).to.be.equal(UPDATE_PRIORITY.LOW); + expect(app._ticker).toEqual(ticker); + expect(ticker.add).toHaveBeenCalledOnce(); + expect(ticker.add).toBeCalledWith(app.render, app, UPDATE_PRIORITY.LOW); }); it('should assign null ticker', () => { - const _ticker = { remove: sinon.spy() }; + const _ticker = { remove: jest.fn() }; app._ticker = _ticker as unknown as Ticker; app.ticker = null; - expect(_ticker.remove).to.be.calledOnce; - expect(_ticker.remove.args[0][0]).to.be.equal(app.render); - expect(_ticker.remove.args[0][1]).to.be.equal(app); + expect(_ticker.remove).toHaveBeenCalledOnce(); + expect(_ticker.remove).toBeCalledWith(app.render, app); - expect(app._ticker).to.be.null; + expect(app._ticker).toBeNull(); }); }); }); diff --git a/packages/utils/test/CanvasRenderTarget.tests.ts b/packages/utils/test/CanvasRenderTarget.tests.ts index 0e674d0a78..e8825060a0 100644 --- a/packages/utils/test/CanvasRenderTarget.tests.ts +++ b/packages/utils/test/CanvasRenderTarget.tests.ts @@ -1,6 +1,5 @@ import { CanvasRenderTarget } from '@pixi/utils'; import { settings } from '@pixi/settings'; -import { expect } from 'chai'; describe('CanvasRenderTarget', () => { @@ -8,28 +7,28 @@ describe('CanvasRenderTarget', () => { const renderTarget = new CanvasRenderTarget(200, 100); - expect(renderTarget.canvas).to.be.instanceOf(HTMLCanvasElement); - expect(renderTarget.width).to.equal(200); - expect(renderTarget.height).to.equal(100); - expect(renderTarget.resolution).to.equal(settings.RESOLUTION); - expect(renderTarget.canvas.width).to.equal(200 * settings.RESOLUTION); - expect(renderTarget.canvas.height).to.equal(100 * settings.RESOLUTION); + expect(renderTarget.canvas).toBeInstanceOf(HTMLCanvasElement); + expect(renderTarget.width).toEqual(200); + expect(renderTarget.height).toEqual(100); + expect(renderTarget.resolution).toEqual(settings.RESOLUTION); + expect(renderTarget.canvas.width).toEqual(200 * settings.RESOLUTION); + expect(renderTarget.canvas.height).toEqual(100 * settings.RESOLUTION); renderTarget.destroy(); - expect(renderTarget.canvas).to.be.null; + expect(renderTarget.canvas).toBeNull(); }); it('should create with custom resolution', () => { const renderTarget = new CanvasRenderTarget(200, 100, 2); - expect(renderTarget.canvas).to.be.instanceOf(HTMLCanvasElement); - expect(renderTarget.width).to.equal(400); - expect(renderTarget.height).to.equal(200); - expect(renderTarget.resolution).to.equal(2); - expect(renderTarget.canvas.width).to.equal(400); - expect(renderTarget.canvas.height).to.equal(200); + expect(renderTarget.canvas).toBeInstanceOf(HTMLCanvasElement); + expect(renderTarget.width).toEqual(400); + expect(renderTarget.height).toEqual(200); + expect(renderTarget.resolution).toEqual(2); + expect(renderTarget.canvas.width).toEqual(400); + expect(renderTarget.canvas.height).toEqual(200); renderTarget.destroy(); }); @@ -41,8 +40,8 @@ describe('CanvasRenderTarget', () => renderTarget.width = 400; renderTarget.height = 200; - expect(renderTarget.canvas.width).to.equal(400); - expect(renderTarget.canvas.height).to.equal(200); + expect(renderTarget.canvas.width).toEqual(400); + expect(renderTarget.canvas.height).toEqual(200); renderTarget.destroy(); }); diff --git a/packages/utils/test/TextureCache.tests.ts b/packages/utils/test/TextureCache.tests.ts index f077245117..b870392aea 100644 --- a/packages/utils/test/TextureCache.tests.ts +++ b/packages/utils/test/TextureCache.tests.ts @@ -1,6 +1,5 @@ import { Texture, BaseTexture } from '@pixi/core'; import { TextureCache, destroyTextureCache, clearTextureCache, BaseTextureCache } from '@pixi/utils'; -import { expect } from 'chai'; describe('TextureCache', () => { @@ -12,7 +11,7 @@ describe('TextureCache', () => it('should exist', () => { - expect(TextureCache).to.be.an('object'); + expect(TextureCache).toBeObject(); }); describe('destroyTextureCache', () => @@ -28,20 +27,20 @@ describe('TextureCache', () => BaseTextureCache.foo = foo.baseTexture; BaseTextureCache.bar = bar.baseTexture; - expect(Object.keys(TextureCache).length).to.equal(2); - expect(Object.keys(BaseTextureCache).length).to.equal(2); + expect(Object.keys(TextureCache).length).toEqual(2); + expect(Object.keys(BaseTextureCache).length).toEqual(2); destroyTextureCache(); - expect(Object.keys(TextureCache).length).to.equal(2); - expect(Object.keys(BaseTextureCache).length).to.equal(2); - expect(foo.baseTexture).to.be.null; - expect(bar.baseTexture).to.be.null; + expect(Object.keys(TextureCache).length).toEqual(2); + expect(Object.keys(BaseTextureCache).length).toEqual(2); + expect(foo.baseTexture).toBeNull(); + expect(bar.baseTexture).toBeNull(); clearTextureCache(); - expect(Object.keys(TextureCache).length).to.equal(0); - expect(Object.keys(BaseTextureCache).length).to.equal(0); + expect(Object.keys(TextureCache).length).toEqual(0); + expect(Object.keys(BaseTextureCache).length).toEqual(0); }); }); @@ -58,15 +57,15 @@ describe('TextureCache', () => BaseTextureCache.foo = foo.baseTexture; BaseTextureCache.bar = bar.baseTexture; - expect(Object.keys(TextureCache).length).to.equal(2); - expect(Object.keys(BaseTextureCache).length).to.equal(2); + expect(Object.keys(TextureCache).length).toEqual(2); + expect(Object.keys(BaseTextureCache).length).toEqual(2); clearTextureCache(); - expect(Object.keys(TextureCache).length).to.equal(0); - expect(Object.keys(BaseTextureCache).length).to.equal(0); - expect(foo.baseTexture).to.be.instanceOf(BaseTexture); - expect(bar.baseTexture).to.be.instanceOf(BaseTexture); + expect(Object.keys(TextureCache).length).toEqual(0); + expect(Object.keys(BaseTextureCache).length).toEqual(0); + expect(foo.baseTexture).toBeInstanceOf(BaseTexture); + expect(bar.baseTexture).toBeInstanceOf(BaseTexture); foo.destroy(true); bar.destroy(true); diff --git a/packages/utils/test/trimCanvas.tests.ts b/packages/utils/test/trimCanvas.tests.ts index 0205ce5111..9b6171fab9 100644 --- a/packages/utils/test/trimCanvas.tests.ts +++ b/packages/utils/test/trimCanvas.tests.ts @@ -1,5 +1,4 @@ import { trimCanvas } from '@pixi/utils'; -import { expect } from 'chai'; describe('trimCanvas', () => { @@ -16,8 +15,8 @@ describe('trimCanvas', () => const trimmedImageData = trimCanvas(canvas); - expect(trimmedImageData.width).to.equal(9); - expect(trimmedImageData.height).to.equal(5); - expect(trimmedImageData.data).to.be.instanceOf(ImageData); + expect(trimmedImageData.width).toEqual(9); + expect(trimmedImageData.height).toEqual(5); + expect(trimmedImageData.data).toBeInstanceOf(ImageData); }); }); diff --git a/packages/utils/test/utils.tests.ts b/packages/utils/test/utils.tests.ts index 9baa283e24..3e846b0cec 100755 --- a/packages/utils/test/utils.tests.ts +++ b/packages/utils/test/utils.tests.ts @@ -1,5 +1,4 @@ import * as utils from '@pixi/utils'; -import { expect } from 'chai'; describe('utils', () => { @@ -7,14 +6,12 @@ describe('utils', () => { it('should exist', () => { - expect(utils.uid) - .to.be.a('function'); + expect(utils.uid).toBeInstanceOf(Function); }); it('should return a number', () => { - expect(utils.uid()) - .to.be.a('number'); + expect(utils.uid()).toBeNumber(); }); }); @@ -22,8 +19,7 @@ describe('utils', () => { it('should exist', () => { - expect(utils.hex2rgb) - .to.be.a('function'); + expect(utils.hex2rgb).toBeInstanceOf(Function); }); // it('should properly convert number to rgb array'); @@ -33,8 +29,7 @@ describe('utils', () => { it('should exist', () => { - expect(utils.hex2string) - .to.be.a('function'); + expect(utils.hex2string).toBeInstanceOf(Function); }); const testCases = [ @@ -56,7 +51,7 @@ describe('utils', () => { it(`should properly convert number 0x${num.toString(16)} to hex color string #${result}`, () => { - expect(utils.hex2string(num as number)).to.equals(result); + expect(utils.hex2string(num as number)).toEqual(result); }); }); }); @@ -65,13 +60,12 @@ describe('utils', () => { it('should exist', () => { - expect(utils.rgb2hex) - .to.be.a('function'); + expect(utils.rgb2hex).toBeInstanceOf(Function); }); it('should calculate correctly', () => { - expect(utils.rgb2hex([0.3, 0.2, 0.1])).to.equals(0x4c3319); + expect(utils.rgb2hex([0.3, 0.2, 0.1])).toEqual(0x4c3319); }); // it('should properly convert rgb array to hex color string'); @@ -81,8 +75,7 @@ describe('utils', () => { it('should exist', () => { - expect(utils.getResolutionOfUrl) - .to.be.a('function'); + expect(utils.getResolutionOfUrl).toBeInstanceOf(Function); }); // it('should return the correct resolution based on a URL'); @@ -92,70 +85,50 @@ describe('utils', () => { it('should exist', () => { - expect(utils.decomposeDataUri) - .to.be.a('function'); + expect(utils.decomposeDataUri).toBeInstanceOf(Function); }); it('should decompose a data URI', () => { const dataUri = utils.decomposeDataUri('data:image/png;base64,94Z9RWUN77ZW'); - expect(dataUri) - .to.be.an('object'); - expect(dataUri.mediaType) - .to.equal('image'); - expect(dataUri.subType) - .to.equal('png'); - expect(dataUri.charset) - .to.be.an('undefined'); - expect(dataUri.encoding) - .to.equal('base64'); - expect(dataUri.data) - .to.equal('94Z9RWUN77ZW'); + expect(dataUri).toBeObject(); + expect(dataUri.mediaType).toEqual('image'); + expect(dataUri.subType).toEqual('png'); + expect(dataUri.charset).toBeUndefined(); + expect(dataUri.encoding).toEqual('base64'); + expect(dataUri.data).toEqual('94Z9RWUN77ZW'); }); it('should decompose a data URI with charset', () => { const dataUri = utils.decomposeDataUri('data:image/svg+xml;charset=utf8;base64,PGRpdiB4bWxucz0Pg=='); - expect(dataUri) - .to.be.an('object'); - expect(dataUri.mediaType) - .to.equal('image'); - expect(dataUri.subType) - .to.equal('svg+xml'); - expect(dataUri.charset) - .to.equal('utf8'); - expect(dataUri.encoding) - .to.equal('base64'); - expect(dataUri.data) - .to.equal('PGRpdiB4bWxucz0Pg=='); + expect(dataUri).toBeObject(); + expect(dataUri.mediaType).toEqual('image'); + expect(dataUri.subType).toEqual('svg+xml'); + expect(dataUri.charset).toEqual('utf8'); + expect(dataUri.encoding).toEqual('base64'); + expect(dataUri.data).toEqual('PGRpdiB4bWxucz0Pg=='); }); it('should decompose a data URI with charset without encoding', () => { const dataUri = utils.decomposeDataUri('data:image/svg+xml;charset=utf8,PGRpdiB4bWxucz0Pg=='); - expect(dataUri) - .to.be.an('object'); - expect(dataUri.mediaType) - .to.equal('image'); - expect(dataUri.subType) - .to.equal('svg+xml'); - expect(dataUri.charset) - .to.equal('utf8'); - expect(dataUri.encoding) - .to.be.an('undefined'); - expect(dataUri.data) - .to.equal('PGRpdiB4bWxucz0Pg=='); + expect(dataUri).toBeObject(); + expect(dataUri.mediaType).toEqual('image'); + expect(dataUri.subType).toEqual('svg+xml'); + expect(dataUri.charset).toEqual('utf8'); + expect(dataUri.encoding).toBeUndefined(); + expect(dataUri.data).toEqual('PGRpdiB4bWxucz0Pg=='); }); it('should return undefined for anything else', () => { const dataUri = utils.decomposeDataUri('foo'); - expect(dataUri) - .to.be.an('undefined'); + expect(dataUri).toBeUndefined(); }); }); @@ -163,8 +136,7 @@ describe('utils', () => { it('should exist', () => { - expect(utils.sayHello) - .to.be.a('function'); + expect(utils.sayHello).toBeInstanceOf(Function); }); }); @@ -172,8 +144,7 @@ describe('utils', () => { it('should exist', () => { - expect(utils.isWebGLSupported) - .to.be.a('function'); + expect(utils.isWebGLSupported).toBeInstanceOf(Function); }); }); @@ -181,16 +152,14 @@ describe('utils', () => { it('should return 0 for 0', () => { - expect(utils.sign(0)) - .to.be.equal(0); + expect(utils.sign(0)).toEqual(0); }); it('should return -1 for negative numbers', () => { for (let i = 0; i < 10; i += 1) { - expect(utils.sign(-Math.random())) - .to.be.equal(-1); + expect(utils.sign(-Math.random())).toEqual(-1); } }); @@ -198,8 +167,7 @@ describe('utils', () => { for (let i = 0; i < 10; i += 1) { - expect(utils.sign(Math.random() + 0.000001)) - .to.be.equal(1); + expect(utils.sign(Math.random() + 0.000001)).toEqual(1); } }); }); @@ -208,7 +176,7 @@ describe('utils', () => { it('should exist', () => { - expect(utils.removeItems).to.be.a('function'); + expect(utils.removeItems).toBeInstanceOf(Function); }); it('should return if the start index is greater than or equal to the length of the array', () => @@ -216,7 +184,7 @@ describe('utils', () => const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; utils.removeItems(arr, arr.length + 1, 5); - expect(arr.length).to.equal(10); + expect(arr.length).toEqual(10); }); it('should return if the remove count is 0', () => @@ -224,7 +192,7 @@ describe('utils', () => const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; utils.removeItems(arr, 2, 0); - expect(arr.length).to.equal(10); + expect(arr.length).toEqual(10); }); it('should remove the number of elements specified from the array, starting from the start index', () => @@ -232,7 +200,7 @@ describe('utils', () => const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; utils.removeItems(arr, 3, 4); - expect(arr).to.deep.equal([1, 2, 3, 8, 9, 10]); + expect(arr).toEqual([1, 2, 3, 8, 9, 10]); }); it('should remove other elements if delete count is > than the number of elements after start index', () => @@ -240,7 +208,7 @@ describe('utils', () => const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; utils.removeItems(arr, 7, 10); - expect(arr).to.deep.equal([1, 2, 3, 4, 5, 6, 7]); + expect(arr).toEqual([1, 2, 3, 4, 5, 6, 7]); }); }); @@ -248,7 +216,7 @@ describe('utils', () => { it('should exist', () => { - expect(utils.EventEmitter).to.be.a('function'); + expect(utils.EventEmitter).toBeInstanceOf(Function); }); }); @@ -256,12 +224,12 @@ describe('utils', () => { it('should exist', () => { - expect(utils.isMobile).to.be.an('object'); + expect(utils.isMobile).toBeObject(); }); it('should return a boolean for .any', () => { - expect(utils.isMobile.any).to.be.a('boolean'); + expect(utils.isMobile.any).toBeBoolean(); }); }); @@ -269,7 +237,7 @@ describe('utils', () => { it('should exist', () => { - expect(utils.earcut).to.be.a('function'); + expect(utils.earcut).toBeInstanceOf(Function); }); }); }); diff --git a/test/index.ts b/test/index.ts index 737ceb4f6b..236ac55ab6 100644 --- a/test/index.ts +++ b/test/index.ts @@ -1,22 +1,15 @@ -import path from 'path'; -import { execFileSync } from 'child_process'; -import chai from 'chai'; -import sinonChai from 'sinon-chai'; +import { exec, execFileSync } from 'child_process'; import fs from 'fs'; -import type { FlossOptions } from 'floss'; +import path from 'path'; import type { PackageResult } from './packages'; -// Support for global otpions -declare global -{ - let options: FlossOptions; -} - // Support for the tsconfig path aliasing import 'tsconfig-paths/register'; +import parse from 'yargs-parser'; -// We only need to do this one time -chai.use(sinonChai); +const args = parse(process.argv, { + array: ['packages'] +}); const requireAsStrings = (module: any, filename: string) => { @@ -36,9 +29,7 @@ const packagesBuffer = execFileSync(cmd, [script]).toString(); const packages = JSON.parse(packagesBuffer) as PackageResult[]; // Filter any packages from the commandline options -const onlyPackages = options.args - .filter((arg) => arg.startsWith('--package=')) - .map((arg) => arg.replace('--package=', '')); +const onlyPackages = args.packages as string[] || []; // Filter the tests in case we have options to narrow scope const scopedPackages = !onlyPackages.length ? packages @@ -56,14 +47,8 @@ if (!availableSuites.length) console.log(`WARNING: Invalid package name${invalidNames.length > 1 ? 's' : ''}:`, `"${invalidNames.join('", "')}"`); } -for (const pkg of availableSuites) -{ - describe(pkg.name, () => - { - fs.readdirSync(pkg.tests) - .filter((file) => file.endsWith('.tests.ts')) - .map((file) => path.join(pkg.tests, file)) - // eslint-disable-next-line global-require - .forEach((file) => require(file)); - }); -} +const tests = availableSuites.map((pkg) => pkg.tests).join(' '); +const out = exec(`jest ${tests} --colors`); + +out.stdout.pipe(process.stdout); +out.stderr.pipe(process.stderr); diff --git a/tools/integration-tests/test/Bounds.tests.ts b/tools/integration-tests/test/Bounds.tests.ts index 7be87d571f..603809a0ac 100644 --- a/tools/integration-tests/test/Bounds.tests.ts +++ b/tools/integration-tests/test/Bounds.tests.ts @@ -4,8 +4,6 @@ import { Sprite } from '@pixi/sprite'; import { Rectangle } from '@pixi/math'; import { Graphics } from '@pixi/graphics'; import { Text } from '@pixi/text'; -// import { SimplePlane } from '@pixi/mesh-extras'; -import { expect } from 'chai'; describe('getBounds', () => { @@ -20,10 +18,10 @@ describe('getBounds', () => let bounds = sprite.getBounds(); - expect(bounds.x).to.equal(0); - expect(bounds.y).to.equal(0); - expect(bounds.width).to.equal(10); - expect(bounds.height).to.equal(10); + expect(bounds.x).toEqual(0); + expect(bounds.y).toEqual(0); + expect(bounds.width).toEqual(10); + expect(bounds.height).toEqual(10); sprite.position.x = 20; sprite.position.y = 20; @@ -33,17 +31,17 @@ describe('getBounds', () => bounds = sprite.getBounds(); - expect(bounds.x).to.equal(20); - expect(bounds.y).to.equal(20); - expect(bounds.width).to.equal(20); - expect(bounds.height).to.equal(20); + expect(bounds.x).toEqual(20); + expect(bounds.y).toEqual(20); + expect(bounds.width).toEqual(20); + expect(bounds.height).toEqual(20); bounds = sprite.getBounds(true); - expect(bounds.x).to.equal(20); - expect(bounds.y).to.equal(20); - expect(bounds.width).to.equal(20); - expect(bounds.height).to.equal(20); + expect(bounds.x).toEqual(20); + expect(bounds.y).toEqual(20); + expect(bounds.width).toEqual(20); + expect(bounds.height).toEqual(20); }); it('should register correct width/height with Graphics', () => @@ -53,10 +51,10 @@ describe('getBounds', () => let bounds = graphics.getBounds(); - expect(bounds.x).to.equal(0); - expect(bounds.y).to.equal(0); - expect(bounds.width).to.equal(0); - expect(bounds.height).to.equal(0); + expect(bounds.x).toEqual(0); + expect(bounds.y).toEqual(0); + expect(bounds.width).toEqual(0); + expect(bounds.height).toEqual(0); graphics.beginFill(0xFF0000).drawCircle(0, 0, 10); @@ -64,10 +62,10 @@ describe('getBounds', () => bounds = graphics.getBounds(); - expect(bounds.x).to.equal(-10); - expect(bounds.y).to.equal(-10); - expect(bounds.width).to.equal(20); - expect(bounds.height).to.equal(20); + expect(bounds.x).toEqual(-10); + expect(bounds.y).toEqual(-10); + expect(bounds.width).toEqual(20); + expect(bounds.height).toEqual(20); graphics.position.x = 20; graphics.position.y = 20; @@ -77,17 +75,17 @@ describe('getBounds', () => bounds = graphics.getBounds(); - expect(bounds.x).to.equal(0); - expect(bounds.y).to.equal(0); - expect(bounds.width).to.equal(40); - expect(bounds.height).to.equal(40); + expect(bounds.x).toEqual(0); + expect(bounds.y).toEqual(0); + expect(bounds.width).toEqual(40); + expect(bounds.height).toEqual(40); bounds = graphics.getBounds(true); - expect(bounds.x).to.equal(0); - expect(bounds.y).to.equal(0); - expect(bounds.width).to.equal(40); - expect(bounds.height).to.equal(40); + expect(bounds.x).toEqual(0); + expect(bounds.y).toEqual(0); + expect(bounds.width).toEqual(40); + expect(bounds.height).toEqual(40); }); it('should register correct width/height with an empty Container', () => @@ -100,10 +98,10 @@ describe('getBounds', () => let bounds = container.getBounds(); - expect(bounds.x).to.equal(0); - expect(bounds.y).to.equal(0); - expect(bounds.width).to.equal(0); - expect(bounds.height).to.equal(0); + expect(bounds.x).toEqual(0); + expect(bounds.y).toEqual(0); + expect(bounds.width).toEqual(0); + expect(bounds.height).toEqual(0); container.position.x = 20; container.position.y = 20; @@ -113,10 +111,10 @@ describe('getBounds', () => bounds = container.getBounds(); - expect(bounds.x).to.equal(0); - expect(bounds.y).to.equal(0); - expect(bounds.width).to.equal(0); - expect(bounds.height).to.equal(0); + expect(bounds.x).toEqual(0); + expect(bounds.y).toEqual(0); + expect(bounds.width).toEqual(0); + expect(bounds.height).toEqual(0); }); it('should register correct width/height with a Container', () => @@ -142,26 +140,26 @@ describe('getBounds', () => let bounds = container.getBounds(); - expect(bounds.x).to.equal(30); - expect(bounds.y).to.equal(20); - expect(bounds.width).to.equal(80); - expect(bounds.height).to.equal(90); + expect(bounds.x).toEqual(30); + expect(bounds.y).toEqual(20); + expect(bounds.width).toEqual(80); + expect(bounds.height).toEqual(90); container.rotation = 0.1; bounds = container.getBounds(); - expect(bounds.x | 0).to.equal(26); - expect(bounds.y | 0).to.equal(22); - expect(bounds.width | 0).to.equal(73); - expect(bounds.height | 0).to.equal(97); + expect(bounds.x | 0).toEqual(26); + expect(bounds.y | 0).toEqual(22); + expect(bounds.width | 0).toEqual(73); + expect(bounds.height | 0).toEqual(97); bounds = container.getBounds(true); - expect(bounds.x | 0).to.equal(26); - expect(bounds.y | 0).to.equal(22); - expect(bounds.width | 0).to.equal(73); - expect(bounds.height | 0).to.equal(97); + expect(bounds.x | 0).toEqual(26); + expect(bounds.y | 0).toEqual(22); + expect(bounds.width | 0).toEqual(73); + expect(bounds.height | 0).toEqual(97); }); it('should register correct width/height with an item that has already had its parent Container transformed', () => @@ -180,17 +178,17 @@ describe('getBounds', () => let bounds = container.getBounds(); - expect(bounds.x).to.equal(100); - expect(bounds.y).to.equal(100); - expect(bounds.width).to.equal(10); - expect(bounds.height).to.equal(10); + expect(bounds.x).toEqual(100); + expect(bounds.y).toEqual(100); + expect(bounds.width).toEqual(10); + expect(bounds.height).toEqual(10); bounds = graphics.getBounds(true); - expect(bounds.x).to.equal(100); - expect(bounds.y).to.equal(100); - expect(bounds.width).to.equal(10); - expect(bounds.height).to.equal(10); + expect(bounds.x).toEqual(100); + expect(bounds.y).toEqual(100); + expect(bounds.width).toEqual(10); + expect(bounds.height).toEqual(10); }); /* @@ -209,20 +207,20 @@ describe('getBounds', () => let bounds = plane.getBounds(); - expect(bounds.x).to.equal(20); - expect(bounds.y).to.equal(20); - expect(bounds.width).to.equal(10); - expect(bounds.height).to.equal(10); + expect(bounds.x).toEqual(20); + expect(bounds.y).toEqual(20); + expect(bounds.width).toEqual(10); + expect(bounds.height).toEqual(10); plane.scale.x = 2; plane.scale.y = 2; bounds = plane.getBounds(); - expect(bounds.x).to.equal(20); - expect(bounds.y).to.equal(20); - expect(bounds.width).to.equal(20); - expect(bounds.height).to.equal(20); + expect(bounds.x).toEqual(20); + expect(bounds.y).toEqual(20); + expect(bounds.width).toEqual(20); + expect(bounds.height).toEqual(20); }); */ @@ -251,26 +249,26 @@ describe('getBounds', () => let bounds = container.getBounds(); - expect(bounds.x).to.equal(30); - expect(bounds.y).to.equal(20); - expect(bounds.width).to.equal(10); - expect(bounds.height).to.equal(10); + expect(bounds.x).toEqual(30); + expect(bounds.y).toEqual(20); + expect(bounds.width).toEqual(10); + expect(bounds.height).toEqual(10); sprite.renderable = false; bounds = container.getBounds(); - expect(bounds.x).to.equal(0); - expect(bounds.y).to.equal(0); - expect(bounds.width).to.equal(0); - expect(bounds.height).to.equal(0); + expect(bounds.x).toEqual(0); + expect(bounds.y).toEqual(0); + expect(bounds.width).toEqual(0); + expect(bounds.height).toEqual(0); bounds = sprite.getBounds(); - expect(bounds.x).to.equal(30); - expect(bounds.y).to.equal(20); - expect(bounds.width).to.equal(10); - expect(bounds.height).to.equal(10); + expect(bounds.x).toEqual(30); + expect(bounds.y).toEqual(20); + expect(bounds.width).toEqual(10); + expect(bounds.height).toEqual(10); }); it('should register correct bounds of invisible Container', () => @@ -291,10 +289,10 @@ describe('getBounds', () => const bounds = container.getBounds(); - expect(bounds.x).to.equal(130); - expect(bounds.y).to.equal(120); - expect(bounds.width).to.equal(10); - expect(bounds.height).to.equal(10); + expect(bounds.x).toEqual(130); + expect(bounds.y).toEqual(120); + expect(bounds.width).toEqual(10); + expect(bounds.height).toEqual(10); }); it('should register correct width/height with Container masked child', () => @@ -321,17 +319,17 @@ describe('getBounds', () => let bounds = graphics.getBounds(); - expect(bounds.x).to.equal(32); - expect(bounds.y).to.equal(23); - expect(bounds.width).to.equal(10); - expect(bounds.height).to.equal(10); + expect(bounds.x).toEqual(32); + expect(bounds.y).toEqual(23); + expect(bounds.width).toEqual(10); + expect(bounds.height).toEqual(10); bounds = container.getBounds(); - expect(bounds.x).to.equal(32); - expect(bounds.y).to.equal(23); - expect(bounds.width).to.equal(8); - expect(bounds.height).to.equal(7); + expect(bounds.x).toEqual(32); + expect(bounds.y).toEqual(23); + expect(bounds.width).toEqual(8); + expect(bounds.height).toEqual(7); }); it('should register correct width/height with an a DisplayObject parent has moved', () => @@ -353,10 +351,10 @@ describe('getBounds', () => const bounds = graphics.getBounds(); - expect(bounds.x).to.equal(-110); - expect(bounds.y).to.equal(-110); - expect(bounds.width).to.equal(20); - expect(bounds.height).to.equal(20); + expect(bounds.x).toEqual(-110); + expect(bounds.y).toEqual(-110); + expect(bounds.width).toEqual(20); + expect(bounds.height).toEqual(20); }); it('should register correct width/height with a Text Object', () => @@ -374,17 +372,17 @@ describe('getBounds', () => let bounds = text.getBounds(); const bx = bounds.width; - expect(bounds.x).to.equal(0); - expect(bounds.y).to.equal(0); - expect(bounds.width).to.be.greaterThan(0); - expect(bounds.height).to.greaterThan(0); + expect(bounds.x).toEqual(0); + expect(bounds.y).toEqual(0); + expect(bounds.width).toBeGreaterThan(0); + expect(bounds.height).toBeGreaterThan(0); text.text = 'hello!'; bounds = text.getBounds(); // this variable seems to be different on different devices. a font thing? - expect(bounds.width).to.not.equal(bx); + expect(bounds.width).not.toEqual(bx); }); it('should return a different rectangle if getting local bounds after global bounds ', () => @@ -403,17 +401,17 @@ describe('getBounds', () => const bounds = sprite.getBounds(); - expect(bounds.x).to.equal(20); - expect(bounds.y).to.equal(20); - expect(bounds.width).to.equal(20); - expect(bounds.height).to.equal(20); + expect(bounds.x).toEqual(20); + expect(bounds.y).toEqual(20); + expect(bounds.width).toEqual(20); + expect(bounds.height).toEqual(20); const localBounds = sprite.getLocalBounds(); - expect(localBounds.x).to.equal(0); - expect(localBounds.y).to.equal(0); - expect(localBounds.width).to.equal(10); - expect(localBounds.height).to.equal(10); + expect(Math.abs(localBounds.x)).toEqual(0); + expect(Math.abs(localBounds.y)).toEqual(0); + expect(localBounds.width).toEqual(10); + expect(localBounds.height).toEqual(10); }); it('should ensure bounds respect the trim of a texture ', () => @@ -439,9 +437,9 @@ describe('getBounds', () => const bounds = sprite.getBounds(); - expect(bounds.x).to.equal(20); - expect(bounds.y).to.equal(20); - expect(bounds.width).to.equal(100); - expect(bounds.height).to.equal(50); + expect(bounds.x).toEqual(20); + expect(bounds.y).toEqual(20); + expect(bounds.width).toEqual(100); + expect(bounds.height).toEqual(50); }); }); diff --git a/tools/integration-tests/test/Container.tests.ts b/tools/integration-tests/test/Container.tests.ts index 1a1227d172..d07b428136 100644 --- a/tools/integration-tests/test/Container.tests.ts +++ b/tools/integration-tests/test/Container.tests.ts @@ -2,7 +2,6 @@ import { Container } from '@pixi/display'; import { Graphics } from '@pixi/graphics'; import { Transform } from '@pixi/math'; import { MaskData } from '@pixi/core'; -import { expect } from 'chai'; import '@pixi/canvas-display'; @@ -32,10 +31,10 @@ describe('Container', () => const bounds = graphics.getBounds(); - expect(bounds.x).to.be.equal(100); - expect(bounds.y).to.be.equal(200); - expect(bounds.width).to.be.equal(10); - expect(bounds.height).to.be.equal(10); + expect(bounds.x).toEqual(100); + expect(bounds.y).toEqual(200); + expect(bounds.width).toEqual(10); + expect(bounds.height).toEqual(10); }); }); @@ -58,8 +57,8 @@ describe('Container', () => const bounds = graphics.getBounds(); - expect(bounds.x).to.be.equal(0); - expect(bounds.y).to.be.equal(0); + expect(bounds.x).toEqual(0); + expect(bounds.y).toEqual(0); }); }); @@ -76,7 +75,7 @@ describe('Container', () => container.addChild(graphics); container.scale.x = 2; - expect(container.width).to.be.equals(20); + expect(container.width).toEqual(20); }); it('should adjust scale', () => @@ -91,8 +90,8 @@ describe('Container', () => container.width = 20; - expect(container.width).to.be.equals(20); - expect(container.scale.x).to.be.equals(2); + expect(container.width).toEqual(20); + expect(container.scale.x).toEqual(2); }); }); @@ -109,7 +108,7 @@ describe('Container', () => container.addChild(graphics); container.scale.y = 2; - expect(container.height).to.be.equals(20); + expect(container.height).toEqual(20); }); it('should adjust scale', () => @@ -124,8 +123,8 @@ describe('Container', () => container.height = 20; - expect(container.height).to.be.equals(20); - expect(container.scale.y).to.be.equals(2); + expect(container.height).toEqual(20); + expect(container.scale.y).toEqual(2); }); }); @@ -154,17 +153,17 @@ describe('Container', () => maskedObject.mask = new MaskData(createSquareContainer(5, 10, 35, 29)); bounds = parentContainer.getBounds(); - expect(bounds.x).to.equal(5); - expect(bounds.y).to.equal(15); - expect(bounds.width).to.equal(6); - expect(bounds.height).to.equal(14); + expect(bounds.x).toEqual(5); + expect(bounds.y).toEqual(15); + expect(bounds.width).toEqual(6); + expect(bounds.height).toEqual(14); maskedObject.mask = createSquareContainer(4, 9, 34, 32); bounds = parentContainer.getBounds(); - expect(bounds.x).to.equal(4); - expect(bounds.y).to.equal(15); - expect(bounds.width).to.equal(7); - expect(bounds.height).to.equal(16); + expect(bounds.x).toEqual(4); + expect(bounds.y).toEqual(15); + expect(bounds.width).toEqual(7); + expect(bounds.height).toEqual(16); }); }); }); diff --git a/tools/integration-tests/test/DisplayObject.tests.ts b/tools/integration-tests/test/DisplayObject.tests.ts index d2f115c351..5da6eca7de 100644 --- a/tools/integration-tests/test/DisplayObject.tests.ts +++ b/tools/integration-tests/test/DisplayObject.tests.ts @@ -1,6 +1,5 @@ import { DisplayObject } from '@pixi/display'; import { MaskData } from '@pixi/core'; -import { expect } from 'chai'; import '@pixi/canvas-display'; @@ -16,9 +15,9 @@ describe('DisplayObject', () => const maskObject = new DisplayObject(); maskedObject.mask = new MaskData(maskObject); - expect(maskObject.renderable).to.be.false; + expect(maskObject.renderable).toBe(false); maskedObject.mask = null; - expect(maskObject.renderable).to.be.true; + expect(maskObject.renderable).toBe(true); }); }); }); diff --git a/tools/integration-tests/test/getLocalBounds.tests.ts b/tools/integration-tests/test/getLocalBounds.tests.ts index ca48dfa39e..11809d8326 100644 --- a/tools/integration-tests/test/getLocalBounds.tests.ts +++ b/tools/integration-tests/test/getLocalBounds.tests.ts @@ -8,7 +8,6 @@ import { CanvasGraphicsRenderer } from '@pixi/canvas-graphics'; import { Text } from '@pixi/text'; import { SimplePlane } from '@pixi/mesh-extras'; import { CanvasMeshRenderer } from '@pixi/canvas-mesh'; -import { expect } from 'chai'; import '@pixi/canvas-display'; import '@pixi/canvas-text'; @@ -20,19 +19,19 @@ function withGL(fn: () => void) describe('getLocalBounds', () => { - before(() => extensions.add( + beforeAll(() => extensions.add( BatchRenderer, CanvasSpriteRenderer, CanvasGraphicsRenderer, CanvasMeshRenderer )); - after(() => extensions.remove( + afterAll(() => extensions.remove( BatchRenderer, CanvasSpriteRenderer, CanvasGraphicsRenderer, CanvasMeshRenderer )); - + it('should register correct local-bounds with a LOADED Sprite', () => { const parent = new Container(); @@ -44,10 +43,10 @@ describe('getLocalBounds', () => let bounds = sprite.getLocalBounds(); - expect(bounds.x).to.equal(0); - expect(bounds.y).to.equal(0); - expect(bounds.width).to.equal(10); - expect(bounds.height).to.equal(10); + expect(Math.abs(bounds.x)).toEqual(0); + expect(Math.abs(bounds.y)).toEqual(0); + expect(bounds.width).toEqual(10); + expect(bounds.height).toEqual(10); sprite.position.x = 20; sprite.position.y = 20; @@ -57,10 +56,10 @@ describe('getLocalBounds', () => bounds = sprite.getLocalBounds(); - expect(bounds.x).to.equal(0); - expect(bounds.y).to.equal(0); - expect(bounds.width).to.equal(10); - expect(bounds.height).to.equal(10); + expect(Math.abs(bounds.x)).toEqual(0); + expect(Math.abs(bounds.y)).toEqual(0); + expect(bounds.width).toEqual(10); + expect(bounds.height).toEqual(10); }); it('should register correct local-bounds with Graphics', () => @@ -75,10 +74,10 @@ describe('getLocalBounds', () => const bounds = graphics.getLocalBounds(); - expect(bounds.x).to.equal(-10); - expect(bounds.y).to.equal(-10); - expect(bounds.width).to.equal(20); - expect(bounds.height).to.equal(20); + expect(bounds.x).toEqual(-10); + expect(bounds.y).toEqual(-10); + expect(bounds.width).toEqual(20); + expect(bounds.height).toEqual(20); }); it('should register correct local-bounds with Graphics after clear', () => @@ -93,10 +92,10 @@ describe('getLocalBounds', () => let bounds = graphics.getLocalBounds(); - expect(bounds.x).to.equal(0); - expect(bounds.y).to.equal(0); - expect(bounds.width).to.equal(20); - expect(bounds.height).to.equal(20); + expect(Math.abs(bounds.x)).toEqual(0); + expect(Math.abs(bounds.y)).toEqual(0); + expect(bounds.width).toEqual(20); + expect(bounds.height).toEqual(20); graphics.clear(); graphics.beginFill(0xFF, 1); @@ -105,10 +104,10 @@ describe('getLocalBounds', () => bounds = graphics.getLocalBounds(); - expect(bounds.x).to.equal(0); - expect(bounds.y).to.equal(0); - expect(bounds.width).to.equal(10); - expect(bounds.height).to.equal(10); + expect(Math.abs(bounds.x)).toEqual(0); + expect(Math.abs(bounds.y)).toEqual(0); + expect(bounds.width).toEqual(10); + expect(bounds.height).toEqual(10); }); it('should register correct local-bounds with Graphics after generateCanvasTexture and clear', () => @@ -125,10 +124,10 @@ describe('getLocalBounds', () => graphics.generateCanvasTexture(); - expect(bounds.x).to.equal(0); - expect(bounds.y).to.equal(0); - expect(bounds.width).to.equal(20); - expect(bounds.height).to.equal(20); + expect(Math.abs(bounds.x)).toEqual(0); + expect(Math.abs(bounds.y)).toEqual(0); + expect(bounds.width).toEqual(20); + expect(bounds.height).toEqual(20); graphics.clear(); graphics.beginFill(0xFF, 1); @@ -137,10 +136,10 @@ describe('getLocalBounds', () => bounds = graphics.getLocalBounds(); - expect(bounds.x).to.equal(0); - expect(bounds.y).to.equal(0); - expect(bounds.width).to.equal(10); - expect(bounds.height).to.equal(10); + expect(Math.abs(bounds.x)).toEqual(0); + expect(Math.abs(bounds.y)).toEqual(0); + expect(bounds.width).toEqual(10); + expect(bounds.height).toEqual(10); }); it('should register correct local-bounds with an empty Container', () => @@ -153,10 +152,10 @@ describe('getLocalBounds', () => const bounds = container.getLocalBounds(); - expect(bounds.x).to.equal(0); - expect(bounds.y).to.equal(0); - expect(bounds.width).to.equal(0); - expect(bounds.height).to.equal(0); + expect(Math.abs(bounds.x)).toEqual(0); + expect(Math.abs(bounds.y)).toEqual(0); + expect(Math.abs(bounds.width)).toEqual(0); + expect(Math.abs(bounds.height)).toEqual(0); }); it('should register correct local-bounds with an item that has already had its parent Container transformed', () => @@ -175,10 +174,10 @@ describe('getLocalBounds', () => const bounds = container.getLocalBounds(); - expect(bounds.x).to.equal(0); - expect(bounds.y).to.equal(0); - expect(bounds.width).to.equal(10); - expect(bounds.height).to.equal(10); + expect(Math.abs(bounds.x)).toEqual(0); + expect(Math.abs(bounds.y)).toEqual(0); + expect(bounds.width).toEqual(10); + expect(bounds.height).toEqual(10); }); it('should register correct local-bounds with a Mesh', withGL(() => @@ -196,10 +195,10 @@ describe('getLocalBounds', () => const bounds = plane.getLocalBounds(); - expect(bounds.x).to.equal(0); - expect(bounds.y).to.equal(0); - expect(bounds.width).to.equal(10); - expect(bounds.height).to.equal(10); + expect(Math.abs(bounds.x)).toEqual(0); + expect(Math.abs(bounds.y)).toEqual(0); + expect(bounds.width).toEqual(10); + expect(bounds.height).toEqual(10); })); it('should register correct local-bounds with a cachAsBitmap item inside after a render', () => @@ -226,10 +225,10 @@ describe('getLocalBounds', () => const bounds = parent.getLocalBounds(); - expect(bounds.x).to.equal(0); - expect(bounds.y).to.equal(0); - expect(bounds.width).to.equal(100); - expect(bounds.height).to.equal(100); + expect(Math.abs(bounds.x)).toEqual(0); + expect(Math.abs(bounds.y)).toEqual(0); + expect(bounds.width).toEqual(100); + expect(bounds.height).toEqual(100); }); it('should register correct local-bounds with a Text', () => @@ -237,7 +236,7 @@ describe('getLocalBounds', () => const text = new Text('hello'); const bounds = text.getLocalBounds(); - expect(bounds.width).to.not.equal(0); - expect(bounds.height).to.not.equal(0); + expect(bounds.width).not.toEqual(0); + expect(bounds.height).not.toEqual(0); }); });