Mirror: Modular GraphQL.js import paths without the hassle.

Compare changes

Choose any two refs to compare.

Changed files
+1079 -161
.github
workflows
scripts
+26
.github/workflows/mirror.yml
···
+
# Mirrors to https://tangled.sh/@kitten.sh (knot.kitten.sh)
+
name: Mirror (Git Backup)
+
on:
+
push:
+
branches:
+
- main
+
jobs:
+
mirror:
+
runs-on: ubuntu-latest
+
steps:
+
- name: Checkout repository
+
uses: actions/checkout@v4
+
with:
+
fetch-depth: 0
+
fetch-tags: true
+
- name: Mirror
+
env:
+
MIRROR_SSH_KEY: ${{ secrets.MIRROR_SSH_KEY }}
+
GIT_SSH_COMMAND: 'ssh -o StrictHostKeyChecking=yes'
+
run: |
+
mkdir -p ~/.ssh
+
echo "$MIRROR_SSH_KEY" > ~/.ssh/id_rsa
+
chmod 600 ~/.ssh/id_rsa
+
ssh-keyscan -H knot.kitten.sh >> ~/.ssh/known_hosts
+
git remote add mirror "git@knot.kitten.sh:kitten.sh/${GITHUB_REPOSITORY#*/}"
+
git push --mirror mirror
+21
LICENSE.md
···
+
MIT License
+
+
Copyright (c) 2018 Phil Plückthun
+
+
Permission is hereby granted, free of charge, to any person obtaining a copy
+
of this software and associated documentation files (the "Software"), to deal
+
in the Software without restriction, including without limitation the rights
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+
copies of the Software, and to permit persons to whom the Software is
+
furnished to do so, subject to the following conditions:
+
+
The above copyright notice and this permission notice shall be included in all
+
copies or substantial portions of the Software.
+
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+
SOFTWARE.
+37
README.md
···
+
# babel-plugin-modular-graphql
+
+
A small transform plugin to cherry-pick GraphQL modules so you don’t have to.
+
Basically [babel-plugin-lodash](https://github.com/lodash/babel-plugin-lodash) for [graphql](https://github.com/graphql/graphql-js).
+
+
This automatically finds the most specific import from the graphql module's files and folders that works
+
across GraphQL.js v14, v15, and v16.
+
+
## Getting Started
+
+
```sh
+
npm install --save-dev babel-plugin-modular-graphql
+
# or
+
yarn add --dev babel-plugin-modular-graphql
+
```
+
+
And add the plugin to your Babel config; it doesn't take any options.
+
+
## Example
+
+
Imports like these:
+
+
```js
+
import { parse, Kind } from 'graphql';
+
```
+
+
Become:
+
+
```js
+
import { parse } from "graphql/language/parser";
+
import { Kind } from "graphql/language/kinds";
+
```
+
+
## Limitations
+
+
- The plugin currently does not support `require()`
+
- 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.
+27 -13
index.js
···
-
export default function({ types: t }) {
+
module.exports = function babelPluginModularGraphql({ types: t }, options = {}) {
+
let extension = (options.extension || '').trim();
+
if (extension && extension[0] !== '.') {
+
extension = '.' + extension;
+
}
+
const importMap = require('./import-map.json');
+
const indexRe = /[\\/]index$/;
const PKG_NAME = 'graphql';
return {
···
const imports = node.specifiers.reduce((acc, specifier) => {
if (t.isImportSpecifier(specifier)) {
const imported = specifier.imported.name;
-
const declaration = importMap[imported];
-
const from = declaration ? declaration.from : PKG_NAME;
+
+
let declaration = importMap[imported];
+
if (!declaration) {
+
console.warn(
+
`The export "${imported}" could not be found. It may not be known, or may not be available consistently between graphql@14|15|16.\n` +
+
'Try using an alternative method or check whether this method is present in the provided range of graphql major releases.'
+
);
+
}
+
+
let from = declaration ? declaration.from : PKG_NAME;
if (!acc[from]) {
+
if (from !== PKG_NAME && extension) {
+
from += extension;
+
} else if (from !== PKG_NAME && from.endsWith('')) {
+
from = from.replace(indexRe, '');
+
}
+
acc[from] = t.importDeclaration([], t.stringLiteral(from));
}
···
const newImportedName = declaration ? declaration.local : imported;
acc[from].specifiers.push(
-
t.importSpecifier(
-
t.identifier(localName),
-
t.identifier(newImportedName)
-
)
+
t.importSpecifier(t.identifier(localName), t.identifier(newImportedName))
);
}
···
}, {});
const importFiles = Object.keys(imports);
-
if (
-
importFiles.length &&
-
(importFiles.length !== 1 || importFiles[0] !== PKG_NAME)
-
) {
-
path.replaceWithMultiple(importFiles.map(key => imports[key]));
+
if (importFiles.length && (importFiles.length !== 1 || importFiles[0] !== PKG_NAME)) {
+
path.replaceWithMultiple(importFiles.map((key) => imports[key]));
}
},
},
},
};
-
}
+
};
+44 -5
package.json
···
{
"name": "babel-plugin-modular-graphql",
-
"version": "0.1.0",
+
"description": "Modular GraphQL.js import paths without the hassle",
+
"version": "1.1.0",
"main": "index.js",
+
"author": "Phil Pluckthun <phil@kitten.sh>",
"license": "MIT",
+
"repository": "https://github.com/kitten/babel-plugin-modular-graphql",
+
"bugs": {
+
"url": "https://github.com/kitten/babel-plugin-modular-graphql/issues"
+
},
"files": [
"import-map.json",
+
"import-map-overrides.json",
"index.js"
],
"scripts": {
"build": "node scripts/generate-import-map.js",
"prepublishOnly": "node scripts/generate-import-map.js"
},
+
"keywords": [
+
"graphql",
+
"babel-plugin",
+
"modular",
+
"tree-shaking"
+
],
+
"peerDependencies": {
+
"graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
+
},
+
"peerDependenciesMeta": {
+
"graphql": {
+
"optional": true
+
}
+
},
"devDependencies": {
-
"@rollup/plugin-node-resolve": "^7.1.3",
-
"acorn-walk": "^7.1.1",
-
"graphql": "^15.0.0",
-
"rollup": "^2.6.1"
+
"@rollup/plugin-node-resolve": "^13.1.1",
+
"graphql-14": "npm:graphql@^14.5.8",
+
"graphql-15": "npm:graphql@^16.1.0",
+
"graphql-16": "npm:graphql@^15.8.0",
+
"husky-v4": "^4.3.0",
+
"lint-staged": "^12.1.2",
+
"prettier": "^2.5.1",
+
"rollup": "^2.61.1"
+
},
+
"lint-staged": {
+
"*.{json,js}": [
+
"prettier --write"
+
]
+
},
+
"husky": {
+
"hooks": {
+
"pre-commit": "lint-staged"
+
}
+
},
+
"prettier": {
+
"singleQuote": true,
+
"printWidth": 100
}
}
+117 -94
scripts/generate-import-map.js
···
const { rollup } = require('rollup');
-
const cwd = process.cwd();
-
const basepath = path.resolve(cwd, 'node_modules/graphql/');
+
/** Generates a map of exports from a given graphql package to list of import locations. */
+
async function traceImports(moduleName) {
+
const basepath = path.resolve(process.cwd(), 'node_modules/', moduleName);
+
const exportMap = {};
-
function generateImportMapPlugin(opts = {}) {
-
const maxDepth = opts.maxDepth || 2;
-
const filename = opts.filename || 'import-map.json';
-
const map = new Map();
-
-
const resolveFile = (from, to) => {
-
return path.join(from, to);
+
const resolveFile = (to, relative = '.') => {
+
const dirname = path.join('graphql/', relative, path.dirname(to));
+
const filename = path.basename(to, '.mjs');
+
return path.join(dirname, filename);
};
-
const resolveFromMap = (id, name, depth = 0) => {
-
const exports = map.get(id);
-
if (!exports || !exports.has(name)) return null;
+
const bundle = await rollup({
+
// This contains all top-level "sub-modules" of graphql too, since not all exports of
+
// them may be exposed in the main index.mjs file.
+
input: {
+
graphql: path.join(basepath, 'index.mjs'),
+
'graphql/error': path.join(basepath, 'error/index.mjs'),
+
'graphql/execution': path.join(basepath, 'execution/index.mjs'),
+
'graphql/language': path.join(basepath, 'language/index.mjs'),
+
'graphql/subscription': path.join(basepath, 'subscription/index.mjs'),
+
'graphql/type': path.join(basepath, 'type/index.mjs'),
+
'graphql/utilities': path.join(basepath, 'utilities/index.mjs'),
+
'graphql/validation': path.join(basepath, 'validation/index.mjs'),
+
},
+
external: (id) => !/^\.{0,2}\//.test(id),
+
preserveModules: true,
+
plugins: [
+
require('@rollup/plugin-node-resolve').nodeResolve(),
+
{
+
transform(code, id) {
+
const relative = path.relative(basepath, id);
+
const dirname = path.dirname(relative);
+
const exports = {};
-
const declaration = exports.get(name);
-
if (depth >= maxDepth || declaration.from === id) {
-
return declaration;
-
}
+
this.parse(code)
+
.body.filter((x) => x.type === 'ExportNamedDeclaration')
+
.forEach((node) => {
+
const from = node.source
+
? resolveFile(node.source.value, dirname)
+
: resolveFile(relative);
-
return resolveFromMap(declaration.from, declaration.local, depth + 1)
-
|| declaration;
-
};
+
node.specifiers.forEach((specifier) => {
+
const { name: local } = specifier.exported;
+
exports[local] = { local, from };
+
});
+
+
if (node.declaration) {
+
(node.declaration.declarations || [node.declaration]).forEach((declaration) => {
+
if (declaration && declaration.id) {
+
const { name: local } = declaration.id;
+
exports[local] = { local, from };
+
}
+
});
+
}
+
});
+
+
exportMap[resolveFile(relative)] = exports;
+
return null;
+
},
+
},
+
],
+
});
-
return {
-
name: 'generate-import-map',
-
transform(code, id) {
-
const relative = path.relative(basepath, id);
-
const dirname = path.dirname(relative);
-
const exports = new Map();
+
await bundle.generate({});
+
return exportMap;
+
}
-
this.parse(code).body
-
.filter(x => x.type === 'ExportNamedDeclaration')
-
.forEach(node => {
-
const source = node.source
-
? resolveFile(dirname, node.source.value)
-
: relative;
+
function isDeclarationEqual(a, b) {
+
return a.local === b.local && a.from === b.from;
+
}
-
node.specifiers.forEach(specifier => {
-
exports.set(specifier.exported.name, {
-
local: specifier.local.name,
-
from: source
-
});
-
});
+
function mergeTraces(traces) {
+
const trace = {};
-
if (node.declaration) {
-
(node.declaration.declarations || [node.declaration])
-
.forEach(declaration => {
-
if (declaration && declaration.id) {
-
const { name } = declaration.id;
-
exports.set(declaration.id.name, {
-
local: name,
-
from: source
-
});
-
}
-
});
-
}
-
});
+
// Iterate over all known filenames in all traces
+
const ids = new Set(
+
traces.map((trace) => Object.keys(trace)).reduce((acc, names) => acc.concat(names), [])
+
);
+
for (const id of ids) {
+
// Each file must exist in all traces
+
if (!traces.every((trace) => !!trace[id])) continue;
-
map.set(relative, exports);
-
return null;
-
},
-
renderChunk(_code, chunk) {
-
const id = chunk.facadeModuleId;
-
const relative = path.relative(basepath, id);
+
const exports = {};
-
if (chunk.isEntry) {
-
const importMap = chunk.exports.reduce((acc, name) => {
-
const declaration = resolveFromMap(relative, name);
-
if (declaration) {
-
const dirname = path.join('graphql/', path.dirname(declaration.from));
-
const filename = path.basename(declaration.from, '.mjs');
+
// Iterate over all known exports in each trace's set of exports for this file
+
const exportNames = new Set(
+
traces.map((trace) => Object.keys(trace[id])).reduce((acc, names) => acc.concat(names), [])
+
);
+
for (const name of exportNames) {
+
// Each export must exist in all traces
+
if (traces.every((trace) => !!trace[id][name])) {
+
// Collect known declarations and deduplicate
+
exports[name] = traces
+
.map((trace) => trace[id][name])
+
.filter((val, index, all) => {
+
const firstIndex = all.findIndex((item) => isDeclarationEqual(item, val));
+
return firstIndex === index;
+
});
+
}
+
}
-
acc[name] = {
-
local: declaration.local,
-
from: path.join(dirname, filename),
-
};
-
}
+
if (Object.keys(exports).length) trace[id] = exports;
+
}
-
return acc;
-
}, {});
+
// For a given declaration, find the first deepest one that works for the trace
+
// NOTE: This doesn't find the absolute deepest one, since it assumes that each
+
// export only has one functional trace
+
const resolveDeclaration = (declaration) => {
+
const declarations = trace[declaration.from];
+
if (!declarations || !declarations[declaration.local]) return null;
+
for (const childDeclaration of declarations[declaration.local]) {
+
if (childDeclaration.from === declaration.from) continue;
+
const resolved = resolveDeclaration(childDeclaration);
+
if (resolved && resolved.from !== declaration.from) return resolved;
+
}
-
this.emitFile({
-
type: 'asset',
-
filename,
-
name: filename,
-
source: JSON.stringify(importMap, null, 2)
-
});
-
}
-
},
+
return declaration;
};
+
+
// Resolve all known (and consistent) exports to a common, deepest declaration
+
const ROOT_MODULE = 'graphql/index';
+
for (const local in trace[ROOT_MODULE])
+
exports[local] = resolveDeclaration({ local, from: ROOT_MODULE });
+
return exports;
}
(async () => {
-
const bundle = await rollup({
-
input: path.join(basepath, 'index.mjs'),
-
external: (id) => !/^\.{0,2}\//.test(id),
-
preserveModules: true,
-
plugins: [
-
require('@rollup/plugin-node-resolve')(),
-
generateImportMapPlugin({
-
filename: 'import-map.json'
-
})
-
],
-
});
+
const traces = await Promise.all([
+
traceImports('graphql-14'),
+
traceImports('graphql-15'),
+
traceImports('graphql-16'),
+
]);
-
const { output } = await bundle.generate({});
+
const trace = mergeTraces(traces);
-
fs.writeFileSync(
-
path.resolve(cwd, 'import-map.json'),
-
output.find(asset => asset.type === 'asset').source
-
);
+
fs.writeFileSync('import-map.json', JSON.stringify(trace, null, 2));
})().catch((err) => {
-
console.error(`${err.name}: ${err.message}`);
+
console.error(`${err.name}: ${err.stack}`);
process.exit(1);
});
+807 -49
yarn.lock
···
# yarn lockfile v1
-
"@rollup/plugin-node-resolve@^7.1.3":
-
version "7.1.3"
-
resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz#80de384edfbd7bfc9101164910f86078151a3eca"
-
integrity sha512-RxtSL3XmdTAE2byxekYLnx+98kEUOrPHF/KRVjLH+DEIHy6kjIw7YINQzn+NXiH/NTrQLAwYs0GWB+csWygA9Q==
+
"@babel/code-frame@^7.0.0":
+
version "7.10.4"
+
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a"
+
integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==
+
dependencies:
+
"@babel/highlight" "^7.10.4"
+
+
"@babel/helper-validator-identifier@^7.10.4":
+
version "7.10.4"
+
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2"
+
integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==
+
+
"@babel/highlight@^7.10.4":
+
version "7.10.4"
+
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143"
+
integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==
dependencies:
-
"@rollup/pluginutils" "^3.0.8"
-
"@types/resolve" "0.0.8"
+
"@babel/helper-validator-identifier" "^7.10.4"
+
chalk "^2.0.0"
+
js-tokens "^4.0.0"
+
+
"@rollup/plugin-node-resolve@^13.1.1":
+
version "13.1.1"
+
resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.1.1.tgz#d38ba06e7b181ab4df64c75409b43d9bdc95ae34"
+
integrity sha512-6QKtRevXLrmEig9UiMYt2fSvee9TyltGRfw+qSs6xjUnxwjOzTOqy+/Lpxsgjb8mJn1EQNbCDAvt89O4uzL5kw==
+
dependencies:
+
"@rollup/pluginutils" "^3.1.0"
+
"@types/resolve" "1.17.1"
builtin-modules "^3.1.0"
+
deepmerge "^4.2.2"
is-module "^1.0.0"
-
resolve "^1.14.2"
+
resolve "^1.19.0"
-
"@rollup/pluginutils@^3.0.8":
-
version "3.0.9"
-
resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.0.9.tgz#aa6adca2c45e5a1b950103a999e3cddfe49fd775"
-
integrity sha512-TLZavlfPAZYI7v33wQh4mTP6zojne14yok3DNSLcjoG/Hirxfkonn6icP5rrNWRn8nZsirJBFFpijVOJzkUHDg==
+
"@rollup/pluginutils@^3.1.0":
+
version "3.1.0"
+
resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b"
+
integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==
dependencies:
"@types/estree" "0.0.39"
estree-walker "^1.0.1"
-
micromatch "^4.0.2"
+
picomatch "^2.2.2"
"@types/estree@0.0.39":
version "0.0.39"
···
integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==
"@types/node@*":
-
version "13.11.1"
-
resolved "https://registry.yarnpkg.com/@types/node/-/node-13.11.1.tgz#49a2a83df9d26daacead30d0ccc8762b128d53c7"
-
integrity sha512-eWQGP3qtxwL8FGneRrC5DwrJLGN4/dH1clNTuLfN81HCrxVtxRjygDTUoZJ5ASlDEeo0ppYFQjQIlXhtXpOn6g==
+
version "14.14.5"
+
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.5.tgz#e92d3b8f76583efa26c1a63a21c9d3c1143daa29"
+
integrity sha512-H5Wn24s/ZOukBmDn03nnGTp18A60ny9AmCwnEcgJiTgSGsCO7k+NWP7zjCCbhlcnVCoI+co52dUAt9GMhOSULw==
+
+
"@types/parse-json@^4.0.0":
+
version "4.0.0"
+
resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
+
integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
-
"@types/resolve@0.0.8":
-
version "0.0.8"
-
resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-0.0.8.tgz#f26074d238e02659e323ce1a13d041eee280e194"
-
integrity sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==
+
"@types/resolve@1.17.1":
+
version "1.17.1"
+
resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6"
+
integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==
dependencies:
"@types/node" "*"
-
acorn-walk@^7.1.1:
-
version "7.1.1"
-
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.1.1.tgz#345f0dffad5c735e7373d2fec9a1023e6a44b83e"
-
integrity sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ==
+
aggregate-error@^3.0.0:
+
version "3.1.0"
+
resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a"
+
integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==
+
dependencies:
+
clean-stack "^2.0.0"
+
indent-string "^4.0.0"
+
+
ansi-colors@^4.1.1:
+
version "4.1.1"
+
resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348"
+
integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==
+
+
ansi-escapes@^4.3.0:
+
version "4.3.1"
+
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61"
+
integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==
+
dependencies:
+
type-fest "^0.11.0"
+
+
ansi-regex@^5.0.0:
+
version "5.0.0"
+
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
+
integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==
+
+
ansi-regex@^6.0.1:
+
version "6.0.1"
+
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a"
+
integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==
+
+
ansi-styles@^3.2.1:
+
version "3.2.1"
+
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
+
integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
+
dependencies:
+
color-convert "^1.9.0"
+
+
ansi-styles@^4.0.0, ansi-styles@^4.1.0:
+
version "4.3.0"
+
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
+
integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
+
dependencies:
+
color-convert "^2.0.1"
+
+
ansi-styles@^6.0.0:
+
version "6.1.0"
+
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.1.0.tgz#87313c102b8118abd57371afab34618bf7350ed3"
+
integrity sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==
+
+
astral-regex@^2.0.0:
+
version "2.0.0"
+
resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
+
integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
braces@^3.0.1:
version "3.0.2"
···
resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484"
integrity sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==
+
callsites@^3.0.0:
+
version "3.1.0"
+
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
+
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
+
+
chalk@^2.0.0:
+
version "2.4.2"
+
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
+
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
+
dependencies:
+
ansi-styles "^3.2.1"
+
escape-string-regexp "^1.0.5"
+
supports-color "^5.3.0"
+
+
chalk@^4.0.0:
+
version "4.1.0"
+
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a"
+
integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==
+
dependencies:
+
ansi-styles "^4.1.0"
+
supports-color "^7.1.0"
+
+
ci-info@^2.0.0:
+
version "2.0.0"
+
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"
+
integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
+
+
clean-stack@^2.0.0:
+
version "2.2.0"
+
resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
+
integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
+
+
cli-cursor@^3.1.0:
+
version "3.1.0"
+
resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"
+
integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==
+
dependencies:
+
restore-cursor "^3.1.0"
+
+
cli-truncate@^2.1.0:
+
version "2.1.0"
+
resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7"
+
integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==
+
dependencies:
+
slice-ansi "^3.0.0"
+
string-width "^4.2.0"
+
+
cli-truncate@^3.1.0:
+
version "3.1.0"
+
resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-3.1.0.tgz#3f23ab12535e3d73e839bb43e73c9de487db1389"
+
integrity sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==
+
dependencies:
+
slice-ansi "^5.0.0"
+
string-width "^5.0.0"
+
+
color-convert@^1.9.0:
+
version "1.9.3"
+
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
+
integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
+
dependencies:
+
color-name "1.1.3"
+
+
color-convert@^2.0.1:
+
version "2.0.1"
+
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
+
integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
+
dependencies:
+
color-name "~1.1.4"
+
+
color-name@1.1.3:
+
version "1.1.3"
+
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
+
integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
+
+
color-name@~1.1.4:
+
version "1.1.4"
+
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
+
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+
+
colorette@^2.0.16:
+
version "2.0.16"
+
resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da"
+
integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==
+
+
commander@^8.3.0:
+
version "8.3.0"
+
resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66"
+
integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==
+
+
compare-versions@^3.6.0:
+
version "3.6.0"
+
resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62"
+
integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==
+
+
cosmiconfig@^7.0.0:
+
version "7.0.0"
+
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3"
+
integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==
+
dependencies:
+
"@types/parse-json" "^4.0.0"
+
import-fresh "^3.2.1"
+
parse-json "^5.0.0"
+
path-type "^4.0.0"
+
yaml "^1.10.0"
+
+
cross-spawn@^7.0.3:
+
version "7.0.3"
+
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
+
integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
+
dependencies:
+
path-key "^3.1.0"
+
shebang-command "^2.0.0"
+
which "^2.0.1"
+
+
debug@^4.3.2:
+
version "4.3.3"
+
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664"
+
integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==
+
dependencies:
+
ms "2.1.2"
+
+
deepmerge@^4.2.2:
+
version "4.2.2"
+
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955"
+
integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==
+
+
emoji-regex@^8.0.0:
+
version "8.0.0"
+
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
+
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
+
+
emoji-regex@^9.2.2:
+
version "9.2.2"
+
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72"
+
integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==
+
+
enquirer@^2.3.6:
+
version "2.3.6"
+
resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d"
+
integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==
+
dependencies:
+
ansi-colors "^4.1.1"
+
+
error-ex@^1.3.1:
+
version "1.3.2"
+
resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
+
integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
+
dependencies:
+
is-arrayish "^0.2.1"
+
+
escape-string-regexp@^1.0.5:
+
version "1.0.5"
+
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+
integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
+
estree-walker@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700"
integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==
+
execa@^5.1.1:
+
version "5.1.1"
+
resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"
+
integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==
+
dependencies:
+
cross-spawn "^7.0.3"
+
get-stream "^6.0.0"
+
human-signals "^2.1.0"
+
is-stream "^2.0.0"
+
merge-stream "^2.0.0"
+
npm-run-path "^4.0.1"
+
onetime "^5.1.2"
+
signal-exit "^3.0.3"
+
strip-final-newline "^2.0.0"
+
fill-range@^7.0.1:
version "7.0.1"
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
···
dependencies:
to-regex-range "^5.0.1"
-
fsevents@~2.1.2:
-
version "2.1.2"
-
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805"
-
integrity sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==
+
find-up@^5.0.0:
+
version "5.0.0"
+
resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
+
integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
+
dependencies:
+
locate-path "^6.0.0"
+
path-exists "^4.0.0"
-
graphql@^15.0.0:
-
version "15.0.0"
-
resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.0.0.tgz#042a5eb5e2506a2e2111ce41eb446a8e570b8be9"
-
integrity sha512-ZyVO1xIF9F+4cxfkdhOJINM+51B06Friuv4M66W7HzUOeFd+vNzUn4vtswYINPi6sysjf1M2Ri/rwZALqgwbaQ==
+
find-versions@^4.0.0:
+
version "4.0.0"
+
resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-4.0.0.tgz#3c57e573bf97769b8cb8df16934b627915da4965"
+
integrity sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==
+
dependencies:
+
semver-regex "^3.1.2"
+
+
fsevents@~2.3.2:
+
version "2.3.2"
+
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
+
integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
+
+
function-bind@^1.1.1:
+
version "1.1.1"
+
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
+
integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+
+
get-stream@^6.0.0:
+
version "6.0.1"
+
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
+
integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
+
+
"graphql-14@npm:graphql@^14.5.8":
+
version "14.7.0"
+
resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.7.0.tgz#7fa79a80a69be4a31c27dda824dc04dac2035a72"
+
integrity sha512-l0xWZpoPKpppFzMfvVyFmp9vLN7w/ZZJPefUicMCepfJeQ8sMcztloGYY9DfjVPo6tIUDzU5Hw3MUbIjj9AVVA==
+
dependencies:
+
iterall "^1.2.2"
+
+
"graphql-15@npm:graphql@^16.1.0":
+
version "16.1.0"
+
resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.1.0.tgz#83bebeae6e119766d04966f09de9305be7fd44e5"
+
integrity sha512-+PIjmhqGHMIxtnlEirRXDHIzs0cAHAozKG5M2w2N4TnS8VzCxO3bbv1AW9UTeycBfl2QsPduxcVrBvANFKQhiw==
+
+
"graphql-16@npm:graphql@^15.8.0":
+
version "15.8.0"
+
resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.8.0.tgz#33410e96b012fa3bdb1091cc99a94769db212b38"
+
integrity sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw==
+
+
has-flag@^3.0.0:
+
version "3.0.0"
+
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
+
integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
+
+
has-flag@^4.0.0:
+
version "4.0.0"
+
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
+
integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
+
+
has@^1.0.3:
+
version "1.0.3"
+
resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
+
integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
+
dependencies:
+
function-bind "^1.1.1"
+
+
human-signals@^2.1.0:
+
version "2.1.0"
+
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
+
integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
+
+
husky-v4@^4.3.0:
+
version "4.3.8"
+
resolved "https://registry.yarnpkg.com/husky-v4/-/husky-v4-4.3.8.tgz#af3be56a8b62b941371b5190e265f76dd1af2e57"
+
integrity sha512-M7A9u/t6BnT/qbDzKb7SdXhr8qLTGTkqZL6YLDDM20jfCdmpIMEuO384LvYXSBcgv50oIgNWI/IaO3g4A4ShjA==
+
dependencies:
+
chalk "^4.0.0"
+
ci-info "^2.0.0"
+
compare-versions "^3.6.0"
+
cosmiconfig "^7.0.0"
+
find-versions "^4.0.0"
+
opencollective-postinstall "^2.0.2"
+
pkg-dir "^5.0.0"
+
please-upgrade-node "^3.2.0"
+
slash "^3.0.0"
+
which-pm-runs "^1.0.0"
+
+
import-fresh@^3.2.1:
+
version "3.2.1"
+
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66"
+
integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==
+
dependencies:
+
parent-module "^1.0.0"
+
resolve-from "^4.0.0"
+
+
indent-string@^4.0.0:
+
version "4.0.0"
+
resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"
+
integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
+
+
is-arrayish@^0.2.1:
+
version "0.2.1"
+
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
+
integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
+
+
is-core-module@^2.2.0:
+
version "2.8.0"
+
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548"
+
integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==
+
dependencies:
+
has "^1.0.3"
+
+
is-fullwidth-code-point@^3.0.0:
+
version "3.0.0"
+
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
+
integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
+
+
is-fullwidth-code-point@^4.0.0:
+
version "4.0.0"
+
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88"
+
integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==
is-module@^1.0.0:
version "1.0.0"
···
resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
-
micromatch@^4.0.2:
-
version "4.0.2"
-
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259"
-
integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==
+
is-stream@^2.0.0:
+
version "2.0.0"
+
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3"
+
integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==
+
+
isexe@^2.0.0:
+
version "2.0.0"
+
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
+
integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
+
+
iterall@^1.2.2:
+
version "1.3.0"
+
resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.3.0.tgz#afcb08492e2915cbd8a0884eb93a8c94d0d72fea"
+
integrity sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==
+
+
js-tokens@^4.0.0:
+
version "4.0.0"
+
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
+
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
+
+
json-parse-even-better-errors@^2.3.0:
+
version "2.3.1"
+
resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
+
integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
+
+
lilconfig@2.0.4:
+
version "2.0.4"
+
resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.4.tgz#f4507d043d7058b380b6a8f5cb7bcd4b34cee082"
+
integrity sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==
+
+
lines-and-columns@^1.1.6:
+
version "1.1.6"
+
resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"
+
integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=
+
+
lint-staged@^12.1.2:
+
version "12.1.2"
+
resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-12.1.2.tgz#90c571927e1371fc133e720671dd7989eab53f74"
+
integrity sha512-bSMcQVqMW98HLLLR2c2tZ+vnDCnx4fd+0QJBQgN/4XkdspGRPc8DGp7UuOEBe1ApCfJ+wXXumYnJmU+wDo7j9A==
+
dependencies:
+
cli-truncate "^3.1.0"
+
colorette "^2.0.16"
+
commander "^8.3.0"
+
debug "^4.3.2"
+
enquirer "^2.3.6"
+
execa "^5.1.1"
+
lilconfig "2.0.4"
+
listr2 "^3.13.3"
+
micromatch "^4.0.4"
+
normalize-path "^3.0.0"
+
object-inspect "^1.11.0"
+
string-argv "^0.3.1"
+
supports-color "^9.0.2"
+
yaml "^1.10.2"
+
+
listr2@^3.13.3:
+
version "3.13.5"
+
resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.13.5.tgz#105a813f2eb2329c4aae27373a281d610ee4985f"
+
integrity sha512-3n8heFQDSk+NcwBn3CgxEibZGaRzx+pC64n3YjpMD1qguV4nWus3Al+Oo3KooqFKTQEJ1v7MmnbnyyNspgx3NA==
+
dependencies:
+
cli-truncate "^2.1.0"
+
colorette "^2.0.16"
+
log-update "^4.0.0"
+
p-map "^4.0.0"
+
rfdc "^1.3.0"
+
rxjs "^7.4.0"
+
through "^2.3.8"
+
wrap-ansi "^7.0.0"
+
+
locate-path@^6.0.0:
+
version "6.0.0"
+
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
+
integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
+
dependencies:
+
p-locate "^5.0.0"
+
+
log-update@^4.0.0:
+
version "4.0.0"
+
resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1"
+
integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==
+
dependencies:
+
ansi-escapes "^4.3.0"
+
cli-cursor "^3.1.0"
+
slice-ansi "^4.0.0"
+
wrap-ansi "^6.2.0"
+
+
merge-stream@^2.0.0:
+
version "2.0.0"
+
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
+
integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
+
+
micromatch@^4.0.4:
+
version "4.0.4"
+
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9"
+
integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==
dependencies:
braces "^3.0.1"
-
picomatch "^2.0.5"
+
picomatch "^2.2.3"
+
+
mimic-fn@^2.1.0:
+
version "2.1.0"
+
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
+
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
+
+
ms@2.1.2:
+
version "2.1.2"
+
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
+
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+
+
normalize-path@^3.0.0:
+
version "3.0.0"
+
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
+
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
+
+
npm-run-path@^4.0.1:
+
version "4.0.1"
+
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
+
integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
+
dependencies:
+
path-key "^3.0.0"
+
+
object-inspect@^1.11.0:
+
version "1.11.1"
+
resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.1.tgz#d4bd7d7de54b9a75599f59a00bd698c1f1c6549b"
+
integrity sha512-If7BjFlpkzzBeV1cqgT3OSWT3azyoxDGajR+iGnFBfVV2EWyDyWaZZW2ERDjUaY2QM8i5jI3Sj7mhsM4DDAqWA==
+
+
onetime@^5.1.0, onetime@^5.1.2:
+
version "5.1.2"
+
resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
+
integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
+
dependencies:
+
mimic-fn "^2.1.0"
+
+
opencollective-postinstall@^2.0.2:
+
version "2.0.3"
+
resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259"
+
integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==
+
+
p-limit@^3.0.2:
+
version "3.1.0"
+
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
+
integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
+
dependencies:
+
yocto-queue "^0.1.0"
+
+
p-locate@^5.0.0:
+
version "5.0.0"
+
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
+
integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
+
dependencies:
+
p-limit "^3.0.2"
+
+
p-map@^4.0.0:
+
version "4.0.0"
+
resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b"
+
integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==
+
dependencies:
+
aggregate-error "^3.0.0"
+
+
parent-module@^1.0.0:
+
version "1.0.1"
+
resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
+
integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
+
dependencies:
+
callsites "^3.0.0"
+
+
parse-json@^5.0.0:
+
version "5.1.0"
+
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.1.0.tgz#f96088cdf24a8faa9aea9a009f2d9d942c999646"
+
integrity sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==
+
dependencies:
+
"@babel/code-frame" "^7.0.0"
+
error-ex "^1.3.1"
+
json-parse-even-better-errors "^2.3.0"
+
lines-and-columns "^1.1.6"
+
+
path-exists@^4.0.0:
+
version "4.0.0"
+
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
+
integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
+
+
path-key@^3.0.0, path-key@^3.1.0:
+
version "3.1.1"
+
resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
+
integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
path-parse@^1.0.6:
version "1.0.6"
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
-
picomatch@^2.0.5:
-
version "2.2.2"
-
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
-
integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
+
path-type@^4.0.0:
+
version "4.0.0"
+
resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
+
integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
+
+
picomatch@^2.2.2, picomatch@^2.2.3:
+
version "2.3.0"
+
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972"
+
integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==
+
+
pkg-dir@^5.0.0:
+
version "5.0.0"
+
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-5.0.0.tgz#a02d6aebe6ba133a928f74aec20bafdfe6b8e760"
+
integrity sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==
+
dependencies:
+
find-up "^5.0.0"
-
resolve@^1.14.2:
-
version "1.15.1"
-
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.1.tgz#27bdcdeffeaf2d6244b95bb0f9f4b4653451f3e8"
-
integrity sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==
+
please-upgrade-node@^3.2.0:
+
version "3.2.0"
+
resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942"
+
integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==
dependencies:
+
semver-compare "^1.0.0"
+
+
prettier@^2.5.1:
+
version "2.5.1"
+
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.5.1.tgz#fff75fa9d519c54cf0fce328c1017d94546bc56a"
+
integrity sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==
+
+
resolve-from@^4.0.0:
+
version "4.0.0"
+
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
+
integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
+
+
resolve@^1.19.0:
+
version "1.20.0"
+
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
+
integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==
+
dependencies:
+
is-core-module "^2.2.0"
path-parse "^1.0.6"
-
rollup@^2.6.1:
-
version "2.6.1"
-
resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.6.1.tgz#8354e67caa7b8bf24c2488d9e2f64da2be62eebe"
-
integrity sha512-1RhFDRJeg027YjBO6+JxmVWkEZY0ASztHhoEUEWxOwkh4mjO58TFD6Uo7T7Y3FbmDpRTfKhM5NVxJyimCn0Elg==
+
restore-cursor@^3.1.0:
+
version "3.1.0"
+
resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"
+
integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==
+
dependencies:
+
onetime "^5.1.0"
+
signal-exit "^3.0.2"
+
+
rfdc@^1.3.0:
+
version "1.3.0"
+
resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b"
+
integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==
+
+
rollup@^2.61.1:
+
version "2.61.1"
+
resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.61.1.tgz#1a5491f84543cf9e4caf6c61222d9a3f8f2ba454"
+
integrity sha512-BbTXlEvB8d+XFbK/7E5doIcRtxWPRiqr0eb5vQ0+2paMM04Ye4PZY5nHOQef2ix24l/L0SpLd5hwcH15QHPdvA==
optionalDependencies:
-
fsevents "~2.1.2"
+
fsevents "~2.3.2"
+
+
rxjs@^7.4.0:
+
version "7.4.0"
+
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.4.0.tgz#a12a44d7eebf016f5ff2441b87f28c9a51cebc68"
+
integrity sha512-7SQDi7xeTMCJpqViXh8gL/lebcwlp3d831F05+9B44A4B0WfsEwUQHR64gsH1kvJ+Ep/J9K2+n1hVl1CsGN23w==
+
dependencies:
+
tslib "~2.1.0"
+
+
semver-compare@^1.0.0:
+
version "1.0.0"
+
resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
+
integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w=
+
+
semver-regex@^3.1.2:
+
version "3.1.3"
+
resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-3.1.3.tgz#b2bcc6f97f63269f286994e297e229b6245d0dc3"
+
integrity sha512-Aqi54Mk9uYTjVexLnR67rTyBusmwd04cLkHy9hNvk3+G3nT2Oyg7E0l4XVbOaNwIvQ3hHeYxGcyEy+mKreyBFQ==
+
+
shebang-command@^2.0.0:
+
version "2.0.0"
+
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
+
integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
+
dependencies:
+
shebang-regex "^3.0.0"
+
+
shebang-regex@^3.0.0:
+
version "3.0.0"
+
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
+
integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
+
+
signal-exit@^3.0.2, signal-exit@^3.0.3:
+
version "3.0.6"
+
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz#24e630c4b0f03fea446a2bd299e62b4a6ca8d0af"
+
integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==
+
+
slash@^3.0.0:
+
version "3.0.0"
+
resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
+
integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
+
+
slice-ansi@^3.0.0:
+
version "3.0.0"
+
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787"
+
integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==
+
dependencies:
+
ansi-styles "^4.0.0"
+
astral-regex "^2.0.0"
+
is-fullwidth-code-point "^3.0.0"
+
+
slice-ansi@^4.0.0:
+
version "4.0.0"
+
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b"
+
integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==
+
dependencies:
+
ansi-styles "^4.0.0"
+
astral-regex "^2.0.0"
+
is-fullwidth-code-point "^3.0.0"
+
+
slice-ansi@^5.0.0:
+
version "5.0.0"
+
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a"
+
integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==
+
dependencies:
+
ansi-styles "^6.0.0"
+
is-fullwidth-code-point "^4.0.0"
+
+
string-argv@^0.3.1:
+
version "0.3.1"
+
resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da"
+
integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==
+
+
string-width@^4.1.0, string-width@^4.2.0:
+
version "4.2.0"
+
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5"
+
integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==
+
dependencies:
+
emoji-regex "^8.0.0"
+
is-fullwidth-code-point "^3.0.0"
+
strip-ansi "^6.0.0"
+
+
string-width@^5.0.0:
+
version "5.0.1"
+
resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.0.1.tgz#0d8158335a6cfd8eb95da9b6b262ce314a036ffd"
+
integrity sha512-5ohWO/M4//8lErlUUtrFy3b11GtNOuMOU0ysKCDXFcfXuuvUXu95akgj/i8ofmaGdN0hCqyl6uu9i8dS/mQp5g==
+
dependencies:
+
emoji-regex "^9.2.2"
+
is-fullwidth-code-point "^4.0.0"
+
strip-ansi "^7.0.1"
+
+
strip-ansi@^6.0.0:
+
version "6.0.0"
+
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
+
integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==
+
dependencies:
+
ansi-regex "^5.0.0"
+
+
strip-ansi@^7.0.1:
+
version "7.0.1"
+
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2"
+
integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==
+
dependencies:
+
ansi-regex "^6.0.1"
+
+
strip-final-newline@^2.0.0:
+
version "2.0.0"
+
resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
+
integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
+
+
supports-color@^5.3.0:
+
version "5.5.0"
+
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
+
integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
+
dependencies:
+
has-flag "^3.0.0"
+
+
supports-color@^7.1.0:
+
version "7.2.0"
+
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
+
integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
+
dependencies:
+
has-flag "^4.0.0"
+
+
supports-color@^9.0.2:
+
version "9.2.1"
+
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-9.2.1.tgz#599dc9d45acf74c6176e0d880bab1d7d718fe891"
+
integrity sha512-Obv7ycoCTG51N7y175StI9BlAXrmgZrFhZOb0/PyjHBher/NmsdBgbbQ1Inhq+gIhz6+7Gb+jWF2Vqi7Mf1xnQ==
+
+
through@^2.3.8:
+
version "2.3.8"
+
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
+
integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
to-regex-range@^5.0.1:
version "5.0.1"
···
integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
dependencies:
is-number "^7.0.0"
+
+
tslib@~2.1.0:
+
version "2.1.0"
+
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a"
+
integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==
+
+
type-fest@^0.11.0:
+
version "0.11.0"
+
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1"
+
integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==
+
+
which-pm-runs@^1.0.0:
+
version "1.0.0"
+
resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb"
+
integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=
+
+
which@^2.0.1:
+
version "2.0.2"
+
resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
+
integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
+
dependencies:
+
isexe "^2.0.0"
+
+
wrap-ansi@^6.2.0:
+
version "6.2.0"
+
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53"
+
integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==
+
dependencies:
+
ansi-styles "^4.0.0"
+
string-width "^4.1.0"
+
strip-ansi "^6.0.0"
+
+
wrap-ansi@^7.0.0:
+
version "7.0.0"
+
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
+
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
+
dependencies:
+
ansi-styles "^4.0.0"
+
string-width "^4.1.0"
+
strip-ansi "^6.0.0"
+
+
yaml@^1.10.0, yaml@^1.10.2:
+
version "1.10.2"
+
resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
+
integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
+
+
yocto-queue@^0.1.0:
+
version "0.1.0"
+
resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
+
integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==