├── .gitignore ├── LICENSE.md ├── README.md ├── index.js ├── package.json ├── scripts └── generate-import-map.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | import-map.json 2 | node_modules 3 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Phil Plückthun 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # babel-plugin-modular-graphql 2 | 3 | A small transform plugin to cherry-pick GraphQL modules so you don’t have to. 4 | Basically [babel-plugin-lodash](https://github.com/lodash/babel-plugin-lodash) for [graphql](https://github.com/graphql/graphql-js). 5 | 6 | This automatically finds the most specific import from the graphql module's files and folders that works 7 | across GraphQL.js v14, v15, and v16. 8 | 9 | ## Getting Started 10 | 11 | ```sh 12 | npm install --save-dev babel-plugin-modular-graphql 13 | # or 14 | yarn add --dev babel-plugin-modular-graphql 15 | ``` 16 | 17 | And add the plugin to your Babel config; it doesn't take any options. 18 | 19 | ## Example 20 | 21 | Imports like these: 22 | 23 | ```js 24 | import { parse, Kind } from 'graphql'; 25 | ``` 26 | 27 | Become: 28 | 29 | ```js 30 | import { parse } from "graphql/language/parser"; 31 | import { Kind } from "graphql/language/kinds"; 32 | ``` 33 | 34 | ## Limitations 35 | 36 | - The plugin currently does not support `require()` 37 | - The plugin automatically generates an import-map that drills down into `graphql`'s files. This may break if files at a depth of 1–2 change their names. 38 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | module.exports = function babelPluginModularGraphql({ types: t }, options = {}) { 2 | let extension = (options.extension || '').trim(); 3 | if (extension && extension[0] !== '.') { 4 | extension = '.' + extension; 5 | } 6 | 7 | const importMap = require('./import-map.json'); 8 | const indexRe = /[\\/]index$/; 9 | const PKG_NAME = 'graphql'; 10 | 11 | return { 12 | visitor: { 13 | ImportDeclaration: { 14 | exit(path) { 15 | const { node } = path; 16 | if (node.source.value !== PKG_NAME || !node.specifiers.length) return; 17 | 18 | const imports = node.specifiers.reduce((acc, specifier) => { 19 | if (t.isImportSpecifier(specifier)) { 20 | const imported = specifier.imported.name; 21 | 22 | let declaration = importMap[imported]; 23 | if (!declaration) { 24 | console.warn( 25 | `The export "${imported}" could not be found. It may not be known, or may not be available consistently between graphql@14|15|16.\n` + 26 | 'Try using an alternative method or check whether this method is present in the provided range of graphql major releases.' 27 | ); 28 | } 29 | 30 | let from = declaration ? declaration.from : PKG_NAME; 31 | if (!acc[from]) { 32 | if (from !== PKG_NAME && extension) { 33 | from += extension; 34 | } else if (from !== PKG_NAME && from.endsWith('')) { 35 | from = from.replace(indexRe, ''); 36 | } 37 | 38 | acc[from] = t.importDeclaration([], t.stringLiteral(from)); 39 | } 40 | 41 | const localName = specifier.local.name; 42 | const newImportedName = declaration ? declaration.local : imported; 43 | 44 | acc[from].specifiers.push( 45 | t.importSpecifier(t.identifier(localName), t.identifier(newImportedName)) 46 | ); 47 | } 48 | 49 | return acc; 50 | }, {}); 51 | 52 | const importFiles = Object.keys(imports); 53 | if (importFiles.length && (importFiles.length !== 1 || importFiles[0] !== PKG_NAME)) { 54 | path.replaceWithMultiple(importFiles.map((key) => imports[key])); 55 | } 56 | }, 57 | }, 58 | }, 59 | }; 60 | }; 61 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "babel-plugin-modular-graphql", 3 | "description": "Modular GraphQL.js import paths without the hassle", 4 | "version": "1.1.0", 5 | "main": "index.js", 6 | "author": "Phil Pluckthun ", 7 | "license": "MIT", 8 | "repository": "https://github.com/kitten/babel-plugin-modular-graphql", 9 | "bugs": { 10 | "url": "https://github.com/kitten/babel-plugin-modular-graphql/issues" 11 | }, 12 | "files": [ 13 | "import-map.json", 14 | "import-map-overrides.json", 15 | "index.js" 16 | ], 17 | "scripts": { 18 | "build": "node scripts/generate-import-map.js", 19 | "prepublishOnly": "node scripts/generate-import-map.js" 20 | }, 21 | "keywords": [ 22 | "graphql", 23 | "babel-plugin", 24 | "modular", 25 | "tree-shaking" 26 | ], 27 | "peerDependencies": { 28 | "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0" 29 | }, 30 | "peerDependenciesMeta": { 31 | "graphql": { 32 | "optional": true 33 | } 34 | }, 35 | "devDependencies": { 36 | "@rollup/plugin-node-resolve": "^13.1.1", 37 | "graphql-14": "npm:graphql@^14.5.8", 38 | "graphql-15": "npm:graphql@^16.1.0", 39 | "graphql-16": "npm:graphql@^15.8.0", 40 | "husky-v4": "^4.3.0", 41 | "lint-staged": "^12.1.2", 42 | "prettier": "^2.5.1", 43 | "rollup": "^2.61.1" 44 | }, 45 | "lint-staged": { 46 | "*.{json,js}": [ 47 | "prettier --write" 48 | ] 49 | }, 50 | "husky": { 51 | "hooks": { 52 | "pre-commit": "lint-staged" 53 | } 54 | }, 55 | "prettier": { 56 | "singleQuote": true, 57 | "printWidth": 100 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /scripts/generate-import-map.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | const path = require('path'); 3 | 4 | const { rollup } = require('rollup'); 5 | 6 | /** Generates a map of exports from a given graphql package to list of import locations. */ 7 | async function traceImports(moduleName) { 8 | const basepath = path.resolve(process.cwd(), 'node_modules/', moduleName); 9 | const exportMap = {}; 10 | 11 | const resolveFile = (to, relative = '.') => { 12 | const dirname = path.join('graphql/', relative, path.dirname(to)); 13 | const filename = path.basename(to, '.mjs'); 14 | return path.join(dirname, filename); 15 | }; 16 | 17 | const bundle = await rollup({ 18 | // This contains all top-level "sub-modules" of graphql too, since not all exports of 19 | // them may be exposed in the main index.mjs file. 20 | input: { 21 | graphql: path.join(basepath, 'index.mjs'), 22 | 'graphql/error': path.join(basepath, 'error/index.mjs'), 23 | 'graphql/execution': path.join(basepath, 'execution/index.mjs'), 24 | 'graphql/language': path.join(basepath, 'language/index.mjs'), 25 | 'graphql/subscription': path.join(basepath, 'subscription/index.mjs'), 26 | 'graphql/type': path.join(basepath, 'type/index.mjs'), 27 | 'graphql/utilities': path.join(basepath, 'utilities/index.mjs'), 28 | 'graphql/validation': path.join(basepath, 'validation/index.mjs'), 29 | }, 30 | external: (id) => !/^\.{0,2}\//.test(id), 31 | preserveModules: true, 32 | plugins: [ 33 | require('@rollup/plugin-node-resolve').nodeResolve(), 34 | { 35 | transform(code, id) { 36 | const relative = path.relative(basepath, id); 37 | const dirname = path.dirname(relative); 38 | const exports = {}; 39 | 40 | this.parse(code) 41 | .body.filter((x) => x.type === 'ExportNamedDeclaration') 42 | .forEach((node) => { 43 | const from = node.source 44 | ? resolveFile(node.source.value, dirname) 45 | : resolveFile(relative); 46 | 47 | node.specifiers.forEach((specifier) => { 48 | const { name: local } = specifier.exported; 49 | exports[local] = { local, from }; 50 | }); 51 | 52 | if (node.declaration) { 53 | (node.declaration.declarations || [node.declaration]).forEach((declaration) => { 54 | if (declaration && declaration.id) { 55 | const { name: local } = declaration.id; 56 | exports[local] = { local, from }; 57 | } 58 | }); 59 | } 60 | }); 61 | 62 | exportMap[resolveFile(relative)] = exports; 63 | return null; 64 | }, 65 | }, 66 | ], 67 | }); 68 | 69 | await bundle.generate({}); 70 | return exportMap; 71 | } 72 | 73 | function isDeclarationEqual(a, b) { 74 | return a.local === b.local && a.from === b.from; 75 | } 76 | 77 | function mergeTraces(traces) { 78 | const trace = {}; 79 | 80 | // Iterate over all known filenames in all traces 81 | const ids = new Set( 82 | traces.map((trace) => Object.keys(trace)).reduce((acc, names) => acc.concat(names), []) 83 | ); 84 | for (const id of ids) { 85 | // Each file must exist in all traces 86 | if (!traces.every((trace) => !!trace[id])) continue; 87 | 88 | const exports = {}; 89 | 90 | // Iterate over all known exports in each trace's set of exports for this file 91 | const exportNames = new Set( 92 | traces.map((trace) => Object.keys(trace[id])).reduce((acc, names) => acc.concat(names), []) 93 | ); 94 | for (const name of exportNames) { 95 | // Each export must exist in all traces 96 | if (traces.every((trace) => !!trace[id][name])) { 97 | // Collect known declarations and deduplicate 98 | exports[name] = traces 99 | .map((trace) => trace[id][name]) 100 | .filter((val, index, all) => { 101 | const firstIndex = all.findIndex((item) => isDeclarationEqual(item, val)); 102 | return firstIndex === index; 103 | }); 104 | } 105 | } 106 | 107 | if (Object.keys(exports).length) trace[id] = exports; 108 | } 109 | 110 | // For a given declaration, find the first deepest one that works for the trace 111 | // NOTE: This doesn't find the absolute deepest one, since it assumes that each 112 | // export only has one functional trace 113 | const resolveDeclaration = (declaration) => { 114 | const declarations = trace[declaration.from]; 115 | if (!declarations || !declarations[declaration.local]) return null; 116 | for (const childDeclaration of declarations[declaration.local]) { 117 | if (childDeclaration.from === declaration.from) continue; 118 | const resolved = resolveDeclaration(childDeclaration); 119 | if (resolved && resolved.from !== declaration.from) return resolved; 120 | } 121 | 122 | return declaration; 123 | }; 124 | 125 | // Resolve all known (and consistent) exports to a common, deepest declaration 126 | const ROOT_MODULE = 'graphql/index'; 127 | for (const local in trace[ROOT_MODULE]) 128 | exports[local] = resolveDeclaration({ local, from: ROOT_MODULE }); 129 | return exports; 130 | } 131 | 132 | (async () => { 133 | const traces = await Promise.all([ 134 | traceImports('graphql-14'), 135 | traceImports('graphql-15'), 136 | traceImports('graphql-16'), 137 | ]); 138 | 139 | const trace = mergeTraces(traces); 140 | 141 | fs.writeFileSync('import-map.json', JSON.stringify(trace, null, 2)); 142 | })().catch((err) => { 143 | console.error(`${err.name}: ${err.stack}`); 144 | process.exit(1); 145 | }); 146 | -------------------------------------------------------------------------------- /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.10.4" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" 8 | integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== 9 | dependencies: 10 | "@babel/highlight" "^7.10.4" 11 | 12 | "@babel/helper-validator-identifier@^7.10.4": 13 | version "7.10.4" 14 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" 15 | integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== 16 | 17 | "@babel/highlight@^7.10.4": 18 | version "7.10.4" 19 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" 20 | integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== 21 | dependencies: 22 | "@babel/helper-validator-identifier" "^7.10.4" 23 | chalk "^2.0.0" 24 | js-tokens "^4.0.0" 25 | 26 | "@rollup/plugin-node-resolve@^13.1.1": 27 | version "13.1.1" 28 | resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.1.1.tgz#d38ba06e7b181ab4df64c75409b43d9bdc95ae34" 29 | integrity sha512-6QKtRevXLrmEig9UiMYt2fSvee9TyltGRfw+qSs6xjUnxwjOzTOqy+/Lpxsgjb8mJn1EQNbCDAvt89O4uzL5kw== 30 | dependencies: 31 | "@rollup/pluginutils" "^3.1.0" 32 | "@types/resolve" "1.17.1" 33 | builtin-modules "^3.1.0" 34 | deepmerge "^4.2.2" 35 | is-module "^1.0.0" 36 | resolve "^1.19.0" 37 | 38 | "@rollup/pluginutils@^3.1.0": 39 | version "3.1.0" 40 | resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" 41 | integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== 42 | dependencies: 43 | "@types/estree" "0.0.39" 44 | estree-walker "^1.0.1" 45 | picomatch "^2.2.2" 46 | 47 | "@types/estree@0.0.39": 48 | version "0.0.39" 49 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" 50 | integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== 51 | 52 | "@types/node@*": 53 | version "14.14.5" 54 | resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.5.tgz#e92d3b8f76583efa26c1a63a21c9d3c1143daa29" 55 | integrity sha512-H5Wn24s/ZOukBmDn03nnGTp18A60ny9AmCwnEcgJiTgSGsCO7k+NWP7zjCCbhlcnVCoI+co52dUAt9GMhOSULw== 56 | 57 | "@types/parse-json@^4.0.0": 58 | version "4.0.0" 59 | resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" 60 | integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== 61 | 62 | "@types/resolve@1.17.1": 63 | version "1.17.1" 64 | resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" 65 | integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== 66 | dependencies: 67 | "@types/node" "*" 68 | 69 | aggregate-error@^3.0.0: 70 | version "3.1.0" 71 | resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" 72 | integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== 73 | dependencies: 74 | clean-stack "^2.0.0" 75 | indent-string "^4.0.0" 76 | 77 | ansi-colors@^4.1.1: 78 | version "4.1.1" 79 | resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" 80 | integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== 81 | 82 | ansi-escapes@^4.3.0: 83 | version "4.3.1" 84 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" 85 | integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== 86 | dependencies: 87 | type-fest "^0.11.0" 88 | 89 | ansi-regex@^5.0.0: 90 | version "5.0.0" 91 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" 92 | integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== 93 | 94 | ansi-regex@^6.0.1: 95 | version "6.0.1" 96 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" 97 | integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== 98 | 99 | ansi-styles@^3.2.1: 100 | version "3.2.1" 101 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 102 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 103 | dependencies: 104 | color-convert "^1.9.0" 105 | 106 | ansi-styles@^4.0.0, ansi-styles@^4.1.0: 107 | version "4.3.0" 108 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 109 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 110 | dependencies: 111 | color-convert "^2.0.1" 112 | 113 | ansi-styles@^6.0.0: 114 | version "6.1.0" 115 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.1.0.tgz#87313c102b8118abd57371afab34618bf7350ed3" 116 | integrity sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ== 117 | 118 | astral-regex@^2.0.0: 119 | version "2.0.0" 120 | resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" 121 | integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== 122 | 123 | braces@^3.0.1: 124 | version "3.0.2" 125 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 126 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 127 | dependencies: 128 | fill-range "^7.0.1" 129 | 130 | builtin-modules@^3.1.0: 131 | version "3.1.0" 132 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484" 133 | integrity sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw== 134 | 135 | callsites@^3.0.0: 136 | version "3.1.0" 137 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 138 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 139 | 140 | chalk@^2.0.0: 141 | version "2.4.2" 142 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 143 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 144 | dependencies: 145 | ansi-styles "^3.2.1" 146 | escape-string-regexp "^1.0.5" 147 | supports-color "^5.3.0" 148 | 149 | chalk@^4.0.0: 150 | version "4.1.0" 151 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" 152 | integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== 153 | dependencies: 154 | ansi-styles "^4.1.0" 155 | supports-color "^7.1.0" 156 | 157 | ci-info@^2.0.0: 158 | version "2.0.0" 159 | resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" 160 | integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== 161 | 162 | clean-stack@^2.0.0: 163 | version "2.2.0" 164 | resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" 165 | integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== 166 | 167 | cli-cursor@^3.1.0: 168 | version "3.1.0" 169 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" 170 | integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== 171 | dependencies: 172 | restore-cursor "^3.1.0" 173 | 174 | cli-truncate@^2.1.0: 175 | version "2.1.0" 176 | resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" 177 | integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== 178 | dependencies: 179 | slice-ansi "^3.0.0" 180 | string-width "^4.2.0" 181 | 182 | cli-truncate@^3.1.0: 183 | version "3.1.0" 184 | resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-3.1.0.tgz#3f23ab12535e3d73e839bb43e73c9de487db1389" 185 | integrity sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA== 186 | dependencies: 187 | slice-ansi "^5.0.0" 188 | string-width "^5.0.0" 189 | 190 | color-convert@^1.9.0: 191 | version "1.9.3" 192 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 193 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 194 | dependencies: 195 | color-name "1.1.3" 196 | 197 | color-convert@^2.0.1: 198 | version "2.0.1" 199 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 200 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 201 | dependencies: 202 | color-name "~1.1.4" 203 | 204 | color-name@1.1.3: 205 | version "1.1.3" 206 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 207 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 208 | 209 | color-name@~1.1.4: 210 | version "1.1.4" 211 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 212 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 213 | 214 | colorette@^2.0.16: 215 | version "2.0.16" 216 | resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" 217 | integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g== 218 | 219 | commander@^8.3.0: 220 | version "8.3.0" 221 | resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" 222 | integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== 223 | 224 | compare-versions@^3.6.0: 225 | version "3.6.0" 226 | resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" 227 | integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== 228 | 229 | cosmiconfig@^7.0.0: 230 | version "7.0.0" 231 | resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" 232 | integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== 233 | dependencies: 234 | "@types/parse-json" "^4.0.0" 235 | import-fresh "^3.2.1" 236 | parse-json "^5.0.0" 237 | path-type "^4.0.0" 238 | yaml "^1.10.0" 239 | 240 | cross-spawn@^7.0.3: 241 | version "7.0.3" 242 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 243 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 244 | dependencies: 245 | path-key "^3.1.0" 246 | shebang-command "^2.0.0" 247 | which "^2.0.1" 248 | 249 | debug@^4.3.2: 250 | version "4.3.3" 251 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" 252 | integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== 253 | dependencies: 254 | ms "2.1.2" 255 | 256 | deepmerge@^4.2.2: 257 | version "4.2.2" 258 | resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" 259 | integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== 260 | 261 | emoji-regex@^8.0.0: 262 | version "8.0.0" 263 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 264 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 265 | 266 | emoji-regex@^9.2.2: 267 | version "9.2.2" 268 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" 269 | integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== 270 | 271 | enquirer@^2.3.6: 272 | version "2.3.6" 273 | resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" 274 | integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== 275 | dependencies: 276 | ansi-colors "^4.1.1" 277 | 278 | error-ex@^1.3.1: 279 | version "1.3.2" 280 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 281 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== 282 | dependencies: 283 | is-arrayish "^0.2.1" 284 | 285 | escape-string-regexp@^1.0.5: 286 | version "1.0.5" 287 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 288 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 289 | 290 | estree-walker@^1.0.1: 291 | version "1.0.1" 292 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" 293 | integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== 294 | 295 | execa@^5.1.1: 296 | version "5.1.1" 297 | resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" 298 | integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== 299 | dependencies: 300 | cross-spawn "^7.0.3" 301 | get-stream "^6.0.0" 302 | human-signals "^2.1.0" 303 | is-stream "^2.0.0" 304 | merge-stream "^2.0.0" 305 | npm-run-path "^4.0.1" 306 | onetime "^5.1.2" 307 | signal-exit "^3.0.3" 308 | strip-final-newline "^2.0.0" 309 | 310 | fill-range@^7.0.1: 311 | version "7.0.1" 312 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 313 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 314 | dependencies: 315 | to-regex-range "^5.0.1" 316 | 317 | find-up@^5.0.0: 318 | version "5.0.0" 319 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" 320 | integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== 321 | dependencies: 322 | locate-path "^6.0.0" 323 | path-exists "^4.0.0" 324 | 325 | find-versions@^4.0.0: 326 | version "4.0.0" 327 | resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-4.0.0.tgz#3c57e573bf97769b8cb8df16934b627915da4965" 328 | integrity sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ== 329 | dependencies: 330 | semver-regex "^3.1.2" 331 | 332 | fsevents@~2.3.2: 333 | version "2.3.2" 334 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 335 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 336 | 337 | function-bind@^1.1.1: 338 | version "1.1.1" 339 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 340 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 341 | 342 | get-stream@^6.0.0: 343 | version "6.0.1" 344 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" 345 | integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== 346 | 347 | "graphql-14@npm:graphql@^14.5.8": 348 | version "14.7.0" 349 | resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.7.0.tgz#7fa79a80a69be4a31c27dda824dc04dac2035a72" 350 | integrity sha512-l0xWZpoPKpppFzMfvVyFmp9vLN7w/ZZJPefUicMCepfJeQ8sMcztloGYY9DfjVPo6tIUDzU5Hw3MUbIjj9AVVA== 351 | dependencies: 352 | iterall "^1.2.2" 353 | 354 | "graphql-15@npm:graphql@^16.1.0": 355 | version "16.1.0" 356 | resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.1.0.tgz#83bebeae6e119766d04966f09de9305be7fd44e5" 357 | integrity sha512-+PIjmhqGHMIxtnlEirRXDHIzs0cAHAozKG5M2w2N4TnS8VzCxO3bbv1AW9UTeycBfl2QsPduxcVrBvANFKQhiw== 358 | 359 | "graphql-16@npm:graphql@^15.8.0": 360 | version "15.8.0" 361 | resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.8.0.tgz#33410e96b012fa3bdb1091cc99a94769db212b38" 362 | integrity sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw== 363 | 364 | has-flag@^3.0.0: 365 | version "3.0.0" 366 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 367 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 368 | 369 | has-flag@^4.0.0: 370 | version "4.0.0" 371 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 372 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 373 | 374 | has@^1.0.3: 375 | version "1.0.3" 376 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 377 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 378 | dependencies: 379 | function-bind "^1.1.1" 380 | 381 | human-signals@^2.1.0: 382 | version "2.1.0" 383 | resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" 384 | integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== 385 | 386 | husky-v4@^4.3.0: 387 | version "4.3.8" 388 | resolved "https://registry.yarnpkg.com/husky-v4/-/husky-v4-4.3.8.tgz#af3be56a8b62b941371b5190e265f76dd1af2e57" 389 | integrity sha512-M7A9u/t6BnT/qbDzKb7SdXhr8qLTGTkqZL6YLDDM20jfCdmpIMEuO384LvYXSBcgv50oIgNWI/IaO3g4A4ShjA== 390 | dependencies: 391 | chalk "^4.0.0" 392 | ci-info "^2.0.0" 393 | compare-versions "^3.6.0" 394 | cosmiconfig "^7.0.0" 395 | find-versions "^4.0.0" 396 | opencollective-postinstall "^2.0.2" 397 | pkg-dir "^5.0.0" 398 | please-upgrade-node "^3.2.0" 399 | slash "^3.0.0" 400 | which-pm-runs "^1.0.0" 401 | 402 | import-fresh@^3.2.1: 403 | version "3.2.1" 404 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" 405 | integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== 406 | dependencies: 407 | parent-module "^1.0.0" 408 | resolve-from "^4.0.0" 409 | 410 | indent-string@^4.0.0: 411 | version "4.0.0" 412 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" 413 | integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== 414 | 415 | is-arrayish@^0.2.1: 416 | version "0.2.1" 417 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 418 | integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= 419 | 420 | is-core-module@^2.2.0: 421 | version "2.8.0" 422 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548" 423 | integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw== 424 | dependencies: 425 | has "^1.0.3" 426 | 427 | is-fullwidth-code-point@^3.0.0: 428 | version "3.0.0" 429 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" 430 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 431 | 432 | is-fullwidth-code-point@^4.0.0: 433 | version "4.0.0" 434 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88" 435 | integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== 436 | 437 | is-module@^1.0.0: 438 | version "1.0.0" 439 | resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" 440 | integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= 441 | 442 | is-number@^7.0.0: 443 | version "7.0.0" 444 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 445 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 446 | 447 | is-stream@^2.0.0: 448 | version "2.0.0" 449 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" 450 | integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== 451 | 452 | isexe@^2.0.0: 453 | version "2.0.0" 454 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 455 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 456 | 457 | iterall@^1.2.2: 458 | version "1.3.0" 459 | resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.3.0.tgz#afcb08492e2915cbd8a0884eb93a8c94d0d72fea" 460 | integrity sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg== 461 | 462 | js-tokens@^4.0.0: 463 | version "4.0.0" 464 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 465 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 466 | 467 | json-parse-even-better-errors@^2.3.0: 468 | version "2.3.1" 469 | resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" 470 | integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== 471 | 472 | lilconfig@2.0.4: 473 | version "2.0.4" 474 | resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.4.tgz#f4507d043d7058b380b6a8f5cb7bcd4b34cee082" 475 | integrity sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA== 476 | 477 | lines-and-columns@^1.1.6: 478 | version "1.1.6" 479 | resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" 480 | integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= 481 | 482 | lint-staged@^12.1.2: 483 | version "12.1.2" 484 | resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-12.1.2.tgz#90c571927e1371fc133e720671dd7989eab53f74" 485 | integrity sha512-bSMcQVqMW98HLLLR2c2tZ+vnDCnx4fd+0QJBQgN/4XkdspGRPc8DGp7UuOEBe1ApCfJ+wXXumYnJmU+wDo7j9A== 486 | dependencies: 487 | cli-truncate "^3.1.0" 488 | colorette "^2.0.16" 489 | commander "^8.3.0" 490 | debug "^4.3.2" 491 | enquirer "^2.3.6" 492 | execa "^5.1.1" 493 | lilconfig "2.0.4" 494 | listr2 "^3.13.3" 495 | micromatch "^4.0.4" 496 | normalize-path "^3.0.0" 497 | object-inspect "^1.11.0" 498 | string-argv "^0.3.1" 499 | supports-color "^9.0.2" 500 | yaml "^1.10.2" 501 | 502 | listr2@^3.13.3: 503 | version "3.13.5" 504 | resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.13.5.tgz#105a813f2eb2329c4aae27373a281d610ee4985f" 505 | integrity sha512-3n8heFQDSk+NcwBn3CgxEibZGaRzx+pC64n3YjpMD1qguV4nWus3Al+Oo3KooqFKTQEJ1v7MmnbnyyNspgx3NA== 506 | dependencies: 507 | cli-truncate "^2.1.0" 508 | colorette "^2.0.16" 509 | log-update "^4.0.0" 510 | p-map "^4.0.0" 511 | rfdc "^1.3.0" 512 | rxjs "^7.4.0" 513 | through "^2.3.8" 514 | wrap-ansi "^7.0.0" 515 | 516 | locate-path@^6.0.0: 517 | version "6.0.0" 518 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" 519 | integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== 520 | dependencies: 521 | p-locate "^5.0.0" 522 | 523 | log-update@^4.0.0: 524 | version "4.0.0" 525 | resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" 526 | integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== 527 | dependencies: 528 | ansi-escapes "^4.3.0" 529 | cli-cursor "^3.1.0" 530 | slice-ansi "^4.0.0" 531 | wrap-ansi "^6.2.0" 532 | 533 | merge-stream@^2.0.0: 534 | version "2.0.0" 535 | resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" 536 | integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== 537 | 538 | micromatch@^4.0.4: 539 | version "4.0.4" 540 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" 541 | integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== 542 | dependencies: 543 | braces "^3.0.1" 544 | picomatch "^2.2.3" 545 | 546 | mimic-fn@^2.1.0: 547 | version "2.1.0" 548 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" 549 | integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== 550 | 551 | ms@2.1.2: 552 | version "2.1.2" 553 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 554 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 555 | 556 | normalize-path@^3.0.0: 557 | version "3.0.0" 558 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 559 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 560 | 561 | npm-run-path@^4.0.1: 562 | version "4.0.1" 563 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" 564 | integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== 565 | dependencies: 566 | path-key "^3.0.0" 567 | 568 | object-inspect@^1.11.0: 569 | version "1.11.1" 570 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.1.tgz#d4bd7d7de54b9a75599f59a00bd698c1f1c6549b" 571 | integrity sha512-If7BjFlpkzzBeV1cqgT3OSWT3azyoxDGajR+iGnFBfVV2EWyDyWaZZW2ERDjUaY2QM8i5jI3Sj7mhsM4DDAqWA== 572 | 573 | onetime@^5.1.0, onetime@^5.1.2: 574 | version "5.1.2" 575 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" 576 | integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== 577 | dependencies: 578 | mimic-fn "^2.1.0" 579 | 580 | opencollective-postinstall@^2.0.2: 581 | version "2.0.3" 582 | resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" 583 | integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== 584 | 585 | p-limit@^3.0.2: 586 | version "3.1.0" 587 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" 588 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== 589 | dependencies: 590 | yocto-queue "^0.1.0" 591 | 592 | p-locate@^5.0.0: 593 | version "5.0.0" 594 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" 595 | integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== 596 | dependencies: 597 | p-limit "^3.0.2" 598 | 599 | p-map@^4.0.0: 600 | version "4.0.0" 601 | resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" 602 | integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== 603 | dependencies: 604 | aggregate-error "^3.0.0" 605 | 606 | parent-module@^1.0.0: 607 | version "1.0.1" 608 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" 609 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 610 | dependencies: 611 | callsites "^3.0.0" 612 | 613 | parse-json@^5.0.0: 614 | version "5.1.0" 615 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.1.0.tgz#f96088cdf24a8faa9aea9a009f2d9d942c999646" 616 | integrity sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ== 617 | dependencies: 618 | "@babel/code-frame" "^7.0.0" 619 | error-ex "^1.3.1" 620 | json-parse-even-better-errors "^2.3.0" 621 | lines-and-columns "^1.1.6" 622 | 623 | path-exists@^4.0.0: 624 | version "4.0.0" 625 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 626 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 627 | 628 | path-key@^3.0.0, path-key@^3.1.0: 629 | version "3.1.1" 630 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 631 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 632 | 633 | path-parse@^1.0.6: 634 | version "1.0.6" 635 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" 636 | integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== 637 | 638 | path-type@^4.0.0: 639 | version "4.0.0" 640 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" 641 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 642 | 643 | picomatch@^2.2.2, picomatch@^2.2.3: 644 | version "2.3.0" 645 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" 646 | integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== 647 | 648 | pkg-dir@^5.0.0: 649 | version "5.0.0" 650 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-5.0.0.tgz#a02d6aebe6ba133a928f74aec20bafdfe6b8e760" 651 | integrity sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA== 652 | dependencies: 653 | find-up "^5.0.0" 654 | 655 | please-upgrade-node@^3.2.0: 656 | version "3.2.0" 657 | resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" 658 | integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== 659 | dependencies: 660 | semver-compare "^1.0.0" 661 | 662 | prettier@^2.5.1: 663 | version "2.5.1" 664 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.5.1.tgz#fff75fa9d519c54cf0fce328c1017d94546bc56a" 665 | integrity sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg== 666 | 667 | resolve-from@^4.0.0: 668 | version "4.0.0" 669 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 670 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 671 | 672 | resolve@^1.19.0: 673 | version "1.20.0" 674 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" 675 | integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== 676 | dependencies: 677 | is-core-module "^2.2.0" 678 | path-parse "^1.0.6" 679 | 680 | restore-cursor@^3.1.0: 681 | version "3.1.0" 682 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" 683 | integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== 684 | dependencies: 685 | onetime "^5.1.0" 686 | signal-exit "^3.0.2" 687 | 688 | rfdc@^1.3.0: 689 | version "1.3.0" 690 | resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" 691 | integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== 692 | 693 | rollup@^2.61.1: 694 | version "2.61.1" 695 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.61.1.tgz#1a5491f84543cf9e4caf6c61222d9a3f8f2ba454" 696 | integrity sha512-BbTXlEvB8d+XFbK/7E5doIcRtxWPRiqr0eb5vQ0+2paMM04Ye4PZY5nHOQef2ix24l/L0SpLd5hwcH15QHPdvA== 697 | optionalDependencies: 698 | fsevents "~2.3.2" 699 | 700 | rxjs@^7.4.0: 701 | version "7.4.0" 702 | resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.4.0.tgz#a12a44d7eebf016f5ff2441b87f28c9a51cebc68" 703 | integrity sha512-7SQDi7xeTMCJpqViXh8gL/lebcwlp3d831F05+9B44A4B0WfsEwUQHR64gsH1kvJ+Ep/J9K2+n1hVl1CsGN23w== 704 | dependencies: 705 | tslib "~2.1.0" 706 | 707 | semver-compare@^1.0.0: 708 | version "1.0.0" 709 | resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" 710 | integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= 711 | 712 | semver-regex@^3.1.2: 713 | version "3.1.3" 714 | resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-3.1.3.tgz#b2bcc6f97f63269f286994e297e229b6245d0dc3" 715 | integrity sha512-Aqi54Mk9uYTjVexLnR67rTyBusmwd04cLkHy9hNvk3+G3nT2Oyg7E0l4XVbOaNwIvQ3hHeYxGcyEy+mKreyBFQ== 716 | 717 | shebang-command@^2.0.0: 718 | version "2.0.0" 719 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 720 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 721 | dependencies: 722 | shebang-regex "^3.0.0" 723 | 724 | shebang-regex@^3.0.0: 725 | version "3.0.0" 726 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 727 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 728 | 729 | signal-exit@^3.0.2, signal-exit@^3.0.3: 730 | version "3.0.6" 731 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz#24e630c4b0f03fea446a2bd299e62b4a6ca8d0af" 732 | integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ== 733 | 734 | slash@^3.0.0: 735 | version "3.0.0" 736 | resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" 737 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== 738 | 739 | slice-ansi@^3.0.0: 740 | version "3.0.0" 741 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" 742 | integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== 743 | dependencies: 744 | ansi-styles "^4.0.0" 745 | astral-regex "^2.0.0" 746 | is-fullwidth-code-point "^3.0.0" 747 | 748 | slice-ansi@^4.0.0: 749 | version "4.0.0" 750 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" 751 | integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== 752 | dependencies: 753 | ansi-styles "^4.0.0" 754 | astral-regex "^2.0.0" 755 | is-fullwidth-code-point "^3.0.0" 756 | 757 | slice-ansi@^5.0.0: 758 | version "5.0.0" 759 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a" 760 | integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== 761 | dependencies: 762 | ansi-styles "^6.0.0" 763 | is-fullwidth-code-point "^4.0.0" 764 | 765 | string-argv@^0.3.1: 766 | version "0.3.1" 767 | resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" 768 | integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== 769 | 770 | string-width@^4.1.0, string-width@^4.2.0: 771 | version "4.2.0" 772 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" 773 | integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== 774 | dependencies: 775 | emoji-regex "^8.0.0" 776 | is-fullwidth-code-point "^3.0.0" 777 | strip-ansi "^6.0.0" 778 | 779 | string-width@^5.0.0: 780 | version "5.0.1" 781 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.0.1.tgz#0d8158335a6cfd8eb95da9b6b262ce314a036ffd" 782 | integrity sha512-5ohWO/M4//8lErlUUtrFy3b11GtNOuMOU0ysKCDXFcfXuuvUXu95akgj/i8ofmaGdN0hCqyl6uu9i8dS/mQp5g== 783 | dependencies: 784 | emoji-regex "^9.2.2" 785 | is-fullwidth-code-point "^4.0.0" 786 | strip-ansi "^7.0.1" 787 | 788 | strip-ansi@^6.0.0: 789 | version "6.0.0" 790 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" 791 | integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== 792 | dependencies: 793 | ansi-regex "^5.0.0" 794 | 795 | strip-ansi@^7.0.1: 796 | version "7.0.1" 797 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" 798 | integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== 799 | dependencies: 800 | ansi-regex "^6.0.1" 801 | 802 | strip-final-newline@^2.0.0: 803 | version "2.0.0" 804 | resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" 805 | integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== 806 | 807 | supports-color@^5.3.0: 808 | version "5.5.0" 809 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 810 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 811 | dependencies: 812 | has-flag "^3.0.0" 813 | 814 | supports-color@^7.1.0: 815 | version "7.2.0" 816 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 817 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 818 | dependencies: 819 | has-flag "^4.0.0" 820 | 821 | supports-color@^9.0.2: 822 | version "9.2.1" 823 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-9.2.1.tgz#599dc9d45acf74c6176e0d880bab1d7d718fe891" 824 | integrity sha512-Obv7ycoCTG51N7y175StI9BlAXrmgZrFhZOb0/PyjHBher/NmsdBgbbQ1Inhq+gIhz6+7Gb+jWF2Vqi7Mf1xnQ== 825 | 826 | through@^2.3.8: 827 | version "2.3.8" 828 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 829 | integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= 830 | 831 | to-regex-range@^5.0.1: 832 | version "5.0.1" 833 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 834 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 835 | dependencies: 836 | is-number "^7.0.0" 837 | 838 | tslib@~2.1.0: 839 | version "2.1.0" 840 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" 841 | integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== 842 | 843 | type-fest@^0.11.0: 844 | version "0.11.0" 845 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" 846 | integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== 847 | 848 | which-pm-runs@^1.0.0: 849 | version "1.0.0" 850 | resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb" 851 | integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs= 852 | 853 | which@^2.0.1: 854 | version "2.0.2" 855 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 856 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 857 | dependencies: 858 | isexe "^2.0.0" 859 | 860 | wrap-ansi@^6.2.0: 861 | version "6.2.0" 862 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" 863 | integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== 864 | dependencies: 865 | ansi-styles "^4.0.0" 866 | string-width "^4.1.0" 867 | strip-ansi "^6.0.0" 868 | 869 | wrap-ansi@^7.0.0: 870 | version "7.0.0" 871 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" 872 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== 873 | dependencies: 874 | ansi-styles "^4.0.0" 875 | string-width "^4.1.0" 876 | strip-ansi "^6.0.0" 877 | 878 | yaml@^1.10.0, yaml@^1.10.2: 879 | version "1.10.2" 880 | resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" 881 | integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== 882 | 883 | yocto-queue@^0.1.0: 884 | version "0.1.0" 885 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" 886 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== 887 | --------------------------------------------------------------------------------