├── .githooks └── pre-commit ├── .github └── workflows │ └── test.yml ├── .gitignore ├── .mocharc.json ├── LICENSE ├── README.md ├── bin └── cmd.js ├── lib └── can-npm-publish.js ├── package.json ├── test ├── can-npm-publish-bin-test.js ├── can-npm-publish-test.js └── fixtures │ ├── 404-package.json │ ├── already-published-registry.json │ ├── already-published.json │ ├── invalid-name.json │ ├── legacy-name.json │ ├── not-published-yet-registry.json │ ├── not-published-yet.json │ ├── private.json │ └── scoped-package.json └── yarn.lock /.githooks/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | npx --no-install lint-staged 3 | -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- 1 | name: test 2 | on: [push, pull_request] 3 | env: 4 | CI: true 5 | permissions: 6 | contents: read 7 | jobs: 8 | test: 9 | name: "Test on Node.js ${{ matrix.node-version }}" 10 | runs-on: ubuntu-latest 11 | strategy: 12 | matrix: 13 | node-version: [ 12, 14, 16 ] 14 | steps: 15 | - name: checkout 16 | uses: actions/checkout@v2 17 | - name: setup Node.js ${{ matrix.node-version }} 18 | uses: actions/setup-node@v1 19 | with: 20 | node-version: ${{ matrix.node-version }} 21 | - name: Install 22 | run: yarn install 23 | - name: Test 24 | run: yarn test 25 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ### https://raw.github.com/github/gitignore/608690d6b9a78c2a003affc792e49a84905b3118/Node.gitignore 2 | 3 | # Logs 4 | logs 5 | *.log 6 | 7 | # Runtime data 8 | pids 9 | *.pid 10 | *.seed 11 | 12 | # Directory for instrumented libs generated by jscoverage/JSCover 13 | lib-cov 14 | 15 | # Coverage directory used by tools like istanbul 16 | coverage 17 | 18 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 19 | .grunt 20 | 21 | # node-waf configuration 22 | .lock-wscript 23 | 24 | # Compiled binary addons (http://nodejs.org/api/addons.html) 25 | build/Release 26 | 27 | # Dependency directory 28 | # https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git- 29 | node_modules 30 | 31 | # Debug log from npm 32 | npm-debug.log 33 | 34 | 35 | ### https://raw.github.com/github/gitignore/608690d6b9a78c2a003affc792e49a84905b3118/Global/JetBrains.gitignore 36 | 37 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm 38 | 39 | *.iml 40 | 41 | ## Directory-based project format: 42 | .idea/ 43 | # if you remove the above rule, at least ignore the following: 44 | 45 | # User-specific stuff: 46 | # .idea/workspace.xml 47 | # .idea/tasks.xml 48 | # .idea/dictionaries 49 | 50 | # Sensitive or high-churn files: 51 | # .idea/dataSources.ids 52 | # .idea/dataSources.xml 53 | # .idea/sqlDataSources.xml 54 | # .idea/dynamic.xml 55 | # .idea/uiDesigner.xml 56 | 57 | # Gradle: 58 | # .idea/gradle.xml 59 | # .idea/libraries 60 | 61 | # Mongo Explorer plugin: 62 | # .idea/mongoSettings.xml 63 | 64 | ## File-based project format: 65 | *.ipr 66 | *.iws 67 | 68 | ## Plugin-specific files: 69 | 70 | # IntelliJ 71 | out/ 72 | 73 | # mpeltonen/sbt-idea plugin 74 | .idea_modules/ 75 | 76 | # JIRA plugin 77 | atlassian-ide-plugin.xml 78 | 79 | # Crashlytics plugin (for Android Studio and IntelliJ) 80 | com_crashlytics_export_strings.xml 81 | crashlytics.properties 82 | crashlytics-build.properties 83 | 84 | 85 | ### https://raw.github.com/github/gitignore/608690d6b9a78c2a003affc792e49a84905b3118/Node.gitignore 86 | 87 | # Logs 88 | logs 89 | *.log 90 | 91 | # Runtime data 92 | pids 93 | *.pid 94 | *.seed 95 | 96 | # Directory for instrumented libs generated by jscoverage/JSCover 97 | lib-cov 98 | 99 | # Coverage directory used by tools like istanbul 100 | coverage 101 | 102 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 103 | .grunt 104 | 105 | # node-waf configuration 106 | .lock-wscript 107 | 108 | # Compiled binary addons (http://nodejs.org/api/addons.html) 109 | build/Release 110 | 111 | # Dependency directory 112 | # https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git- 113 | node_modules 114 | 115 | # Debug log from npm 116 | npm-debug.log 117 | 118 | 119 | ### https://raw.github.com/github/gitignore/608690d6b9a78c2a003affc792e49a84905b3118/Global/JetBrains.gitignore 120 | 121 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm 122 | 123 | *.iml 124 | 125 | ## Directory-based project format: 126 | .idea/ 127 | # if you remove the above rule, at least ignore the following: 128 | 129 | # User-specific stuff: 130 | # .idea/workspace.xml 131 | # .idea/tasks.xml 132 | # .idea/dictionaries 133 | 134 | # Sensitive or high-churn files: 135 | # .idea/dataSources.ids 136 | # .idea/dataSources.xml 137 | # .idea/sqlDataSources.xml 138 | # .idea/dynamic.xml 139 | # .idea/uiDesigner.xml 140 | 141 | # Gradle: 142 | # .idea/gradle.xml 143 | # .idea/libraries 144 | 145 | # Mongo Explorer plugin: 146 | # .idea/mongoSettings.xml 147 | 148 | ## File-based project format: 149 | *.ipr 150 | *.iws 151 | 152 | ## Plugin-specific files: 153 | 154 | # IntelliJ 155 | out/ 156 | 157 | # mpeltonen/sbt-idea plugin 158 | .idea_modules/ 159 | 160 | # JIRA plugin 161 | atlassian-ide-plugin.xml 162 | 163 | # Crashlytics plugin (for Android Studio and IntelliJ) 164 | com_crashlytics_export_strings.xml 165 | crashlytics.properties 166 | crashlytics-build.properties 167 | -------------------------------------------------------------------------------- /.mocharc.json: -------------------------------------------------------------------------------- 1 | { 2 | "timeout": "5000" 3 | } 4 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2018 azu 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. 20 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # can-npm-publish [![Actions Status: test](https://github.com/azu/can-npm-publish/workflows/test/badge.svg)](https://github.com/azu/can-npm-publish/actions?query=workflow%3A"test") 2 | 3 | A command line tool that check to see if `npm publish` is possible. 4 | 5 | ## Check list 6 | 7 | All check list is passed, exit status will be `0`. 8 | 9 | - [x] Check that the package's name is valid 10 | - [validate-npm-package-name](https://github.com/npm/validate-npm-package-name "validate-npm-package-name") 11 | - [x] Check that the package is not `private:true` 12 | - [x] Check that `package@version` is already published in npm registry 13 | 14 | ## Install 15 | 16 | Install with [npm](https://www.npmjs.com/): 17 | 18 | npm install can-npm-publish 19 | 20 | ## Usage 21 | 22 | Usage 23 | $ can-npm-publish [directory|package.json path] 24 | 25 | Options 26 | --verbose show detail of errors 27 | 28 | Examples 29 | $ can-npm-publish 30 | $ echo $? # 0 or 1 31 | 32 | All check list is passed, exit status will be `0`. 33 | If has any error, exit status will be `1`. 34 | 35 | If you want to know details of the error, you can use `--verbose` flag. 36 | 37 | $ can-npm-publish --verbose 38 | almin@0.13.10 is already published 39 | $ echo $? 40 | 1 41 | 42 | ### UseCase 43 | 44 | Run `can-npm-publish` before `npm publish`: 45 | 46 | can-npm-publish && npm publish 47 | 48 | You can use it for publishing without choice. 49 | 50 | For example, it is useful for using with [lerna](https://github.com/lerna/lerna "lerna"). 51 | 52 | Publish all packages if it is possible. 53 | 54 | lerna exec --bail=false -- "can-npm-publish && npm publish" 55 | 56 | In this use-case, you should use [@monorepo-utils/publish](https://github.com/azu/monorepo-utils/blob/master/packages/@monorepo-utils/publish) instead of `can-npm-publish`. 57 | Because, [@monorepo-utils/publish](https://github.com/azu/monorepo-utils/blob/master/packages/@monorepo-utils/publish) wrapped `can-npm-publish`. 58 | 59 | ## Changelog 60 | 61 | See [Releases page](https://github.com/azu/can-npm-publish/releases). 62 | 63 | ## Running tests 64 | 65 | Install devDependencies and Run `npm test`: 66 | 67 | npm i -d && npm test 68 | 69 | ## Contributing 70 | 71 | Pull requests and stars are always welcome. 72 | 73 | For bugs and feature requests, [please create an issue](https://github.com/azu/can-npm-publish/issues). 74 | 75 | 1. Fork it! 76 | 2. Create your feature branch: `git checkout -b my-new-feature` 77 | 3. Commit your changes: `git commit -am 'Add some feature'` 78 | 4. Push to the branch: `git push origin my-new-feature` 79 | 5. Submit a pull request :D 80 | 81 | ## Author 82 | 83 | - [github/azu](https://github.com/azu) 84 | - [twitter/azu_re](https://twitter.com/azu_re) 85 | 86 | ## License 87 | 88 | MIT © azu 89 | -------------------------------------------------------------------------------- /bin/cmd.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | "use strict"; 3 | const meow = require("meow"); 4 | const canNpmPublish = require("../lib/can-npm-publish").canNpmPublish; 5 | const cli = meow( 6 | ` 7 | Usage 8 | $ can-npm-publish [directory|package.json path] 9 | 10 | Options 11 | --verbose show detail of errors 12 | 13 | Examples 14 | $ can-npm-publish 15 | $ echo $? # 0 or 1 16 | `, 17 | { 18 | flags: { 19 | help: { 20 | type: "boolean", 21 | alias: "h" 22 | }, 23 | verbose: { 24 | type: "boolean" 25 | } 26 | } 27 | } 28 | ); 29 | if (cli.flags.help) { 30 | cli.showHelp(); 31 | } 32 | 33 | canNpmPublish(cli.input[0], { 34 | verbose: cli.flags.verbose 35 | }) 36 | .then(() => { 37 | process.exit(0); 38 | }) 39 | .catch((error) => { 40 | if (cli.flags.verbose) { 41 | console.error(error.message); 42 | } 43 | process.exit(1); 44 | }); 45 | -------------------------------------------------------------------------------- /lib/can-npm-publish.js: -------------------------------------------------------------------------------- 1 | // MIT © 2018 azu 2 | "use strict"; 3 | const path = require("path"); 4 | const spawn = require("cross-spawn"); 5 | const readPkg = require("read-pkg"); 6 | const validatePkgName = require("validate-npm-package-name"); 7 | const { extractJSONObject } = require("extract-first-json"); 8 | /** 9 | * @param {string} [filePathOrDirPath] 10 | * @returns {Promise} 11 | */ 12 | const readPkgWithPath = (filePathOrDirPath) => { 13 | if (filePathOrDirPath) { 14 | const isJSON = path.extname(filePathOrDirPath) === ".json"; 15 | if (isJSON) { 16 | return Promise.resolve(require(filePathOrDirPath)); 17 | } 18 | return readPkg({ cwd: filePathOrDirPath }); 19 | } else { 20 | return readPkg(); 21 | } 22 | }; 23 | /** 24 | * Return rejected promise if the package name is invalid 25 | * @param {string} packagePath 26 | * @param {{verbose:boolean}} options 27 | * @returns {Promise} 28 | */ 29 | const checkPkgName = (packagePath, options) => { 30 | return readPkgWithPath(packagePath).then((pkg) => { 31 | const name = pkg["name"]; 32 | const result = validatePkgName(name); 33 | // Treat Legacy Names as valid 34 | // https://github.com/npm/validate-npm-package-name#legacy-names 35 | // https://github.com/azu/can-npm-publish/issues/8 36 | const isInvalidNamingInNewRule = !result.validForNewPackages; 37 | if (isInvalidNamingInNewRule) { 38 | if (Array.isArray(result.errors)) { 39 | return Promise.reject(new Error(result.errors.join("\n"))); 40 | } 41 | // warning is ignored by default 42 | if (options.verbose && result.warnings) { 43 | console.warn(result.warnings.join("\n")); 44 | } 45 | } 46 | }); 47 | }; 48 | 49 | /** 50 | * Return rejected promise if the package is not `private:true` 51 | * @param {string} packagePath 52 | * @returns {Promise} 53 | */ 54 | const checkPrivateField = (packagePath) => { 55 | return readPkgWithPath(packagePath).then((pkg) => { 56 | if (pkg["private"] === true) { 57 | return Promise.reject(new Error("This package is private.")); 58 | } 59 | }); 60 | }; 61 | 62 | /** 63 | * Return Promise which resolves with an array of version numbers for the package 64 | * or rejects if anything failed 65 | * @param packageName 66 | * @param registry 67 | * @param {{verbose : boolean}} options 68 | * @returns {Promise} 69 | */ 70 | const viewPackage = (packageName, registry, options) => { 71 | return new Promise((resolve, reject) => { 72 | const registryArgs = registry ? ["--registry", registry] : []; 73 | const view = spawn("npm", ["view", packageName, "versions", "--json"].concat(registryArgs)); 74 | let _stdoutResult = ""; 75 | let _stderrResult = ""; 76 | 77 | /** 78 | * @param stdout 79 | * @param stderr 80 | * @returns {{stdoutJSON: null | {}, stderrJSON: null | {}}} 81 | */ 82 | const getJsonOutputs = ({ stdout, stderr }) => { 83 | let stdoutJSON = null; 84 | let stderrJSON = null; 85 | if (stdout) { 86 | try { 87 | stdoutJSON = JSON.parse(stdout); 88 | } catch (error) { 89 | // nope 90 | if (options.verbose) { 91 | console.error("stdoutJSON parse error", stdout); 92 | } 93 | } 94 | } 95 | if (stderr) { 96 | try { 97 | stderrJSON = JSON.parse(stderr); 98 | } catch (error) { 99 | // nope 100 | if (options.verbose) { 101 | console.error("stderrJSON parse error", stdout); 102 | } 103 | } 104 | } 105 | return { 106 | stdoutJSON, 107 | stderrJSON 108 | }; 109 | }; 110 | const isError = (json) => { 111 | return json && typeof json !== "string" && "error" in json; 112 | }; 113 | const is404Error = (json) => { 114 | return isError(json) && json.error.code === "E404"; 115 | }; 116 | view.stdout.on("data", (data) => { 117 | _stdoutResult += data.toString(); 118 | }); 119 | 120 | view.stderr.on("data", (err) => { 121 | const stdErrorStr = err.toString(); 122 | // Workaround for npm 7 123 | // npm 7 --json option is broken 124 | // It aim to remove non json output. 125 | // FIXME: However,This logics will break json chunk(chunk may be invalid json) 126 | // https://github.com/azu/can-npm-publish/issues/19 127 | // https://github.com/npm/cli/issues/2740 128 | const jsonObject = extractJSONObject(stdErrorStr); 129 | if (jsonObject) { 130 | _stderrResult = JSON.stringify(jsonObject, null, 4); 131 | } 132 | }); 133 | 134 | view.on("close", (code) => { 135 | // Note: 136 | // npm 6 output JSON in stdout 137 | // npm 7(7.18.1) output JSON in stderr 138 | const { stdoutJSON, stderrJSON } = getJsonOutputs({ 139 | stdout: _stdoutResult, 140 | stderr: _stderrResult 141 | }); 142 | if (options.verbose) { 143 | console.log("`npm view` command's exit code:", code); 144 | console.log("`npm view` stdoutJSON", stdoutJSON); 145 | console.log("`npm view` stderrJSON", stderrJSON); 146 | } 147 | // npm6 view --json output to stdout if the package is 404 → can publish 148 | if (is404Error(stdoutJSON)) { 149 | return resolve([]); 150 | } 151 | // npm7 view --json output to stderr if the package is 404 → can publish 152 | if (is404Error(stderrJSON)) { 153 | return resolve([]); 154 | } 155 | // in other error, can not publish → reject 156 | if (isError(stdoutJSON)) { 157 | return reject(new Error(_stdoutResult)); 158 | } 159 | if (isError(stderrJSON)) { 160 | return reject(new Error(_stderrResult)); 161 | } 162 | // if command is failed by other reasons(no json output), treat it as actual error 163 | if (code !== 0) { 164 | return reject(new Error(_stderrResult)); 165 | } 166 | if (stdoutJSON) { 167 | // if success to get, resolve with versions json 168 | return resolve(stdoutJSON); 169 | } else { 170 | return reject(_stderrResult); 171 | } 172 | }); 173 | }); 174 | }; 175 | 176 | /** 177 | * 178 | * @param {string} packagePath 179 | * @param {{verbose : boolean}} options 180 | * @returns {Promise} 181 | */ 182 | const checkAlreadyPublish = (packagePath, options) => { 183 | return readPkgWithPath(packagePath).then((pkg) => { 184 | const name = pkg["name"]; 185 | const version = pkg["version"]; 186 | const publishConfig = pkg["publishConfig"]; 187 | const registry = publishConfig && publishConfig["registry"]; 188 | if (name === undefined) { 189 | return Promise.reject(new Error("This package has no `name`.")); 190 | } 191 | if (version === undefined) { 192 | return Promise.reject(new Error("This package has no `version`.")); 193 | } 194 | return viewPackage(name, registry, options).then((versions) => { 195 | if (versions.includes(version)) { 196 | return Promise.reject(new Error(`${name}@${version} is already published`)); 197 | } 198 | return; 199 | }); 200 | }); 201 | }; 202 | /** 203 | * 204 | * @param {string} packagePath 205 | * @param {{verbose : boolean}} options 206 | * @returns {Promise<[any]>} 207 | */ 208 | const canNpmPublish = (packagePath, options = { verbose: false }) => { 209 | return Promise.all([ 210 | checkPkgName(packagePath, options), 211 | checkAlreadyPublish(packagePath, options), 212 | checkPrivateField(packagePath) 213 | ]); 214 | }; 215 | module.exports.canNpmPublish = canNpmPublish; 216 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "can-npm-publish", 3 | "version": "1.3.6", 4 | "description": "A command line tool that check to see if `npm publish` is possible.", 5 | "keywords": [ 6 | "cli", 7 | "npm", 8 | "publish" 9 | ], 10 | "homepage": "https://github.com/azu/can-npm-publish", 11 | "bugs": { 12 | "url": "https://github.com/azu/can-npm-publish/issues" 13 | }, 14 | "license": "MIT", 15 | "author": "azu", 16 | "files": [ 17 | "bin/", 18 | "lib/", 19 | "src/" 20 | ], 21 | "main": "lib/can-npm-publish.js", 22 | "bin": { 23 | "can-npm-publish": "./bin/cmd.js" 24 | }, 25 | "directories": { 26 | "lib": "lib", 27 | "test": "test" 28 | }, 29 | "repository": { 30 | "type": "git", 31 | "url": "https://github.com/azu/can-npm-publish.git" 32 | }, 33 | "scripts": { 34 | "test": "mocha test", 35 | "precommit": "lint-staged", 36 | "postcommit": "git reset", 37 | "format": "prettier --write \"**/*.{js,jsx,ts,tsx,css}\"", 38 | "prepare": "git config --local core.hooksPath .githooks" 39 | }, 40 | "dependencies": { 41 | "cross-spawn": "^7.0.3", 42 | "extract-first-json": "^1.0.1", 43 | "meow": "^9.0.0", 44 | "read-pkg": "^5.0.0", 45 | "validate-npm-package-name": "^3.0.0" 46 | }, 47 | "devDependencies": { 48 | "lint-staged": "^11.0.0", 49 | "mocha": "^9.0.0", 50 | "prettier": "^2.3.1" 51 | }, 52 | "prettier": { 53 | "singleQuote": false, 54 | "printWidth": 120, 55 | "tabWidth": 4, 56 | "trailingComma": "none" 57 | }, 58 | "lint-staged": { 59 | "*.{js,jsx,ts,tsx,css}": [ 60 | "prettier --write" 61 | ] 62 | }, 63 | "volta": { 64 | "node": "16.4.0", 65 | "npm": "7.18.1" 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /test/can-npm-publish-bin-test.js: -------------------------------------------------------------------------------- 1 | const { spawn } = require("child_process"); 2 | const assert = require("assert"); 3 | const path = require("path"); 4 | 5 | // Path to the executable script 6 | const binPath = path.join(__dirname, "../bin/cmd.js"); 7 | 8 | describe("can-npm-publish bin", () => { 9 | it("should return 0, it can publish", (done) => { 10 | const bin = spawn("node", [binPath, path.join(__dirname, "fixtures/not-published-yet.json")]); 11 | 12 | // Finish the test when the executable finishes and returns 0 13 | bin.on("close", (exit_code) => { 14 | assert.ok(exit_code === 0); 15 | }); 16 | bin.on("close", () => { 17 | done(); 18 | }); 19 | }); 20 | it("should return 1, it can't publish", (done) => { 21 | const bin = spawn("node", [binPath, path.join(__dirname, "fixtures/already-published.json")]); 22 | 23 | // Finish the test when the executable finishes and returns 1 24 | bin.on("close", (exit_code) => { 25 | assert.ok(exit_code === 1); 26 | done(); 27 | }); 28 | }); 29 | it("should send errors to stderr when verbose, it can't publish", (done) => { 30 | const bin = spawn("node", [binPath, path.join(__dirname, "fixtures/already-published.json"), "--verbose"]); 31 | // Finish the test and stop the executable when it outputs to stderr 32 | bin.stderr.on("data", (data) => { 33 | assert.ok(/almin@0.15.2 is already published/.test(data)); 34 | bin.kill(); 35 | }); 36 | bin.on("close", () => { 37 | done(); 38 | }); 39 | }); 40 | }); 41 | -------------------------------------------------------------------------------- /test/can-npm-publish-test.js: -------------------------------------------------------------------------------- 1 | const path = require("path"); 2 | const assert = require("assert"); 3 | const canNpmPublish = require("../lib/can-npm-publish").canNpmPublish; 4 | 5 | const shouldNotCalled = () => { 6 | throw new Error("SHOULD NOT CALLED"); 7 | }; 8 | describe("can-npm-publish", () => { 9 | it("should be rejected, it is invalid name", () => { 10 | return canNpmPublish(path.join(__dirname, "fixtures/invalid-name.json")).then(shouldNotCalled, (error) => { 11 | assert.ok(/name can only contain URL-friendly characters/s.test(error.message)); 12 | }); 13 | }); 14 | it("should be rejected, it is private:true", () => { 15 | return canNpmPublish(path.join(__dirname, "fixtures/private.json")).then(shouldNotCalled, (error) => { 16 | assert.ok(/This package is private/.test(error.message)); 17 | }); 18 | }); 19 | it("should be rejected, it is already published", () => { 20 | return canNpmPublish(path.join(__dirname, "fixtures/already-published.json")).then(shouldNotCalled, (error) => { 21 | assert.ok(/is already published/.test(error.message)); 22 | }); 23 | }); 24 | it("should be rejected, it is already published to yarnpkg registry", () => { 25 | return canNpmPublish(path.join(__dirname, "fixtures/already-published-registry.json")).then( 26 | shouldNotCalled, 27 | (error) => { 28 | assert.ok(/is already published/.test(error.message)); 29 | } 30 | ); 31 | }); 32 | it("should be rejected, it is already published scoped package", () => { 33 | return canNpmPublish(path.join(__dirname, "fixtures/scoped-package.json")).then(shouldNotCalled, (error) => { 34 | assert.ok(/is already published/.test(error.message)); 35 | }); 36 | }); 37 | it("should be resolve, it is not published yet", () => { 38 | return canNpmPublish(path.join(__dirname, "fixtures/not-published-yet.json")); 39 | }); 40 | it("should be resolve, it is not 404 package", () => { 41 | return canNpmPublish(path.join(__dirname, "fixtures/404-package.json"), { verbose: true }); 42 | }); 43 | it("should be resolve, it is not published yet to yarnpkg registry", () => { 44 | return canNpmPublish(path.join(__dirname, "fixtures/not-published-yet-registry.json")); 45 | }); 46 | it("should warn when verbose, it is legacy name", () => { 47 | const stderrWrite = process.stderr.write.bind(process.stderr); 48 | let stderrOutput = ""; 49 | 50 | // Capture output to stderr in `stderrOutput` 51 | process.stderr.write = (chunk, encoding, callback) => { 52 | if (typeof chunk === "string") { 53 | stderrOutput += chunk; 54 | } 55 | }; 56 | 57 | return canNpmPublish(path.join(__dirname, "fixtures/legacy-name.json"), { verbose: true }).then( 58 | () => { 59 | // Restore stderr to normal 60 | process.stderr.write = stderrWrite; 61 | assert.ok(/name can no longer contain capital letters/.test(stderrOutput)); 62 | }, 63 | (error) => { 64 | console.log(error); 65 | shouldNotCalled(); 66 | } 67 | ); 68 | }); 69 | }); 70 | -------------------------------------------------------------------------------- /test/fixtures/404-package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": false, 3 | "name": "asasaiqjpjopmsonopajrpqwkmxzoj22", 4 | "version": "1.0.0" 5 | } 6 | -------------------------------------------------------------------------------- /test/fixtures/already-published-registry.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "almin", 3 | "repository": { 4 | "type": "git", 5 | "url": "git+https://github.com/almin/almin.git" 6 | }, 7 | "author": "azu", 8 | "email": "azuciao@gmail.com", 9 | "homepage": "https://github.com/almin/almin", 10 | "license": "MIT", 11 | "files": [ 12 | "src/", 13 | "lib/src" 14 | ], 15 | "bugs": { 16 | "url": "https://github.com/almin/almin/issues" 17 | }, 18 | "version": "0.15.2", 19 | "description": "Client-side DDD/CQRS for JavaScript.", 20 | "main": "lib/src/index.js", 21 | "types": "lib/src/index.d.ts", 22 | "directories": { 23 | "test": "test" 24 | }, 25 | "scripts": { 26 | "clean": "rimraf lib/", 27 | "build": "npm-run-all -s build:src build:lib", 28 | "build:src": "tsc --project .", 29 | "build:lib": "npm-run-all -p build:lib:*", 30 | "build:lib:cp_type_def": "cpx type-definitions/**/*.js.flow lib/src/ --preserve", 31 | "build:test": "tsc --project test/", 32 | "lint": "npm-run-all -p lint:*", 33 | "lint:fix": "npm-run-all -p lint:*:fix", 34 | "lint:js": "eslint --config ../../.eslintrc.json --cache test/", 35 | "lint:js:fix": "eslint --fix --config ../../.eslintrc.json --cache test/", 36 | "test": "run-s lint test:js", 37 | "test:js": "cross-env NODE_ENV=development mocha \"test/**/*.{js,ts}\"", 38 | "test:saucelabs": "npm run build:test && zuul -- out/test/*-test.js", 39 | "test:browser": "npm run build:test && zuul --local 8080 --ui mocha-bdd -- out/test/*-test.js", 40 | "posttest": "npm run clean", 41 | "presize": "npm-run-all -s clean build", 42 | "size": "size-limit", 43 | "ci": "npm test && npm run size", 44 | "prepublish": "npm run --if-present build" 45 | }, 46 | "size-limit": [ 47 | { 48 | "path": "lib/src/index.js", 49 | "limit": "15 KB" 50 | } 51 | ], 52 | "keywords": [ 53 | "flux", 54 | "cqrs", 55 | "ddd", 56 | "architecture", 57 | "aluminium" 58 | ], 59 | "devDependencies": { 60 | "@types/mocha": "^2.2.41", 61 | "@types/node": "^9.3.0", 62 | "@types/sinon": "^4.1.3", 63 | "cpx": "^1.5.0", 64 | "cross-env": "^5.0.1", 65 | "env-development": "^1.0.2", 66 | "eslint": "^4.2.0", 67 | "function.name": "^1.0.2", 68 | "mocha": "^3.4.2", 69 | "npm-run-all": "^4.0.2", 70 | "power-assert": "^1.4.4", 71 | "rimraf": "^2.6.2", 72 | "sinon": "^2.3.8", 73 | "size-limit": "^0.14.0", 74 | "source-map-support": "^0.4.15", 75 | "ts-node": "^4.1.0", 76 | "ts-node-test-register": "^1.0.1", 77 | "typescript": "~2.6.2", 78 | "zuul": "^3.10.1" 79 | }, 80 | "dependencies": { 81 | "map-like": "^2.0.0", 82 | "shallow-equal-object": "^1.0.1" 83 | }, 84 | "publishConfig": { 85 | "registry": "https://registry.yarnpkg.com" 86 | } 87 | } 88 | -------------------------------------------------------------------------------- /test/fixtures/already-published.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "almin", 3 | "repository": { 4 | "type": "git", 5 | "url": "git+https://github.com/almin/almin.git" 6 | }, 7 | "author": "azu", 8 | "email": "azuciao@gmail.com", 9 | "homepage": "https://github.com/almin/almin", 10 | "license": "MIT", 11 | "files": [ 12 | "src/", 13 | "lib/src" 14 | ], 15 | "bugs": { 16 | "url": "https://github.com/almin/almin/issues" 17 | }, 18 | "version": "0.15.2", 19 | "description": "Client-side DDD/CQRS for JavaScript.", 20 | "main": "lib/src/index.js", 21 | "types": "lib/src/index.d.ts", 22 | "directories": { 23 | "test": "test" 24 | }, 25 | "scripts": { 26 | "clean": "rimraf lib/", 27 | "build": "npm-run-all -s build:src build:lib", 28 | "build:src": "tsc --project .", 29 | "build:lib": "npm-run-all -p build:lib:*", 30 | "build:lib:cp_type_def": "cpx type-definitions/**/*.js.flow lib/src/ --preserve", 31 | "build:test": "tsc --project test/", 32 | "lint": "npm-run-all -p lint:*", 33 | "lint:fix": "npm-run-all -p lint:*:fix", 34 | "lint:js": "eslint --config ../../.eslintrc.json --cache test/", 35 | "lint:js:fix": "eslint --fix --config ../../.eslintrc.json --cache test/", 36 | "test": "run-s lint test:js", 37 | "test:js": "cross-env NODE_ENV=development mocha \"test/**/*.{js,ts}\"", 38 | "test:saucelabs": "npm run build:test && zuul -- out/test/*-test.js", 39 | "test:browser": "npm run build:test && zuul --local 8080 --ui mocha-bdd -- out/test/*-test.js", 40 | "posttest": "npm run clean", 41 | "presize": "npm-run-all -s clean build", 42 | "size": "size-limit", 43 | "ci": "npm test && npm run size", 44 | "prepublish": "npm run --if-present build" 45 | }, 46 | "size-limit": [ 47 | { 48 | "path": "lib/src/index.js", 49 | "limit": "15 KB" 50 | } 51 | ], 52 | "keywords": [ 53 | "flux", 54 | "cqrs", 55 | "ddd", 56 | "architecture", 57 | "aluminium" 58 | ], 59 | "devDependencies": { 60 | "@types/mocha": "^2.2.41", 61 | "@types/node": "^9.3.0", 62 | "@types/sinon": "^4.1.3", 63 | "cpx": "^1.5.0", 64 | "cross-env": "^5.0.1", 65 | "env-development": "^1.0.2", 66 | "eslint": "^4.2.0", 67 | "function.name": "^1.0.2", 68 | "mocha": "^3.4.2", 69 | "npm-run-all": "^4.0.2", 70 | "power-assert": "^1.4.4", 71 | "rimraf": "^2.6.2", 72 | "sinon": "^2.3.8", 73 | "size-limit": "^0.14.0", 74 | "source-map-support": "^0.4.15", 75 | "ts-node": "^4.1.0", 76 | "ts-node-test-register": "^1.0.1", 77 | "typescript": "~2.6.2", 78 | "zuul": "^3.10.1" 79 | }, 80 | "dependencies": { 81 | "map-like": "^2.0.0", 82 | "shallow-equal-object": "^1.0.1" 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /test/fixtures/invalid-name.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "name": "???A?A?A?", 4 | "version": "1.0.0" 5 | } 6 | -------------------------------------------------------------------------------- /test/fixtures/legacy-name.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": false, 3 | "name": "JSONStream", 4 | "version": "1.0.0" 5 | } 6 | -------------------------------------------------------------------------------- /test/fixtures/not-published-yet-registry.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "can-npm-publish", 3 | "version": "0.0.0", 4 | "description": "A command line tool that check to see if `npm publish` is possible.", 5 | "keywords": [ 6 | "cli", 7 | "npm", 8 | "publish" 9 | ], 10 | "homepage": "https://github.com/azu/can-npm-publish", 11 | "bugs": { 12 | "url": "https://github.com/azu/can-npm-publish/issues" 13 | }, 14 | "license": "MIT", 15 | "author": "azu", 16 | "files": [ 17 | "bin/", 18 | "lib/", 19 | "src/" 20 | ], 21 | "main": "lib/can-npm-publish.js", 22 | "bin": { 23 | "can-npm-publish": "./bin/cmd.js" 24 | }, 25 | "directories": { 26 | "lib": "lib", 27 | "test": "test" 28 | }, 29 | "repository": { 30 | "type": "git", 31 | "url": "https://github.com/azu/can-npm-publish.git" 32 | }, 33 | "scripts": { 34 | "test": "echo \"Error: no test specified\" && exit 1", 35 | "prettier": "prettier --write \"**/*.{js,jsx,ts,tsx,css}\"", 36 | "precommit": "lint-staged", 37 | "postcommit": "git reset" 38 | }, 39 | "dependencies": { 40 | "meow": "^4.0.0", 41 | "node-fetch": "^1.7.3", 42 | "read-pkg": "^3.0.0" 43 | }, 44 | "devDependencies": { 45 | "husky": "^0.14.3", 46 | "lint-staged": "^6.0.1", 47 | "mocha": "^5.0.0", 48 | "prettier": "^1.10.2" 49 | }, 50 | "prettier": { 51 | "singleQuote": false, 52 | "printWidth": 120, 53 | "tabWidth": 4 54 | }, 55 | "lint-staged": { 56 | "*.{js,jsx,ts,tsx,css}": [ 57 | "prettier --write", 58 | "git add" 59 | ] 60 | }, 61 | "publishConfig": { 62 | "registry": "https://registry.yarnpkg.com" 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /test/fixtures/not-published-yet.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "can-npm-publish", 3 | "version": "0.0.0", 4 | "description": "A command line tool that check to see if `npm publish` is possible.", 5 | "keywords": [ 6 | "cli", 7 | "npm", 8 | "publish" 9 | ], 10 | "homepage": "https://github.com/azu/can-npm-publish", 11 | "bugs": { 12 | "url": "https://github.com/azu/can-npm-publish/issues" 13 | }, 14 | "license": "MIT", 15 | "author": "azu", 16 | "files": [ 17 | "bin/", 18 | "lib/", 19 | "src/" 20 | ], 21 | "main": "lib/can-npm-publish.js", 22 | "bin": { 23 | "can-npm-publish": "./bin/cmd.js" 24 | }, 25 | "directories": { 26 | "lib": "lib", 27 | "test": "test" 28 | }, 29 | "repository": { 30 | "type": "git", 31 | "url": "https://github.com/azu/can-npm-publish.git" 32 | }, 33 | "scripts": { 34 | "test": "echo \"Error: no test specified\" && exit 1", 35 | "prettier": "prettier --write \"**/*.{js,jsx,ts,tsx,css}\"", 36 | "precommit": "lint-staged", 37 | "postcommit": "git reset" 38 | }, 39 | "dependencies": { 40 | "meow": "^4.0.0", 41 | "node-fetch": "^1.7.3", 42 | "read-pkg": "^3.0.0" 43 | }, 44 | "devDependencies": { 45 | "husky": "^0.14.3", 46 | "lint-staged": "^6.0.1", 47 | "mocha": "^5.0.0", 48 | "prettier": "^1.10.2" 49 | }, 50 | "prettier": { 51 | "singleQuote": false, 52 | "printWidth": 120, 53 | "tabWidth": 4 54 | }, 55 | "lint-staged": { 56 | "*.{js,jsx,ts,tsx,css}": [ 57 | "prettier --write", 58 | "git add" 59 | ] 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /test/fixtures/private.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "name": "react", 4 | "version": "1.0.0" 5 | } 6 | -------------------------------------------------------------------------------- /test/fixtures/scoped-package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@textlint/fixer-formatter", 3 | "version": "3.0.3", 4 | "description": "textlint output formatter for fixer", 5 | "keywords": [ 6 | "AST", 7 | "lint", 8 | "linting", 9 | "markdown", 10 | "plugable", 11 | "text", 12 | "textlint" 13 | ], 14 | "homepage": "https://github.com/textlint/textlint#readme", 15 | "bugs": { 16 | "url": "https://github.com/textlint/textlint/issues" 17 | }, 18 | "license": "MIT", 19 | "author": "azu", 20 | "files": [ 21 | "lib/fixer-formatter", 22 | "src/" 23 | ], 24 | "main": "lib/fixer-formatter/src/index.js", 25 | "types": "lib/fixer-formatter/src/index.d.ts", 26 | "repository": { 27 | "type": "git", 28 | "url": "git+https://github.com/textlint/textlint.git" 29 | }, 30 | "scripts": { 31 | "build": "cross-env NODE_ENV=production tsc -p .", 32 | "clean": "rimraf lib/", 33 | "prepublish": "npm run build", 34 | "test": "mocha \"test/**/*.{js,ts}\"" 35 | }, 36 | "dependencies": { 37 | "@textlint/kernel": "^2.0.5", 38 | "chalk": "^1.1.3", 39 | "debug": "^2.1.0", 40 | "diff": "^2.2.2", 41 | "interop-require": "^1.0.0", 42 | "is-file": "^1.0.0", 43 | "string-width": "^1.0.1", 44 | "text-table": "^0.2.0", 45 | "try-resolve": "^1.0.1" 46 | }, 47 | "devDependencies": { 48 | "@types/mocha": "^2.2.44", 49 | "@types/node": "^8.0.57", 50 | "@types/power-assert": "^1.4.29", 51 | "cross-env": "^5.1.1", 52 | "mocha": "^4.0.1", 53 | "rimraf": "^2.6.2", 54 | "ts-node": "^4.0.1", 55 | "typescript": "^2.6.2" 56 | }, 57 | "publishConfig": { 58 | "access": "public" 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@^7.0.0": 6 | version "7.14.5" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb" 8 | integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw== 9 | dependencies: 10 | "@babel/highlight" "^7.14.5" 11 | 12 | "@babel/helper-validator-identifier@^7.14.5": 13 | version "7.14.5" 14 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz#d0f0e277c512e0c938277faa85a3968c9a44c0e8" 15 | integrity sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg== 16 | 17 | "@babel/highlight@^7.14.5": 18 | version "7.14.5" 19 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" 20 | integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== 21 | dependencies: 22 | "@babel/helper-validator-identifier" "^7.14.5" 23 | chalk "^2.0.0" 24 | js-tokens "^4.0.0" 25 | 26 | "@types/minimist@^1.2.0": 27 | version "1.2.1" 28 | resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.1.tgz#283f669ff76d7b8260df8ab7a4262cc83d988256" 29 | integrity sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg== 30 | 31 | "@types/normalize-package-data@^2.4.0": 32 | version "2.4.0" 33 | resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" 34 | integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== 35 | 36 | "@types/parse-json@^4.0.0": 37 | version "4.0.0" 38 | resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" 39 | integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== 40 | 41 | "@ungap/promise-all-settled@1.1.2": 42 | version "1.1.2" 43 | resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" 44 | integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== 45 | 46 | aggregate-error@^3.0.0: 47 | version "3.1.0" 48 | resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" 49 | integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== 50 | dependencies: 51 | clean-stack "^2.0.0" 52 | indent-string "^4.0.0" 53 | 54 | ansi-colors@4.1.1, ansi-colors@^4.1.1: 55 | version "4.1.1" 56 | resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" 57 | integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== 58 | 59 | ansi-escapes@^4.3.0: 60 | version "4.3.2" 61 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" 62 | integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== 63 | dependencies: 64 | type-fest "^0.21.3" 65 | 66 | ansi-regex@^3.0.0: 67 | version "3.0.0" 68 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 69 | integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= 70 | 71 | ansi-regex@^5.0.0: 72 | version "5.0.0" 73 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" 74 | integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== 75 | 76 | ansi-styles@^3.2.1: 77 | version "3.2.1" 78 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 79 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 80 | dependencies: 81 | color-convert "^1.9.0" 82 | 83 | ansi-styles@^4.0.0, ansi-styles@^4.1.0: 84 | version "4.3.0" 85 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 86 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 87 | dependencies: 88 | color-convert "^2.0.1" 89 | 90 | anymatch@~3.1.1: 91 | version "3.1.2" 92 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" 93 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== 94 | dependencies: 95 | normalize-path "^3.0.0" 96 | picomatch "^2.0.4" 97 | 98 | argparse@^2.0.1: 99 | version "2.0.1" 100 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" 101 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== 102 | 103 | arrify@^1.0.1: 104 | version "1.0.1" 105 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" 106 | integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= 107 | 108 | astral-regex@^2.0.0: 109 | version "2.0.0" 110 | resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" 111 | integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== 112 | 113 | balanced-match@^1.0.0: 114 | version "1.0.2" 115 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 116 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 117 | 118 | binary-extensions@^2.0.0: 119 | version "2.2.0" 120 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" 121 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 122 | 123 | brace-expansion@^1.1.7: 124 | version "1.1.11" 125 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 126 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 127 | dependencies: 128 | balanced-match "^1.0.0" 129 | concat-map "0.0.1" 130 | 131 | braces@^3.0.1, braces@~3.0.2: 132 | version "3.0.2" 133 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 134 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 135 | dependencies: 136 | fill-range "^7.0.1" 137 | 138 | browser-stdout@1.3.1: 139 | version "1.3.1" 140 | resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" 141 | integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== 142 | 143 | builtins@^1.0.3: 144 | version "1.0.3" 145 | resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" 146 | integrity sha1-y5T662HIaWRR2zZTThQi+U8K7og= 147 | 148 | callsites@^3.0.0: 149 | version "3.1.0" 150 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 151 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 152 | 153 | camelcase-keys@^6.2.2: 154 | version "6.2.2" 155 | resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" 156 | integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== 157 | dependencies: 158 | camelcase "^5.3.1" 159 | map-obj "^4.0.0" 160 | quick-lru "^4.0.1" 161 | 162 | camelcase@^5.3.1: 163 | version "5.3.1" 164 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" 165 | integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== 166 | 167 | camelcase@^6.0.0: 168 | version "6.2.0" 169 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" 170 | integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== 171 | 172 | chalk@^2.0.0: 173 | version "2.4.2" 174 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 175 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 176 | dependencies: 177 | ansi-styles "^3.2.1" 178 | escape-string-regexp "^1.0.5" 179 | supports-color "^5.3.0" 180 | 181 | chalk@^4.1.0, chalk@^4.1.1: 182 | version "4.1.1" 183 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad" 184 | integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== 185 | dependencies: 186 | ansi-styles "^4.1.0" 187 | supports-color "^7.1.0" 188 | 189 | chokidar@3.5.1: 190 | version "3.5.1" 191 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" 192 | integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== 193 | dependencies: 194 | anymatch "~3.1.1" 195 | braces "~3.0.2" 196 | glob-parent "~5.1.0" 197 | is-binary-path "~2.1.0" 198 | is-glob "~4.0.1" 199 | normalize-path "~3.0.0" 200 | readdirp "~3.5.0" 201 | optionalDependencies: 202 | fsevents "~2.3.1" 203 | 204 | clean-stack@^2.0.0: 205 | version "2.2.0" 206 | resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" 207 | integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== 208 | 209 | cli-cursor@^3.1.0: 210 | version "3.1.0" 211 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" 212 | integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== 213 | dependencies: 214 | restore-cursor "^3.1.0" 215 | 216 | cli-truncate@^2.1.0: 217 | version "2.1.0" 218 | resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" 219 | integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== 220 | dependencies: 221 | slice-ansi "^3.0.0" 222 | string-width "^4.2.0" 223 | 224 | cliui@^7.0.2: 225 | version "7.0.4" 226 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" 227 | integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== 228 | dependencies: 229 | string-width "^4.2.0" 230 | strip-ansi "^6.0.0" 231 | wrap-ansi "^7.0.0" 232 | 233 | color-convert@^1.9.0: 234 | version "1.9.3" 235 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 236 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 237 | dependencies: 238 | color-name "1.1.3" 239 | 240 | color-convert@^2.0.1: 241 | version "2.0.1" 242 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 243 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 244 | dependencies: 245 | color-name "~1.1.4" 246 | 247 | color-name@1.1.3: 248 | version "1.1.3" 249 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 250 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 251 | 252 | color-name@~1.1.4: 253 | version "1.1.4" 254 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 255 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 256 | 257 | colorette@^1.2.2: 258 | version "1.2.2" 259 | resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" 260 | integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== 261 | 262 | commander@^7.2.0: 263 | version "7.2.0" 264 | resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" 265 | integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== 266 | 267 | concat-map@0.0.1: 268 | version "0.0.1" 269 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 270 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 271 | 272 | cosmiconfig@^7.0.0: 273 | version "7.0.0" 274 | resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" 275 | integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== 276 | dependencies: 277 | "@types/parse-json" "^4.0.0" 278 | import-fresh "^3.2.1" 279 | parse-json "^5.0.0" 280 | path-type "^4.0.0" 281 | yaml "^1.10.0" 282 | 283 | cross-spawn@^7.0.3: 284 | version "7.0.3" 285 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 286 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 287 | dependencies: 288 | path-key "^3.1.0" 289 | shebang-command "^2.0.0" 290 | which "^2.0.1" 291 | 292 | debug@4.3.1, debug@^4.3.1: 293 | version "4.3.1" 294 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" 295 | integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== 296 | dependencies: 297 | ms "2.1.2" 298 | 299 | decamelize-keys@^1.1.0: 300 | version "1.1.0" 301 | resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" 302 | integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= 303 | dependencies: 304 | decamelize "^1.1.0" 305 | map-obj "^1.0.0" 306 | 307 | decamelize@^1.1.0, decamelize@^1.2.0: 308 | version "1.2.0" 309 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 310 | integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= 311 | 312 | decamelize@^4.0.0: 313 | version "4.0.0" 314 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" 315 | integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== 316 | 317 | dedent@^0.7.0: 318 | version "0.7.0" 319 | resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" 320 | integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= 321 | 322 | diff@5.0.0: 323 | version "5.0.0" 324 | resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" 325 | integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== 326 | 327 | emoji-regex@^8.0.0: 328 | version "8.0.0" 329 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 330 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 331 | 332 | enquirer@^2.3.6: 333 | version "2.3.6" 334 | resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" 335 | integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== 336 | dependencies: 337 | ansi-colors "^4.1.1" 338 | 339 | error-ex@^1.3.1: 340 | version "1.3.2" 341 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 342 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== 343 | dependencies: 344 | is-arrayish "^0.2.1" 345 | 346 | escalade@^3.1.1: 347 | version "3.1.1" 348 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 349 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 350 | 351 | escape-string-regexp@4.0.0: 352 | version "4.0.0" 353 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" 354 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== 355 | 356 | escape-string-regexp@^1.0.5: 357 | version "1.0.5" 358 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 359 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 360 | 361 | execa@^5.0.0: 362 | version "5.1.1" 363 | resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" 364 | integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== 365 | dependencies: 366 | cross-spawn "^7.0.3" 367 | get-stream "^6.0.0" 368 | human-signals "^2.1.0" 369 | is-stream "^2.0.0" 370 | merge-stream "^2.0.0" 371 | npm-run-path "^4.0.1" 372 | onetime "^5.1.2" 373 | signal-exit "^3.0.3" 374 | strip-final-newline "^2.0.0" 375 | 376 | extract-first-json@^1.0.1: 377 | version "1.0.1" 378 | resolved "https://registry.yarnpkg.com/extract-first-json/-/extract-first-json-1.0.1.tgz#be828615ac0c83c982f22d8c93063e4f9dc2a356" 379 | integrity sha512-L4XmAoZaHyXawEy8fJuLfIjRH9rG9D3bLz6fiMepVMiw/0Mpu+OSYH3/XmJ6sCPjui8a8ayz6c46fWlQFhdLvA== 380 | dependencies: 381 | parse-json-object "^2.0.0" 382 | reduce-first "^1.0.1" 383 | 384 | fill-range@^7.0.1: 385 | version "7.0.1" 386 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 387 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 388 | dependencies: 389 | to-regex-range "^5.0.1" 390 | 391 | find-up@5.0.0: 392 | version "5.0.0" 393 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" 394 | integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== 395 | dependencies: 396 | locate-path "^6.0.0" 397 | path-exists "^4.0.0" 398 | 399 | find-up@^4.1.0: 400 | version "4.1.0" 401 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" 402 | integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== 403 | dependencies: 404 | locate-path "^5.0.0" 405 | path-exists "^4.0.0" 406 | 407 | flat@^5.0.2: 408 | version "5.0.2" 409 | resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" 410 | integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== 411 | 412 | fs.realpath@^1.0.0: 413 | version "1.0.0" 414 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 415 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 416 | 417 | fsevents@~2.3.1: 418 | version "2.3.2" 419 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 420 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 421 | 422 | function-bind@^1.1.1: 423 | version "1.1.1" 424 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 425 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 426 | 427 | get-caller-file@^2.0.5: 428 | version "2.0.5" 429 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" 430 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== 431 | 432 | get-own-enumerable-property-symbols@^3.0.0: 433 | version "3.0.2" 434 | resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" 435 | integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== 436 | 437 | get-stream@^6.0.0: 438 | version "6.0.1" 439 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" 440 | integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== 441 | 442 | glob-parent@~5.1.0: 443 | version "5.1.2" 444 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 445 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 446 | dependencies: 447 | is-glob "^4.0.1" 448 | 449 | glob@7.1.7: 450 | version "7.1.7" 451 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" 452 | integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== 453 | dependencies: 454 | fs.realpath "^1.0.0" 455 | inflight "^1.0.4" 456 | inherits "2" 457 | minimatch "^3.0.4" 458 | once "^1.3.0" 459 | path-is-absolute "^1.0.0" 460 | 461 | growl@1.10.5: 462 | version "1.10.5" 463 | resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" 464 | integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== 465 | 466 | hard-rejection@^2.1.0: 467 | version "2.1.0" 468 | resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" 469 | integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== 470 | 471 | has-flag@^3.0.0: 472 | version "3.0.0" 473 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 474 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 475 | 476 | has-flag@^4.0.0: 477 | version "4.0.0" 478 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 479 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 480 | 481 | has@^1.0.3: 482 | version "1.0.3" 483 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 484 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 485 | dependencies: 486 | function-bind "^1.1.1" 487 | 488 | he@1.2.0: 489 | version "1.2.0" 490 | resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" 491 | integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== 492 | 493 | hosted-git-info@^2.1.4: 494 | version "2.8.9" 495 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" 496 | integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== 497 | 498 | hosted-git-info@^4.0.1: 499 | version "4.0.2" 500 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz#5e425507eede4fea846b7262f0838456c4209961" 501 | integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg== 502 | dependencies: 503 | lru-cache "^6.0.0" 504 | 505 | human-signals@^2.1.0: 506 | version "2.1.0" 507 | resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" 508 | integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== 509 | 510 | import-fresh@^3.2.1: 511 | version "3.3.0" 512 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" 513 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== 514 | dependencies: 515 | parent-module "^1.0.0" 516 | resolve-from "^4.0.0" 517 | 518 | indent-string@^4.0.0: 519 | version "4.0.0" 520 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" 521 | integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== 522 | 523 | inflight@^1.0.4: 524 | version "1.0.6" 525 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 526 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 527 | dependencies: 528 | once "^1.3.0" 529 | wrappy "1" 530 | 531 | inherits@2: 532 | version "2.0.4" 533 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 534 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 535 | 536 | is-arrayish@^0.2.1: 537 | version "0.2.1" 538 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 539 | integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= 540 | 541 | is-binary-path@~2.1.0: 542 | version "2.1.0" 543 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 544 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 545 | dependencies: 546 | binary-extensions "^2.0.0" 547 | 548 | is-core-module@^2.2.0: 549 | version "2.4.0" 550 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1" 551 | integrity sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A== 552 | dependencies: 553 | has "^1.0.3" 554 | 555 | is-extglob@^2.1.1: 556 | version "2.1.1" 557 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 558 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 559 | 560 | is-fullwidth-code-point@^2.0.0: 561 | version "2.0.0" 562 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 563 | integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= 564 | 565 | is-fullwidth-code-point@^3.0.0: 566 | version "3.0.0" 567 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" 568 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 569 | 570 | is-glob@^4.0.1, is-glob@~4.0.1: 571 | version "4.0.1" 572 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" 573 | integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== 574 | dependencies: 575 | is-extglob "^2.1.1" 576 | 577 | is-number@^7.0.0: 578 | version "7.0.0" 579 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 580 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 581 | 582 | is-obj@^1.0.1: 583 | version "1.0.1" 584 | resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" 585 | integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= 586 | 587 | is-plain-obj@^1.1.0: 588 | version "1.1.0" 589 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" 590 | integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= 591 | 592 | is-plain-obj@^2.1.0: 593 | version "2.1.0" 594 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" 595 | integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== 596 | 597 | is-regexp@^1.0.0: 598 | version "1.0.0" 599 | resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" 600 | integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= 601 | 602 | is-stream@^2.0.0: 603 | version "2.0.0" 604 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" 605 | integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== 606 | 607 | is-unicode-supported@^0.1.0: 608 | version "0.1.0" 609 | resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" 610 | integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== 611 | 612 | isexe@^2.0.0: 613 | version "2.0.0" 614 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 615 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 616 | 617 | js-tokens@^4.0.0: 618 | version "4.0.0" 619 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 620 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 621 | 622 | js-yaml@4.1.0: 623 | version "4.1.0" 624 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" 625 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== 626 | dependencies: 627 | argparse "^2.0.1" 628 | 629 | json-parse-even-better-errors@^2.3.0: 630 | version "2.3.1" 631 | resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" 632 | integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== 633 | 634 | kind-of@^6.0.3: 635 | version "6.0.3" 636 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" 637 | integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== 638 | 639 | lines-and-columns@^1.1.6: 640 | version "1.1.6" 641 | resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" 642 | integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= 643 | 644 | lint-staged@^11.0.0: 645 | version "11.0.0" 646 | resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-11.0.0.tgz#24d0a95aa316ba28e257f5c4613369a75a10c712" 647 | integrity sha512-3rsRIoyaE8IphSUtO1RVTFl1e0SLBtxxUOPBtHxQgBHS5/i6nqvjcUfNioMa4BU9yGnPzbO+xkfLtXtxBpCzjw== 648 | dependencies: 649 | chalk "^4.1.1" 650 | cli-truncate "^2.1.0" 651 | commander "^7.2.0" 652 | cosmiconfig "^7.0.0" 653 | debug "^4.3.1" 654 | dedent "^0.7.0" 655 | enquirer "^2.3.6" 656 | execa "^5.0.0" 657 | listr2 "^3.8.2" 658 | log-symbols "^4.1.0" 659 | micromatch "^4.0.4" 660 | normalize-path "^3.0.0" 661 | please-upgrade-node "^3.2.0" 662 | string-argv "0.3.1" 663 | stringify-object "^3.3.0" 664 | 665 | listr2@^3.8.2: 666 | version "3.10.0" 667 | resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.10.0.tgz#58105a53ed7fa1430d1b738c6055ef7bb006160f" 668 | integrity sha512-eP40ZHihu70sSmqFNbNy2NL1YwImmlMmPh9WO5sLmPDleurMHt3n+SwEWNu2kzKScexZnkyFtc1VI0z/TGlmpw== 669 | dependencies: 670 | cli-truncate "^2.1.0" 671 | colorette "^1.2.2" 672 | log-update "^4.0.0" 673 | p-map "^4.0.0" 674 | rxjs "^6.6.7" 675 | through "^2.3.8" 676 | wrap-ansi "^7.0.0" 677 | 678 | locate-path@^5.0.0: 679 | version "5.0.0" 680 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" 681 | integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== 682 | dependencies: 683 | p-locate "^4.1.0" 684 | 685 | locate-path@^6.0.0: 686 | version "6.0.0" 687 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" 688 | integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== 689 | dependencies: 690 | p-locate "^5.0.0" 691 | 692 | log-symbols@4.1.0, log-symbols@^4.1.0: 693 | version "4.1.0" 694 | resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" 695 | integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== 696 | dependencies: 697 | chalk "^4.1.0" 698 | is-unicode-supported "^0.1.0" 699 | 700 | log-update@^4.0.0: 701 | version "4.0.0" 702 | resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" 703 | integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== 704 | dependencies: 705 | ansi-escapes "^4.3.0" 706 | cli-cursor "^3.1.0" 707 | slice-ansi "^4.0.0" 708 | wrap-ansi "^6.2.0" 709 | 710 | lru-cache@^6.0.0: 711 | version "6.0.0" 712 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 713 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 714 | dependencies: 715 | yallist "^4.0.0" 716 | 717 | map-obj@^1.0.0: 718 | version "1.0.1" 719 | resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" 720 | integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= 721 | 722 | map-obj@^4.0.0: 723 | version "4.2.1" 724 | resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.2.1.tgz#e4ea399dbc979ae735c83c863dd31bdf364277b7" 725 | integrity sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ== 726 | 727 | meow@^9.0.0: 728 | version "9.0.0" 729 | resolved "https://registry.yarnpkg.com/meow/-/meow-9.0.0.tgz#cd9510bc5cac9dee7d03c73ee1f9ad959f4ea364" 730 | integrity sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ== 731 | dependencies: 732 | "@types/minimist" "^1.2.0" 733 | camelcase-keys "^6.2.2" 734 | decamelize "^1.2.0" 735 | decamelize-keys "^1.1.0" 736 | hard-rejection "^2.1.0" 737 | minimist-options "4.1.0" 738 | normalize-package-data "^3.0.0" 739 | read-pkg-up "^7.0.1" 740 | redent "^3.0.0" 741 | trim-newlines "^3.0.0" 742 | type-fest "^0.18.0" 743 | yargs-parser "^20.2.3" 744 | 745 | merge-stream@^2.0.0: 746 | version "2.0.0" 747 | resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" 748 | integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== 749 | 750 | micromatch@^4.0.4: 751 | version "4.0.4" 752 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" 753 | integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== 754 | dependencies: 755 | braces "^3.0.1" 756 | picomatch "^2.2.3" 757 | 758 | mimic-fn@^2.1.0: 759 | version "2.1.0" 760 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" 761 | integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== 762 | 763 | min-indent@^1.0.0: 764 | version "1.0.1" 765 | resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" 766 | integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== 767 | 768 | minimatch@3.0.4, minimatch@^3.0.4: 769 | version "3.0.4" 770 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 771 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 772 | dependencies: 773 | brace-expansion "^1.1.7" 774 | 775 | minimist-options@4.1.0: 776 | version "4.1.0" 777 | resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" 778 | integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== 779 | dependencies: 780 | arrify "^1.0.1" 781 | is-plain-obj "^1.1.0" 782 | kind-of "^6.0.3" 783 | 784 | mocha@^9.0.0: 785 | version "9.0.0" 786 | resolved "https://registry.yarnpkg.com/mocha/-/mocha-9.0.0.tgz#67ce848170cb6426f9e84c57e38376dc9017bab4" 787 | integrity sha512-GRGG/q9bIaUkHJB9NL+KZNjDhMBHB30zW3bZW9qOiYr+QChyLjPzswaxFWkI1q6lGlSL28EQYzAi2vKWNkPx+g== 788 | dependencies: 789 | "@ungap/promise-all-settled" "1.1.2" 790 | ansi-colors "4.1.1" 791 | browser-stdout "1.3.1" 792 | chokidar "3.5.1" 793 | debug "4.3.1" 794 | diff "5.0.0" 795 | escape-string-regexp "4.0.0" 796 | find-up "5.0.0" 797 | glob "7.1.7" 798 | growl "1.10.5" 799 | he "1.2.0" 800 | js-yaml "4.1.0" 801 | log-symbols "4.1.0" 802 | minimatch "3.0.4" 803 | ms "2.1.3" 804 | nanoid "3.1.23" 805 | serialize-javascript "5.0.1" 806 | strip-json-comments "3.1.1" 807 | supports-color "8.1.1" 808 | which "2.0.2" 809 | wide-align "1.1.3" 810 | workerpool "6.1.4" 811 | yargs "16.2.0" 812 | yargs-parser "20.2.4" 813 | yargs-unparser "2.0.0" 814 | 815 | ms@2.1.2: 816 | version "2.1.2" 817 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 818 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 819 | 820 | ms@2.1.3: 821 | version "2.1.3" 822 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 823 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 824 | 825 | nanoid@3.1.23: 826 | version "3.1.23" 827 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81" 828 | integrity sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw== 829 | 830 | normalize-package-data@^2.5.0: 831 | version "2.5.0" 832 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" 833 | integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== 834 | dependencies: 835 | hosted-git-info "^2.1.4" 836 | resolve "^1.10.0" 837 | semver "2 || 3 || 4 || 5" 838 | validate-npm-package-license "^3.0.1" 839 | 840 | normalize-package-data@^3.0.0: 841 | version "3.0.2" 842 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.2.tgz#cae5c410ae2434f9a6c1baa65d5bc3b9366c8699" 843 | integrity sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg== 844 | dependencies: 845 | hosted-git-info "^4.0.1" 846 | resolve "^1.20.0" 847 | semver "^7.3.4" 848 | validate-npm-package-license "^3.0.1" 849 | 850 | normalize-path@^3.0.0, normalize-path@~3.0.0: 851 | version "3.0.0" 852 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 853 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 854 | 855 | npm-run-path@^4.0.1: 856 | version "4.0.1" 857 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" 858 | integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== 859 | dependencies: 860 | path-key "^3.0.0" 861 | 862 | once@^1.3.0: 863 | version "1.4.0" 864 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 865 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 866 | dependencies: 867 | wrappy "1" 868 | 869 | onetime@^5.1.0, onetime@^5.1.2: 870 | version "5.1.2" 871 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" 872 | integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== 873 | dependencies: 874 | mimic-fn "^2.1.0" 875 | 876 | p-limit@^2.2.0: 877 | version "2.3.0" 878 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" 879 | integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== 880 | dependencies: 881 | p-try "^2.0.0" 882 | 883 | p-limit@^3.0.2: 884 | version "3.1.0" 885 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" 886 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== 887 | dependencies: 888 | yocto-queue "^0.1.0" 889 | 890 | p-locate@^4.1.0: 891 | version "4.1.0" 892 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" 893 | integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== 894 | dependencies: 895 | p-limit "^2.2.0" 896 | 897 | p-locate@^5.0.0: 898 | version "5.0.0" 899 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" 900 | integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== 901 | dependencies: 902 | p-limit "^3.0.2" 903 | 904 | p-map@^4.0.0: 905 | version "4.0.0" 906 | resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" 907 | integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== 908 | dependencies: 909 | aggregate-error "^3.0.0" 910 | 911 | p-try@^2.0.0: 912 | version "2.2.0" 913 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 914 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 915 | 916 | parent-module@^1.0.0: 917 | version "1.0.1" 918 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" 919 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 920 | dependencies: 921 | callsites "^3.0.0" 922 | 923 | parse-json-object@^2.0.0: 924 | version "2.0.1" 925 | resolved "https://registry.yarnpkg.com/parse-json-object/-/parse-json-object-2.0.1.tgz#a441bd8c36d2c33a69516286e7e4138a23607ee0" 926 | integrity sha512-/oF7PUUBjCqHmMEE6xIQeX5ZokQ9+miudACzPt4KBU2qi6CxZYPdisPXx4ad7wpZJYi2ZpcW2PacLTU3De3ebw== 927 | dependencies: 928 | types-json "^1.2.0" 929 | 930 | parse-json@^5.0.0: 931 | version "5.2.0" 932 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" 933 | integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== 934 | dependencies: 935 | "@babel/code-frame" "^7.0.0" 936 | error-ex "^1.3.1" 937 | json-parse-even-better-errors "^2.3.0" 938 | lines-and-columns "^1.1.6" 939 | 940 | path-exists@^4.0.0: 941 | version "4.0.0" 942 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 943 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 944 | 945 | path-is-absolute@^1.0.0: 946 | version "1.0.1" 947 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 948 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 949 | 950 | path-key@^3.0.0, path-key@^3.1.0: 951 | version "3.1.1" 952 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 953 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 954 | 955 | path-parse@^1.0.6: 956 | version "1.0.7" 957 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 958 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 959 | 960 | path-type@^4.0.0: 961 | version "4.0.0" 962 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" 963 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 964 | 965 | picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: 966 | version "2.3.0" 967 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" 968 | integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== 969 | 970 | please-upgrade-node@^3.2.0: 971 | version "3.2.0" 972 | resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" 973 | integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== 974 | dependencies: 975 | semver-compare "^1.0.0" 976 | 977 | prettier@^2.3.1: 978 | version "2.3.1" 979 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.3.1.tgz#76903c3f8c4449bc9ac597acefa24dc5ad4cbea6" 980 | integrity sha512-p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA== 981 | 982 | quick-lru@^4.0.1: 983 | version "4.0.1" 984 | resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" 985 | integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== 986 | 987 | randombytes@^2.1.0: 988 | version "2.1.0" 989 | resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" 990 | integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== 991 | dependencies: 992 | safe-buffer "^5.1.0" 993 | 994 | read-pkg-up@^7.0.1: 995 | version "7.0.1" 996 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" 997 | integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== 998 | dependencies: 999 | find-up "^4.1.0" 1000 | read-pkg "^5.2.0" 1001 | type-fest "^0.8.1" 1002 | 1003 | read-pkg@^5.0.0, read-pkg@^5.2.0: 1004 | version "5.2.0" 1005 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" 1006 | integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== 1007 | dependencies: 1008 | "@types/normalize-package-data" "^2.4.0" 1009 | normalize-package-data "^2.5.0" 1010 | parse-json "^5.0.0" 1011 | type-fest "^0.6.0" 1012 | 1013 | readdirp@~3.5.0: 1014 | version "3.5.0" 1015 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" 1016 | integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== 1017 | dependencies: 1018 | picomatch "^2.2.1" 1019 | 1020 | redent@^3.0.0: 1021 | version "3.0.0" 1022 | resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" 1023 | integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== 1024 | dependencies: 1025 | indent-string "^4.0.0" 1026 | strip-indent "^3.0.0" 1027 | 1028 | reduce-first@^1.0.1: 1029 | version "1.0.1" 1030 | resolved "https://registry.yarnpkg.com/reduce-first/-/reduce-first-1.0.1.tgz#ef934f0dd4e010fdcaec2c51c9027722ee810c1c" 1031 | integrity sha512-/jBjEiF5Oe1xsa7CeCscbOIxSlFJcn4h1gj3OvUHPtxnThCbZ1Wh72uqO/o1zHNSGU4EgFclvCdc5TLJyt1hOQ== 1032 | 1033 | require-directory@^2.1.1: 1034 | version "2.1.1" 1035 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 1036 | integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= 1037 | 1038 | resolve-from@^4.0.0: 1039 | version "4.0.0" 1040 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 1041 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 1042 | 1043 | resolve@^1.10.0, resolve@^1.20.0: 1044 | version "1.20.0" 1045 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" 1046 | integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== 1047 | dependencies: 1048 | is-core-module "^2.2.0" 1049 | path-parse "^1.0.6" 1050 | 1051 | restore-cursor@^3.1.0: 1052 | version "3.1.0" 1053 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" 1054 | integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== 1055 | dependencies: 1056 | onetime "^5.1.0" 1057 | signal-exit "^3.0.2" 1058 | 1059 | rxjs@^6.6.7: 1060 | version "6.6.7" 1061 | resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" 1062 | integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== 1063 | dependencies: 1064 | tslib "^1.9.0" 1065 | 1066 | safe-buffer@^5.1.0: 1067 | version "5.2.1" 1068 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 1069 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 1070 | 1071 | semver-compare@^1.0.0: 1072 | version "1.0.0" 1073 | resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" 1074 | integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= 1075 | 1076 | "semver@2 || 3 || 4 || 5": 1077 | version "5.7.1" 1078 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 1079 | integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== 1080 | 1081 | semver@^7.3.4: 1082 | version "7.3.5" 1083 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" 1084 | integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== 1085 | dependencies: 1086 | lru-cache "^6.0.0" 1087 | 1088 | serialize-javascript@5.0.1: 1089 | version "5.0.1" 1090 | resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" 1091 | integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== 1092 | dependencies: 1093 | randombytes "^2.1.0" 1094 | 1095 | shebang-command@^2.0.0: 1096 | version "2.0.0" 1097 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 1098 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 1099 | dependencies: 1100 | shebang-regex "^3.0.0" 1101 | 1102 | shebang-regex@^3.0.0: 1103 | version "3.0.0" 1104 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 1105 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 1106 | 1107 | signal-exit@^3.0.2, signal-exit@^3.0.3: 1108 | version "3.0.3" 1109 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" 1110 | integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== 1111 | 1112 | slice-ansi@^3.0.0: 1113 | version "3.0.0" 1114 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" 1115 | integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== 1116 | dependencies: 1117 | ansi-styles "^4.0.0" 1118 | astral-regex "^2.0.0" 1119 | is-fullwidth-code-point "^3.0.0" 1120 | 1121 | slice-ansi@^4.0.0: 1122 | version "4.0.0" 1123 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" 1124 | integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== 1125 | dependencies: 1126 | ansi-styles "^4.0.0" 1127 | astral-regex "^2.0.0" 1128 | is-fullwidth-code-point "^3.0.0" 1129 | 1130 | spdx-correct@^3.0.0: 1131 | version "3.1.1" 1132 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" 1133 | integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== 1134 | dependencies: 1135 | spdx-expression-parse "^3.0.0" 1136 | spdx-license-ids "^3.0.0" 1137 | 1138 | spdx-exceptions@^2.1.0: 1139 | version "2.3.0" 1140 | resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" 1141 | integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== 1142 | 1143 | spdx-expression-parse@^3.0.0: 1144 | version "3.0.1" 1145 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" 1146 | integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== 1147 | dependencies: 1148 | spdx-exceptions "^2.1.0" 1149 | spdx-license-ids "^3.0.0" 1150 | 1151 | spdx-license-ids@^3.0.0: 1152 | version "3.0.9" 1153 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz#8a595135def9592bda69709474f1cbeea7c2467f" 1154 | integrity sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ== 1155 | 1156 | string-argv@0.3.1: 1157 | version "0.3.1" 1158 | resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" 1159 | integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== 1160 | 1161 | "string-width@^1.0.2 || 2": 1162 | version "2.1.1" 1163 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 1164 | integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== 1165 | dependencies: 1166 | is-fullwidth-code-point "^2.0.0" 1167 | strip-ansi "^4.0.0" 1168 | 1169 | string-width@^4.1.0, string-width@^4.2.0: 1170 | version "4.2.2" 1171 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" 1172 | integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== 1173 | dependencies: 1174 | emoji-regex "^8.0.0" 1175 | is-fullwidth-code-point "^3.0.0" 1176 | strip-ansi "^6.0.0" 1177 | 1178 | stringify-object@^3.3.0: 1179 | version "3.3.0" 1180 | resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" 1181 | integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== 1182 | dependencies: 1183 | get-own-enumerable-property-symbols "^3.0.0" 1184 | is-obj "^1.0.1" 1185 | is-regexp "^1.0.0" 1186 | 1187 | strip-ansi@^4.0.0: 1188 | version "4.0.0" 1189 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 1190 | integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= 1191 | dependencies: 1192 | ansi-regex "^3.0.0" 1193 | 1194 | strip-ansi@^6.0.0: 1195 | version "6.0.0" 1196 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" 1197 | integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== 1198 | dependencies: 1199 | ansi-regex "^5.0.0" 1200 | 1201 | strip-final-newline@^2.0.0: 1202 | version "2.0.0" 1203 | resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" 1204 | integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== 1205 | 1206 | strip-indent@^3.0.0: 1207 | version "3.0.0" 1208 | resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" 1209 | integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== 1210 | dependencies: 1211 | min-indent "^1.0.0" 1212 | 1213 | strip-json-comments@3.1.1: 1214 | version "3.1.1" 1215 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" 1216 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 1217 | 1218 | supports-color@8.1.1: 1219 | version "8.1.1" 1220 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" 1221 | integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== 1222 | dependencies: 1223 | has-flag "^4.0.0" 1224 | 1225 | supports-color@^5.3.0: 1226 | version "5.5.0" 1227 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 1228 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 1229 | dependencies: 1230 | has-flag "^3.0.0" 1231 | 1232 | supports-color@^7.1.0: 1233 | version "7.2.0" 1234 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 1235 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 1236 | dependencies: 1237 | has-flag "^4.0.0" 1238 | 1239 | through@^2.3.8: 1240 | version "2.3.8" 1241 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 1242 | integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= 1243 | 1244 | to-regex-range@^5.0.1: 1245 | version "5.0.1" 1246 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 1247 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 1248 | dependencies: 1249 | is-number "^7.0.0" 1250 | 1251 | trim-newlines@^3.0.0: 1252 | version "3.0.1" 1253 | resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" 1254 | integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== 1255 | 1256 | tslib@^1.9.0: 1257 | version "1.14.1" 1258 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" 1259 | integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== 1260 | 1261 | type-fest@^0.18.0: 1262 | version "0.18.1" 1263 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" 1264 | integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== 1265 | 1266 | type-fest@^0.21.3: 1267 | version "0.21.3" 1268 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" 1269 | integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== 1270 | 1271 | type-fest@^0.6.0: 1272 | version "0.6.0" 1273 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" 1274 | integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== 1275 | 1276 | type-fest@^0.8.1: 1277 | version "0.8.1" 1278 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" 1279 | integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== 1280 | 1281 | types-json@^1.2.0: 1282 | version "1.2.2" 1283 | resolved "https://registry.yarnpkg.com/types-json/-/types-json-1.2.2.tgz#91ebe6de59e741ab38a98b071708a29494cedfe6" 1284 | integrity sha512-VfVLISHypS7ayIHvhacOESOTib4Sm4mAhnsgR8fzQdGp89YoBwMqvGmqENjtYehUQzgclT+7NafpEXkK/MHKwA== 1285 | 1286 | validate-npm-package-license@^3.0.1: 1287 | version "3.0.4" 1288 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" 1289 | integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== 1290 | dependencies: 1291 | spdx-correct "^3.0.0" 1292 | spdx-expression-parse "^3.0.0" 1293 | 1294 | validate-npm-package-name@^3.0.0: 1295 | version "3.0.0" 1296 | resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e" 1297 | integrity sha1-X6kS2B630MdK/BQN5zF/DKffQ34= 1298 | dependencies: 1299 | builtins "^1.0.3" 1300 | 1301 | which@2.0.2, which@^2.0.1: 1302 | version "2.0.2" 1303 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 1304 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 1305 | dependencies: 1306 | isexe "^2.0.0" 1307 | 1308 | wide-align@1.1.3: 1309 | version "1.1.3" 1310 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" 1311 | integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== 1312 | dependencies: 1313 | string-width "^1.0.2 || 2" 1314 | 1315 | workerpool@6.1.4: 1316 | version "6.1.4" 1317 | resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.1.4.tgz#6a972b6df82e38d50248ee2820aa98e2d0ad3090" 1318 | integrity sha512-jGWPzsUqzkow8HoAvqaPWTUPCrlPJaJ5tY8Iz7n1uCz3tTp6s3CDG0FF1NsX42WNlkRSW6Mr+CDZGnNoSsKa7g== 1319 | 1320 | wrap-ansi@^6.2.0: 1321 | version "6.2.0" 1322 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" 1323 | integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== 1324 | dependencies: 1325 | ansi-styles "^4.0.0" 1326 | string-width "^4.1.0" 1327 | strip-ansi "^6.0.0" 1328 | 1329 | wrap-ansi@^7.0.0: 1330 | version "7.0.0" 1331 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" 1332 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== 1333 | dependencies: 1334 | ansi-styles "^4.0.0" 1335 | string-width "^4.1.0" 1336 | strip-ansi "^6.0.0" 1337 | 1338 | wrappy@1: 1339 | version "1.0.2" 1340 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1341 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 1342 | 1343 | y18n@^5.0.5: 1344 | version "5.0.8" 1345 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" 1346 | integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== 1347 | 1348 | yallist@^4.0.0: 1349 | version "4.0.0" 1350 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 1351 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 1352 | 1353 | yaml@^1.10.0: 1354 | version "1.10.2" 1355 | resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" 1356 | integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== 1357 | 1358 | yargs-parser@20.2.4: 1359 | version "20.2.4" 1360 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" 1361 | integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== 1362 | 1363 | yargs-parser@^20.2.2, yargs-parser@^20.2.3: 1364 | version "20.2.7" 1365 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.7.tgz#61df85c113edfb5a7a4e36eb8aa60ef423cbc90a" 1366 | integrity sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw== 1367 | 1368 | yargs-unparser@2.0.0: 1369 | version "2.0.0" 1370 | resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" 1371 | integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== 1372 | dependencies: 1373 | camelcase "^6.0.0" 1374 | decamelize "^4.0.0" 1375 | flat "^5.0.2" 1376 | is-plain-obj "^2.1.0" 1377 | 1378 | yargs@16.2.0: 1379 | version "16.2.0" 1380 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" 1381 | integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== 1382 | dependencies: 1383 | cliui "^7.0.2" 1384 | escalade "^3.1.1" 1385 | get-caller-file "^2.0.5" 1386 | require-directory "^2.1.1" 1387 | string-width "^4.2.0" 1388 | y18n "^5.0.5" 1389 | yargs-parser "^20.2.2" 1390 | 1391 | yocto-queue@^0.1.0: 1392 | version "0.1.0" 1393 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" 1394 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== 1395 | --------------------------------------------------------------------------------