├── .babelrc ├── .gitignore ├── .travis.yml ├── CHANGELOG.md ├── LICENSE ├── README.md ├── index.js ├── package.json ├── test └── index_spec.js └── yarn.lock /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "@babel/preset-env", 5 | { 6 | "targets": { 7 | "browsers": ["last 2 versions"], 8 | "node": "current" 9 | } 10 | } 11 | ] 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | 6 | # Runtime data 7 | pids 8 | *.pid 9 | *.seed 10 | 11 | # Directory for instrumented libs generated by jscoverage/JSCover 12 | lib-cov 13 | 14 | # Coverage directory used by tools like istanbul 15 | coverage 16 | 17 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 18 | .grunt 19 | 20 | # node-waf configuration 21 | .lock-wscript 22 | 23 | # Compiled binary addons (http://nodejs.org/api/addons.html) 24 | build/Release 25 | 26 | # Dependency directory 27 | node_modules 28 | 29 | # Optional npm cache directory 30 | .npm 31 | 32 | # Optional REPL history 33 | .node_repl_history 34 | .idea 35 | 36 | # Compiled javascript files 37 | build/ 38 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: node_js 3 | install: true 4 | cache: yarn 5 | 6 | matrix: 7 | include: 8 | - node_js: '10' 9 | - node_js: '12' 10 | - node_js: '14' 11 | 12 | script: 13 | - | 14 | yarn install && yarn run test 15 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | ## 2.0.3 (2019-03-02) 4 | 5 | ### Fixed 6 | 7 | - process object arguments 8 | 9 | ## 2.0.2 (2019-02-28) 10 | 11 | ### Fixed 12 | 13 | - process arguments passed as variables 14 | 15 | ## 2.0.1 (2018-12-04) 16 | 17 | ### Fixed 18 | 19 | - Correctly process list arguments 20 | 21 | ## 2.0.0 (2018-11-29) 22 | 23 | ### Added 24 | 25 | - @skip and @include directive parsing 26 | 27 | ## 1.3.0 (2018-11-15) 28 | 29 | ### Added 30 | 31 | - excludedFields option 32 | 33 | 34 | ## 1.2.1 (2018-10-12) 35 | 36 | ### Added 37 | 38 | - Updated dev dependencies 39 | 40 | 41 | ## 1.2.0 (2018-10-10) 42 | 43 | ### Added 44 | 45 | - option to parse subfield arguments 46 | 47 | ## 1.1.0 (2018-07-03) 48 | 49 | ### Added 50 | 51 | - IE 11 compatibility via Babel 52 | 53 | ## 1.0.2 (2017-01-24) 54 | 55 | ### Fixed 56 | 57 | - fix `fieldASTs` renamed to `fieldNodes` 58 | - typo in README.md 59 | 60 | ## 1.0.1 (2016-07-31) 61 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Rob Richard 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Deprecation Notice 2 | 3 | There are many use-cases that are not supported by this library, it is recommended to use something else like [graphql-parse-resolve-info](https://www.npmjs.com/search?q=graphql-parse-resolve-info) 4 | 5 | # graphql-fields 6 | Turns GraphQLResolveInfo into a map of the requested fields. Flattens all fragments and duplicated fields into a neat object to easily see which fields were requested at any level. Takes into account any `@include` or `@skip` directives, excluding fields/fragments which are `@include(if: $false)` or `@skip(if: $true)`. 7 | 8 | ## Usage 9 | 10 | Schema Type definition 11 | ```javascript 12 | const graphqlFields = require('graphql-fields'); 13 | const graphql = require('graphql') 14 | 15 | const UserType = new graphql.GraphQLObjectType({ 16 | name: 'User', 17 | fields: { 18 | profile: {type: new graphql.GraphQLObjectType({ 19 | name: 'Profile', 20 | fields: { 21 | firstName: {type: graphql.GraphQLString}, 22 | lastName: {type: graphql.GraphQLString}, 23 | middleName: {type: graphql.GraphQLString}, 24 | nickName: {type: graphql.GraphQLString}, 25 | maidenName: {type: graphql.GraphQLString} 26 | } 27 | }), 28 | email: {type: graphql.GraphQLString}, 29 | id: {type: graphql.GraphQLID} 30 | } 31 | }); 32 | 33 | module.exports = new GraphQLSchema({ 34 | query: new GraphQLObjectType({ 35 | name: 'Query', 36 | fields: () => 37 | Object.assign({ 38 | user: { 39 | type: UserType, 40 | resolve(root, args, context, info) { 41 | console.log( 42 | JSON.stringify(graphqlFields(info), null, 2) 43 | ); 44 | ... 45 | } 46 | } 47 | }) 48 | }) 49 | }) 50 | ``` 51 | 52 | Query 53 | ```graphql 54 | { 55 | user { 56 | ...A 57 | profile { 58 | ...B 59 | firstName 60 | } 61 | } 62 | } 63 | 64 | fragment A on User { 65 | ...C 66 | id, 67 | profile { 68 | lastName 69 | } 70 | } 71 | 72 | Fragment B on Profile { 73 | firstName 74 | nickName @skip(if: true) 75 | } 76 | 77 | Fragment C on User { 78 | email, 79 | profile { 80 | middleName 81 | maidenName @include(if: false) 82 | } 83 | } 84 | ``` 85 | 86 | will log 87 | ```json 88 | { 89 | "profile": { 90 | "firstName": {}, 91 | "lastName": {}, 92 | "middleName": {} 93 | }, 94 | "email": {}, 95 | "id": {} 96 | } 97 | 98 | ``` 99 | ### subfields arguments 100 | 101 | To enable subfields arguments parsing, you'll have to provide an option object to the function. This feature is disable by default. 102 | ```javascript 103 | const graphqlFields = require('graphql-fields'); 104 | const fieldsWithSubFieldsArgs = graphqlFields(info, {}, { processArguments: true }); 105 | ``` 106 | 107 | For each subfield w/ arguments, a `__arguments` property will be created. 108 | It will be an array with the following format: 109 | ```javascript 110 | [ 111 | { 112 | arg1Name: { 113 | kind: ARG1_KIND, 114 | value: ARG1_VALUE, 115 | }, 116 | }, 117 | { 118 | arg2Name: { 119 | kind: ARG2_KIND, 120 | value: ARG2_VALUE, 121 | } 122 | } 123 | ] 124 | ``` 125 | 126 | The kind property is here to help differentiate value cast to strings by javascript clients, such as enum values. 127 | 128 | ### Exclude specific fields 129 | Most of the time we don't need `__typename` to be sent to backend/rest api, we can exclude `__typename` using this: 130 | ```javascript 131 | const graphqlFields = require('graphql-fields'); 132 | const fieldsWithoutTypeName = graphqlFields(info, {}, { excludedFields: ['__typename'] }); 133 | ``` 134 | ## Why 135 | An underlying REST api may only return fields based on query params. 136 | ```graphql 137 | { 138 | user { 139 | profile { 140 | firstName 141 | }, 142 | id 143 | } 144 | } 145 | ``` 146 | should request /api/user?fields=profile,id 147 | 148 | while 149 | ```graphql 150 | { 151 | user { 152 | email 153 | } 154 | } 155 | ``` 156 | should request /api/user?fields=email 157 | 158 | Implement your resolve method like so: 159 | 160 | ``` 161 | resolve(root, args, context, info) { 162 | const topLevelFields = Object.keys(graphqlFields(info)); 163 | return fetch(`/api/user?fields=${topLevelFields.join(',')}`); 164 | } 165 | ``` 166 | 167 | ## Tests 168 | ``` 169 | npm test 170 | ``` 171 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const options = {}; 3 | function getSelections(ast) { 4 | if (ast && 5 | ast.selectionSet && 6 | ast.selectionSet.selections && 7 | ast.selectionSet.selections.length) { 8 | return ast.selectionSet.selections; 9 | } 10 | 11 | return []; 12 | } 13 | 14 | function isFragment(ast) { 15 | return ast.kind === 'InlineFragment' || ast.kind === 'FragmentSpread'; 16 | } 17 | 18 | function getAST(ast, info) { 19 | if (ast.kind === 'FragmentSpread') { 20 | const fragmentName = ast.name.value; 21 | return info.fragments[fragmentName]; 22 | } 23 | return ast; 24 | } 25 | 26 | function getArguments(ast, info) { 27 | return ast.arguments.map(argument => { 28 | const argumentValue = getArgumentValue(argument.value, info); 29 | 30 | return { 31 | [argument.name.value]: { 32 | kind: argument.value.kind, 33 | value: argumentValue 34 | }, 35 | }; 36 | }); 37 | } 38 | 39 | function getArgumentValue(arg, info) { 40 | switch (arg.kind) { 41 | case 'FloatValue': 42 | return parseFloat(arg.value); 43 | case 'IntValue': 44 | return parseInt(arg.value, 10); 45 | case 'Variable': 46 | return info.variableValues[arg.name.value]; 47 | case 'ListValue': 48 | return arg.values.map(argument => getArgumentValue(argument, info)); 49 | case 'ObjectValue': 50 | return arg.fields.reduce( 51 | (argValue, objectField) => { 52 | argValue[objectField.name.value] = getArgumentValue(objectField.value, info); 53 | return argValue; 54 | }, 55 | {}, 56 | ); 57 | default: 58 | return arg.value; 59 | } 60 | } 61 | 62 | function getDirectiveValue(directive, info) { 63 | const arg = directive.arguments[0]; // only arg on an include or skip directive is "if" 64 | if (arg.value.kind !== "Variable") { 65 | return !!arg.value.value; 66 | } 67 | return info.variableValues[arg.value.name.value]; 68 | } 69 | 70 | function getDirectiveResults(ast, info) { 71 | const directiveResult = { 72 | shouldInclude: true, 73 | shouldSkip: false, 74 | }; 75 | return ast.directives.reduce((result, directive) => { 76 | switch (directive.name.value) { 77 | case "include": 78 | return { ...result, shouldInclude: getDirectiveValue(directive, info) }; 79 | case "skip": 80 | return { ...result, shouldSkip: getDirectiveValue(directive, info) }; 81 | default: 82 | return result; 83 | } 84 | }, directiveResult); 85 | } 86 | 87 | function flattenAST(ast, info, obj) { 88 | obj = obj || {}; 89 | return getSelections(ast).reduce((flattened, a) => { 90 | if (a.directives && a.directives.length) { 91 | const { shouldInclude, shouldSkip } = getDirectiveResults(a, info); 92 | // field/fragment is not included if either the @skip condition is true or the @include condition is false 93 | // https://facebook.github.io/graphql/draft/#sec--include 94 | if (shouldSkip || !shouldInclude) { 95 | return flattened; 96 | } 97 | } 98 | if (isFragment(a)) { 99 | flattened = flattenAST(getAST(a, info), info, flattened); 100 | } else { 101 | const name = a.name.value; 102 | if (options.excludedFields.indexOf(name) !== -1) { 103 | return flattened; 104 | } 105 | if (flattened[name] && flattened[name] !== '__arguments') { 106 | Object.assign(flattened[name], flattenAST(a, info, flattened[name])); 107 | } else { 108 | flattened[name] = flattenAST(a, info); 109 | } 110 | if (options.processArguments) { 111 | // check if the current field has arguments 112 | if (a.arguments && a.arguments.length) { 113 | Object.assign(flattened[name], { __arguments: getArguments(a, info) }); 114 | } 115 | } 116 | } 117 | 118 | return flattened; 119 | }, obj); 120 | } 121 | 122 | module.exports = function graphqlFields(info, obj = {}, opts = { processArguments: false }) { 123 | const fields = info.fieldNodes || info.fieldASTs; 124 | options.processArguments = opts.processArguments; 125 | options.excludedFields = opts.excludedFields || []; 126 | return fields.reduce((o, ast) => { 127 | return flattenAST(ast, info, o); 128 | }, obj) || {}; 129 | }; 130 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "graphql-fields", 3 | "version": "2.0.3", 4 | "description": "Turns GraphQLResolveInfo into a map of the requested fields", 5 | "main": "build/index.js", 6 | "scripts": { 7 | "test": "mocha", 8 | "build": "babel index.js --out-dir build", 9 | "prepublishOnly": "npm run build" 10 | }, 11 | "repository": { 12 | "type": "git", 13 | "url": "git+https://github.com/robrichard/graphql-fields.git" 14 | }, 15 | "keywords": [ 16 | "graphql", 17 | "graphql-js", 18 | "graphqlresolveinfo", 19 | "fields", 20 | "schema", 21 | "ast" 22 | ], 23 | "files": [ 24 | "build/*" 25 | ], 26 | "author": "Rob Richard", 27 | "license": "MIT", 28 | "bugs": { 29 | "url": "https://github.com/robrichard/graphql-fields/issues" 30 | }, 31 | "homepage": "https://github.com/robrichard/graphql-fields#readme", 32 | "devDependencies": { 33 | "@babel/cli": "^7.15.7", 34 | "@babel/core": "^7.15.5", 35 | "@babel/preset-env": "^7.1.0", 36 | "graphql": "^15.0.0", 37 | "mocha": "^9.1.1" 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /test/index_spec.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const graphql = require('graphql'); 4 | const graphqlFields = require('../index'); 5 | const assert = require('assert'); 6 | 7 | describe('graphqlFields', () => { 8 | it('should flatten fragments', function (done) { 9 | let info = {}; 10 | const schema = new graphql.GraphQLSchema({ 11 | query: new graphql.GraphQLObjectType({ 12 | name: 'Query', 13 | fields: { 14 | viewer: { 15 | type: new graphql.GraphQLObjectType({ 16 | name: 'Viewer', 17 | fields: { 18 | users: { 19 | args: { 20 | userId: { type: graphql.GraphQLString }, 21 | first: { type: graphql.GraphQLInt }, 22 | includeInactive: { type: graphql.GraphQLBoolean } 23 | }, 24 | type: new graphql.GraphQLObjectType({ 25 | name: 'UserConnection', 26 | fields: { 27 | pageInfo: { 28 | type: new graphql.GraphQLObjectType({ 29 | name: 'PageInfo', 30 | fields: { 31 | totalResults: { type: graphql.GraphQLInt } 32 | } 33 | }) 34 | }, 35 | edges: { 36 | type: new graphql.GraphQLList( 37 | new graphql.GraphQLObjectType({ 38 | name: 'UserEdge', 39 | fields: { 40 | cursor: { type: graphql.GraphQLString }, 41 | node: { 42 | type: new graphql.GraphQLObjectType({ 43 | name: 'User', 44 | fields: { 45 | addressBook: { 46 | type: new graphql.GraphQLObjectType({ 47 | name: 'AddressBook', 48 | fields: { 49 | apiType: { type: graphql.GraphQLString } 50 | } 51 | }) 52 | }, 53 | profile: { 54 | type: new graphql.GraphQLObjectType({ 55 | name: 'Profile', 56 | fields: { 57 | displayName: { type: graphql.GraphQLString }, 58 | email: { type: graphql.GraphQLString } 59 | } 60 | }) 61 | }, 62 | proProfile: { 63 | type: new graphql.GraphQLObjectType({ 64 | name: 'ProProfile', 65 | fields: { 66 | apiType: { type: graphql.GraphQLString } 67 | } 68 | }) 69 | } 70 | } 71 | }) 72 | } 73 | } 74 | }) 75 | ) 76 | } 77 | } 78 | }) 79 | } 80 | } 81 | }), 82 | resolve(root, args, context, i) { 83 | info = i; 84 | return {}; 85 | } 86 | } 87 | } 88 | }) 89 | }); 90 | 91 | 92 | const query = ` 93 | query UsersRoute { 94 | viewer { 95 | users(userId:"123",first:25,includeInactive:true) @skip(if:false) { 96 | ...A 97 | ...D 98 | pageInfo { 99 | totalResults 100 | } 101 | 102 | } 103 | } 104 | } 105 | 106 | fragment A on UserConnection { 107 | edges { 108 | node { 109 | addressBook { 110 | apiType 111 | } 112 | } 113 | } 114 | ...B 115 | } 116 | fragment B on UserConnection { 117 | ...C 118 | edges { 119 | cursor 120 | } 121 | } 122 | 123 | fragment C on UserConnection { 124 | edges { 125 | cursor, 126 | node { 127 | profile { 128 | displayName, 129 | email 130 | } 131 | } 132 | } 133 | } 134 | fragment D on UserConnection { 135 | edges { 136 | node { 137 | proProfile { 138 | apiType 139 | } 140 | } 141 | } 142 | ...B 143 | } 144 | `; 145 | 146 | graphql.graphql(schema, query, null, {}) 147 | .then(() => { 148 | const expected = { 149 | users: { 150 | pageInfo: { 151 | totalResults: {} 152 | }, 153 | edges: { 154 | cursor: {}, 155 | node: { 156 | addressBook: { 157 | apiType: {} 158 | }, 159 | proProfile: { 160 | apiType: {} 161 | }, 162 | profile: { 163 | displayName: {}, 164 | email: {} 165 | } 166 | } 167 | } 168 | } 169 | }; 170 | assert.deepStrictEqual(graphqlFields(info), expected); 171 | done(); 172 | }).catch(done); 173 | }); 174 | describe('should respect include/skip directives when generating the field map', () => { 175 | let info = {}; 176 | const schemaString = /* GraphQL*/ ` 177 | type Pet { 178 | name: String! 179 | } 180 | type Person { 181 | name: String! 182 | age: Int! 183 | pets: [Pet!] 184 | } 185 | type Query { 186 | person: Person! 187 | } 188 | `; 189 | const schema = graphql.buildSchema(schemaString); 190 | const root = { 191 | person(args, ctx, i) { 192 | info = i; 193 | return { 194 | name: 'john doe', 195 | age: 42, 196 | }; 197 | }, 198 | }; 199 | it('does not include fields with a false include directive', done => { 200 | const query = /* GraphQL */ ` 201 | query Query($shouldInclude: Boolean!){ 202 | person { 203 | name @include(if: $shouldInclude) 204 | age @include(if: false) @skip(if: false) 205 | pets { 206 | name 207 | } 208 | } 209 | } 210 | `; 211 | graphql.graphql(schema, query, root, {}, { ["shouldInclude"]: false }) 212 | .then(() => { 213 | const expected = { 214 | pets: { 215 | name: {} 216 | } 217 | }; 218 | assert.deepStrictEqual(graphqlFields(info), expected); 219 | done(); 220 | }).catch(done); 221 | }); 222 | it('does not include fields with a true skip directive', done => { 223 | const query = /* GraphQL */ ` 224 | query Query($shouldSkip: Boolean!){ 225 | person { 226 | name @skip(if: $shouldSkip) 227 | age 228 | pets { 229 | name @skip(if: true) @include(if: true) 230 | } 231 | } 232 | } 233 | `; 234 | graphql.graphql(schema, query, root, {}, { ["shouldSkip"]: true }) 235 | .then(() => { 236 | const expected = { 237 | age: {}, 238 | pets: {} 239 | }; 240 | assert.deepStrictEqual(graphqlFields(info), expected); 241 | done(); 242 | }).catch(done); 243 | }); 244 | }); 245 | describe('subfield argument parsing', function () { 246 | let info = {}; 247 | const schemaString = /* GraphQL*/ ` 248 | enum Species { 249 | CANIS_LUPUS_FAMILIARIS 250 | FELIS_CATUS 251 | } 252 | input SpeciesPredicatesInput { 253 | eq: Species 254 | in: [Species!] 255 | neq: Species 256 | nin: [Species!] 257 | # etc 258 | } 259 | input FloatPredicatesInput { 260 | eq: Float 261 | gt: Float 262 | gte: Float 263 | lt: Float 264 | lte: Float 265 | # etc 266 | } 267 | input IDPredicatesInput { 268 | eq: ID 269 | in: [ID!] 270 | neq: ID 271 | nin: [ID!] 272 | # etc 273 | } 274 | input IntPredicatesInput { 275 | eq: Int 276 | gt: Int 277 | gte: Int 278 | lt: Int 279 | lte: Int 280 | # etc 281 | } 282 | input SomeInput { 283 | bool: Boolean 284 | float: Float 285 | int: Int 286 | list: [String] 287 | } 288 | input StringPredicatesInput { 289 | eq: String 290 | in: [String!] 291 | # etc 292 | } 293 | input PetPredicatesInput { 294 | age: IntPredicatesInput 295 | fixed: Boolean! 296 | id: IDPredicatesInput 297 | name: StringPredicatesInput 298 | species: SpeciesPredicatesInput 299 | weight: FloatPredicatesInput 300 | } 301 | type Pet { 302 | age: Int! 303 | fixed: Boolean! 304 | id: ID! 305 | name: String! 306 | species: Species! 307 | weight: Float! 308 | nicknames: [String!]! 309 | } 310 | type Person { 311 | name (case: String): String! 312 | age: Int! 313 | pets( 314 | id: ID, 315 | fixed: Boolean, 316 | name: String, 317 | nicknames: [String!], 318 | weight: Float, 319 | limit: Int, 320 | predicates: PetPredicatesInput, 321 | sort: [[String]], 322 | listOfSomeInput: [SomeInput] 323 | ): [Pet!]! 324 | } 325 | type Query { 326 | person: Person! 327 | } 328 | `; 329 | const schema = graphql.buildSchema(schemaString); 330 | const root = { 331 | person(args, ctx, i) { 332 | info = i; 333 | return { 334 | name: 'john doe', 335 | age: 42 336 | }; 337 | } 338 | }; 339 | 340 | it('should extract sub-field arguments of Variable type if options is provided', function (done) { 341 | const variableValues = { 342 | limit: 50 343 | }; 344 | 345 | const query = /* GraphQL */ ` 346 | query Query($limit: Int) { 347 | person { 348 | pets(limit: $limit) { 349 | name 350 | } 351 | } 352 | } 353 | `; 354 | 355 | const expected = { 356 | pets: { 357 | __arguments: [ 358 | { 359 | limit: { 360 | kind: 'Variable', 361 | value: 50 362 | } 363 | } 364 | ], 365 | name: {} 366 | } 367 | }; 368 | 369 | graphql 370 | .graphql(schema, query, root, {}, variableValues) 371 | .then(() => { 372 | const fields = graphqlFields( 373 | info, 374 | {}, 375 | { processArguments: true } 376 | ); 377 | assert.deepStrictEqual(fields, expected); 378 | done(); 379 | }); 380 | }); 381 | 382 | it('should extract sub-field arguments of ListValue type if options is provided', function (done) { 383 | const variableValues = { 384 | extraNickname: 'Lucky', 385 | }; 386 | 387 | const query = /* GraphQL */ ` 388 | query Query($extraNickname: String!) { 389 | person { 390 | pets(nicknames: ["Fluffy", $extraNickname]) { 391 | name 392 | } 393 | } 394 | } 395 | `; 396 | 397 | const expected = { 398 | pets: { 399 | __arguments: [ 400 | { 401 | nicknames: { 402 | kind: 'ListValue', 403 | value: ['Fluffy', 'Lucky'] 404 | } 405 | } 406 | ], 407 | name: {} 408 | } 409 | }; 410 | 411 | graphql 412 | .graphql(schema, query, root, {}, variableValues) 413 | .then(error => { 414 | const fields = graphqlFields( 415 | info, 416 | {}, 417 | { processArguments: true } 418 | ); 419 | assert.deepStrictEqual(fields, expected); 420 | done(); 421 | }); 422 | }); 423 | 424 | it('should extract sub-field arguments of expected type if options is provided', function (done) { 425 | const query = /* GraphQL */ ` 426 | { 427 | person { 428 | name(case: "upper") 429 | age 430 | pets( 431 | id: "A", 432 | fixed: true, 433 | name: "Chopper", 434 | nicknames: ["Fluffy", "Sickem"], 435 | weight: 123.4, 436 | limit: 10, 437 | predicates: { 438 | age: { 439 | gt: 2, 440 | lt: 10, 441 | }, 442 | fixed: false, 443 | id: { 444 | nin: ["B", "C"], 445 | }, 446 | name: { 447 | eq: "Chopper", 448 | }, 449 | species: { 450 | in: [CANIS_LUPUS_FAMILIARIS, FELIS_CATUS], 451 | }, 452 | weight: { 453 | gt: 56.7, 454 | lt: 98.7, 455 | }, 456 | }, 457 | sort: [["weight", "desc"], ["name", "asc"]], 458 | listOfSomeInput: [ 459 | { bool: true }, 460 | { float: 3.14 }, 461 | { int: 42 }, 462 | ] 463 | ) { 464 | name 465 | } 466 | } 467 | } 468 | `; 469 | 470 | const expected = { 471 | name: { 472 | __arguments: [ 473 | { 474 | case: { 475 | kind: 'StringValue', 476 | value: 'upper' 477 | } 478 | } 479 | ] 480 | }, 481 | age: {}, 482 | pets: { 483 | name: {}, 484 | __arguments: [ 485 | { 486 | id: { 487 | kind: 'StringValue', // Why not an IDValue? 488 | value: 'A' 489 | }, 490 | }, 491 | { 492 | fixed: { 493 | kind: 'BooleanValue', 494 | value: true 495 | }, 496 | }, 497 | { 498 | name: { 499 | kind: 'StringValue', 500 | value: 'Chopper' 501 | } 502 | }, 503 | { 504 | nicknames: { 505 | kind: 'ListValue', 506 | value: ['Fluffy', 'Sickem'] 507 | } 508 | }, 509 | { 510 | weight: { 511 | kind: 'FloatValue', 512 | value: 123.4 513 | } 514 | }, 515 | { 516 | limit: { 517 | kind: 'IntValue', 518 | value: 10 519 | } 520 | }, 521 | { 522 | predicates: { 523 | kind: 'ObjectValue', 524 | value: { 525 | age: { 526 | gt: 2, 527 | lt: 10, 528 | }, 529 | fixed: false, 530 | id: { 531 | nin: ['B', 'C'], 532 | }, 533 | name: { 534 | eq: 'Chopper', 535 | }, 536 | species: { 537 | in: ['CANIS_LUPUS_FAMILIARIS', 'FELIS_CATUS'], 538 | }, 539 | weight: { 540 | gt: 56.7, 541 | lt: 98.7, 542 | }, 543 | }, 544 | }, 545 | }, 546 | { 547 | sort: { 548 | kind: 'ListValue', 549 | value: [ 550 | ['weight', 'desc'], 551 | ['name', 'asc'], 552 | ] 553 | } 554 | }, 555 | { 556 | listOfSomeInput: { 557 | kind: 'ListValue', 558 | value: [ 559 | { bool: true }, 560 | { float: 3.14 }, 561 | { int: 42 }, 562 | ] 563 | } 564 | } 565 | ] 566 | } 567 | }; 568 | graphql.graphql(schema, query, root, {}).then(() => { 569 | const fields = graphqlFields( 570 | info, 571 | {}, 572 | { processArguments: true } 573 | ); 574 | assert.deepStrictEqual(fields, expected); 575 | done(); 576 | }); 577 | }); 578 | 579 | it('should not parse arguments if not specified in options', function (done) { 580 | const query = /* GraphQL */ ` 581 | { 582 | person { 583 | name(case: "upper") 584 | age 585 | pets( 586 | id: "A" 587 | fixed: true, 588 | name: "Chopper", 589 | nicknames: ["Fluffy", "Sickem"], 590 | weight: 100, 591 | limit: 10 592 | predicates: { 593 | age: { 594 | gt: 2 595 | lt: 10 596 | } 597 | fixed: false 598 | id: { 599 | nin: ["B", "C"] 600 | } 601 | name: { 602 | eq: "Chopper" 603 | } 604 | species: { 605 | in: [CANIS_LUPUS_FAMILIARIS, FELIS_CATUS] 606 | } 607 | weight: { 608 | gt: 56.7 609 | lt: 98.7 610 | } 611 | } 612 | sort: [["weight", "desc"], ["name", "asc"]] 613 | ) { 614 | name 615 | } 616 | } 617 | } 618 | `; 619 | 620 | const expected = { 621 | name: {}, 622 | age: {}, 623 | pets: { 624 | name: {} 625 | } 626 | }; 627 | graphql.graphql(schema, query, root, {}).then(() => { 628 | const fields = graphqlFields(info); 629 | assert.deepStrictEqual(fields, expected); 630 | done(); 631 | }); 632 | }); 633 | }); 634 | describe('excluded fields', function () { 635 | let info = {}; 636 | const schemaString = /* GraphQL*/ ` 637 | type Person { 638 | name: String! 639 | age: Int! 640 | } 641 | type Query { 642 | person: Person! 643 | } 644 | `; 645 | const schema = graphql.buildSchema(schemaString); 646 | const root = { 647 | person(args, ctx, i) { 648 | info = i; 649 | return { 650 | name: 'john doe', 651 | age: 42, 652 | }; 653 | }, 654 | }; 655 | const query = /* GraphQL */ ` 656 | { 657 | person { 658 | name 659 | age 660 | __typename 661 | } 662 | } 663 | `; 664 | it('Should exclude fields', function (done) { 665 | const expected = { 666 | name: {}, 667 | }; 668 | graphql.graphql(schema, query, root, {}) 669 | .then(() => { 670 | const fields = graphqlFields(info, {}, { excludedFields: ['__typename', 'age'] }); 671 | assert.deepStrictEqual(fields, expected); 672 | done(); 673 | }); 674 | }); 675 | 676 | it('Should not exclude fields if not specified in options', function (done) { 677 | const expected = { 678 | name: {}, 679 | age: {}, 680 | __typename: {}, 681 | }; 682 | graphql.graphql(schema, query, root, {}) 683 | .then(() => { 684 | const fields = graphqlFields(info); 685 | assert.deepStrictEqual(fields, expected); 686 | done(); 687 | }) 688 | }); 689 | }); 690 | }); 691 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/cli@^7.15.7": 6 | version "7.15.7" 7 | resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.15.7.tgz#62658abedb786d09c1f70229224b11a65440d7a1" 8 | integrity sha512-YW5wOprO2LzMjoWZ5ZG6jfbY9JnkDxuHDwvnrThnuYtByorova/I0HNXJedrUfwuXFQfYOjcqDA4PU3qlZGZjg== 9 | dependencies: 10 | commander "^4.0.1" 11 | convert-source-map "^1.1.0" 12 | fs-readdir-recursive "^1.1.0" 13 | glob "^7.0.0" 14 | make-dir "^2.1.0" 15 | slash "^2.0.0" 16 | source-map "^0.5.0" 17 | optionalDependencies: 18 | "@nicolo-ribaudo/chokidar-2" "2.1.8-no-fsevents.3" 19 | chokidar "^3.4.0" 20 | 21 | "@babel/code-frame@^7.14.5": 22 | version "7.14.5" 23 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb" 24 | integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw== 25 | dependencies: 26 | "@babel/highlight" "^7.14.5" 27 | 28 | "@babel/compat-data@^7.13.11", "@babel/compat-data@^7.15.0": 29 | version "7.15.0" 30 | resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.15.0.tgz#2dbaf8b85334796cafbb0f5793a90a2fc010b176" 31 | integrity sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA== 32 | 33 | "@babel/core@^7.15.5": 34 | version "7.15.5" 35 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.15.5.tgz#f8ed9ace730722544609f90c9bb49162dc3bf5b9" 36 | integrity sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg== 37 | dependencies: 38 | "@babel/code-frame" "^7.14.5" 39 | "@babel/generator" "^7.15.4" 40 | "@babel/helper-compilation-targets" "^7.15.4" 41 | "@babel/helper-module-transforms" "^7.15.4" 42 | "@babel/helpers" "^7.15.4" 43 | "@babel/parser" "^7.15.5" 44 | "@babel/template" "^7.15.4" 45 | "@babel/traverse" "^7.15.4" 46 | "@babel/types" "^7.15.4" 47 | convert-source-map "^1.7.0" 48 | debug "^4.1.0" 49 | gensync "^1.0.0-beta.2" 50 | json5 "^2.1.2" 51 | semver "^6.3.0" 52 | source-map "^0.5.0" 53 | 54 | "@babel/generator@^7.15.4": 55 | version "7.15.4" 56 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.15.4.tgz#85acb159a267ca6324f9793986991ee2022a05b0" 57 | integrity sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw== 58 | dependencies: 59 | "@babel/types" "^7.15.4" 60 | jsesc "^2.5.1" 61 | source-map "^0.5.0" 62 | 63 | "@babel/helper-annotate-as-pure@^7.14.5", "@babel/helper-annotate-as-pure@^7.15.4": 64 | version "7.15.4" 65 | resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz#3d0e43b00c5e49fdb6c57e421601a7a658d5f835" 66 | integrity sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA== 67 | dependencies: 68 | "@babel/types" "^7.15.4" 69 | 70 | "@babel/helper-builder-binary-assignment-operator-visitor@^7.14.5": 71 | version "7.15.4" 72 | resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.15.4.tgz#21ad815f609b84ee0e3058676c33cf6d1670525f" 73 | integrity sha512-P8o7JP2Mzi0SdC6eWr1zF+AEYvrsZa7GSY1lTayjF5XJhVH0kjLYUZPvTMflP7tBgZoe9gIhTa60QwFpqh/E0Q== 74 | dependencies: 75 | "@babel/helper-explode-assignable-expression" "^7.15.4" 76 | "@babel/types" "^7.15.4" 77 | 78 | "@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.15.4": 79 | version "7.15.4" 80 | resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz#cf6d94f30fbefc139123e27dd6b02f65aeedb7b9" 81 | integrity sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ== 82 | dependencies: 83 | "@babel/compat-data" "^7.15.0" 84 | "@babel/helper-validator-option" "^7.14.5" 85 | browserslist "^4.16.6" 86 | semver "^6.3.0" 87 | 88 | "@babel/helper-create-class-features-plugin@^7.14.5", "@babel/helper-create-class-features-plugin@^7.15.4": 89 | version "7.15.4" 90 | resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.4.tgz#7f977c17bd12a5fba363cb19bea090394bf37d2e" 91 | integrity sha512-7ZmzFi+DwJx6A7mHRwbuucEYpyBwmh2Ca0RvI6z2+WLZYCqV0JOaLb+u0zbtmDicebgKBZgqbYfLaKNqSgv5Pw== 92 | dependencies: 93 | "@babel/helper-annotate-as-pure" "^7.15.4" 94 | "@babel/helper-function-name" "^7.15.4" 95 | "@babel/helper-member-expression-to-functions" "^7.15.4" 96 | "@babel/helper-optimise-call-expression" "^7.15.4" 97 | "@babel/helper-replace-supers" "^7.15.4" 98 | "@babel/helper-split-export-declaration" "^7.15.4" 99 | 100 | "@babel/helper-create-regexp-features-plugin@^7.14.5": 101 | version "7.14.5" 102 | resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz#c7d5ac5e9cf621c26057722fb7a8a4c5889358c4" 103 | integrity sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A== 104 | dependencies: 105 | "@babel/helper-annotate-as-pure" "^7.14.5" 106 | regexpu-core "^4.7.1" 107 | 108 | "@babel/helper-define-polyfill-provider@^0.2.2": 109 | version "0.2.3" 110 | resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz#0525edec5094653a282688d34d846e4c75e9c0b6" 111 | integrity sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew== 112 | dependencies: 113 | "@babel/helper-compilation-targets" "^7.13.0" 114 | "@babel/helper-module-imports" "^7.12.13" 115 | "@babel/helper-plugin-utils" "^7.13.0" 116 | "@babel/traverse" "^7.13.0" 117 | debug "^4.1.1" 118 | lodash.debounce "^4.0.8" 119 | resolve "^1.14.2" 120 | semver "^6.1.2" 121 | 122 | "@babel/helper-explode-assignable-expression@^7.15.4": 123 | version "7.15.4" 124 | resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.15.4.tgz#f9aec9d219f271eaf92b9f561598ca6b2682600c" 125 | integrity sha512-J14f/vq8+hdC2KoWLIQSsGrC9EFBKE4NFts8pfMpymfApds+fPqR30AOUWc4tyr56h9l/GA1Sxv2q3dLZWbQ/g== 126 | dependencies: 127 | "@babel/types" "^7.15.4" 128 | 129 | "@babel/helper-function-name@^7.14.5", "@babel/helper-function-name@^7.15.4": 130 | version "7.15.4" 131 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz#845744dafc4381a4a5fb6afa6c3d36f98a787ebc" 132 | integrity sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw== 133 | dependencies: 134 | "@babel/helper-get-function-arity" "^7.15.4" 135 | "@babel/template" "^7.15.4" 136 | "@babel/types" "^7.15.4" 137 | 138 | "@babel/helper-get-function-arity@^7.15.4": 139 | version "7.15.4" 140 | resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz#098818934a137fce78b536a3e015864be1e2879b" 141 | integrity sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA== 142 | dependencies: 143 | "@babel/types" "^7.15.4" 144 | 145 | "@babel/helper-hoist-variables@^7.15.4": 146 | version "7.15.4" 147 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz#09993a3259c0e918f99d104261dfdfc033f178df" 148 | integrity sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA== 149 | dependencies: 150 | "@babel/types" "^7.15.4" 151 | 152 | "@babel/helper-member-expression-to-functions@^7.15.4": 153 | version "7.15.4" 154 | resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz#bfd34dc9bba9824a4658b0317ec2fd571a51e6ef" 155 | integrity sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA== 156 | dependencies: 157 | "@babel/types" "^7.15.4" 158 | 159 | "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.14.5", "@babel/helper-module-imports@^7.15.4": 160 | version "7.15.4" 161 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz#e18007d230632dea19b47853b984476e7b4e103f" 162 | integrity sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA== 163 | dependencies: 164 | "@babel/types" "^7.15.4" 165 | 166 | "@babel/helper-module-transforms@^7.14.5", "@babel/helper-module-transforms@^7.15.4": 167 | version "7.15.7" 168 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.15.7.tgz#7da80c8cbc1f02655d83f8b79d25866afe50d226" 169 | integrity sha512-ZNqjjQG/AuFfekFTY+7nY4RgBSklgTu970c7Rj3m/JOhIu5KPBUuTA9AY6zaKcUvk4g6EbDXdBnhi35FAssdSw== 170 | dependencies: 171 | "@babel/helper-module-imports" "^7.15.4" 172 | "@babel/helper-replace-supers" "^7.15.4" 173 | "@babel/helper-simple-access" "^7.15.4" 174 | "@babel/helper-split-export-declaration" "^7.15.4" 175 | "@babel/helper-validator-identifier" "^7.15.7" 176 | "@babel/template" "^7.15.4" 177 | "@babel/traverse" "^7.15.4" 178 | "@babel/types" "^7.15.6" 179 | 180 | "@babel/helper-optimise-call-expression@^7.15.4": 181 | version "7.15.4" 182 | resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz#f310a5121a3b9cc52d9ab19122bd729822dee171" 183 | integrity sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw== 184 | dependencies: 185 | "@babel/types" "^7.15.4" 186 | 187 | "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": 188 | version "7.14.5" 189 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" 190 | integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== 191 | 192 | "@babel/helper-remap-async-to-generator@^7.14.5", "@babel/helper-remap-async-to-generator@^7.15.4": 193 | version "7.15.4" 194 | resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.15.4.tgz#2637c0731e4c90fbf58ac58b50b2b5a192fc970f" 195 | integrity sha512-v53MxgvMK/HCwckJ1bZrq6dNKlmwlyRNYM6ypaRTdXWGOE2c1/SCa6dL/HimhPulGhZKw9W0QhREM583F/t0vQ== 196 | dependencies: 197 | "@babel/helper-annotate-as-pure" "^7.15.4" 198 | "@babel/helper-wrap-function" "^7.15.4" 199 | "@babel/types" "^7.15.4" 200 | 201 | "@babel/helper-replace-supers@^7.14.5", "@babel/helper-replace-supers@^7.15.4": 202 | version "7.15.4" 203 | resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz#52a8ab26ba918c7f6dee28628b07071ac7b7347a" 204 | integrity sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw== 205 | dependencies: 206 | "@babel/helper-member-expression-to-functions" "^7.15.4" 207 | "@babel/helper-optimise-call-expression" "^7.15.4" 208 | "@babel/traverse" "^7.15.4" 209 | "@babel/types" "^7.15.4" 210 | 211 | "@babel/helper-simple-access@^7.15.4": 212 | version "7.15.4" 213 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz#ac368905abf1de8e9781434b635d8f8674bcc13b" 214 | integrity sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg== 215 | dependencies: 216 | "@babel/types" "^7.15.4" 217 | 218 | "@babel/helper-skip-transparent-expression-wrappers@^7.14.5", "@babel/helper-skip-transparent-expression-wrappers@^7.15.4": 219 | version "7.15.4" 220 | resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.15.4.tgz#707dbdba1f4ad0fa34f9114fc8197aec7d5da2eb" 221 | integrity sha512-BMRLsdh+D1/aap19TycS4eD1qELGrCBJwzaY9IE8LrpJtJb+H7rQkPIdsfgnMtLBA6DJls7X9z93Z4U8h7xw0A== 222 | dependencies: 223 | "@babel/types" "^7.15.4" 224 | 225 | "@babel/helper-split-export-declaration@^7.15.4": 226 | version "7.15.4" 227 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz#aecab92dcdbef6a10aa3b62ab204b085f776e257" 228 | integrity sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw== 229 | dependencies: 230 | "@babel/types" "^7.15.4" 231 | 232 | "@babel/helper-validator-identifier@^7.14.5", "@babel/helper-validator-identifier@^7.14.9", "@babel/helper-validator-identifier@^7.15.7": 233 | version "7.15.7" 234 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" 235 | integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w== 236 | 237 | "@babel/helper-validator-option@^7.14.5": 238 | version "7.14.5" 239 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" 240 | integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== 241 | 242 | "@babel/helper-wrap-function@^7.15.4": 243 | version "7.15.4" 244 | resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.15.4.tgz#6f754b2446cfaf3d612523e6ab8d79c27c3a3de7" 245 | integrity sha512-Y2o+H/hRV5W8QhIfTpRIBwl57y8PrZt6JM3V8FOo5qarjshHItyH5lXlpMfBfmBefOqSCpKZs/6Dxqp0E/U+uw== 246 | dependencies: 247 | "@babel/helper-function-name" "^7.15.4" 248 | "@babel/template" "^7.15.4" 249 | "@babel/traverse" "^7.15.4" 250 | "@babel/types" "^7.15.4" 251 | 252 | "@babel/helpers@^7.15.4": 253 | version "7.15.4" 254 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.15.4.tgz#5f40f02050a3027121a3cf48d497c05c555eaf43" 255 | integrity sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ== 256 | dependencies: 257 | "@babel/template" "^7.15.4" 258 | "@babel/traverse" "^7.15.4" 259 | "@babel/types" "^7.15.4" 260 | 261 | "@babel/highlight@^7.14.5": 262 | version "7.14.5" 263 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" 264 | integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== 265 | dependencies: 266 | "@babel/helper-validator-identifier" "^7.14.5" 267 | chalk "^2.0.0" 268 | js-tokens "^4.0.0" 269 | 270 | "@babel/parser@^7.15.4", "@babel/parser@^7.15.5": 271 | version "7.15.7" 272 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.15.7.tgz#0c3ed4a2eb07b165dfa85b3cc45c727334c4edae" 273 | integrity sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g== 274 | 275 | "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.15.4": 276 | version "7.15.4" 277 | resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.15.4.tgz#dbdeabb1e80f622d9f0b583efb2999605e0a567e" 278 | integrity sha512-eBnpsl9tlhPhpI10kU06JHnrYXwg3+V6CaP2idsCXNef0aeslpqyITXQ74Vfk5uHgY7IG7XP0yIH8b42KSzHog== 279 | dependencies: 280 | "@babel/helper-plugin-utils" "^7.14.5" 281 | "@babel/helper-skip-transparent-expression-wrappers" "^7.15.4" 282 | "@babel/plugin-proposal-optional-chaining" "^7.14.5" 283 | 284 | "@babel/plugin-proposal-async-generator-functions@^7.15.4": 285 | version "7.15.4" 286 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.15.4.tgz#f82aabe96c135d2ceaa917feb9f5fca31635277e" 287 | integrity sha512-2zt2g5vTXpMC3OmK6uyjvdXptbhBXfA77XGrd3gh93zwG8lZYBLOBImiGBEG0RANu3JqKEACCz5CGk73OJROBw== 288 | dependencies: 289 | "@babel/helper-plugin-utils" "^7.14.5" 290 | "@babel/helper-remap-async-to-generator" "^7.15.4" 291 | "@babel/plugin-syntax-async-generators" "^7.8.4" 292 | 293 | "@babel/plugin-proposal-class-properties@^7.14.5": 294 | version "7.14.5" 295 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz#40d1ee140c5b1e31a350f4f5eed945096559b42e" 296 | integrity sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg== 297 | dependencies: 298 | "@babel/helper-create-class-features-plugin" "^7.14.5" 299 | "@babel/helper-plugin-utils" "^7.14.5" 300 | 301 | "@babel/plugin-proposal-class-static-block@^7.15.4": 302 | version "7.15.4" 303 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.15.4.tgz#3e7ca6128453c089e8b477a99f970c63fc1cb8d7" 304 | integrity sha512-M682XWrrLNk3chXCjoPUQWOyYsB93B9z3mRyjtqqYJWDf2mfCdIYgDrA11cgNVhAQieaq6F2fn2f3wI0U4aTjA== 305 | dependencies: 306 | "@babel/helper-create-class-features-plugin" "^7.15.4" 307 | "@babel/helper-plugin-utils" "^7.14.5" 308 | "@babel/plugin-syntax-class-static-block" "^7.14.5" 309 | 310 | "@babel/plugin-proposal-dynamic-import@^7.14.5": 311 | version "7.14.5" 312 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz#0c6617df461c0c1f8fff3b47cd59772360101d2c" 313 | integrity sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g== 314 | dependencies: 315 | "@babel/helper-plugin-utils" "^7.14.5" 316 | "@babel/plugin-syntax-dynamic-import" "^7.8.3" 317 | 318 | "@babel/plugin-proposal-export-namespace-from@^7.14.5": 319 | version "7.14.5" 320 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz#dbad244310ce6ccd083072167d8cea83a52faf76" 321 | integrity sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA== 322 | dependencies: 323 | "@babel/helper-plugin-utils" "^7.14.5" 324 | "@babel/plugin-syntax-export-namespace-from" "^7.8.3" 325 | 326 | "@babel/plugin-proposal-json-strings@^7.14.5": 327 | version "7.14.5" 328 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz#38de60db362e83a3d8c944ac858ddf9f0c2239eb" 329 | integrity sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ== 330 | dependencies: 331 | "@babel/helper-plugin-utils" "^7.14.5" 332 | "@babel/plugin-syntax-json-strings" "^7.8.3" 333 | 334 | "@babel/plugin-proposal-logical-assignment-operators@^7.14.5": 335 | version "7.14.5" 336 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz#6e6229c2a99b02ab2915f82571e0cc646a40c738" 337 | integrity sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw== 338 | dependencies: 339 | "@babel/helper-plugin-utils" "^7.14.5" 340 | "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" 341 | 342 | "@babel/plugin-proposal-nullish-coalescing-operator@^7.14.5": 343 | version "7.14.5" 344 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz#ee38589ce00e2cc59b299ec3ea406fcd3a0fdaf6" 345 | integrity sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg== 346 | dependencies: 347 | "@babel/helper-plugin-utils" "^7.14.5" 348 | "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" 349 | 350 | "@babel/plugin-proposal-numeric-separator@^7.14.5": 351 | version "7.14.5" 352 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz#83631bf33d9a51df184c2102a069ac0c58c05f18" 353 | integrity sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg== 354 | dependencies: 355 | "@babel/helper-plugin-utils" "^7.14.5" 356 | "@babel/plugin-syntax-numeric-separator" "^7.10.4" 357 | 358 | "@babel/plugin-proposal-object-rest-spread@^7.15.6": 359 | version "7.15.6" 360 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.15.6.tgz#ef68050c8703d07b25af402cb96cf7f34a68ed11" 361 | integrity sha512-qtOHo7A1Vt+O23qEAX+GdBpqaIuD3i9VRrWgCJeq7WO6H2d14EK3q11urj5Te2MAeK97nMiIdRpwd/ST4JFbNg== 362 | dependencies: 363 | "@babel/compat-data" "^7.15.0" 364 | "@babel/helper-compilation-targets" "^7.15.4" 365 | "@babel/helper-plugin-utils" "^7.14.5" 366 | "@babel/plugin-syntax-object-rest-spread" "^7.8.3" 367 | "@babel/plugin-transform-parameters" "^7.15.4" 368 | 369 | "@babel/plugin-proposal-optional-catch-binding@^7.14.5": 370 | version "7.14.5" 371 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz#939dd6eddeff3a67fdf7b3f044b5347262598c3c" 372 | integrity sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ== 373 | dependencies: 374 | "@babel/helper-plugin-utils" "^7.14.5" 375 | "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" 376 | 377 | "@babel/plugin-proposal-optional-chaining@^7.14.5": 378 | version "7.14.5" 379 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz#fa83651e60a360e3f13797eef00b8d519695b603" 380 | integrity sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ== 381 | dependencies: 382 | "@babel/helper-plugin-utils" "^7.14.5" 383 | "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" 384 | "@babel/plugin-syntax-optional-chaining" "^7.8.3" 385 | 386 | "@babel/plugin-proposal-private-methods@^7.14.5": 387 | version "7.14.5" 388 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz#37446495996b2945f30f5be5b60d5e2aa4f5792d" 389 | integrity sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g== 390 | dependencies: 391 | "@babel/helper-create-class-features-plugin" "^7.14.5" 392 | "@babel/helper-plugin-utils" "^7.14.5" 393 | 394 | "@babel/plugin-proposal-private-property-in-object@^7.15.4": 395 | version "7.15.4" 396 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.15.4.tgz#55c5e3b4d0261fd44fe637e3f624cfb0f484e3e5" 397 | integrity sha512-X0UTixkLf0PCCffxgu5/1RQyGGbgZuKoI+vXP4iSbJSYwPb7hu06omsFGBvQ9lJEvwgrxHdS8B5nbfcd8GyUNA== 398 | dependencies: 399 | "@babel/helper-annotate-as-pure" "^7.15.4" 400 | "@babel/helper-create-class-features-plugin" "^7.15.4" 401 | "@babel/helper-plugin-utils" "^7.14.5" 402 | "@babel/plugin-syntax-private-property-in-object" "^7.14.5" 403 | 404 | "@babel/plugin-proposal-unicode-property-regex@^7.14.5", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": 405 | version "7.14.5" 406 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz#0f95ee0e757a5d647f378daa0eca7e93faa8bbe8" 407 | integrity sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q== 408 | dependencies: 409 | "@babel/helper-create-regexp-features-plugin" "^7.14.5" 410 | "@babel/helper-plugin-utils" "^7.14.5" 411 | 412 | "@babel/plugin-syntax-async-generators@^7.8.4": 413 | version "7.8.4" 414 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" 415 | integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== 416 | dependencies: 417 | "@babel/helper-plugin-utils" "^7.8.0" 418 | 419 | "@babel/plugin-syntax-class-properties@^7.12.13": 420 | version "7.12.13" 421 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" 422 | integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== 423 | dependencies: 424 | "@babel/helper-plugin-utils" "^7.12.13" 425 | 426 | "@babel/plugin-syntax-class-static-block@^7.14.5": 427 | version "7.14.5" 428 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" 429 | integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== 430 | dependencies: 431 | "@babel/helper-plugin-utils" "^7.14.5" 432 | 433 | "@babel/plugin-syntax-dynamic-import@^7.8.3": 434 | version "7.8.3" 435 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" 436 | integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== 437 | dependencies: 438 | "@babel/helper-plugin-utils" "^7.8.0" 439 | 440 | "@babel/plugin-syntax-export-namespace-from@^7.8.3": 441 | version "7.8.3" 442 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" 443 | integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== 444 | dependencies: 445 | "@babel/helper-plugin-utils" "^7.8.3" 446 | 447 | "@babel/plugin-syntax-json-strings@^7.8.3": 448 | version "7.8.3" 449 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" 450 | integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== 451 | dependencies: 452 | "@babel/helper-plugin-utils" "^7.8.0" 453 | 454 | "@babel/plugin-syntax-logical-assignment-operators@^7.10.4": 455 | version "7.10.4" 456 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" 457 | integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== 458 | dependencies: 459 | "@babel/helper-plugin-utils" "^7.10.4" 460 | 461 | "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": 462 | version "7.8.3" 463 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" 464 | integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== 465 | dependencies: 466 | "@babel/helper-plugin-utils" "^7.8.0" 467 | 468 | "@babel/plugin-syntax-numeric-separator@^7.10.4": 469 | version "7.10.4" 470 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" 471 | integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== 472 | dependencies: 473 | "@babel/helper-plugin-utils" "^7.10.4" 474 | 475 | "@babel/plugin-syntax-object-rest-spread@^7.8.3": 476 | version "7.8.3" 477 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" 478 | integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== 479 | dependencies: 480 | "@babel/helper-plugin-utils" "^7.8.0" 481 | 482 | "@babel/plugin-syntax-optional-catch-binding@^7.8.3": 483 | version "7.8.3" 484 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" 485 | integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== 486 | dependencies: 487 | "@babel/helper-plugin-utils" "^7.8.0" 488 | 489 | "@babel/plugin-syntax-optional-chaining@^7.8.3": 490 | version "7.8.3" 491 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" 492 | integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== 493 | dependencies: 494 | "@babel/helper-plugin-utils" "^7.8.0" 495 | 496 | "@babel/plugin-syntax-private-property-in-object@^7.14.5": 497 | version "7.14.5" 498 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" 499 | integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== 500 | dependencies: 501 | "@babel/helper-plugin-utils" "^7.14.5" 502 | 503 | "@babel/plugin-syntax-top-level-await@^7.14.5": 504 | version "7.14.5" 505 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" 506 | integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== 507 | dependencies: 508 | "@babel/helper-plugin-utils" "^7.14.5" 509 | 510 | "@babel/plugin-transform-arrow-functions@^7.14.5": 511 | version "7.14.5" 512 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz#f7187d9588a768dd080bf4c9ffe117ea62f7862a" 513 | integrity sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A== 514 | dependencies: 515 | "@babel/helper-plugin-utils" "^7.14.5" 516 | 517 | "@babel/plugin-transform-async-to-generator@^7.14.5": 518 | version "7.14.5" 519 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz#72c789084d8f2094acb945633943ef8443d39e67" 520 | integrity sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA== 521 | dependencies: 522 | "@babel/helper-module-imports" "^7.14.5" 523 | "@babel/helper-plugin-utils" "^7.14.5" 524 | "@babel/helper-remap-async-to-generator" "^7.14.5" 525 | 526 | "@babel/plugin-transform-block-scoped-functions@^7.14.5": 527 | version "7.14.5" 528 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz#e48641d999d4bc157a67ef336aeb54bc44fd3ad4" 529 | integrity sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ== 530 | dependencies: 531 | "@babel/helper-plugin-utils" "^7.14.5" 532 | 533 | "@babel/plugin-transform-block-scoping@^7.15.3": 534 | version "7.15.3" 535 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz#94c81a6e2fc230bcce6ef537ac96a1e4d2b3afaf" 536 | integrity sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q== 537 | dependencies: 538 | "@babel/helper-plugin-utils" "^7.14.5" 539 | 540 | "@babel/plugin-transform-classes@^7.15.4": 541 | version "7.15.4" 542 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.15.4.tgz#50aee17aaf7f332ae44e3bce4c2e10534d5d3bf1" 543 | integrity sha512-Yjvhex8GzBmmPQUvpXRPWQ9WnxXgAFuZSrqOK/eJlOGIXwvv8H3UEdUigl1gb/bnjTrln+e8bkZUYCBt/xYlBg== 544 | dependencies: 545 | "@babel/helper-annotate-as-pure" "^7.15.4" 546 | "@babel/helper-function-name" "^7.15.4" 547 | "@babel/helper-optimise-call-expression" "^7.15.4" 548 | "@babel/helper-plugin-utils" "^7.14.5" 549 | "@babel/helper-replace-supers" "^7.15.4" 550 | "@babel/helper-split-export-declaration" "^7.15.4" 551 | globals "^11.1.0" 552 | 553 | "@babel/plugin-transform-computed-properties@^7.14.5": 554 | version "7.14.5" 555 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz#1b9d78987420d11223d41195461cc43b974b204f" 556 | integrity sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg== 557 | dependencies: 558 | "@babel/helper-plugin-utils" "^7.14.5" 559 | 560 | "@babel/plugin-transform-destructuring@^7.14.7": 561 | version "7.14.7" 562 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz#0ad58ed37e23e22084d109f185260835e5557576" 563 | integrity sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw== 564 | dependencies: 565 | "@babel/helper-plugin-utils" "^7.14.5" 566 | 567 | "@babel/plugin-transform-dotall-regex@^7.14.5", "@babel/plugin-transform-dotall-regex@^7.4.4": 568 | version "7.14.5" 569 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz#2f6bf76e46bdf8043b4e7e16cf24532629ba0c7a" 570 | integrity sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw== 571 | dependencies: 572 | "@babel/helper-create-regexp-features-plugin" "^7.14.5" 573 | "@babel/helper-plugin-utils" "^7.14.5" 574 | 575 | "@babel/plugin-transform-duplicate-keys@^7.14.5": 576 | version "7.14.5" 577 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz#365a4844881bdf1501e3a9f0270e7f0f91177954" 578 | integrity sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A== 579 | dependencies: 580 | "@babel/helper-plugin-utils" "^7.14.5" 581 | 582 | "@babel/plugin-transform-exponentiation-operator@^7.14.5": 583 | version "7.14.5" 584 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz#5154b8dd6a3dfe6d90923d61724bd3deeb90b493" 585 | integrity sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA== 586 | dependencies: 587 | "@babel/helper-builder-binary-assignment-operator-visitor" "^7.14.5" 588 | "@babel/helper-plugin-utils" "^7.14.5" 589 | 590 | "@babel/plugin-transform-for-of@^7.15.4": 591 | version "7.15.4" 592 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.15.4.tgz#25c62cce2718cfb29715f416e75d5263fb36a8c2" 593 | integrity sha512-DRTY9fA751AFBDh2oxydvVm4SYevs5ILTWLs6xKXps4Re/KG5nfUkr+TdHCrRWB8C69TlzVgA9b3RmGWmgN9LA== 594 | dependencies: 595 | "@babel/helper-plugin-utils" "^7.14.5" 596 | 597 | "@babel/plugin-transform-function-name@^7.14.5": 598 | version "7.14.5" 599 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz#e81c65ecb900746d7f31802f6bed1f52d915d6f2" 600 | integrity sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ== 601 | dependencies: 602 | "@babel/helper-function-name" "^7.14.5" 603 | "@babel/helper-plugin-utils" "^7.14.5" 604 | 605 | "@babel/plugin-transform-literals@^7.14.5": 606 | version "7.14.5" 607 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz#41d06c7ff5d4d09e3cf4587bd3ecf3930c730f78" 608 | integrity sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A== 609 | dependencies: 610 | "@babel/helper-plugin-utils" "^7.14.5" 611 | 612 | "@babel/plugin-transform-member-expression-literals@^7.14.5": 613 | version "7.14.5" 614 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz#b39cd5212a2bf235a617d320ec2b48bcc091b8a7" 615 | integrity sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q== 616 | dependencies: 617 | "@babel/helper-plugin-utils" "^7.14.5" 618 | 619 | "@babel/plugin-transform-modules-amd@^7.14.5": 620 | version "7.14.5" 621 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz#4fd9ce7e3411cb8b83848480b7041d83004858f7" 622 | integrity sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g== 623 | dependencies: 624 | "@babel/helper-module-transforms" "^7.14.5" 625 | "@babel/helper-plugin-utils" "^7.14.5" 626 | babel-plugin-dynamic-import-node "^2.3.3" 627 | 628 | "@babel/plugin-transform-modules-commonjs@^7.15.4": 629 | version "7.15.4" 630 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.4.tgz#8201101240eabb5a76c08ef61b2954f767b6b4c1" 631 | integrity sha512-qg4DPhwG8hKp4BbVDvX1s8cohM8a6Bvptu4l6Iingq5rW+yRUAhe/YRup/YcW2zCOlrysEWVhftIcKzrEZv3sA== 632 | dependencies: 633 | "@babel/helper-module-transforms" "^7.15.4" 634 | "@babel/helper-plugin-utils" "^7.14.5" 635 | "@babel/helper-simple-access" "^7.15.4" 636 | babel-plugin-dynamic-import-node "^2.3.3" 637 | 638 | "@babel/plugin-transform-modules-systemjs@^7.15.4": 639 | version "7.15.4" 640 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.15.4.tgz#b42890c7349a78c827719f1d2d0cd38c7d268132" 641 | integrity sha512-fJUnlQrl/mezMneR72CKCgtOoahqGJNVKpompKwzv3BrEXdlPspTcyxrZ1XmDTIr9PpULrgEQo3qNKp6dW7ssw== 642 | dependencies: 643 | "@babel/helper-hoist-variables" "^7.15.4" 644 | "@babel/helper-module-transforms" "^7.15.4" 645 | "@babel/helper-plugin-utils" "^7.14.5" 646 | "@babel/helper-validator-identifier" "^7.14.9" 647 | babel-plugin-dynamic-import-node "^2.3.3" 648 | 649 | "@babel/plugin-transform-modules-umd@^7.14.5": 650 | version "7.14.5" 651 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz#fb662dfee697cce274a7cda525190a79096aa6e0" 652 | integrity sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA== 653 | dependencies: 654 | "@babel/helper-module-transforms" "^7.14.5" 655 | "@babel/helper-plugin-utils" "^7.14.5" 656 | 657 | "@babel/plugin-transform-named-capturing-groups-regex@^7.14.9": 658 | version "7.14.9" 659 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.9.tgz#c68f5c5d12d2ebaba3762e57c2c4f6347a46e7b2" 660 | integrity sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA== 661 | dependencies: 662 | "@babel/helper-create-regexp-features-plugin" "^7.14.5" 663 | 664 | "@babel/plugin-transform-new-target@^7.14.5": 665 | version "7.14.5" 666 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz#31bdae8b925dc84076ebfcd2a9940143aed7dbf8" 667 | integrity sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ== 668 | dependencies: 669 | "@babel/helper-plugin-utils" "^7.14.5" 670 | 671 | "@babel/plugin-transform-object-super@^7.14.5": 672 | version "7.14.5" 673 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz#d0b5faeac9e98597a161a9cf78c527ed934cdc45" 674 | integrity sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg== 675 | dependencies: 676 | "@babel/helper-plugin-utils" "^7.14.5" 677 | "@babel/helper-replace-supers" "^7.14.5" 678 | 679 | "@babel/plugin-transform-parameters@^7.15.4": 680 | version "7.15.4" 681 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.15.4.tgz#5f2285cc3160bf48c8502432716b48504d29ed62" 682 | integrity sha512-9WB/GUTO6lvJU3XQsSr6J/WKvBC2hcs4Pew8YxZagi6GkTdniyqp8On5kqdK8MN0LMeu0mGbhPN+O049NV/9FQ== 683 | dependencies: 684 | "@babel/helper-plugin-utils" "^7.14.5" 685 | 686 | "@babel/plugin-transform-property-literals@^7.14.5": 687 | version "7.14.5" 688 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz#0ddbaa1f83db3606f1cdf4846fa1dfb473458b34" 689 | integrity sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw== 690 | dependencies: 691 | "@babel/helper-plugin-utils" "^7.14.5" 692 | 693 | "@babel/plugin-transform-regenerator@^7.14.5": 694 | version "7.14.5" 695 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz#9676fd5707ed28f522727c5b3c0aa8544440b04f" 696 | integrity sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg== 697 | dependencies: 698 | regenerator-transform "^0.14.2" 699 | 700 | "@babel/plugin-transform-reserved-words@^7.14.5": 701 | version "7.14.5" 702 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz#c44589b661cfdbef8d4300dcc7469dffa92f8304" 703 | integrity sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg== 704 | dependencies: 705 | "@babel/helper-plugin-utils" "^7.14.5" 706 | 707 | "@babel/plugin-transform-shorthand-properties@^7.14.5": 708 | version "7.14.5" 709 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz#97f13855f1409338d8cadcbaca670ad79e091a58" 710 | integrity sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g== 711 | dependencies: 712 | "@babel/helper-plugin-utils" "^7.14.5" 713 | 714 | "@babel/plugin-transform-spread@^7.14.6": 715 | version "7.14.6" 716 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz#6bd40e57fe7de94aa904851963b5616652f73144" 717 | integrity sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag== 718 | dependencies: 719 | "@babel/helper-plugin-utils" "^7.14.5" 720 | "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" 721 | 722 | "@babel/plugin-transform-sticky-regex@^7.14.5": 723 | version "7.14.5" 724 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz#5b617542675e8b7761294381f3c28c633f40aeb9" 725 | integrity sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A== 726 | dependencies: 727 | "@babel/helper-plugin-utils" "^7.14.5" 728 | 729 | "@babel/plugin-transform-template-literals@^7.14.5": 730 | version "7.14.5" 731 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz#a5f2bc233937d8453885dc736bdd8d9ffabf3d93" 732 | integrity sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg== 733 | dependencies: 734 | "@babel/helper-plugin-utils" "^7.14.5" 735 | 736 | "@babel/plugin-transform-typeof-symbol@^7.14.5": 737 | version "7.14.5" 738 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz#39af2739e989a2bd291bf6b53f16981423d457d4" 739 | integrity sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw== 740 | dependencies: 741 | "@babel/helper-plugin-utils" "^7.14.5" 742 | 743 | "@babel/plugin-transform-unicode-escapes@^7.14.5": 744 | version "7.14.5" 745 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz#9d4bd2a681e3c5d7acf4f57fa9e51175d91d0c6b" 746 | integrity sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA== 747 | dependencies: 748 | "@babel/helper-plugin-utils" "^7.14.5" 749 | 750 | "@babel/plugin-transform-unicode-regex@^7.14.5": 751 | version "7.14.5" 752 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz#4cd09b6c8425dd81255c7ceb3fb1836e7414382e" 753 | integrity sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw== 754 | dependencies: 755 | "@babel/helper-create-regexp-features-plugin" "^7.14.5" 756 | "@babel/helper-plugin-utils" "^7.14.5" 757 | 758 | "@babel/preset-env@^7.1.0": 759 | version "7.15.6" 760 | resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.15.6.tgz#0f3898db9d63d320f21b17380d8462779de57659" 761 | integrity sha512-L+6jcGn7EWu7zqaO2uoTDjjMBW+88FXzV8KvrBl2z6MtRNxlsmUNRlZPaNNPUTgqhyC5DHNFk/2Jmra+ublZWw== 762 | dependencies: 763 | "@babel/compat-data" "^7.15.0" 764 | "@babel/helper-compilation-targets" "^7.15.4" 765 | "@babel/helper-plugin-utils" "^7.14.5" 766 | "@babel/helper-validator-option" "^7.14.5" 767 | "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.15.4" 768 | "@babel/plugin-proposal-async-generator-functions" "^7.15.4" 769 | "@babel/plugin-proposal-class-properties" "^7.14.5" 770 | "@babel/plugin-proposal-class-static-block" "^7.15.4" 771 | "@babel/plugin-proposal-dynamic-import" "^7.14.5" 772 | "@babel/plugin-proposal-export-namespace-from" "^7.14.5" 773 | "@babel/plugin-proposal-json-strings" "^7.14.5" 774 | "@babel/plugin-proposal-logical-assignment-operators" "^7.14.5" 775 | "@babel/plugin-proposal-nullish-coalescing-operator" "^7.14.5" 776 | "@babel/plugin-proposal-numeric-separator" "^7.14.5" 777 | "@babel/plugin-proposal-object-rest-spread" "^7.15.6" 778 | "@babel/plugin-proposal-optional-catch-binding" "^7.14.5" 779 | "@babel/plugin-proposal-optional-chaining" "^7.14.5" 780 | "@babel/plugin-proposal-private-methods" "^7.14.5" 781 | "@babel/plugin-proposal-private-property-in-object" "^7.15.4" 782 | "@babel/plugin-proposal-unicode-property-regex" "^7.14.5" 783 | "@babel/plugin-syntax-async-generators" "^7.8.4" 784 | "@babel/plugin-syntax-class-properties" "^7.12.13" 785 | "@babel/plugin-syntax-class-static-block" "^7.14.5" 786 | "@babel/plugin-syntax-dynamic-import" "^7.8.3" 787 | "@babel/plugin-syntax-export-namespace-from" "^7.8.3" 788 | "@babel/plugin-syntax-json-strings" "^7.8.3" 789 | "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" 790 | "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" 791 | "@babel/plugin-syntax-numeric-separator" "^7.10.4" 792 | "@babel/plugin-syntax-object-rest-spread" "^7.8.3" 793 | "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" 794 | "@babel/plugin-syntax-optional-chaining" "^7.8.3" 795 | "@babel/plugin-syntax-private-property-in-object" "^7.14.5" 796 | "@babel/plugin-syntax-top-level-await" "^7.14.5" 797 | "@babel/plugin-transform-arrow-functions" "^7.14.5" 798 | "@babel/plugin-transform-async-to-generator" "^7.14.5" 799 | "@babel/plugin-transform-block-scoped-functions" "^7.14.5" 800 | "@babel/plugin-transform-block-scoping" "^7.15.3" 801 | "@babel/plugin-transform-classes" "^7.15.4" 802 | "@babel/plugin-transform-computed-properties" "^7.14.5" 803 | "@babel/plugin-transform-destructuring" "^7.14.7" 804 | "@babel/plugin-transform-dotall-regex" "^7.14.5" 805 | "@babel/plugin-transform-duplicate-keys" "^7.14.5" 806 | "@babel/plugin-transform-exponentiation-operator" "^7.14.5" 807 | "@babel/plugin-transform-for-of" "^7.15.4" 808 | "@babel/plugin-transform-function-name" "^7.14.5" 809 | "@babel/plugin-transform-literals" "^7.14.5" 810 | "@babel/plugin-transform-member-expression-literals" "^7.14.5" 811 | "@babel/plugin-transform-modules-amd" "^7.14.5" 812 | "@babel/plugin-transform-modules-commonjs" "^7.15.4" 813 | "@babel/plugin-transform-modules-systemjs" "^7.15.4" 814 | "@babel/plugin-transform-modules-umd" "^7.14.5" 815 | "@babel/plugin-transform-named-capturing-groups-regex" "^7.14.9" 816 | "@babel/plugin-transform-new-target" "^7.14.5" 817 | "@babel/plugin-transform-object-super" "^7.14.5" 818 | "@babel/plugin-transform-parameters" "^7.15.4" 819 | "@babel/plugin-transform-property-literals" "^7.14.5" 820 | "@babel/plugin-transform-regenerator" "^7.14.5" 821 | "@babel/plugin-transform-reserved-words" "^7.14.5" 822 | "@babel/plugin-transform-shorthand-properties" "^7.14.5" 823 | "@babel/plugin-transform-spread" "^7.14.6" 824 | "@babel/plugin-transform-sticky-regex" "^7.14.5" 825 | "@babel/plugin-transform-template-literals" "^7.14.5" 826 | "@babel/plugin-transform-typeof-symbol" "^7.14.5" 827 | "@babel/plugin-transform-unicode-escapes" "^7.14.5" 828 | "@babel/plugin-transform-unicode-regex" "^7.14.5" 829 | "@babel/preset-modules" "^0.1.4" 830 | "@babel/types" "^7.15.6" 831 | babel-plugin-polyfill-corejs2 "^0.2.2" 832 | babel-plugin-polyfill-corejs3 "^0.2.2" 833 | babel-plugin-polyfill-regenerator "^0.2.2" 834 | core-js-compat "^3.16.0" 835 | semver "^6.3.0" 836 | 837 | "@babel/preset-modules@^0.1.4": 838 | version "0.1.4" 839 | resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e" 840 | integrity sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg== 841 | dependencies: 842 | "@babel/helper-plugin-utils" "^7.0.0" 843 | "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" 844 | "@babel/plugin-transform-dotall-regex" "^7.4.4" 845 | "@babel/types" "^7.4.4" 846 | esutils "^2.0.2" 847 | 848 | "@babel/runtime@^7.8.4": 849 | version "7.15.4" 850 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.4.tgz#fd17d16bfdf878e6dd02d19753a39fa8a8d9c84a" 851 | integrity sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw== 852 | dependencies: 853 | regenerator-runtime "^0.13.4" 854 | 855 | "@babel/template@^7.15.4": 856 | version "7.15.4" 857 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.15.4.tgz#51898d35dcf3faa670c4ee6afcfd517ee139f194" 858 | integrity sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg== 859 | dependencies: 860 | "@babel/code-frame" "^7.14.5" 861 | "@babel/parser" "^7.15.4" 862 | "@babel/types" "^7.15.4" 863 | 864 | "@babel/traverse@^7.13.0", "@babel/traverse@^7.15.4": 865 | version "7.15.4" 866 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.15.4.tgz#ff8510367a144bfbff552d9e18e28f3e2889c22d" 867 | integrity sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA== 868 | dependencies: 869 | "@babel/code-frame" "^7.14.5" 870 | "@babel/generator" "^7.15.4" 871 | "@babel/helper-function-name" "^7.15.4" 872 | "@babel/helper-hoist-variables" "^7.15.4" 873 | "@babel/helper-split-export-declaration" "^7.15.4" 874 | "@babel/parser" "^7.15.4" 875 | "@babel/types" "^7.15.4" 876 | debug "^4.1.0" 877 | globals "^11.1.0" 878 | 879 | "@babel/types@^7.15.4", "@babel/types@^7.15.6", "@babel/types@^7.4.4": 880 | version "7.15.6" 881 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.15.6.tgz#99abdc48218b2881c058dd0a7ab05b99c9be758f" 882 | integrity sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig== 883 | dependencies: 884 | "@babel/helper-validator-identifier" "^7.14.9" 885 | to-fast-properties "^2.0.0" 886 | 887 | "@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3": 888 | version "2.1.8-no-fsevents.3" 889 | resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz#323d72dd25103d0c4fbdce89dadf574a787b1f9b" 890 | integrity sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ== 891 | 892 | "@ungap/promise-all-settled@1.1.2": 893 | version "1.1.2" 894 | resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" 895 | integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== 896 | 897 | ansi-colors@4.1.1: 898 | version "4.1.1" 899 | resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" 900 | integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== 901 | 902 | ansi-regex@^3.0.0: 903 | version "3.0.0" 904 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 905 | integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= 906 | 907 | ansi-regex@^5.0.0: 908 | version "5.0.1" 909 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" 910 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 911 | 912 | ansi-styles@^3.2.1: 913 | version "3.2.1" 914 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 915 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 916 | dependencies: 917 | color-convert "^1.9.0" 918 | 919 | ansi-styles@^4.0.0, ansi-styles@^4.1.0: 920 | version "4.3.0" 921 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 922 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 923 | dependencies: 924 | color-convert "^2.0.1" 925 | 926 | anymatch@~3.1.2: 927 | version "3.1.2" 928 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" 929 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== 930 | dependencies: 931 | normalize-path "^3.0.0" 932 | picomatch "^2.0.4" 933 | 934 | argparse@^2.0.1: 935 | version "2.0.1" 936 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" 937 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== 938 | 939 | babel-plugin-dynamic-import-node@^2.3.3: 940 | version "2.3.3" 941 | resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" 942 | integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== 943 | dependencies: 944 | object.assign "^4.1.0" 945 | 946 | babel-plugin-polyfill-corejs2@^0.2.2: 947 | version "0.2.2" 948 | resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz#e9124785e6fd94f94b618a7954e5693053bf5327" 949 | integrity sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ== 950 | dependencies: 951 | "@babel/compat-data" "^7.13.11" 952 | "@babel/helper-define-polyfill-provider" "^0.2.2" 953 | semver "^6.1.1" 954 | 955 | babel-plugin-polyfill-corejs3@^0.2.2: 956 | version "0.2.4" 957 | resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.4.tgz#68cb81316b0e8d9d721a92e0009ec6ecd4cd2ca9" 958 | integrity sha512-z3HnJE5TY/j4EFEa/qpQMSbcUJZ5JQi+3UFjXzn6pQCmIKc5Ug5j98SuYyH+m4xQnvKlMDIW4plLfgyVnd0IcQ== 959 | dependencies: 960 | "@babel/helper-define-polyfill-provider" "^0.2.2" 961 | core-js-compat "^3.14.0" 962 | 963 | babel-plugin-polyfill-regenerator@^0.2.2: 964 | version "0.2.2" 965 | resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz#b310c8d642acada348c1fa3b3e6ce0e851bee077" 966 | integrity sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg== 967 | dependencies: 968 | "@babel/helper-define-polyfill-provider" "^0.2.2" 969 | 970 | balanced-match@^1.0.0: 971 | version "1.0.2" 972 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 973 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 974 | 975 | binary-extensions@^2.0.0: 976 | version "2.2.0" 977 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" 978 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 979 | 980 | brace-expansion@^1.1.7: 981 | version "1.1.11" 982 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 983 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 984 | dependencies: 985 | balanced-match "^1.0.0" 986 | concat-map "0.0.1" 987 | 988 | braces@~3.0.2: 989 | version "3.0.2" 990 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 991 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 992 | dependencies: 993 | fill-range "^7.0.1" 994 | 995 | browser-stdout@1.3.1: 996 | version "1.3.1" 997 | resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" 998 | integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== 999 | 1000 | browserslist@^4.16.6, browserslist@^4.17.0: 1001 | version "4.17.0" 1002 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.17.0.tgz#1fcd81ec75b41d6d4994fb0831b92ac18c01649c" 1003 | integrity sha512-g2BJ2a0nEYvEFQC208q8mVAhfNwpZ5Mu8BwgtCdZKO3qx98HChmeg448fPdUzld8aFmfLgVh7yymqV+q1lJZ5g== 1004 | dependencies: 1005 | caniuse-lite "^1.0.30001254" 1006 | colorette "^1.3.0" 1007 | electron-to-chromium "^1.3.830" 1008 | escalade "^3.1.1" 1009 | node-releases "^1.1.75" 1010 | 1011 | call-bind@^1.0.0: 1012 | version "1.0.2" 1013 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" 1014 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== 1015 | dependencies: 1016 | function-bind "^1.1.1" 1017 | get-intrinsic "^1.0.2" 1018 | 1019 | camelcase@^6.0.0: 1020 | version "6.2.0" 1021 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" 1022 | integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== 1023 | 1024 | caniuse-lite@^1.0.30001254: 1025 | version "1.0.30001259" 1026 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001259.tgz#ae21691d3da9c4be6144403ac40f71d9f6efd790" 1027 | integrity sha512-V7mQTFhjITxuk9zBpI6nYsiTXhcPe05l+364nZjK7MFK/E7ibvYBSAXr4YcA6oPR8j3ZLM/LN+lUqUVAQEUZFg== 1028 | 1029 | chalk@^2.0.0: 1030 | version "2.4.2" 1031 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 1032 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 1033 | dependencies: 1034 | ansi-styles "^3.2.1" 1035 | escape-string-regexp "^1.0.5" 1036 | supports-color "^5.3.0" 1037 | 1038 | chalk@^4.1.0: 1039 | version "4.1.2" 1040 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" 1041 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 1042 | dependencies: 1043 | ansi-styles "^4.1.0" 1044 | supports-color "^7.1.0" 1045 | 1046 | chokidar@3.5.2, chokidar@^3.4.0: 1047 | version "3.5.2" 1048 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" 1049 | integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== 1050 | dependencies: 1051 | anymatch "~3.1.2" 1052 | braces "~3.0.2" 1053 | glob-parent "~5.1.2" 1054 | is-binary-path "~2.1.0" 1055 | is-glob "~4.0.1" 1056 | normalize-path "~3.0.0" 1057 | readdirp "~3.6.0" 1058 | optionalDependencies: 1059 | fsevents "~2.3.2" 1060 | 1061 | cliui@^7.0.2: 1062 | version "7.0.4" 1063 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" 1064 | integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== 1065 | dependencies: 1066 | string-width "^4.2.0" 1067 | strip-ansi "^6.0.0" 1068 | wrap-ansi "^7.0.0" 1069 | 1070 | color-convert@^1.9.0: 1071 | version "1.9.3" 1072 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 1073 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 1074 | dependencies: 1075 | color-name "1.1.3" 1076 | 1077 | color-convert@^2.0.1: 1078 | version "2.0.1" 1079 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 1080 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 1081 | dependencies: 1082 | color-name "~1.1.4" 1083 | 1084 | color-name@1.1.3: 1085 | version "1.1.3" 1086 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 1087 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 1088 | 1089 | color-name@~1.1.4: 1090 | version "1.1.4" 1091 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 1092 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 1093 | 1094 | colorette@^1.3.0: 1095 | version "1.4.0" 1096 | resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" 1097 | integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== 1098 | 1099 | commander@^4.0.1: 1100 | version "4.1.1" 1101 | resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" 1102 | integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== 1103 | 1104 | concat-map@0.0.1: 1105 | version "0.0.1" 1106 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 1107 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 1108 | 1109 | convert-source-map@^1.1.0, convert-source-map@^1.7.0: 1110 | version "1.8.0" 1111 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" 1112 | integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== 1113 | dependencies: 1114 | safe-buffer "~5.1.1" 1115 | 1116 | core-js-compat@^3.14.0, core-js-compat@^3.16.0: 1117 | version "3.18.0" 1118 | resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.18.0.tgz#fb360652201e8ac8da812718c008cd0482ed9b42" 1119 | integrity sha512-tRVjOJu4PxdXjRMEgbP7lqWy1TWJu9a01oBkn8d+dNrhgmBwdTkzhHZpVJnEmhISLdoJI1lX08rcBcHi3TZIWg== 1120 | dependencies: 1121 | browserslist "^4.17.0" 1122 | semver "7.0.0" 1123 | 1124 | debug@4.3.1: 1125 | version "4.3.1" 1126 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" 1127 | integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== 1128 | dependencies: 1129 | ms "2.1.2" 1130 | 1131 | debug@^4.1.0, debug@^4.1.1: 1132 | version "4.3.2" 1133 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" 1134 | integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== 1135 | dependencies: 1136 | ms "2.1.2" 1137 | 1138 | decamelize@^4.0.0: 1139 | version "4.0.0" 1140 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" 1141 | integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== 1142 | 1143 | define-properties@^1.1.3: 1144 | version "1.1.3" 1145 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" 1146 | integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== 1147 | dependencies: 1148 | object-keys "^1.0.12" 1149 | 1150 | diff@5.0.0: 1151 | version "5.0.0" 1152 | resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" 1153 | integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== 1154 | 1155 | electron-to-chromium@^1.3.830: 1156 | version "1.3.845" 1157 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.845.tgz#326d3be3ee5d2c065f689119d441c997f9fd41d8" 1158 | integrity sha512-y0RorqmExFDI4RjLEC6j365bIT5UAXf9WIRcknvSFHVhbC/dRnCgJnPA3DUUW6SCC85QGKEafgqcHJ6uPdEP1Q== 1159 | 1160 | emoji-regex@^8.0.0: 1161 | version "8.0.0" 1162 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 1163 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 1164 | 1165 | escalade@^3.1.1: 1166 | version "3.1.1" 1167 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 1168 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 1169 | 1170 | escape-string-regexp@4.0.0: 1171 | version "4.0.0" 1172 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" 1173 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== 1174 | 1175 | escape-string-regexp@^1.0.5: 1176 | version "1.0.5" 1177 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 1178 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 1179 | 1180 | esutils@^2.0.2: 1181 | version "2.0.3" 1182 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 1183 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 1184 | 1185 | fill-range@^7.0.1: 1186 | version "7.0.1" 1187 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 1188 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 1189 | dependencies: 1190 | to-regex-range "^5.0.1" 1191 | 1192 | find-up@5.0.0: 1193 | version "5.0.0" 1194 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" 1195 | integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== 1196 | dependencies: 1197 | locate-path "^6.0.0" 1198 | path-exists "^4.0.0" 1199 | 1200 | flat@^5.0.2: 1201 | version "5.0.2" 1202 | resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" 1203 | integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== 1204 | 1205 | fs-readdir-recursive@^1.1.0: 1206 | version "1.1.0" 1207 | resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" 1208 | integrity sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA== 1209 | 1210 | fs.realpath@^1.0.0: 1211 | version "1.0.0" 1212 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1213 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 1214 | 1215 | fsevents@~2.3.2: 1216 | version "2.3.2" 1217 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 1218 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 1219 | 1220 | function-bind@^1.1.1: 1221 | version "1.1.1" 1222 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 1223 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 1224 | 1225 | gensync@^1.0.0-beta.2: 1226 | version "1.0.0-beta.2" 1227 | resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" 1228 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== 1229 | 1230 | get-caller-file@^2.0.5: 1231 | version "2.0.5" 1232 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" 1233 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== 1234 | 1235 | get-intrinsic@^1.0.2: 1236 | version "1.1.1" 1237 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" 1238 | integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== 1239 | dependencies: 1240 | function-bind "^1.1.1" 1241 | has "^1.0.3" 1242 | has-symbols "^1.0.1" 1243 | 1244 | glob-parent@~5.1.2: 1245 | version "5.1.2" 1246 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 1247 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 1248 | dependencies: 1249 | is-glob "^4.0.1" 1250 | 1251 | glob@7.1.7, glob@^7.0.0: 1252 | version "7.1.7" 1253 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" 1254 | integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== 1255 | dependencies: 1256 | fs.realpath "^1.0.0" 1257 | inflight "^1.0.4" 1258 | inherits "2" 1259 | minimatch "^3.0.4" 1260 | once "^1.3.0" 1261 | path-is-absolute "^1.0.0" 1262 | 1263 | globals@^11.1.0: 1264 | version "11.12.0" 1265 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" 1266 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== 1267 | 1268 | graphql@^15.0.0: 1269 | version "15.6.0" 1270 | resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.6.0.tgz#e69323c6a9780a1a4b9ddf7e35ca8904bb04df02" 1271 | integrity sha512-WJR872Zlc9hckiEPhXgyUftXH48jp2EjO5tgBBOyNMRJZ9fviL2mJBD6CAysk6N5S0r9BTs09Qk39nnJBkvOXQ== 1272 | 1273 | growl@1.10.5: 1274 | version "1.10.5" 1275 | resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" 1276 | integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== 1277 | 1278 | has-flag@^3.0.0: 1279 | version "3.0.0" 1280 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 1281 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 1282 | 1283 | has-flag@^4.0.0: 1284 | version "4.0.0" 1285 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 1286 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 1287 | 1288 | has-symbols@^1.0.1: 1289 | version "1.0.2" 1290 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" 1291 | integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== 1292 | 1293 | has@^1.0.3: 1294 | version "1.0.3" 1295 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 1296 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 1297 | dependencies: 1298 | function-bind "^1.1.1" 1299 | 1300 | he@1.2.0: 1301 | version "1.2.0" 1302 | resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" 1303 | integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== 1304 | 1305 | inflight@^1.0.4: 1306 | version "1.0.6" 1307 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1308 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 1309 | dependencies: 1310 | once "^1.3.0" 1311 | wrappy "1" 1312 | 1313 | inherits@2: 1314 | version "2.0.4" 1315 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1316 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1317 | 1318 | is-binary-path@~2.1.0: 1319 | version "2.1.0" 1320 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 1321 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 1322 | dependencies: 1323 | binary-extensions "^2.0.0" 1324 | 1325 | is-core-module@^2.2.0: 1326 | version "2.6.0" 1327 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.6.0.tgz#d7553b2526fe59b92ba3e40c8df757ec8a709e19" 1328 | integrity sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ== 1329 | dependencies: 1330 | has "^1.0.3" 1331 | 1332 | is-extglob@^2.1.1: 1333 | version "2.1.1" 1334 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1335 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 1336 | 1337 | is-fullwidth-code-point@^2.0.0: 1338 | version "2.0.0" 1339 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 1340 | integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= 1341 | 1342 | is-fullwidth-code-point@^3.0.0: 1343 | version "3.0.0" 1344 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" 1345 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 1346 | 1347 | is-glob@^4.0.1, is-glob@~4.0.1: 1348 | version "4.0.1" 1349 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" 1350 | integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== 1351 | dependencies: 1352 | is-extglob "^2.1.1" 1353 | 1354 | is-number@^7.0.0: 1355 | version "7.0.0" 1356 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 1357 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 1358 | 1359 | is-plain-obj@^2.1.0: 1360 | version "2.1.0" 1361 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" 1362 | integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== 1363 | 1364 | is-unicode-supported@^0.1.0: 1365 | version "0.1.0" 1366 | resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" 1367 | integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== 1368 | 1369 | isexe@^2.0.0: 1370 | version "2.0.0" 1371 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1372 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 1373 | 1374 | js-tokens@^4.0.0: 1375 | version "4.0.0" 1376 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 1377 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 1378 | 1379 | js-yaml@4.1.0: 1380 | version "4.1.0" 1381 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" 1382 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== 1383 | dependencies: 1384 | argparse "^2.0.1" 1385 | 1386 | jsesc@^2.5.1: 1387 | version "2.5.2" 1388 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" 1389 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== 1390 | 1391 | jsesc@~0.5.0: 1392 | version "0.5.0" 1393 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" 1394 | integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= 1395 | 1396 | json5@^2.1.2: 1397 | version "2.2.0" 1398 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" 1399 | integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== 1400 | dependencies: 1401 | minimist "^1.2.5" 1402 | 1403 | locate-path@^6.0.0: 1404 | version "6.0.0" 1405 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" 1406 | integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== 1407 | dependencies: 1408 | p-locate "^5.0.0" 1409 | 1410 | lodash.debounce@^4.0.8: 1411 | version "4.0.8" 1412 | resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" 1413 | integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= 1414 | 1415 | log-symbols@4.1.0: 1416 | version "4.1.0" 1417 | resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" 1418 | integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== 1419 | dependencies: 1420 | chalk "^4.1.0" 1421 | is-unicode-supported "^0.1.0" 1422 | 1423 | make-dir@^2.1.0: 1424 | version "2.1.0" 1425 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" 1426 | integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== 1427 | dependencies: 1428 | pify "^4.0.1" 1429 | semver "^5.6.0" 1430 | 1431 | minimatch@3.0.4, minimatch@^3.0.4: 1432 | version "3.0.4" 1433 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 1434 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 1435 | dependencies: 1436 | brace-expansion "^1.1.7" 1437 | 1438 | minimist@^1.2.5: 1439 | version "1.2.5" 1440 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" 1441 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== 1442 | 1443 | mocha@^9.1.1: 1444 | version "9.1.1" 1445 | resolved "https://registry.yarnpkg.com/mocha/-/mocha-9.1.1.tgz#33df2eb9c6262434630510c5f4283b36efda9b61" 1446 | integrity sha512-0wE74YMgOkCgBUj8VyIDwmLUjTsS13WV1Pg7l0SHea2qzZzlq7MDnfbPsHKcELBRk3+izEVkRofjmClpycudCA== 1447 | dependencies: 1448 | "@ungap/promise-all-settled" "1.1.2" 1449 | ansi-colors "4.1.1" 1450 | browser-stdout "1.3.1" 1451 | chokidar "3.5.2" 1452 | debug "4.3.1" 1453 | diff "5.0.0" 1454 | escape-string-regexp "4.0.0" 1455 | find-up "5.0.0" 1456 | glob "7.1.7" 1457 | growl "1.10.5" 1458 | he "1.2.0" 1459 | js-yaml "4.1.0" 1460 | log-symbols "4.1.0" 1461 | minimatch "3.0.4" 1462 | ms "2.1.3" 1463 | nanoid "3.1.23" 1464 | serialize-javascript "6.0.0" 1465 | strip-json-comments "3.1.1" 1466 | supports-color "8.1.1" 1467 | which "2.0.2" 1468 | wide-align "1.1.3" 1469 | workerpool "6.1.5" 1470 | yargs "16.2.0" 1471 | yargs-parser "20.2.4" 1472 | yargs-unparser "2.0.0" 1473 | 1474 | ms@2.1.2: 1475 | version "2.1.2" 1476 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 1477 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1478 | 1479 | ms@2.1.3: 1480 | version "2.1.3" 1481 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 1482 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 1483 | 1484 | nanoid@3.1.23: 1485 | version "3.1.23" 1486 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81" 1487 | integrity sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw== 1488 | 1489 | node-releases@^1.1.75: 1490 | version "1.1.76" 1491 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.76.tgz#df245b062b0cafbd5282ab6792f7dccc2d97f36e" 1492 | integrity sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA== 1493 | 1494 | normalize-path@^3.0.0, normalize-path@~3.0.0: 1495 | version "3.0.0" 1496 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 1497 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 1498 | 1499 | object-keys@^1.0.12, object-keys@^1.1.1: 1500 | version "1.1.1" 1501 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 1502 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== 1503 | 1504 | object.assign@^4.1.0: 1505 | version "4.1.2" 1506 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" 1507 | integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== 1508 | dependencies: 1509 | call-bind "^1.0.0" 1510 | define-properties "^1.1.3" 1511 | has-symbols "^1.0.1" 1512 | object-keys "^1.1.1" 1513 | 1514 | once@^1.3.0: 1515 | version "1.4.0" 1516 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1517 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 1518 | dependencies: 1519 | wrappy "1" 1520 | 1521 | p-limit@^3.0.2: 1522 | version "3.1.0" 1523 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" 1524 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== 1525 | dependencies: 1526 | yocto-queue "^0.1.0" 1527 | 1528 | p-locate@^5.0.0: 1529 | version "5.0.0" 1530 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" 1531 | integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== 1532 | dependencies: 1533 | p-limit "^3.0.2" 1534 | 1535 | path-exists@^4.0.0: 1536 | version "4.0.0" 1537 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 1538 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 1539 | 1540 | path-is-absolute@^1.0.0: 1541 | version "1.0.1" 1542 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1543 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 1544 | 1545 | path-parse@^1.0.6: 1546 | version "1.0.7" 1547 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 1548 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 1549 | 1550 | picomatch@^2.0.4, picomatch@^2.2.1: 1551 | version "2.3.0" 1552 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" 1553 | integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== 1554 | 1555 | pify@^4.0.1: 1556 | version "4.0.1" 1557 | resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" 1558 | integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== 1559 | 1560 | randombytes@^2.1.0: 1561 | version "2.1.0" 1562 | resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" 1563 | integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== 1564 | dependencies: 1565 | safe-buffer "^5.1.0" 1566 | 1567 | readdirp@~3.6.0: 1568 | version "3.6.0" 1569 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" 1570 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== 1571 | dependencies: 1572 | picomatch "^2.2.1" 1573 | 1574 | regenerate-unicode-properties@^9.0.0: 1575 | version "9.0.0" 1576 | resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz#54d09c7115e1f53dc2314a974b32c1c344efe326" 1577 | integrity sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA== 1578 | dependencies: 1579 | regenerate "^1.4.2" 1580 | 1581 | regenerate@^1.4.2: 1582 | version "1.4.2" 1583 | resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" 1584 | integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== 1585 | 1586 | regenerator-runtime@^0.13.4: 1587 | version "0.13.9" 1588 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" 1589 | integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== 1590 | 1591 | regenerator-transform@^0.14.2: 1592 | version "0.14.5" 1593 | resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" 1594 | integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== 1595 | dependencies: 1596 | "@babel/runtime" "^7.8.4" 1597 | 1598 | regexpu-core@^4.7.1: 1599 | version "4.8.0" 1600 | resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.8.0.tgz#e5605ba361b67b1718478501327502f4479a98f0" 1601 | integrity sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg== 1602 | dependencies: 1603 | regenerate "^1.4.2" 1604 | regenerate-unicode-properties "^9.0.0" 1605 | regjsgen "^0.5.2" 1606 | regjsparser "^0.7.0" 1607 | unicode-match-property-ecmascript "^2.0.0" 1608 | unicode-match-property-value-ecmascript "^2.0.0" 1609 | 1610 | regjsgen@^0.5.2: 1611 | version "0.5.2" 1612 | resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" 1613 | integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== 1614 | 1615 | regjsparser@^0.7.0: 1616 | version "0.7.0" 1617 | resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.7.0.tgz#a6b667b54c885e18b52554cb4960ef71187e9968" 1618 | integrity sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ== 1619 | dependencies: 1620 | jsesc "~0.5.0" 1621 | 1622 | require-directory@^2.1.1: 1623 | version "2.1.1" 1624 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 1625 | integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= 1626 | 1627 | resolve@^1.14.2: 1628 | version "1.20.0" 1629 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" 1630 | integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== 1631 | dependencies: 1632 | is-core-module "^2.2.0" 1633 | path-parse "^1.0.6" 1634 | 1635 | safe-buffer@^5.1.0: 1636 | version "5.2.1" 1637 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 1638 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 1639 | 1640 | safe-buffer@~5.1.1: 1641 | version "5.1.2" 1642 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 1643 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 1644 | 1645 | semver@7.0.0: 1646 | version "7.0.0" 1647 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" 1648 | integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== 1649 | 1650 | semver@^5.6.0: 1651 | version "5.7.1" 1652 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 1653 | integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== 1654 | 1655 | semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: 1656 | version "6.3.0" 1657 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 1658 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 1659 | 1660 | serialize-javascript@6.0.0: 1661 | version "6.0.0" 1662 | resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" 1663 | integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== 1664 | dependencies: 1665 | randombytes "^2.1.0" 1666 | 1667 | slash@^2.0.0: 1668 | version "2.0.0" 1669 | resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" 1670 | integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== 1671 | 1672 | source-map@^0.5.0: 1673 | version "0.5.7" 1674 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 1675 | integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= 1676 | 1677 | "string-width@^1.0.2 || 2": 1678 | version "2.1.1" 1679 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 1680 | integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== 1681 | dependencies: 1682 | is-fullwidth-code-point "^2.0.0" 1683 | strip-ansi "^4.0.0" 1684 | 1685 | string-width@^4.1.0, string-width@^4.2.0: 1686 | version "4.2.2" 1687 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" 1688 | integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== 1689 | dependencies: 1690 | emoji-regex "^8.0.0" 1691 | is-fullwidth-code-point "^3.0.0" 1692 | strip-ansi "^6.0.0" 1693 | 1694 | strip-ansi@^4.0.0: 1695 | version "4.0.0" 1696 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 1697 | integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= 1698 | dependencies: 1699 | ansi-regex "^3.0.0" 1700 | 1701 | strip-ansi@^6.0.0: 1702 | version "6.0.0" 1703 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" 1704 | integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== 1705 | dependencies: 1706 | ansi-regex "^5.0.0" 1707 | 1708 | strip-json-comments@3.1.1: 1709 | version "3.1.1" 1710 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" 1711 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 1712 | 1713 | supports-color@8.1.1: 1714 | version "8.1.1" 1715 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" 1716 | integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== 1717 | dependencies: 1718 | has-flag "^4.0.0" 1719 | 1720 | supports-color@^5.3.0: 1721 | version "5.5.0" 1722 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 1723 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 1724 | dependencies: 1725 | has-flag "^3.0.0" 1726 | 1727 | supports-color@^7.1.0: 1728 | version "7.2.0" 1729 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 1730 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 1731 | dependencies: 1732 | has-flag "^4.0.0" 1733 | 1734 | to-fast-properties@^2.0.0: 1735 | version "2.0.0" 1736 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 1737 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= 1738 | 1739 | to-regex-range@^5.0.1: 1740 | version "5.0.1" 1741 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 1742 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 1743 | dependencies: 1744 | is-number "^7.0.0" 1745 | 1746 | unicode-canonical-property-names-ecmascript@^2.0.0: 1747 | version "2.0.0" 1748 | resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" 1749 | integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== 1750 | 1751 | unicode-match-property-ecmascript@^2.0.0: 1752 | version "2.0.0" 1753 | resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" 1754 | integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== 1755 | dependencies: 1756 | unicode-canonical-property-names-ecmascript "^2.0.0" 1757 | unicode-property-aliases-ecmascript "^2.0.0" 1758 | 1759 | unicode-match-property-value-ecmascript@^2.0.0: 1760 | version "2.0.0" 1761 | resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714" 1762 | integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== 1763 | 1764 | unicode-property-aliases-ecmascript@^2.0.0: 1765 | version "2.0.0" 1766 | resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" 1767 | integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== 1768 | 1769 | which@2.0.2: 1770 | version "2.0.2" 1771 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 1772 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 1773 | dependencies: 1774 | isexe "^2.0.0" 1775 | 1776 | wide-align@1.1.3: 1777 | version "1.1.3" 1778 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" 1779 | integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== 1780 | dependencies: 1781 | string-width "^1.0.2 || 2" 1782 | 1783 | workerpool@6.1.5: 1784 | version "6.1.5" 1785 | resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.1.5.tgz#0f7cf076b6215fd7e1da903ff6f22ddd1886b581" 1786 | integrity sha512-XdKkCK0Zqc6w3iTxLckiuJ81tiD/o5rBE/m+nXpRCB+/Sq4DqkfXZ/x0jW02DG1tGsfUGXbTJyZDP+eu67haSw== 1787 | 1788 | wrap-ansi@^7.0.0: 1789 | version "7.0.0" 1790 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" 1791 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== 1792 | dependencies: 1793 | ansi-styles "^4.0.0" 1794 | string-width "^4.1.0" 1795 | strip-ansi "^6.0.0" 1796 | 1797 | wrappy@1: 1798 | version "1.0.2" 1799 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1800 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 1801 | 1802 | y18n@^5.0.5: 1803 | version "5.0.8" 1804 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" 1805 | integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== 1806 | 1807 | yargs-parser@20.2.4: 1808 | version "20.2.4" 1809 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" 1810 | integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== 1811 | 1812 | yargs-parser@^20.2.2: 1813 | version "20.2.9" 1814 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" 1815 | integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== 1816 | 1817 | yargs-unparser@2.0.0: 1818 | version "2.0.0" 1819 | resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" 1820 | integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== 1821 | dependencies: 1822 | camelcase "^6.0.0" 1823 | decamelize "^4.0.0" 1824 | flat "^5.0.2" 1825 | is-plain-obj "^2.1.0" 1826 | 1827 | yargs@16.2.0: 1828 | version "16.2.0" 1829 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" 1830 | integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== 1831 | dependencies: 1832 | cliui "^7.0.2" 1833 | escalade "^3.1.1" 1834 | get-caller-file "^2.0.5" 1835 | require-directory "^2.1.1" 1836 | string-width "^4.2.0" 1837 | y18n "^5.0.5" 1838 | yargs-parser "^20.2.2" 1839 | 1840 | yocto-queue@^0.1.0: 1841 | version "0.1.0" 1842 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" 1843 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== 1844 | --------------------------------------------------------------------------------