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

Add automatic import-map generation across graphql@14|15|16 (#5)

* Upgrade dependencies and transitive dependencies

* Add separate installs for graphql v14, v15, and v16

* Rewrite import map generator to automatically resolve conflicts

This enables the import map generator to automatically trace
graphql v14, v15, and v16 and finds the most specific common
import declaration between all three of them, if possible. As
a bonus, it now excludes exports that aren't available in all
three versions.

* Add peerDependencies entry for graphql to restrict versions

* Delete import-map-overrides.json

* Add warning and remove importMapOverrides from plugin

* Update README

* Fix index files with extension addition

When an extension is added, we must ensure that we add it
to the index module and not to a directory.

+3
README.md
···
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
-14
import-map-overrides.json
···
-
{
-
"visitWithTypeInfo": {
-
"local": "visitWithTypeInfo",
-
"from": "graphql"
-
},
-
"executeSync": {
-
"local": "executeSync",
-
"from": "graphql"
-
},
-
"subscribe": {
-
"local": "subscribe",
-
"from": "graphql/subscription"
-
}
-
}
+14 -5
index.js
···
}
const importMap = require('./import-map.json');
-
const importMapOverrides = require('./import-map-overrides.json');
+
const indexRe = /[\\/]index$/;
const PKG_NAME = 'graphql';
return {
···
const imported = specifier.imported.name;
let declaration = importMap[imported];
-
if (importMapOverrides[imported]) {
-
declaration = importMapOverrides[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.'
+
);
}
-
const from = declaration ? declaration.from : PKG_NAME;
+
let from = declaration ? declaration.from : PKG_NAME;
if (!acc[from]) {
-
acc[from] = t.importDeclaration([], t.stringLiteral(from === 'graphql' ? from : from + extension));
+
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 localName = specifier.local.name;
+16 -6
package.json
···
"modular",
"tree-shaking"
],
+
"peerDependencies": {
+
"graphql": "^14.0.0 || ^15.0.0 || ^16.0.0"
+
},
+
"peerDependenciesMeta": {
+
"graphql": {
+
"optional": true
+
}
+
},
"devDependencies": {
-
"@rollup/plugin-node-resolve": "^10.0.0",
-
"graphql": "^15.4.0",
-
"husky": "^4.3.0",
-
"lint-staged": "^10.5.0",
-
"prettier": "^2.1.2",
-
"rollup": "^2.32.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}": [
+116 -89
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;
-
};
-
-
return {
-
name: 'generate-import-map',
-
transform(code, id) {
-
const relative = path.relative(basepath, id);
-
const dirname = path.dirname(relative);
-
const exports = new Map();
-
-
this.parse(code)
-
.body.filter((x) => x.type === 'ExportNamedDeclaration')
-
.forEach((node) => {
-
const source = node.source ? resolveFile(dirname, node.source.value) : relative;
+
node.specifiers.forEach((specifier) => {
+
const { name: local } = specifier.exported;
+
exports[local] = { local, from };
+
});
-
node.specifiers.forEach((specifier) => {
-
exports.set(specifier.exported.name, {
-
local: specifier.local.name,
-
from: source,
-
});
-
});
-
-
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,
+
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;
+
},
+
},
+
],
+
});
+
+
await bundle.generate({});
+
return exportMap;
+
}
-
map.set(relative, exports);
-
return null;
-
},
-
renderChunk(_code, chunk) {
-
const id = chunk.facadeModuleId;
-
const relative = path.relative(basepath, id);
+
function isDeclarationEqual(a, b) {
+
return a.local === b.local && a.from === b.from;
+
}
-
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');
+
function mergeTraces(traces) {
+
const trace = {};
-
acc[name] = {
-
local: declaration.local,
-
from: path.join(dirname, filename),
-
};
-
}
+
// 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;
-
return acc;
-
}, {});
+
const exports = {};
-
this.emitFile({
-
type: 'asset',
-
filename,
-
name: filename,
-
source: JSON.stringify(importMap, null, 2),
-
});
+
// 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;
+
});
}
-
},
+
}
+
+
if (Object.keys(exports).length) trace[id] = exports;
+
}
+
+
// 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;
+
}
+
+
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').nodeResolve(),
-
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);
});
+253 -223
yarn.lock
···
chalk "^2.0.0"
js-tokens "^4.0.0"
-
"@rollup/plugin-node-resolve@^10.0.0":
-
version "10.0.0"
-
resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-10.0.0.tgz#44064a2b98df7530e66acf8941ff262fc9b4ead8"
-
integrity sha512-sNijGta8fqzwA1VwUEtTvWCx2E7qC70NMsDh4ZG13byAXYigBNZMxALhKUSycBks5gupJdq0lFrKumFrRZ8H3A==
+
"@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.17.0"
+
resolve "^1.19.0"
"@rollup/pluginutils@^3.1.0":
version "3.1.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"
···
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"
···
escape-string-regexp "^1.0.5"
supports-color "^5.3.0"
-
chalk@^4.0.0, chalk@^4.1.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:
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-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
-
commander@^6.0.0:
-
version "6.2.0"
-
resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.0.tgz#b990bfb8ac030aedc6d11bc04d1488ffef56db75"
-
integrity sha512-zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q==
+
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"
···
path-type "^4.0.0"
yaml "^1.10.0"
-
cross-spawn@^7.0.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==
···
shebang-command "^2.0.0"
which "^2.0.1"
-
debug@^4.1.1:
-
version "4.2.0"
-
resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1"
-
integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==
+
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"
-
-
dedent@^0.7.0:
-
version "0.7.0"
-
resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
-
integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=
deepmerge@^4.2.2:
version "4.2.2"
···
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
-
end-of-stream@^1.1.0:
-
version "1.4.4"
-
resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
-
integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
-
dependencies:
-
once "^1.4.0"
+
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/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700"
integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==
-
execa@^4.0.3:
-
version "4.1.0"
-
resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a"
-
integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==
+
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.0"
-
get-stream "^5.0.0"
-
human-signals "^1.1.1"
+
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.0"
-
onetime "^5.1.0"
-
signal-exit "^3.0.2"
+
npm-run-path "^4.0.1"
+
onetime "^5.1.2"
+
signal-exit "^3.0.3"
strip-final-newline "^2.0.0"
-
figures@^3.2.0:
-
version "3.2.0"
-
resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af"
-
integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==
-
dependencies:
-
escape-string-regexp "^1.0.5"
-
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"
-
find-up@^4.0.0:
-
version "4.1.0"
-
resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
-
integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
+
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 "^5.0.0"
+
locate-path "^6.0.0"
path-exists "^4.0.0"
-
find-versions@^3.2.0:
-
version "3.2.0"
-
resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-3.2.0.tgz#10297f98030a786829681690545ef659ed1d254e"
-
integrity sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==
+
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 "^2.0.0"
+
semver-regex "^3.1.2"
-
fsevents@~2.1.2:
-
version "2.1.3"
-
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e"
-
integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==
+
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-own-enumerable-property-symbols@^3.0.0:
-
version "3.0.2"
-
resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664"
-
integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==
+
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==
-
get-stream@^5.0.0:
-
version "5.2.0"
-
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3"
-
integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==
+
"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:
-
pump "^3.0.0"
+
iterall "^1.2.2"
-
graphql@^15.4.0:
-
version "15.4.0"
-
resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.4.0.tgz#e459dea1150da5a106486ba7276518b5295a4347"
-
integrity sha512-EB3zgGchcabbsU9cFe1j+yxdzKQKAbGUWRb13DsrsMN1yyfmmIq+2+L5MqVWcDCE4V89R5AyUOi7sMOGxdsYtA==
+
"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"
···
dependencies:
function-bind "^1.1.1"
-
human-signals@^1.1.1:
-
version "1.1.1"
-
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3"
-
integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==
+
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@^4.3.0:
-
version "4.3.0"
-
resolved "https://registry.yarnpkg.com/husky/-/husky-4.3.0.tgz#0b2ec1d66424e9219d359e26a51c58ec5278f0de"
-
integrity sha512-tTMeLCLqSBqnflBZnlVDhpaIMucSGaYyX6855jM4AguGeWCeSzNdb1mfyWduTZ3pe3SJVvVWGL0jO1iKZVPfTA==
+
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 "^3.2.0"
+
find-versions "^4.0.0"
opencollective-postinstall "^2.0.2"
-
pkg-dir "^4.2.0"
+
pkg-dir "^5.0.0"
please-upgrade-node "^3.2.0"
slash "^3.0.0"
which-pm-runs "^1.0.0"
···
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
-
is-core-module@^2.0.0:
-
version "2.0.0"
-
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.0.0.tgz#58531b70aed1db7c0e8d4eb1a0a2d1ddd64bd12d"
-
integrity sha512-jq1AH6C8MuteOoBPwkxHafmByhL9j5q4OaPGdbuD+ZtQJVzH+i6E3BJDQcBA09k57i2Hh2yQbEG8yObZ0jdlWw==
+
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"
···
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==
-
is-obj@^1.0.1:
-
version "1.0.1"
-
resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
-
integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8=
-
-
is-regexp@^1.0.0:
-
version "1.0.0"
-
resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069"
-
integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk=
-
is-stream@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3"
···
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/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@^10.5.0:
-
version "10.5.0"
-
resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.5.0.tgz#c923c2447a84c595874f3de696778736227e7a7a"
-
integrity sha512-gjC9+HGkBubOF+Yyoj9pd52Qfm/kYB+dRX1UOgWjHKvSDYl+VHkZXlBMlqSZa2cH3Kp5/uNL480sV6e2dTgXSg==
+
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:
-
chalk "^4.1.0"
-
cli-truncate "^2.1.0"
-
commander "^6.0.0"
-
cosmiconfig "^7.0.0"
-
debug "^4.1.1"
-
dedent "^0.7.0"
+
cli-truncate "^3.1.0"
+
colorette "^2.0.16"
+
commander "^8.3.0"
+
debug "^4.3.2"
enquirer "^2.3.6"
-
execa "^4.0.3"
-
listr2 "^2.6.0"
-
log-symbols "^4.0.0"
-
micromatch "^4.0.2"
+
execa "^5.1.1"
+
lilconfig "2.0.4"
+
listr2 "^3.13.3"
+
micromatch "^4.0.4"
normalize-path "^3.0.0"
-
please-upgrade-node "^3.2.0"
-
string-argv "0.3.1"
-
stringify-object "^3.3.0"
+
object-inspect "^1.11.0"
+
string-argv "^0.3.1"
+
supports-color "^9.0.2"
+
yaml "^1.10.2"
-
listr2@^2.6.0:
-
version "2.6.2"
-
resolved "https://registry.yarnpkg.com/listr2/-/listr2-2.6.2.tgz#4912eb01e1e2dd72ec37f3895a56bf2622d6f36a"
-
integrity sha512-6x6pKEMs8DSIpA/tixiYY2m/GcbgMplMVmhQAaLFxEtNSKLeWTGjtmU57xvv6QCm2XcqzyNXL/cTSVf4IChCRA==
+
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:
-
chalk "^4.1.0"
cli-truncate "^2.1.0"
-
figures "^3.2.0"
-
indent-string "^4.0.0"
+
colorette "^2.0.16"
log-update "^4.0.0"
p-map "^4.0.0"
-
rxjs "^6.6.2"
+
rfdc "^1.3.0"
+
rxjs "^7.4.0"
through "^2.3.8"
+
wrap-ansi "^7.0.0"
-
locate-path@^5.0.0:
-
version "5.0.0"
-
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
-
integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
-
dependencies:
-
p-locate "^4.1.0"
-
-
log-symbols@^4.0.0:
-
version "4.0.0"
-
resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920"
-
integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==
+
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:
-
chalk "^4.0.0"
+
p-locate "^5.0.0"
log-update@^4.0.0:
version "4.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.2:
-
version "4.0.2"
-
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259"
-
integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==
+
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/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
-
npm-run-path@^4.0.0:
+
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"
-
once@^1.3.1, once@^1.4.0:
-
version "1.4.0"
-
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
-
integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
-
dependencies:
-
wrappy "1"
+
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.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==
···
resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259"
integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==
-
p-limit@^2.2.0:
-
version "2.3.0"
-
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
-
integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
+
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:
-
p-try "^2.0.0"
+
yocto-queue "^0.1.0"
-
p-locate@^4.1.0:
-
version "4.1.0"
-
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
-
integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
+
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 "^2.2.0"
+
p-limit "^3.0.2"
p-map@^4.0.0:
version "4.0.0"
···
integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==
dependencies:
aggregate-error "^3.0.0"
-
-
p-try@^2.0.0:
-
version "2.2.0"
-
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
-
integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
parent-module@^1.0.0:
version "1.0.1"
···
resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
-
picomatch@^2.0.5, picomatch@^2.2.2:
-
version "2.2.2"
-
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
-
integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
+
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@^4.2.0:
-
version "4.2.0"
-
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
-
integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
+
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 "^4.0.0"
+
find-up "^5.0.0"
please-upgrade-node@^3.2.0:
version "3.2.0"
···
dependencies:
semver-compare "^1.0.0"
-
prettier@^2.1.2:
-
version "2.1.2"
-
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.1.2.tgz#3050700dae2e4c8b67c4c3f666cdb8af405e1ce5"
-
integrity sha512-16c7K+x4qVlJg9rEbXl7HEGmQyZlG4R9AgP+oHKRMsMsuk8s+ATStlf1NpDqyBI1HpVyfjLOeMhH2LvuNvV5Vg==
-
-
pump@^3.0.0:
-
version "3.0.0"
-
resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
-
integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
-
dependencies:
-
end-of-stream "^1.1.0"
-
once "^1.3.1"
+
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.17.0:
-
version "1.18.1"
-
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.18.1.tgz#018fcb2c5b207d2a6424aee361c5a266da8f4130"
-
integrity sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==
+
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.0.0"
+
is-core-module "^2.2.0"
path-parse "^1.0.6"
restore-cursor@^3.1.0:
···
onetime "^5.1.0"
signal-exit "^3.0.2"
-
rollup@^2.32.1:
-
version "2.32.1"
-
resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.32.1.tgz#625a92c54f5b4d28ada12d618641491d4dbb548c"
-
integrity sha512-Op2vWTpvK7t6/Qnm1TTh7VjEZZkN8RWgf0DHbkKzQBwNf748YhXbozHVefqpPp/Fuyk/PQPAnYsBxAEtlMvpUw==
+
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@^6.6.2:
-
version "6.6.3"
-
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552"
-
integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==
+
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 "^1.9.0"
+
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@^2.0.0:
-
version "2.0.0"
-
resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-2.0.0.tgz#a93c2c5844539a770233379107b38c7b4ac9d338"
-
integrity sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==
+
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-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
-
signal-exit@^3.0.2:
-
version "3.0.3"
-
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
-
integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
+
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"
···
astral-regex "^2.0.0"
is-fullwidth-code-point "^3.0.0"
-
string-argv@0.3.1:
+
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==
···
is-fullwidth-code-point "^3.0.0"
strip-ansi "^6.0.0"
-
stringify-object@^3.3.0:
-
version "3.3.0"
-
resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629"
-
integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==
+
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:
-
get-own-enumerable-property-symbols "^3.0.0"
-
is-obj "^1.0.1"
-
is-regexp "^1.0.0"
+
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"
···
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"
···
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"
···
dependencies:
is-number "^7.0.0"
-
tslib@^1.9.0:
-
version "1.14.1"
-
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
-
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
+
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"
···
string-width "^4.1.0"
strip-ansi "^6.0.0"
-
wrappy@1:
-
version "1.0.2"
-
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
-
integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
+
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==
-
yaml@^1.10.0:
-
version "1.10.0"
-
resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e"
-
integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==
+
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==