From 94fd07222ce815b1f3a4699e824a22e22b62e6b9 Mon Sep 17 00:00:00 2001 From: Sven Tiigi Date: Fri, 15 Oct 2021 22:25:49 +0200 Subject: [PATCH] Add Xcode Extension (#14) * Added xcode-projects Extension * Updated command name to xcode projects * Refactored command-icon to icon * Updated wording * Updated SearchBar Placeholder * Added support for Swift Playgrounds * Added accessory title to List Item * Merged XcodeProjects loading in just one useEffect execution * Renamed xcode-projects extension to xcode and added releases command * Added async version of exec * Added Simulators command Allowing to boot and shutdown Xcode Simulators * Wrap XcodeSimulatorService in state instead of global const * Added documentation * Added Xcode Simulator Icon * Addded Apps command * Added check if Cache is not empty * On error set empty applications * Retrieve Bundle Identifier from Info.plist instead of retrieving it async via defaults read * Refactored push action to initialize component only when needed * Fixed Navigation bug By method injecting the Navigation to the components * Added main extension icon * Added keywords * Updated icon to proper size 512x512 according to review guidelines * Added Create Swift Package Command * Set empty XcodeReleases on error in case no previous releases are available * Set empty XcodeProjects in case of an error if no previous projects are available * Send empty array of XcodeSimulators in case of an error * Added Clear Derived Data command * Updated command order * Removed trailing slash * Log error * Added Clear SPM cache command * Updated naming convention for commands * Moved models in distinct child directories and updated import paths Improves the overview of the models * Added tildify dependency * tildify Xcode project path * Updated title and subtitle of commands according to suggestions and guidelines * Fixed author name with raycast username * Updated description --- extensions/xcode/.eslintrc.json | 13 + extensions/xcode/.prettierrc | 4 + .../xcode/assets/app-icon-placeholder.png | Bin 0 -> 2185 bytes extensions/xcode/assets/icon.png | Bin 0 -> 229402 bytes extensions/xcode/assets/swift-package.png | Bin 0 -> 6495 bytes extensions/xcode/assets/swift-playground.png | Bin 0 -> 3447 bytes extensions/xcode/assets/xcode-12-beta.png | Bin 0 -> 7237 bytes extensions/xcode/assets/xcode-12.png | Bin 0 -> 6780 bytes extensions/xcode/assets/xcode-13-beta.png | Bin 0 -> 7408 bytes extensions/xcode/assets/xcode-13.png | Bin 0 -> 6864 bytes extensions/xcode/assets/xcode-project.png | Bin 0 -> 5761 bytes extensions/xcode/assets/xcode-simulator.png | Bin 0 -> 5563 bytes extensions/xcode/assets/xcode-workspace.png | Bin 0 -> 4694 bytes extensions/xcode/package-lock.json | 6847 +++++++++++++++++ extensions/xcode/package.json | 88 + .../xcode/src/clear-derived-data.command.ts | 36 + ...ear-swift-package-manager-cache.command.ts | 36 + .../xcode/src/create-swift-package.command.ts | 18 + .../project/xcode-project-type.model.ts | 9 + .../src/models/project/xcode-project.model.ts | 23 + .../models/release/xcode-release-sdk.model.ts | 13 + .../src/models/release/xcode-release.model.ts | 47 + .../xcode-simulator-application.model.ts | 48 + .../models/simulator/xcode-simulator.model.ts | 26 + ...swift-package-creation-parameters.model.ts | 19 + .../xcode-swift-package-type.model.ts | 10 + .../xcode-swift-package.model.ts | 23 + extensions/xcode/src/projects.command.ts | 50 + extensions/xcode/src/releases.command.ts | 49 + .../src/services/xcode-cleanup.service.ts | 26 + .../src/services/xcode-project.service.ts | 134 + .../src/services/xcode-release.service.ts | 106 + .../xcode-simulator-application.service.ts | 332 + .../src/services/xcode-simulator.service.ts | 152 + .../services/xcode-swift-package.service.ts | 53 + extensions/xcode/src/shared/exec-async.ts | 43 + extensions/xcode/src/shared/group-by.ts | 30 + extensions/xcode/src/shared/source.ts | 14 + .../src/simulator-applications.command.ts | 71 + extensions/xcode/src/simulators.command.ts | 44 + ...eate-swift-package-form.user-interface.tsx | 121 + ...xcode-project-list-item.user-interface.tsx | 69 + .../xcode-project-list.user-interface.tsx | 19 + ...xcode-release-list-item.user-interface.tsx | 172 + .../xcode-release-list.user-interface.tsx | 19 + ...ator-application-detail.user-interface.tsx | 57 + ...r-application-list-item.user-interface.tsx | 108 + ...ulator-application-list.user-interface.tsx | 26 + ...de-simulators-list-item.user-interface.tsx | 86 + .../xcode-simulators-list.user-interface.tsx | 51 + extensions/xcode/tsconfig.json | 16 + 51 files changed, 9108 insertions(+) create mode 100644 extensions/xcode/.eslintrc.json create mode 100644 extensions/xcode/.prettierrc create mode 100644 extensions/xcode/assets/app-icon-placeholder.png create mode 100644 extensions/xcode/assets/icon.png create mode 100644 extensions/xcode/assets/swift-package.png create mode 100644 extensions/xcode/assets/swift-playground.png create mode 100644 extensions/xcode/assets/xcode-12-beta.png create mode 100644 extensions/xcode/assets/xcode-12.png create mode 100644 extensions/xcode/assets/xcode-13-beta.png create mode 100644 extensions/xcode/assets/xcode-13.png create mode 100644 extensions/xcode/assets/xcode-project.png create mode 100644 extensions/xcode/assets/xcode-simulator.png create mode 100644 extensions/xcode/assets/xcode-workspace.png create mode 100644 extensions/xcode/package-lock.json create mode 100644 extensions/xcode/package.json create mode 100644 extensions/xcode/src/clear-derived-data.command.ts create mode 100644 extensions/xcode/src/clear-swift-package-manager-cache.command.ts create mode 100644 extensions/xcode/src/create-swift-package.command.ts create mode 100644 extensions/xcode/src/models/project/xcode-project-type.model.ts create mode 100644 extensions/xcode/src/models/project/xcode-project.model.ts create mode 100644 extensions/xcode/src/models/release/xcode-release-sdk.model.ts create mode 100644 extensions/xcode/src/models/release/xcode-release.model.ts create mode 100644 extensions/xcode/src/models/simulator/xcode-simulator-application.model.ts create mode 100644 extensions/xcode/src/models/simulator/xcode-simulator.model.ts create mode 100644 extensions/xcode/src/models/swift-package/xcode-swift-package-creation-parameters.model.ts create mode 100644 extensions/xcode/src/models/swift-package/xcode-swift-package-type.model.ts create mode 100644 extensions/xcode/src/models/swift-package/xcode-swift-package.model.ts create mode 100644 extensions/xcode/src/projects.command.ts create mode 100644 extensions/xcode/src/releases.command.ts create mode 100644 extensions/xcode/src/services/xcode-cleanup.service.ts create mode 100644 extensions/xcode/src/services/xcode-project.service.ts create mode 100644 extensions/xcode/src/services/xcode-release.service.ts create mode 100644 extensions/xcode/src/services/xcode-simulator-application.service.ts create mode 100644 extensions/xcode/src/services/xcode-simulator.service.ts create mode 100644 extensions/xcode/src/services/xcode-swift-package.service.ts create mode 100644 extensions/xcode/src/shared/exec-async.ts create mode 100644 extensions/xcode/src/shared/group-by.ts create mode 100644 extensions/xcode/src/shared/source.ts create mode 100644 extensions/xcode/src/simulator-applications.command.ts create mode 100644 extensions/xcode/src/simulators.command.ts create mode 100644 extensions/xcode/src/user-interfaces/xcode-create-swift-package/xcode-create-swift-package-form.user-interface.tsx create mode 100644 extensions/xcode/src/user-interfaces/xcode-projects/xcode-project-list-item.user-interface.tsx create mode 100644 extensions/xcode/src/user-interfaces/xcode-projects/xcode-project-list.user-interface.tsx create mode 100644 extensions/xcode/src/user-interfaces/xcode-releases/xcode-release-list-item.user-interface.tsx create mode 100644 extensions/xcode/src/user-interfaces/xcode-releases/xcode-release-list.user-interface.tsx create mode 100644 extensions/xcode/src/user-interfaces/xcode-simulator-applications/xcode-simulator-application-detail.user-interface.tsx create mode 100644 extensions/xcode/src/user-interfaces/xcode-simulator-applications/xcode-simulator-application-list-item.user-interface.tsx create mode 100644 extensions/xcode/src/user-interfaces/xcode-simulator-applications/xcode-simulator-application-list.user-interface.tsx create mode 100644 extensions/xcode/src/user-interfaces/xcode-simulators/xcode-simulators-list-item.user-interface.tsx create mode 100644 extensions/xcode/src/user-interfaces/xcode-simulators/xcode-simulators-list.user-interface.tsx create mode 100644 extensions/xcode/tsconfig.json diff --git a/extensions/xcode/.eslintrc.json b/extensions/xcode/.eslintrc.json new file mode 100644 index 0000000000000..8675fd171af3b --- /dev/null +++ b/extensions/xcode/.eslintrc.json @@ -0,0 +1,13 @@ +{ + "root": true, + "env": { + "es2020": true, + "node": true + }, + "parser": "@typescript-eslint/parser", + "plugins": ["@typescript-eslint"], + "extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended", "prettier"], + "rules": { + "no-case-declarations": "off" + } +} diff --git a/extensions/xcode/.prettierrc b/extensions/xcode/.prettierrc new file mode 100644 index 0000000000000..fc0f5030683fa --- /dev/null +++ b/extensions/xcode/.prettierrc @@ -0,0 +1,4 @@ +{ + "printWidth": 120, + "singleQuote": false +} diff --git a/extensions/xcode/assets/app-icon-placeholder.png b/extensions/xcode/assets/app-icon-placeholder.png new file mode 100644 index 0000000000000000000000000000000000000000..818879c5255bf5b9b8630d826b8dbaf0da29c142 GIT binary patch literal 2185 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 LNkvXXu0mjfttSZ? literal 0 HcmV?d00001 diff --git a/extensions/xcode/assets/icon.png b/extensions/xcode/assets/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2a1f13951ed3b4fcaf2b40487b6808bff79e4930 GIT binary patch literal 229402 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
    *fT80e9 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

    -G}jIMD-;38VMT!lDS{Dki+E*EqLUX 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 Z{11M+ilJS$^VI+V002ovPDHLkV1k*0uD}2Q literal 0 HcmV?d00001 diff --git a/extensions/xcode/assets/xcode-12-beta.png b/extensions/xcode/assets/xcode-12-beta.png new file mode 100644 index 0000000000000000000000000000000000000000..65201531389ee4a5a9ec39ceb2bc638fda147822 GIT binary patch literal 7237 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 TseE}o00000NkvXXu0mjft4Sq9 literal 0 HcmV?d00001 diff --git a/extensions/xcode/assets/xcode-12.png b/extensions/xcode/assets/xcode-12.png new file mode 100644 index 0000000000000000000000000000000000000000..ba3172073d8794b2276bf7357d1e596facbc4a25 GIT binary patch literal 6780 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%0A~=dW$13V34Cde+RYnhObc*I?Jhd40-z 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 KMNUMnLSTaWCrZiy literal 0 HcmV?d00001 diff --git a/extensions/xcode/assets/xcode-project.png b/extensions/xcode/assets/xcode-project.png new file mode 100644 index 0000000000000000000000000000000000000000..55bc0af55aa39f75d0fdffa71c1e804450133118 GIT binary patch literal 5761 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 literal 0 HcmV?d00001 diff --git a/extensions/xcode/assets/xcode-simulator.png b/extensions/xcode/assets/xcode-simulator.png new file mode 100644 index 0000000000000000000000000000000000000000..a3d567ae1e96bc00064f862a75f3e9a7bf974a8b GIT binary patch literal 5563 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 Y0W{#5lK0~nX8-^I07*qoM6N<$g7&-c&;S4c literal 0 HcmV?d00001 diff --git a/extensions/xcode/package-lock.json b/extensions/xcode/package-lock.json new file mode 100644 index 0000000000000..0523b403adcd7 --- /dev/null +++ b/extensions/xcode/package-lock.json @@ -0,0 +1,6847 @@ +{ + "name": "xcode", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "xcode", + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "@raycast/api": "^1.25.0", + "node-fetch": "^3.0.0", + "rxjs": "^7.4.0", + "tildify": "^3.0.0" + }, + "devDependencies": { + "@types/node": "~16.10.0", + "@types/node-fetch": "^3.0.3", + "@types/react": "^17.0.28", + "@typescript-eslint/eslint-plugin": "^5.0.0", + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^7.32.0", + "eslint-config-prettier": "^8.3.0", + "react-devtools": "^4.19.2", + "typescript": "^4.4.3" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/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==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/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==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/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==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@electron/get": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.13.0.tgz", + "integrity": "sha512-+SjZhRuRo+STTO1Fdhzqnv9D2ZhjxXP6egsJ9kiO8dtP68cDx7dFCwWi64dlMQV7sWcfW1OYCW4wviEBzmRsfQ==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "got": "^9.6.0", + "progress": "^2.0.3", + "semver": "^6.2.0", + "sumchecker": "^3.0.1" + }, + "engines": { + "node": ">=8.6" + }, + "optionalDependencies": { + "global-agent": "^2.0.2", + "global-tunnel-ng": "^2.7.1" + } + }, + "node_modules/@electron/get/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@eslint/eslintrc/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", + "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", + "dev": true + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@raycast/api": { + "version": "1.25.0", + "resolved": "https://registry.npmjs.org/@raycast/api/-/api-1.25.0.tgz", + "integrity": "sha512-uRvJ1LEz0wlDSmw2p+mT63CpUabViyy26AU0M8PCegAv96wtzNfxeuxPU18QmObADOTjbLTv/HcZD8fSCUHjjg==", + "dependencies": { + "fast-json-patch": "3.1.0", + "json-rpc-2.0": "0.2.19", + "nanoid": "3.1.29", + "open": "8.3.0", + "prop-types": "15.7.2", + "react-is": "17.0.2", + "stack-utils": "2.0.5" + }, + "bin": { + "ray": "bin/ray" + }, + "peerDependencies": { + "react": "17.0.2", + "react-reconciler": "0.26.2" + } + }, + "node_modules/@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "dev": true, + "dependencies": { + "defer-to-connect": "^1.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", + "dev": true + }, + "node_modules/@types/node": { + "version": "16.10.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.10.6.tgz", + "integrity": "sha512-e52UMMGr7HPrVqOK12+GOfihuuGvhpcPzTNhG+OynqQlWXFF3gSPw4izhefNoCwB0w1PyADCMmelaGtXtd/zyw==", + "dev": true + }, + "node_modules/@types/node-fetch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-3.0.3.tgz", + "integrity": "sha512-HhggYPH5N+AQe/OmN6fmhKmRRt2XuNJow+R3pQwJxOOF9GuwM7O2mheyGeIrs5MOIeNjDEdgdoyHBOrFeJBR3g==", + "deprecated": "This is a stub types definition. node-fetch provides its own type definitions, so you do not need this installed.", + "dev": true, + "dependencies": { + "node-fetch": "*" + } + }, + "node_modules/@types/prop-types": { + "version": "15.7.4", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz", + "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==", + "dev": true + }, + "node_modules/@types/react": { + "version": "17.0.29", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.29.tgz", + "integrity": "sha512-HSenIfBEBZ70BLrrVhtEtHpqaP79waauPtA8XKlczTxL3hXrW/ElGNLTpD1TmqkykgGlOAK55+D3SmUHEirpFw==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", + "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.0.0.tgz", + "integrity": "sha512-T6V6fCD2U0YesOedvydTnrNtsC8E+c2QzpawIpDdlaObX0OX5dLo7tLU5c64FhTZvA1Xrdim+cXDI7NPsVx8Cg==", + "dev": true, + "dependencies": { + "@typescript-eslint/experimental-utils": "5.0.0", + "@typescript-eslint/scope-manager": "5.0.0", + "debug": "^4.3.1", + "functional-red-black-tree": "^1.0.1", + "ignore": "^5.1.8", + "regexpp": "^3.1.0", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/experimental-utils": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.0.0.tgz", + "integrity": "sha512-Dnp4dFIsZcPawD6CT1p5NibNUQyGSEz80sULJZkyhyna8AEqArmfwMwJPbmKzWVo4PabqNVzHYlzmcdLQWk+pg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.7", + "@typescript-eslint/scope-manager": "5.0.0", + "@typescript-eslint/types": "5.0.0", + "@typescript-eslint/typescript-estree": "5.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.0.0.tgz", + "integrity": "sha512-B6D5rmmQ14I1fdzs71eL3DAuvnPHTY/t7rQABrL9BLnx/H51Un8ox1xqYAchs0/V2trcoyxB1lMJLlrwrJCDgw==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.0.0", + "@typescript-eslint/types": "5.0.0", + "@typescript-eslint/typescript-estree": "5.0.0", + "debug": "^4.3.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.0.0.tgz", + "integrity": "sha512-5RFjdA/ain/MDUHYXdF173btOKncIrLuBmA9s6FJhzDrRAyVSA+70BHg0/MW6TE+UiKVyRtX91XpVS0gVNwVDQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.0.0", + "@typescript-eslint/visitor-keys": "5.0.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.0.0.tgz", + "integrity": "sha512-dU/pKBUpehdEqYuvkojmlv0FtHuZnLXFBn16zsDmlFF3LXkOpkAQ2vrKc3BidIIve9EMH2zfTlxqw9XM0fFN5w==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.0.0.tgz", + "integrity": "sha512-V/6w+PPQMhinWKSn+fCiX5jwvd1vRBm7AX7SJQXEGQtwtBvjMPjaU3YTQ1ik2UF1u96X7tsB96HMnulG3eLi9Q==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.0.0", + "@typescript-eslint/visitor-keys": "5.0.0", + "debug": "^4.3.1", + "globby": "^11.0.3", + "is-glob": "^4.0.1", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.0.0.tgz", + "integrity": "sha512-yRyd2++o/IrJdyHuYMxyFyBhU762MRHQ/bAGQeTnN3pGikfh+nEmM61XTqaDH1XDp53afZ+waXrk0ZvenoZ6xw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.0.0", + "eslint-visitor-keys": "^3.0.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-align": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", + "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", + "dev": true, + "dependencies": { + "string-width": "^2.0.0" + } + }, + "node_modules/ansi-align/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-align/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-align/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-align/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/boolean": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.1.4.tgz", + "integrity": "sha512-3hx0kwU3uzG6ReQ3pnaFQPSktpBw6RHN3/ivDKEuU8g1XSfafowyvDnadjv1xp8IZqhtSukxlwv9bF6FhX8m0w==", + "dev": true, + "optional": true + }, + "node_modules/boxen": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", + "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", + "dev": true, + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/boxen/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "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==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/boxen/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/boxen/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/boxen/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/boxen/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/boxen/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/boxen/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/boxen/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "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==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "dev": true, + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "engines": { + "node": ">=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==", + "dev": true, + "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", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "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==", + "dev": true + }, + "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=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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=", + "dev": true, + "dependencies": { + "mimic-response": "^1.0.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "dev": true, + "optional": true, + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "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==", + "dev": true, + "dependencies": { + "dot-prop": "^4.2.1", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/core-js": { + "version": "3.18.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.18.3.tgz", + "integrity": "sha512-tReEhtMReZaPFVw7dajMx0vlsz3oOb8ajgPoHVYGxr8ErnZ6PcYEvvmjGmXlfpnxpkYSdOQttjB+MvVbCGfvLw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "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=", + "dev": true, + "dependencies": { + "capture-stack-trace": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/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=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz", + "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==", + "dev": true + }, + "node_modules/data-uri-to-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz", + "integrity": "sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dev": true, + "dependencies": { + "mimic-response": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", + "dev": true + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "optional": true, + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true, + "optional": true + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "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==", + "dev": true, + "dependencies": { + "is-obj": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, + "node_modules/electron": { + "version": "11.5.0", + "resolved": "https://registry.npmjs.org/electron/-/electron-11.5.0.tgz", + "integrity": "sha512-WjNDd6lGpxyiNjE3LhnFCAk/D9GIj1rU3GSDealVShhkkkPR3Vh4q8ErXGDl1OAO/faomVa10KoFPUN/pLbNxg==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@electron/get": "^1.0.1", + "@types/node": "^12.0.12", + "extract-zip": "^1.0.3" + }, + "bin": { + "electron": "cli.js" + }, + "engines": { + "node": ">= 8.6" + } + }, + "node_modules/electron/node_modules/@types/node": { + "version": "12.20.30", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.30.tgz", + "integrity": "sha512-XYRJM0gRRtwfCq4mFRMMtX10kSgpPyR8neFFwpAnt3M74mJSsyIYmcIQ9LYoWwLr75AWnFg5Y3eJbiwUoLUfrw==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true, + "optional": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true, + "optional": true + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz", + "integrity": "sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.0.0.tgz", + "integrity": "sha512-mJOZa35trBTb3IyRmo8xmKBZlxf+N7OnUl4+ZhJHs/r+0770Wh/LEACE2pqMGMe27G/4y8P2bYGk4J70IC5k1Q==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "dependencies": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "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/execa/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=", + "dev": true, + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/execa/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=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/execa/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==", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/execa/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/execa/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "concat-stream": "^1.6.2", + "debug": "^2.6.9", + "mkdirp": "^0.5.4", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + } + }, + "node_modules/extract-zip/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/extract-zip/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fast-json-patch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-json-patch/-/fast-json-patch-3.1.0.tgz", + "integrity": "sha512-IhpytlsVTRndz0hU5t0/MGzS/etxLlfrpG5V5M9mVbuj9TrJLWaMfsox9REM5rkuGX0T+5qjpe8XA1o0gZ42nA==" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "node_modules/fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "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=", + "dev": true, + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/fetch-blob": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.1.2.tgz", + "integrity": "sha512-hunJbvy/6OLjCD0uuhLdp0mMPzP/yd2ssd1t2FCJsaA7wkWhpbp9xfuNVpv7Ll4jFhzp6T4LAupSiV9uOeg0VQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "dependencies": { + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz", + "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==", + "dev": true + }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "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/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/global-agent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-2.2.0.tgz", + "integrity": "sha512-+20KpaW6DDLqhG7JDiJpD1JvNvb8ts+TNl7BPOYcURqCrXqnN1Vf+XVOrkKJAFPqfX+oEhsdzOj1hLWkBTdNJg==", + "dev": true, + "optional": true, + "dependencies": { + "boolean": "^3.0.1", + "core-js": "^3.6.5", + "es6-error": "^4.1.1", + "matcher": "^3.0.0", + "roarr": "^2.15.3", + "semver": "^7.3.2", + "serialize-error": "^7.0.1" + }, + "engines": { + "node": ">=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=", + "dev": true, + "dependencies": { + "ini": "^1.3.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/global-tunnel-ng": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz", + "integrity": "sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg==", + "dev": true, + "optional": true, + "dependencies": { + "encodeurl": "^1.0.2", + "lodash": "^4.17.10", + "npm-conf": "^1.1.3", + "tunnel": "^0.0.6" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/globals": { + "version": "13.11.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", + "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.2.tgz", + "integrity": "sha512-ZQnSFO1la8P7auIOQECnm0sSuoMeaSq0EEdXMBFF2QJO4uNcwbyhSgG3MruWNbFTqCLmxVwGOl7LZ9kASvHdeQ==", + "dev": true, + "optional": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dev": true, + "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/graceful-fs": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", + "dev": true + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "dev": true + }, + "node_modules/ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "node_modules/is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dev": true, + "dependencies": { + "ci-info": "^1.5.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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=", + "dev": true, + "dependencies": { + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-npm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", + "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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=", + "dev": true, + "dependencies": { + "path-is-inside": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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=", + "dev": true, + "engines": { + "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==", + "dev": true, + "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=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "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=", + "dev": true + }, + "node_modules/json-rpc-2.0": { + "version": "0.2.19", + "resolved": "https://registry.npmjs.org/json-rpc-2.0/-/json-rpc-2.0-0.2.19.tgz", + "integrity": "sha512-tegZKneDQjWintJS5Zlw8xNvJK0/xq4sct2M5AgfFmcCJFMjvrLgk1noH7OPfFgEQ+ScueuWdaGfikCPr+qBtg==" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true, + "optional": true + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.0" + } + }, + "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=", + "dev": true, + "dependencies": { + "package-json": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true, + "optional": true + }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "dev": true + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/matcher": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", + "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", + "dev": true, + "optional": true, + "dependencies": { + "escape-string-regexp": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.1.29", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.29.tgz", + "integrity": "sha512-dW2pUSGZ8ZnCFIlBIA31SV8huOGCHb6OwzVCc7A69rb/a+SgPBwfmLvK5TKQ3INPbRkcI8a/Owo0XbiTNH19wg==", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node_modules/node-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.0.0.tgz", + "integrity": "sha512-bKMI+C7/T/SPU1lKnbQbwxptpCrG9ashG+VkytmXCPZyuM9jB6VU+hY0oi4lC8LxTtAeWdckNCTa3nrGsAdA3Q==", + "dependencies": { + "data-uri-to-buffer": "^3.0.1", + "fetch-blob": "^3.1.2" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, + "node_modules/normalize-url": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm-conf": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", + "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", + "dev": true, + "optional": true, + "dependencies": { + "config-chain": "^1.1.11", + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "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=", + "dev": true, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "optional": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/open": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.3.0.tgz", + "integrity": "sha512-7INcPWb1UcOwSQxAXTnBJ+FxVV4MPs/X++FWWBtgY69/J5lc+tCteMt/oFK1MnkyHC4VILLa9ntmwKTwDR4Q9w==", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "dev": true, + "engines": { + "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=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/package-json": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", + "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", + "dev": true, + "dependencies": { + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/package-json/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=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/package-json/node_modules/got": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", + "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "dev": true, + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/package-json/node_modules/prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/package-json/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=", + "dev": true, + "dependencies": { + "prepend-http": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "engines": { + "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=", + "dev": true + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "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=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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==", + "dev": true + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + } + }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", + "dev": true, + "optional": true + }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", + "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-devtools": { + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/react-devtools/-/react-devtools-4.19.2.tgz", + "integrity": "sha512-bDfVZiujfM8R6qqW5nIIp+U7DA9HFLzRdRIrYz4CtR62haDn6naN9RDcNfIpOEzzh+gB+vAYQ2x82vkMT0yX3g==", + "dev": true, + "dependencies": { + "cross-spawn": "^5.0.1", + "electron": "^11.1.0", + "ip": "^1.1.4", + "minimist": "^1.2.3", + "react-devtools-core": "4.19.2", + "update-notifier": "^2.1.0" + }, + "bin": { + "react-devtools": "bin.js" + } + }, + "node_modules/react-devtools-core": { + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.19.2.tgz", + "integrity": "sha512-Z9K+h9gjEwimZtZB1NsWm5hQsxAcElW0GI2KXLQDpk2o1YIZQ+lOSesUr0npUyLeb37k2hTtyxp8wumeRJpG5Q==", + "dev": true, + "dependencies": { + "shell-quote": "^1.6.1", + "ws": "^7" + } + }, + "node_modules/react-devtools/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=", + "dev": true, + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/react-devtools/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==", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/react-devtools/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-devtools/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-devtools/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/react-devtools/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "node_modules/react-reconciler": { + "version": "0.26.2", + "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.26.2.tgz", + "integrity": "sha512-nK6kgY28HwrMNwDnMui3dvm3rCFjZrcGiuwLc5COUipBK5hWHLOxMJhSnSomirqWwjPBJKV1QcbkI0VJr7Gl1Q==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "scheduler": "^0.20.2" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "react": "^17.0.2" + } + }, + "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==", + "dev": true, + "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/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "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==", + "dev": true, + "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=", + "dev": true, + "dependencies": { + "rc": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "dev": true, + "dependencies": { + "lowercase-keys": "^1.0.0" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/roarr": { + "version": "2.15.4", + "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", + "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==", + "dev": true, + "optional": true, + "dependencies": { + "boolean": "^3.0.1", + "detect-node": "^2.0.4", + "globalthis": "^1.0.1", + "json-stringify-safe": "^5.0.1", + "semver-compare": "^1.0.0", + "sprintf-js": "^1.1.2" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/roarr/node_modules/sprintf-js": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", + "dev": true, + "optional": true + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.4.0.tgz", + "integrity": "sha512-7SQDi7xeTMCJpqViXh8gL/lebcwlp3d831F05+9B44A4B0WfsEwUQHR64gsH1kvJ+Ep/J9K2+n1hVl1CsGN23w==", + "dependencies": { + "tslib": "~2.1.0" + } + }, + "node_modules/rxjs/node_modules/tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", + "dev": true, + "optional": true + }, + "node_modules/semver-diff": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", + "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", + "dev": true, + "dependencies": { + "semver": "^5.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/serialize-error": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", + "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", + "dev": true, + "optional": true, + "dependencies": { + "type-fest": "^0.13.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/serialize-error/node_modules/type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", + "dev": true + }, + "node_modules/signal-exit": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz", + "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "node_modules/stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/sumchecker": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", + "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", + "dev": true, + "dependencies": { + "debug": "^4.1.0" + }, + "engines": { + "node": ">= 8.0" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/table": { + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/table/-/table-6.7.2.tgz", + "integrity": "sha512-UFZK67uvyNivLeQbVtkiUs8Uuuxv24aSL4/Vil2PJVtMgU8Lx0CYkP12uCGa3kjyQzOSgV1+z9Wkb82fCGsO0g==", + "dev": true, + "dependencies": { + "ajv": "^8.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "8.6.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz", + "integrity": "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "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=", + "dev": true, + "dependencies": { + "execa": "^0.7.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "node_modules/tildify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tildify/-/tildify-3.0.0.tgz", + "integrity": "sha512-9ZLMl75qnTLr7oSEmWJbKemFS/fP4TMBiF6PFwGwLpgobebU1ehXoGbadJ+7jT8fjaz2G82JgN9G4taz+o1j1w==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "node_modules/typescript": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz", + "integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/unique-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "dev": true, + "dependencies": { + "crypto-random-string": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.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=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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==", + "dev": true, + "dependencies": { + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.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" + }, + "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==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "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==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/update-notifier/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/update-notifier/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/update-notifier/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/update-notifier/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "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=", + "dev": true, + "dependencies": { + "prepend-http": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "node_modules/v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "node_modules/web-streams-polyfill": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.1.1.tgz", + "integrity": "sha512-Czi3fG883e96T4DLEPRvufrF2ydhOOW1+1a6c3gNjH2aIh50DNFBdfwh2AKoOf1rXvpvavAoA11Qdq9+BKjE0Q==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "string-width": "^2.1.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/widest-line/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/widest-line/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/widest-line/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/widest-line/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "node_modules/ws": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz", + "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==", + "dev": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xdg-basedir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + } + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", + "dev": true + }, + "@babel/highlight": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^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==", + "dev": true, + "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==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@electron/get": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.13.0.tgz", + "integrity": "sha512-+SjZhRuRo+STTO1Fdhzqnv9D2ZhjxXP6egsJ9kiO8dtP68cDx7dFCwWi64dlMQV7sWcfW1OYCW4wviEBzmRsfQ==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "global-agent": "^2.0.2", + "global-tunnel-ng": "^2.7.1", + "got": "^9.6.0", + "progress": "^2.0.3", + "semver": "^6.2.0", + "sumchecker": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@eslint/eslintrc": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + } + } + }, + "@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + } + }, + "@humanwhocodes/object-schema": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", + "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@raycast/api": { + "version": "1.25.0", + "resolved": "https://registry.npmjs.org/@raycast/api/-/api-1.25.0.tgz", + "integrity": "sha512-uRvJ1LEz0wlDSmw2p+mT63CpUabViyy26AU0M8PCegAv96wtzNfxeuxPU18QmObADOTjbLTv/HcZD8fSCUHjjg==", + "requires": { + "fast-json-patch": "3.1.0", + "json-rpc-2.0": "0.2.19", + "nanoid": "3.1.29", + "open": "8.3.0", + "prop-types": "15.7.2", + "react-is": "17.0.2", + "stack-utils": "2.0.5" + } + }, + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "dev": true + }, + "@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "dev": true, + "requires": { + "defer-to-connect": "^1.0.1" + } + }, + "@types/json-schema": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", + "dev": true + }, + "@types/node": { + "version": "16.10.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.10.6.tgz", + "integrity": "sha512-e52UMMGr7HPrVqOK12+GOfihuuGvhpcPzTNhG+OynqQlWXFF3gSPw4izhefNoCwB0w1PyADCMmelaGtXtd/zyw==", + "dev": true + }, + "@types/node-fetch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-3.0.3.tgz", + "integrity": "sha512-HhggYPH5N+AQe/OmN6fmhKmRRt2XuNJow+R3pQwJxOOF9GuwM7O2mheyGeIrs5MOIeNjDEdgdoyHBOrFeJBR3g==", + "dev": true, + "requires": { + "node-fetch": "*" + } + }, + "@types/prop-types": { + "version": "15.7.4", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz", + "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==", + "dev": true + }, + "@types/react": { + "version": "17.0.29", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.29.tgz", + "integrity": "sha512-HSenIfBEBZ70BLrrVhtEtHpqaP79waauPtA8XKlczTxL3hXrW/ElGNLTpD1TmqkykgGlOAK55+D3SmUHEirpFw==", + "dev": true, + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/scheduler": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", + "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.0.0.tgz", + "integrity": "sha512-T6V6fCD2U0YesOedvydTnrNtsC8E+c2QzpawIpDdlaObX0OX5dLo7tLU5c64FhTZvA1Xrdim+cXDI7NPsVx8Cg==", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "5.0.0", + "@typescript-eslint/scope-manager": "5.0.0", + "debug": "^4.3.1", + "functional-red-black-tree": "^1.0.1", + "ignore": "^5.1.8", + "regexpp": "^3.1.0", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "dependencies": { + "@typescript-eslint/experimental-utils": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.0.0.tgz", + "integrity": "sha512-Dnp4dFIsZcPawD6CT1p5NibNUQyGSEz80sULJZkyhyna8AEqArmfwMwJPbmKzWVo4PabqNVzHYlzmcdLQWk+pg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.7", + "@typescript-eslint/scope-manager": "5.0.0", + "@typescript-eslint/types": "5.0.0", + "@typescript-eslint/typescript-estree": "5.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + }, + "dependencies": { + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^2.0.0" + } + } + } + }, + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + } + } + }, + "@typescript-eslint/parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.0.0.tgz", + "integrity": "sha512-B6D5rmmQ14I1fdzs71eL3DAuvnPHTY/t7rQABrL9BLnx/H51Un8ox1xqYAchs0/V2trcoyxB1lMJLlrwrJCDgw==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.0.0", + "@typescript-eslint/types": "5.0.0", + "@typescript-eslint/typescript-estree": "5.0.0", + "debug": "^4.3.1" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.0.0.tgz", + "integrity": "sha512-5RFjdA/ain/MDUHYXdF173btOKncIrLuBmA9s6FJhzDrRAyVSA+70BHg0/MW6TE+UiKVyRtX91XpVS0gVNwVDQ==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.0.0", + "@typescript-eslint/visitor-keys": "5.0.0" + } + }, + "@typescript-eslint/types": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.0.0.tgz", + "integrity": "sha512-dU/pKBUpehdEqYuvkojmlv0FtHuZnLXFBn16zsDmlFF3LXkOpkAQ2vrKc3BidIIve9EMH2zfTlxqw9XM0fFN5w==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.0.0.tgz", + "integrity": "sha512-V/6w+PPQMhinWKSn+fCiX5jwvd1vRBm7AX7SJQXEGQtwtBvjMPjaU3YTQ1ik2UF1u96X7tsB96HMnulG3eLi9Q==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.0.0", + "@typescript-eslint/visitor-keys": "5.0.0", + "debug": "^4.3.1", + "globby": "^11.0.3", + "is-glob": "^4.0.1", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.0.0.tgz", + "integrity": "sha512-yRyd2++o/IrJdyHuYMxyFyBhU762MRHQ/bAGQeTnN3pGikfh+nEmM61XTqaDH1XDp53afZ+waXrk0ZvenoZ6xw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.0.0", + "eslint-visitor-keys": "^3.0.0" + } + }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-align": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", + "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", + "dev": true, + "requires": { + "string-width": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "boolean": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.1.4.tgz", + "integrity": "sha512-3hx0kwU3uzG6ReQ3pnaFQPSktpBw6RHN3/ivDKEuU8g1XSfafowyvDnadjv1xp8IZqhtSukxlwv9bF6FhX8m0w==", + "dev": true, + "optional": true + }, + "boxen": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", + "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", + "dev": true, + "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" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.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==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "dev": true + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "dev": true, + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "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==", + "dev": true, + "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==", + "dev": true + } + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "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==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true + }, + "cli-boxes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", + "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", + "dev": true + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "dev": true, + "optional": true, + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "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==", + "dev": true, + "requires": { + "dot-prop": "^4.2.1", + "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" + } + }, + "core-js": { + "version": "3.18.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.18.3.tgz", + "integrity": "sha512-tReEhtMReZaPFVw7dajMx0vlsz3oOb8ajgPoHVYGxr8ErnZ6PcYEvvmjGmXlfpnxpkYSdOQttjB+MvVbCGfvLw==", + "dev": true, + "optional": true + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "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=", + "dev": true, + "requires": { + "capture-stack-trace": "^1.0.0" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "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=", + "dev": true + }, + "csstype": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz", + "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==", + "dev": true + }, + "data-uri-to-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz", + "integrity": "sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==" + }, + "debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", + "dev": true + }, + "define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "optional": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true, + "optional": true + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "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==", + "dev": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, + "electron": { + "version": "11.5.0", + "resolved": "https://registry.npmjs.org/electron/-/electron-11.5.0.tgz", + "integrity": "sha512-WjNDd6lGpxyiNjE3LhnFCAk/D9GIj1rU3GSDealVShhkkkPR3Vh4q8ErXGDl1OAO/faomVa10KoFPUN/pLbNxg==", + "dev": true, + "requires": { + "@electron/get": "^1.0.1", + "@types/node": "^12.0.12", + "extract-zip": "^1.0.3" + }, + "dependencies": { + "@types/node": { + "version": "12.20.30", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.30.tgz", + "integrity": "sha512-XYRJM0gRRtwfCq4mFRMMtX10kSgpPyR8neFFwpAnt3M74mJSsyIYmcIQ9LYoWwLr75AWnFg5Y3eJbiwUoLUfrw==", + "dev": true + } + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true, + "optional": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true + }, + "es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true, + "optional": true + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "eslint": { + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "dev": true, + "requires": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz", + "integrity": "sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==", + "dev": true, + "requires": {} + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.0.0.tgz", + "integrity": "sha512-mJOZa35trBTb3IyRmo8xmKBZlxf+N7OnUl4+ZhJHs/r+0770Wh/LEACE2pqMGMe27G/4y8P2bYGk4J70IC5k1Q==", + "dev": true + }, + "espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "requires": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "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" + }, + "dependencies": { + "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=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } + }, + "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==", + "dev": true, + "requires": { + "concat-stream": "^1.6.2", + "debug": "^2.6.9", + "mkdirp": "^0.5.4", + "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==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fast-json-patch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-json-patch/-/fast-json-patch-3.1.0.tgz", + "integrity": "sha512-IhpytlsVTRndz0hU5t0/MGzS/etxLlfrpG5V5M9mVbuj9TrJLWaMfsox9REM5rkuGX0T+5qjpe8XA1o0gZ42nA==" + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, + "fetch-blob": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.1.2.tgz", + "integrity": "sha512-hunJbvy/6OLjCD0uuhLdp0mMPzP/yd2ssd1t2FCJsaA7wkWhpbp9xfuNVpv7Ll4jFhzp6T4LAupSiV9uOeg0VQ==", + "requires": { + "web-streams-polyfill": "^3.0.3" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz", + "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==", + "dev": true + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "global-agent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-2.2.0.tgz", + "integrity": "sha512-+20KpaW6DDLqhG7JDiJpD1JvNvb8ts+TNl7BPOYcURqCrXqnN1Vf+XVOrkKJAFPqfX+oEhsdzOj1hLWkBTdNJg==", + "dev": true, + "optional": true, + "requires": { + "boolean": "^3.0.1", + "core-js": "^3.6.5", + "es6-error": "^4.1.1", + "matcher": "^3.0.0", + "roarr": "^2.15.3", + "semver": "^7.3.2", + "serialize-error": "^7.0.1" + } + }, + "global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", + "dev": true, + "requires": { + "ini": "^1.3.4" + } + }, + "global-tunnel-ng": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz", + "integrity": "sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg==", + "dev": true, + "optional": true, + "requires": { + "encodeurl": "^1.0.2", + "lodash": "^4.17.10", + "npm-conf": "^1.1.3", + "tunnel": "^0.0.6" + } + }, + "globals": { + "version": "13.11.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", + "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globalthis": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.2.tgz", + "integrity": "sha512-ZQnSFO1la8P7auIOQECnm0sSuoMeaSq0EEdXMBFF2QJO4uNcwbyhSgG3MruWNbFTqCLmxVwGOl7LZ9kASvHdeQ==", + "dev": true, + "optional": true, + "requires": { + "define-properties": "^1.1.3" + } + }, + "globby": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "dev": true, + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + } + }, + "graceful-fs": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "dev": true + }, + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dev": true, + "requires": { + "ci-info": "^1.5.0" + } + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-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=", + "dev": true, + "requires": { + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" + } + }, + "is-npm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", + "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "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=", + "dev": true, + "requires": { + "path-is-inside": "^1.0.1" + } + }, + "is-redirect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", + "dev": true + }, + "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==", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", + "dev": true + }, + "json-rpc-2.0": { + "version": "0.2.19", + "resolved": "https://registry.npmjs.org/json-rpc-2.0/-/json-rpc-2.0-0.2.19.tgz", + "integrity": "sha512-tegZKneDQjWintJS5Zlw8xNvJK0/xq4sct2M5AgfFmcCJFMjvrLgk1noH7OPfFgEQ+ScueuWdaGfikCPr+qBtg==" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true, + "optional": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "dev": true, + "requires": { + "json-buffer": "3.0.0" + } + }, + "latest-version": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", + "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", + "dev": true, + "requires": { + "package-json": "^4.0.0" + } + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true, + "optional": true + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "matcher": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", + "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", + "dev": true, + "optional": true, + "requires": { + "escape-string-regexp": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "nanoid": { + "version": "3.1.29", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.29.tgz", + "integrity": "sha512-dW2pUSGZ8ZnCFIlBIA31SV8huOGCHb6OwzVCc7A69rb/a+SgPBwfmLvK5TKQ3INPbRkcI8a/Owo0XbiTNH19wg==" + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.0.0.tgz", + "integrity": "sha512-bKMI+C7/T/SPU1lKnbQbwxptpCrG9ashG+VkytmXCPZyuM9jB6VU+hY0oi4lC8LxTtAeWdckNCTa3nrGsAdA3Q==", + "requires": { + "data-uri-to-buffer": "^3.0.1", + "fetch-blob": "^3.1.2" + } + }, + "normalize-url": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", + "dev": true + }, + "npm-conf": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", + "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", + "dev": true, + "optional": true, + "requires": { + "config-chain": "^1.1.11", + "pify": "^3.0.0" + } + }, + "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=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + }, + "dependencies": { + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + } + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "open": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.3.0.tgz", + "integrity": "sha512-7INcPWb1UcOwSQxAXTnBJ+FxVV4MPs/X++FWWBtgY69/J5lc+tCteMt/oFK1MnkyHC4VILLa9ntmwKTwDR4Q9w==", + "requires": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "package-json": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", + "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", + "dev": true, + "requires": { + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "got": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", + "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "dev": true, + "requires": { + "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" + } + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "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=", + "dev": true, + "requires": { + "prepend-http": "^1.0.1" + } + } + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "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=", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true + }, + "picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true + }, + "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==", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } + }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", + "dev": true, + "optional": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + } + } + }, + "react": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", + "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "peer": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "react-devtools": { + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/react-devtools/-/react-devtools-4.19.2.tgz", + "integrity": "sha512-bDfVZiujfM8R6qqW5nIIp+U7DA9HFLzRdRIrYz4CtR62haDn6naN9RDcNfIpOEzzh+gB+vAYQ2x82vkMT0yX3g==", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "electron": "^11.1.0", + "ip": "^1.1.4", + "minimist": "^1.2.3", + "react-devtools-core": "4.19.2", + "update-notifier": "^2.1.0" + }, + "dependencies": { + "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=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "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==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } + }, + "react-devtools-core": { + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.19.2.tgz", + "integrity": "sha512-Z9K+h9gjEwimZtZB1NsWm5hQsxAcElW0GI2KXLQDpk2o1YIZQ+lOSesUr0npUyLeb37k2hTtyxp8wumeRJpG5Q==", + "dev": true, + "requires": { + "shell-quote": "^1.6.1", + "ws": "^7" + } + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "react-reconciler": { + "version": "0.26.2", + "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.26.2.tgz", + "integrity": "sha512-nK6kgY28HwrMNwDnMui3dvm3rCFjZrcGiuwLc5COUipBK5hWHLOxMJhSnSomirqWwjPBJKV1QcbkI0VJr7Gl1Q==", + "peer": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "scheduler": "^0.20.2" + } + }, + "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==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", + "dev": true, + "requires": { + "rc": "^1.0.1" + } + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "dev": true, + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "roarr": { + "version": "2.15.4", + "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", + "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==", + "dev": true, + "optional": true, + "requires": { + "boolean": "^3.0.1", + "detect-node": "^2.0.4", + "globalthis": "^1.0.1", + "json-stringify-safe": "^5.0.1", + "semver-compare": "^1.0.0", + "sprintf-js": "^1.1.2" + }, + "dependencies": { + "sprintf-js": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", + "dev": true, + "optional": true + } + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "rxjs": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.4.0.tgz", + "integrity": "sha512-7SQDi7xeTMCJpqViXh8gL/lebcwlp3d831F05+9B44A4B0WfsEwUQHR64gsH1kvJ+Ep/J9K2+n1hVl1CsGN23w==", + "requires": { + "tslib": "~2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "peer": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", + "dev": true, + "optional": true + }, + "semver-diff": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", + "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", + "dev": true, + "requires": { + "semver": "^5.0.3" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "serialize-error": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", + "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", + "dev": true, + "optional": true, + "requires": { + "type-fest": "^0.13.1" + }, + "dependencies": { + "type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "dev": true, + "optional": true + } + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "shell-quote": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", + "dev": true + }, + "signal-exit": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz", + "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" + } + } + }, + "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==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "sumchecker": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", + "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", + "dev": true, + "requires": { + "debug": "^4.1.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "table": { + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/table/-/table-6.7.2.tgz", + "integrity": "sha512-UFZK67uvyNivLeQbVtkiUs8Uuuxv24aSL4/Vil2PJVtMgU8Lx0CYkP12uCGa3kjyQzOSgV1+z9Wkb82fCGsO0g==", + "dev": true, + "requires": { + "ajv": "^8.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "ajv": { + "version": "8.6.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz", + "integrity": "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + } + } + }, + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "dev": true, + "requires": { + "execa": "^0.7.0" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "tildify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tildify/-/tildify-3.0.0.tgz", + "integrity": "sha512-9ZLMl75qnTLr7oSEmWJbKemFS/fP4TMBiF6PFwGwLpgobebU1ehXoGbadJ+7jT8fjaz2G82JgN9G4taz+o1j1w==" + }, + "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=", + "dev": true + }, + "to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", + "dev": true, + "optional": true + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.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==", + "dev": true + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "typescript": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz", + "integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==", + "dev": true + }, + "unique-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "dev": true, + "requires": { + "crypto-random-string": "^1.0.0" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "unzip-response": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", + "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", + "dev": true + }, + "update-notifier": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", + "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", + "dev": true, + "requires": { + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.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" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.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=", + "dev": true, + "requires": { + "prepend-http": "^2.0.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "web-streams-polyfill": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.1.1.tgz", + "integrity": "sha512-Czi3fG883e96T4DLEPRvufrF2ydhOOW1+1a6c3gNjH2aIh50DNFBdfwh2AKoOf1rXvpvavAoA11Qdq9+BKjE0Q==" + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "string-width": "^2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "ws": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz", + "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==", + "dev": true, + "requires": {} + }, + "xdg-basedir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + } + } +} diff --git a/extensions/xcode/package.json b/extensions/xcode/package.json new file mode 100644 index 0000000000000..7371bcc933397 --- /dev/null +++ b/extensions/xcode/package.json @@ -0,0 +1,88 @@ +{ + "name": "xcode", + "title": "Xcode", + "version": "1.0.0", + "author": "SvenTiigi", + "license": "MIT", + "description": "Search and open your recent Xcode Projects, manage your Simulators & Apps, view the latest Releases and quickly clear Xcode cache files.", + "icon": "icon.png", + "commands": [ + { + "name": "projects.command", + "title": "Search Recent Projects", + "subtitle": "Xcode", + "description": "Search and open your recent Xcode Projects", + "mode": "view" + }, + { + "name": "simulator-applications.command", + "title": "Installed Simulator Apps", + "subtitle": "Xcode", + "description": "View the bundle and sandbox path of your Apps that are installed on a Xcode Simulator", + "mode": "view" + }, + { + "name": "simulators.command", + "title": "Manage Simulators", + "subtitle": "Xcode", + "description": "Manage your Xcode Simulators", + "mode": "view" + }, + { + "name": "releases.command", + "title": "Xcode Releases", + "subtitle": "Xcode", + "description": "Search, download and view the latest Xcode Releases", + "mode": "view" + }, + { + "name": "create-swift-package.command", + "title": "Create Swift Package", + "subtitle": "Xcode", + "description": "Create a new Swift Package and open it directly in Xcode", + "mode": "view" + }, + { + "name": "clear-derived-data.command", + "title": "Clear Derived Data", + "subtitle": "Xcode", + "description": "Removes the ~/Library/Developer/Xcode/DerivedData directory", + "mode": "no-view" + }, + { + "name": "clear-swift-package-manager-cache.command", + "title": "Clear Swift Package Manager Cache", + "subtitle": "Xcode", + "description": "Removes the ~/Library/Caches/org.swift.swiftpm/repositories directory", + "mode": "no-view" + } + ], + "keywords": [ + "Xcode", + "Simulator", + "Swift", + "Swift Package", + "SPM" + ], + "dependencies": { + "@raycast/api": "^1.25.0", + "node-fetch": "^3.0.0", + "rxjs": "^7.4.0", + "tildify": "^3.0.0" + }, + "devDependencies": { + "@types/node": "~16.10.0", + "@types/node-fetch": "^3.0.3", + "@types/react": "^17.0.28", + "@typescript-eslint/eslint-plugin": "^5.0.0", + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^7.32.0", + "eslint-config-prettier": "^8.3.0", + "react-devtools": "^4.19.2", + "typescript": "^4.4.3" + }, + "scripts": { + "build": "ray build -e dist", + "dev": "ray develop" + } +} diff --git a/extensions/xcode/src/clear-derived-data.command.ts b/extensions/xcode/src/clear-derived-data.command.ts new file mode 100644 index 0000000000000..9ec81e687026a --- /dev/null +++ b/extensions/xcode/src/clear-derived-data.command.ts @@ -0,0 +1,36 @@ +import { showToast, ToastStyle } from "@raycast/api"; +import { XcodeCleanupService } from "./services/xcode-cleanup.service"; + +/** + * Xcode clear derived data command + */ +export default async () => { + // Initialize XcodeCleanupService + const xcodeCleanupService = new XcodeCleanupService(); + // Show loading Toast + const loadingToast = await showToast( + ToastStyle.Animated, + "Please wait" + ); + try { + // Clear DerivedData + await xcodeCleanupService.clearDerivedData(); + // Hide loading Toast + await loadingToast.hide(); + // Show success Toast + await showToast( + ToastStyle.Success, + "Derived Data successfully cleared" + ); + } catch (error) { + // Log error + console.error(error); + // Hide loading Toast + await loadingToast.hide(); + // Show failure Toast + await showToast( + ToastStyle.Failure, + "An error occurred while trying to clear the Derived Data directory" + ); + } +} diff --git a/extensions/xcode/src/clear-swift-package-manager-cache.command.ts b/extensions/xcode/src/clear-swift-package-manager-cache.command.ts new file mode 100644 index 0000000000000..3e9d3ac8e6218 --- /dev/null +++ b/extensions/xcode/src/clear-swift-package-manager-cache.command.ts @@ -0,0 +1,36 @@ +import { showToast, ToastStyle } from "@raycast/api"; +import { XcodeCleanupService } from "./services/xcode-cleanup.service"; + +/** + * Xcode clear Swift Package Manager (SPM) cache command + */ +export default async () => { + // Initialize XcodeCleanupService + const xcodeCleanupService = new XcodeCleanupService(); + // Show loading Toast + const loadingToast = await showToast( + ToastStyle.Animated, + "Please wait" + ); + try { + // Clear Swift Package Manager cache + await xcodeCleanupService.clearSwiftPackageManagerCache(); + // Hide loading Toast + await loadingToast.hide(); + // Show success Toast + await showToast( + ToastStyle.Success, + "Swift Package Manager cache successfully cleared" + ); + } catch (error) { + // Log error + console.error(error); + // Hide loading Toast + await loadingToast.hide(); + // Show failure Toast + await showToast( + ToastStyle.Failure, + "An error occurred while trying to clear the Swift Package Manager cache" + ); + } +} diff --git a/extensions/xcode/src/create-swift-package.command.ts b/extensions/xcode/src/create-swift-package.command.ts new file mode 100644 index 0000000000000..1bb1ef2552f46 --- /dev/null +++ b/extensions/xcode/src/create-swift-package.command.ts @@ -0,0 +1,18 @@ +import { xcodeCreateSwiftPackageForm } from "./user-interfaces/xcode-create-swift-package/xcode-create-swift-package-form.user-interface"; +import { XcodeSwiftPackageService } from "./services/xcode-swift-package.service"; +import { useNavigation } from "@raycast/api"; + +/** + * Xcode create swift package command + */ +export default () => { + // Initialize XcodeSwiftPackageService + const xcodeSwiftPackageService = new XcodeSwiftPackageService(); + // Use Navigation + const navigation = useNavigation(); + // Xcode create Swift Package Form + return xcodeCreateSwiftPackageForm( + xcodeSwiftPackageService, + navigation + ); +}; diff --git a/extensions/xcode/src/models/project/xcode-project-type.model.ts b/extensions/xcode/src/models/project/xcode-project-type.model.ts new file mode 100644 index 0000000000000..5218b852a667e --- /dev/null +++ b/extensions/xcode/src/models/project/xcode-project-type.model.ts @@ -0,0 +1,9 @@ +/** + * A XcodeProjectType + */ +export enum XcodeProjectType { + project = "xcodeproj", + workspace = "xcworkspace", + swiftPackage = "swift", + swiftPlayground = "playground" +} diff --git a/extensions/xcode/src/models/project/xcode-project.model.ts b/extensions/xcode/src/models/project/xcode-project.model.ts new file mode 100644 index 0000000000000..d6651669631f6 --- /dev/null +++ b/extensions/xcode/src/models/project/xcode-project.model.ts @@ -0,0 +1,23 @@ +import { XcodeProjectType } from "./xcode-project-type.model"; + +/** + * A XcodeProject + */ +export interface XcodeProject { + /** + * The name of the XcodeProject + */ + name: string; + /** + * The XcodeProjectType + */ + type: XcodeProjectType; + /** + * The file path + */ + filePath: string; + /** + * The keywords + */ + keywords: string[] +} diff --git a/extensions/xcode/src/models/release/xcode-release-sdk.model.ts b/extensions/xcode/src/models/release/xcode-release-sdk.model.ts new file mode 100644 index 0000000000000..4e2ccda9b1f14 --- /dev/null +++ b/extensions/xcode/src/models/release/xcode-release-sdk.model.ts @@ -0,0 +1,13 @@ +/** + * A Xcode Release SDK + */ +export interface XcodeReleaseSDK { + /** + * The name + */ + name: string; + /** + * The version + */ + version: string; +} diff --git a/extensions/xcode/src/models/release/xcode-release.model.ts b/extensions/xcode/src/models/release/xcode-release.model.ts new file mode 100644 index 0000000000000..822c9f1311b5f --- /dev/null +++ b/extensions/xcode/src/models/release/xcode-release.model.ts @@ -0,0 +1,47 @@ +import { XcodeReleaseSDK } from "./xcode-release-sdk.model"; + +/** + * A Xcode Release + */ +export interface XcodeRelease { + /** + * The name + */ + name: string; + /** + * The date of the release + */ + date: Date; + /** + * The version number + */ + versionNumber: string; + /** + * The build number + */ + buildNumber: string; + /** + * The optional beta number + */ + beta: number | undefined; + /** + * The optional release candidate (RC) number + */ + releaseCandidate: number | undefined; + /** + * The SDKs embedded within this release + */ + sdks: XcodeReleaseSDK[]; + /** + * The optional Swift version that is bundled with this release + */ + swiftVersion: string | undefined; + /** + * The optional release notes link + */ + releaseNotesLink: string | undefined; + /** + * The optional download link + */ + downloadLink: string | undefined; +} diff --git a/extensions/xcode/src/models/simulator/xcode-simulator-application.model.ts b/extensions/xcode/src/models/simulator/xcode-simulator-application.model.ts new file mode 100644 index 0000000000000..1991c3bb76e68 --- /dev/null +++ b/extensions/xcode/src/models/simulator/xcode-simulator-application.model.ts @@ -0,0 +1,48 @@ +import { XcodeSimulator } from "./xcode-simulator.model"; + +/** + * An Application that is installed in an Xcode Simulator + */ +export interface XcodeSimulatorApplication { + /** + * The name of the application + */ + name: string; + /** + * The bundle identifier + */ + bundleIdentifier: string; + /** + * The optional version + */ + version: string | undefined; + /** + * The optional build number + */ + buildNumber: string | undefined; + /** + * The optional app icon path + */ + appIconPath: string | undefined; + /** + * The corresponding XcodeSimulator + * where the application is installed + */ + simulator: XcodeSimulator; + /** + * The Bundle directory path + */ + bundlePath: string; + /** + * The SandBox directory path + */ + sandBoxPath: string; + /** + * The SandBox Documents directory path + */ + sandBoxDocumentsPath: string; + /** + * The SandBox Caches directory path + */ + sandBoxCachesPath: string; +} diff --git a/extensions/xcode/src/models/simulator/xcode-simulator.model.ts b/extensions/xcode/src/models/simulator/xcode-simulator.model.ts new file mode 100644 index 0000000000000..727984a38d1a5 --- /dev/null +++ b/extensions/xcode/src/models/simulator/xcode-simulator.model.ts @@ -0,0 +1,26 @@ +/** + * A Xcode Simulator + */ +export interface XcodeSimulator { + /** + * The udid + * Note: No typo! udid is the field which the simctl responds with + */ + udid: string; + /** + * The name + */ + name: string; + /** + * The runtime e.g. iOS-15-0, tvOS-15-0 + */ + runtime: string; + /** + * The state e.g. Shutdown, Booted + */ + state: string; + /** + * The data file path + */ + dataPath: string; +} diff --git a/extensions/xcode/src/models/swift-package/xcode-swift-package-creation-parameters.model.ts b/extensions/xcode/src/models/swift-package/xcode-swift-package-creation-parameters.model.ts new file mode 100644 index 0000000000000..347bdb564a7a8 --- /dev/null +++ b/extensions/xcode/src/models/swift-package/xcode-swift-package-creation-parameters.model.ts @@ -0,0 +1,19 @@ +import { XcodeSwiftPackageType } from "./xcode-swift-package-type.model"; + +/** + * The Xcode Swift Package creation parameters + */ +export interface XcodeSwiftPackageCreationParameters { + /** + * The name + */ + name: string; + /** + * The location + */ + location: string; + /** + * The XcodeSwiftPackageType + */ + type: XcodeSwiftPackageType +} diff --git a/extensions/xcode/src/models/swift-package/xcode-swift-package-type.model.ts b/extensions/xcode/src/models/swift-package/xcode-swift-package-type.model.ts new file mode 100644 index 0000000000000..7acc19582829a --- /dev/null +++ b/extensions/xcode/src/models/swift-package/xcode-swift-package-type.model.ts @@ -0,0 +1,10 @@ +/** + * A Xcode Swift Package Type + */ +export enum XcodeSwiftPackageType { + library = "library", + executable = "executable", + systemModule = "system-module", + manifest = "manifest", + empty = "empty" +} diff --git a/extensions/xcode/src/models/swift-package/xcode-swift-package.model.ts b/extensions/xcode/src/models/swift-package/xcode-swift-package.model.ts new file mode 100644 index 0000000000000..27e6a2de38967 --- /dev/null +++ b/extensions/xcode/src/models/swift-package/xcode-swift-package.model.ts @@ -0,0 +1,23 @@ +import { XcodeSwiftPackageType } from "./xcode-swift-package-type.model"; + +/** + * A Xcode Swift Package + */ +export interface XcodeSwiftPackage { + /** + * The name + */ + name: string; + /** + * The XcodeSwiftPackageType + */ + type: XcodeSwiftPackageType; + /** + * The path + */ + path: string; + /** + * Open Swift Package + */ + open: () => Promise; +} diff --git a/extensions/xcode/src/projects.command.ts b/extensions/xcode/src/projects.command.ts new file mode 100644 index 0000000000000..49ec2e143aafa --- /dev/null +++ b/extensions/xcode/src/projects.command.ts @@ -0,0 +1,50 @@ +import { showToast, ToastStyle } from "@raycast/api"; +import { useEffect, useState } from "react"; +import { XcodeProject } from "./models/project/xcode-project.model"; +import { xcodeProjectList } from "./user-interfaces/xcode-projects/xcode-project-list.user-interface"; +import { XcodeProjectService } from "./services/xcode-project.service"; + +/** + * Xcode projects command + */ +export default () => { + // Initialize XcodeProjectService + const xcodeProjectService = new XcodeProjectService(); + // Use XcodeProject State + const [xcodeProjects, setXcodeProjects] = useState(undefined); + // Use Effect + useEffect(() => { + // Retrieve cached XcodeProjects + xcodeProjectService + .cachedXcodeProjects() + .then(cachedXcodeProjects => { + // Check if no XcodeProjects have been set + if (!xcodeProjects) { + // Set cached XcodeProjects + setXcodeProjects(cachedXcodeProjects); + } + }) + .catch(console.error); + // Retrieve most recent XcodeProjects + xcodeProjectService + .xcodeProjects() + .then(setXcodeProjects) + .catch(error => { + // Check if no XcodeProjects have been set + if (!xcodeProjects) { + // Set empty XcodeProjects + setXcodeProjects([]); + } + // Log Error + console.error(error); + // Show Toast + return showToast( + ToastStyle.Failure, + "An error occurred while finding Xcode Projects", + error + ); + }); + }, []); + // Return XcodeProject List + return xcodeProjectList(xcodeProjects); +}; diff --git a/extensions/xcode/src/releases.command.ts b/extensions/xcode/src/releases.command.ts new file mode 100644 index 0000000000000..af9a2f7fa3646 --- /dev/null +++ b/extensions/xcode/src/releases.command.ts @@ -0,0 +1,49 @@ +import { XcodeReleaseService } from "./services/xcode-release.service"; +import { useEffect, useState } from "react"; +import { XcodeRelease } from "./models/release/xcode-release.model"; +import { xcodeReleaseList } from "./user-interfaces/xcode-releases/xcode-release-list.user-interface"; +import { showToast, ToastStyle } from "@raycast/api"; + +/** + * Xcode releases command + */ +export default () => { + // Initialize XcodeReleaseService + const xcodeReleaseService = new XcodeReleaseService(); + // Use XcodeRelease State + const [xcodeReleases, setXcodeReleases] = useState(undefined); + // Use Effect + useEffect(() => { + xcodeReleaseService + .cachedXcodeReleases() + .then(cachedXcodeReleases => { + // Check if no XcodeReleases have been set + if (!xcodeReleases) { + // Set cached XcodeReleases + setXcodeReleases(cachedXcodeReleases); + } + }) + .catch(console.error); + // Retrieve latest XcodeReleases + xcodeReleaseService + .xcodeReleases() + .then(setXcodeReleases) + .catch(error => { + // Check if no XcodeReleases have been set + if (!xcodeReleases) { + // Set empty XcodeReleases + setXcodeReleases([]); + } + // Log Error + console.error(error); + // Show Toast + return showToast( + ToastStyle.Failure, + "An error occurred while fetching Xcode Releases", + error + ); + }); + }, []); + // Return XcodeRelease List + return xcodeReleaseList(xcodeReleases); +}; diff --git a/extensions/xcode/src/services/xcode-cleanup.service.ts b/extensions/xcode/src/services/xcode-cleanup.service.ts new file mode 100644 index 0000000000000..194ce79117747 --- /dev/null +++ b/extensions/xcode/src/services/xcode-cleanup.service.ts @@ -0,0 +1,26 @@ +import { execAsync } from "../shared/exec-async"; + +/** + * XcodeCleanupService + */ +export class XcodeCleanupService { + + /** + * Clear the Xcode Derived Data directory + */ + clearDerivedData(): Promise { + return execAsync( + "rm -rf ~/Library/Developer/Xcode/DerivedData" + ).then(); + } + + /** + * Clear Swift Package Manager Cache + */ + clearSwiftPackageManagerCache(): Promise { + return execAsync( + "rm -rf ~/Library/Caches/org.swift.swiftpm/repositories" + ).then(); + } + +} diff --git a/extensions/xcode/src/services/xcode-project.service.ts b/extensions/xcode/src/services/xcode-project.service.ts new file mode 100644 index 0000000000000..056535f3b1d17 --- /dev/null +++ b/extensions/xcode/src/services/xcode-project.service.ts @@ -0,0 +1,134 @@ +import { getLocalStorageItem, setLocalStorageItem } from "@raycast/api"; +import { XcodeProject } from "../models/project/xcode-project.model"; +import { XcodeProjectType } from "../models/project/xcode-project-type.model"; +import { execAsync } from "../shared/exec-async"; + +/** + * XcodeProjectService + */ +export class XcodeProjectService { + + /** + * The XcodeProjects JSON LocalStorage Key + */ + private xcodeProjectsJSONLocalStorageKey = "xcode-projects"; + + /** + * Retrieve the cached XcodeProjects, if available + */ + async cachedXcodeProjects(): Promise { + // Retrieve XcodeProjects JSON from LocalStorage + const xcodeProjectsJSON = await getLocalStorageItem( + this.xcodeProjectsJSONLocalStorageKey + ); + // Check if XcodeProjects JSON is not available + if (!xcodeProjectsJSON) { + // Return undefined + return undefined; + } + // Return parsed XcodeProjects + return JSON.parse(xcodeProjectsJSON); + } + + /** + * Cache XcodeProjects + * @param xcodeProjects The XcodeProjects that should be cached + */ + private cacheXcodeProjects( + xcodeProjects: XcodeProject[] + ): Promise { + // Store XcodeProjects JSON in LocalStorage + return setLocalStorageItem( + this.xcodeProjectsJSONLocalStorageKey, + JSON.stringify(xcodeProjects) + ); + } + + /** + * Retrieve XcodeProjects + */ + async xcodeProjects(): Promise { + // Initialize Spotlight Search Parameters + const spotlightSearchParameters = [ + "kMDItemDisplayName == *.xcodeproj", + "kMDItemDisplayName == *.xcworkspace", + "kMDItemDisplayName == Package.swift", + "kMDItemDisplayName == *.playground", + ] + // Execute command + const output = await execAsync( + `mdfind '${spotlightSearchParameters.join(" || ")}'` + ) + // Initialize XcodeProjects + const xcodeProjects = output + .stdout + // Split standard output by new line + .split("\n") + // Filter out any Xcode Project that is included in Carthage/Checkouts or Pods from CocoaPods + .filter(xcodeProjectPath => { + return !xcodeProjectPath.includes("Carthage/Checkouts") + && !xcodeProjectPath.includes("Pods") + && !xcodeProjectPath.includes("Library/Autosave Information"); + }) + // Decode each Xcode Project Path + .map(xcodeProjectPath => XcodeProjectService.decodeXcodeProject(xcodeProjectPath)) + // Filter out null values + .filter(xcodeProject => !!xcodeProject) as XcodeProject[]; + // Cache XcodeProjects + this.cacheXcodeProjects(xcodeProjects); + // Return XcodeProjects + return xcodeProjects; + } + + /** + * Decode XcodeProject from Xcode Project Path + * @param xcodeProjectPath The Xcode Project Path + */ + private static decodeXcodeProject( + xcodeProjectPath: string + ): XcodeProject | undefined { + // Initialize the last path component + const lastPathComponent = xcodeProjectPath.substring(xcodeProjectPath.lastIndexOf("/") + 1); + // Initialize the file extension + const fileExtension = lastPathComponent.split(".").at(-1); + // Declare name + let name: string + // Switch on file extension + switch (fileExtension) { + case XcodeProjectType.project: + case XcodeProjectType.workspace: + case XcodeProjectType.swiftPlayground: + // Initialize file name components + const fileNameComponent = lastPathComponent.split("."); + // Pop last file name component + fileNameComponent.pop(); + // Initialize name with re-joined file name components + name = fileNameComponent.join("."); + break; + case XcodeProjectType.swiftPackage: + // Initialize name by using the parent directory name otherwise use last path component + name = xcodeProjectPath.split("/").at(-2) ?? lastPathComponent; + break; + default: + // Unsupported/Unknown project type + // Return undefined to exclude project + return undefined; + } + // Initialize keywords + let keywords = xcodeProjectPath.split("/"); + // Pop last element of keywords + keywords.pop(); + // Push name to keywords + keywords.push(name); + // Filter out duplicates and empty keywords + keywords = [...new Set(keywords.filter(Boolean))]; + // Return XcodeProject + return { + name: name, + type: fileExtension, + filePath: xcodeProjectPath, + keywords: keywords.reverse() + }; + } + +} diff --git a/extensions/xcode/src/services/xcode-release.service.ts b/extensions/xcode/src/services/xcode-release.service.ts new file mode 100644 index 0000000000000..ceafd220826c3 --- /dev/null +++ b/extensions/xcode/src/services/xcode-release.service.ts @@ -0,0 +1,106 @@ +import { XcodeRelease } from "../models/release/xcode-release.model"; +import { XcodeReleaseSDK } from "../models/release/xcode-release-sdk.model"; +import { getLocalStorageItem, setLocalStorageItem } from "@raycast/api"; +import fetch from 'node-fetch'; + +/** + * XcodeReleaseService + */ +export class XcodeReleaseService { + + /** + * The XcodeReleases JSON LocalStorage Key + */ + private xcodeReleasesJSONLocalStorageKey = "xcode-releases"; + + /** + * Retrieve the cached XcodeReleases, if available + */ + async cachedXcodeReleases(): Promise { + // Retrieve XcodeReleases JSON from LocalStorage + const xcodeReleasesJSON = await getLocalStorageItem( + this.xcodeReleasesJSONLocalStorageKey + ); + // Check if XcodeReleases JSON is not available + if (!xcodeReleasesJSON) { + // Return undefined + return undefined; + } + // Return parsed XcodeReleases + return JSON.parse(xcodeReleasesJSON); + } + + /** + * Cache XcodeReleases + * @param xcodeReleases The XcodeReleases that should be cached + */ + private async cacheXcodeReleases( + xcodeReleases: XcodeRelease[] + ) { + // Store XcodeReleases JSON in LocalStorage + return setLocalStorageItem( + this.xcodeReleasesJSONLocalStorageKey, + JSON.stringify(xcodeReleases) + ); + } + + /** + * Retrieve XcodeReleases + */ + async xcodeReleases(): Promise { + // Fetch Response from https://xcodereleases.com + const response = await fetch("https://xcodereleases.com/data.json"); + // Retrieve JSON array from response + const jsonArray = await response.json() as any[]; + // Decode each entry to a XcodeRelease + const xcodeReleases = jsonArray.map(XcodeReleaseService.decodeXcodeRelease); + // Cache XcodeReleases + this.cacheXcodeReleases(xcodeReleases); + // Return XcodeReleases + return xcodeReleases; + } + + /** + * Decode XcodeRelease from raw Xcode Release + * @param rawXcodeRelease The raw Xcode Release + */ + private static decodeXcodeRelease( + rawXcodeRelease: any + ): XcodeRelease { + return { + name: rawXcodeRelease.name, + date: new Date( + rawXcodeRelease.date.year, + rawXcodeRelease.date.month, + rawXcodeRelease.date.day + ), + versionNumber: rawXcodeRelease.version.number, + buildNumber: rawXcodeRelease.version.build, + beta: rawXcodeRelease.version.release.beta, + releaseCandidate: rawXcodeRelease.version.release.rc, + sdks: (() => { + // Initialize XcodeReleaseSDK array + let sdks: XcodeReleaseSDK[] = []; + // For each property + for (const sdk in rawXcodeRelease.sdks) { + // Push XcodeReleaseSDK + sdks.push({ + name: sdk, + version: rawXcodeRelease.sdks[sdk][0].number + }); + } + // Sort SDKs alphabetically + sdks = sdks + .sort((lhs, rhs) => { + return lhs.name.localeCompare(rhs.name); + }); + // Return XcodeReleaseSDKs + return sdks; + })(), + swiftVersion: rawXcodeRelease.compilers?.swift?.at(0)?.number, + releaseNotesLink: rawXcodeRelease.links?.notes?.url, + downloadLink: rawXcodeRelease.links?.download?.url + }; + } + +} diff --git a/extensions/xcode/src/services/xcode-simulator-application.service.ts b/extensions/xcode/src/services/xcode-simulator-application.service.ts new file mode 100644 index 0000000000000..8e78c8b3b54e1 --- /dev/null +++ b/extensions/xcode/src/services/xcode-simulator-application.service.ts @@ -0,0 +1,332 @@ +import { XcodeSimulatorApplication } from "../models/simulator/xcode-simulator-application.model"; +import { XcodeSimulatorService } from "./xcode-simulator.service"; +import * as fs from "fs"; +import * as Path from "path"; +import { execAsync } from "../shared/exec-async"; +import { XcodeSimulator } from "../models/simulator/xcode-simulator.model"; +import { getLocalStorageItem, setLocalStorageItem } from "@raycast/api"; + +/** + * XcodeSimulatorApplicationService + */ +export class XcodeSimulatorApplicationService { + + /** + * The XcodeSimulatorService + */ + private xcodeSimulatorService = new XcodeSimulatorService(); + + /** + * The XcodeSimulatorApplications JSON LocalStorage Key + */ + private xcodeSimulatorApplicationsJSONLocalStorageKey = "xcode-simulator-applications"; + + /** + * Retrieve the cached XcodeSimulatorApplications, if available + */ + async cachedXcodeSimulatorApplications(): Promise { + // Retrieve XcodeSimulatorApplications JSON from LocalStorage + const xcodeSimulatorApplications = await getLocalStorageItem( + this.xcodeSimulatorApplicationsJSONLocalStorageKey + ); + // Check if XcodeSimulatorApplications JSON is not available + if (!xcodeSimulatorApplications) { + // Return undefined + return undefined; + } + // Return parsed XcodeSimulatorApplications + return JSON.parse(xcodeSimulatorApplications); + } + + /** + * Cache XcodeSimulatorApplications + * @param xcodeSimulatorApplications The XcodeSimulatorApplications that should be cached + */ + private cacheXcodeSimulatorApplication( + xcodeSimulatorApplications: XcodeSimulatorApplication[] + ): Promise { + // Store XcodeSimulatorApplications JSON in LocalStorage + return setLocalStorageItem( + this.xcodeSimulatorApplicationsJSONLocalStorageKey, + JSON.stringify(xcodeSimulatorApplications) + ); + } + + /** + * Retrieve all installed XcodeSimulatorApplication + */ + async xcodeSimulatorApplications(): Promise { + // Retrieve all Simulators + const simulators = await this.xcodeSimulatorService.getXcodeSimulators(); + // Find all Applications installed in each XcodeSimulator in parallel + const allApplications = await Promise.all(simulators.map(this.findXcodeSimulatorApplications)); + // Flat map 2D Array to 1D + const applications = ([] as XcodeSimulatorApplication[]).concat(...allApplications); + // Cache Applications + this.cacheXcodeSimulatorApplication(applications); + // Return Applications + return applications; + } + + /** + * Find all installed applications of the given XcodeSimulator + * @param simulator The XcodeSimulator + */ + private async findXcodeSimulatorApplications( + simulator: XcodeSimulator + ): Promise { + // Declare Application Directory Paths + let applicationDirectoryPaths: string[]; + // Declare SandBox Directory Paths + let sandBoxDirectoryPaths: string[]; + // Declare SandBox Directory Bundle identifiers + let sandBoxDirectoryBundleIds: string[]; + try { + // Read child directories paths + applicationDirectoryPaths = await readChildDirectoryPathsAsync( + Path.join(simulator.dataPath, "Containers/Bundle/Application") + ); + // Read SandBox child directory paths + sandBoxDirectoryPaths = await readChildDirectoryPathsAsync( + Path.join(simulator.dataPath, "Containers/Data/Application") + ); + // Read SandBox Bundle identifiers for each SandBox directory path + sandBoxDirectoryBundleIds = ( + await execAsync( + sandBoxDirectoryPaths + .map(sandBoxDirectoryPath => { + return [ + "defaults", + "read", + Path.join( + sandBoxDirectoryPath, + ".com.apple.mobile_container_manager.metadata.plist" + ), + "MCMMetadataIdentifier" + ].join(" "); + }) + .join(" && ") + ) + ) + .stdout + .split("\n") + .map(bundleId => bundleId.trim()); + } catch { + // On error return empty applications + return []; + } + // Initialize a Map which holds a bundle identifier as a key + // and the corresponding SandBox directory path as a value + const sandBoxBundleIdDirectoryPathMap = new Map(); + // For each SandBox directory bundle identifier entries + for (const [index, bundleId] of sandBoxDirectoryBundleIds.entries()) { + // Retrieve SandBox directory path at the same index as the bundle identifier + const sandBoxDirectoryPath = sandBoxDirectoryPaths.at(index); + // Check if SandBox directory path is not available + if (!sandBoxDirectoryPath) { + // Continue with next bundle identifier + continue; + } + // Set bundle identifier and the corresponding SandBox directory path + sandBoxBundleIdDirectoryPathMap.set(bundleId, sandBoxDirectoryPath); + } + // Retrieve all Applications in parallel + const applications = await Promise.all( + applicationDirectoryPaths + .map(applicationDirectoryPath => { + return XcodeSimulatorApplicationService.findXcodeSimulatorApplication( + simulator, + applicationDirectoryPath, + sandBoxBundleIdDirectoryPathMap + ); + }) + ); + // Filter out falsy values and return Applications + return applications + .filter(application => !!application) as XcodeSimulatorApplication[]; + } + + /** + * Find an Application that is installed on the XcodeSimulator + * @param simulator The XcodeSimulator + * @param applicationDirectoryPath The Application directory path + * @param sandBoxBundleIdDirectoryPathMap The SandBox bundle identifier directory path map + */ + private static async findXcodeSimulatorApplication( + simulator: XcodeSimulator, + applicationDirectoryPath: string, + sandBoxBundleIdDirectoryPathMap: Map + ): Promise { + // Declare application file name + let applicationFileName: string; + try { + // Retrieve file names in application directory + const fileNames = await readDirectoryFileNamesAsync(applicationDirectoryPath); + // Initialize matching application file name where file name ends with '.app' + const matchingApplicationFileName = fileNames.find(fileName => fileName.endsWith(".app")); + // Check if matching application file name is unavailable + if (!matchingApplicationFileName) { + // Return no application + return undefined; + } + // Initialize Application file name + applicationFileName = matchingApplicationFileName; + } catch { + // On error return no application + return undefined; + } + // Declare Info.plist JSON + let infoPlistJSON: any + try { + // Try to parse Info.plist JSON + // using 'plutil' to convert the Info.plist XML to JSON format + infoPlistJSON = JSON.parse( + ( + await execAsync( + [ + "plutil", + "-convert", + "json", + Path.join( + applicationDirectoryPath, + applicationFileName + // Escape whitespaces + .replace(" ", "\\ "), + "Info.plist" + ), + "-o", + /* Important note: + By using a dash ("-") for the -o parameter value + the output will be printed in the stdout instead into a local file + Read more: https://www.manpagez.com/man/1/plutil/ + */ + "-" + ].join(" ") + ) + ).stdout.trim() + ); + } catch { + // Return no application + return undefined; + } + // Declare bundle identifier + const bundleIdentifier = infoPlistJSON["CFBundleIdentifier"]; + // Check if bundle identifier is not available + if (!bundleIdentifier) { + // Return no application + return undefined; + } + // Retrieve possible SandBox directory path for bundle identifier + const sandBoxDirectoryPath = sandBoxBundleIdDirectoryPathMap.get(bundleIdentifier); + // Check if SandBox directory path is not available + if (!sandBoxDirectoryPath) { + // Return no application + return undefined; + } + // Retrieve version from Info.plist + const version = infoPlistJSON["CFBundleShortVersionString"]; + // Retrieve build number from Info.plist + const buildNumber = infoPlistJSON["CFBundleVersion"]; + // Retrieve application name from Info.plist + // by either using the `CFBundleDisplayName` or `CFBundleName` + // otherwise use application file name as fallback + const applicationName = infoPlistJSON["CFBundleDisplayName"] + ?? infoPlistJSON["CFBundleName"] + ?? applicationFileName.split(".")[0]; + // Retrieve primary app icon name from Info.plist + const primaryAppIconName = infoPlistJSON + ["CFBundleIcons"] + ?.["CFBundlePrimaryIcon"] + ?.["CFBundleIconFiles"] + ?.at(0); + // Declare an optional app icon path + let appIconPath: string | undefined; + // Check if a primary app icon name is available + if (primaryAppIconName) { + try { + // Read file names in application + const applicationFileNames = await readDirectoryFileNamesAsync( + Path.join(applicationDirectoryPath, applicationFileName) + ); + // Find matching application file name that starts with the primary app icon name + const matchingApplicationFileName = applicationFileNames + .find(fileName => fileName.startsWith(primaryAppIconName)); + // Check if a matching application file name is available + if (matchingApplicationFileName) { + // Initialize app icon path + appIconPath = Path.join( + applicationDirectoryPath, + applicationFileName, + matchingApplicationFileName + ); + } + } catch { + // Simply ignore this error + // as we treat the appIconPath as an optional value + } + } + // Return Application + return { + name: applicationName, + bundleIdentifier: bundleIdentifier.trim(), + version: version, + buildNumber: buildNumber, + appIconPath: appIconPath, + simulator: simulator, + bundlePath: applicationDirectoryPath, + sandBoxPath: sandBoxDirectoryPath, + sandBoxDocumentsPath: Path.join(sandBoxDirectoryPath, "Documents"), + sandBoxCachesPath: Path.join(sandBoxDirectoryPath, "Library", "Caches") + }; + } + +} + +/** + * Read file names in directory + * @param path The Path + */ +async function readDirectoryFileNamesAsync( + path: string +): Promise { + return new Promise((resolve, reject) => { + fs.readdir( + path, + (error, entries) => { + if (error) { + reject(error); + } else { + resolve(entries); + } + } + ); + }); +} + +/** + * Read child directory paths from a given path + * @param path The path to read child directory paths from + */ +async function readChildDirectoryPathsAsync( + path: string +): Promise { + return new Promise((resolve, reject) => { + fs.readdir( + path, + { + withFileTypes: true + }, + (error, entries) => { + if (error) { + reject(error); + } else { + resolve( + entries + .filter(entry => entry.isDirectory()) + .map(entry => Path.join(path, entry.name)) + ); + } + } + ); + }); +} diff --git a/extensions/xcode/src/services/xcode-simulator.service.ts b/extensions/xcode/src/services/xcode-simulator.service.ts new file mode 100644 index 0000000000000..a689dacbfc081 --- /dev/null +++ b/extensions/xcode/src/services/xcode-simulator.service.ts @@ -0,0 +1,152 @@ +import { XcodeSimulator } from "../models/simulator/xcode-simulator.model"; +import { execAsync, ExecAsyncOutput } from "../shared/exec-async"; +import { BehaviorSubject, Observable } from "rxjs"; +import { showToast, ToastStyle } from "@raycast/api"; + +/** + * XcodeSimulatorService + */ +export class XcodeSimulatorService { + + /** + * The XcodeSimulators BehaviorSubject + */ + private xcodeSimulatorsSubject = new BehaviorSubject(undefined); + + /** + * The XcodeSimulators Observable + */ + get xcodeSimulators(): Observable { + // Refresh XcodeSimulators + this.refreshXcodeSimulators(); + // Return Subject as Observable + return this.xcodeSimulatorsSubject.asObservable(); + } + + /** + * Retrieve all installed XcodeSimulators + */ + async getXcodeSimulators(): Promise { + // Execute command + const output = await execAsync( + "xcrun simctl list -j -v devices" + ); + // Parse stdout as JSON + const devicesResponseJSON = JSON.parse(output.stdout); + // Check if JSON or devices within the JSON are not available + if (!devicesResponseJSON || !devicesResponseJSON.devices) { + // Throw Error + throw new Error("No Devices have been found"); + } + // Initialize XcodeSimulators + const simulators: XcodeSimulator[] = []; + // For each DeviceGroup + for (const deviceGroup in devicesResponseJSON.devices) { + // Initialize runtime components from DeviceGroup + const runtimeComponents = deviceGroup + .substring(deviceGroup.lastIndexOf(".") + 1) + .split("-"); + // Initialize runtime string + const runtime = [ + runtimeComponents.shift(), + runtimeComponents.join(".") + ].join(" "); + // Push Simulators in DeviceGroup + simulators.push( + ...devicesResponseJSON + .devices[deviceGroup] + .map((simulator: XcodeSimulator) => { + simulator.runtime = runtime; + return simulator; + }) + ); + } + // Return XcodeSimulators + return simulators; + } + + /** + * Boot XcodeSimulator + * @param xcodeSimulator The XcodeSimulator to boot + */ + async boot( + xcodeSimulator: XcodeSimulator + ): Promise { + // Update to pending state + this.updateToPendingStateIfNeeded(xcodeSimulator); + // Boot Simulator + await execAsync( + `xcrun simctl boot ${xcodeSimulator.udid}` + ); + // Refresh XcodeSimulators + this.refreshXcodeSimulators(); + } + + /** + * Shutdown XcodeSimulator + * @param xcodeSimulator The XcodeSimulator to shutdown + */ + async shutdown( + xcodeSimulator: XcodeSimulator + ): Promise { + // Update to pending state + this.updateToPendingStateIfNeeded(xcodeSimulator); + // Shutdown Simulator + await execAsync( + `xcrun simctl shutdown ${xcodeSimulator.udid}` + ); + // Refresh XcodeSimulators + this.refreshXcodeSimulators(); + } + + /** + * Refresh XcodeSimulators + */ + private async refreshXcodeSimulators() { + try { + // Retrieve XcodeSimulators + const simulators = await this.getXcodeSimulators(); + // Send XcodeSimulators to Subject + this.xcodeSimulatorsSubject.next(simulators); + } catch (error) { + // Send empty XcodeSimulators to Subject + this.xcodeSimulatorsSubject.next([]); + // Show failure Toast + await showToast( + ToastStyle.Failure, + "An error occurred while retrieving the Xcode Simulators", + (error as Error).message + ); + } + } + + /** + * Update a given XcodeSimulator to pending state if needed + * @param xcodeSimulator The XcodeSimulator + */ + private updateToPendingStateIfNeeded( + xcodeSimulator: XcodeSimulator + ) { + // Retrieve the current XcodeSimulators + const xcodeSimulators = this.xcodeSimulatorsSubject.value; + // Check if XcodeSimulators are not available + if (!xcodeSimulators) { + // Return out of function + return; + } + // Emit updated XcodeSimulators + this.xcodeSimulatorsSubject.next( + xcodeSimulators + .map(currentXcodeSimulator => { + // Check if current XcodeSimulator matches the given XcodeSimulator + if (currentXcodeSimulator.udid === xcodeSimulator.udid) { + // Update state to pending + currentXcodeSimulator.state = "Pending"; + } + // Return current XcodeSimulator + return currentXcodeSimulator; + }) + ); + } + +} diff --git a/extensions/xcode/src/services/xcode-swift-package.service.ts b/extensions/xcode/src/services/xcode-swift-package.service.ts new file mode 100644 index 0000000000000..6a61ba29c21fd --- /dev/null +++ b/extensions/xcode/src/services/xcode-swift-package.service.ts @@ -0,0 +1,53 @@ +import { XcodeSwiftPackage } from "../models/swift-package/xcode-swift-package.model"; +import { execAsync } from "../shared/exec-async"; +import { XcodeSwiftPackageCreationParameters } from "../models/swift-package/xcode-swift-package-creation-parameters.model"; +import * as Path from "path"; + +/** + * XcodeSwiftPackageService + */ +export class XcodeSwiftPackageService { + + /** + * Create Swift Package from parameters + */ + createSwiftPackage( + parameters: XcodeSwiftPackageCreationParameters + ): Promise { + // Initialize Swift Package path + const swiftPackagePath = Path.join(parameters.location, parameters.name) + // Execute command + return execAsync( + [ + // Make directory + `mkdir -p ${swiftPackagePath}`, + // Switch to directory + `cd ${swiftPackagePath}`, + // Create Swift Package + [ + "swift", + "package", + "init", + "--name", + parameters.name, + "--type", + parameters.type + ].join(" ") + ].join(" && ") + ).then(() => { + // Return Swift Package + return { + name: parameters.name, + type: parameters.type, + path: swiftPackagePath, + open: () => { + // Open Package.swift + return execAsync( + `open ${swiftPackagePath}/Package.swift` + ).then(); + } + } + }) + } + +} diff --git a/extensions/xcode/src/shared/exec-async.ts b/extensions/xcode/src/shared/exec-async.ts new file mode 100644 index 0000000000000..c93b7c16f9fcd --- /dev/null +++ b/extensions/xcode/src/shared/exec-async.ts @@ -0,0 +1,43 @@ +import { exec } from "child_process"; + +/** + * The ExecAsync Output + */ +export interface ExecAsyncOutput { + /** + * The standard output + */ + stdout: string; + /** + * The standard error output + */ + stderr: string; +} + +/** + * Spawns a shell then executes the command within that shell, buffering any generated output. + * @param command The shell command that should be executed + */ +export function execAsync( + command: string +): Promise { + return new Promise((resolve, reject) => { + // Execute command + exec( + command, + (error, stdout, stderr) => { + // Check if an error is available + if (error) { + // Reject with error + reject(error); + } else { + // Otherwise resolve with output + resolve({ + stdout: stdout, + stderr: stderr + }); + } + } + ); + }); +} diff --git a/extensions/xcode/src/shared/group-by.ts b/extensions/xcode/src/shared/group-by.ts new file mode 100644 index 0000000000000..bb179bb01e072 --- /dev/null +++ b/extensions/xcode/src/shared/group-by.ts @@ -0,0 +1,30 @@ +/** + * Group a given array by a given key into a Map + * Source: https://stackoverflow.com/a/38327540 + * @param list The list + * @param keyProvider The key provider that is used for grouping + */ +export function groupBy( + list: Array, + keyProvider: (input: Value) => Key +): Map> { + // Initialize the grouping Map + const map = new Map>(); + // For each value in the list + for (const value of list) { + // Retrieve the key from the key provider + const key = keyProvider(value); + // Retrieve the current values from the grouping Map + const values = map.get(key); + // Check if values is falsy + if (!values) { + // Set value as array to grouping Map + map.set(key, [value]); + } else { + // Push value to collection + values.push(value); + } + } + // Return map + return map; +} diff --git a/extensions/xcode/src/shared/source.ts b/extensions/xcode/src/shared/source.ts new file mode 100644 index 0000000000000..3662ce76ee47e --- /dev/null +++ b/extensions/xcode/src/shared/source.ts @@ -0,0 +1,14 @@ +/** + * A Source that holds a generic Value + * Acts as a wrapper to indicate if the Value is loaded from cache + */ +export interface Source { + /** + * The Value + */ + value: Value; + /** + * Bool value if Value is loaded from cache + */ + isCache: boolean; +} diff --git a/extensions/xcode/src/simulator-applications.command.ts b/extensions/xcode/src/simulator-applications.command.ts new file mode 100644 index 0000000000000..284043496348b --- /dev/null +++ b/extensions/xcode/src/simulator-applications.command.ts @@ -0,0 +1,71 @@ +import { useEffect, useState } from "react"; +import { showToast, ToastStyle, useNavigation } from "@raycast/api"; +import { xcodeSimulatorApplicationList } from "./user-interfaces/xcode-simulator-applications/xcode-simulator-application-list.user-interface"; +import { XcodeSimulatorApplicationService } from "./services/xcode-simulator-application.service"; +import { XcodeSimulatorApplication } from "./models/simulator/xcode-simulator-application.model"; +import { Source } from "./shared/source"; + +/** + * Xcode simulator applications command + */ +export default () => { + // Initialize XcodeSimulatorApplicationService + const xcodeSimulatorApplicationService = new XcodeSimulatorApplicationService(); + // Use Navigation + const navigation = useNavigation(); + // Use XcodeSimulatorApplication State + const [xcodeSimulatorApplications, setXcodeSimulatorApplication] = useState | undefined>(undefined); + // Use Effect + useEffect(() => { + // Retrieve cached Xcode Simulator Applications + xcodeSimulatorApplicationService + .cachedXcodeSimulatorApplications() + .then(cachedXcodeSimulatorApplications => { + // Check if no XcodeSimulatorApplications have been set + // and cached XcodeSimulatorApplications are available and not empty + if (!xcodeSimulatorApplications + && cachedXcodeSimulatorApplications + && cachedXcodeSimulatorApplications.length > 0) { + // Set cached XcodeSimulatorApplications + setXcodeSimulatorApplication({ + value: cachedXcodeSimulatorApplications, + isCache: true + }); + } + }) + .catch(console.error); + // Retrieve Xcode Simulator Applications + xcodeSimulatorApplicationService + .xcodeSimulatorApplications() + .then(applications => { + // Set XcodeSimulatorApplications + setXcodeSimulatorApplication({ + value: applications, + isCache: false + }); + }) + .catch(error => { + // Check if no XcodeSimulatorApplications are available + if (!xcodeSimulatorApplications) { + // Set empty applications + setXcodeSimulatorApplication({ + value: [], + isCache: false + }) + } + // Log Error + console.error(error); + // Show Toast + return showToast( + ToastStyle.Failure, + "An error occurred while fetching the Apps", + error + ); + }); + }, []); + // Return XcodeRelease List with Navigation + return xcodeSimulatorApplicationList( + xcodeSimulatorApplications, + navigation + ); +}; diff --git a/extensions/xcode/src/simulators.command.ts b/extensions/xcode/src/simulators.command.ts new file mode 100644 index 0000000000000..32b44f88d9128 --- /dev/null +++ b/extensions/xcode/src/simulators.command.ts @@ -0,0 +1,44 @@ +import { useEffect, useState } from "react"; +import { XcodeSimulatorService } from "./services/xcode-simulator.service"; +import { xcodeSimulatorsList } from "./user-interfaces/xcode-simulators/xcode-simulators-list.user-interface"; +import { XcodeSimulator } from "./models/simulator/xcode-simulator.model"; +import { groupBy } from "./shared/group-by"; +import { map } from "rxjs"; + +/** + * Xcode simulators command + */ +export default () => { + // Use XcodeSimulatorService State + const [xcodeSimulatorService] = useState(new XcodeSimulatorService()); + // Use XcodeRelease State + const [xcodeSimulators, setXcodeSimulators] = useState | undefined>(undefined); + // Use Effect + useEffect(() => { + // Subscribe to XcodeSimulators Observable + const subscription = xcodeSimulatorService + .xcodeSimulators + .pipe( + map(xcodeSimulators => { + // Check if XcodeSimulators are available + if (xcodeSimulators) { + // Return grouped XcodeSimulators by runtime + return groupBy( + xcodeSimulators, + (xcodeSimulator) => xcodeSimulator.runtime + ) + } else { + // Otherwise return undefined + return undefined; + } + }) + ) + .subscribe(setXcodeSimulators); + return () => { + // Unsubscribe + subscription.unsubscribe(); + }; + }, []); + // Return XcodeSimulator List + return xcodeSimulatorsList(xcodeSimulators, xcodeSimulatorService); +}; diff --git a/extensions/xcode/src/user-interfaces/xcode-create-swift-package/xcode-create-swift-package-form.user-interface.tsx b/extensions/xcode/src/user-interfaces/xcode-create-swift-package/xcode-create-swift-package-form.user-interface.tsx new file mode 100644 index 0000000000000..dcd3d8d16109a --- /dev/null +++ b/extensions/xcode/src/user-interfaces/xcode-create-swift-package/xcode-create-swift-package-form.user-interface.tsx @@ -0,0 +1,121 @@ +import { ActionPanel, Form, Navigation, showHUD, showToast, SubmitFormAction, ToastStyle } from "@raycast/api"; +import { XcodeSwiftPackageType } from "../../models/swift-package/xcode-swift-package-type.model"; +import { XcodeSwiftPackageService } from "../../services/xcode-swift-package.service"; +import { XcodeSwiftPackageCreationParameters } from "../../models/swift-package/xcode-swift-package-creation-parameters.model"; +import { XcodeSwiftPackage } from "../../models/swift-package/xcode-swift-package.model"; + +/** + * Xcode create Swift Package Form + * @param xcodeSwiftPackageService The XcodeSwiftPackageService + * @param navigation The Navigation + */ +export function xcodeCreateSwiftPackageForm( + xcodeSwiftPackageService: XcodeSwiftPackageService, + navigation: Navigation +): JSX.Element { + return ( +

    + { + onFormSubmit( + formValues, + xcodeSwiftPackageService, + navigation + ); + } + } + /> + + }> + + + + { + Object + .keys(XcodeSwiftPackageType) + .map((packageType) => { + return ; + }) + } + + + + ); +} + +/** + * On Form Submit + * @param formValues The Form values + * @param xcodeSwiftPackageService XcodeSwiftPackageService + * @param navigation The Navigation + */ +async function onFormSubmit( + formValues: any, + xcodeSwiftPackageService: XcodeSwiftPackageService, + navigation: Navigation +) { + // Declare Swift Package + let swiftPackage: XcodeSwiftPackage; + try { + // Create Swift Package with parameters + swiftPackage = await xcodeSwiftPackageService.createSwiftPackage( + formValues as XcodeSwiftPackageCreationParameters + ); + } catch { + // Show failure Toast + await showToast( + ToastStyle.Failure, + "An error occurred while creating the Swift Package" + ); + // Return out of function + return; + } + // Initialize success message title + const successMessageTitle = `Swift Package created at ${swiftPackage.path}`; + // Check if should open Swift Package after creation + if (formValues.open) { + try { + // Open Swift Package + await swiftPackage.open(); + // Show success HUD + await showHUD(successMessageTitle); + } catch { + // Show failure Toast + await showToast( + ToastStyle.Failure, + "Swift Package could not be opened" + ); + } + } else { + // Show success Toast + await showToast( + ToastStyle.Success, + successMessageTitle + ); + } + // Pop to root + navigation.pop(); +} diff --git a/extensions/xcode/src/user-interfaces/xcode-projects/xcode-project-list-item.user-interface.tsx b/extensions/xcode/src/user-interfaces/xcode-projects/xcode-project-list-item.user-interface.tsx new file mode 100644 index 0000000000000..ac8febb7db855 --- /dev/null +++ b/extensions/xcode/src/user-interfaces/xcode-projects/xcode-project-list-item.user-interface.tsx @@ -0,0 +1,69 @@ +import { XcodeProject } from "../../models/project/xcode-project.model"; +import { ActionPanel, List, OpenAction, ShowInFinderAction } from "@raycast/api"; +import { XcodeProjectType } from "../../models/project/xcode-project-type.model"; +import tildify from "tildify"; + +/** + * Xcode Project List Item + * @param xcodeProject The XcodeProject + */ +export function xcodeProjectListItem( + xcodeProject: XcodeProject +): JSX.Element { + return ( + + + + + } + /> + ); +} + +/** + * Retrieve image asset source from XcodeProjectType + * @param xcodeProjectType The XcodeProjectType + */ +function imageAssetSource( + xcodeProjectType: XcodeProjectType +): string { + switch (xcodeProjectType) { + case XcodeProjectType.project: + return "xcode-project.png"; + case XcodeProjectType.workspace: + return "xcode-workspace.png"; + case XcodeProjectType.swiftPackage: + return "swift-package.png"; + case XcodeProjectType.swiftPlayground: + return "swift-playground.png"; + } +} + +/** + * Retrieve accessory title from XcodeProjectType + * @param xcodeProjectType The XcodeProjectType + */ +function accessoryTitle( + xcodeProjectType: XcodeProjectType +): string { + switch (xcodeProjectType) { + case XcodeProjectType.project: + return "Project"; + case XcodeProjectType.workspace: + return "Workspace"; + case XcodeProjectType.swiftPackage: + return "Swift Package"; + case XcodeProjectType.swiftPlayground: + return "Playground"; + } +} diff --git a/extensions/xcode/src/user-interfaces/xcode-projects/xcode-project-list.user-interface.tsx b/extensions/xcode/src/user-interfaces/xcode-projects/xcode-project-list.user-interface.tsx new file mode 100644 index 0000000000000..c5b24b24d2e5f --- /dev/null +++ b/extensions/xcode/src/user-interfaces/xcode-projects/xcode-project-list.user-interface.tsx @@ -0,0 +1,19 @@ +import { XcodeProject } from "../../models/project/xcode-project.model"; +import { List } from "@raycast/api"; +import { xcodeProjectListItem } from "./xcode-project-list-item.user-interface"; + +/** + * Xcode Project List + * @param xcodeProjects The optional XcodeProjects that should be shown in the list + */ +export function xcodeProjectList( + xcodeProjects: XcodeProject[] | undefined +): JSX.Element { + return ( + + {xcodeProjects?.map(xcodeProjectListItem)} + + ); +} diff --git a/extensions/xcode/src/user-interfaces/xcode-releases/xcode-release-list-item.user-interface.tsx b/extensions/xcode/src/user-interfaces/xcode-releases/xcode-release-list-item.user-interface.tsx new file mode 100644 index 0000000000000..881a4326491af --- /dev/null +++ b/extensions/xcode/src/user-interfaces/xcode-releases/xcode-release-list-item.user-interface.tsx @@ -0,0 +1,172 @@ +import { XcodeRelease } from "../../models/release/xcode-release.model"; +import { ActionPanel, ActionPanelProps, Image, List, OpenAction } from "@raycast/api"; +import { ReactElement } from "react"; + +/** + * Xcode Release List Item + * @param xcodeRelease The XcodeRelease + * @param index The index used as `key` of the List.Item + */ +export function xcodeReleaseListItem( + xcodeRelease: XcodeRelease, + index: number +): JSX.Element { + return ( + + ); +} + +/** + * Icon for XcodeRelease + * @param xcodeRelease The XcodeRelease + */ +function icon( + xcodeRelease: XcodeRelease +): Image { + // Initialize image source components + const imageSourceComponents = ["xcode"]; + // Check if version number starts with 13 + if (xcodeRelease.versionNumber.startsWith("13")) { + // Push 13 + imageSourceComponents.push("13"); + } else { + // Otherwise always use 12 + imageSourceComponents.push("12"); + } + // Check if beta number is available + if (xcodeRelease.beta) { + // Push beta + imageSourceComponents.push("beta"); + } + // Return Image + return { + source: `${imageSourceComponents.join("-")}.png` + }; +} + +/** + * Retrieve user friendly display title from XcodeRelease + * @param xcodeRelease The XcodeRelease + */ +function title( + xcodeRelease: XcodeRelease +): string { + // Initialize title components with name and version number + const titleComponents = [ + xcodeRelease.name, + xcodeRelease.versionNumber + ]; + // Check if a beta number is available + if (xcodeRelease.beta) { + // Push beta number to title components + titleComponents.push(`Beta ${xcodeRelease.beta}`); + } else if (xcodeRelease.releaseCandidate) { + // Otherwise if a release candidate is available + // initialize the release candidate components + const releaseCandidateComponents = [ + "Release Candidate" + ]; + // Check if release candidate number is greater one + if (xcodeRelease.releaseCandidate > 1) { + // Push release candidate number to components + releaseCandidateComponents.push( + xcodeRelease.releaseCandidate.toString() + ); + } + // Push joined release candidate components to title component + titleComponents.push(releaseCandidateComponents.join(" ")); + } + // Return joined title components + return titleComponents.join(" "); +} + +/** + * Retrieve subtitle from XcodeRelease + * @param xcodeRelease The XcodeRelease + */ +function subtitle( + xcodeRelease: XcodeRelease +): string { + // Initialize subtitle components with build number + const subtitleComponents = [xcodeRelease.buildNumber]; + // Check if a Swift version is available + if (xcodeRelease.swiftVersion) { + // Push Swift version + subtitleComponents.push( + `(Swift ${xcodeRelease.swiftVersion})` + ); + } + // Return joined subtitle components + return subtitleComponents.join(" "); +} + +/** + * Retrieve accessory title from XcodeRelease + * @param xcodeRelease The XcodeRelease + */ +function accessoryTitle( + xcodeRelease: XcodeRelease +): string { + return xcodeRelease + .sdks + .map(sdk => [sdk.name, sdk.version].join(" ")) + .join(", "); +} + +/** + * Retrieve keywords from XcodeRelease + * @param xcodeRelease The XcodeRelease + */ +function keywords( + xcodeRelease: XcodeRelease +): string[] { + const keywords: string[] = []; + keywords.push(xcodeRelease.versionNumber); + keywords.push(xcodeRelease.buildNumber); + keywords.push(...xcodeRelease.sdks.map(sdk => sdk.version)); + return keywords; +} + +/** + * Retrieve actions from XcodeRelease, if available + * @param xcodeRelease The XcodeRelease + */ +function actions( + xcodeRelease: XcodeRelease +): ReactElement | undefined { + // Initialize ReactElements + const elements: ReactElement[] = []; + // Check if a download link is available + if (xcodeRelease.downloadLink) { + // Push OpenAction to download the Xcode Release from the Apple Developer portal + elements.push( + + ); + } + // Check if a release notes link is available + if (xcodeRelease.releaseNotesLink) { + // Push OpenAction to view the Xcode Release notes + elements.push( + + ); + } + // Check if elements are empty + if (elements.length === 0) { + // Return no actions + return undefined; + } + // Return ActionPanel + return ( + + {elements} + + ); +} diff --git a/extensions/xcode/src/user-interfaces/xcode-releases/xcode-release-list.user-interface.tsx b/extensions/xcode/src/user-interfaces/xcode-releases/xcode-release-list.user-interface.tsx new file mode 100644 index 0000000000000..0f54cc239b6e4 --- /dev/null +++ b/extensions/xcode/src/user-interfaces/xcode-releases/xcode-release-list.user-interface.tsx @@ -0,0 +1,19 @@ +import { XcodeRelease } from "../../models/release/xcode-release.model"; +import { List } from "@raycast/api"; +import { xcodeReleaseListItem } from "./xcode-release-list-item.user-interface"; + +/** + * Xcode Release List + * @param xcodeReleases The XcodeReleases that should be shown in the List + */ +export function xcodeReleaseList( + xcodeReleases: XcodeRelease[] | undefined +): JSX.Element { + return ( + + {xcodeReleases?.map(xcodeReleaseListItem)} + + ); +} diff --git a/extensions/xcode/src/user-interfaces/xcode-simulator-applications/xcode-simulator-application-detail.user-interface.tsx b/extensions/xcode/src/user-interfaces/xcode-simulator-applications/xcode-simulator-application-detail.user-interface.tsx new file mode 100644 index 0000000000000..d8da5cfa63a16 --- /dev/null +++ b/extensions/xcode/src/user-interfaces/xcode-simulator-applications/xcode-simulator-application-detail.user-interface.tsx @@ -0,0 +1,57 @@ +import { XcodeSimulatorApplication } from "../../models/simulator/xcode-simulator-application.model"; +import { ActionPanel, CopyToClipboardAction, Icon, List, Navigation, ShowInFinderAction } from "@raycast/api"; + +/** + * Xcode Simulator Application Detail + * @param xcodeSimulatorApplication The XcodeSimulatorApplication + * @param navigation The Navigation + */ +export function xcodeSimulatorApplicationDetail( + xcodeSimulatorApplication: XcodeSimulatorApplication, + navigation: Navigation +): JSX.Element { + const applicationDirectories = [ + ["Open Documents directory", xcodeSimulatorApplication.sandBoxDocumentsPath], + ["Open Caches directory", xcodeSimulatorApplication.sandBoxCachesPath], + ["Open SandBox directory", xcodeSimulatorApplication.sandBoxPath], + ["Open Bundle directory", xcodeSimulatorApplication.bundlePath] + ]; + return ( + + + { + applicationDirectories.map(directory => { + return + + + + } + />; + }) + } + + + + + + } + /> + + + ); +} diff --git a/extensions/xcode/src/user-interfaces/xcode-simulator-applications/xcode-simulator-application-list-item.user-interface.tsx b/extensions/xcode/src/user-interfaces/xcode-simulator-applications/xcode-simulator-application-list-item.user-interface.tsx new file mode 100644 index 0000000000000..4ded84debca3f --- /dev/null +++ b/extensions/xcode/src/user-interfaces/xcode-simulator-applications/xcode-simulator-application-list-item.user-interface.tsx @@ -0,0 +1,108 @@ +import { XcodeSimulatorApplication } from "../../models/simulator/xcode-simulator-application.model"; +import { ActionPanel, Icon, ImageLike, ImageMask, List, Navigation, ShowInFinderAction } from "@raycast/api"; +import { xcodeSimulatorApplicationDetail } from "./xcode-simulator-application-detail.user-interface"; + +/** + * Xcode Simulator Application List Item + * @param xcodeSimulatorApplication The XcodeSimulatorApplication + * @param navigation The Navigation + */ +export function xcodeSimulatorApplicationListItem( + xcodeSimulatorApplication: XcodeSimulatorApplication, + navigation: Navigation +): JSX.Element { + return ( + + navigation.push( + xcodeSimulatorApplicationDetail( + xcodeSimulatorApplication, + navigation + ) + ) + } + /> + + + } + /> + ); +} + +/** + * Retrieve key from XcodeSimulatorApplication + * @param xcodeSimulatorApplication The XcodeSimulatorApplication + */ +function key( + xcodeSimulatorApplication: XcodeSimulatorApplication +): string { + return [ + xcodeSimulatorApplication.simulator.udid, + xcodeSimulatorApplication.bundleIdentifier + ].join("/"); +} + +/** + * Retrieve icon from XcodeSimulatorApplication + * @param xcodeSimulatorApplication The XcodeSimulatorApplication + */ +function icon( + xcodeSimulatorApplication: XcodeSimulatorApplication +): ImageLike { + // Use rounded appIconPath image otherwise use placeholder icon + return { + source: xcodeSimulatorApplication.appIconPath ?? "app-icon-placeholder.png", + mask: ImageMask.RoundedRectangle + }; +} + +/** + * Retrieve subtitle from XcodeSimulatorApplication + * @param xcodeSimulatorApplication The XcodeSimulatorApplication + */ +function subtitle( + xcodeSimulatorApplication: XcodeSimulatorApplication +): string { + // Initialize subtitle component with the application bundle identifier + const subtitleComponents: string[] = [ + xcodeSimulatorApplication.bundleIdentifier + ]; + // Check if a version is available + if (xcodeSimulatorApplication.version) { + // Push version + subtitleComponents.push(`Version: ${xcodeSimulatorApplication.version}`); + } + // Check if a build number is available + if (xcodeSimulatorApplication.buildNumber) { + // Push build number + subtitleComponents.push(`Build: ${xcodeSimulatorApplication.buildNumber}`); + } + // Join subtitle components with a pipe + return subtitleComponents.join(" | "); +} + +/** + * Retrieve accessory title from XcodeSimulatorApplication + * @param xcodeSimulatorApplication The XcodeSimulatorApplication + */ +function accessoryTitle( + xcodeSimulatorApplication: XcodeSimulatorApplication +): string { + return [ + xcodeSimulatorApplication.simulator.name, + `(${xcodeSimulatorApplication.simulator.runtime})` + ].join(" "); +} diff --git a/extensions/xcode/src/user-interfaces/xcode-simulator-applications/xcode-simulator-application-list.user-interface.tsx b/extensions/xcode/src/user-interfaces/xcode-simulator-applications/xcode-simulator-application-list.user-interface.tsx new file mode 100644 index 0000000000000..5effbacbc4e29 --- /dev/null +++ b/extensions/xcode/src/user-interfaces/xcode-simulator-applications/xcode-simulator-application-list.user-interface.tsx @@ -0,0 +1,26 @@ +import { List, Navigation } from "@raycast/api"; +import { XcodeSimulatorApplication } from "../../models/simulator/xcode-simulator-application.model"; +import { xcodeSimulatorApplicationListItem } from "./xcode-simulator-application-list-item.user-interface"; +import { Source } from "../../shared/source"; + +/** + * Xcode Simulator Application List + * @param xcodeSimulatorApplications The XcodeSimulatorApplication that should be shown in the List + * @param navigation The Navigation + */ +export function xcodeSimulatorApplicationList( + xcodeSimulatorApplications: Source | undefined, + navigation: Navigation +): JSX.Element { + return ( + + { + xcodeSimulatorApplications + ?.value + .map(app => xcodeSimulatorApplicationListItem(app, navigation)) + } + + ); +} diff --git a/extensions/xcode/src/user-interfaces/xcode-simulators/xcode-simulators-list-item.user-interface.tsx b/extensions/xcode/src/user-interfaces/xcode-simulators/xcode-simulators-list-item.user-interface.tsx new file mode 100644 index 0000000000000..c1fa538495197 --- /dev/null +++ b/extensions/xcode/src/user-interfaces/xcode-simulators/xcode-simulators-list-item.user-interface.tsx @@ -0,0 +1,86 @@ +import { ActionPanel, ActionPanelProps, List, showToast, ToastStyle } from "@raycast/api"; +import { XcodeSimulator } from "../../models/simulator/xcode-simulator.model"; +import { XcodeSimulatorService } from "../../services/xcode-simulator.service"; +import { ReactElement } from "react"; + +/** + * XcodeSimulator List Item + * @param xcodeSimulator The XcodeSimulator + * @param xcodeSimulatorService The XcodeSimulatorService + */ +export function xcodeSimulatorListItem( + xcodeSimulator: XcodeSimulator, + xcodeSimulatorService: XcodeSimulatorService +): JSX.Element { + return ( + + ); +} + +/** + * Retrieve actions for XcodeSimulator + * @param xcodeSimulator The XcodeSimulator + * @param xcodeSimulatorService The XcodeSimulatorService + */ +function actions( + xcodeSimulator: XcodeSimulator, + xcodeSimulatorService: XcodeSimulatorService +): ReactElement | undefined { + // Check if XcodeSimulator state is pending + if (xcodeSimulator.state === "Pending") { + // Return no actions + return undefined; + } + // Initialize bool if XcodeSimulator is shutdown + const isShutdown = xcodeSimulator.state === "Shutdown"; + // Return ActionPanel + return ( + + { + // Show loading Toast + const loadingToast = await showToast( + ToastStyle.Animated, + "Please wait" + ); + try { + // Check if XcodeSimulator is shutdown + if (isShutdown) { + // Boot XcodeSimulator + await xcodeSimulatorService.boot(xcodeSimulator); + } else { + // Shutdown XcodeSimulator + await xcodeSimulatorService.shutdown(xcodeSimulator); + } + } catch { + // Hide loading Toast + await loadingToast.hide(); + // Show failure Toast + return showToast( + ToastStyle.Failure, + `Failed to ${isShutdown ? "boot" : "shutdown"} ${xcodeSimulator.name}` + ); + } + // Hide loading Toast + await loadingToast.hide(); + // Show success Toast + return showToast( + ToastStyle.Success, + `${xcodeSimulator.name} ${isShutdown ? "booted" : "shutdown"}` + ); + } + } + /> + + ); +} diff --git a/extensions/xcode/src/user-interfaces/xcode-simulators/xcode-simulators-list.user-interface.tsx b/extensions/xcode/src/user-interfaces/xcode-simulators/xcode-simulators-list.user-interface.tsx new file mode 100644 index 0000000000000..eec7b7ff38066 --- /dev/null +++ b/extensions/xcode/src/user-interfaces/xcode-simulators/xcode-simulators-list.user-interface.tsx @@ -0,0 +1,51 @@ +import { XcodeSimulator } from "../../models/simulator/xcode-simulator.model"; +import { List } from "@raycast/api"; +import { xcodeSimulatorListItem } from "./xcode-simulators-list-item.user-interface"; +import { XcodeSimulatorService } from "../../services/xcode-simulator.service"; + +/** + * XcodeSimulator List + * @param groupedXcodeSimulators The grouped XcodeSimulators by runtime + * @param xcodeSimulatorService The XcodeSimulatorService + */ +export function xcodeSimulatorsList( + groupedXcodeSimulators: Map | undefined, + xcodeSimulatorService: XcodeSimulatorService +): JSX.Element { + return ( + + {groupedXcodeSimulators ? sections(groupedXcodeSimulators, xcodeSimulatorService) : undefined} + + ); +} + +/** + * Sections for grouped XcodeSimulators + * @param groupedXcodeSimulators The grouped XcodeSimulators + * @param xcodeSimulatorService The XcodeSimulatorService + */ +function sections( + groupedXcodeSimulators: Map, + xcodeSimulatorService: XcodeSimulatorService +): JSX.Element[] { + return Array + .from(groupedXcodeSimulators) + .sort(([lhs], [rhs]) => lhs.localeCompare(rhs)) + .map(([runtime, xcodeSimulators]) => { + return ( + + { + xcodeSimulators + .map((xcodeSimulator) => { + return xcodeSimulatorListItem( + xcodeSimulator, + xcodeSimulatorService + ); + }) + } + + ); + }); +} diff --git a/extensions/xcode/tsconfig.json b/extensions/xcode/tsconfig.json new file mode 100644 index 0000000000000..6bd85946e9e77 --- /dev/null +++ b/extensions/xcode/tsconfig.json @@ -0,0 +1,16 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "display": "Node 16", + "include": ["src/**/*"], + "compilerOptions": { + "lib": ["es2020"], + "module": "commonjs", + "target": "es2020", + "strict": true, + "isolatedModules": true, + "esModuleInterop": true, + "skipLibCheck": true, + "forceConsistentCasingInFileNames": true, + "jsx": "react-jsx" + } +}