From 5d41fbbcc7c19b50291c6d6fa2fde52c9a619c8a Mon Sep 17 00:00:00 2001 From: Cosmo Myzrail Gorynych Date: Fri, 29 Apr 2022 19:37:35 +1200 Subject: [PATCH 001/128] :bug: Fix the alert about improper web build usage that was popping up in Electron builds --- app/data/ct.release/main.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/app/data/ct.release/main.js b/app/data/ct.release/main.js index 1d6417332..ef9e4698b 100644 --- a/app/data/ct.release/main.js +++ b/app/data/ct.release/main.js @@ -1,8 +1,12 @@ /*! Made with ct.js http://ctjs.rocks/ */ -if (location.protocol === 'file:') { - // eslint-disable-next-line no-alert - alert('Your game won\'t work like this because\nWeb 👏 builds 👏 require 👏 a web 👏 server!\n\nConsider using a desktop build, or upload your web build to itch.io, GameJolt or your own website.\n\nIf you haven\'t created this game, please contact the developer about this issue.\n\n Also note that ct.js games do not work inside the itch app; you will need to open the game with your browser of choice.'); +try { + require('electron'); +} catch { + if (location.protocol === 'file:') { + // eslint-disable-next-line no-alert + alert('Your game won\'t work like this because\nWeb 👏 builds 👏 require 👏 a web 👏 server!\n\nConsider using a desktop build, or upload your web build to itch.io, GameJolt or your own website.\n\nIf you haven\'t created this game, please contact the developer about this issue.\n\n Also note that ct.js games do not work inside the itch app; you will need to open the game with your browser of choice.'); + } } const deadPool = []; // a pool of `kill`-ed copies for delaying frequent garbage collection From 296d8cbee8f614c8918d87133007c315350ec9e3 Mon Sep 17 00:00:00 2001 From: Cosmo Myzrail Gorynych Date: Sat, 14 May 2022 16:44:48 +1200 Subject: [PATCH 002/128] :bug: Fix ct.inherit's regression from v1 Closes #337 --- app/data/ct.libs/inherit/index.js | 5 +++-- app/data/ct.libs/inherit/module.json | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/app/data/ct.libs/inherit/index.js b/app/data/ct.libs/inherit/index.js index 383ac927f..feedecf9b 100644 --- a/app/data/ct.libs/inherit/index.js +++ b/app/data/ct.libs/inherit/index.js @@ -14,7 +14,8 @@ ct.inherit = { if (!(assertedTemplate in ct.templates.templates)) { throw new Error(`[ct.inherit] The template ${assertedTemplate} does not exist. A typo?`); } - // Well, technically a template is not a child of itself, but I suppose you expect to get `true` + // Well, technically a template is not a child of itself, + // but I suppose you expect to get `true` // while checking whether a copy belongs to a particular class. if (template === assertedTemplate) { return true; @@ -40,7 +41,7 @@ ct.inherit = { // Get a list of all child templates to concat their ct.templates.lists in one go const templates = []; for (const i in ct.templates.list) { - if (i !== 'BACKGROUND' && i !== 'TILELAYER' && ct.inherit.isParent(template, i)) { + if (i !== 'BACKGROUND' && i !== 'TILEMAP' && ct.inherit.isParent(template, i)) { templates.push(i); } } diff --git a/app/data/ct.libs/inherit/module.json b/app/data/ct.libs/inherit/module.json index 1efe27f8f..d15c45675 100644 --- a/app/data/ct.libs/inherit/module.json +++ b/app/data/ct.libs/inherit/module.json @@ -2,7 +2,7 @@ "main": { "name": "Template inheritance", "tagline": "Avoid repeating code by adding parent-child relationships between your templates.", - "version": "1.0.0", + "version": "2.0.0", "authors": [{ "name": "Cosmo Myzrail Gorynych", "mail": "admin@nersta.ru" @@ -14,6 +14,6 @@ "templateExtends": [{ "name": "Parent", "type": "template", - "key": "inheritedType@@template" + "key": "inheritedTemplate@@template" }] } From 90acb8c9b6d885d323ba9fdd04d270ba79233a64 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 17 Apr 2022 07:00:48 +0000 Subject: [PATCH 003/128] :arrow_up: Bump async from 2.6.3 to 2.6.4 in /app Bumps [async](https://github.com/caolan/async) from 2.6.3 to 2.6.4. - [Release notes](https://github.com/caolan/async/releases) - [Changelog](https://github.com/caolan/async/blob/v2.6.4/CHANGELOG.md) - [Commits](https://github.com/caolan/async/compare/v2.6.3...v2.6.4) --- updated-dependencies: - dependency-name: async dependency-type: indirect ... Signed-off-by: dependabot[bot] --- app/package-lock.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/app/package-lock.json b/app/package-lock.json index 4d5634f5c..18f137ab8 100644 --- a/app/package-lock.json +++ b/app/package-lock.json @@ -1,12 +1,12 @@ { "name": "ctjs", - "version": "2.0.1", + "version": "2.0.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "ctjs", - "version": "2.0.1", + "version": "2.0.2", "license": "MIT", "dependencies": { "@capacitor/cli": "^3.4.0", @@ -1355,9 +1355,9 @@ } }, "node_modules/async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", "dependencies": { "lodash": "^4.17.14" } @@ -11273,9 +11273,9 @@ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==" }, "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", "requires": { "lodash": "^4.17.14" } From 879c8c2413c3de8feaa8edee3a3dcb442b97424a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 2 Jun 2022 02:46:19 +0000 Subject: [PATCH 004/128] :arrow_up: Bump simple-plist from 1.3.0 to 1.3.1 in /app Bumps [simple-plist](https://github.com/wollardj/simple-plist) from 1.3.0 to 1.3.1. - [Release notes](https://github.com/wollardj/simple-plist/releases) - [Commits](https://github.com/wollardj/simple-plist/compare/v1.3.0...v1.3.1) --- updated-dependencies: - dependency-name: simple-plist dependency-type: indirect ... Signed-off-by: dependabot[bot] --- app/package-lock.json | 41 ++++++++++------------------------------- 1 file changed, 10 insertions(+), 31 deletions(-) diff --git a/app/package-lock.json b/app/package-lock.json index 18f137ab8..f8e362a33 100644 --- a/app/package-lock.json +++ b/app/package-lock.json @@ -8844,24 +8844,13 @@ "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==" }, "node_modules/simple-plist": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-1.3.0.tgz", - "integrity": "sha512-uYWpeGFtZtVt2NhG4AHgpwx323zxD85x42heMJBan1qAiqqozIlaGrwrEt6kRjXWRWIXsuV1VLCvVmZan2B5dg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-1.3.1.tgz", + "integrity": "sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw==", "dependencies": { "bplist-creator": "0.1.0", - "bplist-parser": "0.3.0", - "plist": "^3.0.4" - } - }, - "node_modules/simple-plist/node_modules/bplist-parser": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.0.tgz", - "integrity": "sha512-zgmaRvT6AN1JpPPV+S0a1/FAtoxSreYDccZGIqEMSvZl9DMe70mJ7MFzpxa1X+gHVdkToE2haRUHHMiW1OdejA==", - "dependencies": { - "big-integer": "1.6.x" - }, - "engines": { - "node": ">= 5.10.0" + "bplist-parser": "0.3.1", + "plist": "^3.0.5" } }, "node_modules/sisteransi": { @@ -16709,23 +16698,13 @@ "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==" }, "simple-plist": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-1.3.0.tgz", - "integrity": "sha512-uYWpeGFtZtVt2NhG4AHgpwx323zxD85x42heMJBan1qAiqqozIlaGrwrEt6kRjXWRWIXsuV1VLCvVmZan2B5dg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-1.3.1.tgz", + "integrity": "sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw==", "requires": { "bplist-creator": "0.1.0", - "bplist-parser": "0.3.0", - "plist": "^3.0.4" - }, - "dependencies": { - "bplist-parser": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.0.tgz", - "integrity": "sha512-zgmaRvT6AN1JpPPV+S0a1/FAtoxSreYDccZGIqEMSvZl9DMe70mJ7MFzpxa1X+gHVdkToE2haRUHHMiW1OdejA==", - "requires": { - "big-integer": "1.6.x" - } - } + "bplist-parser": "0.3.1", + "plist": "^3.0.5" } }, "sisteransi": { From 8b518400e847be62fd7249003404aeb1e0a42a56 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 2 Jun 2022 15:55:21 +0000 Subject: [PATCH 005/128] :arrow_up: Bump npm from 8.3.2 to 8.11.0 in /app Bumps [npm](https://github.com/npm/cli) from 8.3.2 to 8.11.0. - [Release notes](https://github.com/npm/cli/releases) - [Changelog](https://github.com/npm/cli/blob/latest/CHANGELOG.md) - [Commits](https://github.com/npm/cli/compare/v8.3.2...v8.11.0) --- updated-dependencies: - dependency-name: npm dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- app/package-lock.json | 1925 ++++++++++++++++++++--------------------- app/package.json | 2 +- 2 files changed, 916 insertions(+), 1011 deletions(-) diff --git a/app/package-lock.json b/app/package-lock.json index 18f137ab8..a38c5ab95 100644 --- a/app/package-lock.json +++ b/app/package-lock.json @@ -32,7 +32,7 @@ "monaco-editor": "^0.20.0", "monaco-themes": "^0.3.3", "nanoid": "^3.1.31", - "npm": "^8.3.2", + "npm": "^8.11.0", "opentype.js": "^1.3.3", "pixi-particles": "4.3.1", "pixi.js": "5.3.11", @@ -5325,20 +5325,19 @@ } }, "node_modules/npm": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/npm/-/npm-8.3.2.tgz", - "integrity": "sha512-xZAC9GpWNOyiS1TtBqBy0HJpjIVI8zsVXEOEwcmgqYFtqOy7sXUL0ByOrkhfcGmf+akSXz3uOxLYB8aLlYivQQ==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/npm/-/npm-8.11.0.tgz", + "integrity": "sha512-4qmtwHa28J4SPmwCNoQI07KIF/ljmBhhuqG+xNXsIIRpwdKB5OXkMIGfH6KlThR6kzusxlkgR7t1haFDB88dcQ==", "bundleDependencies": [ "@isaacs/string-locale-compare", "@npmcli/arborist", "@npmcli/ci-detect", "@npmcli/config", + "@npmcli/fs", "@npmcli/map-workspaces", "@npmcli/package-json", "@npmcli/run-script", "abbrev", - "ansicolors", - "ansistyles", "archy", "cacache", "chalk", @@ -5402,77 +5401,76 @@ "write-file-atomic" ], "dependencies": { - "@isaacs/string-locale-compare": "*", - "@npmcli/arborist": "*", - "@npmcli/ci-detect": "*", - "@npmcli/config": "*", - "@npmcli/map-workspaces": "*", - "@npmcli/package-json": "*", - "@npmcli/run-script": "*", - "abbrev": "*", - "ansicolors": "*", - "ansistyles": "*", - "archy": "*", - "cacache": "*", - "chalk": "*", - "chownr": "*", - "cli-columns": "*", - "cli-table3": "*", - "columnify": "*", - "fastest-levenshtein": "*", - "glob": "*", - "graceful-fs": "*", - "hosted-git-info": "*", - "ini": "*", - "init-package-json": "*", - "is-cidr": "*", - "json-parse-even-better-errors": "*", - "libnpmaccess": "*", - "libnpmdiff": "*", - "libnpmexec": "*", - "libnpmfund": "*", - "libnpmhook": "*", - "libnpmorg": "*", - "libnpmpack": "*", - "libnpmpublish": "*", - "libnpmsearch": "*", - "libnpmteam": "*", - "libnpmversion": "*", - "make-fetch-happen": "*", - "minipass": "*", - "minipass-pipeline": "*", - "mkdirp": "*", - "mkdirp-infer-owner": "*", - "ms": "*", - "node-gyp": "*", - "nopt": "*", - "npm-audit-report": "*", - "npm-install-checks": "*", - "npm-package-arg": "*", - "npm-pick-manifest": "*", - "npm-profile": "*", - "npm-registry-fetch": "*", - "npm-user-validate": "*", - "npmlog": "*", - "opener": "*", - "pacote": "*", - "parse-conflict-json": "*", - "proc-log": "*", - "qrcode-terminal": "*", - "read": "*", - "read-package-json": "*", - "read-package-json-fast": "*", - "readdir-scoped-modules": "*", - "rimraf": "*", - "semver": "*", - "ssri": "*", - "tar": "*", - "text-table": "*", - "tiny-relative-date": "*", - "treeverse": "*", - "validate-npm-package-name": "*", - "which": "*", - "write-file-atomic": "*" + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/arborist": "^5.0.4", + "@npmcli/ci-detect": "^2.0.0", + "@npmcli/config": "^4.1.0", + "@npmcli/fs": "^2.1.0", + "@npmcli/map-workspaces": "^2.0.3", + "@npmcli/package-json": "^2.0.0", + "@npmcli/run-script": "^3.0.1", + "abbrev": "~1.1.1", + "archy": "~1.0.0", + "cacache": "^16.1.0", + "chalk": "^4.1.2", + "chownr": "^2.0.0", + "cli-columns": "^4.0.0", + "cli-table3": "^0.6.2", + "columnify": "^1.6.0", + "fastest-levenshtein": "^1.0.12", + "glob": "^8.0.1", + "graceful-fs": "^4.2.10", + "hosted-git-info": "^5.0.0", + "ini": "^3.0.0", + "init-package-json": "^3.0.2", + "is-cidr": "^4.0.2", + "json-parse-even-better-errors": "^2.3.1", + "libnpmaccess": "^6.0.2", + "libnpmdiff": "^4.0.2", + "libnpmexec": "^4.0.2", + "libnpmfund": "^3.0.1", + "libnpmhook": "^8.0.2", + "libnpmorg": "^4.0.2", + "libnpmpack": "^4.0.2", + "libnpmpublish": "^6.0.2", + "libnpmsearch": "^5.0.2", + "libnpmteam": "^4.0.2", + "libnpmversion": "^3.0.1", + "make-fetch-happen": "^10.1.5", + "minipass": "^3.1.6", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "mkdirp-infer-owner": "^2.0.0", + "ms": "^2.1.2", + "node-gyp": "^9.0.0", + "nopt": "^5.0.0", + "npm-audit-report": "^3.0.0", + "npm-install-checks": "^5.0.0", + "npm-package-arg": "^9.0.2", + "npm-pick-manifest": "^7.0.1", + "npm-profile": "^6.0.3", + "npm-registry-fetch": "^13.1.1", + "npm-user-validate": "^1.0.1", + "npmlog": "^6.0.2", + "opener": "^1.5.2", + "pacote": "^13.4.1", + "parse-conflict-json": "^2.0.2", + "proc-log": "^2.0.1", + "qrcode-terminal": "^0.12.0", + "read": "~1.0.7", + "read-package-json": "^5.0.1", + "read-package-json-fast": "^2.0.3", + "readdir-scoped-modules": "^1.1.0", + "rimraf": "^3.0.2", + "semver": "^7.3.7", + "ssri": "^9.0.1", + "tar": "^6.1.11", + "text-table": "~0.2.0", + "tiny-relative-date": "^1.3.0", + "treeverse": "^2.0.0", + "validate-npm-package-name": "^4.0.0", + "which": "^2.0.2", + "write-file-atomic": "^4.0.1" }, "bin": { "npm": "bin/npm-cli.js", @@ -5518,8 +5516,17 @@ "npm-watch": "cli.js" } }, + "node_modules/npm/node_modules/@colors/colors": { + "version": "1.5.0", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, "node_modules/npm/node_modules/@gar/promisify": { - "version": "1.1.2", + "version": "1.1.3", "inBundle": true, "license": "MIT" }, @@ -5529,103 +5536,118 @@ "license": "ISC" }, "node_modules/npm/node_modules/@npmcli/arborist": { - "version": "4.2.1", + "version": "5.2.0", "inBundle": true, "license": "ISC", "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", "@npmcli/installed-package-contents": "^1.0.7", - "@npmcli/map-workspaces": "^2.0.0", - "@npmcli/metavuln-calculator": "^2.0.0", - "@npmcli/move-file": "^1.1.0", + "@npmcli/map-workspaces": "^2.0.3", + "@npmcli/metavuln-calculator": "^3.0.1", + "@npmcli/move-file": "^2.0.0", "@npmcli/name-from-folder": "^1.0.1", - "@npmcli/node-gyp": "^1.0.3", - "@npmcli/package-json": "^1.0.1", - "@npmcli/run-script": "^2.0.0", + "@npmcli/node-gyp": "^2.0.0", + "@npmcli/package-json": "^2.0.0", + "@npmcli/run-script": "^3.0.0", "bin-links": "^3.0.0", - "cacache": "^15.0.3", + "cacache": "^16.0.6", "common-ancestor-path": "^1.0.1", "json-parse-even-better-errors": "^2.3.1", "json-stringify-nice": "^1.1.4", "mkdirp": "^1.0.4", "mkdirp-infer-owner": "^2.0.0", - "npm-install-checks": "^4.0.0", - "npm-package-arg": "^8.1.5", - "npm-pick-manifest": "^6.1.0", - "npm-registry-fetch": "^11.0.0", - "pacote": "^12.0.2", + "nopt": "^5.0.0", + "npm-install-checks": "^5.0.0", + "npm-package-arg": "^9.0.0", + "npm-pick-manifest": "^7.0.0", + "npm-registry-fetch": "^13.0.0", + "npmlog": "^6.0.2", + "pacote": "^13.0.5", "parse-conflict-json": "^2.0.1", - "proc-log": "^1.0.0", + "proc-log": "^2.0.0", "promise-all-reject-late": "^1.0.0", "promise-call-limit": "^1.0.1", "read-package-json-fast": "^2.0.2", "readdir-scoped-modules": "^1.1.0", "rimraf": "^3.0.2", - "semver": "^7.3.5", - "ssri": "^8.0.1", - "treeverse": "^1.0.4", + "semver": "^7.3.7", + "ssri": "^9.0.0", + "treeverse": "^2.0.0", "walk-up-path": "^1.0.0" }, "bin": { "arborist": "bin/index.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/@npmcli/ci-detect": { - "version": "1.4.0", + "version": "2.0.0", "inBundle": true, - "license": "ISC" + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } }, "node_modules/npm/node_modules/@npmcli/config": { - "version": "2.4.0", + "version": "4.1.0", "inBundle": true, "license": "ISC", "dependencies": { - "ini": "^2.0.0", + "@npmcli/map-workspaces": "^2.0.2", + "ini": "^3.0.0", "mkdirp-infer-owner": "^2.0.0", "nopt": "^5.0.0", - "semver": "^7.3.4", + "proc-log": "^2.0.0", + "read-package-json-fast": "^2.0.3", + "semver": "^7.3.5", "walk-up-path": "^1.0.0" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/@npmcli/disparity-colors": { - "version": "1.0.1", + "version": "2.0.0", "inBundle": true, "license": "ISC", "dependencies": { "ansi-styles": "^4.3.0" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/@npmcli/fs": { - "version": "1.0.0", + "version": "2.1.0", "inBundle": true, "license": "ISC", "dependencies": { - "@gar/promisify": "^1.0.1", + "@gar/promisify": "^1.1.3", "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/@npmcli/git": { - "version": "2.1.0", + "version": "3.0.1", "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/promise-spawn": "^1.3.2", - "lru-cache": "^6.0.0", + "@npmcli/promise-spawn": "^3.0.0", + "lru-cache": "^7.4.4", "mkdirp": "^1.0.4", - "npm-pick-manifest": "^6.1.1", + "npm-pick-manifest": "^7.0.0", + "proc-log": "^2.0.0", "promise-inflight": "^1.0.1", "promise-retry": "^2.0.1", "semver": "^7.3.5", "which": "^2.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/@npmcli/installed-package-contents": { @@ -5644,35 +5666,35 @@ } }, "node_modules/npm/node_modules/@npmcli/map-workspaces": { - "version": "2.0.0", + "version": "2.0.3", "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/name-from-folder": "^1.0.1", - "glob": "^7.1.6", - "minimatch": "^3.0.4", - "read-package-json-fast": "^2.0.1" + "glob": "^8.0.1", + "minimatch": "^5.0.1", + "read-package-json-fast": "^2.0.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/@npmcli/metavuln-calculator": { - "version": "2.0.0", + "version": "3.1.0", "inBundle": true, "license": "ISC", "dependencies": { - "cacache": "^15.0.5", + "cacache": "^16.0.0", "json-parse-even-better-errors": "^2.3.1", - "pacote": "^12.0.0", - "semver": "^7.3.2" + "pacote": "^13.0.3", + "semver": "^7.3.5" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/@npmcli/move-file": { - "version": "1.1.2", + "version": "2.0.0", "inBundle": true, "license": "MIT", "dependencies": { @@ -5680,7 +5702,7 @@ "rimraf": "^3.0.2" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/@npmcli/name-from-folder": { @@ -5689,43 +5711,55 @@ "license": "ISC" }, "node_modules/npm/node_modules/@npmcli/node-gyp": { - "version": "1.0.3", + "version": "2.0.0", "inBundle": true, - "license": "ISC" + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } }, "node_modules/npm/node_modules/@npmcli/package-json": { - "version": "1.0.1", + "version": "2.0.0", "inBundle": true, "license": "ISC", "dependencies": { "json-parse-even-better-errors": "^2.3.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/@npmcli/promise-spawn": { - "version": "1.3.2", + "version": "3.0.0", "inBundle": true, "license": "ISC", "dependencies": { "infer-owner": "^1.0.4" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/@npmcli/run-script": { - "version": "2.0.0", + "version": "3.0.2", "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/node-gyp": "^1.0.2", - "@npmcli/promise-spawn": "^1.3.2", - "node-gyp": "^8.2.0", - "read-package-json-fast": "^2.0.1" + "@npmcli/node-gyp": "^2.0.0", + "@npmcli/promise-spawn": "^3.0.0", + "node-gyp": "^9.0.0", + "read-package-json-fast": "^2.0.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/@tootallnate/once": { - "version": "1.1.2", + "version": "2.0.0", "inBundle": true, "license": "MIT", "engines": { - "node": ">= 6" + "node": ">= 10" } }, "node_modules/npm/node_modules/abbrev": { @@ -5745,7 +5779,7 @@ } }, "node_modules/npm/node_modules/agentkeepalive": { - "version": "4.2.0", + "version": "4.2.1", "inBundle": true, "license": "MIT", "dependencies": { @@ -5770,11 +5804,11 @@ } }, "node_modules/npm/node_modules/ansi-regex": { - "version": "2.1.1", + "version": "5.0.1", "inBundle": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/npm/node_modules/ansi-styles": { @@ -5791,16 +5825,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/npm/node_modules/ansicolors": { - "version": "0.3.2", - "inBundle": true, - "license": "MIT" - }, - "node_modules/npm/node_modules/ansistyles": { - "version": "0.1.3", - "inBundle": true, - "license": "MIT" - }, "node_modules/npm/node_modules/aproba": { "version": "2.0.0", "inBundle": true, @@ -5812,7 +5836,7 @@ "license": "MIT" }, "node_modules/npm/node_modules/are-we-there-yet": { - "version": "2.0.0", + "version": "3.0.0", "inBundle": true, "license": "ISC", "dependencies": { @@ -5820,7 +5844,7 @@ "readable-stream": "^3.6.0" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16" } }, "node_modules/npm/node_modules/asap": { @@ -5834,19 +5858,19 @@ "license": "MIT" }, "node_modules/npm/node_modules/bin-links": { - "version": "3.0.0", + "version": "3.0.1", "inBundle": true, "license": "ISC", "dependencies": { - "cmd-shim": "^4.0.1", + "cmd-shim": "^5.0.0", "mkdirp-infer-owner": "^2.0.0", "npm-normalize-package-bin": "^1.0.0", - "read-cmd-shim": "^2.0.0", + "read-cmd-shim": "^3.0.0", "rimraf": "^3.0.0", "write-file-atomic": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/binary-extensions": { @@ -5858,45 +5882,47 @@ } }, "node_modules/npm/node_modules/brace-expansion": { - "version": "1.1.11", + "version": "2.0.1", "inBundle": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^1.0.0" } }, "node_modules/npm/node_modules/builtins": { - "version": "1.0.3", + "version": "5.0.1", "inBundle": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "semver": "^7.0.0" + } }, "node_modules/npm/node_modules/cacache": { - "version": "15.3.0", + "version": "16.1.0", "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/fs": "^1.0.0", - "@npmcli/move-file": "^1.0.1", + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", "minipass-collect": "^1.0.2", "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", "p-map": "^4.0.0", "promise-inflight": "^1.0.1", "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", "unique-filename": "^1.1.1" }, "engines": { - "node": ">= 10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/chalk": { @@ -5953,99 +5979,18 @@ "node": ">= 10" } }, - "node_modules/npm/node_modules/cli-columns/node_modules/ansi-regex": { - "version": "5.0.1", - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/npm/node_modules/cli-columns/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/npm/node_modules/cli-columns/node_modules/string-width": { - "version": "4.2.3", - "inBundle": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/npm/node_modules/cli-columns/node_modules/strip-ansi": { - "version": "6.0.1", - "inBundle": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/npm/node_modules/cli-table3": { - "version": "0.6.0", + "version": "0.6.2", "inBundle": true, "license": "MIT", "dependencies": { - "object-assign": "^4.1.0", "string-width": "^4.2.0" }, "engines": { "node": "10.* || >= 12.*" }, "optionalDependencies": { - "colors": "^1.1.2" - } - }, - "node_modules/npm/node_modules/cli-table3/node_modules/ansi-regex": { - "version": "5.0.0", - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/npm/node_modules/cli-table3/node_modules/string-width": { - "version": "4.2.2", - "inBundle": 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/npm/node_modules/cli-table3/node_modules/strip-ansi": { - "version": "6.0.0", - "inBundle": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" + "@colors/colors": "1.5.0" } }, "node_modules/npm/node_modules/clone": { @@ -6057,14 +6002,14 @@ } }, "node_modules/npm/node_modules/cmd-shim": { - "version": "4.1.0", + "version": "5.0.0", "inBundle": true, "license": "ISC", "dependencies": { "mkdirp-infer-owner": "^2.0.0" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/color-convert": { @@ -6091,22 +6036,16 @@ "color-support": "bin.js" } }, - "node_modules/npm/node_modules/colors": { - "version": "1.4.0", - "inBundle": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.1.90" - } - }, "node_modules/npm/node_modules/columnify": { - "version": "1.5.4", + "version": "1.6.0", "inBundle": true, "license": "MIT", "dependencies": { - "strip-ansi": "^3.0.0", + "strip-ansi": "^6.0.1", "wcwidth": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" } }, "node_modules/npm/node_modules/common-ancestor-path": { @@ -6125,7 +6064,7 @@ "license": "ISC" }, "node_modules/npm/node_modules/debug": { - "version": "4.3.2", + "version": "4.3.4", "inBundle": true, "license": "MIT", "dependencies": { @@ -6175,7 +6114,7 @@ } }, "node_modules/npm/node_modules/dezalgo": { - "version": "1.0.3", + "version": "1.0.4", "inBundle": true, "license": "ISC", "dependencies": { @@ -6245,85 +6184,44 @@ "license": "MIT" }, "node_modules/npm/node_modules/gauge": { - "version": "4.0.0", + "version": "4.0.4", "inBundle": true, "license": "ISC", "dependencies": { - "ansi-regex": "^5.0.1", "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.2", - "console-control-strings": "^1.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", "has-unicode": "^2.0.1", - "signal-exit": "^3.0.0", + "signal-exit": "^3.0.7", "string-width": "^4.2.3", "strip-ansi": "^6.0.1", - "wide-align": "^1.1.2" + "wide-align": "^1.1.5" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" - } - }, - "node_modules/npm/node_modules/gauge/node_modules/ansi-regex": { - "version": "5.0.1", - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/npm/node_modules/gauge/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/npm/node_modules/gauge/node_modules/string-width": { - "version": "4.2.3", - "inBundle": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/npm/node_modules/gauge/node_modules/strip-ansi": { - "version": "6.0.1", - "inBundle": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/glob": { - "version": "7.2.0", + "version": "8.0.1", "inBundle": true, "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", + "minimatch": "^5.0.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" }, "engines": { - "node": "*" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/npm/node_modules/graceful-fs": { - "version": "4.2.8", + "version": "4.2.10", "inBundle": true, "license": "ISC" }, @@ -6352,14 +6250,14 @@ "license": "ISC" }, "node_modules/npm/node_modules/hosted-git-info": { - "version": "4.1.0", + "version": "5.0.0", "inBundle": true, "license": "ISC", "dependencies": { - "lru-cache": "^6.0.0" + "lru-cache": "^7.5.1" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16" } }, "node_modules/npm/node_modules/http-cache-semantics": { @@ -6368,11 +6266,11 @@ "license": "BSD-2-Clause" }, "node_modules/npm/node_modules/http-proxy-agent": { - "version": "4.0.1", + "version": "5.0.0", "inBundle": true, "license": "MIT", "dependencies": { - "@tootallnate/once": "1", + "@tootallnate/once": "2", "agent-base": "6", "debug": "4" }, @@ -6381,7 +6279,7 @@ } }, "node_modules/npm/node_modules/https-proxy-agent": { - "version": "5.0.0", + "version": "5.0.1", "inBundle": true, "license": "MIT", "dependencies": { @@ -6413,14 +6311,14 @@ } }, "node_modules/npm/node_modules/ignore-walk": { - "version": "4.0.1", + "version": "5.0.1", "inBundle": true, "license": "ISC", "dependencies": { - "minimatch": "^3.0.4" + "minimatch": "^5.0.1" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/imurmurhash": { @@ -6459,32 +6357,32 @@ "license": "ISC" }, "node_modules/npm/node_modules/ini": { - "version": "2.0.0", + "version": "3.0.0", "inBundle": true, "license": "ISC", "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/init-package-json": { - "version": "2.0.5", + "version": "3.0.2", "inBundle": true, "license": "ISC", "dependencies": { - "npm-package-arg": "^8.1.5", + "npm-package-arg": "^9.0.1", "promzard": "^0.3.0", - "read": "~1.0.1", - "read-package-json": "^4.1.1", + "read": "^1.0.7", + "read-package-json": "^5.0.0", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4", - "validate-npm-package-name": "^3.0.0" + "validate-npm-package-name": "^4.0.0" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/ip": { - "version": "1.1.5", + "version": "1.1.8", "inBundle": true, "license": "MIT" }, @@ -6508,7 +6406,7 @@ } }, "node_modules/npm/node_modules/is-core-module": { - "version": "2.8.0", + "version": "2.9.0", "inBundle": true, "license": "MIT", "dependencies": { @@ -6519,11 +6417,11 @@ } }, "node_modules/npm/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", + "version": "3.0.0", "inBundle": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/npm/node_modules/is-lambda": { @@ -6531,11 +6429,6 @@ "inBundle": true, "license": "MIT" }, - "node_modules/npm/node_modules/is-typedarray": { - "version": "1.0.0", - "inBundle": true, - "license": "MIT" - }, "node_modules/npm/node_modules/isexe": { "version": "2.0.0", "inBundle": true, @@ -6563,215 +6456,213 @@ "license": "MIT" }, "node_modules/npm/node_modules/just-diff": { - "version": "5.0.1", + "version": "5.0.2", "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/just-diff-apply": { - "version": "4.0.1", + "version": "5.2.0", "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/libnpmaccess": { - "version": "5.0.0", + "version": "6.0.3", "inBundle": true, "license": "ISC", "dependencies": { "aproba": "^2.0.0", "minipass": "^3.1.1", - "npm-package-arg": "^8.1.2", - "npm-registry-fetch": "^11.0.0" + "npm-package-arg": "^9.0.1", + "npm-registry-fetch": "^13.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/libnpmdiff": { - "version": "3.0.0", + "version": "4.0.3", "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/disparity-colors": "^1.0.1", + "@npmcli/disparity-colors": "^2.0.0", "@npmcli/installed-package-contents": "^1.0.7", "binary-extensions": "^2.2.0", "diff": "^5.0.0", - "minimatch": "^3.0.4", - "npm-package-arg": "^8.1.4", - "pacote": "^12.0.0", + "minimatch": "^5.0.1", + "npm-package-arg": "^9.0.1", + "pacote": "^13.0.5", "tar": "^6.1.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/libnpmexec": { - "version": "3.0.2", + "version": "4.0.5", "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^4.0.0", - "@npmcli/ci-detect": "^1.3.0", - "@npmcli/run-script": "^2.0.0", + "@npmcli/arborist": "^5.0.0", + "@npmcli/ci-detect": "^2.0.0", + "@npmcli/run-script": "^3.0.0", "chalk": "^4.1.0", "mkdirp-infer-owner": "^2.0.0", - "npm-package-arg": "^8.1.2", - "pacote": "^12.0.0", - "proc-log": "^1.0.0", + "npm-package-arg": "^9.0.1", + "npmlog": "^6.0.2", + "pacote": "^13.0.5", + "proc-log": "^2.0.0", "read": "^1.0.7", "read-package-json-fast": "^2.0.2", "walk-up-path": "^1.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/libnpmfund": { - "version": "2.0.2", + "version": "3.0.2", "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^4.0.0" + "@npmcli/arborist": "^5.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/libnpmhook": { - "version": "7.0.0", + "version": "8.0.3", "inBundle": true, "license": "ISC", "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^11.0.0" + "npm-registry-fetch": "^13.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/libnpmorg": { - "version": "3.0.0", + "version": "4.0.3", "inBundle": true, "license": "ISC", "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^11.0.0" + "npm-registry-fetch": "^13.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/libnpmpack": { - "version": "3.0.1", + "version": "4.1.0", "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/run-script": "^2.0.0", - "npm-package-arg": "^8.1.0", - "pacote": "^12.0.0" + "@npmcli/run-script": "^3.0.0", + "npm-package-arg": "^9.0.1", + "pacote": "^13.5.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/libnpmpublish": { - "version": "5.0.0", + "version": "6.0.4", "inBundle": true, "license": "ISC", "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" + "normalize-package-data": "^4.0.0", + "npm-package-arg": "^9.0.1", + "npm-registry-fetch": "^13.0.0", + "semver": "^7.3.7", + "ssri": "^9.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/libnpmsearch": { - "version": "4.0.0", + "version": "5.0.3", "inBundle": true, "license": "ISC", "dependencies": { - "npm-registry-fetch": "^11.0.0" + "npm-registry-fetch": "^13.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/libnpmteam": { - "version": "3.0.0", + "version": "4.0.3", "inBundle": true, "license": "ISC", "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^11.0.0" + "npm-registry-fetch": "^13.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/libnpmversion": { - "version": "2.0.2", + "version": "3.0.4", "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/git": "^2.0.7", - "@npmcli/run-script": "^2.0.0", + "@npmcli/git": "^3.0.0", + "@npmcli/run-script": "^3.0.0", "json-parse-even-better-errors": "^2.3.1", - "semver": "^7.3.5", - "stringify-package": "^1.0.1" + "proc-log": "^2.0.0", + "semver": "^7.3.7" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/lru-cache": { - "version": "6.0.0", + "version": "7.9.0", "inBundle": true, "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/npm/node_modules/make-fetch-happen": { - "version": "9.1.0", + "version": "10.1.5", "inBundle": true, "license": "ISC", "dependencies": { - "agentkeepalive": "^4.1.3", - "cacache": "^15.2.0", + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^4.0.1", + "http-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0", "is-lambda": "^1.0.1", - "lru-cache": "^6.0.0", - "minipass": "^3.1.3", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.3.2", + "minipass-fetch": "^2.0.3", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.2", + "negotiator": "^0.6.3", "promise-retry": "^2.0.1", - "socks-proxy-agent": "^6.0.0", - "ssri": "^8.0.0" + "socks-proxy-agent": "^6.1.1", + "ssri": "^9.0.0" }, "engines": { - "node": ">= 10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/minimatch": { - "version": "3.0.4", + "version": "5.0.1", "inBundle": true, "license": "ISC", "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "*" + "node": ">=10" } }, "node_modules/npm/node_modules/minipass": { @@ -6797,19 +6688,19 @@ } }, "node_modules/npm/node_modules/minipass-fetch": { - "version": "1.4.1", + "version": "2.1.0", "inBundle": true, "license": "MIT", "dependencies": { - "minipass": "^3.1.0", + "minipass": "^3.1.6", "minipass-sized": "^1.0.3", - "minizlib": "^2.0.0" + "minizlib": "^2.1.2" }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" }, "optionalDependencies": { - "encoding": "^0.1.12" + "encoding": "^0.1.13" } }, "node_modules/npm/node_modules/minipass-flush": { @@ -6901,7 +6792,7 @@ "license": "ISC" }, "node_modules/npm/node_modules/negotiator": { - "version": "0.6.2", + "version": "0.6.3", "inBundle": true, "license": "MIT", "engines": { @@ -6909,14 +6800,14 @@ } }, "node_modules/npm/node_modules/node-gyp": { - "version": "8.4.1", + "version": "9.0.0", "inBundle": true, "license": "MIT", "dependencies": { "env-paths": "^2.2.0", "glob": "^7.1.4", "graceful-fs": "^4.2.6", - "make-fetch-happen": "^9.1.0", + "make-fetch-happen": "^10.0.3", "nopt": "^5.0.0", "npmlog": "^6.0.0", "rimraf": "^3.0.2", @@ -6928,7 +6819,46 @@ "node-gyp": "bin/node-gyp.js" }, "engines": { - "node": ">= 10.12.0" + "node": "^12.22 || ^14.13 || >=16" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/brace-expansion": { + "version": "1.1.11", + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/glob": { + "version": "7.2.0", + "inBundle": 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": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/minimatch": { + "version": "3.1.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, "node_modules/npm/node_modules/nopt": { @@ -6946,28 +6876,28 @@ } }, "node_modules/npm/node_modules/normalize-package-data": { - "version": "3.0.3", + "version": "4.0.0", "inBundle": true, "license": "BSD-2-Clause", "dependencies": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "^5.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16" } }, "node_modules/npm/node_modules/npm-audit-report": { - "version": "2.1.5", + "version": "3.0.0", "inBundle": true, "license": "ISC", "dependencies": { "chalk": "^4.0.0" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/npm-bundled": { @@ -6979,14 +6909,14 @@ } }, "node_modules/npm/node_modules/npm-install-checks": { - "version": "4.0.0", + "version": "5.0.0", "inBundle": true, "license": "BSD-2-Clause", "dependencies": { "semver": "^7.1.1" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/npm-normalize-package-bin": { @@ -6995,71 +6925,76 @@ "license": "ISC" }, "node_modules/npm/node_modules/npm-package-arg": { - "version": "8.1.5", + "version": "9.0.2", "inBundle": true, "license": "ISC", "dependencies": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" + "hosted-git-info": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^4.0.0" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/npm-packlist": { - "version": "3.0.0", + "version": "5.1.0", "inBundle": true, "license": "ISC", "dependencies": { - "glob": "^7.1.6", - "ignore-walk": "^4.0.1", - "npm-bundled": "^1.1.1", + "glob": "^8.0.1", + "ignore-walk": "^5.0.1", + "npm-bundled": "^1.1.2", "npm-normalize-package-bin": "^1.0.1" }, "bin": { "npm-packlist": "bin/index.js" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/npm-pick-manifest": { - "version": "6.1.1", + "version": "7.0.1", "inBundle": true, "license": "ISC", "dependencies": { - "npm-install-checks": "^4.0.0", + "npm-install-checks": "^5.0.0", "npm-normalize-package-bin": "^1.0.1", - "npm-package-arg": "^8.1.2", - "semver": "^7.3.4" + "npm-package-arg": "^9.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/npm-profile": { - "version": "5.0.4", + "version": "6.0.3", "inBundle": true, "license": "ISC", "dependencies": { - "npm-registry-fetch": "^11.0.0" + "npm-registry-fetch": "^13.0.1", + "proc-log": "^2.0.0" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/npm-registry-fetch": { - "version": "11.0.0", + "version": "13.1.1", "inBundle": true, "license": "ISC", "dependencies": { - "make-fetch-happen": "^9.0.1", - "minipass": "^3.1.3", - "minipass-fetch": "^1.3.0", + "make-fetch-happen": "^10.0.6", + "minipass": "^3.1.6", + "minipass-fetch": "^2.0.3", "minipass-json-stream": "^1.0.1", - "minizlib": "^2.0.0", - "npm-package-arg": "^8.0.0" + "minizlib": "^2.1.2", + "npm-package-arg": "^9.0.1", + "proc-log": "^2.0.0" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/npm-user-validate": { @@ -7068,25 +7003,17 @@ "license": "BSD-2-Clause" }, "node_modules/npm/node_modules/npmlog": { - "version": "6.0.0", + "version": "6.0.2", "inBundle": true, "license": "ISC", "dependencies": { - "are-we-there-yet": "^2.0.0", + "are-we-there-yet": "^3.0.0", "console-control-strings": "^1.1.0", - "gauge": "^4.0.0", + "gauge": "^4.0.3", "set-blocking": "^2.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" - } - }, - "node_modules/npm/node_modules/object-assign": { - "version": "4.1.1", - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/once": { @@ -7120,48 +7047,50 @@ } }, "node_modules/npm/node_modules/pacote": { - "version": "12.0.2", + "version": "13.5.0", "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/git": "^2.1.0", - "@npmcli/installed-package-contents": "^1.0.6", - "@npmcli/promise-spawn": "^1.2.0", - "@npmcli/run-script": "^2.0.0", - "cacache": "^15.0.5", + "@npmcli/git": "^3.0.0", + "@npmcli/installed-package-contents": "^1.0.7", + "@npmcli/promise-spawn": "^3.0.0", + "@npmcli/run-script": "^3.0.1", + "cacache": "^16.0.0", "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": "^3.0.0", - "npm-pick-manifest": "^6.0.0", - "npm-registry-fetch": "^11.0.0", + "minipass": "^3.1.6", + "mkdirp": "^1.0.4", + "npm-package-arg": "^9.0.0", + "npm-packlist": "^5.1.0", + "npm-pick-manifest": "^7.0.0", + "npm-registry-fetch": "^13.0.1", + "proc-log": "^2.0.0", "promise-retry": "^2.0.1", - "read-package-json-fast": "^2.0.1", + "read-package-json": "^5.0.0", + "read-package-json-fast": "^2.0.3", "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.1.0" + "ssri": "^9.0.0", + "tar": "^6.1.11" }, "bin": { "pacote": "lib/bin.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/parse-conflict-json": { - "version": "2.0.1", + "version": "2.0.2", "inBundle": true, "license": "ISC", "dependencies": { "json-parse-even-better-errors": "^2.3.1", "just-diff": "^5.0.1", - "just-diff-apply": "^4.0.1" + "just-diff-apply": "^5.2.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/path-is-absolute": { @@ -7173,9 +7102,12 @@ } }, "node_modules/npm/node_modules/proc-log": { - "version": "1.0.0", + "version": "2.0.1", "inBundle": true, - "license": "ISC" + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } }, "node_modules/npm/node_modules/promise-all-reject-late": { "version": "1.0.1", @@ -7237,22 +7169,25 @@ } }, "node_modules/npm/node_modules/read-cmd-shim": { - "version": "2.0.0", + "version": "3.0.0", "inBundle": true, - "license": "ISC" + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } }, "node_modules/npm/node_modules/read-package-json": { - "version": "4.1.1", + "version": "5.0.1", "inBundle": true, "license": "ISC", "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" + "glob": "^8.0.1", + "json-parse-even-better-errors": "^2.3.1", + "normalize-package-data": "^4.0.0", + "npm-normalize-package-bin": "^1.0.1" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/read-package-json-fast": { @@ -7313,6 +7248,45 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/npm/node_modules/rimraf/node_modules/brace-expansion": { + "version": "1.1.11", + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/npm/node_modules/rimraf/node_modules/glob": { + "version": "7.2.0", + "inBundle": 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": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/npm/node_modules/safe-buffer": { "version": "5.2.1", "funding": [ @@ -7339,7 +7313,7 @@ "optional": true }, "node_modules/npm/node_modules/semver": { - "version": "7.3.5", + "version": "7.3.7", "inBundle": true, "license": "ISC", "dependencies": { @@ -7352,13 +7326,24 @@ "node": ">=10" } }, + "node_modules/npm/node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/npm/node_modules/set-blocking": { "version": "2.0.0", "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/signal-exit": { - "version": "3.0.6", + "version": "3.0.7", "inBundle": true, "license": "ISC" }, @@ -7372,12 +7357,12 @@ } }, "node_modules/npm/node_modules/socks": { - "version": "2.6.1", + "version": "2.6.2", "inBundle": true, "license": "MIT", "dependencies": { "ip": "^1.1.5", - "smart-buffer": "^4.1.0" + "smart-buffer": "^4.2.0" }, "engines": { "node": ">= 10.13.0", @@ -7385,13 +7370,13 @@ } }, "node_modules/npm/node_modules/socks-proxy-agent": { - "version": "6.1.0", + "version": "6.2.0", "inBundle": true, "license": "MIT", "dependencies": { "agent-base": "^6.0.2", - "debug": "^4.3.1", - "socks": "^2.6.1" + "debug": "^4.3.3", + "socks": "^2.6.2" }, "engines": { "node": ">= 10" @@ -7421,19 +7406,19 @@ } }, "node_modules/npm/node_modules/spdx-license-ids": { - "version": "3.0.10", + "version": "3.0.11", "inBundle": true, "license": "CC0-1.0" }, "node_modules/npm/node_modules/ssri": { - "version": "8.0.1", + "version": "9.0.1", "inBundle": true, "license": "ISC", "dependencies": { "minipass": "^3.1.1" }, "engines": { - "node": ">= 8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/string_decoder": { @@ -7445,50 +7430,27 @@ } }, "node_modules/npm/node_modules/string-width": { - "version": "2.1.1", - "inBundle": true, - "license": "MIT", - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/npm/node_modules/string-width/node_modules/ansi-regex": { - "version": "3.0.0", - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/npm/node_modules/string-width/node_modules/strip-ansi": { - "version": "4.0.0", + "version": "4.2.3", "inBundle": true, "license": "MIT", "dependencies": { - "ansi-regex": "^3.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/npm/node_modules/stringify-package": { - "version": "1.0.1", - "inBundle": true, - "license": "ISC" - }, "node_modules/npm/node_modules/strip-ansi": { - "version": "3.0.1", + "version": "6.0.1", "inBundle": true, "license": "MIT", "dependencies": { - "ansi-regex": "^2.0.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/npm/node_modules/supports-color": { @@ -7529,28 +7491,12 @@ "license": "MIT" }, "node_modules/npm/node_modules/treeverse": { - "version": "1.0.4", - "inBundle": true, - "license": "ISC" - }, - "node_modules/npm/node_modules/typedarray-to-buffer": { - "version": "4.0.0", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], + "version": "2.0.0", "inBundle": true, - "license": "MIT" + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } }, "node_modules/npm/node_modules/unique-filename": { "version": "1.1.1", @@ -7583,11 +7529,14 @@ } }, "node_modules/npm/node_modules/validate-npm-package-name": { - "version": "3.0.0", + "version": "4.0.0", "inBundle": true, "license": "ISC", "dependencies": { - "builtins": "^1.0.3" + "builtins": "^5.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/npm/node_modules/walk-up-path": { @@ -7618,11 +7567,11 @@ } }, "node_modules/npm/node_modules/wide-align": { - "version": "1.1.3", + "version": "1.1.5", "inBundle": true, "license": "ISC", "dependencies": { - "string-width": "^1.0.2 || 2" + "string-width": "^1.0.2 || 2 || 3 || 4" } }, "node_modules/npm/node_modules/wrappy": { @@ -7631,14 +7580,12 @@ "license": "ISC" }, "node_modules/npm/node_modules/write-file-atomic": { - "version": "4.0.0", + "version": "4.0.1", "inBundle": true, "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^4.0.0" + "signal-exit": "^3.0.7" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16" @@ -14253,85 +14200,89 @@ "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==" }, "npm": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/npm/-/npm-8.3.2.tgz", - "integrity": "sha512-xZAC9GpWNOyiS1TtBqBy0HJpjIVI8zsVXEOEwcmgqYFtqOy7sXUL0ByOrkhfcGmf+akSXz3uOxLYB8aLlYivQQ==", - "requires": { - "@isaacs/string-locale-compare": "*", - "@npmcli/arborist": "*", - "@npmcli/ci-detect": "*", - "@npmcli/config": "*", - "@npmcli/map-workspaces": "*", - "@npmcli/package-json": "*", - "@npmcli/run-script": "*", - "abbrev": "*", - "ansicolors": "*", - "ansistyles": "*", - "archy": "*", - "cacache": "*", - "chalk": "*", - "chownr": "*", - "cli-columns": "*", - "cli-table3": "*", - "columnify": "*", - "fastest-levenshtein": "*", - "glob": "*", - "graceful-fs": "*", - "hosted-git-info": "*", - "ini": "*", - "init-package-json": "*", - "is-cidr": "*", - "json-parse-even-better-errors": "*", - "libnpmaccess": "*", - "libnpmdiff": "*", - "libnpmexec": "*", - "libnpmfund": "*", - "libnpmhook": "*", - "libnpmorg": "*", - "libnpmpack": "*", - "libnpmpublish": "*", - "libnpmsearch": "*", - "libnpmteam": "*", - "libnpmversion": "*", - "make-fetch-happen": "*", - "minipass": "*", - "minipass-pipeline": "*", - "mkdirp": "*", - "mkdirp-infer-owner": "*", - "ms": "*", - "node-gyp": "*", - "nopt": "*", - "npm-audit-report": "*", - "npm-install-checks": "*", - "npm-package-arg": "*", - "npm-pick-manifest": "*", - "npm-profile": "*", - "npm-registry-fetch": "*", - "npm-user-validate": "*", - "npmlog": "*", - "opener": "*", - "pacote": "*", - "parse-conflict-json": "*", - "proc-log": "*", - "qrcode-terminal": "*", - "read": "*", - "read-package-json": "*", - "read-package-json-fast": "*", - "readdir-scoped-modules": "*", - "rimraf": "*", - "semver": "*", - "ssri": "*", - "tar": "*", - "text-table": "*", - "tiny-relative-date": "*", - "treeverse": "*", - "validate-npm-package-name": "*", - "which": "*", - "write-file-atomic": "*" + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/npm/-/npm-8.11.0.tgz", + "integrity": "sha512-4qmtwHa28J4SPmwCNoQI07KIF/ljmBhhuqG+xNXsIIRpwdKB5OXkMIGfH6KlThR6kzusxlkgR7t1haFDB88dcQ==", + "requires": { + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/arborist": "^5.0.4", + "@npmcli/ci-detect": "^2.0.0", + "@npmcli/config": "^4.1.0", + "@npmcli/fs": "^2.1.0", + "@npmcli/map-workspaces": "^2.0.3", + "@npmcli/package-json": "^2.0.0", + "@npmcli/run-script": "^3.0.1", + "abbrev": "~1.1.1", + "archy": "~1.0.0", + "cacache": "^16.1.0", + "chalk": "^4.1.2", + "chownr": "^2.0.0", + "cli-columns": "^4.0.0", + "cli-table3": "^0.6.2", + "columnify": "^1.6.0", + "fastest-levenshtein": "^1.0.12", + "glob": "^8.0.1", + "graceful-fs": "^4.2.10", + "hosted-git-info": "^5.0.0", + "ini": "^3.0.0", + "init-package-json": "^3.0.2", + "is-cidr": "^4.0.2", + "json-parse-even-better-errors": "^2.3.1", + "libnpmaccess": "^6.0.2", + "libnpmdiff": "^4.0.2", + "libnpmexec": "^4.0.2", + "libnpmfund": "^3.0.1", + "libnpmhook": "^8.0.2", + "libnpmorg": "^4.0.2", + "libnpmpack": "^4.0.2", + "libnpmpublish": "^6.0.2", + "libnpmsearch": "^5.0.2", + "libnpmteam": "^4.0.2", + "libnpmversion": "^3.0.1", + "make-fetch-happen": "^10.1.5", + "minipass": "^3.1.6", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "mkdirp-infer-owner": "^2.0.0", + "ms": "^2.1.2", + "node-gyp": "^9.0.0", + "nopt": "^5.0.0", + "npm-audit-report": "^3.0.0", + "npm-install-checks": "^5.0.0", + "npm-package-arg": "^9.0.2", + "npm-pick-manifest": "^7.0.1", + "npm-profile": "^6.0.3", + "npm-registry-fetch": "^13.1.1", + "npm-user-validate": "^1.0.1", + "npmlog": "^6.0.2", + "opener": "^1.5.2", + "pacote": "^13.4.1", + "parse-conflict-json": "^2.0.2", + "proc-log": "^2.0.1", + "qrcode-terminal": "^0.12.0", + "read": "~1.0.7", + "read-package-json": "^5.0.1", + "read-package-json-fast": "^2.0.3", + "readdir-scoped-modules": "^1.1.0", + "rimraf": "^3.0.2", + "semver": "^7.3.7", + "ssri": "^9.0.1", + "tar": "^6.1.11", + "text-table": "~0.2.0", + "tiny-relative-date": "^1.3.0", + "treeverse": "^2.0.0", + "validate-npm-package-name": "^4.0.0", + "which": "^2.0.2", + "write-file-atomic": "^4.0.1" }, "dependencies": { + "@colors/colors": { + "version": "1.5.0", + "bundled": true, + "optional": true + }, "@gar/promisify": { - "version": "1.1.2", + "version": "1.1.3", "bundled": true }, "@isaacs/string-locale-compare": { @@ -14339,81 +14290,87 @@ "bundled": true }, "@npmcli/arborist": { - "version": "4.2.1", + "version": "5.2.0", "bundled": true, "requires": { "@isaacs/string-locale-compare": "^1.1.0", "@npmcli/installed-package-contents": "^1.0.7", - "@npmcli/map-workspaces": "^2.0.0", - "@npmcli/metavuln-calculator": "^2.0.0", - "@npmcli/move-file": "^1.1.0", + "@npmcli/map-workspaces": "^2.0.3", + "@npmcli/metavuln-calculator": "^3.0.1", + "@npmcli/move-file": "^2.0.0", "@npmcli/name-from-folder": "^1.0.1", - "@npmcli/node-gyp": "^1.0.3", - "@npmcli/package-json": "^1.0.1", - "@npmcli/run-script": "^2.0.0", + "@npmcli/node-gyp": "^2.0.0", + "@npmcli/package-json": "^2.0.0", + "@npmcli/run-script": "^3.0.0", "bin-links": "^3.0.0", - "cacache": "^15.0.3", + "cacache": "^16.0.6", "common-ancestor-path": "^1.0.1", "json-parse-even-better-errors": "^2.3.1", "json-stringify-nice": "^1.1.4", "mkdirp": "^1.0.4", "mkdirp-infer-owner": "^2.0.0", - "npm-install-checks": "^4.0.0", - "npm-package-arg": "^8.1.5", - "npm-pick-manifest": "^6.1.0", - "npm-registry-fetch": "^11.0.0", - "pacote": "^12.0.2", + "nopt": "^5.0.0", + "npm-install-checks": "^5.0.0", + "npm-package-arg": "^9.0.0", + "npm-pick-manifest": "^7.0.0", + "npm-registry-fetch": "^13.0.0", + "npmlog": "^6.0.2", + "pacote": "^13.0.5", "parse-conflict-json": "^2.0.1", - "proc-log": "^1.0.0", + "proc-log": "^2.0.0", "promise-all-reject-late": "^1.0.0", "promise-call-limit": "^1.0.1", "read-package-json-fast": "^2.0.2", "readdir-scoped-modules": "^1.1.0", "rimraf": "^3.0.2", - "semver": "^7.3.5", - "ssri": "^8.0.1", - "treeverse": "^1.0.4", + "semver": "^7.3.7", + "ssri": "^9.0.0", + "treeverse": "^2.0.0", "walk-up-path": "^1.0.0" } }, "@npmcli/ci-detect": { - "version": "1.4.0", + "version": "2.0.0", "bundled": true }, "@npmcli/config": { - "version": "2.4.0", + "version": "4.1.0", "bundled": true, "requires": { - "ini": "^2.0.0", + "@npmcli/map-workspaces": "^2.0.2", + "ini": "^3.0.0", "mkdirp-infer-owner": "^2.0.0", "nopt": "^5.0.0", - "semver": "^7.3.4", + "proc-log": "^2.0.0", + "read-package-json-fast": "^2.0.3", + "semver": "^7.3.5", "walk-up-path": "^1.0.0" } }, "@npmcli/disparity-colors": { - "version": "1.0.1", + "version": "2.0.0", "bundled": true, "requires": { "ansi-styles": "^4.3.0" } }, "@npmcli/fs": { - "version": "1.0.0", + "version": "2.1.0", "bundled": true, "requires": { - "@gar/promisify": "^1.0.1", + "@gar/promisify": "^1.1.3", "semver": "^7.3.5" } }, "@npmcli/git": { - "version": "2.1.0", + "version": "3.0.1", "bundled": true, "requires": { - "@npmcli/promise-spawn": "^1.3.2", - "lru-cache": "^6.0.0", + "@npmcli/promise-spawn": "^3.0.0", + "lru-cache": "^7.4.4", "mkdirp": "^1.0.4", - "npm-pick-manifest": "^6.1.1", + "npm-pick-manifest": "^7.0.0", + "proc-log": "^2.0.0", "promise-inflight": "^1.0.1", "promise-retry": "^2.0.1", "semver": "^7.3.5", @@ -14429,27 +14386,27 @@ } }, "@npmcli/map-workspaces": { - "version": "2.0.0", + "version": "2.0.3", "bundled": true, "requires": { "@npmcli/name-from-folder": "^1.0.1", - "glob": "^7.1.6", - "minimatch": "^3.0.4", - "read-package-json-fast": "^2.0.1" + "glob": "^8.0.1", + "minimatch": "^5.0.1", + "read-package-json-fast": "^2.0.3" } }, "@npmcli/metavuln-calculator": { - "version": "2.0.0", + "version": "3.1.0", "bundled": true, "requires": { - "cacache": "^15.0.5", + "cacache": "^16.0.0", "json-parse-even-better-errors": "^2.3.1", - "pacote": "^12.0.0", - "semver": "^7.3.2" + "pacote": "^13.0.3", + "semver": "^7.3.5" } }, "@npmcli/move-file": { - "version": "1.1.2", + "version": "2.0.0", "bundled": true, "requires": { "mkdirp": "^1.0.4", @@ -14461,35 +14418,35 @@ "bundled": true }, "@npmcli/node-gyp": { - "version": "1.0.3", + "version": "2.0.0", "bundled": true }, "@npmcli/package-json": { - "version": "1.0.1", + "version": "2.0.0", "bundled": true, "requires": { "json-parse-even-better-errors": "^2.3.1" } }, "@npmcli/promise-spawn": { - "version": "1.3.2", + "version": "3.0.0", "bundled": true, "requires": { "infer-owner": "^1.0.4" } }, "@npmcli/run-script": { - "version": "2.0.0", + "version": "3.0.2", "bundled": true, "requires": { - "@npmcli/node-gyp": "^1.0.2", - "@npmcli/promise-spawn": "^1.3.2", - "node-gyp": "^8.2.0", - "read-package-json-fast": "^2.0.1" + "@npmcli/node-gyp": "^2.0.0", + "@npmcli/promise-spawn": "^3.0.0", + "node-gyp": "^9.0.0", + "read-package-json-fast": "^2.0.3" } }, "@tootallnate/once": { - "version": "1.1.2", + "version": "2.0.0", "bundled": true }, "abbrev": { @@ -14504,7 +14461,7 @@ } }, "agentkeepalive": { - "version": "4.2.0", + "version": "4.2.1", "bundled": true, "requires": { "debug": "^4.1.0", @@ -14521,7 +14478,7 @@ } }, "ansi-regex": { - "version": "2.1.1", + "version": "5.0.1", "bundled": true }, "ansi-styles": { @@ -14531,14 +14488,6 @@ "color-convert": "^2.0.1" } }, - "ansicolors": { - "version": "0.3.2", - "bundled": true - }, - "ansistyles": { - "version": "0.1.3", - "bundled": true - }, "aproba": { "version": "2.0.0", "bundled": true @@ -14548,7 +14497,7 @@ "bundled": true }, "are-we-there-yet": { - "version": "2.0.0", + "version": "3.0.0", "bundled": true, "requires": { "delegates": "^1.0.0", @@ -14564,13 +14513,13 @@ "bundled": true }, "bin-links": { - "version": "3.0.0", + "version": "3.0.1", "bundled": true, "requires": { - "cmd-shim": "^4.0.1", + "cmd-shim": "^5.0.0", "mkdirp-infer-owner": "^2.0.0", "npm-normalize-package-bin": "^1.0.0", - "read-cmd-shim": "^2.0.0", + "read-cmd-shim": "^3.0.0", "rimraf": "^3.0.0", "write-file-atomic": "^4.0.0" } @@ -14580,38 +14529,40 @@ "bundled": true }, "brace-expansion": { - "version": "1.1.11", + "version": "2.0.1", "bundled": true, "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^1.0.0" } }, "builtins": { - "version": "1.0.3", - "bundled": true + "version": "5.0.1", + "bundled": true, + "requires": { + "semver": "^7.0.0" + } }, "cacache": { - "version": "15.3.0", + "version": "16.1.0", "bundled": true, "requires": { - "@npmcli/fs": "^1.0.0", - "@npmcli/move-file": "^1.0.1", + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", "minipass-collect": "^1.0.2", "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", "p-map": "^4.0.0", "promise-inflight": "^1.0.1", "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", "unique-filename": "^1.1.1" } }, @@ -14644,67 +14595,14 @@ "requires": { "string-width": "^4.2.3", "strip-ansi": "^6.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "bundled": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "bundled": true - }, - "string-width": { - "version": "4.2.3", - "bundled": 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", - "bundled": true, - "requires": { - "ansi-regex": "^5.0.1" - } - } } }, "cli-table3": { - "version": "0.6.0", + "version": "0.6.2", "bundled": true, "requires": { - "colors": "^1.1.2", - "object-assign": "^4.1.0", + "@colors/colors": "1.5.0", "string-width": "^4.2.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "bundled": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "bundled": true - }, - "string-width": { - "version": "4.2.2", - "bundled": 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", - "bundled": true, - "requires": { - "ansi-regex": "^5.0.0" - } - } } }, "clone": { @@ -14712,7 +14610,7 @@ "bundled": true }, "cmd-shim": { - "version": "4.1.0", + "version": "5.0.0", "bundled": true, "requires": { "mkdirp-infer-owner": "^2.0.0" @@ -14733,16 +14631,11 @@ "version": "1.1.3", "bundled": true }, - "colors": { - "version": "1.4.0", - "bundled": true, - "optional": true - }, "columnify": { - "version": "1.5.4", + "version": "1.6.0", "bundled": true, "requires": { - "strip-ansi": "^3.0.0", + "strip-ansi": "^6.0.1", "wcwidth": "^1.0.0" } }, @@ -14759,7 +14652,7 @@ "bundled": true }, "debug": { - "version": "4.3.2", + "version": "4.3.4", "bundled": true, "requires": { "ms": "2.1.2" @@ -14791,7 +14684,7 @@ "bundled": true }, "dezalgo": { - "version": "1.0.3", + "version": "1.0.4", "bundled": true, "requires": { "asap": "^2.0.0", @@ -14842,60 +14735,33 @@ "bundled": true }, "gauge": { - "version": "4.0.0", + "version": "4.0.4", "bundled": true, "requires": { - "ansi-regex": "^5.0.1", "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.2", - "console-control-strings": "^1.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", "has-unicode": "^2.0.1", - "signal-exit": "^3.0.0", + "signal-exit": "^3.0.7", "string-width": "^4.2.3", "strip-ansi": "^6.0.1", - "wide-align": "^1.1.2" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "bundled": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "bundled": true - }, - "string-width": { - "version": "4.2.3", - "bundled": 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", - "bundled": true, - "requires": { - "ansi-regex": "^5.0.1" - } - } + "wide-align": "^1.1.5" } }, "glob": { - "version": "7.2.0", + "version": "8.0.1", "bundled": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", + "minimatch": "^5.0.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "graceful-fs": { - "version": "4.2.8", + "version": "4.2.10", "bundled": true }, "has": { @@ -14914,10 +14780,10 @@ "bundled": true }, "hosted-git-info": { - "version": "4.1.0", + "version": "5.0.0", "bundled": true, "requires": { - "lru-cache": "^6.0.0" + "lru-cache": "^7.5.1" } }, "http-cache-semantics": { @@ -14925,16 +14791,16 @@ "bundled": true }, "http-proxy-agent": { - "version": "4.0.1", + "version": "5.0.0", "bundled": true, "requires": { - "@tootallnate/once": "1", + "@tootallnate/once": "2", "agent-base": "6", "debug": "4" } }, "https-proxy-agent": { - "version": "5.0.0", + "version": "5.0.1", "bundled": true, "requires": { "agent-base": "6", @@ -14957,10 +14823,10 @@ } }, "ignore-walk": { - "version": "4.0.1", + "version": "5.0.1", "bundled": true, "requires": { - "minimatch": "^3.0.4" + "minimatch": "^5.0.1" } }, "imurmurhash": { @@ -14988,24 +14854,24 @@ "bundled": true }, "ini": { - "version": "2.0.0", + "version": "3.0.0", "bundled": true }, "init-package-json": { - "version": "2.0.5", + "version": "3.0.2", "bundled": true, "requires": { - "npm-package-arg": "^8.1.5", + "npm-package-arg": "^9.0.1", "promzard": "^0.3.0", - "read": "~1.0.1", - "read-package-json": "^4.1.1", + "read": "^1.0.7", + "read-package-json": "^5.0.0", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4", - "validate-npm-package-name": "^3.0.0" + "validate-npm-package-name": "^4.0.0" } }, "ip": { - "version": "1.1.5", + "version": "1.1.8", "bundled": true }, "ip-regex": { @@ -15020,24 +14886,20 @@ } }, "is-core-module": { - "version": "2.8.0", + "version": "2.9.0", "bundled": true, "requires": { "has": "^1.0.3" } }, "is-fullwidth-code-point": { - "version": "2.0.0", + "version": "3.0.0", "bundled": true }, "is-lambda": { "version": "1.0.1", "bundled": true }, - "is-typedarray": { - "version": "1.0.0", - "bundled": true - }, "isexe": { "version": "2.0.0", "bundled": true @@ -15055,157 +14917,155 @@ "bundled": true }, "just-diff": { - "version": "5.0.1", + "version": "5.0.2", "bundled": true }, "just-diff-apply": { - "version": "4.0.1", + "version": "5.2.0", "bundled": true }, "libnpmaccess": { - "version": "5.0.0", + "version": "6.0.3", "bundled": true, "requires": { "aproba": "^2.0.0", "minipass": "^3.1.1", - "npm-package-arg": "^8.1.2", - "npm-registry-fetch": "^11.0.0" + "npm-package-arg": "^9.0.1", + "npm-registry-fetch": "^13.0.0" } }, "libnpmdiff": { - "version": "3.0.0", + "version": "4.0.3", "bundled": true, "requires": { - "@npmcli/disparity-colors": "^1.0.1", + "@npmcli/disparity-colors": "^2.0.0", "@npmcli/installed-package-contents": "^1.0.7", "binary-extensions": "^2.2.0", "diff": "^5.0.0", - "minimatch": "^3.0.4", - "npm-package-arg": "^8.1.4", - "pacote": "^12.0.0", + "minimatch": "^5.0.1", + "npm-package-arg": "^9.0.1", + "pacote": "^13.0.5", "tar": "^6.1.0" } }, "libnpmexec": { - "version": "3.0.2", + "version": "4.0.5", "bundled": true, "requires": { - "@npmcli/arborist": "^4.0.0", - "@npmcli/ci-detect": "^1.3.0", - "@npmcli/run-script": "^2.0.0", + "@npmcli/arborist": "^5.0.0", + "@npmcli/ci-detect": "^2.0.0", + "@npmcli/run-script": "^3.0.0", "chalk": "^4.1.0", "mkdirp-infer-owner": "^2.0.0", - "npm-package-arg": "^8.1.2", - "pacote": "^12.0.0", - "proc-log": "^1.0.0", + "npm-package-arg": "^9.0.1", + "npmlog": "^6.0.2", + "pacote": "^13.0.5", + "proc-log": "^2.0.0", "read": "^1.0.7", "read-package-json-fast": "^2.0.2", "walk-up-path": "^1.0.0" } }, "libnpmfund": { - "version": "2.0.2", + "version": "3.0.2", "bundled": true, "requires": { - "@npmcli/arborist": "^4.0.0" + "@npmcli/arborist": "^5.0.0" } }, "libnpmhook": { - "version": "7.0.0", + "version": "8.0.3", "bundled": true, "requires": { "aproba": "^2.0.0", - "npm-registry-fetch": "^11.0.0" + "npm-registry-fetch": "^13.0.0" } }, "libnpmorg": { - "version": "3.0.0", + "version": "4.0.3", "bundled": true, "requires": { "aproba": "^2.0.0", - "npm-registry-fetch": "^11.0.0" + "npm-registry-fetch": "^13.0.0" } }, "libnpmpack": { - "version": "3.0.1", + "version": "4.1.0", "bundled": true, "requires": { - "@npmcli/run-script": "^2.0.0", - "npm-package-arg": "^8.1.0", - "pacote": "^12.0.0" + "@npmcli/run-script": "^3.0.0", + "npm-package-arg": "^9.0.1", + "pacote": "^13.5.0" } }, "libnpmpublish": { - "version": "5.0.0", + "version": "6.0.4", "bundled": true, "requires": { - "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" + "normalize-package-data": "^4.0.0", + "npm-package-arg": "^9.0.1", + "npm-registry-fetch": "^13.0.0", + "semver": "^7.3.7", + "ssri": "^9.0.0" } }, "libnpmsearch": { - "version": "4.0.0", + "version": "5.0.3", "bundled": true, "requires": { - "npm-registry-fetch": "^11.0.0" + "npm-registry-fetch": "^13.0.0" } }, "libnpmteam": { - "version": "3.0.0", + "version": "4.0.3", "bundled": true, "requires": { "aproba": "^2.0.0", - "npm-registry-fetch": "^11.0.0" + "npm-registry-fetch": "^13.0.0" } }, "libnpmversion": { - "version": "2.0.2", + "version": "3.0.4", "bundled": true, "requires": { - "@npmcli/git": "^2.0.7", - "@npmcli/run-script": "^2.0.0", + "@npmcli/git": "^3.0.0", + "@npmcli/run-script": "^3.0.0", "json-parse-even-better-errors": "^2.3.1", - "semver": "^7.3.5", - "stringify-package": "^1.0.1" + "proc-log": "^2.0.0", + "semver": "^7.3.7" } }, "lru-cache": { - "version": "6.0.0", - "bundled": true, - "requires": { - "yallist": "^4.0.0" - } + "version": "7.9.0", + "bundled": true }, "make-fetch-happen": { - "version": "9.1.0", + "version": "10.1.5", "bundled": true, "requires": { - "agentkeepalive": "^4.1.3", - "cacache": "^15.2.0", + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^4.0.1", + "http-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0", "is-lambda": "^1.0.1", - "lru-cache": "^6.0.0", - "minipass": "^3.1.3", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.3.2", + "minipass-fetch": "^2.0.3", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.2", + "negotiator": "^0.6.3", "promise-retry": "^2.0.1", - "socks-proxy-agent": "^6.0.0", - "ssri": "^8.0.0" + "socks-proxy-agent": "^6.1.1", + "ssri": "^9.0.0" } }, "minimatch": { - "version": "3.0.4", + "version": "5.0.1", "bundled": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" } }, "minipass": { @@ -15223,13 +15083,13 @@ } }, "minipass-fetch": { - "version": "1.4.1", + "version": "2.1.0", "bundled": true, "requires": { - "encoding": "^0.1.12", - "minipass": "^3.1.0", + "encoding": "^0.1.13", + "minipass": "^3.1.6", "minipass-sized": "^1.0.3", - "minizlib": "^2.0.0" + "minizlib": "^2.1.2" } }, "minipass-flush": { @@ -15291,23 +15151,52 @@ "bundled": true }, "negotiator": { - "version": "0.6.2", + "version": "0.6.3", "bundled": true }, "node-gyp": { - "version": "8.4.1", + "version": "9.0.0", "bundled": true, "requires": { "env-paths": "^2.2.0", "glob": "^7.1.4", "graceful-fs": "^4.2.6", - "make-fetch-happen": "^9.1.0", + "make-fetch-happen": "^10.0.3", "nopt": "^5.0.0", "npmlog": "^6.0.0", "rimraf": "^3.0.2", "semver": "^7.3.5", "tar": "^6.1.2", "which": "^2.0.2" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "glob": { + "version": "7.2.0", + "bundled": 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" + } + }, + "minimatch": { + "version": "3.1.2", + "bundled": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } } }, "nopt": { @@ -15318,17 +15207,17 @@ } }, "normalize-package-data": { - "version": "3.0.3", + "version": "4.0.0", "bundled": 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" + "hosted-git-info": "^5.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" } }, "npm-audit-report": { - "version": "2.1.5", + "version": "3.0.0", "bundled": true, "requires": { "chalk": "^4.0.0" @@ -15342,7 +15231,7 @@ } }, "npm-install-checks": { - "version": "4.0.0", + "version": "5.0.0", "bundled": true, "requires": { "semver": "^7.1.1" @@ -15353,51 +15242,53 @@ "bundled": true }, "npm-package-arg": { - "version": "8.1.5", + "version": "9.0.2", "bundled": true, "requires": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" + "hosted-git-info": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^4.0.0" } }, "npm-packlist": { - "version": "3.0.0", + "version": "5.1.0", "bundled": true, "requires": { - "glob": "^7.1.6", - "ignore-walk": "^4.0.1", - "npm-bundled": "^1.1.1", + "glob": "^8.0.1", + "ignore-walk": "^5.0.1", + "npm-bundled": "^1.1.2", "npm-normalize-package-bin": "^1.0.1" } }, "npm-pick-manifest": { - "version": "6.1.1", + "version": "7.0.1", "bundled": true, "requires": { - "npm-install-checks": "^4.0.0", + "npm-install-checks": "^5.0.0", "npm-normalize-package-bin": "^1.0.1", - "npm-package-arg": "^8.1.2", - "semver": "^7.3.4" + "npm-package-arg": "^9.0.0", + "semver": "^7.3.5" } }, "npm-profile": { - "version": "5.0.4", + "version": "6.0.3", "bundled": true, "requires": { - "npm-registry-fetch": "^11.0.0" + "npm-registry-fetch": "^13.0.1", + "proc-log": "^2.0.0" } }, "npm-registry-fetch": { - "version": "11.0.0", + "version": "13.1.1", "bundled": true, "requires": { - "make-fetch-happen": "^9.0.1", - "minipass": "^3.1.3", - "minipass-fetch": "^1.3.0", + "make-fetch-happen": "^10.0.6", + "minipass": "^3.1.6", + "minipass-fetch": "^2.0.3", "minipass-json-stream": "^1.0.1", - "minizlib": "^2.0.0", - "npm-package-arg": "^8.0.0" + "minizlib": "^2.1.2", + "npm-package-arg": "^9.0.1", + "proc-log": "^2.0.0" } }, "npm-user-validate": { @@ -15405,19 +15296,15 @@ "bundled": true }, "npmlog": { - "version": "6.0.0", + "version": "6.0.2", "bundled": true, "requires": { - "are-we-there-yet": "^2.0.0", + "are-we-there-yet": "^3.0.0", "console-control-strings": "^1.1.0", - "gauge": "^4.0.0", + "gauge": "^4.0.3", "set-blocking": "^2.0.0" } }, - "object-assign": { - "version": "4.1.1", - "bundled": true - }, "once": { "version": "1.4.0", "bundled": true, @@ -15437,37 +15324,39 @@ } }, "pacote": { - "version": "12.0.2", + "version": "13.5.0", "bundled": true, "requires": { - "@npmcli/git": "^2.1.0", - "@npmcli/installed-package-contents": "^1.0.6", - "@npmcli/promise-spawn": "^1.2.0", - "@npmcli/run-script": "^2.0.0", - "cacache": "^15.0.5", + "@npmcli/git": "^3.0.0", + "@npmcli/installed-package-contents": "^1.0.7", + "@npmcli/promise-spawn": "^3.0.0", + "@npmcli/run-script": "^3.0.1", + "cacache": "^16.0.0", "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": "^3.0.0", - "npm-pick-manifest": "^6.0.0", - "npm-registry-fetch": "^11.0.0", + "minipass": "^3.1.6", + "mkdirp": "^1.0.4", + "npm-package-arg": "^9.0.0", + "npm-packlist": "^5.1.0", + "npm-pick-manifest": "^7.0.0", + "npm-registry-fetch": "^13.0.1", + "proc-log": "^2.0.0", "promise-retry": "^2.0.1", - "read-package-json-fast": "^2.0.1", + "read-package-json": "^5.0.0", + "read-package-json-fast": "^2.0.3", "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.1.0" + "ssri": "^9.0.0", + "tar": "^6.1.11" } }, "parse-conflict-json": { - "version": "2.0.1", + "version": "2.0.2", "bundled": true, "requires": { "json-parse-even-better-errors": "^2.3.1", "just-diff": "^5.0.1", - "just-diff-apply": "^4.0.1" + "just-diff-apply": "^5.2.0" } }, "path-is-absolute": { @@ -15475,7 +15364,7 @@ "bundled": true }, "proc-log": { - "version": "1.0.0", + "version": "2.0.1", "bundled": true }, "promise-all-reject-late": { @@ -15517,17 +15406,17 @@ } }, "read-cmd-shim": { - "version": "2.0.0", + "version": "3.0.0", "bundled": true }, "read-package-json": { - "version": "4.1.1", + "version": "5.0.1", "bundled": 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" + "glob": "^8.0.1", + "json-parse-even-better-errors": "^2.3.1", + "normalize-package-data": "^4.0.0", + "npm-normalize-package-bin": "^1.0.1" } }, "read-package-json-fast": { @@ -15566,6 +15455,35 @@ "bundled": true, "requires": { "glob": "^7.1.3" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "glob": { + "version": "7.2.0", + "bundled": 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" + } + }, + "minimatch": { + "version": "3.1.2", + "bundled": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } } }, "safe-buffer": { @@ -15578,10 +15496,19 @@ "optional": true }, "semver": { - "version": "7.3.5", + "version": "7.3.7", "bundled": true, "requires": { "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "bundled": true, + "requires": { + "yallist": "^4.0.0" + } + } } }, "set-blocking": { @@ -15589,7 +15516,7 @@ "bundled": true }, "signal-exit": { - "version": "3.0.6", + "version": "3.0.7", "bundled": true }, "smart-buffer": { @@ -15597,20 +15524,20 @@ "bundled": true }, "socks": { - "version": "2.6.1", + "version": "2.6.2", "bundled": true, "requires": { "ip": "^1.1.5", - "smart-buffer": "^4.1.0" + "smart-buffer": "^4.2.0" } }, "socks-proxy-agent": { - "version": "6.1.0", + "version": "6.2.0", "bundled": true, "requires": { "agent-base": "^6.0.2", - "debug": "^4.3.1", - "socks": "^2.6.1" + "debug": "^4.3.3", + "socks": "^2.6.2" } }, "spdx-correct": { @@ -15634,11 +15561,11 @@ } }, "spdx-license-ids": { - "version": "3.0.10", + "version": "3.0.11", "bundled": true }, "ssri": { - "version": "8.0.1", + "version": "9.0.1", "bundled": true, "requires": { "minipass": "^3.1.1" @@ -15652,35 +15579,19 @@ } }, "string-width": { - "version": "2.1.1", + "version": "4.2.3", "bundled": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "bundled": true - }, - "strip-ansi": { - "version": "4.0.0", - "bundled": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" } }, - "stringify-package": { - "version": "1.0.1", - "bundled": true - }, "strip-ansi": { - "version": "3.0.1", + "version": "6.0.1", "bundled": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "^5.0.1" } }, "supports-color": { @@ -15711,11 +15622,7 @@ "bundled": true }, "treeverse": { - "version": "1.0.4", - "bundled": true - }, - "typedarray-to-buffer": { - "version": "4.0.0", + "version": "2.0.0", "bundled": true }, "unique-filename": { @@ -15745,10 +15652,10 @@ } }, "validate-npm-package-name": { - "version": "3.0.0", + "version": "4.0.0", "bundled": true, "requires": { - "builtins": "^1.0.3" + "builtins": "^5.0.0" } }, "walk-up-path": { @@ -15770,10 +15677,10 @@ } }, "wide-align": { - "version": "1.1.3", + "version": "1.1.5", "bundled": true, "requires": { - "string-width": "^1.0.2 || 2" + "string-width": "^1.0.2 || 2 || 3 || 4" } }, "wrappy": { @@ -15781,13 +15688,11 @@ "bundled": true }, "write-file-atomic": { - "version": "4.0.0", + "version": "4.0.1", "bundled": true, "requires": { "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^4.0.0" + "signal-exit": "^3.0.7" } }, "yallist": { diff --git a/app/package.json b/app/package.json index f9d65c1e6..bae7b3619 100644 --- a/app/package.json +++ b/app/package.json @@ -76,7 +76,7 @@ "monaco-editor": "^0.20.0", "monaco-themes": "^0.3.3", "nanoid": "^3.1.31", - "npm": "^8.3.2", + "npm": "^8.11.0", "opentype.js": "^1.3.3", "pixi-particles": "4.3.1", "pixi.js": "5.3.11", From a8ad728c970613b968ce6e2ccbf950122e5ac82f Mon Sep 17 00:00:00 2001 From: Cosmo Myzrail Gorynych Date: Sun, 5 Jun 2022 17:06:22 +1200 Subject: [PATCH 006/128] :bug: Tiny visual fix for collapsible input groups in the template editor --- src/styl/tags/templates/template-editor.styl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/styl/tags/templates/template-editor.styl b/src/styl/tags/templates/template-editor.styl index 121dca987..f5acbdd62 100644 --- a/src/styl/tags/templates/template-editor.styl +++ b/src/styl/tags/templates/template-editor.styl @@ -44,3 +44,5 @@ template-editor margin-right 1rem .template-editor-aCodeEditor flex 1 1 auto +.template-editor-Properties extensions-editor > collapsible-section:first-child + margin-top 1rem From 247321037bbe2633b0d2f56a8c75e82c913f8a23 Mon Sep 17 00:00:00 2001 From: Cosmo Myzrail Gorynych Date: Sun, 5 Jun 2022 17:53:52 +1200 Subject: [PATCH 007/128] :bug: Update ct.matter: additional fields show only when physics are enabled for a template; fix physics breaking when additional rooms are appended to the current one --- .../matter/injections/beforeroomdraw.js | 10 ++++---- .../matter/injections/beforeroomoncreate.js | 10 ++++---- app/data/ct.libs/matter/module.json | 24 ++++++++++++------- 3 files changed, 28 insertions(+), 16 deletions(-) diff --git a/app/data/ct.libs/matter/injections/beforeroomdraw.js b/app/data/ct.libs/matter/injections/beforeroomdraw.js index ab489bd0a..29265212b 100644 --- a/app/data/ct.libs/matter/injections/beforeroomdraw.js +++ b/app/data/ct.libs/matter/injections/beforeroomdraw.js @@ -1,5 +1,7 @@ -if ([/*%matterUseStaticDeltaTime%*/][0] === false) { - Matter.Engine.update(ct.room.matterEngine, 1000 / ct.speed * ct.delta); -} else { - Matter.Engine.update(ct.room.matterEngine, 1000 / ct.speed); +if (this === ct.room) { + if ([/*%matterUseStaticDeltaTime%*/][0] === false) { + Matter.Engine.update(ct.room.matterEngine, 1000 / ct.speed * ct.delta); + } else { + Matter.Engine.update(ct.room.matterEngine, 1000 / ct.speed); + } } diff --git a/app/data/ct.libs/matter/injections/beforeroomoncreate.js b/app/data/ct.libs/matter/injections/beforeroomoncreate.js index 2905bb83b..5b114fff5 100644 --- a/app/data/ct.libs/matter/injections/beforeroomoncreate.js +++ b/app/data/ct.libs/matter/injections/beforeroomoncreate.js @@ -1,4 +1,6 @@ -ct.room.matterEngine = Matter.Engine.create(); -ct.room.matterWorld = ct.room.matterEngine.world; -ct.room.matterGravity = ct.room.matterGravity || [0, 9.8]; -[ct.room.matterWorld.gravity.x, ct.room.matterWorld.gravity.y] = ct.room.matterGravity; +if (this === ct.room) { + ct.room.matterEngine = Matter.Engine.create(); + ct.room.matterWorld = ct.room.matterEngine.world; + ct.room.matterGravity = ct.room.matterGravity || [0, 9.8]; + [ct.room.matterWorld.gravity.x, ct.room.matterWorld.gravity.y] = ct.room.matterGravity; +} diff --git a/app/data/ct.libs/matter/module.json b/app/data/ct.libs/matter/module.json index 0ea79029f..83119e1ad 100644 --- a/app/data/ct.libs/matter/module.json +++ b/app/data/ct.libs/matter/module.json @@ -4,7 +4,7 @@ "name_Ru": "Matter.js — библиотека физики", "tagline": "Add realtime 2D physics engine to your project.", "tagline_Ru": "Добавляет движок 2D физики в твой проект.", - "version": "1.0.0", + "version": "1.1.0", "authors": [{ "name": "Cosmo Myzrail Gorynych", "mail": "admin@nersta.ru" @@ -41,12 +41,14 @@ "name_Ru": "Сделать неподвижной", "type": "checkbox", "key": "matterStatic", - "default": false + "default": false, + "if": "matterEnable" }, { "name": "Is a sensor", "name_Ru": "Сделать сенсором", "type": "checkbox", "key": "matterSensor", + "if": "matterEnable", "default": false, "help": "When turned on, the copy won't prevent others' movement but will be able to trigger collisions", "help_Ru": "Копия не будет препятствовать передвижению других копий, но будет вызывать события столкновения" @@ -57,7 +59,8 @@ "key": "matterDensity", "help": "How each pixel of this object contributes to its mass. The larger and more dense an object, the more heavy it is.", "help_Ru": "Показывает, как каждый пиксель копии влияет на её массу. Чем выше, тем тяжелее получается копия.", - "default": 0.001 + "default": 0.001, + "if": "matterEnable" }, { "name": "Bounciness", "name_Ru": "Упругость", @@ -66,25 +69,29 @@ "default": 0.1, "min": 0, "max": 1, - "step": 0.1 + "step": 0.1, + "if": "matterEnable" }, { "name": "Friction", "name_Ru": "Трение", "type": "number", "key": "matterFriction", - "default": 1 + "default": 1, + "if": "matterEnable" }, { "name": "Static friction", "name_Ru": "Статичное трение", "type": "number", "key": "matterFrictionStatic", - "default": 0.1 + "default": 0.1, + "if": "matterEnable" }, { "name": "Air friction", "name_Ru": "Трение воздуха", "type": "number", "key": "matterFrictionAir", - "default": 0.01 + "default": 0.01, + "if": "matterEnable" }, { "name": "Fix pivot", "name_Ru": "Исправить ось вращения", @@ -93,7 +100,8 @@ "help": "Shifts the texture. Helps with polygonal shapes where the module cannot align center of mass and texture automatically.", "help_Ru": "Смещает текстуру. Помогает с многоугольниками, которым не получается расчитать центр масс автоматически.", "step": 1, - "default": [0, 0] + "default": [0, 0], + "if": "matterEnable" }] }, { "type": "group", From 31820a78cc166f80b6be65fa66bfed348bf0023b Mon Sep 17 00:00:00 2001 From: Cosmo Myzrail Gorynych Date: Sun, 5 Jun 2022 18:14:33 +1200 Subject: [PATCH 008/128] :sparkles: Add ct.rooms.restart() method --- app/data/ct.release/rooms.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/app/data/ct.release/rooms.js b/app/data/ct.release/rooms.js index 21c1d5c19..f8921fd86 100644 --- a/app/data/ct.release/rooms.js +++ b/app/data/ct.release/rooms.js @@ -185,6 +185,13 @@ Room.roomId = 0; } }, switching: false, + /** + * Restarts the current room. + * @returns {void} + */ + restart() { + ct.rooms.switch(ct.room.name); + }, /** * Creates a new room and adds it to the stage, separating its draw stack * from existing ones. From 9215af48425bf81d07dc7e7e2aa44432b78e63a7 Mon Sep 17 00:00:00 2001 From: Cosmo Myzrail Gorynych Date: Sun, 5 Jun 2022 18:15:04 +1200 Subject: [PATCH 009/128] :bento: Update 2DPhysics example with a restart button and ct.pointer in place of ct.mouse --- src/examples/2DPhysics.ict | 114 +++++++++++++++--- ...3-05bd-47e1-88d2-7dbf7bc3596b.png_prev.png | Bin 1733 -> 1746 bytes ...05bd-47e1-88d2-7dbf7bc3596b.png_prev@2.png | Bin 4620 -> 4633 bytes ...7-1265-4ba0-b5de-5226b3c7e2fb.png_prev.png | Bin 551 -> 564 bytes ...1265-4ba0-b5de-5226b3c7e2fb.png_prev@2.png | Bin 1316 -> 1329 bytes ...a-b640-44be-bded-26a5c030f542.png_prev.png | Bin 4158 -> 4171 bytes ...b640-44be-bded-26a5c030f542.png_prev@2.png | Bin 3701 -> 11954 bytes .../2DPhysics/img/im4gCbzCRD2DmNc.png | Bin 0 -> 2894 bytes .../img/im4gCbzCRD2DmNc.png_prev.png | Bin 0 -> 3223 bytes .../img/im4gCbzCRD2DmNc.png_prev@2.png | Bin 0 -> 12521 bytes src/examples/2DPhysics/img/r2d29a5c56244.png | Bin 43284 -> 36436 bytes .../2DPhysics/img/rHHMmHTwkf2B7K6.png | Bin 0 -> 7018 bytes src/examples/2DPhysics/img/splash.png | Bin 43284 -> 36436 bytes 13 files changed, 98 insertions(+), 16 deletions(-) create mode 100644 src/examples/2DPhysics/img/im4gCbzCRD2DmNc.png create mode 100644 src/examples/2DPhysics/img/im4gCbzCRD2DmNc.png_prev.png create mode 100644 src/examples/2DPhysics/img/im4gCbzCRD2DmNc.png_prev@2.png create mode 100644 src/examples/2DPhysics/img/rHHMmHTwkf2B7K6.png diff --git a/src/examples/2DPhysics.ict b/src/examples/2DPhysics.ict index f43cd31f4..cf349c04d 100644 --- a/src/examples/2DPhysics.ict +++ b/src/examples/2DPhysics.ict @@ -1,12 +1,21 @@ -ctjsVersion: 2.0.0 +ctjsVersion: 2.0.2 notes: /* empty */ libs: fittoscreen: mode: scaleFit - mouse: {} sound.howler: {} matter: matterUseStaticDeltaTime: true + pointer: + preventdefault: false + startlocked: false + filters: {} + place: + undefined: '' + gridX: 512 + gridY: 512 + debugMode: false + debugText: 16 textures: - name: WoodenPlank untill: 0 @@ -31,9 +40,9 @@ textures: top: 35 bottom: 35 uid: 9afd54d7-1265-4ba0-b5de-5226b3c7e2fb - padding: 1 + padding: 2 source: 'D:\Downloads\physicspack\PNG\Wood elements\elementWood012.png' - lastmod: 1616891166294 + lastmod: 1654408163741 - name: WoodenSquare untill: 0 grid: @@ -190,7 +199,7 @@ textures: top: 35 bottom: 35 uid: 0f0e39f3-05bd-47e1-88d2-7dbf7bc3596b - padding: 1 + padding: 2 source: 'D:\Downloads\physicspack\PNG\Wood elements\elementWood054.png' stripPoints: - x: -0.0 @@ -200,7 +209,7 @@ textures: - x: -70 'y': 26 closedStrip: true - lastmod: 1616891300000 + lastmod: 1654408191765 - name: elementMetal013 untill: 0 grid: @@ -276,10 +285,10 @@ textures: top: 35 bottom: 35 uid: c4d4030a-b640-44be-bded-26a5c030f542 - padding: 1 + padding: 2 source: 'D:\Downloads\physicspack\PNG\Metal elements\elementMetal001.png' r: 35 - lastmod: 1615704333828 + lastmod: 1654408158982 - name: elementMetal000 untill: 0 grid: @@ -426,6 +435,34 @@ textures: padding: 1 source: 'D:\Downloads\physicspack\PNG\Wood elements\elementWood047.png' lastmod: 1616891232841 + - lastmod: 1654404771715 + type: texture + name: Restart_icon_2 + untill: 0 + grid: + - 1 + - 1 + axis: + - 32 + - 32 + marginx: 0 + marginy: 0 + imgWidth: 64 + imgHeight: 64 + width: 64 + height: 64 + offx: 0 + offy: 0 + origname: im4gCbzCRD2DmNc.png + shape: rect + left: 32 + right: 32 + top: 32 + bottom: 32 + uid: m4gCbzCRD2DmNc + padding: 1 + group: ! '' + source: 'C:\Users\Master\Desktop\Restart icon 2.png' skeletons: [] templates: - name: Alien_Launched @@ -450,8 +487,9 @@ templates: matterRestitution: 0.7 matterMass: 5 matterDensity: 0.003 + matterConstraint: none uid: 556178d8-6886-4718-a5dd-b7dbf74e4547 - lastmod: 1616894158784 + lastmod: 1654408223996 - name: AlienTarget depth: 0 oncreate: this.tag = 'Alien'; @@ -567,7 +605,7 @@ templates: depth: 0 oncreate: '' onstep: |- - if (ct.actions.Pointer.pressed && ct.mouse.hovers(this)) { + if (ct.actions.Pointer.pressed && ct.pointer.hovers(this)) { ct.templates.copy('Alien_Dragging', this.x, this.y); } ondraw: '' @@ -575,7 +613,7 @@ templates: texture: 37dfad62-8372-4804-8416-765039343b61 extends: {} uid: 070d18cf-978a-4874-ba4d-1aadd0d4f58a - lastmod: 1616892056278 + lastmod: 1654408218293 - name: Alien_Dragging depth: 0 oncreate: '' @@ -598,8 +636,8 @@ templates: ondraw: | const slingshot = ct.templates.list['Slingshot'][0], maxLength = 150; - let dx = ct.mouse.x - slingshot.x, - dy = ct.mouse.y - slingshot.y, + let dx = ct.pointer.x - slingshot.x, + dy = ct.pointer.y - slingshot.y, l = ct.u.pdc(0, 0, dx, dy); if (l > maxLength) { @@ -615,7 +653,7 @@ templates: matterEnable: false matterRestitution: 0.7 uid: 5b9b41e7-52db-44a2-b5d2-016407e259dc - lastmod: 1616891549758 + lastmod: 1654405792950 - name: elementMetal013 depth: 0 oncreate: this.tag = 'Metal'; @@ -663,6 +701,22 @@ templates: - 4 uid: 82c03796-7419-4f22-944c-78c1209c6874 lastmod: 1616892936227 + - type: template + name: Restart + depth: 0 + oncreate: '' + onstep: |- + if (ct.pointer.collidesUi(this)) { + ct.rooms.restart(); + } + ondraw: '' + ondestroy: '' + texture: m4gCbzCRD2DmNc + visible: true + extends: + matterEnable: false + lastmod: 1654409652371 + uid: BRwkF4JP8WdfKd sounds: - name: Impact_Wooden uid: ccfe7f50-d4d3-4570-95e9-75d5d73bef0a @@ -680,6 +734,8 @@ styles: [] rooms: - name: HolericAliens oncreate: | + ct.rooms.append('UI_Restart'); + // Listen for collisions in the world ct.matter.on('collisionStart', e => { // Loop over every collision in a frame @@ -969,11 +1025,36 @@ rooms: - 1 gridX: 70 gridY: 70 - lastmod: 1616896076747 + lastmod: 1654408340514 + - type: room + oncreate: '' + onstep: '' + ondraw: '' + onleave: '' + gridX: 64 + gridY: 64 + width: 1640 + height: 900 + name: UI_Restart + backgrounds: [] + copies: + - x: 64 + 'y': 64 + uid: BRwkF4JP8WdfKd + exts: {} + tiles: + - depth: -10 + tiles: [] + extends: {} + extends: + isUi: true + lastmod: 1654405717648 + thumbnail: HHMmHTwkf2B7K6 + uid: HHMmHTwkf2B7K6 actions: - name: Pointer methods: - - code: mouse.Left + - code: pointer.Any emitterTandems: - name: FX_Burst origname: pta85a19f1cde1 @@ -1059,6 +1140,7 @@ emitterTandems: uid: 02de95c8-e4d6-41a2-aced-793d64657985 showShapeVisualizer: false previewTexture: 6c8a3edf-d5fe-4916-b63c-2201c099d28f + uid: pta85a19f1cde1 scripts: [] starting: 0 settings: diff --git a/src/examples/2DPhysics/img/i0f0e39f3-05bd-47e1-88d2-7dbf7bc3596b.png_prev.png b/src/examples/2DPhysics/img/i0f0e39f3-05bd-47e1-88d2-7dbf7bc3596b.png_prev.png index c5d23a2bf88358a8841311461af87537f2c7a676..b52ebdab47f63bd1711f348cfddab3258f9796b1 100644 GIT binary patch delta 22 ecmX@gdx>{~GB*Qbage(c!@6@aFE=VKVFLhEu?M^W delta 10 Rcmcb_dz5#A@!u%1N;C0 diff --git a/src/examples/2DPhysics/img/i9afd54d7-1265-4ba0-b5de-5226b3c7e2fb.png_prev.png b/src/examples/2DPhysics/img/i9afd54d7-1265-4ba0-b5de-5226b3c7e2fb.png_prev.png index 2900a26e4592c2d79a9c55f148c866fdc09e449d..280360d5d5bc536f0d2c9abc34e7d9e9186fe48c 100644 GIT binary patch delta 22 ecmZ3^vV~=WGB*Qbage(c!@6@aFE=W(F#!Ng9R|z* delta 10 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 literal 3701 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 literal 0 HcmV?d00001 diff --git a/src/examples/2DPhysics/img/im4gCbzCRD2DmNc.png_prev.png b/src/examples/2DPhysics/img/im4gCbzCRD2DmNc.png_prev.png new file mode 100644 index 0000000000000000000000000000000000000000..a6c0f2aa4e18b266b40af518b4540aedcc9a360d GIT binary patch literal 3223 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 JPDHLkV1jt72tEJ+ literal 0 HcmV?d00001 diff --git a/src/examples/2DPhysics/img/im4gCbzCRD2DmNc.png_prev@2.png b/src/examples/2DPhysics/img/im4gCbzCRD2DmNc.png_prev@2.png new file mode 100644 index 0000000000000000000000000000000000000000..ffd5dc90deae8edf66974ab6af88539d898bcc0d GIT binary patch literal 12521 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 literal 0 HcmV?d00001 diff --git a/src/examples/2DPhysics/img/r2d29a5c56244.png b/src/examples/2DPhysics/img/r2d29a5c56244.png index e7749ae9cec91001b6d2df36845bc6696ea5e0e1..9503e32eb9c9ce3b1dd115fc9202ef2aaaffd967 100644 GIT binary patch literal 36436 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 D7G@hh literal 43284 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 literal 0 HcmV?d00001 diff --git a/src/examples/2DPhysics/img/splash.png b/src/examples/2DPhysics/img/splash.png index e7749ae9cec91001b6d2df36845bc6696ea5e0e1..9503e32eb9c9ce3b1dd115fc9202ef2aaaffd967 100644 GIT binary patch literal 36436 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 D7G@hh literal 43284 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 Date: Thu, 9 Jun 2022 20:53:17 +1200 Subject: [PATCH 010/128] :bug: Fix ct.delta behaving incorrectly if ct.speed is changed (It is actually a band-aid over pixi.js' issue, buuut oh well) --- app/data/ct.release/main.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/data/ct.release/main.js b/app/data/ct.release/main.js index ef9e4698b..65bce4389 100644 --- a/app/data/ct.release/main.js +++ b/app/data/ct.release/main.js @@ -534,8 +534,8 @@ ct.u.ext(ct.u, {// make aliases } }; - ct.loop = function loop(delta) { - ct.delta = delta; + ct.loop = function loop() { + ct.delta = ct.pixiApp.ticker.deltaMS / (1000 / (ct.pixiApp.ticker.maxFPS || 60)); ct.deltaUi = ct.pixiApp.ticker.elapsedMS / (1000 / (ct.pixiApp.ticker.maxFPS || 60)); ct.inputs.updateActions(); ct.timer.updateTimers(); From c97fda8edb7257ed37a3decfbb903d55d729e622 Mon Sep 17 00:00:00 2001 From: Cosmo Myzrail Gorynych Date: Thu, 9 Jun 2022 22:12:32 +1200 Subject: [PATCH 011/128] :bug: Change the "Create a template from it" for skeletal animations so it actually works --- src/riotTags/textures/textures-panel.tag | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/riotTags/textures/textures-panel.tag b/src/riotTags/textures/textures-panel.tag index 30b3cf5db..634624c09 100644 --- a/src/riotTags/textures/textures-panel.tag +++ b/src/riotTags/textures/textures-panel.tag @@ -238,7 +238,16 @@ textures-panel.aPanel.aView click: () => { const templatesAPI = require('./data/node_requires/resources/templates/'); const template = templatesAPI.createNewTemplate(this.currentTexture.name); - template.texture = this.currentTexture.uid; + if (this.currentTextureType === 'skeleton') { + template.oncreate = '// You can set a regular texture to make a collision mask;\n' + + '// ct.js doesn\'t support collisions and in-editor display of skeletal animations yet!\n' + + `this.skel = ct.res.makeSkeleton('${this.currentTexture.name}');\n` + + 'this.skel.animation.play(\'DefaultAnimation\');\n' + + 'this.addChild(this.skel);\n' + + 'this.tex = -1; // This will hide the copy\'s own sprite'; + } else { + template.texture = this.currentTexture.uid; + } window.orders.trigger('openAsset', `templates/${template.uid}`); } }, { From 4dbaa1b8c9de88c6b09359f5d2c16eeeee8f1e0d Mon Sep 17 00:00:00 2001 From: Cosmo Myzrail Gorynych Date: Thu, 9 Jun 2022 22:14:50 +1200 Subject: [PATCH 012/128] :bug: ct.res must wait for skeletal animations to finish loading before starting the game --- app/data/ct.release/res.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/data/ct.release/res.js b/app/data/ct.release/res.js index b78b47d1b..f00c43f40 100644 --- a/app/data/ct.release/res.js +++ b/app/data/ct.release/res.js @@ -198,7 +198,7 @@ loadingPromises.push(ct.res.loadBitmapFont(bitmapFonts[font], font)); } for (const skel of dbSkeletons) { - ct.res.loadDragonBonesSkeleton(...skel); + loadingPromises.push(ct.res.loadDragonBonesSkeleton(...skel)); } for (const sound of sounds) { From b1611f39905f42d2b150dd18f74acb5787da1f66 Mon Sep 17 00:00:00 2001 From: Cosmo Myzrail Gorynych Date: Thu, 9 Jun 2022 22:32:27 +1200 Subject: [PATCH 013/128] :hankey: Fix npm ci problems --- package-lock.json | 4548 +++++++++++++++++---------------------------- 1 file changed, 1708 insertions(+), 2840 deletions(-) diff --git a/package-lock.json b/package-lock.json index ce0223970..85eb2771e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ctjsbuildenvironment", - "version": "2.0.1", + "version": "2.0.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "ctjsbuildenvironment", - "version": "2.0.1", + "version": "2.0.2", "license": "MIT", "dependencies": { "@types/css-font-loading-module": "0.0.7", @@ -171,6 +171,27 @@ "node": ">= 0.10" } }, + "node_modules/@malept/cross-spawn-promise": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz", + "integrity": "sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" + } + ], + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "engines": { + "node": ">= 10" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", @@ -362,6 +383,25 @@ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==" }, + "node_modules/@types/linkify-it": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.2.tgz", + "integrity": "sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==" + }, + "node_modules/@types/markdown-it": { + "version": "12.2.3", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz", + "integrity": "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==", + "dependencies": { + "@types/linkify-it": "*", + "@types/mdurl": "*" + } + }, + "node_modules/@types/mdurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.2.tgz", + "integrity": "sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==" + }, "node_modules/@types/minimist": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", @@ -391,6 +431,15 @@ "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==", "dev": true }, + "node_modules/@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.4.1.tgz", @@ -783,11 +832,11 @@ } }, "node_modules/ansi-align": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", - "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", "dependencies": { - "string-width": "^2.0.0" + "string-width": "^4.1.0" } }, "node_modules/ansi-colors": { @@ -926,37 +975,48 @@ } }, "node_modules/archiver": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-2.1.1.tgz", - "integrity": "sha1-/2YrSnggFJSj7lRNOjP+dJZQnrw=", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.1.tgz", + "integrity": "sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w==", "dependencies": { - "archiver-utils": "^1.3.0", - "async": "^2.0.0", + "archiver-utils": "^2.1.0", + "async": "^3.2.3", "buffer-crc32": "^0.2.1", - "glob": "^7.0.0", - "lodash": "^4.8.0", - "readable-stream": "^2.0.0", - "tar-stream": "^1.5.0", - "zip-stream": "^1.2.0" + "readable-stream": "^3.6.0", + "readdir-glob": "^1.0.0", + "tar-stream": "^2.2.0", + "zip-stream": "^4.1.0" }, "engines": { - "node": ">= 4" + "node": ">= 10" } }, "node_modules/archiver-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz", - "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", + "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", "dependencies": { - "glob": "^7.0.0", - "graceful-fs": "^4.1.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.0", "lazystream": "^1.0.0", - "lodash": "^4.8.0", - "normalize-path": "^2.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", "readable-stream": "^2.0.0" }, "engines": { - "node": ">= 0.10.0" + "node": ">= 6" + } + }, + "node_modules/archiver-utils/node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" } }, "node_modules/archiver-utils/node_modules/process-nextick-args": { @@ -987,39 +1047,9 @@ } }, "node_modules/archiver/node_modules/async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "dependencies": { - "lodash": "^4.17.14" - } - }, - "node_modules/archiver/node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "node_modules/archiver/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "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/archiver/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" }, "node_modules/archy": { "version": "1.0.0", @@ -1429,9 +1459,9 @@ } }, "node_modules/base/node_modules/kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "engines": { "node": ">=0.10.0" } @@ -1480,39 +1510,13 @@ } }, "node_modules/bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "dependencies": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/bl/node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "node_modules/bl/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "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/bl/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "dependencies": { - "safe-buffer": "~5.1.0" + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, "node_modules/bluebird": { @@ -1526,63 +1530,96 @@ "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" }, "node_modules/boxen": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", - "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", + "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", "dependencies": { - "ansi-align": "^2.0.0", - "camelcase": "^4.0.0", - "chalk": "^2.0.1", - "cli-boxes": "^1.0.0", - "string-width": "^2.0.0", - "term-size": "^1.2.0", - "widest-line": "^2.0.0" + "ansi-align": "^3.0.0", + "camelcase": "^6.2.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.1", + "string-width": "^4.2.2", + "type-fest": "^0.20.2", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/boxen/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, + "node_modules/boxen/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==", "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/boxen/node_modules/camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/boxen/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/boxen/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/boxen/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==", "dependencies": { - "has-flag": "^3.0.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" + } + }, + "node_modules/boxen/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/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==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "node_modules/brace-expansion": { @@ -1597,7 +1634,7 @@ "node_modules/braces": { "version": "1.8.5", "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "integrity": "sha512-xU7bpz2ytJl1bH9cgIurjpg/n8Gohy9GTw81heDYLJQ4RU60dlyJsa+atVF2pI0yMMvKxI9HkKwjePCj5XI1hw==", "dependencies": { "expand-range": "^1.8.1", "preserve": "^0.2.0", @@ -1608,28 +1645,28 @@ } }, "node_modules/buffer": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", - "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", - "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" - } - }, - "node_modules/buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "dependencies": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "node_modules/buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" - }, "node_modules/buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", @@ -1646,11 +1683,6 @@ "node": ">=0.4.0" } }, - "node_modules/buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" - }, "node_modules/buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", @@ -1708,20 +1740,6 @@ "node": ">=8" } }, - "node_modules/cacheable-request/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==", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/cacheable-request/node_modules/lowercase-keys": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", @@ -1730,15 +1748,6 @@ "node": ">=8" } }, - "node_modules/cacheable-request/node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -1794,14 +1803,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/capture-stack-trace": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", - "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", @@ -2149,7 +2150,7 @@ "node_modules/chokidar/node_modules/glob-parent": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", "dependencies": { "is-glob": "^3.1.0", "path-dirname": "^1.0.0" @@ -2335,9 +2336,9 @@ "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" }, "node_modules/ci-info": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", - "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" }, "node_modules/class-utils": { "version": "0.3.6", @@ -2373,11 +2374,14 @@ } }, "node_modules/cli-boxes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", - "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", - "engines": { - "node": ">=0.10.0" + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/cli-cursor": { @@ -2436,7 +2440,7 @@ "node_modules/clone-response": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "integrity": "sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==", "dependencies": { "mimic-response": "^1.0.0" } @@ -2547,44 +2551,25 @@ "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" }, "node_modules/compress-commons": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz", - "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz", + "integrity": "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==", "dependencies": { - "buffer-crc32": "^0.2.1", - "crc32-stream": "^2.0.0", - "normalize-path": "^2.0.0", - "readable-stream": "^2.0.0" + "buffer-crc32": "^0.2.13", + "crc32-stream": "^4.0.2", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" }, "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/compress-commons/node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "node_modules/compress-commons/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "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": ">= 10" } }, - "node_modules/compress-commons/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" + "node_modules/compress-commons/node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" } }, "node_modules/concat-map": { @@ -2650,19 +2635,19 @@ } }, "node_modules/configstore": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.5.tgz", - "integrity": "sha512-nlOhI4+fdzoK5xmJ+NY+1gZK56bwEaWZr8fYuXohZ9Vkc1o3a4T/R3M+yE/w7x/ZVJ1zF8c+oaOvF0dztdUgmA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", + "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", "dependencies": { - "dot-prop": "^4.2.1", + "dot-prop": "^5.2.0", "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "unique-string": "^1.0.0", - "write-file-atomic": "^2.0.0", - "xdg-basedir": "^3.0.0" + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/constantinople": { @@ -2709,80 +2694,126 @@ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, - "node_modules/crc": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", - "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", - "dependencies": { - "buffer": "^5.1.0" + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" } }, "node_modules/crc32-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz", - "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz", + "integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==", "dependencies": { - "crc": "^3.4.4", - "readable-stream": "^2.0.0" + "crc-32": "^1.2.0", + "readable-stream": "^3.4.0" }, "engines": { - "node": ">= 0.10.0" + "node": ">= 10" } }, - "node_modules/crc32-stream/node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "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==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } }, - "node_modules/crc32-stream/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "node_modules/cross-spawn-windows-exe": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/cross-spawn-windows-exe/-/cross-spawn-windows-exe-1.2.0.tgz", + "integrity": "sha512-mkLtJJcYbDCxEG7Js6eUnUNndWjyUZwJ3H7bErmmtOYU/Zb99DyUkpamuIZE0b3bhmJyZ7D90uS6f+CGxRRjOw==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-cross-spawn-windows-exe?utm_medium=referral&utm_source=npm_fund" + } + ], "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" + "@malept/cross-spawn-promise": "^1.1.0", + "is-wsl": "^2.2.0", + "which": "^2.0.2" + }, + "engines": { + "node": ">= 10" } }, - "node_modules/crc32-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/cross-spawn-windows-exe/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dependencies": { - "safe-buffer": "~5.1.0" + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/create-error-class": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", - "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", + "node_modules/cross-spawn/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/cross-spawn/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==", "dependencies": { - "capture-stack-trace": "^1.0.0" + "shebang-regex": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "node_modules/cross-spawn/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dependencies": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, "node_modules/crypto-random-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", - "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/css": { @@ -2807,7 +2838,7 @@ "node_modules/css-select": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "integrity": "sha512-dUQOBoqdR7QwV90WysXPLXG5LO7nhYBgiWVfxF80DKPF8zx1t/pUd2FYy73emg3zrjtM6dzmYgbHKfV2rxiHQA==", "dependencies": { "boolbase": "~1.0.0", "css-what": "2.1", @@ -2918,7 +2949,7 @@ "node_modules/decompress-response": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", "dependencies": { "mimic-response": "^1.0.0" }, @@ -3081,9 +3112,9 @@ } }, "node_modules/deprecate": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/deprecate/-/deprecate-1.0.0.tgz", - "integrity": "sha1-ZhSQ7SQokWpsiIPYg05WRvTkpKg=" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deprecate/-/deprecate-1.1.1.tgz", + "integrity": "sha512-ZGDXefq1xknT292LnorMY5s8UVU08/WKdzDZCUT6t9JzsiMSP4uzUhgpqugffNVcT5WC6wMBiSQ+LFjlv3v7iQ==" }, "node_modules/deprecation": { "version": "2.3.1", @@ -3173,20 +3204,28 @@ } }, "node_modules/dot-prop": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.1.tgz", - "integrity": "sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", "dependencies": { - "is-obj": "^1.0.0" + "is-obj": "^2.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" + } + }, + "node_modules/dot-prop/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==", + "engines": { + "node": ">=8" } }, "node_modules/duplexer3": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" + "integrity": "sha512-CEj8FwwNA4cVH2uFCoHUrmojhYh1vmCdOaneKJXwkeY1i9jnlslVo9dx+hQ5Hl9GnH/Bwy/IjxAyOePyPKYnzA==" }, "node_modules/duplexify": { "version": "3.6.0", @@ -3317,6 +3356,14 @@ "es6-symbol": "^3.1.1" } }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, "node_modules/escape-goat": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", @@ -3437,9 +3484,9 @@ } }, "node_modules/eslint/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "engines": { "node": ">=6" } @@ -3685,23 +3732,6 @@ "es5-ext": "~0.10.14" } }, - "node_modules/execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "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" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/expand-brackets": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", @@ -3801,27 +3831,45 @@ } }, "node_modules/extract-zip": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", - "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", "dependencies": { - "concat-stream": "^1.6.2", - "debug": "^2.6.9", - "mkdirp": "^0.5.4", + "debug": "^4.1.1", + "get-stream": "^5.1.0", "yauzl": "^2.10.0" }, "bin": { "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" } }, "node_modules/extract-zip/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dependencies": { - "ms": "2.0.0" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, + "node_modules/extract-zip/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/extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", @@ -3969,7 +4017,7 @@ "node_modules/fd-slicer": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", "dependencies": { "pend": "~1.2.0" } @@ -4610,11 +4658,6 @@ "node": ">=10" } }, - "node_modules/fs-extra/node_modules/graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" - }, "node_modules/fs-extra/node_modules/jsonfile": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", @@ -5315,11 +5358,17 @@ "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" }, "node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dependencies": { + "pump": "^3.0.0" + }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/get-value": { @@ -5357,7 +5406,7 @@ "node_modules/glob-base": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "integrity": "sha512-ab1S1g1EbO7YzauaJLkgLp7DZVAqj9M/dvKlTt8DkXA2tiOIcSMrlVI2J1RZyB5iJVccEscjGn+kpOG9788MHA==", "dependencies": { "glob-parent": "^2.0.0", "is-glob": "^2.0.0" @@ -5369,7 +5418,7 @@ "node_modules/glob-parent": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "integrity": "sha512-JDYOvfxio/t42HKdxkAYaCiBN7oYiuxykOxKxdaUW5Qn0zaYN3gRQWolrwdnf0shM9/EP0ebuuTmyoXNr1cC5w==", "dependencies": { "is-glob": "^2.0.0" } @@ -5377,7 +5426,7 @@ "node_modules/glob-stream": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz", - "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=", + "integrity": "sha512-uMbLGAP3S2aDOHUDfdoYcdIePUCfysbAd0IAoWVZbeGU/oNQ8asHVSshLDJUPWxfzj8zsCG7/XeHPHTtow0nsw==", "dependencies": { "extend": "^3.0.0", "glob": "^7.1.1", @@ -5397,7 +5446,7 @@ "node_modules/glob-stream/node_modules/glob-parent": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", "dependencies": { "is-glob": "^3.1.0", "path-dirname": "^1.0.0" @@ -5450,15 +5499,16 @@ } }, "node_modules/glob-watcher": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.3.tgz", - "integrity": "sha512-8tWsULNEPHKQ2MR4zXuzSmqbdyV5PtwwCaWSGQ1WwHsJ07ilNeN1JB8ntxhckbnpSHaf9dXFUHzIWvm1I13dsg==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.5.tgz", + "integrity": "sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw==", "dependencies": { "anymatch": "^2.0.0", "async-done": "^1.2.0", "chokidar": "^2.0.0", "is-negated-glob": "^1.0.0", "just-debounce": "^1.0.0", + "normalize-path": "^3.0.0", "object.defaults": "^1.1.0" }, "engines": { @@ -5474,6 +5524,17 @@ "normalize-path": "^2.1.1" } }, + "node_modules/glob-watcher/node_modules/anymatch/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==", + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/glob-watcher/node_modules/arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", @@ -5764,9 +5825,9 @@ } }, "node_modules/glob-watcher/node_modules/kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "engines": { "node": ">=0.10.0" } @@ -5794,15 +5855,34 @@ "node": ">=0.10.0" } }, + "node_modules/glob-watcher/node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/global-dirs": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", - "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", + "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==", "dependencies": { - "ini": "^1.3.4" + "ini": "2.0.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/global-dirs/node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "engines": { + "node": ">=10" } }, "node_modules/global-modules": { @@ -5886,34 +5966,42 @@ } }, "node_modules/got": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", - "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", "dependencies": { - "create-error-class": "^3.0.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-redirect": "^1.0.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "lowercase-keys": "^1.0.0", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "unzip-response": "^2.0.1", - "url-parse-lax": "^1.0.0" - }, + "@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": ">=4" + "node": ">=8.6" } }, - "node_modules/graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "node_modules/got/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==", + "dependencies": { + "pump": "^3.0.0" + }, "engines": { - "node": ">=0.4.0" + "node": ">=6" } }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, "node_modules/graceful-fs-extra": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/graceful-fs-extra/-/graceful-fs-extra-2.0.0.tgz", @@ -5998,9 +6086,9 @@ } }, "node_modules/gulp-changed": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/gulp-changed/-/gulp-changed-4.0.2.tgz", - "integrity": "sha512-rAvQt+ByaqrMuJLwucvxC+MC02Vh8ksiJ16hoQlk4xnmlHiLJMque2aXXQMmyocQac3RIjNRcyr7iG1TNH15GA==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gulp-changed/-/gulp-changed-4.0.3.tgz", + "integrity": "sha512-oIymgTNmmIvdqRRpdtohmELix81q+CA/D9DgVCvaM4Ulai0xgalf+XS6A95JwskbxRGQKtzzhMmdWZEuikX67w==", "dependencies": { "make-dir": "^3.0.0", "plugin-error": "^1.0.1", @@ -6020,20 +6108,6 @@ } } }, - "node_modules/gulp-changed/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==", - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/gulp-changed/node_modules/replace-ext": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", @@ -6042,14 +6116,6 @@ "node": ">= 0.10" } }, - "node_modules/gulp-changed/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/gulp-changed/node_modules/through2": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", @@ -6440,11 +6506,11 @@ } }, "node_modules/gulp-zip": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/gulp-zip/-/gulp-zip-5.0.1.tgz", - "integrity": "sha512-M/IWLh9RvOpuofDZkgDirtiyz9J3yIqnDOJ3muzk2D/XnZ1ruqPlPLRIpXnl/aZU+xXwKPdOIxjRzkUcVEQyZQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/gulp-zip/-/gulp-zip-5.1.0.tgz", + "integrity": "sha512-XZr/y91IliK/SpR74g3TkZejGkGEmK7CSDjSghT1jXshgO+dFvpLIz9w9fpuwkew6i7k4F+G24TubNgq1ISzEw==", "dependencies": { - "get-stream": "^5.1.0", + "get-stream": "^5.2.0", "plugin-error": "^1.0.1", "through2": "^3.0.1", "vinyl": "^2.1.0", @@ -6462,26 +6528,6 @@ } } }, - "node_modules/gulp-zip/node_modules/get-stream": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", - "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/gulp-zip/node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, "node_modules/gulp-zip/node_modules/through2": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", @@ -6597,11 +6643,12 @@ } }, "node_modules/gulp/node_modules/yargs-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", - "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.1.tgz", + "integrity": "sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA==", "dependencies": { - "camelcase": "^3.0.0" + "camelcase": "^3.0.0", + "object.assign": "^4.1.0" } }, "node_modules/gulplog": { @@ -6949,27 +6996,6 @@ "node": ">=8" } }, - "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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/inquirer/node_modules/strip-ansi": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", @@ -7054,11 +7080,11 @@ } }, "node_modules/is-ci": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", - "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", "dependencies": { - "ci-info": "^1.5.0" + "ci-info": "^2.0.0" }, "bin": { "is-ci": "bin.js" @@ -7198,15 +7224,18 @@ } }, "node_modules/is-installed-globally": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", - "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", "dependencies": { - "global-dirs": "^0.1.0", - "is-path-inside": "^1.0.0" + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-interactive": { @@ -7229,11 +7258,14 @@ } }, "node_modules/is-npm": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", - "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", + "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==", "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-number": { @@ -7280,14 +7312,11 @@ } }, "node_modules/is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", - "dependencies": { - "path-is-inside": "^1.0.1" - }, + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/is-plain-obj": { @@ -7338,14 +7367,6 @@ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" }, - "node_modules/is-redirect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", - "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-reference": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.1.tgz", @@ -7379,22 +7400,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-retry-allowed": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", - "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", @@ -7534,24 +7539,25 @@ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" }, "node_modules/jsdoc": { - "version": "3.6.7", - "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.7.tgz", - "integrity": "sha512-sxKt7h0vzCd+3Y81Ey2qinupL6DpRSZJclS04ugHDNmRUXGzqicMJ6iwayhSA0S0DwwX30c5ozyUthr1QKF6uw==", + "version": "3.6.10", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.10.tgz", + "integrity": "sha512-IdQ8ppSo5LKZ9o3M+LKIIK8i00DIe5msDvG3G81Km+1dhy0XrOWD0Ji8H61ElgyEj/O9KRLokgKbAM9XX9CJAg==", "dependencies": { "@babel/parser": "^7.9.4", + "@types/markdown-it": "^12.2.3", "bluebird": "^3.7.2", "catharsis": "^0.9.0", "escape-string-regexp": "^2.0.0", - "js2xmlparser": "^4.0.1", - "klaw": "^3.0.0", - "markdown-it": "^10.0.0", - "markdown-it-anchor": "^5.2.7", - "marked": "^2.0.3", + "js2xmlparser": "^4.0.2", + "klaw": "^4.0.1", + "markdown-it": "^12.3.2", + "markdown-it-anchor": "^8.4.1", + "marked": "^4.0.10", "mkdirp": "^1.0.4", "requizzle": "^0.2.3", "strip-json-comments": "^3.1.0", "taffydb": "2.6.2", - "underscore": "~1.13.1" + "underscore": "~1.13.2" }, "bin": { "jsdoc": "jsdoc.js" @@ -7609,11 +7615,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/jsdoc-x/node_modules/graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" - }, "node_modules/jsdoc-x/node_modules/tmp": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz", @@ -7658,7 +7659,7 @@ "node_modules/json-buffer": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" + "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==" }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", @@ -7666,9 +7667,9 @@ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, "node_modules/json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" }, "node_modules/json-schema-traverse": { "version": "0.4.1", @@ -7694,17 +7695,17 @@ } }, "node_modules/jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "engines": [ - "node >=0.6.0" - ], + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", "dependencies": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", - "json-schema": "0.2.3", + "json-schema": "0.4.0", "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" } }, "node_modules/jstransformer": { @@ -7741,11 +7742,11 @@ } }, "node_modules/klaw": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", - "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", - "dependencies": { - "graceful-fs": "^4.1.9" + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-4.0.1.tgz", + "integrity": "sha512-pgsE40/SvC7st04AHiISNewaIMUbY5V/K8b21ekiPiFoYs/EYSdsGa+FJArB1d441uq4Q8zZyIxvAzkGNlBdRw==", + "engines": { + "node": ">=14.14.0" } }, "node_modules/last-run": { @@ -7761,14 +7762,14 @@ } }, "node_modules/latest-version": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", - "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", + "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", "dependencies": { - "package-json": "^4.0.0" + "package-json": "^6.3.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/lazy-cache": { @@ -7779,14 +7780,6 @@ "node": ">=0.10.0" } }, - "node_modules/lazy-req": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lazy-req/-/lazy-req-2.0.0.tgz", - "integrity": "sha1-yUUKNj7N2i5vDHATKtTzf48G8rQ=", - "engines": { - "node": ">=4" - } - }, "node_modules/lazystream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", @@ -7883,9 +7876,9 @@ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, "node_modules/linkify-it": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", - "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", + "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", "dependencies": { "uc.micro": "^1.0.1" } @@ -8059,6 +8052,11 @@ "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, "node_modules/lodash.keys": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", @@ -8192,12 +8190,14 @@ } }, "node_modules/lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, "node_modules/lru-queue": { @@ -8209,22 +8209,25 @@ } }, "node_modules/make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "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==", "dependencies": { - "pify": "^3.0.0" + "semver": "^6.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/make-dir/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "engines": { - "node": ">=4" + "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==", + "bin": { + "semver": "bin/semver.js" } }, "node_modules/make-iterator": { @@ -8277,13 +8280,13 @@ } }, "node_modules/markdown-it": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-10.0.0.tgz", - "integrity": "sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==", + "version": "12.3.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", + "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", "dependencies": { - "argparse": "^1.0.7", - "entities": "~2.0.0", - "linkify-it": "^2.0.0", + "argparse": "^2.0.1", + "entities": "~2.1.0", + "linkify-it": "^3.0.1", "mdurl": "^1.0.1", "uc.micro": "^1.0.5" }, @@ -8292,27 +8295,36 @@ } }, "node_modules/markdown-it-anchor": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-5.3.0.tgz", - "integrity": "sha512-/V1MnLL/rgJ3jkMWo84UR+K+jF1cxNG1a+KwqeXqTIJ+jtA8aWSHuigx8lTzauiIjBDbwF3NcWQMotd0Dm39jA==", + "version": "8.6.4", + "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.4.tgz", + "integrity": "sha512-Ul4YVYZNxMJYALpKtu+ZRdrryYt/GlQ5CK+4l1bp/gWXOG2QWElt6AqF3Mih/wfUKdZbNAZVXGR73/n6U/8img==", "peerDependencies": { + "@types/markdown-it": "*", "markdown-it": "*" } }, + "node_modules/markdown-it/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, "node_modules/markdown-it/node_modules/entities": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", - "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } }, "node_modules/marked": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/marked/-/marked-2.1.3.tgz", - "integrity": "sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA==", + "version": "4.0.16", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.16.tgz", + "integrity": "sha512-wahonIQ5Jnyatt2fn8KqF/nIqZM8mh3oRu2+l5EANGMhu6RFjiSG52QNE2eWzFMI94HqYSgN184NurgNG6CztA==", "bin": { - "marked": "bin/marked" + "marked": "bin/marked.js" }, "engines": { - "node": ">= 10" + "node": ">= 12" } }, "node_modules/matchdep": { @@ -8690,7 +8702,7 @@ "node_modules/mdurl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==" }, "node_modules/memoizee": { "version": "0.4.14", @@ -8812,17 +8824,6 @@ "node": ">=10" } }, - "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==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "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", @@ -8920,11 +8921,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "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==" - }, "node_modules/meow/node_modules/yargs-parser": { "version": "20.2.9", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", @@ -8984,7 +8980,7 @@ "node_modules/micromatch": { "version": "2.3.11", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "integrity": "sha512-LnU2XFEk9xxSJ6rfgAry/ty5qwUTyHYOBU0g4R6tIw5ljwgGIBmiKhRWLw5NpMOnrgUNcDJ4WMp8rl3sYVHLNA==", "dependencies": { "arr-diff": "^2.0.0", "array-unique": "^0.2.1", @@ -9118,6 +9114,11 @@ "mkdirp": "bin/cmd.js" } }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + }, "node_modules/module-not-found-error": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/module-not-found-error/-/module-not-found-error-1.0.1.tgz", @@ -9126,7 +9127,7 @@ "node_modules/mout": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/mout/-/mout-0.5.0.tgz", - "integrity": "sha1-/5Z1ZqkPKVlenLi254AKW1ZjVYM=" + "integrity": "sha512-EMyGu92QKMvG69pHqh9guoDIDsh4lpR+Lmb51ZS6bHLr/NL6fXpYKwbsRp7LeLFvw9f0dxxQAJCh0Ts8mMM/Fw==" }, "node_modules/ms": { "version": "2.0.0", @@ -9253,17 +9254,6 @@ "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==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/node-notifier/node_modules/semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", @@ -9300,11 +9290,6 @@ "node": ">= 8" } }, - "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==" - }, "node_modules/nopt": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", @@ -9365,17 +9350,6 @@ "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==" }, - "node_modules/npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dependencies": { - "path-key": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/nth-check": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", @@ -9393,83 +9367,148 @@ } }, "node_modules/nw-builder": { - "version": "3.5.7", - "resolved": "https://registry.npmjs.org/nw-builder/-/nw-builder-3.5.7.tgz", - "integrity": "sha512-7LTQu8oom56xdDeyoUygZytxvyWuh+pw4nY4eFMGUd7/m/eOdAs/6UZjav6CbjnyIg8n4FtwnjCXXLsFI6Ooug==", - "dependencies": { - "archiver": "^2.1.1", - "boxen": "^1.1.0", - "chalk": "^2.3.2", - "deprecate": "~1.0.0", - "extract-zip": "^1.6.5", - "graceful-fs-extra": "^2.0.0", - "graceful-ncp": "^3.0.0", - "inherits": "~2.0.1", - "lazy-req": "^2.0.0", - "lodash": "~4.17.4", - "optimist": "^0.6.1", - "plist": "^3.0.1", - "progress": "~2.0.0", - "rcedit": "^1.0.0", - "recursive-readdir-sync": "^1.0.6", - "request": "^2.88.0", - "rimraf": "^2.5.2", - "semver": "^5.5.0", - "simple-glob": "~0.2.0", - "tar-fs": "^1.13.0", + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/nw-builder/-/nw-builder-3.7.4.tgz", + "integrity": "sha512-rkjoeGBl8YmFobIcsnJZsawr6yBvLJ74ml+j04LRDVRsqevDspih6zI1+ybA28RLLrcqzgR7nJivKaUlAcuS7g==", + "dependencies": { + "archiver": "5.3.1", + "deprecate": "1.1.1", + "extract-zip": "2.0.1", + "graceful-fs-extra": "2.0.0", + "graceful-ncp": "3.0.0", + "inherits": "2.0.4", + "lodash": "4.17.21", + "plist": "3.0.5", + "progress": "2.0.3", + "rcedit": "3.0.1", + "recursive-readdir-sync": "1.0.6", + "request": "2.88.2", + "rimraf": "3.0.2", + "semver": "7.3.7", + "simple-glob": "0.2.0", + "tar-fs": "2.1.1", "temp": "github:adam-lynch/node-temp#remove_tmpdir_dep", - "thenify": "^3.3.0", - "update-notifier": "^2.4.0", - "winresourcer": "^0.9.0" + "thenify": "3.3.1", + "update-notifier": "5.1.0", + "winresourcer": "0.9.0", + "yargs": "17.5.1" }, "bin": { - "nwbuild": "bin/nwbuild" - }, + "nwbuild": "bin/nwbuild.cjs" + } + }, + "node_modules/nw-builder/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==", "engines": { - "node": ">= 4.0.0" + "node": ">=8" } }, - "node_modules/nw-builder/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/nw-builder/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==", "dependencies": { - "color-convert": "^1.9.0" - }, + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/nw-builder/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==", "engines": { - "node": ">=4" + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/nw-builder/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/nw-builder/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "glob": "^7.1.3" }, - "engines": { - "node": ">=4" + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/nw-builder/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dependencies": { + "lru-cache": "^6.0.0" + }, "bin": { - "semver": "bin/semver" + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/nw-builder/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/nw-builder/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==", "dependencies": { - "has-flag": "^3.0.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" + } + }, + "node_modules/nw-builder/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==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/nw-builder/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/nw-builder/node_modules/yargs": { + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", + "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/nw-builder/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==", + "engines": { + "node": ">=12" } }, "node_modules/oauth-sign": { @@ -9690,20 +9729,6 @@ "node": ">=6" } }, - "node_modules/optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dependencies": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" - } - }, - "node_modules/optimist/node_modules/minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" - }, "node_modules/optionator": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", @@ -9919,14 +9944,6 @@ "node": ">=6" } }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "engines": { - "node": ">=4" - } - }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -9956,25 +9973,25 @@ } }, "node_modules/package-json": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", - "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", + "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", "dependencies": { - "got": "^6.7.1", - "registry-auth-token": "^3.0.1", - "registry-url": "^3.0.3", - "semver": "^5.1.0" + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/package-json/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "bin": { - "semver": "bin/semver" + "semver": "bin/semver.js" } }, "node_modules/parent-module": { @@ -10004,7 +10021,7 @@ "node_modules/parse-glob": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "integrity": "sha512-FC5TeK0AwXzq3tUBFtH74naWkPQCEWs4K+xMxWZBlKDWu0bVHXGZa+KKqxKidd7xwhdZ19ZNuF2uO1M/r196HA==", "dependencies": { "glob-base": "^0.3.0", "is-dotfile": "^1.0.0", @@ -10082,11 +10099,6 @@ "node": ">=0.10.0" } }, - "node_modules/path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" - }, "node_modules/path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", @@ -10135,7 +10147,7 @@ "node_modules/pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" }, "node_modules/performance-now": { "version": "2.1.0", @@ -10264,11 +10276,11 @@ } }, "node_modules/prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, "node_modules/preserve": { @@ -10304,9 +10316,9 @@ "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" }, "node_modules/progress": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", - "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "engines": { "node": ">=0.4.0" } @@ -10334,11 +10346,6 @@ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=" }, - "node_modules/pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" - }, "node_modules/psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", @@ -10565,9 +10572,9 @@ "integrity": "sha1-zCAOqyYT9BZtJ/+a/HylbUnfbrQ=" }, "node_modules/pump": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", - "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -10645,9 +10652,15 @@ } }, "node_modules/rcedit": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/rcedit/-/rcedit-1.1.2.tgz", - "integrity": "sha512-z2ypB4gbINhI6wVe0JJMmdpmOpmNc4g90sE6/6JSuch5kYnjfz9CxvVPqqhShgR6GIkmtW3W2UlfiXhWljA0Fw==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/rcedit/-/rcedit-3.0.1.tgz", + "integrity": "sha512-XM0Jv40/y4hVAqj/MO70o/IWs4uOsaSoo2mLyk3klFDW+SStLnCtzuQu+1OBTIMGlM8CvaK9ftlYCp6DJ+cMsw==", + "dependencies": { + "cross-spawn-windows-exe": "^1.1.0" + }, + "engines": { + "node": ">= 10.0.0" + } }, "node_modules/read-file": { "version": "0.2.0", @@ -10682,17 +10695,6 @@ "node": ">=10" } }, - "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==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "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", @@ -10721,11 +10723,6 @@ "node": ">=10" } }, - "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==" - }, "node_modules/read-pkg": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", @@ -10764,6 +10761,14 @@ "node": ">= 6" } }, + "node_modules/readdir-glob": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.1.tgz", + "integrity": "sha512-91/k1EzZwDx6HbERR+zucygRFfiPl2zkIYZtv3Jjr6Mn7SkKcVct8aVO+sSRiGMc6fLf72du3d92/uY63YPdEA==", + "dependencies": { + "minimatch": "^3.0.4" + } + }, "node_modules/readdirp": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", @@ -10820,591 +10825,91 @@ "url": "https://github.com/davidwinter/readysteady?sponsor=1" } }, - "node_modules/readysteady/node_modules/ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", "dependencies": { - "string-width": "^4.1.0" - } - }, - "node_modules/readysteady/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==", + "resolve": "^1.1.6" + }, "engines": { - "node": ">=8" + "node": ">= 0.10" } }, - "node_modules/readysteady/node_modules/boxen": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", - "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", + "node_modules/recursive-readdir-sync": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/recursive-readdir-sync/-/recursive-readdir-sync-1.0.6.tgz", + "integrity": "sha1-Hb9tMvPFu4083pemxYjVR6nhPVY=" + }, + "node_modules/redent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz", + "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==", "dependencies": { - "ansi-align": "^3.0.0", - "camelcase": "^6.2.0", - "chalk": "^4.1.0", - "cli-boxes": "^2.2.1", - "string-width": "^4.2.2", - "type-fest": "^0.20.2", - "widest-line": "^3.1.0", - "wrap-ansi": "^7.0.0" + "indent-string": "^5.0.0", + "strip-indent": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/readysteady/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "engines": { - "node": ">=10" + "node_modules/regex-cache": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz", + "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=", + "dependencies": { + "is-equal-shallow": "^0.1.3", + "is-primitive": "^2.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/readysteady/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/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/readysteady/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/readysteady/node_modules/cli-boxes": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", - "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "node_modules/regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", "engines": { - "node": ">=6" + "node": ">=6.5.0" + } + }, + "node_modules/registry-auth-token": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", + "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==", + "dependencies": { + "rc": "^1.2.8" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=6.0.0" } }, - "node_modules/readysteady/node_modules/configstore": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", - "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", + "node_modules/registry-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", + "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", "dependencies": { - "dot-prop": "^5.2.0", - "graceful-fs": "^4.1.2", - "make-dir": "^3.0.0", - "unique-string": "^2.0.0", - "write-file-atomic": "^3.0.0", - "xdg-basedir": "^4.0.0" + "rc": "^1.2.8" }, "engines": { "node": ">=8" } }, - "node_modules/readysteady/node_modules/crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/readysteady/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==", - "dependencies": { - "is-obj": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/readysteady/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==", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/readysteady/node_modules/global-dirs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", - "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==", - "dependencies": { - "ini": "2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/readysteady/node_modules/got": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", - "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" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/readysteady/node_modules/ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", - "engines": { - "node": ">=10" - } - }, - "node_modules/readysteady/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==", - "dependencies": { - "ci-info": "^2.0.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/readysteady/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/readysteady/node_modules/is-installed-globally": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", - "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", - "dependencies": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/readysteady/node_modules/is-npm": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", - "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/readysteady/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/readysteady/node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/readysteady/node_modules/latest-version": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", - "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", - "dependencies": { - "package-json": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/readysteady/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==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/readysteady/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==", - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/readysteady/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==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/readysteady/node_modules/package-json": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", - "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", - "dependencies": { - "got": "^9.6.0", - "registry-auth-token": "^4.0.0", - "registry-url": "^5.0.0", - "semver": "^6.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/readysteady/node_modules/package-json/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/readysteady/node_modules/prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", - "engines": { - "node": ">=4" - } - }, - "node_modules/readysteady/node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/readysteady/node_modules/registry-auth-token": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", - "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==", - "dependencies": { - "rc": "^1.2.8" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/readysteady/node_modules/registry-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", - "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", - "dependencies": { - "rc": "^1.2.8" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/readysteady/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/readysteady/node_modules/semver-diff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", - "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", - "dependencies": { - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/readysteady/node_modules/semver-diff/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/readysteady/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==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/readysteady/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==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/readysteady/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/readysteady/node_modules/unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "dependencies": { - "crypto-random-string": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/readysteady/node_modules/update-notifier": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz", - "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==", - "dependencies": { - "boxen": "^5.0.0", - "chalk": "^4.1.0", - "configstore": "^5.0.1", - "has-yarn": "^2.1.0", - "import-lazy": "^2.1.0", - "is-ci": "^2.0.0", - "is-installed-globally": "^0.4.0", - "is-npm": "^5.0.0", - "is-yarn-global": "^0.3.0", - "latest-version": "^5.1.0", - "pupa": "^2.1.1", - "semver": "^7.3.4", - "semver-diff": "^3.1.1", - "xdg-basedir": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/yeoman/update-notifier?sponsor=1" - } - }, - "node_modules/readysteady/node_modules/url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "dependencies": { - "prepend-http": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/readysteady/node_modules/widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", - "dependencies": { - "string-width": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/readysteady/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==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/readysteady/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==", - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/readysteady/node_modules/xdg-basedir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", - "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/readysteady/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/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dependencies": { - "resolve": "^1.1.6" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/recursive-readdir-sync": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/recursive-readdir-sync/-/recursive-readdir-sync-1.0.6.tgz", - "integrity": "sha1-Hb9tMvPFu4083pemxYjVR6nhPVY=" - }, - "node_modules/redent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz", - "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==", - "dependencies": { - "indent-string": "^5.0.0", - "strip-indent": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/regex-cache": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz", - "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=", - "dependencies": { - "is-equal-shallow": "^0.1.3", - "is-primitive": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "engines": { - "node": ">=6.5.0" - } - }, - "node_modules/registry-auth-token": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz", - "integrity": "sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==", - "dependencies": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/registry-url": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", - "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", - "dependencies": { - "rc": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/remove-bom-buffer": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz", @@ -11624,7 +11129,7 @@ "node_modules/responselike": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", "dependencies": { "lowercase-keys": "^1.0.0" } @@ -11699,30 +11204,26 @@ "node": ">=4.0.0" } }, - "node_modules/riot-compiler": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/riot-compiler/-/riot-compiler-3.5.3.tgz", - "integrity": "sha512-JoBG4MnDfhXVKgZG+Yr5hBgSiWbxEH2fOJGw1fF4PmXhtOP0MV1fAb/LgSNQQA08wMwb1MPW0p7ZSza/I+Mu0A==", - "dependencies": { - "skip-regex": "^0.3.1", - "source-map": "^0.7.2", - "string-similarity": "^1.2.0" - } - }, - "node_modules/riot-observable": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/riot-observable/-/riot-observable-3.0.0.tgz", - "integrity": "sha1-i70tr3KiFBuwQwgt9AI9xQS60us=" - }, - "node_modules/riot-tmpl": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/riot-tmpl/-/riot-tmpl-3.0.8.tgz", - "integrity": "sha1-3WVOcqOhUgywCcvvcMc4Vt7VhKY=", + "node_modules/riot-cli": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/riot-cli/-/riot-cli-4.1.2.tgz", + "integrity": "sha512-JuRHDJKtGvAMksulzYHQRmOmzeICIOLe/PHvRuByfRlqGa0IP87baHATkKF4uwveMQKx3mq4JTvhfQHxilhi4g==", "dependencies": { - "eslint-config-riot": "^1.0.0" + "chalk": "^2.3.2", + "chokidar": "^2.0.3", + "co": "^4.6.0", + "optionator": "^0.8.2", + "riot-compiler": "^3.5.1", + "rollup": "^0.57.1" + }, + "bin": { + "riot": "lib/index.js" + }, + "engines": { + "node": ">=4.0.0" } }, - "node_modules/riot/node_modules/ansi-styles": { + "node_modules/riot-cli/node_modules/ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", @@ -11733,7 +11234,7 @@ "node": ">=4" } }, - "node_modules/riot/node_modules/chalk": { + "node_modules/riot-cli/node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", @@ -11746,26 +11247,7 @@ "node": ">=4" } }, - "node_modules/riot/node_modules/riot-cli": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/riot-cli/-/riot-cli-4.1.2.tgz", - "integrity": "sha512-JuRHDJKtGvAMksulzYHQRmOmzeICIOLe/PHvRuByfRlqGa0IP87baHATkKF4uwveMQKx3mq4JTvhfQHxilhi4g==", - "dependencies": { - "chalk": "^2.3.2", - "chokidar": "^2.0.3", - "co": "^4.6.0", - "optionator": "^0.8.2", - "riot-compiler": "^3.5.1", - "rollup": "^0.57.1" - }, - "bin": { - "riot": "lib/index.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/riot/node_modules/supports-color": { + "node_modules/riot-cli/node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", @@ -11776,6 +11258,29 @@ "node": ">=4" } }, + "node_modules/riot-compiler": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/riot-compiler/-/riot-compiler-3.5.3.tgz", + "integrity": "sha512-JoBG4MnDfhXVKgZG+Yr5hBgSiWbxEH2fOJGw1fF4PmXhtOP0MV1fAb/LgSNQQA08wMwb1MPW0p7ZSza/I+Mu0A==", + "dependencies": { + "skip-regex": "^0.3.1", + "source-map": "^0.7.2", + "string-similarity": "^1.2.0" + } + }, + "node_modules/riot-observable": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/riot-observable/-/riot-observable-3.0.0.tgz", + "integrity": "sha1-i70tr3KiFBuwQwgt9AI9xQS60us=" + }, + "node_modules/riot-tmpl": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/riot-tmpl/-/riot-tmpl-3.0.8.tgz", + "integrity": "sha1-3WVOcqOhUgywCcvvcMc4Vt7VhKY=", + "dependencies": { + "eslint-config-riot": "^1.0.0" + } + }, "node_modules/rollup": { "version": "0.57.1", "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.57.1.tgz", @@ -11864,22 +11369,22 @@ } }, "node_modules/semver-diff": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", - "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", + "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", "dependencies": { - "semver": "^5.0.3" + "semver": "^6.3.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/semver-diff/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "bin": { - "semver": "bin/semver" + "semver": "bin/semver.js" } }, "node_modules/semver-greatest-satisfied-range": { @@ -12110,9 +11615,9 @@ } }, "node_modules/snapdragon-node/node_modules/kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "engines": { "node": ">=0.10.0" } @@ -12283,7 +11788,7 @@ "node_modules/stampit": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/stampit/-/stampit-1.2.0.tgz", - "integrity": "sha1-UfnGoIwUZHP80CGvVRyfMu1ce50=", + "integrity": "sha512-DzVKo18iiu9dHcs1y/51Th/bOB4qbC5G1mfBcK4/cq2QNxZqExWH6MG9YbXSx96nC293B65pEsC0fT7MKmsGnA==", "dependencies": { "mout": "~0.5.0" } @@ -12405,34 +11910,43 @@ } }, "node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/string-width/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/string-width/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dependencies": { - "ansi-regex": "^3.0.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/strip-ansi": { @@ -12454,14 +11968,6 @@ "node": ">=0.10.0" } }, - "node_modules/strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/strip-indent": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", @@ -12487,7 +11993,7 @@ "node_modules/stylint": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/stylint/-/stylint-1.4.1.tgz", - "integrity": "sha1-DXLTCYCRfwfo3+QhOavPI0c2WSI=", + "integrity": "sha512-bWoezAdnDudw0xo2S8rA7jhxXOylvq93elEj1qZBQQSP4ScYia7GhhT71bpRs9cd2/GouOQEUgM5N5cUYBbucQ==", "dependencies": { "async": "1.5.2", "chokidar": "1.5.2", @@ -12567,7 +12073,7 @@ "node_modules/stylint/node_modules/chokidar": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.5.2.tgz", - "integrity": "sha1-KT5yhkDMk92Cd0JDNLPG1K06NIo=", + "integrity": "sha512-Hc3T2qGwrnnZORa+Gmnoa5yGkr4cqYURAYBC/RXxPBAeO12C7/stcWXhjvxSnE3gTJMZvSOimFFarZUdd08NfA==", "deprecated": "Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.", "dependencies": { "anymatch": "^1.3.0", @@ -12773,9 +12279,9 @@ } }, "node_modules/table/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "engines": { "node": ">=6" } @@ -12815,58 +12321,29 @@ "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=" }, "node_modules/tar-fs": { - "version": "1.16.3", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz", - "integrity": "sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", "dependencies": { - "chownr": "^1.0.1", - "mkdirp": "^0.5.1", - "pump": "^1.0.0", - "tar-stream": "^1.1.2" + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" } }, "node_modules/tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", "dependencies": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" }, "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/tar-stream/node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "node_modules/tar-stream/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "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/tar-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" + "node": ">=6" } }, "node_modules/temp": { @@ -12881,23 +12358,12 @@ "rimraf": "~2.2.6" } }, - "node_modules/temp/node_modules/rimraf": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", - "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=", - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/term-size": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", - "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", - "dependencies": { - "execa": "^0.7.0" - }, - "engines": { - "node": ">=4" + "node_modules/temp/node_modules/rimraf": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", + "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=", + "bin": { + "rimraf": "bin.js" } }, "node_modules/ternary-stream": { @@ -12996,14 +12462,6 @@ "node": ">=4" } }, - "node_modules/timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/timers-ext": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", @@ -13079,11 +12537,6 @@ "node": ">=0.10.0" } }, - "node_modules/to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" - }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -13357,9 +12810,9 @@ } }, "node_modules/underscore": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz", - "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==" + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.4.tgz", + "integrity": "sha512-BQFnUDuAQ4Yf/cYY5LNrK9NCJFKriaRbD9uR1fTeXnBeoa97W0i41qkZfGO9pSo8I5KzjAcSY2XYtdf0oKd7KQ==" }, "node_modules/undertaker": { "version": "1.2.1", @@ -13412,14 +12865,14 @@ } }, "node_modules/unique-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", - "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", "dependencies": { - "crypto-random-string": "^1.0.0" + "crypto-random-string": "^2.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/unist-util-stringify-position": { @@ -13497,14 +12950,6 @@ "node": ">=0.10.0" } }, - "node_modules/unzip-response": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", - "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", - "engines": { - "node": ">=4" - } - }, "node_modules/upath": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", @@ -13515,58 +12960,59 @@ } }, "node_modules/update-notifier": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", - "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz", + "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==", "dependencies": { - "boxen": "^1.2.1", - "chalk": "^2.0.1", - "configstore": "^3.0.0", + "boxen": "^5.0.0", + "chalk": "^4.1.0", + "configstore": "^5.0.1", + "has-yarn": "^2.1.0", "import-lazy": "^2.1.0", - "is-ci": "^1.0.10", - "is-installed-globally": "^0.1.0", - "is-npm": "^1.0.0", - "latest-version": "^3.0.0", - "semver-diff": "^2.0.0", - "xdg-basedir": "^3.0.0" + "is-ci": "^2.0.0", + "is-installed-globally": "^0.4.0", + "is-npm": "^5.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.1.0", + "pupa": "^2.1.1", + "semver": "^7.3.4", + "semver-diff": "^3.1.1", + "xdg-basedir": "^4.0.0" }, "engines": { - "node": ">=4" - } - }, - "node_modules/update-notifier/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" + "node": ">=10" }, - "engines": { - "node": ">=4" + "funding": { + "url": "https://github.com/yeoman/update-notifier?sponsor=1" } }, "node_modules/update-notifier/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/update-notifier/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/update-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==", "dependencies": { - "has-flag": "^3.0.0" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=4" + "node": ">=10" } }, "node_modules/uri-js": { @@ -13584,14 +13030,14 @@ "deprecated": "Please see https://github.com/lydell/urix#deprecated" }, "node_modules/url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", "dependencies": { - "prepend-http": "^1.0.1" + "prepend-http": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, "node_modules/use": { @@ -13916,14 +13362,14 @@ "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" }, "node_modules/widest-line": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", - "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", "dependencies": { - "string-width": "^2.1.1" + "string-width": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/window-size": { @@ -14028,21 +13474,22 @@ } }, "node_modules/write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "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==", "dependencies": { - "graceful-fs": "^4.1.11", "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" } }, "node_modules/xdg-basedir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", - "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/xmlbuilder": { @@ -14072,9 +13519,9 @@ "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" }, "node_modules/yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/yargs": { "version": "3.10.0", @@ -14138,44 +13585,16 @@ } }, "node_modules/zip-stream": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz", - "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz", + "integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==", "dependencies": { - "archiver-utils": "^1.3.0", - "compress-commons": "^1.2.0", - "lodash": "^4.8.0", - "readable-stream": "^2.0.0" + "archiver-utils": "^2.1.0", + "compress-commons": "^4.1.0", + "readable-stream": "^3.6.0" }, "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/zip-stream/node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "node_modules/zip-stream/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "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/zip-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" + "node": ">= 10" } } }, @@ -14281,6 +13700,14 @@ "through2": "^2.0.3" } }, + "@malept/cross-spawn-promise": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz", + "integrity": "sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==", + "requires": { + "cross-spawn": "^7.0.1" + } + }, "@nodelib/fs.scandir": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", @@ -14449,6 +13876,25 @@ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==" }, + "@types/linkify-it": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.2.tgz", + "integrity": "sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==" + }, + "@types/markdown-it": { + "version": "12.2.3", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz", + "integrity": "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==", + "requires": { + "@types/linkify-it": "*", + "@types/mdurl": "*" + } + }, + "@types/mdurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.2.tgz", + "integrity": "sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==" + }, "@types/minimist": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", @@ -14478,6 +13924,15 @@ "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==", "dev": true }, + "@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "optional": true, + "requires": { + "@types/node": "*" + } + }, "@typescript-eslint/eslint-plugin": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.4.1.tgz", @@ -14726,11 +14181,11 @@ } }, "ansi-align": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", - "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", "requires": { - "string-width": "^2.0.0" + "string-width": "^4.1.0" } }, "ansi-colors": { @@ -14831,70 +14286,48 @@ } }, "archiver": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-2.1.1.tgz", - "integrity": "sha1-/2YrSnggFJSj7lRNOjP+dJZQnrw=", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.1.tgz", + "integrity": "sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w==", "requires": { - "archiver-utils": "^1.3.0", - "async": "^2.0.0", + "archiver-utils": "^2.1.0", + "async": "^3.2.3", "buffer-crc32": "^0.2.1", - "glob": "^7.0.0", - "lodash": "^4.8.0", - "readable-stream": "^2.0.0", - "tar-stream": "^1.5.0", - "zip-stream": "^1.2.0" + "readable-stream": "^3.6.0", + "readdir-glob": "^1.0.0", + "tar-stream": "^2.2.0", + "zip-stream": "^4.1.0" }, "dependencies": { "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "requires": { - "lodash": "^4.17.14" - } - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "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", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" } } }, "archiver-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz", - "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", + "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", "requires": { - "glob": "^7.0.0", - "graceful-fs": "^4.1.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.0", "lazystream": "^1.0.0", - "lodash": "^4.8.0", - "normalize-path": "^2.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", "readable-stream": "^2.0.0" }, "dependencies": { + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -15234,9 +14667,9 @@ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" }, "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" } } }, @@ -15264,55 +14697,27 @@ "integrity": "sha1-muuabF6IY4qtFx4Wf1kAq+JINdA=" }, "binaryextensions": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-2.1.2.tgz", - "integrity": "sha512-xVNN69YGDghOqCCtA6FI7avYrr02mTJjOgB0/f1VPD3pJC8QEvjTKWc4epDx8AqxxA75NI0QpVM2gPJXUbE4Tg==" - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "optional": true, - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - }, - "dependencies": { - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "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", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-2.1.2.tgz", + "integrity": "sha512-xVNN69YGDghOqCCtA6FI7avYrr02mTJjOgB0/f1VPD3pJC8QEvjTKWc4epDx8AqxxA75NI0QpVM2gPJXUbE4Tg==" + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, "bluebird": { @@ -15326,48 +14731,60 @@ "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" }, "boxen": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", - "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", + "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", "requires": { - "ansi-align": "^2.0.0", - "camelcase": "^4.0.0", - "chalk": "^2.0.1", - "cli-boxes": "^1.0.0", - "string-width": "^2.0.0", - "term-size": "^1.2.0", - "widest-line": "^2.0.0" + "ansi-align": "^3.0.0", + "camelcase": "^6.2.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.1", + "string-width": "^4.2.2", + "type-fest": "^0.20.2", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" }, "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" }, "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "requires": { - "has-flag": "^3.0.0" + "ansi-regex": "^5.0.1" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" + }, + "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==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" } } } @@ -15384,7 +14801,7 @@ "braces": { "version": "1.8.5", "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "integrity": "sha512-xU7bpz2ytJl1bH9cgIurjpg/n8Gohy9GTw81heDYLJQ4RU60dlyJsa+atVF2pI0yMMvKxI9HkKwjePCj5XI1hw==", "requires": { "expand-range": "^1.8.1", "preserve": "^0.2.0", @@ -15392,28 +14809,14 @@ } }, "buffer": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", - "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" - } - }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" - }, "buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", @@ -15424,11 +14827,6 @@ "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=" }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" - }, "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", @@ -15476,27 +14874,10 @@ "responselike": "^1.0.2" }, "dependencies": { - "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==", - "requires": { - "pump": "^3.0.0" - } - }, "lowercase-keys": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } } } }, @@ -15533,11 +14914,6 @@ } } }, - "capture-stack-trace": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", - "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==" - }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", @@ -15824,7 +15200,7 @@ "glob-parent": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", "requires": { "is-glob": "^3.1.0", "path-dirname": "^1.0.0" @@ -15977,9 +15353,9 @@ "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" }, "ci-info": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", - "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" }, "class-utils": { "version": "0.3.6", @@ -16008,9 +15384,9 @@ } }, "cli-boxes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", - "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=" + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==" }, "cli-cursor": { "version": "3.1.0", @@ -16053,7 +15429,7 @@ "clone-response": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "integrity": "sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==", "requires": { "mimic-response": "^1.0.0" } @@ -16144,42 +15520,20 @@ "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" }, "compress-commons": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz", - "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz", + "integrity": "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==", "requires": { - "buffer-crc32": "^0.2.1", - "crc32-stream": "^2.0.0", - "normalize-path": "^2.0.0", - "readable-stream": "^2.0.0" + "buffer-crc32": "^0.2.13", + "crc32-stream": "^4.0.2", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" }, "dependencies": { - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "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", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" } } }, @@ -16244,16 +15598,16 @@ } }, "configstore": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.5.tgz", - "integrity": "sha512-nlOhI4+fdzoK5xmJ+NY+1gZK56bwEaWZr8fYuXohZ9Vkc1o3a4T/R3M+yE/w7x/ZVJ1zF8c+oaOvF0dztdUgmA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", + "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", "requires": { - "dot-prop": "^4.2.1", + "dot-prop": "^5.2.0", "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "unique-string": "^1.0.0", - "write-file-atomic": "^2.0.0", - "xdg-basedir": "^3.0.0" + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" } }, "constantinople": { @@ -16296,74 +15650,82 @@ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, - "crc": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", - "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", + "crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==" + }, + "crc32-stream": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz", + "integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==", "requires": { - "buffer": "^5.1.0" + "crc-32": "^1.2.0", + "readable-stream": "^3.4.0" } }, - "crc32-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz", - "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=", + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "requires": { - "crc": "^3.4.4", - "readable-stream": "^2.0.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "dependencies": { - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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==", "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" + "shebang-regex": "^3.0.0" } }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "requires": { - "safe-buffer": "~5.1.0" + "isexe": "^2.0.0" } } } }, - "create-error-class": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", - "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", - "requires": { - "capture-stack-trace": "^1.0.0" - } - }, - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "cross-spawn-windows-exe": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/cross-spawn-windows-exe/-/cross-spawn-windows-exe-1.2.0.tgz", + "integrity": "sha512-mkLtJJcYbDCxEG7Js6eUnUNndWjyUZwJ3H7bErmmtOYU/Zb99DyUkpamuIZE0b3bhmJyZ7D90uS6f+CGxRRjOw==", "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "@malept/cross-spawn-promise": "^1.1.0", + "is-wsl": "^2.2.0", + "which": "^2.0.2" + }, + "dependencies": { + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + } } }, "crypto-random-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", - "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" }, "css": { "version": "2.2.4", @@ -16394,7 +15756,7 @@ "css-select": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "integrity": "sha512-dUQOBoqdR7QwV90WysXPLXG5LO7nhYBgiWVfxF80DKPF8zx1t/pUd2FYy73emg3zrjtM6dzmYgbHKfV2rxiHQA==", "requires": { "boolbase": "~1.0.0", "css-what": "2.1", @@ -16478,7 +15840,7 @@ "decompress-response": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", "requires": { "mimic-response": "^1.0.0" } @@ -16602,9 +15964,9 @@ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, "deprecate": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/deprecate/-/deprecate-1.0.0.tgz", - "integrity": "sha1-ZhSQ7SQokWpsiIPYg05WRvTkpKg=" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deprecate/-/deprecate-1.1.1.tgz", + "integrity": "sha512-ZGDXefq1xknT292LnorMY5s8UVU08/WKdzDZCUT6t9JzsiMSP4uzUhgpqugffNVcT5WC6wMBiSQ+LFjlv3v7iQ==" }, "deprecation": { "version": "2.3.1", @@ -16681,17 +16043,24 @@ } }, "dot-prop": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.1.tgz", - "integrity": "sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", "requires": { - "is-obj": "^1.0.0" + "is-obj": "^2.0.0" + }, + "dependencies": { + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" + } } }, "duplexer3": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" + "integrity": "sha512-CEj8FwwNA4cVH2uFCoHUrmojhYh1vmCdOaneKJXwkeY1i9jnlslVo9dx+hQ5Hl9GnH/Bwy/IjxAyOePyPKYnzA==" }, "duplexify": { "version": "3.6.0", @@ -16821,6 +16190,11 @@ "es6-symbol": "^3.1.1" } }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, "escape-goat": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", @@ -16876,9 +16250,9 @@ }, "dependencies": { "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" }, "ansi-styles": { "version": "3.2.1", @@ -17102,20 +16476,6 @@ "es5-ext": "~0.10.14" } }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "requires": { - "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" - } - }, "expand-brackets": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", @@ -17198,23 +16558,28 @@ } }, "extract-zip": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", - "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", "requires": { - "concat-stream": "^1.6.2", - "debug": "^2.6.9", - "mkdirp": "^0.5.4", + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", "yauzl": "^2.10.0" }, "dependencies": { "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "requires": { - "ms": "2.0.0" + "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==" } } }, @@ -17334,7 +16699,7 @@ "fd-slicer": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", "requires": { "pend": "~1.2.0" } @@ -17848,11 +17213,6 @@ "universalify": "^1.0.0" }, "dependencies": { - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" - }, "jsonfile": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", @@ -18450,9 +17810,12 @@ "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" }, "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "requires": { + "pump": "^3.0.0" + } }, "get-value": { "version": "2.0.6", @@ -18483,7 +17846,7 @@ "glob-base": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "integrity": "sha512-ab1S1g1EbO7YzauaJLkgLp7DZVAqj9M/dvKlTt8DkXA2tiOIcSMrlVI2J1RZyB5iJVccEscjGn+kpOG9788MHA==", "requires": { "glob-parent": "^2.0.0", "is-glob": "^2.0.0" @@ -18492,7 +17855,7 @@ "glob-parent": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "integrity": "sha512-JDYOvfxio/t42HKdxkAYaCiBN7oYiuxykOxKxdaUW5Qn0zaYN3gRQWolrwdnf0shM9/EP0ebuuTmyoXNr1cC5w==", "requires": { "is-glob": "^2.0.0" } @@ -18500,7 +17863,7 @@ "glob-stream": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz", - "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=", + "integrity": "sha512-uMbLGAP3S2aDOHUDfdoYcdIePUCfysbAd0IAoWVZbeGU/oNQ8asHVSshLDJUPWxfzj8zsCG7/XeHPHTtow0nsw==", "requires": { "extend": "^3.0.0", "glob": "^7.1.1", @@ -18517,7 +17880,7 @@ "glob-parent": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", "requires": { "is-glob": "^3.1.0", "path-dirname": "^1.0.0" @@ -18566,15 +17929,16 @@ } }, "glob-watcher": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.3.tgz", - "integrity": "sha512-8tWsULNEPHKQ2MR4zXuzSmqbdyV5PtwwCaWSGQ1WwHsJ07ilNeN1JB8ntxhckbnpSHaf9dXFUHzIWvm1I13dsg==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.5.tgz", + "integrity": "sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw==", "requires": { "anymatch": "^2.0.0", "async-done": "^1.2.0", "chokidar": "^2.0.0", "is-negated-glob": "^1.0.0", "just-debounce": "^1.0.0", + "normalize-path": "^3.0.0", "object.defaults": "^1.1.0" }, "dependencies": { @@ -18585,6 +17949,16 @@ "requires": { "micromatch": "^3.1.4", "normalize-path": "^2.1.1" + }, + "dependencies": { + "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==", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } } }, "arr-diff": { @@ -18819,9 +18193,9 @@ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" }, "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" }, "micromatch": { "version": "3.1.10", @@ -18842,15 +18216,27 @@ "snapdragon": "^0.8.1", "to-regex": "^3.0.2" } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" } } }, "global-dirs": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", - "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", + "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==", "requires": { - "ini": "^1.3.4" + "ini": "2.0.0" + }, + "dependencies": { + "ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==" + } } }, "global-modules": { @@ -18912,27 +18298,37 @@ } }, "got": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", - "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", "requires": { - "create-error-class": "^3.0.0", + "@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": "^3.0.0", - "is-redirect": "^1.0.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "lowercase-keys": "^1.0.0", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "unzip-response": "^2.0.1", - "url-parse-lax": "^1.0.0" + "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": { + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + } } }, "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" }, "graceful-fs-extra": { "version": "2.0.0", @@ -19089,11 +18485,12 @@ } }, "yargs-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", - "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.1.tgz", + "integrity": "sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA==", "requires": { - "camelcase": "^3.0.0" + "camelcase": "^3.0.0", + "object.assign": "^4.1.0" } } } @@ -19109,9 +18506,9 @@ } }, "gulp-changed": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/gulp-changed/-/gulp-changed-4.0.2.tgz", - "integrity": "sha512-rAvQt+ByaqrMuJLwucvxC+MC02Vh8ksiJ16hoQlk4xnmlHiLJMque2aXXQMmyocQac3RIjNRcyr7iG1TNH15GA==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gulp-changed/-/gulp-changed-4.0.3.tgz", + "integrity": "sha512-oIymgTNmmIvdqRRpdtohmELix81q+CA/D9DgVCvaM4Ulai0xgalf+XS6A95JwskbxRGQKtzzhMmdWZEuikX67w==", "requires": { "make-dir": "^3.0.0", "plugin-error": "^1.0.1", @@ -19120,24 +18517,11 @@ "touch": "^3.1.0" }, "dependencies": { - "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==", - "requires": { - "semver": "^6.0.0" - } - }, "replace-ext": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==" }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, "through2": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", @@ -19466,34 +18850,17 @@ } }, "gulp-zip": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/gulp-zip/-/gulp-zip-5.0.1.tgz", - "integrity": "sha512-M/IWLh9RvOpuofDZkgDirtiyz9J3yIqnDOJ3muzk2D/XnZ1ruqPlPLRIpXnl/aZU+xXwKPdOIxjRzkUcVEQyZQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/gulp-zip/-/gulp-zip-5.1.0.tgz", + "integrity": "sha512-XZr/y91IliK/SpR74g3TkZejGkGEmK7CSDjSghT1jXshgO+dFvpLIz9w9fpuwkew6i7k4F+G24TubNgq1ISzEw==", "requires": { - "get-stream": "^5.1.0", + "get-stream": "^5.2.0", "plugin-error": "^1.0.1", "through2": "^3.0.1", "vinyl": "^2.1.0", "yazl": "^2.5.1" }, "dependencies": { - "get-stream": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", - "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", - "requires": { - "pump": "^3.0.0" - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, "through2": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", @@ -19754,21 +19121,6 @@ "supports-color": "^7.1.0" } }, - "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==" - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, "strip-ansi": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", @@ -19833,11 +19185,11 @@ } }, "is-ci": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", - "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", "requires": { - "ci-info": "^1.5.0" + "ci-info": "^2.0.0" } }, "is-core-module": { @@ -19933,12 +19285,12 @@ } }, "is-installed-globally": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", - "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", "requires": { - "global-dirs": "^0.1.0", - "is-path-inside": "^1.0.0" + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" } }, "is-interactive": { @@ -19952,9 +19304,9 @@ "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=" }, "is-npm": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", - "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=" + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", + "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==" }, "is-number": { "version": "2.1.0", @@ -19990,12 +19342,9 @@ } }, "is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", - "requires": { - "path-is-inside": "^1.0.1" - } + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" }, "is-plain-obj": { "version": "1.1.0", @@ -20032,11 +19381,6 @@ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" }, - "is-redirect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", - "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=" - }, "is-reference": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.1.tgz", @@ -20061,16 +19405,6 @@ "is-unc-path": "^1.0.0" } }, - "is-retry-allowed": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", - "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==" - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", @@ -20183,24 +19517,25 @@ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" }, "jsdoc": { - "version": "3.6.7", - "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.7.tgz", - "integrity": "sha512-sxKt7h0vzCd+3Y81Ey2qinupL6DpRSZJclS04ugHDNmRUXGzqicMJ6iwayhSA0S0DwwX30c5ozyUthr1QKF6uw==", + "version": "3.6.10", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.10.tgz", + "integrity": "sha512-IdQ8ppSo5LKZ9o3M+LKIIK8i00DIe5msDvG3G81Km+1dhy0XrOWD0Ji8H61ElgyEj/O9KRLokgKbAM9XX9CJAg==", "requires": { "@babel/parser": "^7.9.4", + "@types/markdown-it": "^12.2.3", "bluebird": "^3.7.2", "catharsis": "^0.9.0", "escape-string-regexp": "^2.0.0", - "js2xmlparser": "^4.0.1", - "klaw": "^3.0.0", - "markdown-it": "^10.0.0", - "markdown-it-anchor": "^5.2.7", - "marked": "^2.0.3", + "js2xmlparser": "^4.0.2", + "klaw": "^4.0.1", + "markdown-it": "^12.3.2", + "markdown-it-anchor": "^8.4.1", + "marked": "^4.0.10", "mkdirp": "^1.0.4", "requizzle": "^0.2.3", "strip-json-comments": "^3.1.0", "taffydb": "2.6.2", - "underscore": "~1.13.1" + "underscore": "~1.13.2" }, "dependencies": { "escape-string-regexp": { @@ -20257,11 +19592,6 @@ "path-is-absolute": "^1.0.0" } }, - "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" - }, "tmp": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz", @@ -20275,7 +19605,7 @@ "json-buffer": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" + "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==" }, "json-parse-even-better-errors": { "version": "2.3.1", @@ -20283,9 +19613,9 @@ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" }, "json-schema-traverse": { "version": "0.4.1", @@ -20311,13 +19641,13 @@ } }, "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", - "json-schema": "0.2.3", + "json-schema": "0.4.0", "verror": "1.10.0" } }, @@ -20352,12 +19682,9 @@ } }, "klaw": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", - "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", - "requires": { - "graceful-fs": "^4.1.9" - } + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-4.0.1.tgz", + "integrity": "sha512-pgsE40/SvC7st04AHiISNewaIMUbY5V/K8b21ekiPiFoYs/EYSdsGa+FJArB1d441uq4Q8zZyIxvAzkGNlBdRw==" }, "last-run": { "version": "1.1.1", @@ -20369,11 +19696,11 @@ } }, "latest-version": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", - "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", + "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", "requires": { - "package-json": "^4.0.0" + "package-json": "^6.3.0" } }, "lazy-cache": { @@ -20381,11 +19708,6 @@ "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" }, - "lazy-req": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lazy-req/-/lazy-req-2.0.0.tgz", - "integrity": "sha1-yUUKNj7N2i5vDHATKtTzf48G8rQ=" - }, "lazystream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", @@ -20469,9 +19791,9 @@ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, "linkify-it": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", - "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", + "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", "requires": { "uc.micro": "^1.0.1" } @@ -20635,6 +19957,11 @@ "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, "lodash.keys": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", @@ -20752,12 +20079,11 @@ "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" }, "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "yallist": "^4.0.0" } }, "lru-queue": { @@ -20769,17 +20095,17 @@ } }, "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "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==", "requires": { - "pify": "^3.0.0" + "semver": "^6.0.0" }, "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" } } }, @@ -20817,34 +20143,39 @@ } }, "markdown-it": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-10.0.0.tgz", - "integrity": "sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==", + "version": "12.3.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", + "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", "requires": { - "argparse": "^1.0.7", - "entities": "~2.0.0", - "linkify-it": "^2.0.0", + "argparse": "^2.0.1", + "entities": "~2.1.0", + "linkify-it": "^3.0.1", "mdurl": "^1.0.1", "uc.micro": "^1.0.5" }, "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, "entities": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", - "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==" } } }, "markdown-it-anchor": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-5.3.0.tgz", - "integrity": "sha512-/V1MnLL/rgJ3jkMWo84UR+K+jF1cxNG1a+KwqeXqTIJ+jtA8aWSHuigx8lTzauiIjBDbwF3NcWQMotd0Dm39jA==", + "version": "8.6.4", + "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.4.tgz", + "integrity": "sha512-Ul4YVYZNxMJYALpKtu+ZRdrryYt/GlQ5CK+4l1bp/gWXOG2QWElt6AqF3Mih/wfUKdZbNAZVXGR73/n6U/8img==", "requires": {} }, "marked": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/marked/-/marked-2.1.3.tgz", - "integrity": "sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA==" + "version": "4.0.16", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.16.tgz", + "integrity": "sha512-wahonIQ5Jnyatt2fn8KqF/nIqZM8mh3oRu2+l5EANGMhu6RFjiSG52QNE2eWzFMI94HqYSgN184NurgNG6CztA==" }, "matchdep": { "version": "2.0.0", @@ -21147,7 +20478,7 @@ "mdurl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==" }, "memoizee": { "version": "0.4.14", @@ -21254,14 +20585,6 @@ "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==", - "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", @@ -21323,11 +20646,6 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==" }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, "yargs-parser": { "version": "20.2.9", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", @@ -21385,7 +20703,7 @@ "micromatch": { "version": "2.3.11", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "integrity": "sha512-LnU2XFEk9xxSJ6rfgAry/ty5qwUTyHYOBU0g4R6tIw5ljwgGIBmiKhRWLw5NpMOnrgUNcDJ4WMp8rl3sYVHLNA==", "requires": { "arr-diff": "^2.0.0", "array-unique": "^0.2.1", @@ -21487,6 +20805,11 @@ "minimist": "^1.2.5" } }, + "mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + }, "module-not-found-error": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/module-not-found-error/-/module-not-found-error-1.0.1.tgz", @@ -21495,7 +20818,7 @@ "mout": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/mout/-/mout-0.5.0.tgz", - "integrity": "sha1-/5Z1ZqkPKVlenLi254AKW1ZjVYM=" + "integrity": "sha512-EMyGu92QKMvG69pHqh9guoDIDsh4lpR+Lmb51ZS6bHLr/NL6fXpYKwbsRp7LeLFvw9f0dxxQAJCh0Ts8mMM/Fw==" }, "ms": { "version": "2.0.0", @@ -21595,14 +20918,6 @@ "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==", - "requires": { - "yallist": "^4.0.0" - } - }, "semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", @@ -21623,11 +20938,6 @@ "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==" } } }, @@ -21676,14 +20986,6 @@ "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==" }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "requires": { - "path-key": "^2.0.0" - } - }, "nth-check": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", @@ -21698,66 +21000,110 @@ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, "nw-builder": { - "version": "3.5.7", - "resolved": "https://registry.npmjs.org/nw-builder/-/nw-builder-3.5.7.tgz", - "integrity": "sha512-7LTQu8oom56xdDeyoUygZytxvyWuh+pw4nY4eFMGUd7/m/eOdAs/6UZjav6CbjnyIg8n4FtwnjCXXLsFI6Ooug==", - "requires": { - "archiver": "^2.1.1", - "boxen": "^1.1.0", - "chalk": "^2.3.2", - "deprecate": "~1.0.0", - "extract-zip": "^1.6.5", - "graceful-fs-extra": "^2.0.0", - "graceful-ncp": "^3.0.0", - "inherits": "~2.0.1", - "lazy-req": "^2.0.0", - "lodash": "~4.17.4", - "optimist": "^0.6.1", - "plist": "^3.0.1", - "progress": "~2.0.0", - "rcedit": "^1.0.0", - "recursive-readdir-sync": "^1.0.6", - "request": "^2.88.0", - "rimraf": "^2.5.2", - "semver": "^5.5.0", - "simple-glob": "~0.2.0", - "tar-fs": "^1.13.0", + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/nw-builder/-/nw-builder-3.7.4.tgz", + "integrity": "sha512-rkjoeGBl8YmFobIcsnJZsawr6yBvLJ74ml+j04LRDVRsqevDspih6zI1+ybA28RLLrcqzgR7nJivKaUlAcuS7g==", + "requires": { + "archiver": "5.3.1", + "deprecate": "1.1.1", + "extract-zip": "2.0.1", + "graceful-fs-extra": "2.0.0", + "graceful-ncp": "3.0.0", + "inherits": "2.0.4", + "lodash": "4.17.21", + "plist": "3.0.5", + "progress": "2.0.3", + "rcedit": "3.0.1", + "recursive-readdir-sync": "1.0.6", + "request": "2.88.2", + "rimraf": "3.0.2", + "semver": "7.3.7", + "simple-glob": "0.2.0", + "tar-fs": "2.1.1", "temp": "github:adam-lynch/node-temp#remove_tmpdir_dep", - "thenify": "^3.3.0", - "update-notifier": "^2.4.0", - "winresourcer": "^0.9.0" + "thenify": "3.3.1", + "update-notifier": "5.1.0", + "winresourcer": "0.9.0", + "yargs": "17.5.1" }, "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "requires": { - "color-convert": "^1.9.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "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==" + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "glob": "^7.1.3" } }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "requires": { + "lru-cache": "^6.0.0" + } }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "requires": { - "has-flag": "^3.0.0" + "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==", + "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==" + }, + "yargs": { + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", + "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" + } + }, + "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==" } } }, @@ -21931,22 +21277,6 @@ "mimic-fn": "^2.1.0" } }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" - }, - "dependencies": { - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" - } - } - }, "optionator": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", @@ -22103,11 +21433,6 @@ "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" - }, "p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -22125,20 +21450,20 @@ } }, "package-json": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", - "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", + "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", "requires": { - "got": "^6.7.1", - "registry-auth-token": "^3.0.1", - "registry-url": "^3.0.3", - "semver": "^5.1.0" + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.0" }, "dependencies": { "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" } } }, @@ -22163,7 +21488,7 @@ "parse-glob": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "integrity": "sha512-FC5TeK0AwXzq3tUBFtH74naWkPQCEWs4K+xMxWZBlKDWu0bVHXGZa+KKqxKidd7xwhdZ19ZNuF2uO1M/r196HA==", "requires": { "glob-base": "^0.3.0", "is-dotfile": "^1.0.0", @@ -22217,11 +21542,6 @@ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" - }, "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", @@ -22258,7 +21578,7 @@ "pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" }, "performance-now": { "version": "2.1.0", @@ -22344,9 +21664,9 @@ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" }, "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==" }, "preserve": { "version": "0.2.0", @@ -22372,9 +21692,9 @@ "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" }, "progress": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", - "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" }, "promise": { "version": "7.3.1", @@ -22401,11 +21721,6 @@ } } }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" - }, "psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", @@ -22633,9 +21948,9 @@ "dev": true }, "pump": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", - "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -22697,9 +22012,12 @@ } }, "rcedit": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/rcedit/-/rcedit-1.1.2.tgz", - "integrity": "sha512-z2ypB4gbINhI6wVe0JJMmdpmOpmNc4g90sE6/6JSuch5kYnjfz9CxvVPqqhShgR6GIkmtW3W2UlfiXhWljA0Fw==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/rcedit/-/rcedit-3.0.1.tgz", + "integrity": "sha512-XM0Jv40/y4hVAqj/MO70o/IWs4uOsaSoo2mLyk3klFDW+SStLnCtzuQu+1OBTIMGlM8CvaK9ftlYCp6DJ+cMsw==", + "requires": { + "cross-spawn-windows-exe": "^1.1.0" + } }, "read-file": { "version": "0.2.0", @@ -22725,14 +22043,6 @@ "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==", - "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", @@ -22751,11 +22061,6 @@ "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==" } } }, @@ -22788,6 +22093,14 @@ "util-deprecate": "^1.0.1" } }, + "readdir-glob": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.1.tgz", + "integrity": "sha512-91/k1EzZwDx6HbERR+zucygRFfiPl2zkIYZtv3Jjr6Mn7SkKcVct8aVO+sSRiGMc6fLf72du3d92/uY63YPdEA==", + "requires": { + "minimatch": "^3.0.4" + } + }, "readdirp": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", @@ -22798,402 +22111,45 @@ "readable-stream": "^2.0.2", "set-immediate-shim": "^1.0.1" }, - "dependencies": { - "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.0.3", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "readysteady": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/readysteady/-/readysteady-1.1.4.tgz", - "integrity": "sha512-nIvXbBGYlujEYl/oLx+tKeBB2iti2Xsvxr5iVM6Z1JBgZgq3KNmRsdAHjTa0XJ4bvRbf3zRDXeBiutHPct3RCg==", - "requires": { - "@octokit/core": "^3.5.1", - "@octokit/plugin-paginate-rest": "^2.15.1", - "@octokit/plugin-rest-endpoint-methods": "^5.8.0", - "meow": "^10.1.1", - "ora": "^6.0.0", - "read-package-json": "^4.0.0", - "update-notifier": "^5.1.0" - }, - "dependencies": { - "ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "requires": { - "string-width": "^4.1.0" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "boxen": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", - "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", - "requires": { - "ansi-align": "^3.0.0", - "camelcase": "^6.2.0", - "chalk": "^4.1.0", - "cli-boxes": "^2.2.1", - "string-width": "^4.2.2", - "type-fest": "^0.20.2", - "widest-line": "^3.1.0", - "wrap-ansi": "^7.0.0" - } - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" - }, - "cli-boxes": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", - "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==" - }, - "configstore": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", - "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", - "requires": { - "dot-prop": "^5.2.0", - "graceful-fs": "^4.1.2", - "make-dir": "^3.0.0", - "unique-string": "^2.0.0", - "write-file-atomic": "^3.0.0", - "xdg-basedir": "^4.0.0" - } - }, - "crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" - }, - "dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "requires": { - "is-obj": "^2.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==", - "requires": { - "pump": "^3.0.0" - } - }, - "global-dirs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", - "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==", - "requires": { - "ini": "2.0.0" - } - }, - "got": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", - "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" - } - }, - "ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==" - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "requires": { - "ci-info": "^2.0.0" - } - }, - "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-installed-globally": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", - "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", - "requires": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" - } - }, - "is-npm": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", - "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==" - }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" - }, - "latest-version": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", - "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", - "requires": { - "package-json": "^6.3.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==", - "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==", - "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==" - } - } - }, - "package-json": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", - "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", - "requires": { - "got": "^9.6.0", - "registry-auth-token": "^4.0.0", - "registry-url": "^5.0.0", - "semver": "^6.2.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "registry-auth-token": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", - "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==", - "requires": { - "rc": "^1.2.8" - } - }, - "registry-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", - "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", - "requires": { - "rc": "^1.2.8" - } - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "semver-diff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", - "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", - "requires": { - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "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==", - "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==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" - }, - "unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "requires": { - "crypto-random-string": "^2.0.0" - } - }, - "update-notifier": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz", - "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==", - "requires": { - "boxen": "^5.0.0", - "chalk": "^4.1.0", - "configstore": "^5.0.1", - "has-yarn": "^2.1.0", - "import-lazy": "^2.1.0", - "is-ci": "^2.0.0", - "is-installed-globally": "^0.4.0", - "is-npm": "^5.0.0", - "is-yarn-global": "^0.3.0", - "latest-version": "^5.1.0", - "pupa": "^2.1.1", - "semver": "^7.3.4", - "semver-diff": "^3.1.1", - "xdg-basedir": "^4.0.0" - } - }, - "url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "requires": { - "prepend-http": "^2.0.0" - } - }, - "widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", - "requires": { - "string-width": "^4.0.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==", + "dependencies": { + "readable-stream": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.0.3", + "util-deprecate": "~1.0.1" } }, - "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==", + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "safe-buffer": "~5.1.0" } - }, - "xdg-basedir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", - "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==" - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } } }, + "readysteady": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/readysteady/-/readysteady-1.1.4.tgz", + "integrity": "sha512-nIvXbBGYlujEYl/oLx+tKeBB2iti2Xsvxr5iVM6Z1JBgZgq3KNmRsdAHjTa0XJ4bvRbf3zRDXeBiutHPct3RCg==", + "requires": { + "@octokit/core": "^3.5.1", + "@octokit/plugin-paginate-rest": "^2.15.1", + "@octokit/plugin-rest-endpoint-methods": "^5.8.0", + "meow": "^10.1.1", + "ora": "^6.0.0", + "read-package-json": "^4.0.0", + "update-notifier": "^5.1.0" + } + }, "rechoir": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", @@ -23240,20 +22196,19 @@ "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==" }, "registry-auth-token": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz", - "integrity": "sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", + "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==", "requires": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" + "rc": "^1.2.8" } }, "registry-url": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", - "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", + "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", "requires": { - "rc": "^1.0.1" + "rc": "^1.2.8" } }, "remove-bom-buffer": { @@ -23446,7 +22401,7 @@ "responselike": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", "requires": { "lowercase-keys": "^1.0.0" } @@ -23497,6 +22452,19 @@ "riot-tmpl": "^3.0.8", "simple-dom": "1.3.0", "simple-html-tokenizer": "^0.5.7" + } + }, + "riot-cli": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/riot-cli/-/riot-cli-4.1.2.tgz", + "integrity": "sha512-JuRHDJKtGvAMksulzYHQRmOmzeICIOLe/PHvRuByfRlqGa0IP87baHATkKF4uwveMQKx3mq4JTvhfQHxilhi4g==", + "requires": { + "chalk": "^2.3.2", + "chokidar": "^2.0.3", + "co": "^4.6.0", + "optionator": "^0.8.2", + "riot-compiler": "^3.5.1", + "rollup": "^0.57.1" }, "dependencies": { "ansi-styles": { @@ -23517,19 +22485,6 @@ "supports-color": "^5.3.0" } }, - "riot-cli": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/riot-cli/-/riot-cli-4.1.2.tgz", - "integrity": "sha512-JuRHDJKtGvAMksulzYHQRmOmzeICIOLe/PHvRuByfRlqGa0IP87baHATkKF4uwveMQKx3mq4JTvhfQHxilhi4g==", - "requires": { - "chalk": "^2.3.2", - "chokidar": "^2.0.3", - "co": "^4.6.0", - "optionator": "^0.8.2", - "riot-compiler": "^3.5.1", - "rollup": "^0.57.1" - } - }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -23639,17 +22594,17 @@ "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=" }, "semver-diff": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", - "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", + "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", "requires": { - "semver": "^5.0.3" + "semver": "^6.3.0" }, "dependencies": { "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" } } }, @@ -23862,9 +22817,9 @@ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" }, "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" } } }, @@ -23973,7 +22928,7 @@ "stampit": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/stampit/-/stampit-1.2.0.tgz", - "integrity": "sha1-UfnGoIwUZHP80CGvVRyfMu1ce50=", + "integrity": "sha512-DzVKo18iiu9dHcs1y/51Th/bOB4qbC5G1mfBcK4/cq2QNxZqExWH6MG9YbXSx96nC293B65pEsC0fT7MKmsGnA==", "requires": { "mout": "~0.5.0" } @@ -24078,25 +23033,31 @@ } }, "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.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==" + }, + "is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "^5.0.1" } } } @@ -24114,11 +23075,6 @@ "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=" }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" - }, "strip-indent": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", @@ -24135,7 +23091,7 @@ "stylint": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/stylint/-/stylint-1.4.1.tgz", - "integrity": "sha1-DXLTCYCRfwfo3+QhOavPI0c2WSI=", + "integrity": "sha512-bWoezAdnDudw0xo2S8rA7jhxXOylvq93elEj1qZBQQSP4ScYia7GhhT71bpRs9cd2/GouOQEUgM5N5cUYBbucQ==", "requires": { "async": "1.5.2", "chokidar": "1.5.2", @@ -24156,7 +23112,7 @@ "chokidar": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.5.2.tgz", - "integrity": "sha1-KT5yhkDMk92Cd0JDNLPG1K06NIo=", + "integrity": "sha512-Hc3T2qGwrnnZORa+Gmnoa5yGkr4cqYURAYBC/RXxPBAeO12C7/stcWXhjvxSnE3gTJMZvSOimFFarZUdd08NfA==", "requires": { "anymatch": "^1.3.0", "async-each": "^1.0.0", @@ -24366,9 +23322,9 @@ }, "dependencies": { "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" }, "emoji-regex": { "version": "7.0.3", @@ -24401,57 +23357,26 @@ "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=" }, "tar-fs": { - "version": "1.16.3", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz", - "integrity": "sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", "requires": { - "chownr": "^1.0.1", - "mkdirp": "^0.5.1", - "pump": "^1.0.0", - "tar-stream": "^1.1.2" + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" } }, "tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - }, - "dependencies": { - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "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", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" } }, "temp": { @@ -24469,14 +23394,6 @@ } } }, - "term-size": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", - "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", - "requires": { - "execa": "^0.7.0" - } - }, "ternary-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/ternary-stream/-/ternary-stream-2.0.1.tgz", @@ -24563,11 +23480,6 @@ "resolved": "https://registry.npmjs.org/time-zone/-/time-zone-1.0.0.tgz", "integrity": "sha1-mcW/VZWJZq9tBtg73zgA3IL67F0=" }, - "timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" - }, "timers-ext": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", @@ -24643,11 +23555,6 @@ "is-negated-glob": "^1.0.0" } }, - "to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" - }, "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -24848,9 +23755,9 @@ "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=" }, "underscore": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz", - "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==" + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.4.tgz", + "integrity": "sha512-BQFnUDuAQ4Yf/cYY5LNrK9NCJFKriaRbD9uR1fTeXnBeoa97W0i41qkZfGO9pSo8I5KzjAcSY2XYtdf0oKd7KQ==" }, "undertaker": { "version": "1.2.1", @@ -24894,11 +23801,11 @@ } }, "unique-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", - "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", "requires": { - "crypto-random-string": "^1.0.0" + "crypto-random-string": "^2.0.0" } }, "unist-util-stringify-position": { @@ -24961,57 +23868,47 @@ } } }, - "unzip-response": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", - "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=" - }, "upath": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" }, "update-notifier": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", - "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz", + "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==", "requires": { - "boxen": "^1.2.1", - "chalk": "^2.0.1", - "configstore": "^3.0.0", + "boxen": "^5.0.0", + "chalk": "^4.1.0", + "configstore": "^5.0.1", + "has-yarn": "^2.1.0", "import-lazy": "^2.1.0", - "is-ci": "^1.0.10", - "is-installed-globally": "^0.1.0", - "is-npm": "^1.0.0", - "latest-version": "^3.0.0", - "semver-diff": "^2.0.0", - "xdg-basedir": "^3.0.0" + "is-ci": "^2.0.0", + "is-installed-globally": "^0.4.0", + "is-npm": "^5.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.1.0", + "pupa": "^2.1.1", + "semver": "^7.3.4", + "semver-diff": "^3.1.1", + "xdg-basedir": "^4.0.0" }, "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "requires": { - "has-flag": "^3.0.0" + "lru-cache": "^6.0.0" } } } @@ -25030,11 +23927,11 @@ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" }, "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", "requires": { - "prepend-http": "^1.0.1" + "prepend-http": "^2.0.0" } }, "use": { @@ -25310,11 +24207,11 @@ "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" }, "widest-line": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", - "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", "requires": { - "string-width": "^2.1.1" + "string-width": "^4.0.0" } }, "window-size": { @@ -25391,19 +24288,20 @@ } }, "write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "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==", "requires": { - "graceful-fs": "^4.1.11", "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" } }, "xdg-basedir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", - "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==" }, "xmlbuilder": { "version": "9.0.7", @@ -25426,9 +24324,9 @@ "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" }, "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "yargs": { "version": "3.10.0", @@ -25485,43 +24383,13 @@ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" }, "zip-stream": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz", - "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz", + "integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==", "requires": { - "archiver-utils": "^1.3.0", - "compress-commons": "^1.2.0", - "lodash": "^4.8.0", - "readable-stream": "^2.0.0" - }, - "dependencies": { - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "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", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } + "archiver-utils": "^2.1.0", + "compress-commons": "^4.1.0", + "readable-stream": "^3.6.0" } } } From e6e62b1a0464479de8dc3a38f63f5ee647284011 Mon Sep 17 00:00:00 2001 From: Cosmo Myzrail Gorynych Date: Sat, 25 Jun 2022 23:20:31 +1200 Subject: [PATCH 014/128] :sparkles: Pride mode with a colorful navigation --- app/data/i18n/English.json | 3 +- app/data/i18n/Russian.json | 3 +- src/riotTags/main-menu/main-menu-settings.tag | 9 +++ src/riotTags/root-tag.tag | 8 ++- src/styl/tabs.styl | 72 +++++++++++++------ 5 files changed, 71 insertions(+), 24 deletions(-) diff --git a/app/data/i18n/English.json b/app/data/i18n/English.json index 22b191830..dcd7872b1 100644 --- a/app/data/i18n/English.json +++ b/app/data/i18n/English.json @@ -636,6 +636,7 @@ "Horizon": "Horizon", "HCBlack": "High-contrast Black" }, + "prideMode": "Pride mode", "language": "Language", "translateToYourLanguage": "Translate ct.js!", "codeFontDefault": "Default (Iosevka Light)", @@ -890,4 +891,4 @@ "screen": "Screen (lighten)" } } -} \ No newline at end of file +} diff --git a/app/data/i18n/Russian.json b/app/data/i18n/Russian.json index 68e8c83f7..4581583d5 100644 --- a/app/data/i18n/Russian.json +++ b/app/data/i18n/Russian.json @@ -589,6 +589,7 @@ "Horizon": "Горизонт", "HCBlack": "Высококонтрастная чёрная" }, + "prideMode": "Прайд-режим", "codeFontDefault": "По умолчанию (Iosevka Light)", "codeFontOldSchool": "Старый-добрый", "codeFontSystem": "Системный", @@ -890,4 +891,4 @@ "visitAuthorsTwitter": "Посетить Twitter автора", "tipAuthor": "Подарите денюжку автору за их труд :D" } -} \ No newline at end of file +} diff --git a/src/riotTags/main-menu/main-menu-settings.tag b/src/riotTags/main-menu/main-menu-settings.tag index 74c51430e..7d9cc093a 100644 --- a/src/riotTags/main-menu/main-menu-settings.tag +++ b/src/riotTags/main-menu/main-menu-settings.tag @@ -13,6 +13,10 @@ main-menu-settings svg.feather use(xlink:href="#font") span {voc.codeFont} + li(onclick="{togglePrideMode}") + svg.feather + use(xlink:href="#{localStorage.prideMode === 'on' ? 'check-square' : 'square'}") + span {voc.prideMode} ul.aMenu li(onclick="{toggleSounds}") svg.feather @@ -51,6 +55,11 @@ main-menu-settings localStorage.disableSounds = (localStorage.disableSounds || 'off') === 'off' ? 'on' : 'off'; }; + this.togglePrideMode = () => { + localStorage.prideMode = (localStorage.prideMode || 'off') === 'off' ? 'on' : 'off'; + window.signals.trigger('prideModeUpdated'); + }; + this.toggleLigatures = () => { localStorage.codeLigatures = localStorage.codeLigatures === 'off' ? 'on' : 'off'; window.signals.trigger('codeFontUpdated'); diff --git a/src/riotTags/root-tag.tag b/src/riotTags/root-tag.tag index bf7b80cb1..01fba2573 100644 --- a/src/riotTags/root-tag.tag +++ b/src/riotTags/root-tag.tag @@ -1,4 +1,4 @@ -root-tag +root-tag(class="{pride: localStorage.prideMode === 'on'}") app-view(if="{projectOpened}") notepad-panel(if="{projectOpened}") dnd-processor(if="{projectOpened}") @@ -34,7 +34,7 @@ root-tag const stylesheet = document.createElement('style'); document.head.appendChild(stylesheet); const updateStylesheet = () => { - stylesheet.innerHTML = ` + let css = ` code, pre { font-family: ${localStorage.fontFamily || 'Iosevka, monospace'}; font-variant-ligatures: ${localStorage.codeLigatures === 'off' ? 'none' : 'normal'}; @@ -43,6 +43,10 @@ root-tag line-height: ${localStorage.codeDense === 'on' ? 1.5 : 1.75}; } `; + stylesheet.innerHTML = css; }; updateStylesheet(); window.signals.on('codeFontUpdated', updateStylesheet); + window.signals.on('prideModeUpdated', () => { + this.update(); + }); diff --git a/src/styl/tabs.styl b/src/styl/tabs.styl index 5f554b789..719f55014 100644 --- a/src/styl/tabs.styl +++ b/src/styl/tabs.styl @@ -1,20 +1,52 @@ -// табы -.tabbed - border-radius 0 0 br br - border 1px solid borderBright - border-top 0 none - padding 1em - background background - overflow auto - -.tabbed, .tall - h1, h2, h3, h4, h5, h6 - &:first-child - margin-top 0 -.tabwrap - flex-direction column - max-height 100% - width 100% - display flex - & > * - flex 1 1 auto +// табы +.tabbed + border-radius 0 0 br br + border 1px solid borderBright + border-top 0 none + padding 1em + background background + overflow auto + +.tabbed, .tall + h1, h2, h3, h4, h5, h6 + &:first-child + margin-top 0 +.tabwrap + flex-direction column + max-height 100% + width 100% + display flex + & > * + flex 1 1 auto + +root-tag.pride + app-view > nav ul + span + font-weight bolder + li:nth-child(6n + 4), &:first-child li:nth-child(6n + 1) // r + span, svg + color mix(act, #E40203, 10%) + li:nth-child(6n + 5), &:first-child li:nth-child(6n + 2) // o + span, svg + if (themeDark) + color mix(act, #FF8B00, 10%) + else + color shade(mix(act, #FF8B00, 10%), 10%) + li:nth-child(6n), &:first-child li:nth-child(6n + 3) // y + span, svg + if (themeDark) + color mix(act, #FEED00, 10%) + else + color shade(mix(act, #FEED00, 15%), 35%) + li:nth-child(6n + 1) // g + span, svg + color mix(act, #00AE25, 10%) + li:nth-child(6n + 2) // b + span, svg + if (themeDark) + color tint(mix(act, #0078FF, 10%), 20%) + else + color mix(act, #0078FF, 10%) + li:nth-child(6n + 3) // p + span, svg + color mix(act, #AE2FC6, 10%) From ac0db80c5e1a8c2c4baa280a9873de28b85ac438 Mon Sep 17 00:00:00 2001 From: Cosmo Myzrail Gorynych Date: Sat, 25 Jun 2022 23:57:41 +1200 Subject: [PATCH 015/128] :bug: Fix minor code style issues --- src/riotTags/root-tag.tag | 2 +- src/styl/tabs.styl | 37 ++++++++++++++++++++++--------------- 2 files changed, 23 insertions(+), 16 deletions(-) diff --git a/src/riotTags/root-tag.tag b/src/riotTags/root-tag.tag index 01fba2573..5317faed4 100644 --- a/src/riotTags/root-tag.tag +++ b/src/riotTags/root-tag.tag @@ -34,7 +34,7 @@ root-tag(class="{pride: localStorage.prideMode === 'on'}") const stylesheet = document.createElement('style'); document.head.appendChild(stylesheet); const updateStylesheet = () => { - let css = ` + const css = ` code, pre { font-family: ${localStorage.fontFamily || 'Iosevka, monospace'}; font-variant-ligatures: ${localStorage.codeLigatures === 'off' ? 'none' : 'normal'}; diff --git a/src/styl/tabs.styl b/src/styl/tabs.styl index 719f55014..692e77b37 100644 --- a/src/styl/tabs.styl +++ b/src/styl/tabs.styl @@ -19,34 +19,41 @@ & > * flex 1 1 auto +prideR = #E40203 +prideO = #FF8B00 +prideY = #FEED00 +prideG = #00AE25 +prideB = #0078FF +prideP = #AE2FC6 + root-tag.pride app-view > nav ul span font-weight bolder - li:nth-child(6n + 4), &:first-child li:nth-child(6n + 1) // r + li:nth-child(6n + 4), &:first-child li:nth-child(6n + 1) span, svg - color mix(act, #E40203, 10%) - li:nth-child(6n + 5), &:first-child li:nth-child(6n + 2) // o + color mix(act, prideR, 10%) + li:nth-child(6n + 5), &:first-child li:nth-child(6n + 2) span, svg if (themeDark) - color mix(act, #FF8B00, 10%) + color mix(act, prideO, 10%) else - color shade(mix(act, #FF8B00, 10%), 10%) - li:nth-child(6n), &:first-child li:nth-child(6n + 3) // y + color shade(mix(act, prideO, 10%), 10%) + li:nth-child(6n), &:first-child li:nth-child(6n + 3) span, svg if (themeDark) - color mix(act, #FEED00, 10%) + color mix(act, prideY, 10%) else - color shade(mix(act, #FEED00, 15%), 35%) - li:nth-child(6n + 1) // g + color shade(mix(act, prideY, 15%), 35%) + li:nth-child(6n + 1) span, svg - color mix(act, #00AE25, 10%) - li:nth-child(6n + 2) // b + color mix(act, prideG, 10%) + li:nth-child(6n + 2) span, svg if (themeDark) - color tint(mix(act, #0078FF, 10%), 20%) + color tint(mix(act, prideB, 10%), 20%) else - color mix(act, #0078FF, 10%) - li:nth-child(6n + 3) // p + color mix(act, prideB, 10%) + li:nth-child(6n + 3) span, svg - color mix(act, #AE2FC6, 10%) + color mix(act, prideP, 10%) From c6b03d882029cf34c0417e02abe64db943cc90d5 Mon Sep 17 00:00:00 2001 From: Cosmo Myzrail Gorynych Date: Tue, 28 Jun 2022 16:55:53 +1200 Subject: [PATCH 016/128] :construction: Lib replacement; stereo audio --- app/data/ct.libs/sound.basic/README.md | 27 -- app/data/ct.libs/sound.basic/index.js | 109 ------- app/data/ct.libs/sound.basic/module.json | 14 - app/data/ct.libs/sound.basic/types.d.ts | 58 ---- app/data/ct.libs/sound.howler/DOCS.md | 183 ------------ app/data/ct.libs/sound.howler/LICENSE | 46 --- app/data/ct.libs/sound.howler/README.md | 17 -- .../sound.howler/includes/howler.min.js | 6 - app/data/ct.libs/sound.howler/index.js | 273 ------------------ .../sound.howler/injections/afterroomdraw.js | 9 - .../sound.howler/injections/htmltop.html | 1 - app/data/ct.libs/sound.howler/module.json | 43 --- app/data/ct.libs/sound.howler/types.d.ts | 173 ----------- app/data/ct.release/index.html | 3 + app/data/ct.release/pixi-sound.js | 10 + app/data/ct.release/pixi-sound.js.map | 1 + app/data/ct.release/res.js | 28 +- app/data/ct.release/sound.js | 140 +++++++++ src/js/projectMigrationScripts/3.0.0.js | 20 ++ src/node_requires/exporter/html.js | 3 +- src/node_requires/exporter/index.js | 11 +- src/node_requires/exporter/sounds.js | 23 +- .../resources/projects/defaultProject.js | 3 +- src/pug/index.pug | 1 + src/riotTags/sounds/sound-editor.tag | 13 +- 25 files changed, 225 insertions(+), 990 deletions(-) delete mode 100644 app/data/ct.libs/sound.basic/README.md delete mode 100644 app/data/ct.libs/sound.basic/index.js delete mode 100644 app/data/ct.libs/sound.basic/module.json delete mode 100644 app/data/ct.libs/sound.basic/types.d.ts delete mode 100644 app/data/ct.libs/sound.howler/DOCS.md delete mode 100644 app/data/ct.libs/sound.howler/LICENSE delete mode 100644 app/data/ct.libs/sound.howler/README.md delete mode 100644 app/data/ct.libs/sound.howler/includes/howler.min.js delete mode 100644 app/data/ct.libs/sound.howler/index.js delete mode 100644 app/data/ct.libs/sound.howler/injections/afterroomdraw.js delete mode 100644 app/data/ct.libs/sound.howler/injections/htmltop.html delete mode 100644 app/data/ct.libs/sound.howler/module.json delete mode 100644 app/data/ct.libs/sound.howler/types.d.ts create mode 100644 app/data/ct.release/pixi-sound.js create mode 100644 app/data/ct.release/pixi-sound.js.map create mode 100644 app/data/ct.release/sound.js create mode 100644 src/js/projectMigrationScripts/3.0.0.js diff --git a/app/data/ct.libs/sound.basic/README.md b/app/data/ct.libs/sound.basic/README.md deleted file mode 100644 index f58115b46..000000000 --- a/app/data/ct.libs/sound.basic/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# ct.sound - -This module loads sounds and plays them in your game. - -## Methods - -### `ct.sound.init(name: String[, wav: String, mp3: String, options: object])` -Loads a new sound to a game's sound collection. This is usually done by editor, but you may need to load additional sounds during the playtime. - -Options include: -* `poolSize` that sets the maximum number of simultaneously played sounds, and is set to 5 by default; -* `music` that is set to `false` by default. Setting it to `true` disables preloading of this file. - - -### `ct.sound.spawn(name: String[, opts: Object, cb: Function])` - -Spawns a new sound and plays it. - -- `name` is the name of sound to be played; -- `opts` is a [config object](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio) that is applied to a newly created audio tag. Usually you will use `loop` (`true` or `false`) and `volume` (a float between 0 and 1) as its parameters; -- `cb` is a callback, which is called when the sound finishes playing. - -This method returns `HTMLTagAudio` – the created audio, or `false` in case a sound wasn't created. - -### `ct.sound.exists(name: String)` - -Returns whether or not a given sound exists in the game. \ No newline at end of file diff --git a/app/data/ct.libs/sound.basic/index.js b/app/data/ct.libs/sound.basic/index.js deleted file mode 100644 index de0ac482b..000000000 --- a/app/data/ct.libs/sound.basic/index.js +++ /dev/null @@ -1,109 +0,0 @@ -if (!ct.sound) { - /** - * @namespace - */ - ct.sound = { - /** - * Detects if a particular codec is supported in the system - * @param {string} type Codec/MIME-type to look for - * @returns {boolean} true/false - */ - detect(type) { - var au = document.createElement('audio'); - return Boolean(au.canPlayType && au.canPlayType(type).replace(/no/, '')); - }, - /** - * Creates a new Sound object and puts it in resource object - * - * @param {string} name Sound's name - * @param {object} formats A collection of sound files of specified extension, - * in format `extension: path` - * @param {string} [formats.ogg] Local path to the sound in ogg format - * @param {string} [formats.wav] Local path to the sound in wav format - * @param {string} [formats.mp3] Local path to the sound in mp3 format - * @param {number} [options] An options object - * - * @returns {object} Sound's object - */ - init(name, formats, options) { - var src = ''; - if (ct.sound.mp3 && formats.mp3) { - src = formats.mp3; - } else if (ct.sound.ogg && formats.ogg) { - src = formats.ogg; - } else if (ct.sound.wav && formats.wav) { - src = formats.wav; - } - options = options || {}; - var audio = { - src, - direct: document.createElement('audio'), - pool: [], - poolSize: options.poolSize || 5 - }; - if (src !== '') { - ct.res.soundsLoaded++; - audio.direct.preload = options.music ? 'metadata' : 'auto'; - audio.direct.onerror = audio.direct.onabort = function onabort() { - console.error('[ct.sound] Oh no! We couldn\'t load ' + src + '!'); - audio.buggy = true; - ct.res.soundsError++; - ct.res.soundsLoaded--; - }; - audio.direct.src = src; - } else { - ct.res.soundsError++; - audio.buggy = true; - console.error('[ct.sound] We couldn\'t load sound named "' + name + '" because the browser doesn\'t support any of proposed formats.'); - } - ct.res.sounds[name] = audio; - return audio; - }, - /** - * Spawns a new sound and plays it. - * - * @param {string} name The name of sound to be played - * @param {object} [opts] Options object that is applied to a newly created audio tag - * @param {Function} [cb] A callback, which is called when the sound finishes playing - * - * @returns {HTMLTagAudio|Boolean} The created audio or `false` (if a sound wasn't created) - */ - spawn(name, opts, cb) { - opts = opts || {}; - if (typeof opts === 'function') { - cb = opts; - } - var s = ct.res.sounds[name]; - if (s.pool.length < s.poolSize) { - var a = document.createElement('audio'); - a.src = s.src; - if (opts) { - ct.u.ext(a, opts); - } - s.pool.push(a); - a.addEventListener('ended', function soundEnded(e) { - s.pool.splice(s.pool.indexOf(a), 1); - if (cb) { - cb(true, e); - } - }); - - a.play(); - return a; - } else if (cb) { - cb(false); - } - return false; - }, - exists(name) { - return (name in ct.res.sounds); - } - }; - - // define sound types we can support - ct.sound.wav = ct.sound.detect('audio/wav; codecs="1"'); - ct.sound.mp3 = ct.sound.detect('audio/mpeg;'); - ct.sound.ogg = ct.sound.detect('audio/ogg;'); -} else { - console.error('Another sound system is already enabled. Disable `sound.basic` module in your ct.js project.'); -} diff --git a/app/data/ct.libs/sound.basic/module.json b/app/data/ct.libs/sound.basic/module.json deleted file mode 100644 index 4212b4ef0..000000000 --- a/app/data/ct.libs/sound.basic/module.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "main": { - "name": "ct.sound (basic)", - "tagline": "A simple and lightweight audio system. It doesn't like tons of concurrent sounds, but otherwise works.", - "version": "1.0.0", - "authors": [{ - "name": "Cosmo Myzrail Gorynych", - "mail": "admin@nersta.ru" - }], - "categories": [ - "media" - ] - } -} diff --git a/app/data/ct.libs/sound.basic/types.d.ts b/app/data/ct.libs/sound.basic/types.d.ts deleted file mode 100644 index f35f56928..000000000 --- a/app/data/ct.libs/sound.basic/types.d.ts +++ /dev/null @@ -1,58 +0,0 @@ -interface IBasicSoundOptions { - /** Whether to repeat the sound or not */ - loop: boolean; - /** The volume of the sound, between 0 and 1 */ - volume: number; -} -interface IBasicSoundCallback { (): void } - -interface IBasicSoundSrcs { - ogg?: string; - wav?: string; - mp3?: string; -} - -declare namespace ct { - namespace sound { - /** - * Spawns a new sound and plays it. - * - * @param {string} name The name of a sound to be played - * @param {IBasicSoundOptions} [options] An object that can have the following fields: - * @param {boolean} [options.loop] Whether to repeat the sound or not; - * @param {number} [options.volume] The volume of the sound, between 0 and 1; - * @param {IBasicSoundCallback} [cb] A callback which is called when the sound finishes playing - * - * @returns {HTMLTagAudio|false} The created audio or `false` (if a sound wasn't created) - */ - function spawn(name: string, options?: IBasicSoundOptions, cb?: IBasicSoundCallback): HTMLTagAudio|false; - - /** - * Detects if a particular codec is supported in the system - * @param {string} type - * @returns {boolean} - */ - function detect(type: string): boolean; - - /** - * Creates a new sound object and puts it in resource object - * - * @param {string} name sound's name - * @param {IBasicSoundSrcs} formats A collection of sound files of specified extension in format `extension: path` - * @param {string} [formats.ogg] Local path to the sound in ogg format - * @param {string} [formats.wav] Local path to the sound in wav format - * @param {string} [formats.mp3] Local path to the sound in mp3 format - * @param {Object} options An options object - * - * @returns {Object} sound's object - */ - function init(name: string, formats: IBasicSoundSrcs, poolSize?: number): void; - - /** - * Returns whether a sound with the specified name was added to the game. - * This doesn't tell whether it is fully loaded or not, it only checks - * for existance of sound's metadata in your game. - */ - function exists(name: string): boolean; - } -} \ No newline at end of file diff --git a/app/data/ct.libs/sound.howler/DOCS.md b/app/data/ct.libs/sound.howler/DOCS.md deleted file mode 100644 index ecd414506..000000000 --- a/app/data/ct.libs/sound.howler/DOCS.md +++ /dev/null @@ -1,183 +0,0 @@ -# Playing sounds - -## ct.sound.spawn(name, [options], [cb]) - -Spawns a new sound and plays it. - -### Params: - -* **String** *name* The name of a sound to be played -* **Object** *options* An object that can have the following fields: - * **Boolean** *loop* Whether to repeat the sound or not; - * **Number** *volume* The volume of the sound, between 0 and 1; - * **Number** *rate* The speed of playback, from 0.5 to 4; - * **Copy** *position* If specified, the sound will be a 3D sound positioned at the specified copy; - * **Number** *x, y and z* If specified, the sound will be a 3D sound positioned at the specified location. -* **Function** *[cb]* A callback, which is called when the sound finishes playing - -### Return: - -* **Number** The ID of the created sound. This can be passed to Howler methods. - -# 3D sounds - -If neither `position` nor `x` options of `ct.sound.spawn` are specified, the created sound will be a regular 2D sound with no positioning. -If they are set, a 3D sound will be creaated. It is configured by ct.sound.howler settings and by a set of [additional options from Howler.js](https://github.com/goldfire/howler.js#pannerattro-id). Location values are measured in pixels. - -**Example:** - -```js -ct.sound.spawn('LaserWall', { - volume: 0.35, - position: this -}); -``` - -This will create a 3D sound, which location mathes the position of the copy that spawned a sound. If "Use Depth" is enabled, the Z coordinate of a sound will also match a copy's `depth` value. This may be useful with custom setttings of directional sounds that emit waves in a cone. - -The listener itself is positioned in the following manner: - -1. By default, the listener is set at point (0;0;0). -2. If "Manage listener's position" is enabled, ct.sound.howler will position the listener to the center of the game view. -3. If `ct.sound.follow` is set, ct.sound.howler will attach listener to the specified copy (similar to how `ct.room.follow` works), even if "Manage listener's position" is enabled. - -You can manually position the listener by using `ct.sound.moveListener(x, y, z);`. Here, the `z` argument is optional. Other listener's parameters may be changed by modifying ct.sound.howler, which is [the Howler object](https://github.com/goldfire/howler.js#global-methods-1). - -# Manipulating sounds - -## ct.sound.volume(name, [volume], [id]) - -Changes/returns the volume of the given sound. - -### Params: - -* **String** *name* The name of a sound to affect. -* **Number** *[volume]* The new volume from `0.0` to `1.0`. If empty, will return the existing volume. -* **Number** *[id]* If specified, then only the given sound instance is affected. - -### Return: - -* **Number** The current volume of the sound. - -## ct.sound.fade(name, [newVolume], [duration], [id]) - -Fades a sound to a given volume. Can affect either a specific instance or the whole group. - -### Params: - -* **String** *name* The name of a sound to affect. -* **Number** *newVolume* The new volume from `0.0` to `1.0`. -* **Number** *duration* The duration of transition, in milliseconds. -* **Number** *[id]* If specified, then only the given sound instance is affected. - - -## ct.sound.stop(name, [id]) - -Stops playback of a sound, resetting its time to 0. - -### Params: - -* **String** *name* The name of a sound -* **Number** *[id]* An optional ID of a particular sound - - -## ct.sound.pause(name, [id]) - -Pauses playback of a sound or group, saving the seek of playback. - -### Params: - -* **String** *name* The name of a sound -* **Number** *[id]* An optional ID of a particular sound - - -## ct.sound.resume(name, [id]) - -Resumes a given sound, e.g. after pausing it. - -### Params: - -* **String** *name* The name of a sound -* **Number** *[id]* An optional ID of a particular sound - - -## ct.sound.position(name, id, x, y, z) - -Moves a 3D sound to a new location - -### Params: - -* **String** *name* The name of a sound to move -* **Number** *id* The ID of a particular sound. Pass `null` if you want to affect all the sounds of a given name. -* **Number** *x* The new x coordinate -* **Number** *y* The new y coordinate -* **Number** *[z]* The new z coordinate. May be omitted, and it will then leave the old `z` value untouched. - - -# Utilities - -## ct.sound.load(name) - -Preloads a sound. This is usually applied to music files before playing them, -as they are not preloaded by default. - -### Params: - -* **String** *name* The name of a sound - - -## ct.sound.playing(name, [id]) - -Returns whether a sound is currently playing, either an exact sound (found by its ID) or any sound of a given name. - -### Params: - -* **String** *name* The name of a sound -* **Number** *[id]* An optional ID of a particular sound - -### Return: - -* **Boolean** `true` if the sound is playing, `false` otherwise. - - -## ct.sound.globalVolume(volume) - -Get/set the global volume for all sounds, relative to their own volume. - -### Params: - -* **Number** *[volume]* The new volume from `0.0` to `1.0`. If omitted, will return the current global volume. - -### Return: - -* **Number** The current volume. - - -## ct.sound.detect(type) - -Detects if a particular codec is supported in the system - -### Params: - -* **String** *type* One of: "mp3", "mpeg", "opus", "ogg", "oga", "wav", "aac", "caf", m4a", "mp4", "weba", "webm", "dolby", "flac". - -### Return: - -* **Boolean** true/false - -## ct.sound.init(name, formats, [poolSize=5]) - -Creates a new Sound object and puts it in ct.res.sounds object. This is automatically done by the engine for all the imported sounds, but you may need to load additional sounds during the playtime. - -### Params: - -* **String** *name* Sound's name -* **Object** *formats* An object with paths to sound files: - * **String** *[wav]* Local path to the sound in wav format - * **String** *[mp3]* Local path to the sound in mp3 format - * **String** *[ogg]* Local path to the sound in ogg format -* **Object** *[options]* An options object. Options include `volume` (0-1), `loop` (`true` / `false`), `music` and `poolSize`, though the latter is usually set to default value of `5`. - -### Return: - -* **Object** Sound's object \ No newline at end of file diff --git a/app/data/ct.libs/sound.howler/LICENSE b/app/data/ct.libs/sound.howler/LICENSE deleted file mode 100644 index d4185febf..000000000 --- a/app/data/ct.libs/sound.howler/LICENSE +++ /dev/null @@ -1,46 +0,0 @@ -======================== ct.sound.howler ============================ - -Copyright (c) 2018-2019 Cosmo Myzrail Gorynych - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -========================== Howler.js ============================== - -Copyright (c) 2013-2018 James Simpson and GoldFire Studios, Inc. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/app/data/ct.libs/sound.howler/README.md b/app/data/ct.libs/sound.howler/README.md deleted file mode 100644 index b2497002e..000000000 --- a/app/data/ct.libs/sound.howler/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# ct.sound.howler - -This module replaces the functionality of ct.sound with [Howler.js library](https://github.com/goldfire/howler.js). It creates a more reliable sound system with additional functions like spacial audio, fading, volume changing. - -Includes [Howler.js](https://github.com/goldfire/howler.js) v2.2.0. - -## Is it compatible with the default `ct.sound` library? - -This module aims to seamlessly replace `ct.sound`, but it also adds new functions. See the docs tab for more info. - -## How to get actual Howl objects? - -All the Howl objects are stored in `ct.res.sounds`, like `ct.res.sounds['Puff']`. You can use these objects to use [other Howler's functions](https://github.com/goldfire/howler.js#methods). - -## What is the difference between "music" and generic audio assets? - -All the sounds not marked as `music` are preloaded before the actual game starts. Music can be preloaded manually with a `ct.sound.load('MusicNameHere');` function, or it will just start loading when requested. Also, under the hood, "music" files play in a way that is more effective for large soundtracks. diff --git a/app/data/ct.libs/sound.howler/includes/howler.min.js b/app/data/ct.libs/sound.howler/includes/howler.min.js deleted file mode 100644 index b752c93c8..000000000 --- a/app/data/ct.libs/sound.howler/includes/howler.min.js +++ /dev/null @@ -1,6 +0,0 @@ -/*! howler.js v2.2.0 | (c) 2013-2020, James Simpson of GoldFire Studios | MIT License | howlerjs.com */ -!function(){"use strict";var e=function(){this.init()};e.prototype={init:function(){var e=this||n;return e._counter=1e3,e._html5AudioPool=[],e.html5PoolSize=10,e._codecs={},e._howls=[],e._muted=!1,e._volume=1,e._canPlayEvent="canplaythrough",e._navigator="undefined"!=typeof window&&window.navigator?window.navigator:null,e.masterGain=null,e.noAudio=!1,e.usingWebAudio=!0,e.autoSuspend=!0,e.ctx=null,e.autoUnlock=!0,e._setup(),e},volume:function(e){var o=this||n;if(e=parseFloat(e),o.ctx||_(),void 0!==e&&e>=0&&e<=1){if(o._volume=e,o._muted)return o;o.usingWebAudio&&o.masterGain.gain.setValueAtTime(e,n.ctx.currentTime);for(var t=0;t=0;o--)e._howls[o].unload();return e.usingWebAudio&&e.ctx&&void 0!==e.ctx.close&&(e.ctx.close(),e.ctx=null,_()),e},codecs:function(e){return(this||n)._codecs[e.replace(/^x-/,"")]},_setup:function(){var e=this||n;if(e.state=e.ctx?e.ctx.state||"suspended":"suspended",e._autoSuspend(),!e.usingWebAudio)if("undefined"!=typeof Audio)try{var o=new Audio;void 0===o.oncanplaythrough&&(e._canPlayEvent="canplay")}catch(n){e.noAudio=!0}else e.noAudio=!0;try{var o=new Audio;o.muted&&(e.noAudio=!0)}catch(e){}return e.noAudio||e._setupCodecs(),e},_setupCodecs:function(){var e=this||n,o=null;try{o="undefined"!=typeof Audio?new Audio:null}catch(n){return e}if(!o||"function"!=typeof o.canPlayType)return e;var t=o.canPlayType("audio/mpeg;").replace(/^no$/,""),r=e._navigator&&e._navigator.userAgent.match(/OPR\/([0-6].)/g),a=r&&parseInt(r[0].split("/")[1],10)<33;return e._codecs={mp3:!(a||!t&&!o.canPlayType("audio/mp3;").replace(/^no$/,"")),mpeg:!!t,opus:!!o.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/,""),ogg:!!o.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),oga:!!o.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),wav:!!o.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),aac:!!o.canPlayType("audio/aac;").replace(/^no$/,""),caf:!!o.canPlayType("audio/x-caf;").replace(/^no$/,""),m4a:!!(o.canPlayType("audio/x-m4a;")||o.canPlayType("audio/m4a;")||o.canPlayType("audio/aac;")).replace(/^no$/,""),m4b:!!(o.canPlayType("audio/x-m4b;")||o.canPlayType("audio/m4b;")||o.canPlayType("audio/aac;")).replace(/^no$/,""),mp4:!!(o.canPlayType("audio/x-mp4;")||o.canPlayType("audio/mp4;")||o.canPlayType("audio/aac;")).replace(/^no$/,""),weba:!!o.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,""),webm:!!o.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,""),dolby:!!o.canPlayType('audio/mp4; codecs="ec-3"').replace(/^no$/,""),flac:!!(o.canPlayType("audio/x-flac;")||o.canPlayType("audio/flac;")).replace(/^no$/,"")},e},_unlockAudio:function(){var e=this||n;if(!e._audioUnlocked&&e.ctx){e._audioUnlocked=!1,e.autoUnlock=!1,e._mobileUnloaded||44100===e.ctx.sampleRate||(e._mobileUnloaded=!0,e.unload()),e._scratchBuffer=e.ctx.createBuffer(1,1,22050);var o=function(n){for(;e._html5AudioPool.length0?i._seek:t._sprite[e][0]/1e3),s=Math.max(0,(t._sprite[e][0]+t._sprite[e][1])/1e3-_),l=1e3*s/Math.abs(i._rate),c=t._sprite[e][0]/1e3,f=(t._sprite[e][0]+t._sprite[e][1])/1e3;i._sprite=e,i._ended=!1;var p=function(){i._paused=!1,i._seek=_,i._start=c,i._stop=f,i._loop=!(!i._loop&&!t._sprite[e][2])};if(_>=f)return void t._ended(i);var m=i._node;if(t._webAudio){var v=function(){t._playLock=!1,p(),t._refreshBuffer(i);var e=i._muted||t._muted?0:i._volume;m.gain.setValueAtTime(e,n.ctx.currentTime),i._playStart=n.ctx.currentTime,void 0===m.bufferSource.start?i._loop?m.bufferSource.noteGrainOn(0,_,86400):m.bufferSource.noteGrainOn(0,_,s):i._loop?m.bufferSource.start(0,_,86400):m.bufferSource.start(0,_,s),l!==1/0&&(t._endTimers[i._id]=setTimeout(t._ended.bind(t,i),l)),o||setTimeout(function(){t._emit("play",i._id),t._loadQueue()},0)};"running"===n.state&&"interrupted"!==n.ctx.state?v():(t._playLock=!0,t.once("resume",v),t._clearTimer(i._id))}else{var h=function(){m.currentTime=_,m.muted=i._muted||t._muted||n._muted||m.muted,m.volume=i._volume*n.volume(),m.playbackRate=i._rate;try{var r=m.play();if(r&&"undefined"!=typeof Promise&&(r instanceof Promise||"function"==typeof r.then)?(t._playLock=!0,p(),r.then(function(){t._playLock=!1,m._unlocked=!0,o||(t._emit("play",i._id),t._loadQueue())}).catch(function(){t._playLock=!1,t._emit("playerror",i._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction."),i._ended=!0,i._paused=!0})):o||(t._playLock=!1,p(),t._emit("play",i._id),t._loadQueue()),m.playbackRate=i._rate,m.paused)return void t._emit("playerror",i._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction.");"__default"!==e||i._loop?t._endTimers[i._id]=setTimeout(t._ended.bind(t,i),l):(t._endTimers[i._id]=function(){t._ended(i),m.removeEventListener("ended",t._endTimers[i._id],!1)},m.addEventListener("ended",t._endTimers[i._id],!1))}catch(e){t._emit("playerror",i._id,e)}};"data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA"===m.src&&(m.src=t._src,m.load());var y=window&&window.ejecta||!m.readyState&&n._navigator.isCocoonJS;if(m.readyState>=3||y)h();else{t._playLock=!0;var g=function(){h(),m.removeEventListener(n._canPlayEvent,g,!1)};m.addEventListener(n._canPlayEvent,g,!1),t._clearTimer(i._id)}}return i._id},pause:function(e){var n=this;if("loaded"!==n._state||n._playLock)return n._queue.push({event:"pause",action:function(){n.pause(e)}}),n;for(var o=n._getSoundIds(e),t=0;t=0?o=parseInt(r[0],10):e=parseFloat(r[0])}else r.length>=2&&(e=parseFloat(r[0]),o=parseInt(r[1],10));var a;if(!(void 0!==e&&e>=0&&e<=1))return a=o?t._soundById(o):t._sounds[0],a?a._volume:0;if("loaded"!==t._state||t._playLock)return t._queue.push({event:"volume",action:function(){t.volume.apply(t,r)}}),t;void 0===o&&(t._volume=e),o=t._getSoundIds(o);for(var u=0;u0?t/_:t),l=Date.now();e._fadeTo=o,e._interval=setInterval(function(){var r=(Date.now()-l)/t;l=Date.now(),i+=d*r,i=d<0?Math.max(o,i):Math.min(o,i),i=Math.round(100*i)/100,u._webAudio?e._volume=i:u.volume(i,e._id,!0),a&&(u._volume=i),(on&&i>=o)&&(clearInterval(e._interval),e._interval=null,e._fadeTo=null,u.volume(o,e._id),u._emit("fade",e._id))},s)},_stopFade:function(e){var o=this,t=o._soundById(e);return t&&t._interval&&(o._webAudio&&t._node.gain.cancelScheduledValues(n.ctx.currentTime),clearInterval(t._interval),t._interval=null,o.volume(t._fadeTo,e),t._fadeTo=null,o._emit("fade",e)),o},loop:function(){var e,n,o,t=this,r=arguments;if(0===r.length)return t._loop;if(1===r.length){if("boolean"!=typeof r[0])return!!(o=t._soundById(parseInt(r[0],10)))&&o._loop;e=r[0],t._loop=e}else 2===r.length&&(e=r[0],n=parseInt(r[1],10));for(var a=t._getSoundIds(n),u=0;u=0?o=parseInt(r[0],10):e=parseFloat(r[0])}else 2===r.length&&(e=parseFloat(r[0]),o=parseInt(r[1],10));var i;if("number"!=typeof e)return i=t._soundById(o),i?i._rate:t._rate;if("loaded"!==t._state||t._playLock)return t._queue.push({event:"rate",action:function(){t.rate.apply(t,r)}}),t;void 0===o&&(t._rate=e),o=t._getSoundIds(o);for(var d=0;d=0?o=parseInt(r[0],10):t._sounds.length&&(o=t._sounds[0]._id,e=parseFloat(r[0]))}else 2===r.length&&(e=parseFloat(r[0]),o=parseInt(r[1],10));if(void 0===o)return t;if("loaded"!==t._state||t._playLock)return t._queue.push({event:"seek",action:function(){t.seek.apply(t,r)}}),t;var i=t._soundById(o);if(i){if(!("number"==typeof e&&e>=0)){if(t._webAudio){var d=t.playing(o)?n.ctx.currentTime-i._playStart:0,_=i._rateSeek?i._rateSeek-i._seek:0;return i._seek+(_+d*Math.abs(i._rate))}return i._node.currentTime}var s=t.playing(o);s&&t.pause(o,!0),i._seek=e,i._ended=!1,t._clearTimer(o),t._webAudio||!i._node||isNaN(i._node.duration)||(i._node.currentTime=e);var l=function(){t._emit("seek",o),s&&t.play(o,!0)};if(s&&!t._webAudio){var c=function(){t._playLock?setTimeout(c,0):l()};setTimeout(c,0)}else l()}return t},playing:function(e){var n=this;if("number"==typeof e){var o=n._soundById(e);return!!o&&!o._paused}for(var t=0;t=0&&n._howls.splice(a,1);var u=!0;for(t=0;t=0){u=!1;break}return r&&u&&delete r[e._src],n.noAudio=!1,e._state="unloaded",e._sounds=[],e=null,null},on:function(e,n,o,t){var r=this,a=r["_on"+e];return"function"==typeof n&&a.push(t?{id:o,fn:n,once:t}:{id:o,fn:n}),r},off:function(e,n,o){var t=this,r=t["_on"+e],a=0;if("number"==typeof n&&(o=n,n=null),n||o)for(a=0;a=0;a--)r[a].id&&r[a].id!==n&&"load"!==e||(setTimeout(function(e){e.call(this,n,o)}.bind(t,r[a].fn),0),r[a].once&&t.off(e,r[a].fn,r[a].id));return t._loadQueue(e),t},_loadQueue:function(e){var n=this;if(n._queue.length>0){var o=n._queue[0];o.event===e&&(n._queue.shift(),n._loadQueue()),e||o.action()}return n},_ended:function(e){var o=this,t=e._sprite;if(!o._webAudio&&e._node&&!e._node.paused&&!e._node.ended&&e._node.currentTime=0;t--){if(o<=n)return;e._sounds[t]._ended&&(e._webAudio&&e._sounds[t]._node&&e._sounds[t]._node.disconnect(0),e._sounds.splice(t,1),o--)}}},_getSoundIds:function(e){var n=this;if(void 0===e){for(var o=[],t=0;t=0;if(n._scratchBuffer&&e.bufferSource&&(e.bufferSource.onended=null,e.bufferSource.disconnect(0),t))try{e.bufferSource.buffer=n._scratchBuffer}catch(e){}return e.bufferSource=null,o},_clearSound:function(e){/MSIE |Trident\//.test(n._navigator&&n._navigator.userAgent)||(e.src="data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA")}};var t=function(e){this._parent=e,this.init()};t.prototype={init:function(){var e=this,o=e._parent;return e._muted=o._muted,e._loop=o._loop,e._volume=o._volume,e._rate=o._rate,e._seek=0,e._paused=!0,e._ended=!0,e._sprite="__default",e._id=++n._counter,o._sounds.push(e),e.create(),e},create:function(){var e=this,o=e._parent,t=n._muted||e._muted||e._parent._muted?0:e._volume;return o._webAudio?(e._node=void 0===n.ctx.createGain?n.ctx.createGainNode():n.ctx.createGain(),e._node.gain.setValueAtTime(t,n.ctx.currentTime),e._node.paused=!0,e._node.connect(n.masterGain)):n.noAudio||(e._node=n._obtainHtml5Audio(),e._errorFn=e._errorListener.bind(e),e._node.addEventListener("error",e._errorFn,!1),e._loadFn=e._loadListener.bind(e),e._node.addEventListener(n._canPlayEvent,e._loadFn,!1),e._node.src=o._src,e._node.preload=!0===o._preload?"auto":o._preload,e._node.volume=t*n.volume(),e._node.load()),e},reset:function(){var e=this,o=e._parent;return e._muted=o._muted,e._loop=o._loop,e._volume=o._volume,e._rate=o._rate,e._seek=0,e._rateSeek=0,e._paused=!0,e._ended=!0,e._sprite="__default",e._id=++n._counter,e},_errorListener:function(){var e=this;e._parent._emit("loaderror",e._id,e._node.error?e._node.error.code:0),e._node.removeEventListener("error",e._errorFn,!1)},_loadListener:function(){var e=this,o=e._parent;o._duration=Math.ceil(10*e._node.duration)/10,0===Object.keys(o._sprite).length&&(o._sprite={__default:[0,1e3*o._duration]}),"loaded"!==o._state&&(o._state="loaded",o._emit("load"),o._loadQueue()),e._node.removeEventListener(n._canPlayEvent,e._loadFn,!1)}};var r={},a=function(e){var n=e._src;if(r[n])return e._duration=r[n].duration,void d(e);if(/^data:[^;]+;base64,/.test(n)){for(var o=atob(n.split(",")[1]),t=new Uint8Array(o.length),a=0;a0?(r[o._src]=e,d(o,e)):t()};"undefined"!=typeof Promise&&1===n.ctx.decodeAudioData.length?n.ctx.decodeAudioData(e).then(a).catch(t):n.ctx.decodeAudioData(e,a,t)},d=function(e,n){n&&!e._duration&&(e._duration=n.duration),0===Object.keys(e._sprite).length&&(e._sprite={__default:[0,1e3*e._duration]}),"loaded"!==e._state&&(e._state="loaded",e._emit("load"),e._loadQueue())},_=function(){if(n.usingWebAudio){try{"undefined"!=typeof AudioContext?n.ctx=new AudioContext:"undefined"!=typeof webkitAudioContext?n.ctx=new webkitAudioContext:n.usingWebAudio=!1}catch(e){n.usingWebAudio=!1}n.ctx||(n.usingWebAudio=!1);var e=/iP(hone|od|ad)/.test(n._navigator&&n._navigator.platform),o=n._navigator&&n._navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/),t=o?parseInt(o[1],10):null;if(e&&t&&t<9){var r=/safari/.test(n._navigator&&n._navigator.userAgent.toLowerCase());n._navigator&&!r&&(n.usingWebAudio=!1)}n.usingWebAudio&&(n.masterGain=void 0===n.ctx.createGain?n.ctx.createGainNode():n.ctx.createGain(),n.masterGain.gain.setValueAtTime(n._muted?0:n._volume,n.ctx.currentTime),n.masterGain.connect(n.ctx.destination)),n._setup()}};"function"==typeof define&&define.amd&&define([],function(){return{Howler:n,Howl:o}}),"undefined"!=typeof exports&&(exports.Howler=n,exports.Howl=o),"undefined"!=typeof global?(global.HowlerGlobal=e,global.Howler=n,global.Howl=o,global.Sound=t):"undefined"!=typeof window&&(window.HowlerGlobal=e,window.Howler=n,window.Howl=o,window.Sound=t)}(); -/*! Spatial Plugin */ -!function(){"use strict";HowlerGlobal.prototype._pos=[0,0,0],HowlerGlobal.prototype._orientation=[0,0,-1,0,1,0],HowlerGlobal.prototype.stereo=function(e){var n=this;if(!n.ctx||!n.ctx.listener)return n;for(var t=n._howls.length-1;t>=0;t--)n._howls[t].stereo(e);return n},HowlerGlobal.prototype.pos=function(e,n,t){var r=this;return r.ctx&&r.ctx.listener?(n="number"!=typeof n?r._pos[1]:n,t="number"!=typeof t?r._pos[2]:t,"number"!=typeof e?r._pos:(r._pos=[e,n,t],void 0!==r.ctx.listener.positionX?(r.ctx.listener.positionX.setTargetAtTime(r._pos[0],Howler.ctx.currentTime,.1),r.ctx.listener.positionY.setTargetAtTime(r._pos[1],Howler.ctx.currentTime,.1),r.ctx.listener.positionZ.setTargetAtTime(r._pos[2],Howler.ctx.currentTime,.1)):r.ctx.listener.setPosition(r._pos[0],r._pos[1],r._pos[2]),r)):r},HowlerGlobal.prototype.orientation=function(e,n,t,r,o,i){var a=this;if(!a.ctx||!a.ctx.listener)return a;var s=a._orientation;return n="number"!=typeof n?s[1]:n,t="number"!=typeof t?s[2]:t,r="number"!=typeof r?s[3]:r,o="number"!=typeof o?s[4]:o,i="number"!=typeof i?s[5]:i,"number"!=typeof e?s:(a._orientation=[e,n,t,r,o,i],void 0!==a.ctx.listener.forwardX?(a.ctx.listener.forwardX.setTargetAtTime(e,Howler.ctx.currentTime,.1),a.ctx.listener.forwardY.setTargetAtTime(n,Howler.ctx.currentTime,.1),a.ctx.listener.forwardZ.setTargetAtTime(t,Howler.ctx.currentTime,.1),a.ctx.listener.upX.setTargetAtTime(r,Howler.ctx.currentTime,.1),a.ctx.listener.upY.setTargetAtTime(o,Howler.ctx.currentTime,.1),a.ctx.listener.upZ.setTargetAtTime(i,Howler.ctx.currentTime,.1)):a.ctx.listener.setOrientation(e,n,t,r,o,i),a)},Howl.prototype.init=function(e){return function(n){var t=this;return t._orientation=n.orientation||[1,0,0],t._stereo=n.stereo||null,t._pos=n.pos||null,t._pannerAttr={coneInnerAngle:void 0!==n.coneInnerAngle?n.coneInnerAngle:360,coneOuterAngle:void 0!==n.coneOuterAngle?n.coneOuterAngle:360,coneOuterGain:void 0!==n.coneOuterGain?n.coneOuterGain:0,distanceModel:void 0!==n.distanceModel?n.distanceModel:"inverse",maxDistance:void 0!==n.maxDistance?n.maxDistance:1e4,panningModel:void 0!==n.panningModel?n.panningModel:"HRTF",refDistance:void 0!==n.refDistance?n.refDistance:1,rolloffFactor:void 0!==n.rolloffFactor?n.rolloffFactor:1},t._onstereo=n.onstereo?[{fn:n.onstereo}]:[],t._onpos=n.onpos?[{fn:n.onpos}]:[],t._onorientation=n.onorientation?[{fn:n.onorientation}]:[],e.call(this,n)}}(Howl.prototype.init),Howl.prototype.stereo=function(n,t){var r=this;if(!r._webAudio)return r;if("loaded"!==r._state)return r._queue.push({event:"stereo",action:function(){r.stereo(n,t)}}),r;var o=void 0===Howler.ctx.createStereoPanner?"spatial":"stereo";if(void 0===t){if("number"!=typeof n)return r._stereo;r._stereo=n,r._pos=[n,0,0]}for(var i=r._getSoundIds(t),a=0;a=0;t--)n._howls[t].stereo(e);return n},HowlerGlobal.prototype.pos=function(e,n,t){var r=this;return r.ctx&&r.ctx.listener?(n="number"!=typeof n?r._pos[1]:n,t="number"!=typeof t?r._pos[2]:t,"number"!=typeof e?r._pos:(r._pos=[e,n,t],void 0!==r.ctx.listener.positionX?(r.ctx.listener.positionX.setTargetAtTime(r._pos[0],Howler.ctx.currentTime,.1),r.ctx.listener.positionY.setTargetAtTime(r._pos[1],Howler.ctx.currentTime,.1),r.ctx.listener.positionZ.setTargetAtTime(r._pos[2],Howler.ctx.currentTime,.1)):r.ctx.listener.setPosition(r._pos[0],r._pos[1],r._pos[2]),r)):r},HowlerGlobal.prototype.orientation=function(e,n,t,r,o,i){var a=this;if(!a.ctx||!a.ctx.listener)return a;var s=a._orientation;return n="number"!=typeof n?s[1]:n,t="number"!=typeof t?s[2]:t,r="number"!=typeof r?s[3]:r,o="number"!=typeof o?s[4]:o,i="number"!=typeof i?s[5]:i,"number"!=typeof e?s:(a._orientation=[e,n,t,r,o,i],void 0!==a.ctx.listener.forwardX?(a.ctx.listener.forwardX.setTargetAtTime(e,Howler.ctx.currentTime,.1),a.ctx.listener.forwardY.setTargetAtTime(n,Howler.ctx.currentTime,.1),a.ctx.listener.forwardZ.setTargetAtTime(t,Howler.ctx.currentTime,.1),a.ctx.listener.upX.setTargetAtTime(r,Howler.ctx.currentTime,.1),a.ctx.listener.upY.setTargetAtTime(o,Howler.ctx.currentTime,.1),a.ctx.listener.upZ.setTargetAtTime(i,Howler.ctx.currentTime,.1)):a.ctx.listener.setOrientation(e,n,t,r,o,i),a)},Howl.prototype.init=function(e){return function(n){var t=this;return t._orientation=n.orientation||[1,0,0],t._stereo=n.stereo||null,t._pos=n.pos||null,t._pannerAttr={coneInnerAngle:void 0!==n.coneInnerAngle?n.coneInnerAngle:360,coneOuterAngle:void 0!==n.coneOuterAngle?n.coneOuterAngle:360,coneOuterGain:void 0!==n.coneOuterGain?n.coneOuterGain:0,distanceModel:void 0!==n.distanceModel?n.distanceModel:"inverse",maxDistance:void 0!==n.maxDistance?n.maxDistance:1e4,panningModel:void 0!==n.panningModel?n.panningModel:"HRTF",refDistance:void 0!==n.refDistance?n.refDistance:1,rolloffFactor:void 0!==n.rolloffFactor?n.rolloffFactor:1},t._onstereo=n.onstereo?[{fn:n.onstereo}]:[],t._onpos=n.onpos?[{fn:n.onpos}]:[],t._onorientation=n.onorientation?[{fn:n.onorientation}]:[],e.call(this,n)}}(Howl.prototype.init),Howl.prototype.stereo=function(n,t){var r=this;if(!r._webAudio)return r;if("loaded"!==r._state)return r._queue.push({event:"stereo",action:function(){r.stereo(n,t)}}),r;var o=void 0===Howler.ctx.createStereoPanner?"spatial":"stereo";if(void 0===t){if("number"!=typeof n)return r._stereo;r._stereo=n,r._pos=[n,0,0]}for(var i=r._getSoundIds(t),a=0;a { - howl.pannerAttr({ - coneInnerAngle: opts.coneInnerAngle || 360, - coneOuterAngle: opts.coneOuterAngle || 360, - coneOuterGain: opts.coneOuterGain || 1, - distanceModel: opts.distanceModel || 'linear', - maxDistance: opts.maxDistance || defaultMaxDistance, - refDistance: opts.refDistance || 1, - rolloffFactor: opts.rolloffFactor || 1, - panningModel: opts.panningModel || 'HRTF' - }, id); - }; - /** - * Spawns a new sound and plays it. - * - * @param {string} name The name of a sound to be played - * @param {object} [opts] Options object. - * @param {Function} [cb] A callback, which is called when the sound finishes playing - * - * @returns {number} The ID of the created sound. This can be passed to Howler methods. - */ - ct.sound.spawn = function spawn(name, opts, cb) { - opts = opts || {}; - if (typeof opts === 'function') { - cb = opts; - opts = {}; - } - var howl = ct.res.sounds[name]; - var id = howl.play(); - if (opts.loop) { - howl.loop(true, id); - } - if (opts.volume !== void 0) { - howl.volume(opts.volume, id); - } - if (opts.rate !== void 0) { - howl.rate(opts.rate, id); - } - if (opts.x !== void 0 || opts.position) { - if (opts.x !== void 0) { - howl.pos(opts.x, opts.y || 0, opts.z || 0, id); - } else { - const copy = opts.position; - howl.pos(copy.x, copy.y, opts.z || (ct.sound.useDepth ? copy.depth : 0), id); - } - set3Dparameters(howl, opts, id); - } - if (cb) { - howl.once('end', cb, id); - } - return id; - }; - - /** - * Stops playback of a sound, resetting its time to 0. - * - * @param {string} name The name of a sound - * @param {number} [id] An optional ID of a particular sound - * @returns {void} - */ - ct.sound.stop = function stop(name, id) { - if (ct.sound.playing(name, id)) { - ct.res.sounds[name].stop(id); - } - }; - - /** - * Pauses playback of a sound or group, saving the seek of playback. - * - * @param {string} name The name of a sound - * @param {number} [id] An optional ID of a particular sound - * @returns {void} - */ - ct.sound.pause = function pause(name, id) { - ct.res.sounds[name].pause(id); - }; - - /** - * Resumes a given sound, e.g. after pausing it. - * - * @param {string} name The name of a sound - * @param {number} [id] An optional ID of a particular sound - * @returns {void} - */ - ct.sound.resume = function resume(name, id) { - ct.res.sounds[name].play(id); - }; - /** - * Returns whether a sound is currently playing, - * either an exact sound (found by its ID) or any sound of a given name. - * - * @param {string} name The name of a sound - * @param {number} [id] An optional ID of a particular sound - * @returns {boolean} `true` if the sound is playing, `false` otherwise. - */ - ct.sound.playing = function playing(name, id) { - return ct.res.sounds[name].playing(id); - }; - /** - * Preloads a sound. This is usually applied to music files before playing - * as they are not preloaded by default. - * - * @param {string} name The name of a sound - * @returns {void} - */ - ct.sound.load = function load(name) { - ct.res.sounds[name].load(); - }; - - - /** - * Changes/returns the volume of the given sound. - * - * @param {string} name The name of a sound to affect. - * @param {number} [volume] The new volume from `0.0` to `1.0`. - * If empty, will return the existing volume. - * @param {number} [id] If specified, then only the given sound instance is affected. - * - * @returns {number} The current volume of the sound. - */ - ct.sound.volume = function volume(name, volume, id) { - return ct.res.sounds[name].volume(volume, id); - }; - - /** - * Fades a sound to a given volume. Can affect either a specific instance or the whole group. - * - * @param {string} name The name of a sound to affect. - * @param {number} newVolume The new volume from `0.0` to `1.0`. - * @param {number} duration The duration of transition, in milliseconds. - * @param {number} [id] If specified, then only the given sound instance is affected. - * - * @returns {void} - */ - ct.sound.fade = function fade(name, newVolume, duration, id) { - if (ct.sound.playing(name, id)) { - var howl = ct.res.sounds[name], - oldVolume = id ? howl.volume(id) : howl.volume; - try { - howl.fade(oldVolume, newVolume, duration, id); - } catch (e) { - // eslint-disable-next-line no-console - console.warn('Could not reliably fade a sound, reason:', e); - ct.sound.volume(name, newVolume, id); - } - } - }; - - /** - * Moves the 3D listener to a new position. - * - * @see https://github.com/goldfire/howler.js#posx-y-z - * - * @param {number} x The new x coordinate - * @param {number} y The new y coordinate - * @param {number} [z] The new z coordinate - * - * @returns {void} - */ - ct.sound.moveListener = function moveListener(x, y, z) { - Howler.pos(x, y, z || 0); - }; - - /** - * Moves a 3D sound to a new location - * - * @param {string} name The name of a sound to move - * @param {number} id The ID of a particular sound. - * Pass `null` if you want to affect all the sounds of a given name. - * @param {number} x The new x coordinate - * @param {number} y The new y coordinate - * @param {number} [z] The new z coordinate - * - * @returns {void} - */ - ct.sound.position = function position(name, id, x, y, z) { - if (ct.sound.playing(name, id)) { - var howl = ct.res.sounds[name], - oldPosition = howl.pos(id); - howl.pos(x, y, z || oldPosition[2], id); - } - }; - - /** - * Get/set the global volume for all sounds, relative to their own volume. - * @param {number} [volume] The new volume from `0.0` to `1.0`. - * If omitted, will return the current global volume. - * - * @returns {number} The current volume. - */ - ct.sound.globalVolume = Howler.volume.bind(Howler); - - ct.sound.exists = function exists(name) { - return (name in ct.res.sounds); - }; -})(); diff --git a/app/data/ct.libs/sound.howler/injections/afterroomdraw.js b/app/data/ct.libs/sound.howler/injections/afterroomdraw.js deleted file mode 100644 index 5a50a9f02..000000000 --- a/app/data/ct.libs/sound.howler/injections/afterroomdraw.js +++ /dev/null @@ -1,9 +0,0 @@ -if (ct.sound.follow && !ct.sound.follow.kill) { - ct.sound.howler.pos( - ct.sound.follow.x, - ct.sound.follow.y, - ct.sound.useDepth ? ct.sound.follow.z : 0 - ); -} else if (ct.sound.manageListenerPosition) { - ct.sound.howler.pos(ct.camera.x, ct.camera.y, ct.camera.z || 0); -} diff --git a/app/data/ct.libs/sound.howler/injections/htmltop.html b/app/data/ct.libs/sound.howler/injections/htmltop.html deleted file mode 100644 index 32f356a8e..000000000 --- a/app/data/ct.libs/sound.howler/injections/htmltop.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/app/data/ct.libs/sound.howler/module.json b/app/data/ct.libs/sound.howler/module.json deleted file mode 100644 index 1daa419df..000000000 --- a/app/data/ct.libs/sound.howler/module.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "main": { - "name": "ct.sound.howler", - "tagline": "Add 3D sounds, sound transitions, load music dynamically and apply effects.", - "tagline_Ru": "Добавь 3D аудио, затухание, загружай музыку динамически и применяй эффекты.", - "version": "1.2.0", - "authors": [{ - "name": "Cosmo Myzrail Gorynych", - "mail": "admin@nersta.ru" - }], - "categories": [ - "media" - ] - }, - "fields": [{ - "name": "Default max hearing distance", - "name_Ru": "Максимальный радиус слышимости по-умолчанию", - "help": "Sets the default falloff of all the sounds called with `ct.sound.spawn` and positioning parameters, in pixels. See the docs for more info about 3D sounds.", - "help_Ru": "Устанавливает максимальный радиус слышимости всем звукам, которым был указан источник в пространстве. Обратись к документации для доп. информации о 3D звуках.", - "key": "defaultMaxDistance", - "id": "defaultMaxDistance", - "default": 2500, - "type": "number" - }, { - "name": "Use depth", - "name_Ru": "Использовать глубину", - "help": "If enabled, `ct.sound.spawn` calls with `position` parameter will set the Z coordinate of a sound to the copy's depth parameter. See the docs for more info about 3D sounds.", - "help_Ru": "Если включено, вызовы `ct.sound.spawn` с параметром `position` установят Z-координату источника звука согласно глубине копии в аргументе position. Обратись к документации для доп. информации о 3D звуках.", - "key": "useDepth", - "id": "useDepth", - "default": false, - "type": "checkbox" - }, { - "name": "Manage listener's position", - "name_Ru": "Управлять расположением слушателя", - "help": "If enabled, ct.sound will position the listener to the center of the view. It has a lower priority over `ct.sound.follow` parameter. See the docs for manual positioning.", - "help_Ru": "Если включено, ct.sound разместит виртуального слушателя по центру экрана, или же к отслеживаемой через `ct.sound.follow` копии. Обратись к документации для ручной настройки.", - "key": "manageListenerPosition", - "id": "manageListenerPosition", - "default": true, - "type": "checkbox" - }] -} diff --git a/app/data/ct.libs/sound.howler/types.d.ts b/app/data/ct.libs/sound.howler/types.d.ts deleted file mode 100644 index b8f762a92..000000000 --- a/app/data/ct.libs/sound.howler/types.d.ts +++ /dev/null @@ -1,173 +0,0 @@ -interface IHowlerSoundOptions { - /** Whether to repeat the sound or not */ - loop?: boolean; - /** The volume of the sound, between 0 and 1 */ - volume?: number; - /** The speed of playback, from 0.5 to 4 */ - rate?: number; - /** If specified, the sound will be a 3D sound positioned at the specified copy */ - position?: Copy; - /** If specified, the sound will be a 3D sound positioned at the specified location */ - x?: number; - /** If specified, the sound will be a 3D sound positioned at the specified location */ - y?: number; - /** If specified, the sound will be a 3D sound positioned at the specified location */ - z?: number; -} -interface IHowlerPlayCallback { (): void } - -interface IHowlerSrcs { - ogg?: string; - wav?: string; - mp3?: string; -} - -declare namespace ct { - namespace sound { - /** - * Spawns a new sound and plays it. - * - * @param {string} name The name of a sound to be played - * @param {IHowlerSoundOptions} [options] An object that can have the following fields: - * @param {boolean} [options.loop] Whether to repeat the sound or not; - * @param {number} [options.volume] The volume of the sound, between 0 and 1; - * @param {number} [options.rate] The speed of playback, from 0.5 to 4; - * @param {Copy} [options.position] If specified, the sound will be a 3D sound positioned at the specified copy; - * @param {number} [options.x] If specified, the sound will be a 3D sound positioned at the specified location - * @param {number} [options.y] If specified, the sound will be a 3D sound positioned at the specified location. - * @param {number} [options.z] If specified, the sound will be a 3D sound positioned at the specified location. - * @param {IHowlerPlayCallback} [cb] A callback, which is called when the sound finishes playing - * - * @returns {number} The ID of the created sound. This can be passed to Howler methods. - */ - function spawn(name: string, options?: IHowlerSoundOptions, cb?: IHowlerPlayCallback): number; - - /** - * Changes/returns the volume of the given sound. - * - * @param {string} name The name of a sound to affect. - * @param {number} [volume] The new volume from `0.0` to `1.0`. If empty, will return the existing volume. - * @param {number} [id] If specified, then only the given sound instance is affected. - * - * @returns {number} The current volume of the sound. - */ - function volume(name: string, volume?: number, id?: number): number; - - /** - * Fades a sound to a given volume. Can affect either a specific instance or the whole group. - * - * @param {string} name The name of a sound to affect. - * @param {number} newVolume The new volume from `0.0` to `1.0`. - * @param {number} duration The duration of transition, in milliseconds. - * @param {number} [id] If specified, then only the given sound instance is affected. - * - * @returns {void} - */ - function fade(name: string, newVolume?: number, duration?: number, id?: number): void; - - /** - * Stops playback of a sound, resetting its time to 0. - * - * @param {string} name The name of a sound - * @param {number} [id] An optional ID of a particular sound - * @returns {void} - */ - function stop(name: string, id?: number): void; - - /** - * Pauses playback of a sound or group, saving the seek of playback. - * - * @param {string} name The name of a sound - * @param {number} [id] An optional ID of a particular sound - * @returns {void} - */ - function pause(name: string, id?: number): void; - - /** - * Resumes a given sound, e.g. after pausing it. - * - * @param {string} name The name of a sound - * @param {number} [id] An optional ID of a particular sound - * @returns {void} - */ - function resume(name: string, id?: number): void; - - /** - * Moves a 3D sound to a new location - * - * @param {string} name The name of a sound to move - * @param {number} id The ID of a particular sound. Pass `null` if you want to affect all the sounds of a given name. - * @param {number} x The new x coordinate - * @param {number} y The new y coordinate - * @param {number} [z] The new z coordinate - * - * @returns {void} - */ - function position(name: string, id: number, x: number, y: number, z?: number): void; - - /** - * Preloads a sound. This is usually applied to music files before playing - * as they are not preloaded by default. - * - * @param {string} name The name of a sound - * @returns {void} - */ - function load(name: string): void; - - /** - * Returns whether a sound is currently playing, - * either an exact sound (found by its ID) or any sound of a given name. - * - * @param {string} name The name of a sound - * @param {number} [id] An optional ID of a particular sound - * @returns {boolean} `true` if the sound is playing, `false` otherwise. - */ - function playing(name: string, id?: number): boolean; - - /** - * Get/set the global volume for all sounds, relative to their own volume. - * - * @param {number} [volume] The new volume from `0.0` to `1.0`. If omitted, will return the current global volume. - * - * @returns {number} The current volume. - */ - function globalVolume(volume: number): number; - - /** - * Detects if a particular codec is supported in the system - * @param {string} type One of: "mp3", "mpeg", "opus", "ogg", "oga", "wav", "aac", "caf", m4a", "mp4", "weba", "webm", "dolby", "flac". - * @returns {boolean} true/false - */ - function detect(type: string): boolean; - - /** - * Creates a new Sound object and puts it in resource object - * - * @param {string} name Sound's name - * @param {IHowlerSrcs} formats A collection of sound files of specified extension, in format `extension: path` - * @param {string} [formats.ogg] Local path to the sound in ogg format - * @param {string} [formats.wav] Local path to the sound in wav format - * @param {string} [formats.mp3] Local path to the sound in mp3 format - * @param {Object} options An options object - * - * @returns {Object} Sound's object - */ - function init(name: string, formats: IHowlerSrcs, poolSize?: number): void; - - /** - * Moves the 3D listener to a new position. - * - * @see https://github.com/goldfire/howler.js#posx-y-z - * - * @param {number} x The new x coordinate - * @param {number} y The new y coordinate - * @param {number} [z] The new z coordinate - * - * @returns {void} - */ - function moveListener(x: number, y: number, z?: number): void; - - /** A copy to set listener's position to. Used with 3D sounds. */ - var follow: Copy | PIXI.DisplayObject; - } -} diff --git a/app/data/ct.release/index.html b/app/data/ct.release/index.html index a03a41cf5..86ff554b8 100644 --- a/app/data/ct.release/index.html +++ b/app/data/ct.release/index.html @@ -59,6 +59,9 @@ + + + diff --git a/app/data/ct.release/pixi-sound.js b/app/data/ct.release/pixi-sound.js new file mode 100644 index 000000000..f8fcc24f3 --- /dev/null +++ b/app/data/ct.release/pixi-sound.js @@ -0,0 +1,10 @@ +/*! + * @pixi/sound - v4.2.0 + * https://github.com/pixijs/pixi-sound + * Compiled Wed, 05 Jan 2022 14:56:00 UTC + * + * @pixi/sound is licensed under the MIT license. + * http://www.opensource.org/licenses/mit-license + */ +this.PIXI=this.PIXI||{},this.PIXI.sound=function(t,e,n,o){"use strict";var i;function r(){return i}var s=function(t,e){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)};function u(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}s(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var a=function(){return(a=Object.assign||function(t){for(var e,n=1,o=arguments.length;n-1?t.sound=r().add(t.name,{loaded:e,preload:!0,url:t.url,source:t.data}):e()},e}(),_=0,y=function(t){function e(e){var n=t.call(this)||this;return n.id=_++,n.init(e),n}return u(e,t),e.prototype.set=function(t,e){if(void 0===this[t])throw new Error("Property with name ".concat(t," does not exist."));switch(t){case"speed":this.speed=e;break;case"volume":this.volume=e;break;case"paused":this.paused=e;break;case"loop":this.loop=e;break;case"muted":this.muted=e}return this},Object.defineProperty(e.prototype,"progress",{get:function(){return this._source.currentTime/this._duration},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"paused",{get:function(){return this._paused},set:function(t){this._paused=t,this.refreshPaused()},enumerable:!1,configurable:!0}),e.prototype._onPlay=function(){this._playing=!0},e.prototype._onPause=function(){this._playing=!1},e.prototype.init=function(t){this._playing=!1,this._duration=t.source.duration;var e=this._source=t.source.cloneNode(!1);e.src=t.parent.url,e.onplay=this._onPlay.bind(this),e.onpause=this._onPause.bind(this),t.context.on("refresh",this.refresh,this),t.context.on("refreshPaused",this.refreshPaused,this),this._media=t},e.prototype._internalStop=function(){this._source&&this._playing&&(this._source.onended=null,this._source.pause())},e.prototype.stop=function(){this._internalStop(),this._source&&this.emit("stop")},Object.defineProperty(e.prototype,"speed",{get:function(){return this._speed},set:function(t){this._speed=t,this.refresh()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"volume",{get:function(){return this._volume},set:function(t){this._volume=t,this.refresh()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"loop",{get:function(){return this._loop},set:function(t){this._loop=t,this.refresh()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"muted",{get:function(){return this._muted},set:function(t){this._muted=t,this.refresh()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"filters",{get:function(){return null},set:function(t){},enumerable:!1,configurable:!0}),e.prototype.refresh=function(){var t=this._media.context,e=this._media.parent;this._source.loop=this._loop||e.loop;var n=t.volume*(t.muted?0:1),o=e.volume*(e.muted?0:1),i=this._volume*(this._muted?0:1);this._source.volume=i*n*o,this._source.playbackRate=this._speed*t.speed*e.speed},e.prototype.refreshPaused=function(){var t=this._media.context,e=this._media.parent,n=this._paused||e.paused||t.paused;n!==this._pausedReal&&(this._pausedReal=n,n?(this._internalStop(),this.emit("paused")):(this.emit("resumed"),this.play({start:this._source.currentTime,end:this._end,volume:this._volume,speed:this._speed,loop:this._loop})),this.emit("pause",n))},e.prototype.play=function(t){var o=this,i=t.start,r=t.end,s=t.speed,u=t.loop,a=t.volume,c=t.muted;this._speed=s,this._volume=a,this._loop=!!u,this._muted=c,this.refresh(),this.loop&&null!==r&&(this.loop=!1),this._start=i,this._end=r||this._duration,this._start=Math.max(0,this._start-e.PADDING),this._end=Math.min(this._end+e.PADDING,this._duration),this._source.onloadedmetadata=function(){o._source&&(o._source.currentTime=i,o._source.onloadedmetadata=null,o.emit("progress",i,o._duration),n.Ticker.shared.add(o._onUpdate,o))},this._source.onended=this._onComplete.bind(this),this._source.play(),this.emit("start")},e.prototype._onUpdate=function(){this.emit("progress",this.progress,this._duration),this._source.currentTime>=this._end&&!this._source.loop&&this._onComplete()},e.prototype._onComplete=function(){n.Ticker.shared.remove(this._onUpdate,this),this._internalStop(),this.emit("progress",1,this._duration),this.emit("end",this)},e.prototype.destroy=function(){n.Ticker.shared.remove(this._onUpdate,this),this.removeAllListeners();var t=this._source;t&&(t.onended=null,t.onplay=null,t.onpause=null,this._internalStop()),this._source=null,this._speed=1,this._volume=1,this._loop=!1,this._end=null,this._start=0,this._duration=0,this._playing=!1,this._pausedReal=!1,this._paused=!1,this._muted=!1,this._media&&(this._media.context.off("refresh",this.refresh,this),this._media.context.off("refreshPaused",this.refreshPaused,this),this._media=null)},e.prototype.toString=function(){return"[HTMLAudioInstance id=".concat(this.id,"]")},e.PADDING=.1,e}(e.EventEmitter),m=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return u(e,t),e.prototype.init=function(t){this.parent=t,this._source=t.options.source||new Audio,t.url&&(this._source.src=t.url)},e.prototype.create=function(){return new y(this)},Object.defineProperty(e.prototype,"isPlayable",{get:function(){return!!this._source&&4===this._source.readyState},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"duration",{get:function(){return this._source.duration},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"context",{get:function(){return this.parent.context},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"filters",{get:function(){return null},set:function(t){},enumerable:!1,configurable:!0}),e.prototype.destroy=function(){this.removeAllListeners(),this.parent=null,this._source&&(this._source.src="",this._source.load(),this._source=null)},Object.defineProperty(e.prototype,"source",{get:function(){return this._source},enumerable:!1,configurable:!0}),e.prototype.load=function(t){var e=this._source,n=this.parent;if(4!==e.readyState)if(n.url){e.src=n.url;var o=function(){s(),n.isLoaded=!0;var e=n.autoPlayStart();t&&t(null,n,e)},i=function(){s(),t&&t(new Error("Sound loading has been aborted"))},r=function(){s();var n="Failed to load audio element (code: ".concat(e.error.code,")");t&&t(new Error(n))},s=function(){e.removeEventListener("canplaythrough",o),e.removeEventListener("load",o),e.removeEventListener("abort",i),e.removeEventListener("error",r)};e.addEventListener("canplaythrough",o,!1),e.addEventListener("load",o,!1),e.addEventListener("abort",i,!1),e.addEventListener("error",r,!1),e.load()}else t(new Error("sound.url or sound.source must be set"));else{n.isLoaded=!0;var u=n.autoPlayStart();t&&setTimeout((function(){t(null,n,u)}),0)}},e}(e.EventEmitter),g=function(){function t(t,e){this.parent=t,Object.assign(this,e),this.duration=this.end-this.start}return t.prototype.play=function(t){return this.parent.play({complete:t,speed:this.speed||this.parent.speed,end:this.end,start:this.start,loop:this.loop})},t.prototype.destroy=function(){this.parent=null},t}(),b=function(){function t(){}return t.setParamValue=function(t,e){if(t.setValueAtTime){var n=r().context;t.setValueAtTime(e,n.audioContext.currentTime)}else t.value=e;return e},t}(),v=0,P=function(t){function e(e){var n=t.call(this)||this;return n.id=v++,n._media=null,n._paused=!1,n._muted=!1,n._elapsed=0,n.init(e),n}return u(e,t),e.prototype.set=function(t,e){if(void 0===this[t])throw new Error("Property with name ".concat(t," does not exist."));switch(t){case"speed":this.speed=e;break;case"volume":this.volume=e;break;case"muted":this.muted=e;break;case"loop":this.loop=e;break;case"paused":this.paused=e}return this},e.prototype.stop=function(){this._source&&(this._internalStop(),this.emit("stop"))},Object.defineProperty(e.prototype,"speed",{get:function(){return this._speed},set:function(t){this._speed=t,this.refresh(),this._update(!0)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"volume",{get:function(){return this._volume},set:function(t){this._volume=t,this.refresh()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"muted",{get:function(){return this._muted},set:function(t){this._muted=t,this.refresh()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"loop",{get:function(){return this._loop},set:function(t){this._loop=t,this.refresh()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"filters",{get:function(){return this._filters},set:function(t){var e;this._filters&&(null===(e=this._filters)||void 0===e||e.filter((function(t){return t})).forEach((function(t){return t.disconnect()})),this._filters=null,this._source.connect(this._gain)),this._filters=(null==t?void 0:t.length)?t.slice(0):null,this.refresh()},enumerable:!1,configurable:!0}),e.prototype.refresh=function(){if(this._source){var t=this._media.context,e=this._media.parent;this._source.loop=this._loop||e.loop;var n=t.volume*(t.muted?0:1),o=e.volume*(e.muted?0:1),i=this._volume*(this._muted?0:1);b.setParamValue(this._gain.gain,i*o*n),b.setParamValue(this._source.playbackRate,this._speed*e.speed*t.speed),this.applyFilters()}},e.prototype.applyFilters=function(){var t;if(null===(t=this._filters)||void 0===t?void 0:t.length){this._source.disconnect();var e=this._source;this._filters.forEach((function(t){e.connect(t.destination),e=t})),e.connect(this._gain)}},e.prototype.refreshPaused=function(){var t=this._media.context,e=this._media.parent,n=this._paused||e.paused||t.paused;n!==this._pausedReal&&(this._pausedReal=n,n?(this._internalStop(),this.emit("paused")):(this.emit("resumed"),this.play({start:this._elapsed%this._duration,end:this._end,speed:this._speed,loop:this._loop,volume:this._volume})),this.emit("pause",n))},e.prototype.play=function(t){var e=t.start,n=t.end,o=t.speed,i=t.loop,r=t.volume,s=t.muted,u=t.filters;this._paused=!1;var a=this._media.nodes.cloneBufferSource(),c=a.source,l=a.gain;this._source=c,this._gain=l,this._speed=o,this._volume=r,this._loop=!!i,this._muted=s,this._filters=u,this.refresh();var p=this._source.buffer.duration;this._duration=p,this._end=n,this._lastUpdate=this._now(),this._elapsed=e,this._source.onended=this._onComplete.bind(this),this._loop?(this._source.loopEnd=n,this._source.loopStart=e,this._source.start(0,e)):n?this._source.start(0,e,n-e):this._source.start(0,e),this.emit("start"),this._update(!0),this.enableTicker(!0)},e.prototype.enableTicker=function(t){n.Ticker.shared.remove(this._updateListener,this),t&&n.Ticker.shared.add(this._updateListener,this)},Object.defineProperty(e.prototype,"progress",{get:function(){return this._progress},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"paused",{get:function(){return this._paused},set:function(t){this._paused=t,this.refreshPaused()},enumerable:!1,configurable:!0}),e.prototype.destroy=function(){var t;this.removeAllListeners(),this._internalStop(),this._gain&&(this._gain.disconnect(),this._gain=null),this._media&&(this._media.context.events.off("refresh",this.refresh,this),this._media.context.events.off("refreshPaused",this.refreshPaused,this),this._media=null),null===(t=this._filters)||void 0===t||t.forEach((function(t){return t.disconnect()})),this._filters=null,this._end=null,this._speed=1,this._volume=1,this._loop=!1,this._elapsed=0,this._duration=0,this._paused=!1,this._muted=!1,this._pausedReal=!1},e.prototype.toString=function(){return"[WebAudioInstance id=".concat(this.id,"]")},e.prototype._now=function(){return this._media.context.audioContext.currentTime},e.prototype._updateListener=function(){this._update()},e.prototype._update=function(t){if(void 0===t&&(t=!1),this._source){var e=this._now(),n=e-this._lastUpdate;if(n>0||t){var o=this._source.playbackRate.value;this._elapsed+=n*o,this._lastUpdate=e;var i=this._duration,r=void 0;if(this._source.loopStart){var s=this._source.loopEnd-this._source.loopStart;r=(this._source.loopStart+this._elapsed%s)/i}else r=this._elapsed%i/i;this._progress=r,this.emit("progress",this._progress,i)}}},e.prototype.init=function(t){this._media=t,t.context.events.on("refresh",this.refresh,this),t.context.events.on("refreshPaused",this.refreshPaused,this)},e.prototype._internalStop=function(){if(this._source){this.enableTicker(!1),this._source.onended=null,this._source.stop(0),this._source.disconnect();try{this._source.buffer=null}catch(t){}this._source=null}},e.prototype._onComplete=function(){if(this._source){this.enableTicker(!1),this._source.onended=null,this._source.disconnect();try{this._source.buffer=null}catch(t){}}this._source=null,this._progress=1,this.emit("progress",1,this._duration),this.emit("end",this)},e}(e.EventEmitter),x=function(){function t(t,e){this._output=e,this._input=t}return Object.defineProperty(t.prototype,"destination",{get:function(){return this._input},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"filters",{get:function(){return this._filters},set:function(t){var e=this;if(this._filters&&(this._filters.forEach((function(t){t&&t.disconnect()})),this._filters=null,this._input.connect(this._output)),t&&t.length){this._filters=t.slice(0),this._input.disconnect();var n=null;t.forEach((function(t){null===n?e._input.connect(t.destination):n.connect(t.destination),n=t})),n.connect(this._output)}},enumerable:!1,configurable:!0}),t.prototype.destroy=function(){this.filters=null,this._input=null,this._output=null},t}(),O=function(t){function e(e){var n=this,o=e.audioContext,i=o.createBufferSource(),r=o.createGain(),s=o.createAnalyser();return i.connect(s),s.connect(r),r.connect(e.destination),(n=t.call(this,s,r)||this).context=e,n.bufferSource=i,n.gain=r,n.analyser=s,n}return u(e,t),Object.defineProperty(e.prototype,"script",{get:function(){return this._script||(this._script=this.context.audioContext.createScriptProcessor(e.BUFFER_SIZE),this._script.connect(this.context.destination)),this._script},enumerable:!1,configurable:!0}),e.prototype.destroy=function(){t.prototype.destroy.call(this),this.bufferSource.disconnect(),this._script&&this._script.disconnect(),this.gain.disconnect(),this.analyser.disconnect(),this.bufferSource=null,this._script=null,this.gain=null,this.analyser=null,this.context=null},e.prototype.cloneBufferSource=function(){var t=this.bufferSource,e=this.context.audioContext.createBufferSource();e.buffer=t.buffer,b.setParamValue(e.playbackRate,t.playbackRate.value),e.loop=t.loop;var n=this.context.audioContext.createGain();return e.connect(n),n.connect(this.destination),{source:e,gain:n}},Object.defineProperty(e.prototype,"bufferSize",{get:function(){return this.script.bufferSize},enumerable:!1,configurable:!0}),e.BUFFER_SIZE=0,e}(x),j=function(){function t(){}return t.prototype.init=function(t){this.parent=t,this._nodes=new O(this.context),this._source=this._nodes.bufferSource,this.source=t.options.source},t.prototype.destroy=function(){this.parent=null,this._nodes.destroy(),this._nodes=null;try{this._source.buffer=null}catch(t){}this._source=null,this.source=null},t.prototype.create=function(){return new P(this)},Object.defineProperty(t.prototype,"context",{get:function(){return this.parent.context},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isPlayable",{get:function(){return!!this._source&&!!this._source.buffer},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"filters",{get:function(){return this._nodes.filters},set:function(t){this._nodes.filters=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"duration",{get:function(){return this._source.buffer.duration},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"buffer",{get:function(){return this._source.buffer},set:function(t){this._source.buffer=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"nodes",{get:function(){return this._nodes},enumerable:!1,configurable:!0}),t.prototype.load=function(t){this.source?this._decode(this.source,t):this.parent.url?this._loadUrl(t):t&&t(new Error("sound.url or sound.source must be set"))},t.prototype._loadUrl=function(t){var e=this,n=new XMLHttpRequest,o=this.parent.url;n.open("GET",o,!0),n.responseType="arraybuffer",n.onload=function(){e.source=n.response,e._decode(n.response,t)},n.send()},t.prototype._decode=function(t,e){var n=this,o=function(t,o){if(t)e&&e(t);else{n.parent.isLoaded=!0,n.buffer=o;var i=n.parent.autoPlayStart();e&&e(null,n.parent,i)}};t instanceof AudioBuffer?o(null,t):this.parent.context.decode(t,o)},t}(),E=function(){function t(t,e){this.media=t,this.options=e,this._instances=[],this._sprites={},this.media.init(this);var n=e.complete;this._autoPlayOptions=n?{complete:n}:null,this.isLoaded=!1,this.isPlaying=!1,this.autoPlay=e.autoPlay,this.singleInstance=e.singleInstance,this.preload=e.preload||this.autoPlay,this.url=e.url,this.speed=e.speed,this.volume=e.volume,this.loop=e.loop,e.sprites&&this.addSprites(e.sprites),this.preload&&this._preload(e.loaded)}return t.from=function(e){var n={};return"string"==typeof e?n.url=e:e instanceof ArrayBuffer||e instanceof AudioBuffer||e instanceof HTMLAudioElement?n.source=e:n=e,(n=a({autoPlay:!1,singleInstance:!1,url:null,source:null,preload:!1,volume:1,speed:1,complete:null,loaded:null,loop:!1},n)).url&&(n.url=f(n.url)),Object.freeze(n),new t(r().useLegacy?new m:new j,n)},Object.defineProperty(t.prototype,"context",{get:function(){return r().context},enumerable:!1,configurable:!0}),t.prototype.pause=function(){return this.isPlaying=!1,this.paused=!0,this},t.prototype.resume=function(){return this.isPlaying=this._instances.length>0,this.paused=!1,this},Object.defineProperty(t.prototype,"paused",{get:function(){return this._paused},set:function(t){this._paused=t,this.refreshPaused()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"speed",{get:function(){return this._speed},set:function(t){this._speed=t,this.refresh()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"filters",{get:function(){return this.media.filters},set:function(t){this.media.filters=t},enumerable:!1,configurable:!0}),t.prototype.addSprites=function(t,e){if("object"==typeof t){var n={};for(var o in t)n[o]=this.addSprites(o,t[o]);return n}var i=new g(this,e);return this._sprites[t]=i,i},t.prototype.destroy=function(){this._removeInstances(),this.removeSprites(),this.media.destroy(),this.media=null,this._sprites=null,this._instances=null},t.prototype.removeSprites=function(t){if(t){var e=this._sprites[t];void 0!==e&&(e.destroy(),delete this._sprites[t])}else for(var n in this._sprites)this.removeSprites(n);return this},Object.defineProperty(t.prototype,"isPlayable",{get:function(){return this.isLoaded&&this.media&&this.media.isPlayable},enumerable:!1,configurable:!0}),t.prototype.stop=function(){if(!this.isPlayable)return this.autoPlay=!1,this._autoPlayOptions=null,this;this.isPlaying=!1;for(var t=this._instances.length-1;t>=0;t--)this._instances[t].stop();return this},t.prototype.play=function(t,e){var n,o=this;"string"==typeof t?n={sprite:r=t,loop:this.loop,complete:e}:"function"==typeof t?(n={}).complete=t:n=t;if((n=a({complete:null,loaded:null,sprite:null,end:null,start:0,volume:1,speed:1,muted:!1,loop:!1},n||{})).sprite){var i=n.sprite,r=this._sprites[i];n.start=r.start+(n.start||0),n.end=r.end,n.speed=r.speed||1,n.loop=r.loop||n.loop,delete n.sprite}if(n.offset&&(n.start=n.offset),!this.isLoaded)return new Promise((function(t,e){o.autoPlay=!0,o._autoPlayOptions=n,o._preload((function(o,i,r){o?e(o):(n.loaded&&n.loaded(o,i,r),t(r))}))}));(this.singleInstance||n.singleInstance)&&this._removeInstances();var s=this._createInstance();return this._instances.push(s),this.isPlaying=!0,s.once("end",(function(){n.complete&&n.complete(o),o._onComplete(s)})),s.once("stop",(function(){o._onComplete(s)})),s.play(n),s},t.prototype.refresh=function(){for(var t=this._instances.length,e=0;e=0;t--)this._poolInstance(this._instances[t]);this._instances.length=0},t.prototype._onComplete=function(t){if(this._instances){var e=this._instances.indexOf(t);e>-1&&this._instances.splice(e,1),this.isPlaying=this._instances.length>0}this._poolInstance(t)},t.prototype._createInstance=function(){if(t._pool.length>0){var e=t._pool.pop();return e.init(this.media),e}return this.media.create()},t.prototype._poolInstance=function(e){e.destroy(),t._pool.indexOf(e)<0&&t._pool.push(e)},t._pool=[],t}(),w=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.speed=1,e.muted=!1,e.volume=1,e.paused=!1,e}return u(e,t),e.prototype.refresh=function(){this.emit("refresh")},e.prototype.refreshPaused=function(){this.emit("refreshPaused")},Object.defineProperty(e.prototype,"filters",{get:function(){return null},set:function(t){},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"audioContext",{get:function(){return null},enumerable:!1,configurable:!0}),e.prototype.toggleMute=function(){return this.muted=!this.muted,this.refresh(),this.muted},e.prototype.togglePause=function(){return this.paused=!this.paused,this.refreshPaused(),this.paused},e.prototype.destroy=function(){this.removeAllListeners()},e}(e.EventEmitter),L=function(t){function n(){var o=this,i=window,r=new n.AudioContext,s=r.createDynamicsCompressor(),u=r.createAnalyser();return u.connect(s),s.connect(r.destination),(o=t.call(this,u,s)||this)._ctx=r,o._offlineCtx=new n.OfflineAudioContext(1,2,i.OfflineAudioContext?r.sampleRate:44100),o._unlocked=!1,o.compressor=s,o.analyser=u,o.events=new e.EventEmitter,o.volume=1,o.speed=1,o.muted=!1,o.paused=!1,"running"!==r.state&&(o._unlock(),o._unlock=o._unlock.bind(o),document.addEventListener("mousedown",o._unlock,!0),document.addEventListener("touchstart",o._unlock,!0),document.addEventListener("touchend",o._unlock,!0)),o}return u(n,t),n.prototype._unlock=function(){this._unlocked||(this.playEmptySound(),"running"===this._ctx.state&&(document.removeEventListener("mousedown",this._unlock,!0),document.removeEventListener("touchend",this._unlock,!0),document.removeEventListener("touchstart",this._unlock,!0),this._unlocked=!0))},n.prototype.playEmptySound=function(){var t=this._ctx.createBufferSource();t.buffer=this._ctx.createBuffer(1,1,22050),t.connect(this._ctx.destination),t.start(0,0,0),"suspended"===t.context.state&&t.context.resume()},Object.defineProperty(n,"AudioContext",{get:function(){var t=window;return t.AudioContext||t.webkitAudioContext||null},enumerable:!1,configurable:!0}),Object.defineProperty(n,"OfflineAudioContext",{get:function(){var t=window;return t.OfflineAudioContext||t.webkitOfflineAudioContext||null},enumerable:!1,configurable:!0}),n.prototype.destroy=function(){t.prototype.destroy.call(this);var e=this._ctx;void 0!==e.close&&e.close(),this.events.removeAllListeners(),this.analyser.disconnect(),this.compressor.disconnect(),this.analyser=null,this.compressor=null,this.events=null,this._offlineCtx=null,this._ctx=null},Object.defineProperty(n.prototype,"audioContext",{get:function(){return this._ctx},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"offlineContext",{get:function(){return this._offlineCtx},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"paused",{get:function(){return this._paused},set:function(t){t&&"running"===this._ctx.state?this._ctx.suspend():t||"suspended"!==this._ctx.state||this._ctx.resume(),this._paused=t},enumerable:!1,configurable:!0}),n.prototype.refresh=function(){this.events.emit("refresh")},n.prototype.refreshPaused=function(){this.events.emit("refreshPaused")},n.prototype.toggleMute=function(){return this.muted=!this.muted,this.refresh(),this.muted},n.prototype.togglePause=function(){return this.paused=!this.paused,this.refreshPaused(),this._paused},n.prototype.decode=function(t,e){var n=function(t){e(new Error(t.message||"Unable to decode file"))},o=this._offlineCtx.decodeAudioData(t,(function(t){e(null,t)}),n);o&&o.catch(n)},n}(x),A=function(){function t(){this.init()}return t.prototype.init=function(){return this.supported&&(this._webAudioContext=new L),this._htmlAudioContext=new w,this._sounds={},this.useLegacy=!this.supported,this},Object.defineProperty(t.prototype,"context",{get:function(){return this._context},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"filtersAll",{get:function(){return this.useLegacy?[]:this._context.filters},set:function(t){this.useLegacy||(this._context.filters=t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"supported",{get:function(){return null!==L.AudioContext},enumerable:!1,configurable:!0}),t.prototype.add=function(t,e){if("object"==typeof t){var n={};for(var o in t){var i=this._getOptions(t[o],e);n[o]=this.add(o,i)}return n}if(e instanceof E)return this._sounds[t]=e,e;var r=this._getOptions(e),s=E.from(r);return this._sounds[t]=s,s},t.prototype._getOptions=function(t,e){var n;return n="string"==typeof t?{url:t}:t instanceof ArrayBuffer||t instanceof AudioBuffer||t instanceof HTMLAudioElement?{source:t}:t,n=a(a({},n),e||{})},Object.defineProperty(t.prototype,"useLegacy",{get:function(){return this._useLegacy},set:function(t){d.setLegacy(t),this._useLegacy=t,this._context=!t&&this.supported?this._webAudioContext:this._htmlAudioContext},enumerable:!1,configurable:!0}),t.prototype.remove=function(t){return this.exists(t,!0),this._sounds[t].destroy(),delete this._sounds[t],this},Object.defineProperty(t.prototype,"volumeAll",{get:function(){return this._context.volume},set:function(t){this._context.volume=t,this._context.refresh()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"speedAll",{get:function(){return this._context.speed},set:function(t){this._context.speed=t,this._context.refresh()},enumerable:!1,configurable:!0}),t.prototype.togglePauseAll=function(){return this._context.togglePause()},t.prototype.pauseAll=function(){return this._context.paused=!0,this._context.refreshPaused(),this},t.prototype.resumeAll=function(){return this._context.paused=!1,this._context.refreshPaused(),this},t.prototype.toggleMuteAll=function(){return this._context.toggleMute()},t.prototype.muteAll=function(){return this._context.muted=!0,this._context.refresh(),this},t.prototype.unmuteAll=function(){return this._context.muted=!1,this._context.refresh(),this},t.prototype.removeAll=function(){for(var t in this._sounds)this._sounds[t].destroy(),delete this._sounds[t];return this},t.prototype.stopAll=function(){for(var t in this._sounds)this._sounds[t].stop();return this},t.prototype.exists=function(t,e){return void 0===e&&(e=!1),!!this._sounds[t]},t.prototype.find=function(t){return this.exists(t,!0),this._sounds[t]},t.prototype.play=function(t,e){return this.find(t).play(e)},t.prototype.stop=function(t){return this.find(t).stop()},t.prototype.pause=function(t){return this.find(t).pause()},t.prototype.resume=function(t){return this.find(t).resume()},t.prototype.volume=function(t,e){var n=this.find(t);return void 0!==e&&(n.volume=e),n.volume},t.prototype.speed=function(t,e){var n=this.find(t);return void 0!==e&&(n.speed=e),n.speed},t.prototype.duration=function(t){return this.find(t).duration},t.prototype.close=function(){return this.removeAll(),this._sounds=null,this._webAudioContext&&(this._webAudioContext.destroy(),this._webAudioContext=null),this._htmlAudioContext&&(this._htmlAudioContext.destroy(),this._htmlAudioContext=null),this._context=null,this},t}(),F={__proto__:null,HTMLAudioMedia:m,HTMLAudioInstance:y,HTMLAudioContext:w},S=function(){function t(t,e){this.init(t,e)}return t.prototype.init=function(t,e){this.destination=t,this.source=e||t},t.prototype.connect=function(t){this.source.connect(t)},t.prototype.disconnect=function(){this.source.disconnect()},t.prototype.destroy=function(){this.disconnect(),this.destination=null,this.source=null},t}(),C={__proto__:null,Filter:S,EqualizerFilter:function(t){function e(n,o,i,s,u,a,c,l,p,h){void 0===n&&(n=0),void 0===o&&(o=0),void 0===i&&(i=0),void 0===s&&(s=0),void 0===u&&(u=0),void 0===a&&(a=0),void 0===c&&(c=0),void 0===l&&(l=0),void 0===p&&(p=0),void 0===h&&(h=0);var f=this;if(!r().useLegacy){var d=[{f:e.F32,type:"lowshelf",gain:n},{f:e.F64,type:"peaking",gain:o},{f:e.F125,type:"peaking",gain:i},{f:e.F250,type:"peaking",gain:s},{f:e.F500,type:"peaking",gain:u},{f:e.F1K,type:"peaking",gain:a},{f:e.F2K,type:"peaking",gain:c},{f:e.F4K,type:"peaking",gain:l},{f:e.F8K,type:"peaking",gain:p},{f:e.F16K,type:"highshelf",gain:h}].map((function(t){var e=r().context.audioContext.createBiquadFilter();return e.type=t.type,b.setParamValue(e.Q,1),e.frequency.value=t.f,b.setParamValue(e.gain,t.gain),e}));(f=t.call(this,d[0],d[d.length-1])||this).bands=d,f.bandsMap={};for(var _=0;_0&&f.bands[_-1].connect(y),f.bandsMap[y.frequency.value]=y}return f}f=t.call(this,null)||this}return u(e,t),e.prototype.setGain=function(t,e){if(void 0===e&&(e=0),!this.bandsMap[t])throw new Error("No band found for frequency ".concat(t));b.setParamValue(this.bandsMap[t].gain,e)},e.prototype.getGain=function(t){if(!this.bandsMap[t])throw new Error("No band found for frequency ".concat(t));return this.bandsMap[t].gain.value},Object.defineProperty(e.prototype,"f32",{get:function(){return this.getGain(e.F32)},set:function(t){this.setGain(e.F32,t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"f64",{get:function(){return this.getGain(e.F64)},set:function(t){this.setGain(e.F64,t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"f125",{get:function(){return this.getGain(e.F125)},set:function(t){this.setGain(e.F125,t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"f250",{get:function(){return this.getGain(e.F250)},set:function(t){this.setGain(e.F250,t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"f500",{get:function(){return this.getGain(e.F500)},set:function(t){this.setGain(e.F500,t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"f1k",{get:function(){return this.getGain(e.F1K)},set:function(t){this.setGain(e.F1K,t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"f2k",{get:function(){return this.getGain(e.F2K)},set:function(t){this.setGain(e.F2K,t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"f4k",{get:function(){return this.getGain(e.F4K)},set:function(t){this.setGain(e.F4K,t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"f8k",{get:function(){return this.getGain(e.F8K)},set:function(t){this.setGain(e.F8K,t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"f16k",{get:function(){return this.getGain(e.F16K)},set:function(t){this.setGain(e.F16K,t)},enumerable:!1,configurable:!0}),e.prototype.reset=function(){this.bands.forEach((function(t){b.setParamValue(t.gain,0)}))},e.prototype.destroy=function(){this.bands.forEach((function(t){t.disconnect()})),this.bands=null,this.bandsMap=null},e.F32=32,e.F64=64,e.F125=125,e.F250=250,e.F500=500,e.F1K=1e3,e.F2K=2e3,e.F4K=4e3,e.F8K=8e3,e.F16K=16e3,e}(S),DistortionFilter:function(t){function e(e){void 0===e&&(e=0);var n=this;if(!r().useLegacy){var o=r().context.audioContext.createWaveShaper();return(n=t.call(this,o)||this)._distortion=o,n.amount=e,n}n=t.call(this,null)||this}return u(e,t),Object.defineProperty(e.prototype,"amount",{get:function(){return this._amount},set:function(t){this._amount=t;for(var e,n=1e3*t,o=44100,i=new Float32Array(o),r=Math.PI/180,s=0;sf&&(f=_)}s.fillRect(p,(1+h)*l,1,Math.max(1,(f-h)*l))}return i},resolveUrl:f,sineTone:function(t,e){void 0===t&&(t=200),void 0===e&&(e=1);var n=E.from({singleInstance:!0});if(!(n.media instanceof j))return n;for(var o=n.media,i=n.context.audioContext.createBuffer(1,48e3*e,48e3),r=i.getChannelData(0),s=0;s= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","type ExtensionMap = Record;\n\n/**\n * The list of extensions that can be played.\n * @readonly\n * @memberof utils\n */\nconst extensions: string[] = [\n 'mp3',\n 'ogg',\n 'oga',\n 'opus',\n 'mpeg',\n 'wav',\n 'm4a',\n 'aiff',\n 'wma',\n 'mid',\n 'caf',\n];\n\n/**\n * The list of browser supported audio formats.\n * @readonly\n * @memberof utils\n * @property {boolean} mp3 - `true` if file-type is supported\n * @property {boolean} ogg - `true` if file-type is supported\n * @property {boolean} oga - `true` if file-type is supported\n * @property {boolean} opus - `true` if file-type is supported\n * @property {boolean} mpeg - `true` if file-type is supported\n * @property {boolean} wav - `true` if file-type is supported\n * @property {boolean} aiff - `true` if file-type is supported\n * @property {boolean} wma - `true` if file-type is supported\n * @property {boolean} mid - `true` if file-type is supported\n * @property {boolean} caf - `true` if file-type is supported. Note that for this we check if the\n * 'opus' codec is supported inside the caf container.\n */\nconst supported: ExtensionMap = {};\n\n/**\n * Function to validate file type formats. This is called when the library initializes, but can\n * be called again if you need to recognize a format not listed in `utils.extensions` at\n * initialization.\n * @memberof utils\n * @param typeOverrides - - Dictionary of type overrides (inputs for\n * AudioElement.canPlayType()), keyed by extension from the\n * utils.extensions array.\n */\nfunction validateFormats(typeOverrides?: Record): void\n{\n const overrides: Record = {\n m4a: 'audio/mp4',\n oga: 'audio/ogg',\n opus: 'audio/ogg; codecs=\"opus\"',\n caf: 'audio/x-caf; codecs=\"opus\"', ...(typeOverrides || {}) };\n const audio = document.createElement('audio');\n const formats: ExtensionMap = {};\n const no = /^no$/;\n\n extensions.forEach((ext) =>\n {\n const canByExt = audio.canPlayType(`audio/${ext}`).replace(no, '');\n const canByType = overrides[ext] ? audio.canPlayType(overrides[ext]).replace(no, '') : '';\n\n formats[ext] = !!canByExt || !!canByType;\n });\n Object.assign(supported, formats);\n}\n\n// initialize supported\nvalidateFormats();\n\nexport {\n validateFormats,\n supported,\n extensions\n};\n","import type { ILoaderResource } from '@pixi/loaders';\nimport { supported } from './supported';\n\n/**\n * RegExp for looking for format patterns.\n * @ignore\n */\nconst FORMAT_PATTERN = /\\.(\\{([^\\}]+)\\})(\\?.*)?$/;\n\n/**\n * Resolve a URL with different formats in glob pattern to\n * a path based on the supported browser format. For instance:\n * \"sounds/music.{ogg,mp3}\", would resolve to \"sounds/music.ogg\"\n * if \"ogg\" support is found, otherwise, fallback to \"sounds.music.mp3\"\n * @memberof utils\n * @param {string|PIXI.LoaderResource} source - - Path to resolve or Resource, if\n * a Resource object is provided, automatically updates the extension and url\n * of that object.\n * @return The format to resolve to\n */\nfunction resolveUrl(source: string | ILoaderResource): string\n{\n // search for patterns like \".{mp3,ogg}\"\"\n const glob = FORMAT_PATTERN;\n const url: string = typeof source === 'string' ? source : source.url;\n\n if (!glob.test(url))\n {\n return url;\n }\n\n const match = glob.exec(url);\n const exts = match[2].split(',');\n let replace = exts[exts.length - 1]; // fallback to last ext\n\n for (let i = 0, len = exts.length; i < len; i++)\n {\n const ext = exts[i];\n\n if (supported[ext])\n {\n replace = ext;\n break;\n }\n }\n const resolved = url.replace(match[1], replace);\n\n if (!(typeof source === 'string'))\n {\n // resource-loader marks these as readonly\n const writableSource = source as { extension: string, url: string };\n\n writableSource.extension = replace;\n writableSource.url = resolved;\n }\n\n return resolved;\n}\n\nexport { resolveUrl };\n","import { ILoaderPlugin, ILoaderResource, LoaderResource } from '@pixi/loaders';\nimport { getInstance } from './instance';\nimport { resolveUrl } from './utils/resolveUrl';\nimport { extensions } from './utils/supported';\n\n/**\n * Sound middleware installation utilities for PIXI.Loader\n */\nclass SoundLoader implements ILoaderPlugin\n{\n /** Install the middleware */\n public static add(): void\n {\n SoundLoader.setLegacy(getInstance().useLegacy);\n }\n\n /**\n * Set the legacy mode\n * @param legacy - Non-webaudio environments\n */\n static setLegacy(legacy: boolean): void\n {\n // Configure PIXI Loader to handle audio files correctly\n const exts = extensions;\n\n // Make sure we support webaudio\n if (!legacy)\n {\n // Load all audio files as ArrayBuffers\n exts.forEach((ext) =>\n {\n LoaderResource.setExtensionXhrType(ext, LoaderResource.XHR_RESPONSE_TYPE.BUFFER);\n LoaderResource.setExtensionLoadType(ext, LoaderResource.LOAD_TYPE.XHR);\n });\n }\n else\n {\n // Fall back to loading as