├── .eslintignore ├── .eslintrc ├── .gitignore ├── .npmignore ├── .travis.yml ├── LICENSE ├── README.md ├── babel.config.js ├── package-lock.json ├── package.json ├── src ├── index.js └── print-icu-message.js ├── test ├── __snapshots__ │ └── index.test.js.snap ├── fixtures │ ├── FormattedHTMLMessage │ │ ├── actual.js │ │ └── expected.json │ ├── FormattedMessage │ │ ├── actual.js │ │ └── expected.json │ ├── additionalComponentNames │ │ ├── actual.js │ │ └── expected.json │ ├── defineMessages │ │ ├── actual.js │ │ └── expected.json │ ├── descriptionsAsObjects │ │ ├── actual.js │ │ └── expected.json │ ├── enforceDescriptions │ │ └── actual.js │ ├── extractSourceLocation │ │ ├── actual.js │ │ └── expected.json │ ├── formatMessage │ │ ├── actual.js │ │ └── expected.json │ ├── icuSyntax │ │ └── actual.js │ ├── moduleSourceName │ │ ├── actual.js │ │ └── expected.json │ ├── overrideIdFn │ │ ├── actual.js │ │ └── expected.json │ ├── removeDefaultMessage │ │ ├── actual.js │ │ └── expected.json │ └── removeDescriptions │ │ └── actual.js └── index.test.js └── yarn.lock /.eslintignore: -------------------------------------------------------------------------------- 1 | test/**/expected.js 2 | -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "parserOptions": { 3 | "ecmaVersion": 2018, 4 | "sourceType": "module", 5 | "ecmaFeatures": { 6 | "jsx": true 7 | } 8 | }, 9 | "extends": "eslint:recommended", 10 | "env": { 11 | "es6": true, 12 | "node": true, 13 | "mocha": true 14 | }, 15 | "plugins": [ 16 | "react" 17 | ], 18 | "rules": { 19 | "no-console": 0, 20 | "eqeqeq": 2, 21 | "linebreak-style": [2, "unix"], 22 | "prefer-arrow-callback": 2, 23 | "quotes": [2, "single", "avoid-escape"], 24 | "semi": [2, "always"], 25 | "strict": [2, "never"], 26 | "yoda": [2, "never"], 27 | 28 | "no-alert": 2, 29 | "no-const-assign": 2, 30 | "no-else-return": 2, 31 | "no-this-before-super": 2, 32 | "no-unexpected-multiline": 2, 33 | "no-var": 2, 34 | "no-warning-comments": 1, 35 | 36 | "react/jsx-uses-react": 2, 37 | "react/jsx-uses-vars": 2 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | *.log 3 | lib 4 | test/fixtures/*/actual.json 5 | .nyc_output -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | scripts/ 3 | src/ 4 | test/ 5 | *.log 6 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: node_js 3 | node_js: 4 | - 8 5 | - 10 6 | - 12 7 | script: npm run lint && npm test -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015, Yahoo Inc. 2 | 3 | Licensed under the terms of the New BSD license. See below for terms. 4 | 5 | Redistribution and use of this software in source and binary forms, 6 | with or without modification, are permitted provided that the following 7 | conditions are met: 8 | 9 | * Redistributions of source code must retain the above 10 | copyright notice, this list of conditions and the 11 | following disclaimer. 12 | 13 | * Redistributions in binary form must reproduce the above 14 | copyright notice, this list of conditions and the 15 | following disclaimer in the documentation and/or other 16 | materials provided with the distribution. 17 | 18 | * Neither the name of Yahoo Inc. nor the names of its 19 | contributors may be used to endorse or promote products 20 | derived from this software without specific prior 21 | written permission of Yahoo Inc. 22 | 23 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 24 | IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 25 | TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 26 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 27 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 28 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 29 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 30 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 31 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 32 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 33 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 34 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # This repo was migrated to the [monorepo](https://github.com/formatjs/formatjs/tree/master/packages/babel-plugin-react-intl) 2 | 3 | # babel-plugin-react-intl 4 | 5 | ![travis](https://travis-ci.org/formatjs/babel-plugin-react-intl.svg?branch=master) 6 | 7 | Extracts string messages for translation from modules that use [React Intl][]. 8 | ## Dependencies 9 | 10 | ### React Intl 11 | This Babel plugin works with React Intl v2.x 12 | 13 | ### Babel 14 | - **3.x** of this plugin works with Babel 7 15 | - **2.x** works with Babel 6 16 | - **1.x** works with Babel 5 17 | 18 | ## Installation 19 | 20 | ```sh 21 | $ npm install babel-plugin-react-intl 22 | ``` 23 | 24 | ## Usage 25 | 26 | **This Babel plugin only visits ES6 modules which `import` React Intl.** 27 | 28 | The default message descriptors for the app's default language will be extracted from: `defineMessages()`, ``, and ``; all of which are named exports of the React Intl package. 29 | 30 | If a message descriptor has a `description`, it'll be removed from the source after it's extracted to save bytes since it isn't used at runtime. 31 | 32 | ### Via `.babelrc` (Recommended) 33 | 34 | **.babelrc** 35 | 36 | ```json 37 | { 38 | "plugins": [ 39 | ["react-intl", { 40 | "messagesDir": "./build/messages/" 41 | }] 42 | ] 43 | } 44 | ``` 45 | 46 | #### Options 47 | 48 | - **`messagesDir`**: The target location where the plugin will output a `.json` file corresponding to each component from which React Intl messages were extracted. If not provided, the extracted message descriptors will only be accessible via Babel's API. 49 | 50 | - **`enforceDescriptions`**: Whether message declarations _must_ contain a `description` to provide context to translators. Defaults to: `false`. 51 | 52 | - **`extractSourceLocation`**: Whether the metadata about the location of the message in the source file should be extracted. If `true`, then `file`, `start`, and `end` fields will exist for each extracted message descriptors. Defaults to `false`. 53 | 54 | - **`moduleSourceName`**: The ES6 module source name of the React Intl package. Defaults to: `"react-intl"`, but can be changed to another name/path to React Intl. 55 | 56 | - **`overrideIdFn`**: A function with the signature `(id: string, defaultMessage: string, description: string|object) => string` which allows you to override the ID both in the extracted javascript and messages. 57 | 58 | - **`removeDefaultMessage`**: Remove `defaultMessage` field in generated js after extraction. 59 | 60 | - **`additionalComponentNames`**: Additional component names to extract messages from, e.g: `['FormattedFooBarMessage']`. **NOTE**: By default we check for the fact that `FormattedMessage` & `FormattedHTMLMessage` are imported from `moduleSourceName` to make sure variable alias works. This option does not do that so it's less safe. 61 | 62 | ### Via Node API 63 | 64 | The extract message descriptors are available via the `metadata` property on the object returned from Babel's `transform()` API: 65 | 66 | ```javascript 67 | require('@babel/core').transform('code', { 68 | plugins: ['react-intl'] 69 | }) // => { code, map, ast, metadata['react-intl'].messages }; 70 | ``` 71 | 72 | 73 | [React Intl]: http://formatjs.io/react/ 74 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | // babel.config.js 2 | module.exports = { 3 | presets: [ 4 | [ 5 | '@babel/preset-env', 6 | { 7 | targets: { 8 | node: '8' 9 | } 10 | } 11 | ], 12 | '@babel/preset-react' 13 | ] 14 | }; 15 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "babel-plugin-react-intl", 3 | "version": "3.0.1", 4 | "description": "Extracts string messages for translation from modules that use React Intl.", 5 | "repository": { 6 | "type": "git", 7 | "url": "git+https://github.com/formatjs/babel-plugin-react-intl.git" 8 | }, 9 | "license": "BSD-3-Clause", 10 | "main": "lib/index.js", 11 | "author": "Eric Ferraiuolo ", 12 | "dependencies": { 13 | "intl-messageformat-parser": "^1.4.0", 14 | "fs-extra": "^8.0.1" 15 | }, 16 | "devDependencies": { 17 | "@babel/cli": "^7.2.3", 18 | "@babel/core": "^7.2.2", 19 | "@babel/preset-env": "^7.3.1", 20 | "@babel/preset-react": "^7.0.0", 21 | "babel-jest": "^24.8.0", 22 | "cross-env": "^5.2.0", 23 | "eslint": "^5.12.1", 24 | "eslint-plugin-react": "^7.12.4", 25 | "jest": "^24.8.0", 26 | "prettier": "^1.17.1", 27 | "rimraf": "^2.6.3" 28 | }, 29 | "scripts": { 30 | "prettier": "prettier --write '{src,scripts}/*.js' test/index.js", 31 | "lint": "eslint src --fix", 32 | "clean": "rimraf lib test/fixtures/**/actual.json", 33 | "test": "cross-env NODE_ENV=test jest", 34 | "cover": "nyc npm t", 35 | "build": "npm run clean && babel src --out-dir lib", 36 | "preversion": "npm run lint && npm run prettier && npm run build", 37 | "prepublishOnly": "npm run build" 38 | }, 39 | "keywords": [ 40 | "babel-plugin", 41 | "react-intl" 42 | ], 43 | "bugs": { 44 | "url": "https://github.com/formatjs/babel-plugin-react-intl/issues" 45 | }, 46 | "homepage": "https://github.com/formatjs/babel-plugin-react-intl#readme", 47 | "prettier": { 48 | "singleQuote": true 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015, Yahoo Inc. 3 | * Copyrights licensed under the New BSD License. 4 | * See the accompanying LICENSE file for terms. 5 | */ 6 | 7 | import * as p from 'path'; 8 | import { writeFileSync } from 'fs'; 9 | import { mkdirpSync } from 'fs-extra'; 10 | import printICUMessage from './print-icu-message'; 11 | 12 | const DEFAULT_COMPONENT_NAMES = ['FormattedMessage', 'FormattedHTMLMessage']; 13 | 14 | const FUNCTION_NAMES = ['defineMessages']; 15 | 16 | const DESCRIPTOR_PROPS = new Set(['id', 'description', 'defaultMessage']); 17 | 18 | const EXTRACTED = Symbol('ReactIntlExtracted'); 19 | const MESSAGES = Symbol('ReactIntlMessages'); 20 | 21 | export default function({ types: t }) { 22 | function getModuleSourceName(opts) { 23 | return opts.moduleSourceName || 'react-intl'; 24 | } 25 | 26 | function evaluatePath(path) { 27 | const evaluated = path.evaluate(); 28 | if (evaluated.confident) { 29 | return evaluated.value; 30 | } 31 | 32 | throw path.buildCodeFrameError( 33 | '[React Intl] Messages must be statically evaluate-able for extraction.' 34 | ); 35 | } 36 | 37 | function getMessageDescriptorKey(path) { 38 | if (path.isIdentifier() || path.isJSXIdentifier()) { 39 | return path.node.name; 40 | } 41 | 42 | return evaluatePath(path); 43 | } 44 | 45 | function getMessageDescriptorValue(path) { 46 | if (path.isJSXExpressionContainer()) { 47 | path = path.get('expression'); 48 | } 49 | 50 | // Always trim the Message Descriptor values. 51 | const descriptorValue = evaluatePath(path); 52 | 53 | if (typeof descriptorValue === 'string') { 54 | return descriptorValue.trim(); 55 | } 56 | 57 | return descriptorValue; 58 | } 59 | 60 | function getICUMessageValue(messagePath, { isJSXSource = false } = {}) { 61 | const message = getMessageDescriptorValue(messagePath); 62 | 63 | try { 64 | return printICUMessage(message); 65 | } catch (parseError) { 66 | if ( 67 | isJSXSource && 68 | messagePath.isLiteral() && 69 | message.indexOf('\\\\') >= 0 70 | ) { 71 | throw messagePath.buildCodeFrameError( 72 | '[React Intl] Message failed to parse. ' + 73 | 'It looks like `\\`s were used for escaping, ' + 74 | "this won't work with JSX string literals. " + 75 | 'Wrap with `{}`. ' + 76 | 'See: http://facebook.github.io/react/docs/jsx-gotchas.html' 77 | ); 78 | } 79 | 80 | throw messagePath.buildCodeFrameError( 81 | '[React Intl] Message failed to parse. ' + 82 | 'See: http://formatjs.io/guides/message-syntax/' + 83 | `\n${parseError}` 84 | ); 85 | } 86 | } 87 | 88 | function createMessageDescriptor(propPaths) { 89 | return propPaths.reduce((hash, [keyPath, valuePath]) => { 90 | const key = getMessageDescriptorKey(keyPath); 91 | 92 | if (DESCRIPTOR_PROPS.has(key)) { 93 | hash[key] = valuePath; 94 | } 95 | 96 | return hash; 97 | }, {}); 98 | } 99 | 100 | function evaluateMessageDescriptor( 101 | { ...descriptor }, 102 | { isJSXSource = false, overrideIdFn } = {} 103 | ) { 104 | Object.keys(descriptor).forEach(key => { 105 | const valuePath = descriptor[key]; 106 | 107 | if (key === 'defaultMessage') { 108 | descriptor[key] = getICUMessageValue(valuePath, { isJSXSource }); 109 | } else { 110 | descriptor[key] = getMessageDescriptorValue(valuePath); 111 | } 112 | }); 113 | 114 | if (overrideIdFn) { 115 | descriptor.id = overrideIdFn( 116 | descriptor.id, 117 | descriptor.defaultMessage, 118 | descriptor.description 119 | ); 120 | } 121 | 122 | return descriptor; 123 | } 124 | 125 | function storeMessage({ id, description, defaultMessage }, path, state) { 126 | const { file, opts } = state; 127 | 128 | if (!(id && defaultMessage)) { 129 | throw path.buildCodeFrameError( 130 | '[React Intl] Message Descriptors require an `id` and `defaultMessage`.' 131 | ); 132 | } 133 | 134 | const messages = file.get(MESSAGES); 135 | if (messages.has(id)) { 136 | const existing = messages.get(id); 137 | 138 | if ( 139 | description !== existing.description || 140 | defaultMessage !== existing.defaultMessage 141 | ) { 142 | throw path.buildCodeFrameError( 143 | `[React Intl] Duplicate message id: "${id}", ` + 144 | 'but the `description` and/or `defaultMessage` are different.' 145 | ); 146 | } 147 | } 148 | 149 | if (opts.enforceDescriptions) { 150 | if ( 151 | !description || 152 | (typeof description === 'object' && Object.keys(description).length < 1) 153 | ) { 154 | throw path.buildCodeFrameError( 155 | '[React Intl] Message must have a `description`.' 156 | ); 157 | } 158 | } 159 | 160 | let loc; 161 | if (opts.extractSourceLocation) { 162 | loc = { 163 | file: p.relative(process.cwd(), file.opts.filename), 164 | ...path.node.loc 165 | }; 166 | } 167 | 168 | messages.set(id, { id, description, defaultMessage, ...loc }); 169 | } 170 | 171 | function referencesImport(path, mod, importedNames) { 172 | if (!(path.isIdentifier() || path.isJSXIdentifier())) { 173 | return false; 174 | } 175 | 176 | return importedNames.some(name => path.referencesImport(mod, name)); 177 | } 178 | 179 | function isFormatMessageCall(path) { 180 | if (t.isMemberExpression(path)) { 181 | const property = path.get('property'); 182 | 183 | if (t.isIdentifier(property) && property.node.name === 'formatMessage') { 184 | const object = path.get('object'); 185 | const objectProperty = object.get('property'); 186 | if (t.isIdentifier(objectProperty)) { 187 | if (objectProperty.node.name === 'intl') { 188 | return true; 189 | } 190 | } 191 | } 192 | } 193 | 194 | return false; 195 | } 196 | 197 | function tagAsExtracted(path) { 198 | path.node[EXTRACTED] = true; 199 | } 200 | 201 | function wasExtracted(path) { 202 | return !!path.node[EXTRACTED]; 203 | } 204 | 205 | return { 206 | pre(file) { 207 | if (!file.has(MESSAGES)) { 208 | file.set(MESSAGES, new Map()); 209 | } 210 | }, 211 | 212 | post(file) { 213 | const { opts } = this; 214 | const { filename } = file.opts; 215 | 216 | const basename = p.basename(filename, p.extname(filename)); 217 | const messages = file.get(MESSAGES); 218 | const descriptors = [...messages.values()]; 219 | file.metadata['react-intl'] = { messages: descriptors }; 220 | 221 | if (opts.messagesDir && descriptors.length > 0) { 222 | // Make sure the relative path is "absolute" before 223 | // joining it with the `messagesDir`. 224 | let relativePath = p.join(p.sep, p.relative(process.cwd(), filename)); 225 | // Solve when the window user has symlink on the directory, because 226 | // process.cwd on windows returns the symlink root, 227 | // and filename (from babel) returns the original root 228 | if (process.platform === 'win32') { 229 | const { name } = p.parse(process.cwd()); 230 | if (relativePath.includes(name)) { 231 | relativePath = relativePath.slice( 232 | relativePath.indexOf(name) + name.length 233 | ); 234 | } 235 | } 236 | 237 | const messagesFilename = p.join( 238 | opts.messagesDir, 239 | p.dirname(relativePath), 240 | basename + '.json' 241 | ); 242 | 243 | const messagesFile = JSON.stringify(descriptors, null, 2); 244 | 245 | mkdirpSync(p.dirname(messagesFilename)); 246 | writeFileSync(messagesFilename, messagesFile); 247 | } 248 | }, 249 | 250 | visitor: { 251 | JSXOpeningElement(path, state) { 252 | if (wasExtracted(path)) { 253 | return; 254 | } 255 | 256 | const { file, opts } = state; 257 | const moduleSourceName = getModuleSourceName(opts); 258 | const name = path.get('name'); 259 | 260 | if (name.referencesImport(moduleSourceName, 'FormattedPlural')) { 261 | const warn = file.log ? file.log.warn : console.warn; 262 | warn( 263 | `[React Intl] Line ${path.node.loc.start.line}: ` + 264 | 'Default messages are not extracted from ' + 265 | ', use instead.' 266 | ); 267 | 268 | return; 269 | } 270 | 271 | const { additionalComponentNames = [] } = opts; 272 | if ( 273 | referencesImport(name, moduleSourceName, DEFAULT_COMPONENT_NAMES) || 274 | additionalComponentNames.includes(name.node.name) 275 | ) { 276 | const attributes = path 277 | .get('attributes') 278 | .filter(attr => attr.isJSXAttribute()); 279 | 280 | let descriptor = createMessageDescriptor( 281 | attributes.map(attr => [attr.get('name'), attr.get('value')]) 282 | ); 283 | 284 | // In order for a default message to be extracted when 285 | // declaring a JSX element, it must be done with standard 286 | // `key=value` attributes. But it's completely valid to 287 | // write `` or 288 | // ``, because it will be 289 | // skipped here and extracted elsewhere. The descriptor will 290 | // be extracted only if a `defaultMessage` prop exists. 291 | if (descriptor.defaultMessage) { 292 | // Evaluate the Message Descriptor values in a JSX 293 | // context, then store it. 294 | descriptor = evaluateMessageDescriptor(descriptor, { 295 | isJSXSource: true, 296 | overrideIdFn: opts.overrideIdFn 297 | }); 298 | 299 | storeMessage(descriptor, path, state); 300 | 301 | // Remove description since it's not used at runtime. 302 | attributes.forEach(attr => { 303 | const ketPath = attr.get('name'); 304 | const msgDescriptorKey = getMessageDescriptorKey(ketPath); 305 | if ( 306 | msgDescriptorKey === 'description' || 307 | (opts.removeDefaultMessage && 308 | msgDescriptorKey === 'defaultMessage') 309 | ) { 310 | attr.remove(); 311 | } else if ( 312 | opts.overrideIdFn && 313 | getMessageDescriptorKey(ketPath) === 'id' 314 | ) { 315 | attr.get('value').replaceWith(t.stringLiteral(descriptor.id)); 316 | } 317 | }); 318 | 319 | // Tag the AST node so we don't try to extract it twice. 320 | tagAsExtracted(path); 321 | } 322 | } 323 | }, 324 | 325 | CallExpression(path, state) { 326 | const moduleSourceName = getModuleSourceName(state.opts); 327 | const callee = path.get('callee'); 328 | const { opts } = state; 329 | 330 | function assertObjectExpression(node) { 331 | if (!(node && node.isObjectExpression())) { 332 | throw path.buildCodeFrameError( 333 | `[React Intl] \`${callee.node.name}()\` must be ` + 334 | 'called with an object expression with values ' + 335 | 'that are React Intl Message Descriptors, also ' + 336 | 'defined as object expressions.' 337 | ); 338 | } 339 | } 340 | 341 | function processMessageObject(messageObj) { 342 | assertObjectExpression(messageObj); 343 | 344 | if (wasExtracted(messageObj)) { 345 | return; 346 | } 347 | 348 | const properties = messageObj.get('properties'); 349 | 350 | let descriptor = createMessageDescriptor( 351 | properties.map(prop => [prop.get('key'), prop.get('value')]) 352 | ); 353 | 354 | // Evaluate the Message Descriptor values, then store it. 355 | descriptor = evaluateMessageDescriptor(descriptor, { 356 | overrideIdFn: opts.overrideIdFn 357 | }); 358 | storeMessage(descriptor, messageObj, state); 359 | 360 | // Remove description since it's not used at runtime. 361 | messageObj.replaceWith( 362 | t.objectExpression([ 363 | t.objectProperty( 364 | t.stringLiteral('id'), 365 | t.stringLiteral(descriptor.id) 366 | ), 367 | ...(!opts.removeDefaultMessage 368 | ? [ 369 | t.objectProperty( 370 | t.stringLiteral('defaultMessage'), 371 | t.stringLiteral(descriptor.defaultMessage) 372 | ) 373 | ] 374 | : []) 375 | ]) 376 | ); 377 | 378 | // Tag the AST node so we don't try to extract it twice. 379 | tagAsExtracted(messageObj); 380 | } 381 | 382 | if (referencesImport(callee, moduleSourceName, FUNCTION_NAMES)) { 383 | const messagesObj = path.get('arguments')[0]; 384 | 385 | assertObjectExpression(messagesObj); 386 | 387 | messagesObj 388 | .get('properties') 389 | .map(prop => prop.get('value')) 390 | .forEach(processMessageObject); 391 | } 392 | 393 | if (isFormatMessageCall(callee)) { 394 | const messagesObj = path.get('arguments')[0]; 395 | processMessageObject(messagesObj); 396 | } 397 | } 398 | } 399 | }; 400 | } 401 | -------------------------------------------------------------------------------- /src/print-icu-message.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2015, Yahoo Inc. 3 | * Copyrights licensed under the New BSD License. 4 | * See the accompanying LICENSE file for terms. 5 | */ 6 | 7 | import { parse } from 'intl-messageformat-parser'; 8 | 9 | const ESCAPED_CHARS = { 10 | '\\': '\\\\', 11 | '\\#': '\\#', 12 | '{': '\\{', 13 | '}': '\\}' 14 | }; 15 | 16 | const ESAPE_CHARS_REGEXP = /\\#|[{}\\]/g; 17 | 18 | export default function(message) { 19 | let ast = parse(message); 20 | return printICUMessage(ast); 21 | } 22 | 23 | function printICUMessage(ast) { 24 | let printedNodes = ast.elements.map(node => { 25 | if (node.type === 'messageTextElement') { 26 | return printMessageTextASTNode(node); 27 | } 28 | 29 | if (!node.format) { 30 | return `{${node.id}}`; 31 | } 32 | 33 | switch (getArgumentType(node.format)) { 34 | case 'number': 35 | case 'date': 36 | case 'time': 37 | return printSimpleFormatASTNode(node); 38 | 39 | case 'plural': 40 | case 'selectordinal': 41 | case 'select': 42 | return printOptionalFormatASTNode(node); 43 | } 44 | }); 45 | 46 | return printedNodes.join(''); 47 | } 48 | 49 | function getArgumentType(format) { 50 | const { type, ordinal } = format; 51 | 52 | // Special-case ordinal plurals to use `selectordinal` instead of `plural`. 53 | if (type === 'pluralFormat' && ordinal) { 54 | return 'selectordinal'; 55 | } 56 | 57 | return type.replace(/Format$/, '').toLowerCase(); 58 | } 59 | 60 | function printMessageTextASTNode({ value }) { 61 | return value.replace(ESAPE_CHARS_REGEXP, char => ESCAPED_CHARS[char]); 62 | } 63 | 64 | function printSimpleFormatASTNode({ id, format }) { 65 | let argumentType = getArgumentType(format); 66 | let style = format.style ? `, ${format.style}` : ''; 67 | 68 | return `{${id}, ${argumentType}${style}}`; 69 | } 70 | 71 | function printOptionalFormatASTNode({ id, format }) { 72 | let argumentType = getArgumentType(format); 73 | let offset = format.offset ? `, offset:${format.offset}` : ''; 74 | 75 | let options = format.options.map(option => { 76 | let optionValue = printICUMessage(option.value); 77 | return ` ${option.selector} {${optionValue}}`; 78 | }); 79 | 80 | return `{${id}, ${argumentType}${offset},${options.join('')}}`; 81 | } 82 | -------------------------------------------------------------------------------- /test/__snapshots__/index.test.js.snap: -------------------------------------------------------------------------------- 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP 2 | 3 | exports[`emit asserts for: output match: FormattedHTMLMessage 1`] = ` 4 | "\\"use strict\\"; 5 | 6 | Object.defineProperty(exports, \\"__esModule\\", { 7 | value: true 8 | }); 9 | exports.default = void 0; 10 | 11 | var _react = _interopRequireWildcard(require(\\"react\\")); 12 | 13 | var _reactIntl = require(\\"react-intl\\"); 14 | 15 | function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } 16 | 17 | class Foo extends _react.Component { 18 | render() { 19 | return _react.default.createElement(_reactIntl.FormattedHTMLMessage, { 20 | id: \\"foo.bar.baz\\", 21 | defaultMessage: \\"

Hello World!

\\" 22 | }); 23 | } 24 | 25 | } 26 | 27 | exports.default = Foo;" 28 | `; 29 | 30 | exports[`emit asserts for: output match: FormattedMessage 1`] = ` 31 | "\\"use strict\\"; 32 | 33 | Object.defineProperty(exports, \\"__esModule\\", { 34 | value: true 35 | }); 36 | exports.default = void 0; 37 | 38 | var _react = _interopRequireWildcard(require(\\"react\\")); 39 | 40 | var _reactIntl = require(\\"react-intl\\"); 41 | 42 | function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } 43 | 44 | class Foo extends _react.Component { 45 | render() { 46 | return _react.default.createElement(_reactIntl.FormattedMessage, { 47 | id: \\"foo.bar.baz\\", 48 | defaultMessage: \\"Hello World!\\" 49 | }); 50 | } 51 | 52 | } 53 | 54 | exports.default = Foo;" 55 | `; 56 | 57 | exports[`emit asserts for: output match: defineMessages 1`] = ` 58 | "\\"use strict\\"; 59 | 60 | Object.defineProperty(exports, \\"__esModule\\", { 61 | value: true 62 | }); 63 | exports.default = void 0; 64 | 65 | var _react = _interopRequireWildcard(require(\\"react\\")); 66 | 67 | var _reactIntl = require(\\"react-intl\\"); 68 | 69 | function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } 70 | 71 | const msgs = (0, _reactIntl.defineMessages)({ 72 | header: { 73 | \\"id\\": \\"foo.bar.baz\\", 74 | \\"defaultMessage\\": \\"Hello World!\\" 75 | }, 76 | content: { 77 | \\"id\\": \\"foo.bar.biff\\", 78 | \\"defaultMessage\\": \\"Hello Nurse!\\" 79 | } 80 | }); 81 | 82 | class Foo extends _react.Component { 83 | render() { 84 | return _react.default.createElement(\\"div\\", null, _react.default.createElement(\\"h1\\", null, _react.default.createElement(_reactIntl.FormattedMessage, msgs.header)), _react.default.createElement(\\"p\\", null, _react.default.createElement(_reactIntl.FormattedMessage, msgs.content))); 85 | } 86 | 87 | } 88 | 89 | exports.default = Foo;" 90 | `; 91 | 92 | exports[`emit asserts for: output match: descriptionsAsObjects 1`] = ` 93 | "\\"use strict\\"; 94 | 95 | Object.defineProperty(exports, \\"__esModule\\", { 96 | value: true 97 | }); 98 | exports.default = void 0; 99 | 100 | var _react = _interopRequireWildcard(require(\\"react\\")); 101 | 102 | var _reactIntl = require(\\"react-intl\\"); 103 | 104 | function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } 105 | 106 | class Foo extends _react.Component { 107 | render() { 108 | return _react.default.createElement(_reactIntl.FormattedMessage, { 109 | id: \\"foo.bar.baz\\", 110 | defaultMessage: \\"Hello World!\\" 111 | }); 112 | } 113 | 114 | } 115 | 116 | exports.default = Foo;" 117 | `; 118 | 119 | exports[`emit asserts for: output match: formatMessage 1`] = ` 120 | "\\"use strict\\"; 121 | 122 | Object.defineProperty(exports, \\"__esModule\\", { 123 | value: true 124 | }); 125 | exports.default = void 0; 126 | 127 | var _react = _interopRequireWildcard(require(\\"react\\")); 128 | 129 | var _reactIntl = require(\\"react-intl\\"); 130 | 131 | function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } 132 | 133 | class Foo extends _react.Component { 134 | render() { 135 | const msgs = { 136 | baz: this.props.intl.formatMessage({ 137 | \\"id\\": \\"foo.bar.baz\\", 138 | \\"defaultMessage\\": \\"Hello World!\\" 139 | }), 140 | biff: this.props.intl.formatMessage({ 141 | \\"id\\": \\"foo.bar.biff\\", 142 | \\"defaultMessage\\": \\"Hello Nurse!\\" 143 | }) 144 | }; 145 | return _react.default.createElement(\\"div\\", null, _react.default.createElement(\\"h1\\", null, msgs.header), _react.default.createElement(\\"p\\", null, msgs.content)); 146 | } 147 | 148 | } 149 | 150 | var _default = (0, _reactIntl.injectIntl)(Foo); 151 | 152 | exports.default = _default;" 153 | `; 154 | 155 | exports[`options correctly overrides the id when overrideIdFn is provided 1`] = ` 156 | "\\"use strict\\"; 157 | 158 | Object.defineProperty(exports, \\"__esModule\\", { 159 | value: true 160 | }); 161 | exports.default = void 0; 162 | 163 | var _react = _interopRequireWildcard(require(\\"react\\")); 164 | 165 | var _reactIntl = require(\\"react-intl\\"); 166 | 167 | function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } 168 | 169 | const msgs = (0, _reactIntl.defineMessages)({ 170 | header: { 171 | \\"id\\": \\"HELLO.foo.bar.baz.12.string\\", 172 | \\"defaultMessage\\": \\"Hello World!\\" 173 | }, 174 | content: { 175 | \\"id\\": \\"HELLO.foo.bar.biff.12.object\\", 176 | \\"defaultMessage\\": \\"Hello Nurse!\\" 177 | } 178 | }); 179 | 180 | class Foo extends _react.Component { 181 | render() { 182 | return _react.default.createElement(\\"div\\", null, _react.default.createElement(\\"h1\\", null, _react.default.createElement(_reactIntl.FormattedMessage, msgs.header)), _react.default.createElement(\\"p\\", null, _react.default.createElement(_reactIntl.FormattedMessage, msgs.content)), _react.default.createElement(_reactIntl.FormattedMessage, { 183 | id: \\"HELLO.foo.bar.zoo.12.object\\", 184 | defaultMessage: \\"Hello World!\\" 185 | }), _react.default.createElement(_reactIntl.FormattedHTMLMessage, { 186 | id: \\"HELLO.foo.bar.delta.21.string\\", 187 | defaultMessage: \\"

Hello World!

\\" 188 | })); 189 | } 190 | 191 | } 192 | 193 | exports.default = Foo;" 194 | `; 195 | 196 | exports[`options removeDefaultMessage should remove default message 1`] = ` 197 | "\\"use strict\\"; 198 | 199 | Object.defineProperty(exports, \\"__esModule\\", { 200 | value: true 201 | }); 202 | exports.default = void 0; 203 | 204 | var _react = _interopRequireWildcard(require(\\"react\\")); 205 | 206 | var _reactIntl = require(\\"react-intl\\"); 207 | 208 | function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } 209 | 210 | const messages = (0, _reactIntl.defineMessages)({ 211 | foo: { 212 | \\"id\\": \\"greeting-user\\" 213 | } 214 | }); 215 | 216 | class Foo extends _react.Component { 217 | render() { 218 | return _react.default.createElement(_reactIntl.FormattedMessage, { 219 | id: \\"greeting-world\\" 220 | }); 221 | } 222 | 223 | } 224 | 225 | exports.default = Foo;" 226 | `; 227 | -------------------------------------------------------------------------------- /test/fixtures/FormattedHTMLMessage/actual.js: -------------------------------------------------------------------------------- 1 | import React, {Component} from 'react'; 2 | import {FormattedHTMLMessage} from 'react-intl'; 3 | 4 | export default class Foo extends Component { 5 | render() { 6 | return ( 7 | 12 | ); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /test/fixtures/FormattedHTMLMessage/expected.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": "foo.bar.baz", 4 | "description": "The default message.", 5 | "defaultMessage": "

Hello World!

" 6 | } 7 | ] 8 | -------------------------------------------------------------------------------- /test/fixtures/FormattedMessage/actual.js: -------------------------------------------------------------------------------- 1 | import React, {Component} from 'react'; 2 | import {FormattedMessage} from 'react-intl'; 3 | 4 | export default class Foo extends Component { 5 | render() { 6 | return ( 7 | 12 | ); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /test/fixtures/FormattedMessage/expected.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": "foo.bar.baz", 4 | "description": "The default message.", 5 | "defaultMessage": "Hello World!" 6 | } 7 | ] 8 | -------------------------------------------------------------------------------- /test/fixtures/additionalComponentNames/actual.js: -------------------------------------------------------------------------------- 1 | import React, {Component} from 'react'; 2 | 3 | function CustomMessage () {} 4 | 5 | export default class Foo extends Component { 6 | render() { 7 | return ( 8 | 13 | ); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /test/fixtures/additionalComponentNames/expected.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": "greeting-world", 4 | "description": "Greeting to the world", 5 | "defaultMessage": "Hello World!" 6 | } 7 | ] 8 | -------------------------------------------------------------------------------- /test/fixtures/defineMessages/actual.js: -------------------------------------------------------------------------------- 1 | import React, {Component} from 'react'; 2 | import {defineMessages, FormattedMessage} from 'react-intl'; 3 | 4 | const msgs = defineMessages({ 5 | header: { 6 | id: 'foo.bar.baz', 7 | defaultMessage: 'Hello World!', 8 | description: 'The default message', 9 | }, 10 | content: { 11 | id: 'foo.bar.biff', 12 | defaultMessage: 'Hello Nurse!', 13 | description: 'Another message', 14 | }, 15 | }); 16 | 17 | export default class Foo extends Component { 18 | render() { 19 | return ( 20 |
21 |

22 |

23 |
24 | ); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /test/fixtures/defineMessages/expected.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": "foo.bar.baz", 4 | "description": "The default message", 5 | "defaultMessage": "Hello World!" 6 | }, 7 | { 8 | "id": "foo.bar.biff", 9 | "description": "Another message", 10 | "defaultMessage": "Hello Nurse!" 11 | } 12 | ] 13 | -------------------------------------------------------------------------------- /test/fixtures/descriptionsAsObjects/actual.js: -------------------------------------------------------------------------------- 1 | import React, {Component} from 'react'; 2 | import {FormattedMessage} from 'react-intl'; 3 | 4 | export default class Foo extends Component { 5 | render() { 6 | return ( 7 | 15 | ); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /test/fixtures/descriptionsAsObjects/expected.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": "foo.bar.baz", 4 | "description": { 5 | "text": "Something for the translator.", 6 | "metadata": "Additional metadata content." 7 | }, 8 | "defaultMessage": "Hello World!" 9 | } 10 | ] 11 | -------------------------------------------------------------------------------- /test/fixtures/enforceDescriptions/actual.js: -------------------------------------------------------------------------------- 1 | import React, {Component} from 'react'; 2 | import {FormattedMessage} from 'react-intl'; 3 | 4 | export default class Foo extends Component { 5 | render() { 6 | return ( 7 | 11 | ); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /test/fixtures/extractSourceLocation/actual.js: -------------------------------------------------------------------------------- 1 | import React, {Component} from 'react'; 2 | import {FormattedMessage} from 'react-intl'; 3 | 4 | export default class Foo extends Component { 5 | render() { 6 | return ( 7 | 11 | ); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /test/fixtures/extractSourceLocation/expected.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": "foo.bar.baz", 4 | "defaultMessage": "Hello World!", 5 | "file": "test/fixtures/extractSourceLocation/actual.js", 6 | "start": { 7 | "line": 7, 8 | "column": 12 9 | }, 10 | "end": { 11 | "line": 10, 12 | "column": 14 13 | } 14 | } 15 | ] 16 | -------------------------------------------------------------------------------- /test/fixtures/formatMessage/actual.js: -------------------------------------------------------------------------------- 1 | import React, {Component} from 'react'; 2 | import {injectIntl} from 'react-intl'; 3 | 4 | class Foo extends Component { 5 | render() { 6 | const msgs = { 7 | baz: this.props.intl.formatMessage({ 8 | id: 'foo.bar.baz', 9 | defaultMessage: 'Hello World!', 10 | description: 'The default message', 11 | }), 12 | biff: this.props.intl.formatMessage({ 13 | id: 'foo.bar.biff', 14 | defaultMessage: 'Hello Nurse!', 15 | description: 'Another message', 16 | }), 17 | }; 18 | 19 | return ( 20 |
21 |

{msgs.header}

22 |

{msgs.content}

23 |
24 | ); 25 | } 26 | } 27 | 28 | export default injectIntl(Foo); 29 | -------------------------------------------------------------------------------- /test/fixtures/formatMessage/expected.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": "foo.bar.baz", 4 | "description": "The default message", 5 | "defaultMessage": "Hello World!" 6 | }, 7 | { 8 | "id": "foo.bar.biff", 9 | "description": "Another message", 10 | "defaultMessage": "Hello Nurse!" 11 | } 12 | ] 13 | -------------------------------------------------------------------------------- /test/fixtures/icuSyntax/actual.js: -------------------------------------------------------------------------------- 1 | import React, {Component} from 'react'; 2 | import {FormattedMessage} from 'react-intl'; 3 | 4 | export default class Foo extends Component { 5 | render() { 6 | // This is bad syntax (object property in message) 7 | return ( 8 | 16 | ); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /test/fixtures/moduleSourceName/actual.js: -------------------------------------------------------------------------------- 1 | import React, {Component} from 'react'; 2 | import {FormattedMessage} from 'react-i18n'; 3 | import {defineMessages} from 'react-intl'; 4 | 5 | // These should be ignored because the `moduleSourceName` is configured to be: 6 | // `react-i18n`. 7 | const msgs = defineMessages({ 8 | header: { 9 | id: 'header', 10 | defaultMessage: 'Hello World!', 11 | description: 'The default message', 12 | }, 13 | content: { 14 | id: 'content', 15 | defaultMessage: 'Hello Nurse!', 16 | description: 'Another message', 17 | }, 18 | }); 19 | 20 | export default class Foo extends Component { 21 | render() { 22 | return ( 23 |
24 | 29 | {msgs} 30 |
31 | ); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /test/fixtures/moduleSourceName/expected.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": "foo.bar.baz", 4 | "description": "The default message.", 5 | "defaultMessage": "Hello World!" 6 | } 7 | ] 8 | -------------------------------------------------------------------------------- /test/fixtures/overrideIdFn/actual.js: -------------------------------------------------------------------------------- 1 | import React, {Component} from 'react'; 2 | import {defineMessages, FormattedMessage, FormattedHTMLMessage} from 'react-intl'; 3 | 4 | const msgs = defineMessages({ 5 | header: { 6 | id: 'foo.bar.baz', 7 | defaultMessage: 'Hello World!', 8 | description: 'The default message', 9 | }, 10 | content: { 11 | id: 'foo.bar.biff', 12 | defaultMessage: 'Hello Nurse!', 13 | description: { 14 | text: 'Something for the translator.', 15 | metadata: 'Additional metadata content.', 16 | }, 17 | }, 18 | }); 19 | 20 | export default class Foo extends Component { 21 | render() { 22 | return ( 23 |
24 |

25 |

26 | 34 | 39 |
40 | ); 41 | } 42 | } -------------------------------------------------------------------------------- /test/fixtures/overrideIdFn/expected.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": "HELLO.foo.bar.baz.12.string", 4 | "description": "The default message", 5 | "defaultMessage": "Hello World!" 6 | }, 7 | { 8 | "id": "HELLO.foo.bar.biff.12.object", 9 | "description": { 10 | "text": "Something for the translator.", 11 | "metadata": "Additional metadata content." 12 | }, 13 | "defaultMessage": "Hello Nurse!" 14 | }, 15 | { 16 | "id": "HELLO.foo.bar.zoo.12.object", 17 | "description": { 18 | "text": "Something for the translator. Another description", 19 | "metadata": "Additional metadata content." 20 | }, 21 | "defaultMessage": "Hello World!" 22 | }, 23 | { 24 | "id": "HELLO.foo.bar.delta.21.string", 25 | "description": "The default message.", 26 | "defaultMessage": "

Hello World!

" 27 | } 28 | ] -------------------------------------------------------------------------------- /test/fixtures/removeDefaultMessage/actual.js: -------------------------------------------------------------------------------- 1 | import React, {Component} from 'react'; 2 | import {defineMessages, FormattedMessage} from 'react-intl'; 3 | 4 | const messages = defineMessages({ 5 | foo: { 6 | id: 'greeting-user', 7 | description: 'Greeting the user', 8 | defaultMessage: 'Hello, {name}', 9 | }, 10 | }); 11 | 12 | export default class Foo extends Component { 13 | render() { 14 | return ( 15 | 20 | ); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /test/fixtures/removeDefaultMessage/expected.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": "greeting-user", 4 | "description": "Greeting the user", 5 | "defaultMessage": "Hello, {name}" 6 | }, 7 | { 8 | "id": "greeting-world", 9 | "description": "Greeting to the world", 10 | "defaultMessage": "Hello World!" 11 | } 12 | ] 13 | -------------------------------------------------------------------------------- /test/fixtures/removeDescriptions/actual.js: -------------------------------------------------------------------------------- 1 | import React, {Component} from 'react'; 2 | import {defineMessages, FormattedMessage} from 'react-intl'; 3 | 4 | const messages = defineMessages({ 5 | foo: { 6 | id: 'greeting-user', 7 | description: 'Greeting the user', 8 | defaultMessage: 'Hello, {name}', 9 | }, 10 | }); 11 | 12 | export default class Foo extends Component { 13 | render() { 14 | return ( 15 | 20 | ); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /test/index.test.js: -------------------------------------------------------------------------------- 1 | import * as path from 'path'; 2 | import * as fs from 'fs'; 3 | import * as babel from '@babel/core'; 4 | import plugin from '../src'; 5 | 6 | function trim(str) { 7 | return str.toString().replace(/^\s+|\s+$/, ''); 8 | } 9 | 10 | const skipTests = [ 11 | '.babelrc', 12 | '.DS_Store', 13 | 'enforceDescriptions', 14 | 'extractSourceLocation', 15 | 'moduleSourceName', 16 | 'icuSyntax', 17 | 'removeDescriptions', 18 | 'overrideIdFn', 19 | 'removeDefaultMessage', 20 | 'additionalComponentNames' 21 | ]; 22 | 23 | const fixturesDir = path.join(__dirname, 'fixtures'); 24 | const baseDir = path.join(__dirname, '..'); 25 | 26 | describe('emit asserts for: ', () => { 27 | fs.readdirSync(fixturesDir).map(caseName => { 28 | if (skipTests.indexOf(caseName) >= 0) return; 29 | 30 | it(`output match: ${caseName}`, () => { 31 | const fixtureDir = path.join(fixturesDir, caseName); 32 | 33 | // Ensure messages are deleted 34 | const actualMessagesPath = path.join(fixtureDir, 'actual.json'); 35 | if (fs.existsSync(actualMessagesPath)) fs.unlinkSync(actualMessagesPath); 36 | 37 | const actual = transform(path.join(fixtureDir, 'actual.js')); 38 | 39 | // Check code output 40 | 41 | expect(trim(actual)).toMatchSnapshot(); 42 | 43 | // Check message output 44 | const expectedMessages = fs.readFileSync( 45 | path.join(fixtureDir, 'expected.json') 46 | ); 47 | const actualMessages = fs.readFileSync( 48 | path.join(fixtureDir, 'actual.json') 49 | ); 50 | expect(trim(actualMessages)).toEqual(trim(expectedMessages)); 51 | }); 52 | }); 53 | }); 54 | 55 | describe('options', () => { 56 | it('removeDefaultMessage should remove default message', () => { 57 | const fixtureDir = path.join(fixturesDir, 'removeDefaultMessage'); 58 | 59 | const actual = transform(path.join(fixtureDir, 'actual.js'), { 60 | removeDefaultMessage: true 61 | }); 62 | 63 | // Check code output 64 | expect(trim(actual)).toMatchSnapshot(); 65 | 66 | // Check message output 67 | const expectedMessages = fs.readFileSync( 68 | path.join(fixtureDir, 'expected.json') 69 | ); 70 | const actualMessages = fs.readFileSync( 71 | path.join(fixtureDir, 'actual.json') 72 | ); 73 | expect(trim(actualMessages)).toEqual(trim(expectedMessages)); 74 | }); 75 | it('enforces descriptions when enforceDescriptions=true', () => { 76 | const fixtureDir = path.join(fixturesDir, 'enforceDescriptions'); 77 | expect(() => 78 | transform(path.join(fixtureDir, 'actual.js'), { 79 | enforceDescriptions: true 80 | }) 81 | ).toThrow(/Message must have a `description`/); 82 | }); 83 | 84 | it('correctly overrides the id when overrideIdFn is provided', () => { 85 | const fixtureDir = path.join(fixturesDir, 'overrideIdFn'); 86 | 87 | const actual = transform(path.join(fixtureDir, 'actual.js'), { 88 | overrideIdFn: (id, defaultMessage, description) => { 89 | return `HELLO.${id}.${defaultMessage.length}.${typeof description}`; 90 | } 91 | }); 92 | 93 | // Check code output 94 | 95 | expect(trim(actual)).toMatchSnapshot(); 96 | 97 | // Check message output 98 | const expectedMessages = fs.readFileSync( 99 | path.join(fixtureDir, 'expected.json') 100 | ); 101 | const actualMessages = fs.readFileSync( 102 | path.join(fixtureDir, 'actual.json') 103 | ); 104 | expect(trim(actualMessages)).toEqual(trim(expectedMessages)); 105 | }); 106 | 107 | it('allows no description when enforceDescription=false', () => { 108 | const fixtureDir = path.join(fixturesDir, 'enforceDescriptions'); 109 | expect(() => 110 | transform(path.join(fixtureDir, 'actual.js'), { 111 | enforceDescriptions: false 112 | }) 113 | ).not.toThrow(); 114 | }); 115 | 116 | it('removes descriptions when plugin is applied more than once', () => { 117 | const fixtureDir = path.join(fixturesDir, 'removeDescriptions'); 118 | expect(() => 119 | transform( 120 | path.join(fixtureDir, 'actual.js'), 121 | { 122 | enforceDescriptions: true 123 | }, 124 | { 125 | multiplePasses: true 126 | } 127 | ) 128 | ).not.toThrow(); 129 | }); 130 | 131 | it('respects moduleSourceName', () => { 132 | const fixtureDir = path.join(fixturesDir, 'moduleSourceName'); 133 | expect(() => 134 | transform(path.join(fixtureDir, 'actual.js'), { 135 | moduleSourceName: 'react-i18n' 136 | }) 137 | ).not.toThrow(); 138 | 139 | // Check message output 140 | const expectedMessages = fs.readFileSync( 141 | path.join(fixtureDir, 'expected.json') 142 | ); 143 | const actualMessages = fs.readFileSync( 144 | path.join(fixtureDir, 'actual.json') 145 | ); 146 | expect(trim(actualMessages)).toEqual(trim(expectedMessages)); 147 | }); 148 | 149 | it('respects extractSourceLocation', () => { 150 | const fixtureDir = path.join(fixturesDir, 'extractSourceLocation'); 151 | expect(() => 152 | transform(path.join(fixtureDir, 'actual.js'), { 153 | extractSourceLocation: true 154 | }) 155 | ).not.toThrow(); 156 | 157 | // Check message output 158 | const expectedMessages = fs.readFileSync( 159 | path.join(fixtureDir, 'expected.json') 160 | ); 161 | const actualMessages = fs.readFileSync( 162 | path.join(fixtureDir, 'actual.json') 163 | ); 164 | expect(trim(actualMessages)).toEqual(trim(expectedMessages)); 165 | }); 166 | 167 | it('additionalComponentNames', () => { 168 | const fixtureDir = path.join(fixturesDir, 'additionalComponentNames'); 169 | expect(() => 170 | transform(path.join(fixtureDir, 'actual.js'), { 171 | additionalComponentNames: ['CustomMessage'] 172 | }) 173 | ).not.toThrow(); 174 | 175 | // Check message output 176 | const expectedMessages = fs.readFileSync( 177 | path.join(fixtureDir, 'expected.json') 178 | ); 179 | const actualMessages = fs.readFileSync( 180 | path.join(fixtureDir, 'actual.json') 181 | ); 182 | expect(trim(actualMessages)).toEqual(trim(expectedMessages)); 183 | }); 184 | }); 185 | 186 | describe('errors', () => { 187 | it('Properly throws parse errors', () => { 188 | const fixtureDir = path.join(fixturesDir, 'icuSyntax'); 189 | expect(() => transform(path.join(fixtureDir, 'actual.js'))).toThrow( 190 | /Expected .* but "\." found/ 191 | ); 192 | }); 193 | }); 194 | 195 | const BASE_OPTIONS = { 196 | messagesDir: baseDir 197 | }; 198 | 199 | let cacheBust = 1 200 | 201 | function transform(filePath, options = {}, { multiplePasses = false } = {}) { 202 | function getPluginConfig() { 203 | return [ 204 | plugin, 205 | { 206 | ...BASE_OPTIONS, 207 | ...options 208 | }, 209 | Date.now() + '' + (++cacheBust) 210 | ]; 211 | } 212 | 213 | return babel.transformFileSync(filePath, { 214 | plugins: multiplePasses 215 | ? [getPluginConfig(), getPluginConfig()] 216 | : [getPluginConfig()] 217 | }).code; 218 | } -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/cli@^7.2.3": 6 | version "7.2.3" 7 | resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.2.3.tgz#1b262e42a3e959d28ab3d205ba2718e1923cfee6" 8 | integrity sha512-bfna97nmJV6nDJhXNPeEfxyMjWnt6+IjUAaDPiYRTBlm8L41n8nvw6UAqUCbvpFfU246gHPxW7sfWwqtF4FcYA== 9 | dependencies: 10 | commander "^2.8.1" 11 | convert-source-map "^1.1.0" 12 | fs-readdir-recursive "^1.1.0" 13 | glob "^7.0.0" 14 | lodash "^4.17.10" 15 | mkdirp "^0.5.1" 16 | output-file-sync "^2.0.0" 17 | slash "^2.0.0" 18 | source-map "^0.5.0" 19 | optionalDependencies: 20 | chokidar "^2.0.3" 21 | 22 | "@babel/code-frame@^7.0.0": 23 | version "7.0.0" 24 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" 25 | integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA== 26 | dependencies: 27 | "@babel/highlight" "^7.0.0" 28 | 29 | "@babel/core@^7.2.2": 30 | version "7.2.2" 31 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.2.2.tgz#07adba6dde27bb5ad8d8672f15fde3e08184a687" 32 | integrity sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw== 33 | dependencies: 34 | "@babel/code-frame" "^7.0.0" 35 | "@babel/generator" "^7.2.2" 36 | "@babel/helpers" "^7.2.0" 37 | "@babel/parser" "^7.2.2" 38 | "@babel/template" "^7.2.2" 39 | "@babel/traverse" "^7.2.2" 40 | "@babel/types" "^7.2.2" 41 | convert-source-map "^1.1.0" 42 | debug "^4.1.0" 43 | json5 "^2.1.0" 44 | lodash "^4.17.10" 45 | resolve "^1.3.2" 46 | semver "^5.4.1" 47 | source-map "^0.5.0" 48 | 49 | "@babel/generator@^7.0.0", "@babel/generator@^7.2.2": 50 | version "7.3.0" 51 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.3.0.tgz#f663838cd7b542366de3aa608a657b8ccb2a99eb" 52 | integrity sha512-dZTwMvTgWfhmibq4V9X+LMf6Bgl7zAodRn9PvcPdhlzFMbvUutx74dbEv7Atz3ToeEpevYEJtAwfxq/bDCzHWg== 53 | dependencies: 54 | "@babel/types" "^7.3.0" 55 | jsesc "^2.5.1" 56 | lodash "^4.17.10" 57 | source-map "^0.5.0" 58 | trim-right "^1.0.1" 59 | 60 | "@babel/helper-annotate-as-pure@^7.0.0": 61 | version "7.0.0" 62 | resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32" 63 | integrity sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q== 64 | dependencies: 65 | "@babel/types" "^7.0.0" 66 | 67 | "@babel/helper-builder-binary-assignment-operator-visitor@^7.1.0": 68 | version "7.1.0" 69 | resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz#6b69628dfe4087798e0c4ed98e3d4a6b2fbd2f5f" 70 | integrity sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w== 71 | dependencies: 72 | "@babel/helper-explode-assignable-expression" "^7.1.0" 73 | "@babel/types" "^7.0.0" 74 | 75 | "@babel/helper-builder-react-jsx@^7.3.0": 76 | version "7.3.0" 77 | resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz#a1ac95a5d2b3e88ae5e54846bf462eeb81b318a4" 78 | integrity sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw== 79 | dependencies: 80 | "@babel/types" "^7.3.0" 81 | esutils "^2.0.0" 82 | 83 | "@babel/helper-call-delegate@^7.1.0": 84 | version "7.1.0" 85 | resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz#6a957f105f37755e8645343d3038a22e1449cc4a" 86 | integrity sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ== 87 | dependencies: 88 | "@babel/helper-hoist-variables" "^7.0.0" 89 | "@babel/traverse" "^7.1.0" 90 | "@babel/types" "^7.0.0" 91 | 92 | "@babel/helper-define-map@^7.1.0": 93 | version "7.1.0" 94 | resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz#3b74caec329b3c80c116290887c0dd9ae468c20c" 95 | integrity sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg== 96 | dependencies: 97 | "@babel/helper-function-name" "^7.1.0" 98 | "@babel/types" "^7.0.0" 99 | lodash "^4.17.10" 100 | 101 | "@babel/helper-explode-assignable-expression@^7.1.0": 102 | version "7.1.0" 103 | resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz#537fa13f6f1674df745b0c00ec8fe4e99681c8f6" 104 | integrity sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA== 105 | dependencies: 106 | "@babel/traverse" "^7.1.0" 107 | "@babel/types" "^7.0.0" 108 | 109 | "@babel/helper-function-name@^7.1.0": 110 | version "7.1.0" 111 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" 112 | integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw== 113 | dependencies: 114 | "@babel/helper-get-function-arity" "^7.0.0" 115 | "@babel/template" "^7.1.0" 116 | "@babel/types" "^7.0.0" 117 | 118 | "@babel/helper-get-function-arity@^7.0.0": 119 | version "7.0.0" 120 | resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" 121 | integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ== 122 | dependencies: 123 | "@babel/types" "^7.0.0" 124 | 125 | "@babel/helper-hoist-variables@^7.0.0": 126 | version "7.0.0" 127 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz#46adc4c5e758645ae7a45deb92bab0918c23bb88" 128 | integrity sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w== 129 | dependencies: 130 | "@babel/types" "^7.0.0" 131 | 132 | "@babel/helper-member-expression-to-functions@^7.0.0": 133 | version "7.0.0" 134 | resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz#8cd14b0a0df7ff00f009e7d7a436945f47c7a16f" 135 | integrity sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg== 136 | dependencies: 137 | "@babel/types" "^7.0.0" 138 | 139 | "@babel/helper-module-imports@^7.0.0": 140 | version "7.0.0" 141 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d" 142 | integrity sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A== 143 | dependencies: 144 | "@babel/types" "^7.0.0" 145 | 146 | "@babel/helper-module-transforms@^7.1.0": 147 | version "7.2.2" 148 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.2.2.tgz#ab2f8e8d231409f8370c883d20c335190284b963" 149 | integrity sha512-YRD7I6Wsv+IHuTPkAmAS4HhY0dkPobgLftHp0cRGZSdrRvmZY8rFvae/GVu3bD00qscuvK3WPHB3YdNpBXUqrA== 150 | dependencies: 151 | "@babel/helper-module-imports" "^7.0.0" 152 | "@babel/helper-simple-access" "^7.1.0" 153 | "@babel/helper-split-export-declaration" "^7.0.0" 154 | "@babel/template" "^7.2.2" 155 | "@babel/types" "^7.2.2" 156 | lodash "^4.17.10" 157 | 158 | "@babel/helper-optimise-call-expression@^7.0.0": 159 | version "7.0.0" 160 | resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5" 161 | integrity sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g== 162 | dependencies: 163 | "@babel/types" "^7.0.0" 164 | 165 | "@babel/helper-plugin-utils@^7.0.0": 166 | version "7.0.0" 167 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" 168 | integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA== 169 | 170 | "@babel/helper-regex@^7.0.0": 171 | version "7.0.0" 172 | resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.0.0.tgz#2c1718923b57f9bbe64705ffe5640ac64d9bdb27" 173 | integrity sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg== 174 | dependencies: 175 | lodash "^4.17.10" 176 | 177 | "@babel/helper-remap-async-to-generator@^7.1.0": 178 | version "7.1.0" 179 | resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz#361d80821b6f38da75bd3f0785ece20a88c5fe7f" 180 | integrity sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg== 181 | dependencies: 182 | "@babel/helper-annotate-as-pure" "^7.0.0" 183 | "@babel/helper-wrap-function" "^7.1.0" 184 | "@babel/template" "^7.1.0" 185 | "@babel/traverse" "^7.1.0" 186 | "@babel/types" "^7.0.0" 187 | 188 | "@babel/helper-replace-supers@^7.1.0": 189 | version "7.2.3" 190 | resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz#19970020cf22677d62b3a689561dbd9644d8c5e5" 191 | integrity sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA== 192 | dependencies: 193 | "@babel/helper-member-expression-to-functions" "^7.0.0" 194 | "@babel/helper-optimise-call-expression" "^7.0.0" 195 | "@babel/traverse" "^7.2.3" 196 | "@babel/types" "^7.0.0" 197 | 198 | "@babel/helper-simple-access@^7.1.0": 199 | version "7.1.0" 200 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz#65eeb954c8c245beaa4e859da6188f39d71e585c" 201 | integrity sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w== 202 | dependencies: 203 | "@babel/template" "^7.1.0" 204 | "@babel/types" "^7.0.0" 205 | 206 | "@babel/helper-split-export-declaration@^7.0.0": 207 | version "7.0.0" 208 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz#3aae285c0311c2ab095d997b8c9a94cad547d813" 209 | integrity sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag== 210 | dependencies: 211 | "@babel/types" "^7.0.0" 212 | 213 | "@babel/helper-wrap-function@^7.1.0": 214 | version "7.2.0" 215 | resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz#c4e0012445769e2815b55296ead43a958549f6fa" 216 | integrity sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ== 217 | dependencies: 218 | "@babel/helper-function-name" "^7.1.0" 219 | "@babel/template" "^7.1.0" 220 | "@babel/traverse" "^7.1.0" 221 | "@babel/types" "^7.2.0" 222 | 223 | "@babel/helpers@^7.2.0": 224 | version "7.3.1" 225 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.3.1.tgz#949eec9ea4b45d3210feb7dc1c22db664c9e44b9" 226 | integrity sha512-Q82R3jKsVpUV99mgX50gOPCWwco9Ec5Iln/8Vyu4osNIOQgSrd9RFrQeUvmvddFNoLwMyOUWU+5ckioEKpDoGA== 227 | dependencies: 228 | "@babel/template" "^7.1.2" 229 | "@babel/traverse" "^7.1.5" 230 | "@babel/types" "^7.3.0" 231 | 232 | "@babel/highlight@^7.0.0": 233 | version "7.0.0" 234 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" 235 | integrity sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw== 236 | dependencies: 237 | chalk "^2.0.0" 238 | esutils "^2.0.2" 239 | js-tokens "^4.0.0" 240 | 241 | "@babel/node@^7.2.2": 242 | version "7.2.2" 243 | resolved "https://registry.yarnpkg.com/@babel/node/-/node-7.2.2.tgz#1557dd23545b38d7b1d030a9c0e8fb225dbf70ab" 244 | integrity sha512-jPqgTycE26uFsuWpLika9Ohz9dmLQHWjOnMNxBOjYb1HXO+eLKxEr5FfKSXH/tBvFwwaw+pzke3gagnurGOfCA== 245 | dependencies: 246 | "@babel/polyfill" "^7.0.0" 247 | "@babel/register" "^7.0.0" 248 | commander "^2.8.1" 249 | lodash "^4.17.10" 250 | v8flags "^3.1.1" 251 | 252 | "@babel/parser@^7.0.0", "@babel/parser@^7.2.2", "@babel/parser@^7.2.3": 253 | version "7.3.1" 254 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.3.1.tgz#8f4ffd45f779e6132780835ffa7a215fa0b2d181" 255 | integrity sha512-ATz6yX/L8LEnC3dtLQnIx4ydcPxhLcoy9Vl6re00zb2w5lG6itY6Vhnr1KFRPq/FHNsgl/gh2mjNN20f9iJTTA== 256 | 257 | "@babel/plugin-proposal-async-generator-functions@^7.2.0": 258 | version "7.2.0" 259 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz#b289b306669dce4ad20b0252889a15768c9d417e" 260 | integrity sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ== 261 | dependencies: 262 | "@babel/helper-plugin-utils" "^7.0.0" 263 | "@babel/helper-remap-async-to-generator" "^7.1.0" 264 | "@babel/plugin-syntax-async-generators" "^7.2.0" 265 | 266 | "@babel/plugin-proposal-json-strings@^7.2.0": 267 | version "7.2.0" 268 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz#568ecc446c6148ae6b267f02551130891e29f317" 269 | integrity sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg== 270 | dependencies: 271 | "@babel/helper-plugin-utils" "^7.0.0" 272 | "@babel/plugin-syntax-json-strings" "^7.2.0" 273 | 274 | "@babel/plugin-proposal-object-rest-spread@^7.3.1": 275 | version "7.3.1" 276 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.3.1.tgz#f69fb6a1ea6a4e1c503994a91d9cf76f3c4b36e8" 277 | integrity sha512-Nmmv1+3LqxJu/V5jU9vJmxR/KIRWFk2qLHmbB56yRRRFhlaSuOVXscX3gUmhaKgUhzA3otOHVubbIEVYsZ0eZg== 278 | dependencies: 279 | "@babel/helper-plugin-utils" "^7.0.0" 280 | "@babel/plugin-syntax-object-rest-spread" "^7.2.0" 281 | 282 | "@babel/plugin-proposal-optional-catch-binding@^7.2.0": 283 | version "7.2.0" 284 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz#135d81edb68a081e55e56ec48541ece8065c38f5" 285 | integrity sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g== 286 | dependencies: 287 | "@babel/helper-plugin-utils" "^7.0.0" 288 | "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" 289 | 290 | "@babel/plugin-proposal-unicode-property-regex@^7.2.0": 291 | version "7.2.0" 292 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.2.0.tgz#abe7281fe46c95ddc143a65e5358647792039520" 293 | integrity sha512-LvRVYb7kikuOtIoUeWTkOxQEV1kYvL5B6U3iWEGCzPNRus1MzJweFqORTj+0jkxozkTSYNJozPOddxmqdqsRpw== 294 | dependencies: 295 | "@babel/helper-plugin-utils" "^7.0.0" 296 | "@babel/helper-regex" "^7.0.0" 297 | regexpu-core "^4.2.0" 298 | 299 | "@babel/plugin-syntax-async-generators@^7.2.0": 300 | version "7.2.0" 301 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz#69e1f0db34c6f5a0cf7e2b3323bf159a76c8cb7f" 302 | integrity sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg== 303 | dependencies: 304 | "@babel/helper-plugin-utils" "^7.0.0" 305 | 306 | "@babel/plugin-syntax-json-strings@^7.2.0": 307 | version "7.2.0" 308 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz#72bd13f6ffe1d25938129d2a186b11fd62951470" 309 | integrity sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg== 310 | dependencies: 311 | "@babel/helper-plugin-utils" "^7.0.0" 312 | 313 | "@babel/plugin-syntax-jsx@^7.2.0": 314 | version "7.2.0" 315 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz#0b85a3b4bc7cdf4cc4b8bf236335b907ca22e7c7" 316 | integrity sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw== 317 | dependencies: 318 | "@babel/helper-plugin-utils" "^7.0.0" 319 | 320 | "@babel/plugin-syntax-object-rest-spread@^7.2.0": 321 | version "7.2.0" 322 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz#3b7a3e733510c57e820b9142a6579ac8b0dfad2e" 323 | integrity sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA== 324 | dependencies: 325 | "@babel/helper-plugin-utils" "^7.0.0" 326 | 327 | "@babel/plugin-syntax-optional-catch-binding@^7.2.0": 328 | version "7.2.0" 329 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz#a94013d6eda8908dfe6a477e7f9eda85656ecf5c" 330 | integrity sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w== 331 | dependencies: 332 | "@babel/helper-plugin-utils" "^7.0.0" 333 | 334 | "@babel/plugin-transform-arrow-functions@^7.2.0": 335 | version "7.2.0" 336 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz#9aeafbe4d6ffc6563bf8f8372091628f00779550" 337 | integrity sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg== 338 | dependencies: 339 | "@babel/helper-plugin-utils" "^7.0.0" 340 | 341 | "@babel/plugin-transform-async-to-generator@^7.2.0": 342 | version "7.2.0" 343 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.2.0.tgz#68b8a438663e88519e65b776f8938f3445b1a2ff" 344 | integrity sha512-CEHzg4g5UraReozI9D4fblBYABs7IM6UerAVG7EJVrTLC5keh00aEuLUT+O40+mJCEzaXkYfTCUKIyeDfMOFFQ== 345 | dependencies: 346 | "@babel/helper-module-imports" "^7.0.0" 347 | "@babel/helper-plugin-utils" "^7.0.0" 348 | "@babel/helper-remap-async-to-generator" "^7.1.0" 349 | 350 | "@babel/plugin-transform-block-scoped-functions@^7.2.0": 351 | version "7.2.0" 352 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz#5d3cc11e8d5ddd752aa64c9148d0db6cb79fd190" 353 | integrity sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w== 354 | dependencies: 355 | "@babel/helper-plugin-utils" "^7.0.0" 356 | 357 | "@babel/plugin-transform-block-scoping@^7.2.0": 358 | version "7.2.0" 359 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz#f17c49d91eedbcdf5dd50597d16f5f2f770132d4" 360 | integrity sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q== 361 | dependencies: 362 | "@babel/helper-plugin-utils" "^7.0.0" 363 | lodash "^4.17.10" 364 | 365 | "@babel/plugin-transform-classes@^7.2.0": 366 | version "7.2.2" 367 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz#6c90542f210ee975aa2aa8c8b5af7fa73a126953" 368 | integrity sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ== 369 | dependencies: 370 | "@babel/helper-annotate-as-pure" "^7.0.0" 371 | "@babel/helper-define-map" "^7.1.0" 372 | "@babel/helper-function-name" "^7.1.0" 373 | "@babel/helper-optimise-call-expression" "^7.0.0" 374 | "@babel/helper-plugin-utils" "^7.0.0" 375 | "@babel/helper-replace-supers" "^7.1.0" 376 | "@babel/helper-split-export-declaration" "^7.0.0" 377 | globals "^11.1.0" 378 | 379 | "@babel/plugin-transform-computed-properties@^7.2.0": 380 | version "7.2.0" 381 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz#83a7df6a658865b1c8f641d510c6f3af220216da" 382 | integrity sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA== 383 | dependencies: 384 | "@babel/helper-plugin-utils" "^7.0.0" 385 | 386 | "@babel/plugin-transform-destructuring@^7.2.0": 387 | version "7.2.0" 388 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.2.0.tgz#e75269b4b7889ec3a332cd0d0c8cff8fed0dc6f3" 389 | integrity sha512-coVO2Ayv7g0qdDbrNiadE4bU7lvCd9H539m2gMknyVjjMdwF/iCOM7R+E8PkntoqLkltO0rk+3axhpp/0v68VQ== 390 | dependencies: 391 | "@babel/helper-plugin-utils" "^7.0.0" 392 | 393 | "@babel/plugin-transform-dotall-regex@^7.2.0": 394 | version "7.2.0" 395 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.2.0.tgz#f0aabb93d120a8ac61e925ea0ba440812dbe0e49" 396 | integrity sha512-sKxnyHfizweTgKZf7XsXu/CNupKhzijptfTM+bozonIuyVrLWVUvYjE2bhuSBML8VQeMxq4Mm63Q9qvcvUcciQ== 397 | dependencies: 398 | "@babel/helper-plugin-utils" "^7.0.0" 399 | "@babel/helper-regex" "^7.0.0" 400 | regexpu-core "^4.1.3" 401 | 402 | "@babel/plugin-transform-duplicate-keys@^7.2.0": 403 | version "7.2.0" 404 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz#d952c4930f312a4dbfff18f0b2914e60c35530b3" 405 | integrity sha512-q+yuxW4DsTjNceUiTzK0L+AfQ0zD9rWaTLiUqHA8p0gxx7lu1EylenfzjeIWNkPy6e/0VG/Wjw9uf9LueQwLOw== 406 | dependencies: 407 | "@babel/helper-plugin-utils" "^7.0.0" 408 | 409 | "@babel/plugin-transform-exponentiation-operator@^7.2.0": 410 | version "7.2.0" 411 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz#a63868289e5b4007f7054d46491af51435766008" 412 | integrity sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A== 413 | dependencies: 414 | "@babel/helper-builder-binary-assignment-operator-visitor" "^7.1.0" 415 | "@babel/helper-plugin-utils" "^7.0.0" 416 | 417 | "@babel/plugin-transform-for-of@^7.2.0": 418 | version "7.2.0" 419 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz#ab7468befa80f764bb03d3cb5eef8cc998e1cad9" 420 | integrity sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ== 421 | dependencies: 422 | "@babel/helper-plugin-utils" "^7.0.0" 423 | 424 | "@babel/plugin-transform-function-name@^7.2.0": 425 | version "7.2.0" 426 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.2.0.tgz#f7930362829ff99a3174c39f0afcc024ef59731a" 427 | integrity sha512-kWgksow9lHdvBC2Z4mxTsvc7YdY7w/V6B2vy9cTIPtLEE9NhwoWivaxdNM/S37elu5bqlLP/qOY906LukO9lkQ== 428 | dependencies: 429 | "@babel/helper-function-name" "^7.1.0" 430 | "@babel/helper-plugin-utils" "^7.0.0" 431 | 432 | "@babel/plugin-transform-literals@^7.2.0": 433 | version "7.2.0" 434 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz#690353e81f9267dad4fd8cfd77eafa86aba53ea1" 435 | integrity sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg== 436 | dependencies: 437 | "@babel/helper-plugin-utils" "^7.0.0" 438 | 439 | "@babel/plugin-transform-modules-amd@^7.2.0": 440 | version "7.2.0" 441 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz#82a9bce45b95441f617a24011dc89d12da7f4ee6" 442 | integrity sha512-mK2A8ucqz1qhrdqjS9VMIDfIvvT2thrEsIQzbaTdc5QFzhDjQv2CkJJ5f6BXIkgbmaoax3zBr2RyvV/8zeoUZw== 443 | dependencies: 444 | "@babel/helper-module-transforms" "^7.1.0" 445 | "@babel/helper-plugin-utils" "^7.0.0" 446 | 447 | "@babel/plugin-transform-modules-commonjs@^7.2.0": 448 | version "7.2.0" 449 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.2.0.tgz#c4f1933f5991d5145e9cfad1dfd848ea1727f404" 450 | integrity sha512-V6y0uaUQrQPXUrmj+hgnks8va2L0zcZymeU7TtWEgdRLNkceafKXEduv7QzgQAE4lT+suwooG9dC7LFhdRAbVQ== 451 | dependencies: 452 | "@babel/helper-module-transforms" "^7.1.0" 453 | "@babel/helper-plugin-utils" "^7.0.0" 454 | "@babel/helper-simple-access" "^7.1.0" 455 | 456 | "@babel/plugin-transform-modules-systemjs@^7.2.0": 457 | version "7.2.0" 458 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.2.0.tgz#912bfe9e5ff982924c81d0937c92d24994bb9068" 459 | integrity sha512-aYJwpAhoK9a+1+O625WIjvMY11wkB/ok0WClVwmeo3mCjcNRjt+/8gHWrB5i+00mUju0gWsBkQnPpdvQ7PImmQ== 460 | dependencies: 461 | "@babel/helper-hoist-variables" "^7.0.0" 462 | "@babel/helper-plugin-utils" "^7.0.0" 463 | 464 | "@babel/plugin-transform-modules-umd@^7.2.0": 465 | version "7.2.0" 466 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz#7678ce75169f0877b8eb2235538c074268dd01ae" 467 | integrity sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw== 468 | dependencies: 469 | "@babel/helper-module-transforms" "^7.1.0" 470 | "@babel/helper-plugin-utils" "^7.0.0" 471 | 472 | "@babel/plugin-transform-named-capturing-groups-regex@^7.3.0": 473 | version "7.3.0" 474 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.3.0.tgz#140b52985b2d6ef0cb092ef3b29502b990f9cd50" 475 | integrity sha512-NxIoNVhk9ZxS+9lSoAQ/LM0V2UEvARLttEHUrRDGKFaAxOYQcrkN/nLRE+BbbicCAvZPl7wMP0X60HsHE5DtQw== 476 | dependencies: 477 | regexp-tree "^0.1.0" 478 | 479 | "@babel/plugin-transform-new-target@^7.0.0": 480 | version "7.0.0" 481 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0.tgz#ae8fbd89517fa7892d20e6564e641e8770c3aa4a" 482 | integrity sha512-yin069FYjah+LbqfGeTfzIBODex/e++Yfa0rH0fpfam9uTbuEeEOx5GLGr210ggOV77mVRNoeqSYqeuaqSzVSw== 483 | dependencies: 484 | "@babel/helper-plugin-utils" "^7.0.0" 485 | 486 | "@babel/plugin-transform-object-super@^7.2.0": 487 | version "7.2.0" 488 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz#b35d4c10f56bab5d650047dad0f1d8e8814b6598" 489 | integrity sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg== 490 | dependencies: 491 | "@babel/helper-plugin-utils" "^7.0.0" 492 | "@babel/helper-replace-supers" "^7.1.0" 493 | 494 | "@babel/plugin-transform-parameters@^7.2.0": 495 | version "7.2.0" 496 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.2.0.tgz#0d5ad15dc805e2ea866df4dd6682bfe76d1408c2" 497 | integrity sha512-kB9+hhUidIgUoBQ0MsxMewhzr8i60nMa2KgeJKQWYrqQpqcBYtnpR+JgkadZVZoaEZ/eKu9mclFaVwhRpLNSzA== 498 | dependencies: 499 | "@babel/helper-call-delegate" "^7.1.0" 500 | "@babel/helper-get-function-arity" "^7.0.0" 501 | "@babel/helper-plugin-utils" "^7.0.0" 502 | 503 | "@babel/plugin-transform-react-display-name@^7.0.0": 504 | version "7.2.0" 505 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz#ebfaed87834ce8dc4279609a4f0c324c156e3eb0" 506 | integrity sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A== 507 | dependencies: 508 | "@babel/helper-plugin-utils" "^7.0.0" 509 | 510 | "@babel/plugin-transform-react-jsx-self@^7.0.0": 511 | version "7.2.0" 512 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz#461e21ad9478f1031dd5e276108d027f1b5240ba" 513 | integrity sha512-v6S5L/myicZEy+jr6ielB0OR8h+EH/1QFx/YJ7c7Ua+7lqsjj/vW6fD5FR9hB/6y7mGbfT4vAURn3xqBxsUcdg== 514 | dependencies: 515 | "@babel/helper-plugin-utils" "^7.0.0" 516 | "@babel/plugin-syntax-jsx" "^7.2.0" 517 | 518 | "@babel/plugin-transform-react-jsx-source@^7.0.0": 519 | version "7.2.0" 520 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.2.0.tgz#20c8c60f0140f5dd3cd63418d452801cf3f7180f" 521 | integrity sha512-A32OkKTp4i5U6aE88GwwcuV4HAprUgHcTq0sSafLxjr6AW0QahrCRCjxogkbbcdtpbXkuTOlgpjophCxb6sh5g== 522 | dependencies: 523 | "@babel/helper-plugin-utils" "^7.0.0" 524 | "@babel/plugin-syntax-jsx" "^7.2.0" 525 | 526 | "@babel/plugin-transform-react-jsx@^7.0.0": 527 | version "7.3.0" 528 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz#f2cab99026631c767e2745a5368b331cfe8f5290" 529 | integrity sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg== 530 | dependencies: 531 | "@babel/helper-builder-react-jsx" "^7.3.0" 532 | "@babel/helper-plugin-utils" "^7.0.0" 533 | "@babel/plugin-syntax-jsx" "^7.2.0" 534 | 535 | "@babel/plugin-transform-regenerator@^7.0.0": 536 | version "7.0.0" 537 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz#5b41686b4ed40bef874d7ed6a84bdd849c13e0c1" 538 | integrity sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw== 539 | dependencies: 540 | regenerator-transform "^0.13.3" 541 | 542 | "@babel/plugin-transform-runtime@^7.2.0": 543 | version "7.2.0" 544 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.2.0.tgz#566bc43f7d0aedc880eaddbd29168d0f248966ea" 545 | integrity sha512-jIgkljDdq4RYDnJyQsiWbdvGeei/0MOTtSHKO/rfbd/mXBxNpdlulMx49L0HQ4pug1fXannxoqCI+fYSle9eSw== 546 | dependencies: 547 | "@babel/helper-module-imports" "^7.0.0" 548 | "@babel/helper-plugin-utils" "^7.0.0" 549 | resolve "^1.8.1" 550 | semver "^5.5.1" 551 | 552 | "@babel/plugin-transform-shorthand-properties@^7.2.0": 553 | version "7.2.0" 554 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz#6333aee2f8d6ee7e28615457298934a3b46198f0" 555 | integrity sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg== 556 | dependencies: 557 | "@babel/helper-plugin-utils" "^7.0.0" 558 | 559 | "@babel/plugin-transform-spread@^7.2.0": 560 | version "7.2.2" 561 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz#3103a9abe22f742b6d406ecd3cd49b774919b406" 562 | integrity sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w== 563 | dependencies: 564 | "@babel/helper-plugin-utils" "^7.0.0" 565 | 566 | "@babel/plugin-transform-sticky-regex@^7.2.0": 567 | version "7.2.0" 568 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz#a1e454b5995560a9c1e0d537dfc15061fd2687e1" 569 | integrity sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw== 570 | dependencies: 571 | "@babel/helper-plugin-utils" "^7.0.0" 572 | "@babel/helper-regex" "^7.0.0" 573 | 574 | "@babel/plugin-transform-template-literals@^7.2.0": 575 | version "7.2.0" 576 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.2.0.tgz#d87ed01b8eaac7a92473f608c97c089de2ba1e5b" 577 | integrity sha512-FkPix00J9A/XWXv4VoKJBMeSkyY9x/TqIh76wzcdfl57RJJcf8CehQ08uwfhCDNtRQYtHQKBTwKZDEyjE13Lwg== 578 | dependencies: 579 | "@babel/helper-annotate-as-pure" "^7.0.0" 580 | "@babel/helper-plugin-utils" "^7.0.0" 581 | 582 | "@babel/plugin-transform-typeof-symbol@^7.2.0": 583 | version "7.2.0" 584 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz#117d2bcec2fbf64b4b59d1f9819894682d29f2b2" 585 | integrity sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw== 586 | dependencies: 587 | "@babel/helper-plugin-utils" "^7.0.0" 588 | 589 | "@babel/plugin-transform-unicode-regex@^7.2.0": 590 | version "7.2.0" 591 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.2.0.tgz#4eb8db16f972f8abb5062c161b8b115546ade08b" 592 | integrity sha512-m48Y0lMhrbXEJnVUaYly29jRXbQ3ksxPrS1Tg8t+MHqzXhtBYAvI51euOBaoAlZLPHsieY9XPVMf80a5x0cPcA== 593 | dependencies: 594 | "@babel/helper-plugin-utils" "^7.0.0" 595 | "@babel/helper-regex" "^7.0.0" 596 | regexpu-core "^4.1.3" 597 | 598 | "@babel/polyfill@^7.0.0": 599 | version "7.2.5" 600 | resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.2.5.tgz#6c54b964f71ad27edddc567d065e57e87ed7fa7d" 601 | integrity sha512-8Y/t3MWThtMLYr0YNC/Q76tqN1w30+b0uQMeFUYauG2UGTR19zyUtFrAzT23zNtBxPp+LbE5E/nwV/q/r3y6ug== 602 | dependencies: 603 | core-js "^2.5.7" 604 | regenerator-runtime "^0.12.0" 605 | 606 | "@babel/preset-env@^7.3.1": 607 | version "7.3.1" 608 | resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.3.1.tgz#389e8ca6b17ae67aaf9a2111665030be923515db" 609 | integrity sha512-FHKrD6Dxf30e8xgHQO0zJZpUPfVZg+Xwgz5/RdSWCbza9QLNk4Qbp40ctRoqDxml3O8RMzB1DU55SXeDG6PqHQ== 610 | dependencies: 611 | "@babel/helper-module-imports" "^7.0.0" 612 | "@babel/helper-plugin-utils" "^7.0.0" 613 | "@babel/plugin-proposal-async-generator-functions" "^7.2.0" 614 | "@babel/plugin-proposal-json-strings" "^7.2.0" 615 | "@babel/plugin-proposal-object-rest-spread" "^7.3.1" 616 | "@babel/plugin-proposal-optional-catch-binding" "^7.2.0" 617 | "@babel/plugin-proposal-unicode-property-regex" "^7.2.0" 618 | "@babel/plugin-syntax-async-generators" "^7.2.0" 619 | "@babel/plugin-syntax-json-strings" "^7.2.0" 620 | "@babel/plugin-syntax-object-rest-spread" "^7.2.0" 621 | "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" 622 | "@babel/plugin-transform-arrow-functions" "^7.2.0" 623 | "@babel/plugin-transform-async-to-generator" "^7.2.0" 624 | "@babel/plugin-transform-block-scoped-functions" "^7.2.0" 625 | "@babel/plugin-transform-block-scoping" "^7.2.0" 626 | "@babel/plugin-transform-classes" "^7.2.0" 627 | "@babel/plugin-transform-computed-properties" "^7.2.0" 628 | "@babel/plugin-transform-destructuring" "^7.2.0" 629 | "@babel/plugin-transform-dotall-regex" "^7.2.0" 630 | "@babel/plugin-transform-duplicate-keys" "^7.2.0" 631 | "@babel/plugin-transform-exponentiation-operator" "^7.2.0" 632 | "@babel/plugin-transform-for-of" "^7.2.0" 633 | "@babel/plugin-transform-function-name" "^7.2.0" 634 | "@babel/plugin-transform-literals" "^7.2.0" 635 | "@babel/plugin-transform-modules-amd" "^7.2.0" 636 | "@babel/plugin-transform-modules-commonjs" "^7.2.0" 637 | "@babel/plugin-transform-modules-systemjs" "^7.2.0" 638 | "@babel/plugin-transform-modules-umd" "^7.2.0" 639 | "@babel/plugin-transform-named-capturing-groups-regex" "^7.3.0" 640 | "@babel/plugin-transform-new-target" "^7.0.0" 641 | "@babel/plugin-transform-object-super" "^7.2.0" 642 | "@babel/plugin-transform-parameters" "^7.2.0" 643 | "@babel/plugin-transform-regenerator" "^7.0.0" 644 | "@babel/plugin-transform-shorthand-properties" "^7.2.0" 645 | "@babel/plugin-transform-spread" "^7.2.0" 646 | "@babel/plugin-transform-sticky-regex" "^7.2.0" 647 | "@babel/plugin-transform-template-literals" "^7.2.0" 648 | "@babel/plugin-transform-typeof-symbol" "^7.2.0" 649 | "@babel/plugin-transform-unicode-regex" "^7.2.0" 650 | browserslist "^4.3.4" 651 | invariant "^2.2.2" 652 | js-levenshtein "^1.1.3" 653 | semver "^5.3.0" 654 | 655 | "@babel/preset-react@^7.0.0": 656 | version "7.0.0" 657 | resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.0.0.tgz#e86b4b3d99433c7b3e9e91747e2653958bc6b3c0" 658 | integrity sha512-oayxyPS4Zj+hF6Et11BwuBkmpgT/zMxyuZgFrMeZID6Hdh3dGlk4sHCAhdBCpuCKW2ppBfl2uCCetlrUIJRY3w== 659 | dependencies: 660 | "@babel/helper-plugin-utils" "^7.0.0" 661 | "@babel/plugin-transform-react-display-name" "^7.0.0" 662 | "@babel/plugin-transform-react-jsx" "^7.0.0" 663 | "@babel/plugin-transform-react-jsx-self" "^7.0.0" 664 | "@babel/plugin-transform-react-jsx-source" "^7.0.0" 665 | 666 | "@babel/register@^7.0.0": 667 | version "7.0.0" 668 | resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.0.0.tgz#fa634bae1bfa429f60615b754fc1f1d745edd827" 669 | integrity sha512-f/+CRmaCe7rVEvcvPvxeA8j5aJhHC3aJie7YuqcMDhUOuyWLA7J/aNrTaHIzoWPEhpHA54mec4Mm8fv8KBlv3g== 670 | dependencies: 671 | core-js "^2.5.7" 672 | find-cache-dir "^1.0.0" 673 | home-or-tmp "^3.0.0" 674 | lodash "^4.17.10" 675 | mkdirp "^0.5.1" 676 | pirates "^4.0.0" 677 | source-map-support "^0.5.9" 678 | 679 | "@babel/runtime@^7.3.1": 680 | version "7.3.1" 681 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.3.1.tgz#574b03e8e8a9898eaf4a872a92ea20b7846f6f2a" 682 | integrity sha512-7jGW8ppV0ant637pIqAcFfQDDH1orEPGJb8aXfUozuCU3QqX7rX4DA8iwrbPrR1hcH0FTTHz47yQnk+bl5xHQA== 683 | dependencies: 684 | regenerator-runtime "^0.12.0" 685 | 686 | "@babel/template@^7.1.0", "@babel/template@^7.1.2", "@babel/template@^7.2.2": 687 | version "7.2.2" 688 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.2.2.tgz#005b3fdf0ed96e88041330379e0da9a708eb2907" 689 | integrity sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g== 690 | dependencies: 691 | "@babel/code-frame" "^7.0.0" 692 | "@babel/parser" "^7.2.2" 693 | "@babel/types" "^7.2.2" 694 | 695 | "@babel/traverse@^7.1.0", "@babel/traverse@^7.1.5", "@babel/traverse@^7.2.2", "@babel/traverse@^7.2.3": 696 | version "7.2.3" 697 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.2.3.tgz#7ff50cefa9c7c0bd2d81231fdac122f3957748d8" 698 | integrity sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw== 699 | dependencies: 700 | "@babel/code-frame" "^7.0.0" 701 | "@babel/generator" "^7.2.2" 702 | "@babel/helper-function-name" "^7.1.0" 703 | "@babel/helper-split-export-declaration" "^7.0.0" 704 | "@babel/parser" "^7.2.3" 705 | "@babel/types" "^7.2.2" 706 | debug "^4.1.0" 707 | globals "^11.1.0" 708 | lodash "^4.17.10" 709 | 710 | "@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.2.2", "@babel/types@^7.3.0": 711 | version "7.3.0" 712 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.3.0.tgz#61dc0b336a93badc02bf5f69c4cd8e1353f2ffc0" 713 | integrity sha512-QkFPw68QqWU1/RVPyBe8SO7lXbPfjtqAxRYQKpFpaB8yMq7X2qAqfwK5LKoQufEkSmO5NQ70O6Kc3Afk03RwXw== 714 | dependencies: 715 | esutils "^2.0.2" 716 | lodash "^4.17.10" 717 | to-fast-properties "^2.0.0" 718 | 719 | abbrev@1: 720 | version "1.1.1" 721 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" 722 | integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== 723 | 724 | acorn-es7-plugin@^1.0.12: 725 | version "1.1.7" 726 | resolved "https://registry.yarnpkg.com/acorn-es7-plugin/-/acorn-es7-plugin-1.1.7.tgz#f2ee1f3228a90eead1245f9ab1922eb2e71d336b" 727 | integrity sha1-8u4fMiipDurRJF+asZIusucdM2s= 728 | 729 | acorn-jsx@^5.0.0: 730 | version "5.0.1" 731 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.1.tgz#32a064fd925429216a09b141102bfdd185fae40e" 732 | integrity sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg== 733 | 734 | acorn@^5.0.0: 735 | version "5.7.3" 736 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" 737 | integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== 738 | 739 | acorn@^6.0.2: 740 | version "6.0.5" 741 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.0.5.tgz#81730c0815f3f3b34d8efa95cb7430965f4d887a" 742 | integrity sha512-i33Zgp3XWtmZBMNvCr4azvOFeWVw1Rk6p3hfi3LUDvIFraOMywb1kAtrbi+med14m4Xfpqm3zRZMT+c0FNE7kg== 743 | 744 | ajv@^6.5.3, ajv@^6.6.1: 745 | version "6.7.0" 746 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.7.0.tgz#e3ce7bb372d6577bb1839f1dfdfcbf5ad2948d96" 747 | integrity sha512-RZXPviBTtfmtka9n9sy1N5M5b82CbxWIR6HIis4s3WQTXDJamc/0gpCWNGz6EWdWp4DOfjzJfhz/AS9zVPjjWg== 748 | dependencies: 749 | fast-deep-equal "^2.0.1" 750 | fast-json-stable-stringify "^2.0.0" 751 | json-schema-traverse "^0.4.1" 752 | uri-js "^4.2.2" 753 | 754 | ansi-escapes@^3.0.0: 755 | version "3.2.0" 756 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" 757 | integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== 758 | 759 | ansi-regex@^2.0.0: 760 | version "2.1.1" 761 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 762 | integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= 763 | 764 | ansi-regex@^3.0.0: 765 | version "3.0.0" 766 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 767 | integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= 768 | 769 | ansi-regex@^4.0.0: 770 | version "4.0.0" 771 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.0.0.tgz#70de791edf021404c3fd615aa89118ae0432e5a9" 772 | integrity sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w== 773 | 774 | ansi-styles@^3.2.0, ansi-styles@^3.2.1: 775 | version "3.2.1" 776 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 777 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 778 | dependencies: 779 | color-convert "^1.9.0" 780 | 781 | anymatch@^2.0.0: 782 | version "2.0.0" 783 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" 784 | integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== 785 | dependencies: 786 | micromatch "^3.1.4" 787 | normalize-path "^2.1.1" 788 | 789 | aproba@^1.0.3: 790 | version "1.2.0" 791 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" 792 | integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== 793 | 794 | are-we-there-yet@~1.1.2: 795 | version "1.1.5" 796 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" 797 | integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== 798 | dependencies: 799 | delegates "^1.0.0" 800 | readable-stream "^2.0.6" 801 | 802 | argparse@^1.0.7: 803 | version "1.0.10" 804 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 805 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 806 | dependencies: 807 | sprintf-js "~1.0.2" 808 | 809 | arr-diff@^4.0.0: 810 | version "4.0.0" 811 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" 812 | integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= 813 | 814 | arr-flatten@^1.1.0: 815 | version "1.1.0" 816 | resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" 817 | integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== 818 | 819 | arr-union@^3.1.0: 820 | version "3.1.0" 821 | resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" 822 | integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= 823 | 824 | array-filter@^1.0.0: 825 | version "1.0.0" 826 | resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-1.0.0.tgz#baf79e62e6ef4c2a4c0b831232daffec251f9d83" 827 | integrity sha1-uveeYubvTCpMC4MSMtr/7CUfnYM= 828 | 829 | array-includes@^3.0.3: 830 | version "3.0.3" 831 | resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" 832 | integrity sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0= 833 | dependencies: 834 | define-properties "^1.1.2" 835 | es-abstract "^1.7.0" 836 | 837 | array-unique@^0.3.2: 838 | version "0.3.2" 839 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" 840 | integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= 841 | 842 | assign-symbols@^1.0.0: 843 | version "1.0.0" 844 | resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" 845 | integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= 846 | 847 | astral-regex@^1.0.0: 848 | version "1.0.0" 849 | resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" 850 | integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== 851 | 852 | async-each@^1.0.0: 853 | version "1.0.1" 854 | resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" 855 | integrity sha1-GdOGodntxufByF04iu28xW0zYC0= 856 | 857 | atob@^2.1.1: 858 | version "2.1.2" 859 | resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" 860 | integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== 861 | 862 | babel-plugin-espower@^3.0.1: 863 | version "3.0.1" 864 | resolved "https://registry.yarnpkg.com/babel-plugin-espower/-/babel-plugin-espower-3.0.1.tgz#180db17126f88e754105b8b5216d21e520a6bd4e" 865 | integrity sha512-Ms49U7VIAtQ/TtcqRbD6UBmJBUCSxiC3+zPc+eGqxKUIFO1lTshyEDRUjhoAbd2rWfwYf3cZ62oXozrd8W6J0A== 866 | dependencies: 867 | "@babel/generator" "^7.0.0" 868 | "@babel/parser" "^7.0.0" 869 | call-matcher "^1.0.0" 870 | core-js "^2.0.0" 871 | espower-location-detector "^1.0.0" 872 | espurify "^1.6.0" 873 | estraverse "^4.1.1" 874 | 875 | balanced-match@^1.0.0: 876 | version "1.0.0" 877 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 878 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 879 | 880 | base@^0.11.1: 881 | version "0.11.2" 882 | resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" 883 | integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== 884 | dependencies: 885 | cache-base "^1.0.1" 886 | class-utils "^0.3.5" 887 | component-emitter "^1.2.1" 888 | define-property "^1.0.0" 889 | isobject "^3.0.1" 890 | mixin-deep "^1.2.0" 891 | pascalcase "^0.1.1" 892 | 893 | binary-extensions@^1.0.0: 894 | version "1.12.0" 895 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.12.0.tgz#c2d780f53d45bba8317a8902d4ceeaf3a6385b14" 896 | integrity sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg== 897 | 898 | brace-expansion@^1.1.7: 899 | version "1.1.11" 900 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 901 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 902 | dependencies: 903 | balanced-match "^1.0.0" 904 | concat-map "0.0.1" 905 | 906 | braces@^2.3.0, braces@^2.3.1: 907 | version "2.3.2" 908 | resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" 909 | integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== 910 | dependencies: 911 | arr-flatten "^1.1.0" 912 | array-unique "^0.3.2" 913 | extend-shallow "^2.0.1" 914 | fill-range "^4.0.0" 915 | isobject "^3.0.1" 916 | repeat-element "^1.1.2" 917 | snapdragon "^0.8.1" 918 | snapdragon-node "^2.0.1" 919 | split-string "^3.0.2" 920 | to-regex "^3.0.1" 921 | 922 | browser-stdout@1.3.1: 923 | version "1.3.1" 924 | resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" 925 | integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== 926 | 927 | browserslist@^4.3.4: 928 | version "4.4.1" 929 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.4.1.tgz#42e828954b6b29a7a53e352277be429478a69062" 930 | integrity sha512-pEBxEXg7JwaakBXjATYw/D1YZh4QUSCX/Mnd/wnqSRPPSi1U39iDhDoKGoBUcraKdxDlrYqJxSI5nNvD+dWP2A== 931 | dependencies: 932 | caniuse-lite "^1.0.30000929" 933 | electron-to-chromium "^1.3.103" 934 | node-releases "^1.1.3" 935 | 936 | buffer-from@^1.0.0: 937 | version "1.1.1" 938 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" 939 | integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== 940 | 941 | cache-base@^1.0.1: 942 | version "1.0.1" 943 | resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" 944 | integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== 945 | dependencies: 946 | collection-visit "^1.0.0" 947 | component-emitter "^1.2.1" 948 | get-value "^2.0.6" 949 | has-value "^1.0.0" 950 | isobject "^3.0.1" 951 | set-value "^2.0.0" 952 | to-object-path "^0.3.0" 953 | union-value "^1.0.0" 954 | unset-value "^1.0.0" 955 | 956 | call-matcher@^1.0.0: 957 | version "1.1.0" 958 | resolved "https://registry.yarnpkg.com/call-matcher/-/call-matcher-1.1.0.tgz#23b2c1bc7a8394c8be28609d77ddbd5786680432" 959 | integrity sha512-IoQLeNwwf9KTNbtSA7aEBb1yfDbdnzwjCetjkC8io5oGeOmK2CBNdg0xr+tadRYKO0p7uQyZzvon0kXlZbvGrw== 960 | dependencies: 961 | core-js "^2.0.0" 962 | deep-equal "^1.0.0" 963 | espurify "^1.6.0" 964 | estraverse "^4.0.0" 965 | 966 | call-signature@0.0.2: 967 | version "0.0.2" 968 | resolved "https://registry.yarnpkg.com/call-signature/-/call-signature-0.0.2.tgz#a84abc825a55ef4cb2b028bd74e205a65b9a4996" 969 | integrity sha1-qEq8glpV70yysCi9dOIFpluaSZY= 970 | 971 | callsites@^3.0.0: 972 | version "3.0.0" 973 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.0.0.tgz#fb7eb569b72ad7a45812f93fd9430a3e410b3dd3" 974 | integrity sha512-tWnkwu9YEq2uzlBDI4RcLn8jrFvF9AOi8PxDNU3hZZjJcjkcRAq3vCI+vZcg1SuxISDYe86k9VZFwAxDiJGoAw== 975 | 976 | camelcase@^4.1.0: 977 | version "4.1.0" 978 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" 979 | integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= 980 | 981 | caniuse-lite@^1.0.30000929: 982 | version "1.0.30000932" 983 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000932.tgz#d01763e9ce77810962ca7391ff827b5949ce4272" 984 | integrity sha512-4bghJFItvzz8m0T3lLZbacmEY9X1Z2AtIzTr7s7byqZIOumASfr4ynDx7rtm0J85nDmx8vsgR6vnaSoeU8Oh0A== 985 | 986 | chalk@^2.0.0, chalk@^2.1.0: 987 | version "2.4.2" 988 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 989 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 990 | dependencies: 991 | ansi-styles "^3.2.1" 992 | escape-string-regexp "^1.0.5" 993 | supports-color "^5.3.0" 994 | 995 | chardet@^0.7.0: 996 | version "0.7.0" 997 | resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" 998 | integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== 999 | 1000 | chokidar@^2.0.3: 1001 | version "2.0.4" 1002 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.4.tgz#356ff4e2b0e8e43e322d18a372460bbcf3accd26" 1003 | integrity sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ== 1004 | dependencies: 1005 | anymatch "^2.0.0" 1006 | async-each "^1.0.0" 1007 | braces "^2.3.0" 1008 | glob-parent "^3.1.0" 1009 | inherits "^2.0.1" 1010 | is-binary-path "^1.0.0" 1011 | is-glob "^4.0.0" 1012 | lodash.debounce "^4.0.8" 1013 | normalize-path "^2.1.1" 1014 | path-is-absolute "^1.0.0" 1015 | readdirp "^2.0.0" 1016 | upath "^1.0.5" 1017 | optionalDependencies: 1018 | fsevents "^1.2.2" 1019 | 1020 | chownr@^1.1.1: 1021 | version "1.1.1" 1022 | resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494" 1023 | integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g== 1024 | 1025 | circular-json@^0.3.1: 1026 | version "0.3.3" 1027 | resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66" 1028 | integrity sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A== 1029 | 1030 | class-utils@^0.3.5: 1031 | version "0.3.6" 1032 | resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" 1033 | integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== 1034 | dependencies: 1035 | arr-union "^3.1.0" 1036 | define-property "^0.2.5" 1037 | isobject "^3.0.0" 1038 | static-extend "^0.1.1" 1039 | 1040 | cli-cursor@^2.1.0: 1041 | version "2.1.0" 1042 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" 1043 | integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= 1044 | dependencies: 1045 | restore-cursor "^2.0.0" 1046 | 1047 | cli-table3@^0.5.0: 1048 | version "0.5.1" 1049 | resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.5.1.tgz#0252372d94dfc40dbd8df06005f48f31f656f202" 1050 | integrity sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw== 1051 | dependencies: 1052 | object-assign "^4.1.0" 1053 | string-width "^2.1.1" 1054 | optionalDependencies: 1055 | colors "^1.1.2" 1056 | 1057 | cli-width@^2.0.0: 1058 | version "2.2.0" 1059 | resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" 1060 | integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= 1061 | 1062 | cliui@^4.0.0: 1063 | version "4.1.0" 1064 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" 1065 | integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== 1066 | dependencies: 1067 | string-width "^2.1.1" 1068 | strip-ansi "^4.0.0" 1069 | wrap-ansi "^2.0.0" 1070 | 1071 | code-point-at@^1.0.0: 1072 | version "1.1.0" 1073 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 1074 | integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= 1075 | 1076 | collection-visit@^1.0.0: 1077 | version "1.0.0" 1078 | resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" 1079 | integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= 1080 | dependencies: 1081 | map-visit "^1.0.0" 1082 | object-visit "^1.0.0" 1083 | 1084 | color-convert@^1.9.0: 1085 | version "1.9.3" 1086 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 1087 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 1088 | dependencies: 1089 | color-name "1.1.3" 1090 | 1091 | color-name@1.1.3: 1092 | version "1.1.3" 1093 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 1094 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 1095 | 1096 | colors@^1.1.2: 1097 | version "1.3.3" 1098 | resolved "https://registry.yarnpkg.com/colors/-/colors-1.3.3.tgz#39e005d546afe01e01f9c4ca8fa50f686a01205d" 1099 | integrity sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg== 1100 | 1101 | commander@2.15.1: 1102 | version "2.15.1" 1103 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" 1104 | integrity sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag== 1105 | 1106 | commander@^2.8.1: 1107 | version "2.19.0" 1108 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" 1109 | integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== 1110 | 1111 | commondir@^1.0.1: 1112 | version "1.0.1" 1113 | resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" 1114 | integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= 1115 | 1116 | component-emitter@^1.2.1: 1117 | version "1.2.1" 1118 | resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" 1119 | integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY= 1120 | 1121 | concat-map@0.0.1: 1122 | version "0.0.1" 1123 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 1124 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 1125 | 1126 | console-control-strings@^1.0.0, console-control-strings@~1.1.0: 1127 | version "1.1.0" 1128 | resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" 1129 | integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= 1130 | 1131 | convert-source-map@^1.1.0: 1132 | version "1.6.0" 1133 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" 1134 | integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== 1135 | dependencies: 1136 | safe-buffer "~5.1.1" 1137 | 1138 | copy-descriptor@^0.1.0: 1139 | version "0.1.1" 1140 | resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" 1141 | integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= 1142 | 1143 | core-js@^2.0.0, core-js@^2.5.7: 1144 | version "2.6.3" 1145 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.3.tgz#4b70938bdffdaf64931e66e2db158f0892289c49" 1146 | integrity sha512-l00tmFFZOBHtYhN4Cz7k32VM7vTn3rE2ANjQDxdEN6zmXZ/xq1jQuutnmHvMG1ZJ7xd72+TA5YpUK8wz3rWsfQ== 1147 | 1148 | core-util-is@~1.0.0: 1149 | version "1.0.2" 1150 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 1151 | integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= 1152 | 1153 | cross-env@^5.2.0: 1154 | version "5.2.0" 1155 | resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-5.2.0.tgz#6ecd4c015d5773e614039ee529076669b9d126f2" 1156 | integrity sha512-jtdNFfFW1hB7sMhr/H6rW1Z45LFqyI431m3qU6bFXcQ3Eh7LtBuG3h74o7ohHZ3crrRkkqHlo4jYHFPcjroANg== 1157 | dependencies: 1158 | cross-spawn "^6.0.5" 1159 | is-windows "^1.0.0" 1160 | 1161 | cross-spawn@^5.0.1: 1162 | version "5.1.0" 1163 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" 1164 | integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= 1165 | dependencies: 1166 | lru-cache "^4.0.1" 1167 | shebang-command "^1.2.0" 1168 | which "^1.2.9" 1169 | 1170 | cross-spawn@^6.0.5: 1171 | version "6.0.5" 1172 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" 1173 | integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== 1174 | dependencies: 1175 | nice-try "^1.0.4" 1176 | path-key "^2.0.1" 1177 | semver "^5.5.0" 1178 | shebang-command "^1.2.0" 1179 | which "^1.2.9" 1180 | 1181 | debug@3.1.0: 1182 | version "3.1.0" 1183 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" 1184 | integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== 1185 | dependencies: 1186 | ms "2.0.0" 1187 | 1188 | debug@^2.1.2, debug@^2.2.0, debug@^2.3.3: 1189 | version "2.6.9" 1190 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 1191 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 1192 | dependencies: 1193 | ms "2.0.0" 1194 | 1195 | debug@^4.0.1, debug@^4.1.0: 1196 | version "4.1.1" 1197 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" 1198 | integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== 1199 | dependencies: 1200 | ms "^2.1.1" 1201 | 1202 | decamelize@^1.1.1: 1203 | version "1.2.0" 1204 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 1205 | integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= 1206 | 1207 | decode-uri-component@^0.2.0: 1208 | version "0.2.0" 1209 | resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" 1210 | integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= 1211 | 1212 | deep-equal@^1.0.0: 1213 | version "1.0.1" 1214 | resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" 1215 | integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= 1216 | 1217 | deep-extend@^0.6.0: 1218 | version "0.6.0" 1219 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" 1220 | integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== 1221 | 1222 | deep-is@~0.1.3: 1223 | version "0.1.3" 1224 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" 1225 | integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= 1226 | 1227 | define-properties@^1.1.2: 1228 | version "1.1.3" 1229 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" 1230 | integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== 1231 | dependencies: 1232 | object-keys "^1.0.12" 1233 | 1234 | define-property@^0.2.5: 1235 | version "0.2.5" 1236 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" 1237 | integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= 1238 | dependencies: 1239 | is-descriptor "^0.1.0" 1240 | 1241 | define-property@^1.0.0: 1242 | version "1.0.0" 1243 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" 1244 | integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= 1245 | dependencies: 1246 | is-descriptor "^1.0.0" 1247 | 1248 | define-property@^2.0.2: 1249 | version "2.0.2" 1250 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" 1251 | integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== 1252 | dependencies: 1253 | is-descriptor "^1.0.2" 1254 | isobject "^3.0.1" 1255 | 1256 | delegates@^1.0.0: 1257 | version "1.0.0" 1258 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" 1259 | integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= 1260 | 1261 | detect-libc@^1.0.2: 1262 | version "1.0.3" 1263 | resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" 1264 | integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= 1265 | 1266 | diff-match-patch@^1.0.0: 1267 | version "1.0.4" 1268 | resolved "https://registry.yarnpkg.com/diff-match-patch/-/diff-match-patch-1.0.4.tgz#6ac4b55237463761c4daf0dc603eb869124744b1" 1269 | integrity sha512-Uv3SW8bmH9nAtHKaKSanOQmj2DnlH65fUpcrMdfdaOxUG02QQ4YGZ8AE7kKOMisF7UqvOlGKVYWRvezdncW9lg== 1270 | 1271 | diff@3.5.0: 1272 | version "3.5.0" 1273 | resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" 1274 | integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== 1275 | 1276 | doctrine@^2.1.0: 1277 | version "2.1.0" 1278 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" 1279 | integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== 1280 | dependencies: 1281 | esutils "^2.0.2" 1282 | 1283 | eastasianwidth@^0.2.0: 1284 | version "0.2.0" 1285 | resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" 1286 | integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== 1287 | 1288 | electron-to-chromium@^1.3.103: 1289 | version "1.3.108" 1290 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.108.tgz#2e79a6fcaa4b3e7c75abf871505bda8e268c910e" 1291 | integrity sha512-/QI4hMpAh48a1Sea6PALGv+kuVne9A2EWGd8HrWHMdYhIzGtbhVVHh6heL5fAzGaDnZuPyrlWJRl8WPm4RyiQQ== 1292 | 1293 | empower-core@^1.2.0: 1294 | version "1.2.0" 1295 | resolved "https://registry.yarnpkg.com/empower-core/-/empower-core-1.2.0.tgz#ce3fb2484d5187fa29c23fba8344b0b2fdf5601c" 1296 | integrity sha512-g6+K6Geyc1o6FdXs9HwrXleCFan7d66G5xSCfSF7x1mJDCes6t0om9lFQG3zOrzh3Bkb/45N0cZ5Gqsf7YrzGQ== 1297 | dependencies: 1298 | call-signature "0.0.2" 1299 | core-js "^2.0.0" 1300 | 1301 | empower@^1.3.1: 1302 | version "1.3.1" 1303 | resolved "https://registry.yarnpkg.com/empower/-/empower-1.3.1.tgz#768979cbbb36d71d8f5edaab663deacb9dab916c" 1304 | integrity sha512-uB6/ViBaawOO/uujFADTK3SqdYlxYNn+N4usK9MRKZ4Hbn/1QSy8k2PezxCA2/+JGbF8vd/eOfghZ90oOSDZCA== 1305 | dependencies: 1306 | core-js "^2.0.0" 1307 | empower-core "^1.2.0" 1308 | 1309 | es-abstract@^1.11.0, es-abstract@^1.7.0: 1310 | version "1.13.0" 1311 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" 1312 | integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== 1313 | dependencies: 1314 | es-to-primitive "^1.2.0" 1315 | function-bind "^1.1.1" 1316 | has "^1.0.3" 1317 | is-callable "^1.1.4" 1318 | is-regex "^1.0.4" 1319 | object-keys "^1.0.12" 1320 | 1321 | es-to-primitive@^1.2.0: 1322 | version "1.2.0" 1323 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" 1324 | integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== 1325 | dependencies: 1326 | is-callable "^1.1.4" 1327 | is-date-object "^1.0.1" 1328 | is-symbol "^1.0.2" 1329 | 1330 | escape-string-regexp@1.0.5, escape-string-regexp@^1.0.5: 1331 | version "1.0.5" 1332 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 1333 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 1334 | 1335 | eslint-plugin-react@^7.12.4: 1336 | version "7.12.4" 1337 | resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.12.4.tgz#b1ecf26479d61aee650da612e425c53a99f48c8c" 1338 | integrity sha512-1puHJkXJY+oS1t467MjbqjvX53uQ05HXwjqDgdbGBqf5j9eeydI54G3KwiJmWciQ0HTBacIKw2jgwSBSH3yfgQ== 1339 | dependencies: 1340 | array-includes "^3.0.3" 1341 | doctrine "^2.1.0" 1342 | has "^1.0.3" 1343 | jsx-ast-utils "^2.0.1" 1344 | object.fromentries "^2.0.0" 1345 | prop-types "^15.6.2" 1346 | resolve "^1.9.0" 1347 | 1348 | eslint-scope@^4.0.0: 1349 | version "4.0.0" 1350 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.0.tgz#50bf3071e9338bcdc43331794a0cb533f0136172" 1351 | integrity sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA== 1352 | dependencies: 1353 | esrecurse "^4.1.0" 1354 | estraverse "^4.1.1" 1355 | 1356 | eslint-utils@^1.3.1: 1357 | version "1.3.1" 1358 | resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.3.1.tgz#9a851ba89ee7c460346f97cf8939c7298827e512" 1359 | integrity sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q== 1360 | 1361 | eslint-visitor-keys@^1.0.0: 1362 | version "1.0.0" 1363 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" 1364 | integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ== 1365 | 1366 | eslint@^5.12.1: 1367 | version "5.12.1" 1368 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.12.1.tgz#5ca9931fb9029d04e7be92b03ce3b58edfac7e3b" 1369 | integrity sha512-54NV+JkTpTu0d8+UYSA8mMKAG4XAsaOrozA9rCW7tgneg1mevcL7wIotPC+fZ0SkWwdhNqoXoxnQCTBp7UvTsg== 1370 | dependencies: 1371 | "@babel/code-frame" "^7.0.0" 1372 | ajv "^6.5.3" 1373 | chalk "^2.1.0" 1374 | cross-spawn "^6.0.5" 1375 | debug "^4.0.1" 1376 | doctrine "^2.1.0" 1377 | eslint-scope "^4.0.0" 1378 | eslint-utils "^1.3.1" 1379 | eslint-visitor-keys "^1.0.0" 1380 | espree "^5.0.0" 1381 | esquery "^1.0.1" 1382 | esutils "^2.0.2" 1383 | file-entry-cache "^2.0.0" 1384 | functional-red-black-tree "^1.0.1" 1385 | glob "^7.1.2" 1386 | globals "^11.7.0" 1387 | ignore "^4.0.6" 1388 | import-fresh "^3.0.0" 1389 | imurmurhash "^0.1.4" 1390 | inquirer "^6.1.0" 1391 | js-yaml "^3.12.0" 1392 | json-stable-stringify-without-jsonify "^1.0.1" 1393 | levn "^0.3.0" 1394 | lodash "^4.17.5" 1395 | minimatch "^3.0.4" 1396 | mkdirp "^0.5.1" 1397 | natural-compare "^1.4.0" 1398 | optionator "^0.8.2" 1399 | path-is-inside "^1.0.2" 1400 | pluralize "^7.0.0" 1401 | progress "^2.0.0" 1402 | regexpp "^2.0.1" 1403 | semver "^5.5.1" 1404 | strip-ansi "^4.0.0" 1405 | strip-json-comments "^2.0.1" 1406 | table "^5.0.2" 1407 | text-table "^0.2.0" 1408 | 1409 | espower-location-detector@^1.0.0: 1410 | version "1.0.0" 1411 | resolved "https://registry.yarnpkg.com/espower-location-detector/-/espower-location-detector-1.0.0.tgz#a17b7ecc59d30e179e2bef73fb4137704cb331b5" 1412 | integrity sha1-oXt+zFnTDheeK+9z+0E3cEyzMbU= 1413 | dependencies: 1414 | is-url "^1.2.1" 1415 | path-is-absolute "^1.0.0" 1416 | source-map "^0.5.0" 1417 | xtend "^4.0.0" 1418 | 1419 | espree@^5.0.0: 1420 | version "5.0.0" 1421 | resolved "https://registry.yarnpkg.com/espree/-/espree-5.0.0.tgz#fc7f984b62b36a0f543b13fb9cd7b9f4a7f5b65c" 1422 | integrity sha512-1MpUfwsdS9MMoN7ZXqAr9e9UKdVHDcvrJpyx7mm1WuQlx/ygErEQBzgi5Nh5qBHIoYweprhtMkTCb9GhcAIcsA== 1423 | dependencies: 1424 | acorn "^6.0.2" 1425 | acorn-jsx "^5.0.0" 1426 | eslint-visitor-keys "^1.0.0" 1427 | 1428 | esprima@^4.0.0: 1429 | version "4.0.1" 1430 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 1431 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 1432 | 1433 | espurify@^1.6.0: 1434 | version "1.8.1" 1435 | resolved "https://registry.yarnpkg.com/espurify/-/espurify-1.8.1.tgz#5746c6c1ab42d302de10bd1d5bf7f0e8c0515056" 1436 | integrity sha512-ZDko6eY/o+D/gHCWyHTU85mKDgYcS4FJj7S+YD6WIInm7GQ6AnOjmcL4+buFV/JOztVLELi/7MmuGU5NHta0Mg== 1437 | dependencies: 1438 | core-js "^2.0.0" 1439 | 1440 | esquery@^1.0.1: 1441 | version "1.0.1" 1442 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" 1443 | integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA== 1444 | dependencies: 1445 | estraverse "^4.0.0" 1446 | 1447 | esrecurse@^4.1.0: 1448 | version "4.2.1" 1449 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" 1450 | integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== 1451 | dependencies: 1452 | estraverse "^4.1.0" 1453 | 1454 | estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: 1455 | version "4.2.0" 1456 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" 1457 | integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= 1458 | 1459 | esutils@^2.0.0, esutils@^2.0.2: 1460 | version "2.0.2" 1461 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" 1462 | integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= 1463 | 1464 | execa@^0.7.0: 1465 | version "0.7.0" 1466 | resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" 1467 | integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c= 1468 | dependencies: 1469 | cross-spawn "^5.0.1" 1470 | get-stream "^3.0.0" 1471 | is-stream "^1.1.0" 1472 | npm-run-path "^2.0.0" 1473 | p-finally "^1.0.0" 1474 | signal-exit "^3.0.0" 1475 | strip-eof "^1.0.0" 1476 | 1477 | expand-brackets@^2.1.4: 1478 | version "2.1.4" 1479 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" 1480 | integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= 1481 | dependencies: 1482 | debug "^2.3.3" 1483 | define-property "^0.2.5" 1484 | extend-shallow "^2.0.1" 1485 | posix-character-classes "^0.1.0" 1486 | regex-not "^1.0.0" 1487 | snapdragon "^0.8.1" 1488 | to-regex "^3.0.1" 1489 | 1490 | extend-shallow@^2.0.1: 1491 | version "2.0.1" 1492 | resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" 1493 | integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= 1494 | dependencies: 1495 | is-extendable "^0.1.0" 1496 | 1497 | extend-shallow@^3.0.0, extend-shallow@^3.0.2: 1498 | version "3.0.2" 1499 | resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" 1500 | integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= 1501 | dependencies: 1502 | assign-symbols "^1.0.0" 1503 | is-extendable "^1.0.1" 1504 | 1505 | external-editor@^3.0.0: 1506 | version "3.0.3" 1507 | resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27" 1508 | integrity sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA== 1509 | dependencies: 1510 | chardet "^0.7.0" 1511 | iconv-lite "^0.4.24" 1512 | tmp "^0.0.33" 1513 | 1514 | extglob@^2.0.4: 1515 | version "2.0.4" 1516 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" 1517 | integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== 1518 | dependencies: 1519 | array-unique "^0.3.2" 1520 | define-property "^1.0.0" 1521 | expand-brackets "^2.1.4" 1522 | extend-shallow "^2.0.1" 1523 | fragment-cache "^0.2.1" 1524 | regex-not "^1.0.0" 1525 | snapdragon "^0.8.1" 1526 | to-regex "^3.0.1" 1527 | 1528 | fast-deep-equal@^2.0.1: 1529 | version "2.0.1" 1530 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" 1531 | integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= 1532 | 1533 | fast-json-stable-stringify@^2.0.0: 1534 | version "2.0.0" 1535 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" 1536 | integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= 1537 | 1538 | fast-levenshtein@~2.0.4: 1539 | version "2.0.6" 1540 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 1541 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= 1542 | 1543 | figures@^2.0.0: 1544 | version "2.0.0" 1545 | resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" 1546 | integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= 1547 | dependencies: 1548 | escape-string-regexp "^1.0.5" 1549 | 1550 | file-entry-cache@^2.0.0: 1551 | version "2.0.0" 1552 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" 1553 | integrity sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E= 1554 | dependencies: 1555 | flat-cache "^1.2.1" 1556 | object-assign "^4.0.1" 1557 | 1558 | fill-range@^4.0.0: 1559 | version "4.0.0" 1560 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" 1561 | integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= 1562 | dependencies: 1563 | extend-shallow "^2.0.1" 1564 | is-number "^3.0.0" 1565 | repeat-string "^1.6.1" 1566 | to-regex-range "^2.1.0" 1567 | 1568 | find-cache-dir@^1.0.0: 1569 | version "1.0.0" 1570 | resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f" 1571 | integrity sha1-kojj6ePMN0hxfTnq3hfPcfww7m8= 1572 | dependencies: 1573 | commondir "^1.0.1" 1574 | make-dir "^1.0.0" 1575 | pkg-dir "^2.0.0" 1576 | 1577 | find-up@^2.1.0: 1578 | version "2.1.0" 1579 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" 1580 | integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= 1581 | dependencies: 1582 | locate-path "^2.0.0" 1583 | 1584 | flat-cache@^1.2.1: 1585 | version "1.3.4" 1586 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.4.tgz#2c2ef77525cc2929007dfffa1dd314aa9c9dee6f" 1587 | integrity sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg== 1588 | dependencies: 1589 | circular-json "^0.3.1" 1590 | graceful-fs "^4.1.2" 1591 | rimraf "~2.6.2" 1592 | write "^0.2.1" 1593 | 1594 | for-in@^1.0.2: 1595 | version "1.0.2" 1596 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" 1597 | integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= 1598 | 1599 | fragment-cache@^0.2.1: 1600 | version "0.2.1" 1601 | resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" 1602 | integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= 1603 | dependencies: 1604 | map-cache "^0.2.2" 1605 | 1606 | fs-minipass@^1.2.5: 1607 | version "1.2.5" 1608 | resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" 1609 | integrity sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ== 1610 | dependencies: 1611 | minipass "^2.2.1" 1612 | 1613 | fs-readdir-recursive@^1.1.0: 1614 | version "1.1.0" 1615 | resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" 1616 | integrity sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA== 1617 | 1618 | fs.realpath@^1.0.0: 1619 | version "1.0.0" 1620 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1621 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 1622 | 1623 | fsevents@^1.2.2: 1624 | version "1.2.7" 1625 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.7.tgz#4851b664a3783e52003b3c66eb0eee1074933aa4" 1626 | integrity sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw== 1627 | dependencies: 1628 | nan "^2.9.2" 1629 | node-pre-gyp "^0.10.0" 1630 | 1631 | function-bind@^1.1.1: 1632 | version "1.1.1" 1633 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 1634 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 1635 | 1636 | functional-red-black-tree@^1.0.1: 1637 | version "1.0.1" 1638 | resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" 1639 | integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= 1640 | 1641 | gauge@~2.7.3: 1642 | version "2.7.4" 1643 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" 1644 | integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= 1645 | dependencies: 1646 | aproba "^1.0.3" 1647 | console-control-strings "^1.0.0" 1648 | has-unicode "^2.0.0" 1649 | object-assign "^4.1.0" 1650 | signal-exit "^3.0.0" 1651 | string-width "^1.0.1" 1652 | strip-ansi "^3.0.1" 1653 | wide-align "^1.1.0" 1654 | 1655 | get-caller-file@^1.0.1: 1656 | version "1.0.3" 1657 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" 1658 | integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== 1659 | 1660 | get-stream@^3.0.0: 1661 | version "3.0.0" 1662 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" 1663 | integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= 1664 | 1665 | get-value@^2.0.3, get-value@^2.0.6: 1666 | version "2.0.6" 1667 | resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" 1668 | integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= 1669 | 1670 | glob-parent@^3.1.0: 1671 | version "3.1.0" 1672 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" 1673 | integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= 1674 | dependencies: 1675 | is-glob "^3.1.0" 1676 | path-dirname "^1.0.0" 1677 | 1678 | glob@7.1.2: 1679 | version "7.1.2" 1680 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" 1681 | integrity sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ== 1682 | dependencies: 1683 | fs.realpath "^1.0.0" 1684 | inflight "^1.0.4" 1685 | inherits "2" 1686 | minimatch "^3.0.4" 1687 | once "^1.3.0" 1688 | path-is-absolute "^1.0.0" 1689 | 1690 | glob@^7.0.0, glob@^7.1.2, glob@^7.1.3: 1691 | version "7.1.3" 1692 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" 1693 | integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== 1694 | dependencies: 1695 | fs.realpath "^1.0.0" 1696 | inflight "^1.0.4" 1697 | inherits "2" 1698 | minimatch "^3.0.4" 1699 | once "^1.3.0" 1700 | path-is-absolute "^1.0.0" 1701 | 1702 | globals@^11.1.0, globals@^11.7.0: 1703 | version "11.10.0" 1704 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.10.0.tgz#1e09776dffda5e01816b3bb4077c8b59c24eaa50" 1705 | integrity sha512-0GZF1RiPKU97IHUO5TORo9w1PwrH/NBPl+fS7oMLdaTRiYmYbwK4NWoZWrAdd0/abG9R2BU+OiwyQpTpE6pdfQ== 1706 | 1707 | graceful-fs@^4.1.11, graceful-fs@^4.1.2: 1708 | version "4.1.15" 1709 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" 1710 | integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== 1711 | 1712 | growl@1.10.5: 1713 | version "1.10.5" 1714 | resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" 1715 | integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== 1716 | 1717 | has-flag@^3.0.0: 1718 | version "3.0.0" 1719 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 1720 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 1721 | 1722 | has-symbols@^1.0.0: 1723 | version "1.0.0" 1724 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" 1725 | integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= 1726 | 1727 | has-unicode@^2.0.0: 1728 | version "2.0.1" 1729 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" 1730 | integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= 1731 | 1732 | has-value@^0.3.1: 1733 | version "0.3.1" 1734 | resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" 1735 | integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= 1736 | dependencies: 1737 | get-value "^2.0.3" 1738 | has-values "^0.1.4" 1739 | isobject "^2.0.0" 1740 | 1741 | has-value@^1.0.0: 1742 | version "1.0.0" 1743 | resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" 1744 | integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= 1745 | dependencies: 1746 | get-value "^2.0.6" 1747 | has-values "^1.0.0" 1748 | isobject "^3.0.0" 1749 | 1750 | has-values@^0.1.4: 1751 | version "0.1.4" 1752 | resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" 1753 | integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= 1754 | 1755 | has-values@^1.0.0: 1756 | version "1.0.0" 1757 | resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" 1758 | integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= 1759 | dependencies: 1760 | is-number "^3.0.0" 1761 | kind-of "^4.0.0" 1762 | 1763 | has@^1.0.1, has@^1.0.3: 1764 | version "1.0.3" 1765 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 1766 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 1767 | dependencies: 1768 | function-bind "^1.1.1" 1769 | 1770 | he@1.1.1: 1771 | version "1.1.1" 1772 | resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" 1773 | integrity sha1-k0EP0hsAlzUVH4howvJx80J+I/0= 1774 | 1775 | home-or-tmp@^3.0.0: 1776 | version "3.0.0" 1777 | resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-3.0.0.tgz#57a8fe24cf33cdd524860a15821ddc25c86671fb" 1778 | integrity sha1-V6j+JM8zzdUkhgoVgh3cJchmcfs= 1779 | 1780 | homedir-polyfill@^1.0.1: 1781 | version "1.0.1" 1782 | resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc" 1783 | integrity sha1-TCu8inWJmP7r9e1oWA921GdotLw= 1784 | dependencies: 1785 | parse-passwd "^1.0.0" 1786 | 1787 | iconv-lite@^0.4.24, iconv-lite@^0.4.4: 1788 | version "0.4.24" 1789 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 1790 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== 1791 | dependencies: 1792 | safer-buffer ">= 2.1.2 < 3" 1793 | 1794 | ignore-walk@^3.0.1: 1795 | version "3.0.1" 1796 | resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" 1797 | integrity sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ== 1798 | dependencies: 1799 | minimatch "^3.0.4" 1800 | 1801 | ignore@^4.0.6: 1802 | version "4.0.6" 1803 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" 1804 | integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== 1805 | 1806 | import-fresh@^3.0.0: 1807 | version "3.0.0" 1808 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.0.0.tgz#a3d897f420cab0e671236897f75bc14b4885c390" 1809 | integrity sha512-pOnA9tfM3Uwics+SaBLCNyZZZbK+4PTu0OPZtLlMIrv17EdBoC15S9Kn8ckJ9TZTyKb3ywNE5y1yeDxxGA7nTQ== 1810 | dependencies: 1811 | parent-module "^1.0.0" 1812 | resolve-from "^4.0.0" 1813 | 1814 | imurmurhash@^0.1.4: 1815 | version "0.1.4" 1816 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1817 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= 1818 | 1819 | indexof@0.0.1: 1820 | version "0.0.1" 1821 | resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" 1822 | integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10= 1823 | 1824 | inflight@^1.0.4: 1825 | version "1.0.6" 1826 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1827 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 1828 | dependencies: 1829 | once "^1.3.0" 1830 | wrappy "1" 1831 | 1832 | inherits@2, inherits@^2.0.1, inherits@~2.0.3: 1833 | version "2.0.3" 1834 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 1835 | integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= 1836 | 1837 | ini@~1.3.0: 1838 | version "1.3.5" 1839 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" 1840 | integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== 1841 | 1842 | inquirer@^6.1.0: 1843 | version "6.2.1" 1844 | resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.1.tgz#9943fc4882161bdb0b0c9276769c75b32dbfcd52" 1845 | integrity sha512-088kl3DRT2dLU5riVMKKr1DlImd6X7smDhpXUCkJDCKvTEJeRiXh0G132HG9u5a+6Ylw9plFRY7RuTnwohYSpg== 1846 | dependencies: 1847 | ansi-escapes "^3.0.0" 1848 | chalk "^2.0.0" 1849 | cli-cursor "^2.1.0" 1850 | cli-width "^2.0.0" 1851 | external-editor "^3.0.0" 1852 | figures "^2.0.0" 1853 | lodash "^4.17.10" 1854 | mute-stream "0.0.7" 1855 | run-async "^2.2.0" 1856 | rxjs "^6.1.0" 1857 | string-width "^2.1.0" 1858 | strip-ansi "^5.0.0" 1859 | through "^2.3.6" 1860 | 1861 | intl-messageformat-parser@^1.4.0: 1862 | version "1.4.0" 1863 | resolved "https://registry.yarnpkg.com/intl-messageformat-parser/-/intl-messageformat-parser-1.4.0.tgz#b43d45a97468cadbe44331d74bb1e8dea44fc075" 1864 | integrity sha1-tD1FqXRoytvkQzHXS7Ho3qRPwHU= 1865 | 1866 | invariant@^2.2.2: 1867 | version "2.2.4" 1868 | resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" 1869 | integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== 1870 | dependencies: 1871 | loose-envify "^1.0.0" 1872 | 1873 | invert-kv@^1.0.0: 1874 | version "1.0.0" 1875 | resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" 1876 | integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= 1877 | 1878 | is-accessor-descriptor@^0.1.6: 1879 | version "0.1.6" 1880 | resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" 1881 | integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= 1882 | dependencies: 1883 | kind-of "^3.0.2" 1884 | 1885 | is-accessor-descriptor@^1.0.0: 1886 | version "1.0.0" 1887 | resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" 1888 | integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== 1889 | dependencies: 1890 | kind-of "^6.0.0" 1891 | 1892 | is-binary-path@^1.0.0: 1893 | version "1.0.1" 1894 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" 1895 | integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= 1896 | dependencies: 1897 | binary-extensions "^1.0.0" 1898 | 1899 | is-buffer@^1.1.5: 1900 | version "1.1.6" 1901 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" 1902 | integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== 1903 | 1904 | is-callable@^1.1.4: 1905 | version "1.1.4" 1906 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" 1907 | integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== 1908 | 1909 | is-data-descriptor@^0.1.4: 1910 | version "0.1.4" 1911 | resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" 1912 | integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= 1913 | dependencies: 1914 | kind-of "^3.0.2" 1915 | 1916 | is-data-descriptor@^1.0.0: 1917 | version "1.0.0" 1918 | resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" 1919 | integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== 1920 | dependencies: 1921 | kind-of "^6.0.0" 1922 | 1923 | is-date-object@^1.0.1: 1924 | version "1.0.1" 1925 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" 1926 | integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= 1927 | 1928 | is-descriptor@^0.1.0: 1929 | version "0.1.6" 1930 | resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" 1931 | integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== 1932 | dependencies: 1933 | is-accessor-descriptor "^0.1.6" 1934 | is-data-descriptor "^0.1.4" 1935 | kind-of "^5.0.0" 1936 | 1937 | is-descriptor@^1.0.0, is-descriptor@^1.0.2: 1938 | version "1.0.2" 1939 | resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" 1940 | integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== 1941 | dependencies: 1942 | is-accessor-descriptor "^1.0.0" 1943 | is-data-descriptor "^1.0.0" 1944 | kind-of "^6.0.2" 1945 | 1946 | is-extendable@^0.1.0, is-extendable@^0.1.1: 1947 | version "0.1.1" 1948 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" 1949 | integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= 1950 | 1951 | is-extendable@^1.0.1: 1952 | version "1.0.1" 1953 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" 1954 | integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== 1955 | dependencies: 1956 | is-plain-object "^2.0.4" 1957 | 1958 | is-extglob@^2.1.0, is-extglob@^2.1.1: 1959 | version "2.1.1" 1960 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1961 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 1962 | 1963 | is-fullwidth-code-point@^1.0.0: 1964 | version "1.0.0" 1965 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 1966 | integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= 1967 | dependencies: 1968 | number-is-nan "^1.0.0" 1969 | 1970 | is-fullwidth-code-point@^2.0.0: 1971 | version "2.0.0" 1972 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 1973 | integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= 1974 | 1975 | is-glob@^3.1.0: 1976 | version "3.1.0" 1977 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" 1978 | integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= 1979 | dependencies: 1980 | is-extglob "^2.1.0" 1981 | 1982 | is-glob@^4.0.0: 1983 | version "4.0.0" 1984 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" 1985 | integrity sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A= 1986 | dependencies: 1987 | is-extglob "^2.1.1" 1988 | 1989 | is-number@^3.0.0: 1990 | version "3.0.0" 1991 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" 1992 | integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= 1993 | dependencies: 1994 | kind-of "^3.0.2" 1995 | 1996 | is-plain-obj@^1.1.0: 1997 | version "1.1.0" 1998 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" 1999 | integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= 2000 | 2001 | is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: 2002 | version "2.0.4" 2003 | resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" 2004 | integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== 2005 | dependencies: 2006 | isobject "^3.0.1" 2007 | 2008 | is-promise@^2.1.0: 2009 | version "2.1.0" 2010 | resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" 2011 | integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= 2012 | 2013 | is-regex@^1.0.4: 2014 | version "1.0.4" 2015 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" 2016 | integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= 2017 | dependencies: 2018 | has "^1.0.1" 2019 | 2020 | is-stream@^1.1.0: 2021 | version "1.1.0" 2022 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" 2023 | integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= 2024 | 2025 | is-symbol@^1.0.2: 2026 | version "1.0.2" 2027 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" 2028 | integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== 2029 | dependencies: 2030 | has-symbols "^1.0.0" 2031 | 2032 | is-url@^1.2.1: 2033 | version "1.2.4" 2034 | resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.4.tgz#04a4df46d28c4cff3d73d01ff06abeb318a1aa52" 2035 | integrity sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww== 2036 | 2037 | is-windows@^1.0.0, is-windows@^1.0.2: 2038 | version "1.0.2" 2039 | resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" 2040 | integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== 2041 | 2042 | isarray@1.0.0, isarray@~1.0.0: 2043 | version "1.0.0" 2044 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 2045 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= 2046 | 2047 | isexe@^2.0.0: 2048 | version "2.0.0" 2049 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 2050 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 2051 | 2052 | isobject@^2.0.0: 2053 | version "2.1.0" 2054 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" 2055 | integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= 2056 | dependencies: 2057 | isarray "1.0.0" 2058 | 2059 | isobject@^3.0.0, isobject@^3.0.1: 2060 | version "3.0.1" 2061 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" 2062 | integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= 2063 | 2064 | js-levenshtein@^1.1.3: 2065 | version "1.1.6" 2066 | resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" 2067 | integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g== 2068 | 2069 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: 2070 | version "4.0.0" 2071 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 2072 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 2073 | 2074 | js-yaml@^3.12.0: 2075 | version "3.12.1" 2076 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.1.tgz#295c8632a18a23e054cf5c9d3cecafe678167600" 2077 | integrity sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA== 2078 | dependencies: 2079 | argparse "^1.0.7" 2080 | esprima "^4.0.0" 2081 | 2082 | jsesc@^2.5.1: 2083 | version "2.5.2" 2084 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" 2085 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== 2086 | 2087 | jsesc@~0.5.0: 2088 | version "0.5.0" 2089 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" 2090 | integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= 2091 | 2092 | json-schema-traverse@^0.4.1: 2093 | version "0.4.1" 2094 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 2095 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 2096 | 2097 | json-stable-stringify-without-jsonify@^1.0.1: 2098 | version "1.0.1" 2099 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" 2100 | integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= 2101 | 2102 | json5@^2.1.0: 2103 | version "2.1.0" 2104 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850" 2105 | integrity sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ== 2106 | dependencies: 2107 | minimist "^1.2.0" 2108 | 2109 | jsx-ast-utils@^2.0.1: 2110 | version "2.0.1" 2111 | resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz#e801b1b39985e20fffc87b40e3748080e2dcac7f" 2112 | integrity sha1-6AGxs5mF4g//yHtA43SAgOLcrH8= 2113 | dependencies: 2114 | array-includes "^3.0.3" 2115 | 2116 | kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: 2117 | version "3.2.2" 2118 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" 2119 | integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= 2120 | dependencies: 2121 | is-buffer "^1.1.5" 2122 | 2123 | kind-of@^4.0.0: 2124 | version "4.0.0" 2125 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" 2126 | integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= 2127 | dependencies: 2128 | is-buffer "^1.1.5" 2129 | 2130 | kind-of@^5.0.0: 2131 | version "5.1.0" 2132 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" 2133 | integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== 2134 | 2135 | kind-of@^6.0.0, kind-of@^6.0.2: 2136 | version "6.0.2" 2137 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" 2138 | integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== 2139 | 2140 | lcid@^1.0.0: 2141 | version "1.0.0" 2142 | resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" 2143 | integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= 2144 | dependencies: 2145 | invert-kv "^1.0.0" 2146 | 2147 | levn@^0.3.0, levn@~0.3.0: 2148 | version "0.3.0" 2149 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" 2150 | integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= 2151 | dependencies: 2152 | prelude-ls "~1.1.2" 2153 | type-check "~0.3.2" 2154 | 2155 | locate-path@^2.0.0: 2156 | version "2.0.0" 2157 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" 2158 | integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= 2159 | dependencies: 2160 | p-locate "^2.0.0" 2161 | path-exists "^3.0.0" 2162 | 2163 | lodash.debounce@^4.0.8: 2164 | version "4.0.8" 2165 | resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" 2166 | integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= 2167 | 2168 | lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.5: 2169 | version "4.17.11" 2170 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" 2171 | integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== 2172 | 2173 | loose-envify@^1.0.0, loose-envify@^1.3.1: 2174 | version "1.4.0" 2175 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 2176 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== 2177 | dependencies: 2178 | js-tokens "^3.0.0 || ^4.0.0" 2179 | 2180 | lru-cache@^4.0.1: 2181 | version "4.1.5" 2182 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" 2183 | integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== 2184 | dependencies: 2185 | pseudomap "^1.0.2" 2186 | yallist "^2.1.2" 2187 | 2188 | make-dir@^1.0.0: 2189 | version "1.3.0" 2190 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" 2191 | integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== 2192 | dependencies: 2193 | pify "^3.0.0" 2194 | 2195 | map-cache@^0.2.2: 2196 | version "0.2.2" 2197 | resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" 2198 | integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= 2199 | 2200 | map-visit@^1.0.0: 2201 | version "1.0.0" 2202 | resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" 2203 | integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= 2204 | dependencies: 2205 | object-visit "^1.0.0" 2206 | 2207 | mem@^1.1.0: 2208 | version "1.1.0" 2209 | resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" 2210 | integrity sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y= 2211 | dependencies: 2212 | mimic-fn "^1.0.0" 2213 | 2214 | micromatch@^3.1.10, micromatch@^3.1.4: 2215 | version "3.1.10" 2216 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" 2217 | integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== 2218 | dependencies: 2219 | arr-diff "^4.0.0" 2220 | array-unique "^0.3.2" 2221 | braces "^2.3.1" 2222 | define-property "^2.0.2" 2223 | extend-shallow "^3.0.2" 2224 | extglob "^2.0.4" 2225 | fragment-cache "^0.2.1" 2226 | kind-of "^6.0.2" 2227 | nanomatch "^1.2.9" 2228 | object.pick "^1.3.0" 2229 | regex-not "^1.0.0" 2230 | snapdragon "^0.8.1" 2231 | to-regex "^3.0.2" 2232 | 2233 | mimic-fn@^1.0.0: 2234 | version "1.2.0" 2235 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" 2236 | integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== 2237 | 2238 | minimatch@3.0.4, minimatch@^3.0.4: 2239 | version "3.0.4" 2240 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 2241 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 2242 | dependencies: 2243 | brace-expansion "^1.1.7" 2244 | 2245 | minimist@0.0.8: 2246 | version "0.0.8" 2247 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 2248 | integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= 2249 | 2250 | minimist@^1.2.0: 2251 | version "1.2.0" 2252 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 2253 | integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= 2254 | 2255 | minipass@^2.2.1, minipass@^2.3.4: 2256 | version "2.3.5" 2257 | resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848" 2258 | integrity sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA== 2259 | dependencies: 2260 | safe-buffer "^5.1.2" 2261 | yallist "^3.0.0" 2262 | 2263 | minizlib@^1.1.1: 2264 | version "1.2.1" 2265 | resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" 2266 | integrity sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA== 2267 | dependencies: 2268 | minipass "^2.2.1" 2269 | 2270 | mixin-deep@^1.2.0: 2271 | version "1.3.1" 2272 | resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" 2273 | integrity sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ== 2274 | dependencies: 2275 | for-in "^1.0.2" 2276 | is-extendable "^1.0.1" 2277 | 2278 | mkdirp@0.5.1, mkdirp@^0.5.0, mkdirp@^0.5.1: 2279 | version "0.5.1" 2280 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 2281 | integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= 2282 | dependencies: 2283 | minimist "0.0.8" 2284 | 2285 | mocha@^5.2.0: 2286 | version "5.2.0" 2287 | resolved "https://registry.yarnpkg.com/mocha/-/mocha-5.2.0.tgz#6d8ae508f59167f940f2b5b3c4a612ae50c90ae6" 2288 | integrity sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ== 2289 | dependencies: 2290 | browser-stdout "1.3.1" 2291 | commander "2.15.1" 2292 | debug "3.1.0" 2293 | diff "3.5.0" 2294 | escape-string-regexp "1.0.5" 2295 | glob "7.1.2" 2296 | growl "1.10.5" 2297 | he "1.1.1" 2298 | minimatch "3.0.4" 2299 | mkdirp "0.5.1" 2300 | supports-color "5.4.0" 2301 | 2302 | ms@2.0.0: 2303 | version "2.0.0" 2304 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 2305 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 2306 | 2307 | ms@^2.1.1: 2308 | version "2.1.1" 2309 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" 2310 | integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== 2311 | 2312 | mute-stream@0.0.7: 2313 | version "0.0.7" 2314 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" 2315 | integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= 2316 | 2317 | nan@^2.9.2: 2318 | version "2.12.1" 2319 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.12.1.tgz#7b1aa193e9aa86057e3c7bbd0ac448e770925552" 2320 | integrity sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw== 2321 | 2322 | nanomatch@^1.2.9: 2323 | version "1.2.13" 2324 | resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" 2325 | integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== 2326 | dependencies: 2327 | arr-diff "^4.0.0" 2328 | array-unique "^0.3.2" 2329 | define-property "^2.0.2" 2330 | extend-shallow "^3.0.2" 2331 | fragment-cache "^0.2.1" 2332 | is-windows "^1.0.2" 2333 | kind-of "^6.0.2" 2334 | object.pick "^1.3.0" 2335 | regex-not "^1.0.0" 2336 | snapdragon "^0.8.1" 2337 | to-regex "^3.0.1" 2338 | 2339 | natural-compare@^1.4.0: 2340 | version "1.4.0" 2341 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 2342 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= 2343 | 2344 | needle@^2.2.1: 2345 | version "2.2.4" 2346 | resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.4.tgz#51931bff82533b1928b7d1d69e01f1b00ffd2a4e" 2347 | integrity sha512-HyoqEb4wr/rsoaIDfTH2aVL9nWtQqba2/HvMv+++m8u0dz808MaagKILxtfeSN7QU7nvbQ79zk3vYOJp9zsNEA== 2348 | dependencies: 2349 | debug "^2.1.2" 2350 | iconv-lite "^0.4.4" 2351 | sax "^1.2.4" 2352 | 2353 | nice-try@^1.0.4: 2354 | version "1.0.5" 2355 | resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" 2356 | integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== 2357 | 2358 | node-modules-regexp@^1.0.0: 2359 | version "1.0.0" 2360 | resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" 2361 | integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= 2362 | 2363 | node-pre-gyp@^0.10.0: 2364 | version "0.10.3" 2365 | resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz#3070040716afdc778747b61b6887bf78880b80fc" 2366 | integrity sha512-d1xFs+C/IPS8Id0qPTZ4bUT8wWryfR/OzzAFxweG+uLN85oPzyo2Iw6bVlLQ/JOdgNonXLCoRyqDzDWq4iw72A== 2367 | dependencies: 2368 | detect-libc "^1.0.2" 2369 | mkdirp "^0.5.1" 2370 | needle "^2.2.1" 2371 | nopt "^4.0.1" 2372 | npm-packlist "^1.1.6" 2373 | npmlog "^4.0.2" 2374 | rc "^1.2.7" 2375 | rimraf "^2.6.1" 2376 | semver "^5.3.0" 2377 | tar "^4" 2378 | 2379 | node-releases@^1.1.3: 2380 | version "1.1.5" 2381 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.5.tgz#1dbee1380742125fe99e0476c456670bf3590b89" 2382 | integrity sha512-6C2K0x1QlYTz9wCueMN/DVZFcBVg/qsj2k9iV5gV/+OvG4KNrl7Nu7TWbWFQ3/Z2V10qVFQWtj5Xa+VBodcI6g== 2383 | dependencies: 2384 | semver "^5.3.0" 2385 | 2386 | nopt@^4.0.1: 2387 | version "4.0.1" 2388 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" 2389 | integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00= 2390 | dependencies: 2391 | abbrev "1" 2392 | osenv "^0.1.4" 2393 | 2394 | normalize-path@^2.1.1: 2395 | version "2.1.1" 2396 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" 2397 | integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= 2398 | dependencies: 2399 | remove-trailing-separator "^1.0.1" 2400 | 2401 | npm-bundled@^1.0.1: 2402 | version "1.0.5" 2403 | resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.5.tgz#3c1732b7ba936b3a10325aef616467c0ccbcc979" 2404 | integrity sha512-m/e6jgWu8/v5niCUKQi9qQl8QdeEduFA96xHDDzFGqly0OOjI7c+60KM/2sppfnUU9JJagf+zs+yGhqSOFj71g== 2405 | 2406 | npm-packlist@^1.1.6: 2407 | version "1.2.0" 2408 | resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.2.0.tgz#55a60e793e272f00862c7089274439a4cc31fc7f" 2409 | integrity sha512-7Mni4Z8Xkx0/oegoqlcao/JpPCPEMtUvsmB0q7mgvlMinykJLSRTYuFqoQLYgGY8biuxIeiHO+QNJKbCfljewQ== 2410 | dependencies: 2411 | ignore-walk "^3.0.1" 2412 | npm-bundled "^1.0.1" 2413 | 2414 | npm-run-path@^2.0.0: 2415 | version "2.0.2" 2416 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" 2417 | integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= 2418 | dependencies: 2419 | path-key "^2.0.0" 2420 | 2421 | npmlog@^4.0.2: 2422 | version "4.1.2" 2423 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" 2424 | integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== 2425 | dependencies: 2426 | are-we-there-yet "~1.1.2" 2427 | console-control-strings "~1.1.0" 2428 | gauge "~2.7.3" 2429 | set-blocking "~2.0.0" 2430 | 2431 | number-is-nan@^1.0.0: 2432 | version "1.0.1" 2433 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 2434 | integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= 2435 | 2436 | object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: 2437 | version "4.1.1" 2438 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 2439 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= 2440 | 2441 | object-copy@^0.1.0: 2442 | version "0.1.0" 2443 | resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" 2444 | integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= 2445 | dependencies: 2446 | copy-descriptor "^0.1.0" 2447 | define-property "^0.2.5" 2448 | kind-of "^3.0.3" 2449 | 2450 | object-keys@^1.0.0, object-keys@^1.0.12: 2451 | version "1.0.12" 2452 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2" 2453 | integrity sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag== 2454 | 2455 | object-visit@^1.0.0: 2456 | version "1.0.1" 2457 | resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" 2458 | integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= 2459 | dependencies: 2460 | isobject "^3.0.0" 2461 | 2462 | object.fromentries@^2.0.0: 2463 | version "2.0.0" 2464 | resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.0.tgz#49a543d92151f8277b3ac9600f1e930b189d30ab" 2465 | integrity sha512-9iLiI6H083uiqUuvzyY6qrlmc/Gz8hLQFOcb/Ri/0xXFkSNS3ctV+CbE6yM2+AnkYfOB3dGjdzC0wrMLIhQICA== 2466 | dependencies: 2467 | define-properties "^1.1.2" 2468 | es-abstract "^1.11.0" 2469 | function-bind "^1.1.1" 2470 | has "^1.0.1" 2471 | 2472 | object.pick@^1.3.0: 2473 | version "1.3.0" 2474 | resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" 2475 | integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= 2476 | dependencies: 2477 | isobject "^3.0.1" 2478 | 2479 | once@^1.3.0: 2480 | version "1.4.0" 2481 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 2482 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 2483 | dependencies: 2484 | wrappy "1" 2485 | 2486 | onetime@^2.0.0: 2487 | version "2.0.1" 2488 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" 2489 | integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= 2490 | dependencies: 2491 | mimic-fn "^1.0.0" 2492 | 2493 | optionator@^0.8.2: 2494 | version "0.8.2" 2495 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" 2496 | integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= 2497 | dependencies: 2498 | deep-is "~0.1.3" 2499 | fast-levenshtein "~2.0.4" 2500 | levn "~0.3.0" 2501 | prelude-ls "~1.1.2" 2502 | type-check "~0.3.2" 2503 | wordwrap "~1.0.0" 2504 | 2505 | os-homedir@^1.0.0: 2506 | version "1.0.2" 2507 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 2508 | integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= 2509 | 2510 | os-locale@^2.0.0: 2511 | version "2.1.0" 2512 | resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" 2513 | integrity sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA== 2514 | dependencies: 2515 | execa "^0.7.0" 2516 | lcid "^1.0.0" 2517 | mem "^1.1.0" 2518 | 2519 | os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: 2520 | version "1.0.2" 2521 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 2522 | integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= 2523 | 2524 | osenv@^0.1.4: 2525 | version "0.1.5" 2526 | resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" 2527 | integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== 2528 | dependencies: 2529 | os-homedir "^1.0.0" 2530 | os-tmpdir "^1.0.0" 2531 | 2532 | output-file-sync@^2.0.0: 2533 | version "2.0.1" 2534 | resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-2.0.1.tgz#f53118282f5f553c2799541792b723a4c71430c0" 2535 | integrity sha512-mDho4qm7WgIXIGf4eYU1RHN2UU5tPfVYVSRwDJw0uTmj35DQUt/eNp19N7v6T3SrR0ESTEf2up2CGO73qI35zQ== 2536 | dependencies: 2537 | graceful-fs "^4.1.11" 2538 | is-plain-obj "^1.1.0" 2539 | mkdirp "^0.5.1" 2540 | 2541 | p-finally@^1.0.0: 2542 | version "1.0.0" 2543 | resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" 2544 | integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= 2545 | 2546 | p-limit@^1.1.0: 2547 | version "1.3.0" 2548 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" 2549 | integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== 2550 | dependencies: 2551 | p-try "^1.0.0" 2552 | 2553 | p-locate@^2.0.0: 2554 | version "2.0.0" 2555 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" 2556 | integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= 2557 | dependencies: 2558 | p-limit "^1.1.0" 2559 | 2560 | p-try@^1.0.0: 2561 | version "1.0.0" 2562 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" 2563 | integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= 2564 | 2565 | parent-module@^1.0.0: 2566 | version "1.0.0" 2567 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.0.tgz#df250bdc5391f4a085fb589dad761f5ad6b865b5" 2568 | integrity sha512-8Mf5juOMmiE4FcmzYc4IaiS9L3+9paz2KOiXzkRviCP6aDmN49Hz6EMWz0lGNp9pX80GvvAuLADtyGfW/Em3TA== 2569 | dependencies: 2570 | callsites "^3.0.0" 2571 | 2572 | parse-passwd@^1.0.0: 2573 | version "1.0.0" 2574 | resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" 2575 | integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= 2576 | 2577 | pascalcase@^0.1.1: 2578 | version "0.1.1" 2579 | resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" 2580 | integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= 2581 | 2582 | path-dirname@^1.0.0: 2583 | version "1.0.2" 2584 | resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" 2585 | integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= 2586 | 2587 | path-exists@^3.0.0: 2588 | version "3.0.0" 2589 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 2590 | integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= 2591 | 2592 | path-is-absolute@^1.0.0: 2593 | version "1.0.1" 2594 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 2595 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 2596 | 2597 | path-is-inside@^1.0.2: 2598 | version "1.0.2" 2599 | resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" 2600 | integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= 2601 | 2602 | path-key@^2.0.0, path-key@^2.0.1: 2603 | version "2.0.1" 2604 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 2605 | integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= 2606 | 2607 | path-parse@^1.0.6: 2608 | version "1.0.6" 2609 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" 2610 | integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== 2611 | 2612 | pify@^3.0.0: 2613 | version "3.0.0" 2614 | resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" 2615 | integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= 2616 | 2617 | pirates@^4.0.0: 2618 | version "4.0.0" 2619 | resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.0.tgz#850b18781b4ac6ec58a43c9ed9ec5fe6796addbd" 2620 | integrity sha512-8t5BsXy1LUIjn3WWOlOuFDuKswhQb/tkak641lvBgmPOBUQHXveORtlMCp6OdPV1dtuTaEahKA8VNz6uLfKBtA== 2621 | dependencies: 2622 | node-modules-regexp "^1.0.0" 2623 | 2624 | pkg-dir@^2.0.0: 2625 | version "2.0.0" 2626 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" 2627 | integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= 2628 | dependencies: 2629 | find-up "^2.1.0" 2630 | 2631 | pluralize@^7.0.0: 2632 | version "7.0.0" 2633 | resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" 2634 | integrity sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow== 2635 | 2636 | posix-character-classes@^0.1.0: 2637 | version "0.1.1" 2638 | resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" 2639 | integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= 2640 | 2641 | power-assert-context-formatter@^1.0.7: 2642 | version "1.2.0" 2643 | resolved "https://registry.yarnpkg.com/power-assert-context-formatter/-/power-assert-context-formatter-1.2.0.tgz#8fbe72692288ec5a7203cdf215c8b838a6061d2a" 2644 | integrity sha512-HLNEW8Bin+BFCpk/zbyKwkEu9W8/zThIStxGo7weYcFkKgMuGCHUJhvJeBGXDZf0Qm2xis4pbnnciGZiX0EpSg== 2645 | dependencies: 2646 | core-js "^2.0.0" 2647 | power-assert-context-traversal "^1.2.0" 2648 | 2649 | power-assert-context-reducer-ast@^1.0.7: 2650 | version "1.2.0" 2651 | resolved "https://registry.yarnpkg.com/power-assert-context-reducer-ast/-/power-assert-context-reducer-ast-1.2.0.tgz#c7ca1c9e39a6fb717f7ac5fe9e76e192bf525df3" 2652 | integrity sha512-EgOxmZ/Lb7tw4EwSKX7ZnfC0P/qRZFEG28dx/690qvhmOJ6hgThYFm5TUWANDLK5NiNKlPBi5WekVGd2+5wPrw== 2653 | dependencies: 2654 | acorn "^5.0.0" 2655 | acorn-es7-plugin "^1.0.12" 2656 | core-js "^2.0.0" 2657 | espurify "^1.6.0" 2658 | estraverse "^4.2.0" 2659 | 2660 | power-assert-context-traversal@^1.2.0: 2661 | version "1.2.0" 2662 | resolved "https://registry.yarnpkg.com/power-assert-context-traversal/-/power-assert-context-traversal-1.2.0.tgz#f6e71454baf640de5c1c9c270349f5c9ab0b2e94" 2663 | integrity sha512-NFoHU6g2umNajiP2l4qb0BRWD773Aw9uWdWYH9EQsVwIZnog5bd2YYLFCVvaxWpwNzWeEfZIon2xtyc63026pQ== 2664 | dependencies: 2665 | core-js "^2.0.0" 2666 | estraverse "^4.1.0" 2667 | 2668 | power-assert-formatter@^1.4.1: 2669 | version "1.4.1" 2670 | resolved "https://registry.yarnpkg.com/power-assert-formatter/-/power-assert-formatter-1.4.1.tgz#5dc125ed50a3dfb1dda26c19347f3bf58ec2884a" 2671 | integrity sha1-XcEl7VCj37HdomwZNH879Y7CiEo= 2672 | dependencies: 2673 | core-js "^2.0.0" 2674 | power-assert-context-formatter "^1.0.7" 2675 | power-assert-context-reducer-ast "^1.0.7" 2676 | power-assert-renderer-assertion "^1.0.7" 2677 | power-assert-renderer-comparison "^1.0.7" 2678 | power-assert-renderer-diagram "^1.0.7" 2679 | power-assert-renderer-file "^1.0.7" 2680 | 2681 | power-assert-renderer-assertion@^1.0.7: 2682 | version "1.2.0" 2683 | resolved "https://registry.yarnpkg.com/power-assert-renderer-assertion/-/power-assert-renderer-assertion-1.2.0.tgz#3db6ffcda106b37bc1e06432ad0d748a682b147a" 2684 | integrity sha512-3F7Q1ZLmV2ZCQv7aV7NJLNK9G7QsostrhOU7U0RhEQS/0vhEqrRg2jEJl1jtUL4ZyL2dXUlaaqrmPv5r9kRvIg== 2685 | dependencies: 2686 | power-assert-renderer-base "^1.1.1" 2687 | power-assert-util-string-width "^1.2.0" 2688 | 2689 | power-assert-renderer-base@^1.1.1: 2690 | version "1.1.1" 2691 | resolved "https://registry.yarnpkg.com/power-assert-renderer-base/-/power-assert-renderer-base-1.1.1.tgz#96a650c6fd05ee1bc1f66b54ad61442c8b3f63eb" 2692 | integrity sha1-lqZQxv0F7hvB9mtUrWFELIs/Y+s= 2693 | 2694 | power-assert-renderer-comparison@^1.0.7: 2695 | version "1.2.0" 2696 | resolved "https://registry.yarnpkg.com/power-assert-renderer-comparison/-/power-assert-renderer-comparison-1.2.0.tgz#e4f88113225a69be8aa586ead05aef99462c0495" 2697 | integrity sha512-7c3RKPDBKK4E3JqdPtYRE9cM8AyX4LC4yfTvvTYyx8zSqmT5kJnXwzR0yWQLOavACllZfwrAGQzFiXPc5sWa+g== 2698 | dependencies: 2699 | core-js "^2.0.0" 2700 | diff-match-patch "^1.0.0" 2701 | power-assert-renderer-base "^1.1.1" 2702 | stringifier "^1.3.0" 2703 | type-name "^2.0.1" 2704 | 2705 | power-assert-renderer-diagram@^1.0.7: 2706 | version "1.2.0" 2707 | resolved "https://registry.yarnpkg.com/power-assert-renderer-diagram/-/power-assert-renderer-diagram-1.2.0.tgz#37f66e8542e5677c5b58e6d72b01c0d9a30e2219" 2708 | integrity sha512-JZ6PC+DJPQqfU6dwSmpcoD7gNnb/5U77bU5KgNwPPa+i1Pxiz6UuDeM3EUBlhZ1HvH9tMjI60anqVyi5l2oNdg== 2709 | dependencies: 2710 | core-js "^2.0.0" 2711 | power-assert-renderer-base "^1.1.1" 2712 | power-assert-util-string-width "^1.2.0" 2713 | stringifier "^1.3.0" 2714 | 2715 | power-assert-renderer-file@^1.0.7: 2716 | version "1.2.0" 2717 | resolved "https://registry.yarnpkg.com/power-assert-renderer-file/-/power-assert-renderer-file-1.2.0.tgz#3f4bebd9e1455d75cf2ac541e7bb515a87d4ce4b" 2718 | integrity sha512-/oaVrRbeOtGoyyd7e4IdLP/jIIUFJdqJtsYzP9/88R39CMnfF/S/rUc8ZQalENfUfQ/wQHu+XZYRMaCEZmEesg== 2719 | dependencies: 2720 | power-assert-renderer-base "^1.1.1" 2721 | 2722 | power-assert-util-string-width@^1.2.0: 2723 | version "1.2.0" 2724 | resolved "https://registry.yarnpkg.com/power-assert-util-string-width/-/power-assert-util-string-width-1.2.0.tgz#6e06d5e3581bb876c5d377c53109fffa95bd91a0" 2725 | integrity sha512-lX90G0igAW0iyORTILZ/QjZWsa1MZ6VVY3L0K86e2eKun3S4LKPH4xZIl8fdeMYLfOjkaszbNSzf1uugLeAm2A== 2726 | dependencies: 2727 | eastasianwidth "^0.2.0" 2728 | 2729 | power-assert@^1.6.1: 2730 | version "1.6.1" 2731 | resolved "https://registry.yarnpkg.com/power-assert/-/power-assert-1.6.1.tgz#b28cbc02ae808afd1431d0cd5093a39ac5a5b1fe" 2732 | integrity sha512-VWkkZV6Y+W8qLX/PtJu2Ur2jDPIs0a5vbP0TpKeybNcIXmT4vcKoVkyTp5lnQvTpY/DxacAZ4RZisHRHLJcAZQ== 2733 | dependencies: 2734 | define-properties "^1.1.2" 2735 | empower "^1.3.1" 2736 | power-assert-formatter "^1.4.1" 2737 | universal-deep-strict-equal "^1.2.1" 2738 | xtend "^4.0.0" 2739 | 2740 | prelude-ls@~1.1.2: 2741 | version "1.1.2" 2742 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" 2743 | integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= 2744 | 2745 | private@^0.1.6: 2746 | version "0.1.8" 2747 | resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" 2748 | integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== 2749 | 2750 | process-nextick-args@~2.0.0: 2751 | version "2.0.0" 2752 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" 2753 | integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw== 2754 | 2755 | progress@^2.0.0: 2756 | version "2.0.3" 2757 | resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" 2758 | integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== 2759 | 2760 | prop-types@^15.6.2: 2761 | version "15.6.2" 2762 | resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.2.tgz#05d5ca77b4453e985d60fc7ff8c859094a497102" 2763 | integrity sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ== 2764 | dependencies: 2765 | loose-envify "^1.3.1" 2766 | object-assign "^4.1.1" 2767 | 2768 | pseudomap@^1.0.2: 2769 | version "1.0.2" 2770 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" 2771 | integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= 2772 | 2773 | punycode@^2.1.0: 2774 | version "2.1.1" 2775 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 2776 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 2777 | 2778 | rc@^1.2.7: 2779 | version "1.2.8" 2780 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" 2781 | integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== 2782 | dependencies: 2783 | deep-extend "^0.6.0" 2784 | ini "~1.3.0" 2785 | minimist "^1.2.0" 2786 | strip-json-comments "~2.0.1" 2787 | 2788 | readable-stream@^2.0.2, readable-stream@^2.0.6: 2789 | version "2.3.6" 2790 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" 2791 | integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== 2792 | dependencies: 2793 | core-util-is "~1.0.0" 2794 | inherits "~2.0.3" 2795 | isarray "~1.0.0" 2796 | process-nextick-args "~2.0.0" 2797 | safe-buffer "~5.1.1" 2798 | string_decoder "~1.1.1" 2799 | util-deprecate "~1.0.1" 2800 | 2801 | readdirp@^2.0.0: 2802 | version "2.2.1" 2803 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" 2804 | integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== 2805 | dependencies: 2806 | graceful-fs "^4.1.11" 2807 | micromatch "^3.1.10" 2808 | readable-stream "^2.0.2" 2809 | 2810 | regenerate-unicode-properties@^7.0.0: 2811 | version "7.0.0" 2812 | resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz#107405afcc4a190ec5ed450ecaa00ed0cafa7a4c" 2813 | integrity sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw== 2814 | dependencies: 2815 | regenerate "^1.4.0" 2816 | 2817 | regenerate@^1.4.0: 2818 | version "1.4.0" 2819 | resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" 2820 | integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== 2821 | 2822 | regenerator-runtime@^0.12.0: 2823 | version "0.12.1" 2824 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz#fa1a71544764c036f8c49b13a08b2594c9f8a0de" 2825 | integrity sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg== 2826 | 2827 | regenerator-transform@^0.13.3: 2828 | version "0.13.3" 2829 | resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.13.3.tgz#264bd9ff38a8ce24b06e0636496b2c856b57bcbb" 2830 | integrity sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA== 2831 | dependencies: 2832 | private "^0.1.6" 2833 | 2834 | regex-not@^1.0.0, regex-not@^1.0.2: 2835 | version "1.0.2" 2836 | resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" 2837 | integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== 2838 | dependencies: 2839 | extend-shallow "^3.0.2" 2840 | safe-regex "^1.1.0" 2841 | 2842 | regexp-tree@^0.1.0: 2843 | version "0.1.0" 2844 | resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.0.tgz#a56ad7746097888ea16457479029ec9345b96ab0" 2845 | integrity sha512-rHQv+tzu+0l3KS/ERabas1yK49ahNVxuH40WcPg53CzP5p8TgmmyBgHELLyJcvjhTD0e5ahSY6C76LbEVtr7cg== 2846 | dependencies: 2847 | cli-table3 "^0.5.0" 2848 | colors "^1.1.2" 2849 | yargs "^10.0.3" 2850 | 2851 | regexpp@^2.0.1: 2852 | version "2.0.1" 2853 | resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" 2854 | integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== 2855 | 2856 | regexpu-core@^4.1.3, regexpu-core@^4.2.0: 2857 | version "4.4.0" 2858 | resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.4.0.tgz#8d43e0d1266883969720345e70c275ee0aec0d32" 2859 | integrity sha512-eDDWElbwwI3K0Lo6CqbQbA6FwgtCz4kYTarrri1okfkRLZAqstU+B3voZBCjg8Fl6iq0gXrJG6MvRgLthfvgOA== 2860 | dependencies: 2861 | regenerate "^1.4.0" 2862 | regenerate-unicode-properties "^7.0.0" 2863 | regjsgen "^0.5.0" 2864 | regjsparser "^0.6.0" 2865 | unicode-match-property-ecmascript "^1.0.4" 2866 | unicode-match-property-value-ecmascript "^1.0.2" 2867 | 2868 | regjsgen@^0.5.0: 2869 | version "0.5.0" 2870 | resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.0.tgz#a7634dc08f89209c2049adda3525711fb97265dd" 2871 | integrity sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA== 2872 | 2873 | regjsparser@^0.6.0: 2874 | version "0.6.0" 2875 | resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz#f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c" 2876 | integrity sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ== 2877 | dependencies: 2878 | jsesc "~0.5.0" 2879 | 2880 | remove-trailing-separator@^1.0.1: 2881 | version "1.1.0" 2882 | resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" 2883 | integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= 2884 | 2885 | repeat-element@^1.1.2: 2886 | version "1.1.3" 2887 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" 2888 | integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== 2889 | 2890 | repeat-string@^1.6.1: 2891 | version "1.6.1" 2892 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" 2893 | integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= 2894 | 2895 | require-directory@^2.1.1: 2896 | version "2.1.1" 2897 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 2898 | integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= 2899 | 2900 | require-main-filename@^1.0.1: 2901 | version "1.0.1" 2902 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" 2903 | integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= 2904 | 2905 | resolve-from@^4.0.0: 2906 | version "4.0.0" 2907 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 2908 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 2909 | 2910 | resolve-url@^0.2.1: 2911 | version "0.2.1" 2912 | resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" 2913 | integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= 2914 | 2915 | resolve@^1.3.2, resolve@^1.8.1, resolve@^1.9.0: 2916 | version "1.10.0" 2917 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba" 2918 | integrity sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg== 2919 | dependencies: 2920 | path-parse "^1.0.6" 2921 | 2922 | restore-cursor@^2.0.0: 2923 | version "2.0.0" 2924 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" 2925 | integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= 2926 | dependencies: 2927 | onetime "^2.0.0" 2928 | signal-exit "^3.0.2" 2929 | 2930 | ret@~0.1.10: 2931 | version "0.1.15" 2932 | resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" 2933 | integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== 2934 | 2935 | rimraf@^2.6.1, rimraf@^2.6.3, rimraf@~2.6.2: 2936 | version "2.6.3" 2937 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" 2938 | integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== 2939 | dependencies: 2940 | glob "^7.1.3" 2941 | 2942 | run-async@^2.2.0: 2943 | version "2.3.0" 2944 | resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" 2945 | integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA= 2946 | dependencies: 2947 | is-promise "^2.1.0" 2948 | 2949 | rxjs@^6.1.0: 2950 | version "6.3.3" 2951 | resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.3.3.tgz#3c6a7fa420e844a81390fb1158a9ec614f4bad55" 2952 | integrity sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw== 2953 | dependencies: 2954 | tslib "^1.9.0" 2955 | 2956 | safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: 2957 | version "5.1.2" 2958 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 2959 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 2960 | 2961 | safe-regex@^1.1.0: 2962 | version "1.1.0" 2963 | resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" 2964 | integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= 2965 | dependencies: 2966 | ret "~0.1.10" 2967 | 2968 | "safer-buffer@>= 2.1.2 < 3": 2969 | version "2.1.2" 2970 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 2971 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 2972 | 2973 | sax@^1.2.4: 2974 | version "1.2.4" 2975 | resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" 2976 | integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== 2977 | 2978 | semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1: 2979 | version "5.6.0" 2980 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" 2981 | integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== 2982 | 2983 | set-blocking@^2.0.0, set-blocking@~2.0.0: 2984 | version "2.0.0" 2985 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 2986 | integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= 2987 | 2988 | set-value@^0.4.3: 2989 | version "0.4.3" 2990 | resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" 2991 | integrity sha1-fbCPnT0i3H945Trzw79GZuzfzPE= 2992 | dependencies: 2993 | extend-shallow "^2.0.1" 2994 | is-extendable "^0.1.1" 2995 | is-plain-object "^2.0.1" 2996 | to-object-path "^0.3.0" 2997 | 2998 | set-value@^2.0.0: 2999 | version "2.0.0" 3000 | resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" 3001 | integrity sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg== 3002 | dependencies: 3003 | extend-shallow "^2.0.1" 3004 | is-extendable "^0.1.1" 3005 | is-plain-object "^2.0.3" 3006 | split-string "^3.0.1" 3007 | 3008 | shebang-command@^1.2.0: 3009 | version "1.2.0" 3010 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 3011 | integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= 3012 | dependencies: 3013 | shebang-regex "^1.0.0" 3014 | 3015 | shebang-regex@^1.0.0: 3016 | version "1.0.0" 3017 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 3018 | integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= 3019 | 3020 | signal-exit@^3.0.0, signal-exit@^3.0.2: 3021 | version "3.0.2" 3022 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 3023 | integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= 3024 | 3025 | slash@^2.0.0: 3026 | version "2.0.0" 3027 | resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" 3028 | integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== 3029 | 3030 | slice-ansi@^2.0.0: 3031 | version "2.1.0" 3032 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" 3033 | integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== 3034 | dependencies: 3035 | ansi-styles "^3.2.0" 3036 | astral-regex "^1.0.0" 3037 | is-fullwidth-code-point "^2.0.0" 3038 | 3039 | snapdragon-node@^2.0.1: 3040 | version "2.1.1" 3041 | resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" 3042 | integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== 3043 | dependencies: 3044 | define-property "^1.0.0" 3045 | isobject "^3.0.0" 3046 | snapdragon-util "^3.0.1" 3047 | 3048 | snapdragon-util@^3.0.1: 3049 | version "3.0.1" 3050 | resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" 3051 | integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== 3052 | dependencies: 3053 | kind-of "^3.2.0" 3054 | 3055 | snapdragon@^0.8.1: 3056 | version "0.8.2" 3057 | resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" 3058 | integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== 3059 | dependencies: 3060 | base "^0.11.1" 3061 | debug "^2.2.0" 3062 | define-property "^0.2.5" 3063 | extend-shallow "^2.0.1" 3064 | map-cache "^0.2.2" 3065 | source-map "^0.5.6" 3066 | source-map-resolve "^0.5.0" 3067 | use "^3.1.0" 3068 | 3069 | source-map-resolve@^0.5.0: 3070 | version "0.5.2" 3071 | resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" 3072 | integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== 3073 | dependencies: 3074 | atob "^2.1.1" 3075 | decode-uri-component "^0.2.0" 3076 | resolve-url "^0.2.1" 3077 | source-map-url "^0.4.0" 3078 | urix "^0.1.0" 3079 | 3080 | source-map-support@^0.5.9: 3081 | version "0.5.10" 3082 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.10.tgz#2214080bc9d51832511ee2bab96e3c2f9353120c" 3083 | integrity sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ== 3084 | dependencies: 3085 | buffer-from "^1.0.0" 3086 | source-map "^0.6.0" 3087 | 3088 | source-map-url@^0.4.0: 3089 | version "0.4.0" 3090 | resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" 3091 | integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= 3092 | 3093 | source-map@^0.5.0, source-map@^0.5.6: 3094 | version "0.5.7" 3095 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 3096 | integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= 3097 | 3098 | source-map@^0.6.0: 3099 | version "0.6.1" 3100 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 3101 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 3102 | 3103 | split-string@^3.0.1, split-string@^3.0.2: 3104 | version "3.1.0" 3105 | resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" 3106 | integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== 3107 | dependencies: 3108 | extend-shallow "^3.0.0" 3109 | 3110 | sprintf-js@~1.0.2: 3111 | version "1.0.3" 3112 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 3113 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= 3114 | 3115 | static-extend@^0.1.1: 3116 | version "0.1.2" 3117 | resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" 3118 | integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= 3119 | dependencies: 3120 | define-property "^0.2.5" 3121 | object-copy "^0.1.0" 3122 | 3123 | string-width@^1.0.1: 3124 | version "1.0.2" 3125 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 3126 | integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= 3127 | dependencies: 3128 | code-point-at "^1.0.0" 3129 | is-fullwidth-code-point "^1.0.0" 3130 | strip-ansi "^3.0.0" 3131 | 3132 | "string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: 3133 | version "2.1.1" 3134 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 3135 | integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== 3136 | dependencies: 3137 | is-fullwidth-code-point "^2.0.0" 3138 | strip-ansi "^4.0.0" 3139 | 3140 | string_decoder@~1.1.1: 3141 | version "1.1.1" 3142 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 3143 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== 3144 | dependencies: 3145 | safe-buffer "~5.1.0" 3146 | 3147 | stringifier@^1.3.0: 3148 | version "1.4.0" 3149 | resolved "https://registry.yarnpkg.com/stringifier/-/stringifier-1.4.0.tgz#d704581567f4526265d00ed8ecb354a02c3fec28" 3150 | integrity sha512-cNsMOqqrcbLcHTXEVmkw9y0fwDwkdgtZwlfyolzpQDoAE1xdNGhQhxBUfiDvvZIKl1hnUEgMv66nHwtMz3OjPw== 3151 | dependencies: 3152 | core-js "^2.0.0" 3153 | traverse "^0.6.6" 3154 | type-name "^2.0.1" 3155 | 3156 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 3157 | version "3.0.1" 3158 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 3159 | integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= 3160 | dependencies: 3161 | ansi-regex "^2.0.0" 3162 | 3163 | strip-ansi@^4.0.0: 3164 | version "4.0.0" 3165 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 3166 | integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= 3167 | dependencies: 3168 | ansi-regex "^3.0.0" 3169 | 3170 | strip-ansi@^5.0.0: 3171 | version "5.0.0" 3172 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.0.0.tgz#f78f68b5d0866c20b2c9b8c61b5298508dc8756f" 3173 | integrity sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow== 3174 | dependencies: 3175 | ansi-regex "^4.0.0" 3176 | 3177 | strip-eof@^1.0.0: 3178 | version "1.0.0" 3179 | resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" 3180 | integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= 3181 | 3182 | strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: 3183 | version "2.0.1" 3184 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 3185 | integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= 3186 | 3187 | supports-color@5.4.0: 3188 | version "5.4.0" 3189 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" 3190 | integrity sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w== 3191 | dependencies: 3192 | has-flag "^3.0.0" 3193 | 3194 | supports-color@^5.3.0: 3195 | version "5.5.0" 3196 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 3197 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 3198 | dependencies: 3199 | has-flag "^3.0.0" 3200 | 3201 | table@^5.0.2: 3202 | version "5.2.2" 3203 | resolved "https://registry.yarnpkg.com/table/-/table-5.2.2.tgz#61d474c9e4d8f4f7062c98c7504acb3c08aa738f" 3204 | integrity sha512-f8mJmuu9beQEDkKHLzOv4VxVYlU68NpdzjbGPl69i4Hx0sTopJuNxuzJd17iV2h24dAfa93u794OnDA5jqXvfQ== 3205 | dependencies: 3206 | ajv "^6.6.1" 3207 | lodash "^4.17.11" 3208 | slice-ansi "^2.0.0" 3209 | string-width "^2.1.1" 3210 | 3211 | tar@^4: 3212 | version "4.4.8" 3213 | resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.8.tgz#b19eec3fde2a96e64666df9fdb40c5ca1bc3747d" 3214 | integrity sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ== 3215 | dependencies: 3216 | chownr "^1.1.1" 3217 | fs-minipass "^1.2.5" 3218 | minipass "^2.3.4" 3219 | minizlib "^1.1.1" 3220 | mkdirp "^0.5.0" 3221 | safe-buffer "^5.1.2" 3222 | yallist "^3.0.2" 3223 | 3224 | text-table@^0.2.0: 3225 | version "0.2.0" 3226 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 3227 | integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= 3228 | 3229 | through@^2.3.6: 3230 | version "2.3.8" 3231 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 3232 | integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= 3233 | 3234 | tmp@^0.0.33: 3235 | version "0.0.33" 3236 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" 3237 | integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== 3238 | dependencies: 3239 | os-tmpdir "~1.0.2" 3240 | 3241 | to-fast-properties@^2.0.0: 3242 | version "2.0.0" 3243 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 3244 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= 3245 | 3246 | to-object-path@^0.3.0: 3247 | version "0.3.0" 3248 | resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" 3249 | integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= 3250 | dependencies: 3251 | kind-of "^3.0.2" 3252 | 3253 | to-regex-range@^2.1.0: 3254 | version "2.1.1" 3255 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" 3256 | integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= 3257 | dependencies: 3258 | is-number "^3.0.0" 3259 | repeat-string "^1.6.1" 3260 | 3261 | to-regex@^3.0.1, to-regex@^3.0.2: 3262 | version "3.0.2" 3263 | resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" 3264 | integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== 3265 | dependencies: 3266 | define-property "^2.0.2" 3267 | extend-shallow "^3.0.2" 3268 | regex-not "^1.0.2" 3269 | safe-regex "^1.1.0" 3270 | 3271 | traverse@^0.6.6: 3272 | version "0.6.6" 3273 | resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.6.tgz#cbdf560fd7b9af632502fed40f918c157ea97137" 3274 | integrity sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc= 3275 | 3276 | trim-right@^1.0.1: 3277 | version "1.0.1" 3278 | resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" 3279 | integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= 3280 | 3281 | tslib@^1.9.0: 3282 | version "1.9.3" 3283 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" 3284 | integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ== 3285 | 3286 | type-check@~0.3.2: 3287 | version "0.3.2" 3288 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" 3289 | integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= 3290 | dependencies: 3291 | prelude-ls "~1.1.2" 3292 | 3293 | type-name@^2.0.1: 3294 | version "2.0.2" 3295 | resolved "https://registry.yarnpkg.com/type-name/-/type-name-2.0.2.tgz#efe7d4123d8ac52afff7f40c7e4dec5266008fb4" 3296 | integrity sha1-7+fUEj2KxSr/9/QMfk3sUmYAj7Q= 3297 | 3298 | unicode-canonical-property-names-ecmascript@^1.0.4: 3299 | version "1.0.4" 3300 | resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" 3301 | integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== 3302 | 3303 | unicode-match-property-ecmascript@^1.0.4: 3304 | version "1.0.4" 3305 | resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" 3306 | integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== 3307 | dependencies: 3308 | unicode-canonical-property-names-ecmascript "^1.0.4" 3309 | unicode-property-aliases-ecmascript "^1.0.4" 3310 | 3311 | unicode-match-property-value-ecmascript@^1.0.2: 3312 | version "1.0.2" 3313 | resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz#9f1dc76926d6ccf452310564fd834ace059663d4" 3314 | integrity sha512-Rx7yODZC1L/T8XKo/2kNzVAQaRE88AaMvI1EF/Xnj3GW2wzN6fop9DDWuFAKUVFH7vozkz26DzP0qyWLKLIVPQ== 3315 | 3316 | unicode-property-aliases-ecmascript@^1.0.4: 3317 | version "1.0.4" 3318 | resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz#5a533f31b4317ea76f17d807fa0d116546111dd0" 3319 | integrity sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg== 3320 | 3321 | union-value@^1.0.0: 3322 | version "1.0.0" 3323 | resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" 3324 | integrity sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ= 3325 | dependencies: 3326 | arr-union "^3.1.0" 3327 | get-value "^2.0.6" 3328 | is-extendable "^0.1.1" 3329 | set-value "^0.4.3" 3330 | 3331 | universal-deep-strict-equal@^1.2.1: 3332 | version "1.2.2" 3333 | resolved "https://registry.yarnpkg.com/universal-deep-strict-equal/-/universal-deep-strict-equal-1.2.2.tgz#0da4ac2f73cff7924c81fa4de018ca562ca2b0a7" 3334 | integrity sha1-DaSsL3PP95JMgfpN4BjKViyisKc= 3335 | dependencies: 3336 | array-filter "^1.0.0" 3337 | indexof "0.0.1" 3338 | object-keys "^1.0.0" 3339 | 3340 | unset-value@^1.0.0: 3341 | version "1.0.0" 3342 | resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" 3343 | integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= 3344 | dependencies: 3345 | has-value "^0.3.1" 3346 | isobject "^3.0.0" 3347 | 3348 | upath@^1.0.5: 3349 | version "1.1.0" 3350 | resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz#35256597e46a581db4793d0ce47fa9aebfc9fabd" 3351 | integrity sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw== 3352 | 3353 | uri-js@^4.2.2: 3354 | version "4.2.2" 3355 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" 3356 | integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== 3357 | dependencies: 3358 | punycode "^2.1.0" 3359 | 3360 | urix@^0.1.0: 3361 | version "0.1.0" 3362 | resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" 3363 | integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= 3364 | 3365 | use@^3.1.0: 3366 | version "3.1.1" 3367 | resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" 3368 | integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== 3369 | 3370 | util-deprecate@~1.0.1: 3371 | version "1.0.2" 3372 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 3373 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 3374 | 3375 | uuid@^3.3.2: 3376 | version "3.3.2" 3377 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" 3378 | integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== 3379 | 3380 | v8flags@^3.1.1: 3381 | version "3.1.2" 3382 | resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.1.2.tgz#fc5cd0c227428181e6c29b2992e4f8f1da5e0c9f" 3383 | integrity sha512-MtivA7GF24yMPte9Rp/BWGCYQNaUj86zeYxV/x2RRJMKagImbbv3u8iJC57lNhWLPcGLJmHcHmFWkNsplbbLWw== 3384 | dependencies: 3385 | homedir-polyfill "^1.0.1" 3386 | 3387 | which-module@^2.0.0: 3388 | version "2.0.0" 3389 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" 3390 | integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= 3391 | 3392 | which@^1.2.9: 3393 | version "1.3.1" 3394 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" 3395 | integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== 3396 | dependencies: 3397 | isexe "^2.0.0" 3398 | 3399 | wide-align@^1.1.0: 3400 | version "1.1.3" 3401 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" 3402 | integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== 3403 | dependencies: 3404 | string-width "^1.0.2 || 2" 3405 | 3406 | wordwrap@~1.0.0: 3407 | version "1.0.0" 3408 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" 3409 | integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= 3410 | 3411 | wrap-ansi@^2.0.0: 3412 | version "2.1.0" 3413 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" 3414 | integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= 3415 | dependencies: 3416 | string-width "^1.0.1" 3417 | strip-ansi "^3.0.1" 3418 | 3419 | wrappy@1: 3420 | version "1.0.2" 3421 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 3422 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 3423 | 3424 | write@^0.2.1: 3425 | version "0.2.1" 3426 | resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" 3427 | integrity sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c= 3428 | dependencies: 3429 | mkdirp "^0.5.1" 3430 | 3431 | xtend@^4.0.0: 3432 | version "4.0.1" 3433 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" 3434 | integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68= 3435 | 3436 | y18n@^3.2.1: 3437 | version "3.2.1" 3438 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" 3439 | integrity sha1-bRX7qITAhnnA136I53WegR4H+kE= 3440 | 3441 | yallist@^2.1.2: 3442 | version "2.1.2" 3443 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" 3444 | integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= 3445 | 3446 | yallist@^3.0.0, yallist@^3.0.2: 3447 | version "3.0.3" 3448 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" 3449 | integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== 3450 | 3451 | yargs-parser@^8.1.0: 3452 | version "8.1.0" 3453 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-8.1.0.tgz#f1376a33b6629a5d063782944da732631e966950" 3454 | integrity sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ== 3455 | dependencies: 3456 | camelcase "^4.1.0" 3457 | 3458 | yargs@^10.0.3: 3459 | version "10.1.2" 3460 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-10.1.2.tgz#454d074c2b16a51a43e2fb7807e4f9de69ccb5c5" 3461 | integrity sha512-ivSoxqBGYOqQVruxD35+EyCFDYNEFL/Uo6FcOnz+9xZdZzK0Zzw4r4KhbrME1Oo2gOggwJod2MnsdamSG7H9ig== 3462 | dependencies: 3463 | cliui "^4.0.0" 3464 | decamelize "^1.1.1" 3465 | find-up "^2.1.0" 3466 | get-caller-file "^1.0.1" 3467 | os-locale "^2.0.0" 3468 | require-directory "^2.1.1" 3469 | require-main-filename "^1.0.1" 3470 | set-blocking "^2.0.0" 3471 | string-width "^2.0.0" 3472 | which-module "^2.0.0" 3473 | y18n "^3.2.1" 3474 | yargs-parser "^8.1.0" 3475 | --------------------------------------------------------------------------------