├── .editorconfig ├── .github └── ISSUE_TEMPLATE │ ├── Bug_report.md │ └── Feature_request.md ├── .gitignore ├── .travis.yml ├── .vscode ├── extensions.json ├── launch.json └── settings.json ├── CHANGELOG.md ├── LICENSE ├── README.md ├── appveyor.yml ├── icon.png ├── package.json ├── rollup.config.js ├── src ├── classes │ └── class-mapper.class.ts ├── decorators │ ├── index.ts │ ├── map-from-source.decorator.ts │ └── property-type.decorator.ts ├── functions │ ├── index.ts │ └── map-classes.function.ts ├── index.ts ├── interfaces │ ├── index.ts │ ├── map-options.interface.ts │ └── property-type-options.interface.ts ├── models │ ├── map-from-source.model.ts │ ├── metadata-storage.model.ts │ ├── property-metadata.model.ts │ └── property-type.model.ts ├── storage │ └── storage.ts └── types │ ├── index.ts │ └── map-class.type.ts ├── test ├── helpers │ ├── entities │ │ ├── address.ts │ │ ├── cars.ts │ │ ├── customer.ts │ │ ├── map-from-source.ts │ │ └── pets.ts │ └── models │ │ ├── source-address.model.ts │ │ ├── source-car.model.ts │ │ ├── source-customer.model.ts │ │ ├── source-person.model.ts │ │ ├── source-pet.model.ts │ │ ├── target-address.model.ts │ │ ├── target-car.model.ts │ │ ├── target-customer.model.ts │ │ ├── target-person.model.ts │ │ └── target-pet.model.ts └── unit │ ├── decorators │ └── map-from-source.decorator.test.ts │ ├── functions │ └── map-class.function.test.ts │ └── strorage │ └── storage.test.ts ├── tsconfig.json ├── tslint.json ├── w3tec-divider.png └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig is awesome: http://EditorConfig.org 2 | 3 | # top-most EditorConfig file 4 | root = true 5 | 6 | [*] 7 | charset = utf-8 8 | indent_style = space 9 | indent_size = 2 10 | end_of_line = lf 11 | insert_final_newline = true 12 | trim_trailing_whitespace = true 13 | 14 | [*.md] 15 | insert_final_newline = false 16 | trim_trailing_whitespace = false 17 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/Bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | 5 | --- 6 | 7 | **Describe the bug** 8 | A clear and concise description of what the bug is. 9 | 10 | **To Reproduce** 11 | Steps to reproduce the behavior: 12 | 1. Go to '...' 13 | 2. Click on '....' 14 | 3. Scroll down to '....' 15 | 4. See error 16 | 17 | **Expected behavior** 18 | A clear and concise description of what you expected to happen. 19 | 20 | **Screenshots** 21 | If applicable, add screenshots to help explain your problem. 22 | 23 | **Additional Information (please complete the following information):** 24 | - OS: [e.g. macOS High Sierra] 25 | - Browser [e.g. Chrome, Safari] 26 | - Node.js Version [e.g. 8.11.1] 27 | - Library Version [e.g. 0.1.0] 28 | 29 | **Additional context** 30 | Add any other context about the problem here. 31 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/Feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | 5 | --- 6 | 7 | **Is your feature request related to a problem? Please describe.** 8 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 9 | 10 | **Describe the solution you'd like** 11 | A clear and concise description of what you want to happen. 12 | 13 | **Describe alternatives you've considered** 14 | A clear and concise description of any alternative solutions or features you've considered. 15 | 16 | **Additional context** 17 | Add any other context or screenshots about the feature request here. 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ### generated stuff ### 2 | dist 3 | lib 4 | es 5 | test/coverage 6 | .rpt2_cache/ 7 | 8 | ### node ### 9 | logs 10 | *.log 11 | npm-debug.log* 12 | yarn-debug.log* 13 | yarn-error.log* 14 | node_modules/ 15 | .npm 16 | 17 | ### vs code ### 18 | .vscode/* 19 | !.vscode/settings.json 20 | !.vscode/tasks.json 21 | !.vscode/launch.json 22 | !.vscode/extensions.json 23 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - lts/carbon 4 | - lts/dubnium 5 | - stable 6 | cache: 7 | directories: 8 | - node_modules 9 | after_success: 10 | - yarn run build 11 | - bash <(curl -s https://codecov.io/bash) 12 | deploy: 13 | provider: npm 14 | email: robert.kleger@bobb.io 15 | skip_cleanup: true 16 | on: 17 | tags: true 18 | branch: master 19 | api_key: $NPM_TOKEN 20 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "christian-kohler.npm-intellisense", 4 | "miclo.sort-typescript-imports", 5 | "EditorConfig.EditorConfig", 6 | "streetsidesoftware.code-spell-checker" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2.0", 3 | "configurations": [ 4 | { 5 | "type": "node", 6 | "request": "launch", 7 | "name": "All Jest Files", 8 | "program": "${workspaceFolder}/node_modules/jest/bin/jest", 9 | "args": [ 10 | "--runInBand" 11 | ], 12 | "console": "integratedTerminal", 13 | "internalConsoleOptions": "neverOpen" 14 | }, 15 | { 16 | "type": "node", 17 | "request": "launch", 18 | "name": "Current Jest File", 19 | "program": "${workspaceFolder}/node_modules/jest/bin/jest", 20 | "args": [ 21 | "${relativeFile}" 22 | ], 23 | "console": "integratedTerminal", 24 | "internalConsoleOptions": "neverOpen" 25 | } 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "cSpell.language": "en", 3 | "editor.formatOnSave": true, 4 | "tslint.enable": true, 5 | "typescript.extension.sortImports.pathSortOrder": [ 6 | "package", 7 | "relativeDownLevel", 8 | "relativeUpLevel" 9 | ], 10 | "typescript.extension.sortImports.sortMethod": "path", 11 | "typescript.extension.sortImports.sortOnSave": true, 12 | "typescript.tsdk": "node_modules/typescript/lib", 13 | "cSpell.words": [ 14 | "backend", 15 | "bobb", 16 | "builtins", 17 | "camaro", 18 | "kleger", 19 | "nemo", 20 | "postbuild", 21 | "posttest", 22 | "postversion", 23 | "prebuild", 24 | "preversion", 25 | "tecch", 26 | "typecheck", 27 | "typestack", 28 | "w3tecch" 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | ## [0.2.3] - 2011-01-31 4 | 5 | ### Added 6 | 7 | - Coveralls replaced with codecov 8 | - Updated dependencies 9 | - Simpler rollup build process 10 | - Auto npm deployment 11 | 12 | ## [0.2.2] - 2018-10-25 13 | 14 | ### Added 15 | 16 | - Add `groups` support for `PropertyType` decorator. 17 | 18 | ## [0.2.1] - 2018-09-06 19 | 20 | ### Fixes 21 | 22 | - Fix `PropertyType` support for extended classes. 23 | 24 | ## [0.2.0] - 2018-09-05 25 | 26 | ### Added 27 | 28 | - Add option to conditionally toggle `MapFromSource` decorator. 29 | - Improved documentation in `README.md`. 30 | 31 | ## [0.1.4] - 2018-05-18 32 | 33 | ### Added 34 | 35 | - Update of documentation in `README.md`. 36 | 37 | ### Fixes 38 | 39 | - Inheritance mapping stops if one of classes in prototype chain has no `MapFromSource` decorator assigned. 40 | 41 | ## [0.1.3] - 2018-05-17 42 | 43 | ### Added 44 | 45 | - Mapping support for inheritance classes 46 | 47 | ## [0.1.0] - 2018-05-15 48 | 49 | ### Added 50 | 51 | - Mapping support for nested structures including Arrays -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 w3tecch 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | w3tec 3 |

4 | 5 |

Class Mapper

6 | 7 |

8 | 9 | dependency 10 | 11 | 12 | travis 13 | 14 | 15 | appveyor 16 | 17 | 18 | codecov 19 | 20 |

21 | 22 |

23 | A easy to use way to map any ugly backend structures into clean TypeScript/ES6 models.
24 | Inspired typestack class-transformer
25 | Made with ❤️ by w3tech 26 |

27 | 28 |
29 | 30 | ![divider](./w3tec-divider.png) 31 | 32 | ## ❯ Why 33 | 34 | Are you tired of ugly and weird backend structures which makes it challenging to work with in your application 🤯? Here comes a solution 🎉! Just use class-mapper to map all weird structures into TypeScript and ES6 models 👉 YOU 🤗 like to work with in your web frontend or Node.js application and not backend guys 🤪. 35 | 36 | Try it!! We are happy to hear your feedback or any kind of new features. 37 | 38 | ![divider](./w3tec-divider.png) 39 | 40 | ## ❯ Table of Contents 41 | 42 | - [Installation](#-installation) 43 | - [License](#-license) 44 | - [Methods](#-methods) 45 | 46 | ![divider](./w3tec-divider.png) 47 | 48 | ## ❯ Installation 49 | 50 | ### Step 1: Get library via npm or yarn 51 | 52 | ```shell 53 | npm install class-mapper --save 54 | ``` 55 | 56 | or with yarn 57 | 58 | ```shell 59 | yarn add class-mapper 60 | ``` 61 | 62 | ### Step 2: Add library to your project 63 | 64 | #### Browser 65 | ```html 66 | 67 | 68 | 69 | 70 | 71 | ``` 72 | 73 | ## ❯ Methods 74 | 75 | ### mapClasses 76 | 77 | This method maps a source class to your target class 78 | 79 | ```typescript 80 | import {mapClasses, MapFromSource, PropertyType} from 'class-mapper'; 81 | 82 | /** 83 | * Source classes 84 | */ 85 | 86 | abstract class SourcePersonModel { 87 | public name1: string; 88 | public name2: string; 89 | } 90 | 91 | class SourceCarModel { 92 | public attribute1: string; 93 | public attribute2: string; 94 | } 95 | 96 | class SourceCustomerModel extends SourcePersonModel { 97 | public car1!: SourceCarModel[]; 98 | } 99 | 100 | const sourceUser: SourceCustomerModel = new SourceCustomerModel(); 101 | 102 | /** 103 | * Target classes 104 | */ 105 | 106 | abstract class TargetPersonModel { 107 | @MapFromSource((sourceUser: SourcePersonModel) => sourceUser.name1) 108 | public firstName!: string; 109 | 110 | @MapFromSource((sourceUser: SourcePersonModel) => sourceUser.name2) 111 | public lastName!: string; 112 | } 113 | 114 | class TargetCarModel { 115 | @MapFromSource((sourceCar: SourceCarModel) => sourceCar.attribute1) 116 | public manufacturer!: string; 117 | 118 | @MapFromSource(sourceCar: SourceCarModel) => sourceCar.attribute2) 119 | public model!: string; 120 | } 121 | 122 | class TargetCustomerModel extends TargetPersonModel { 123 | @PropertyType(TargetCarModel) 124 | @MapFromSource((sourceUser: SourcePersonModel) => sourceUser.car1) 125 | public cars!: TargetCarModel[]; 126 | } 127 | 128 | const targetUser: TargetCustomerModel = mapClasses(TargetCustomerModel, sourceUser); 129 | ``` 130 | 131 | ### Using `groups` to exclude properties 132 | 133 | With `groups` array, you can exclude properties from mapping. `MapFromSource` decorators with no `groups` option will always be mapped. 134 | 135 | ```typescript 136 | import {mapClasses, MapFromSource, PropertyType} from 'class-mapper'; 137 | 138 | /** 139 | * Source class 140 | */ 141 | 142 | abstract class SourcePersonModel { 143 | public name1: string; 144 | public name1: string; 145 | } 146 | 147 | /** 148 | * Target class 149 | */ 150 | 151 | const firstNameOnly = 'first-name-only'; 152 | const lastNameOnly = 'last-name-only'; 153 | 154 | abstract class TargetPersonModel { 155 | @MapFromSource((sourceUser: SourcePersonModel) => sourceUser.name1, { groups: [firstNameOnly] }) 156 | public firstName!: string; 157 | 158 | @MapFromSource((sourceUser: SourcePersonModel) => sourceUser.name2, { groups: [lastNameOnly] }) 159 | public lastName!: string; 160 | } 161 | 162 | const targetUser: TargetCustomerModel = mapClasses(TargetCustomerModel, sourceUser, { groups: [lastNameOnly] }); 163 | ``` 164 | 165 | ### Using `enabled` to exclude properties 166 | 167 | With `enabled` you can exclude conditionally properties. `MapFromSource` decorators with no `enabled` option will always be mapped. 168 | 169 | ```typescript 170 | import {mapClasses, MapFromSource, PropertyType} from 'class-mapper'; 171 | 172 | /** 173 | * Source class 174 | */ 175 | 176 | abstract class SourcePersonModel { 177 | public name1: string; 178 | public name1: string; 179 | } 180 | 181 | /** 182 | * Target class 183 | */ 184 | 185 | abstract class TargetPersonModel { 186 | @MapFromSource((sourceUser: SourcePersonModel) => sourceUser.name1, { enabled: (sourceUser: SourcePersonModel) => !!sourceUser.name1 }) 187 | public firstName!: string; 188 | 189 | @MapFromSource(sourceUser => sourceUser.name2, { enabled: (sourceUser: SourcePersonModel) => !!sourceUser.name2 }) 190 | public lastName!: string; 191 | } 192 | 193 | const targetUser: TargetCustomerModel = mapClasses(TargetCustomerModel, sourceUser); 194 | ``` 195 | 196 | ## ❯ License 197 | 198 | [MIT](/LICENSE) -------------------------------------------------------------------------------- /appveyor.yml: -------------------------------------------------------------------------------- 1 | environment: 2 | nodejs_version: "8" 3 | 4 | install: 5 | - ps: Install-Product node $env:nodejs_version 6 | - yarn install 7 | 8 | build_script: 9 | - npm run build 10 | 11 | test_script: 12 | - yarn test 13 | -------------------------------------------------------------------------------- /icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3tecch/class-mapper/87bb53a38dcc0070ad53dbc137c56146d2a4f437/icon.png -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "class-mapper", 3 | "version": "0.2.3", 4 | "description": "Mapper for ES2015 and TypeScript classes", 5 | "author": "w3tec (http://w3tec.ch/)", 6 | "contributors": [ 7 | { 8 | "name": "Robert Kleger", 9 | "url": "https://github.com/DaNautilus", 10 | "email": "robert.kleger@bobb.io" 11 | } 12 | ], 13 | "license": "MIT", 14 | "repository": "git+ssh://git@github.com/w3tecch/class-mapper.git", 15 | "main": "dist/index.js", 16 | "module": "dist/index.es.js", 17 | "types": "dist/index.d.ts", 18 | "scripts": { 19 | "build": "rollup -c", 20 | "bundle": "dts-bundle --name dist/index --main .tmp --outputAsModuleFolder", 21 | "typecheck": "tsc --noEmit", 22 | "lint": "tslint --project tsconfig.json --format stylish", 23 | "test": "jest --env=jsdom --coverage", 24 | "test:watch": "jest --env=jsdom --watch --updateSnapshot", 25 | "prepublishOnly": "npm run build", 26 | "createDeclaration": "tsc -d --emitDeclarationOnly --allowJs false", 27 | "prebuild": "rimraf dist .tmp .rpt2_cache", 28 | "postbuild": "npm run createDeclaration && npm run bundle && rimraf .tmp .rpt2_cache", 29 | "posttest": "npm run typecheck && npm run lint", 30 | "preversion": "npm test", 31 | "postversion": "git push && git push --tags" 32 | }, 33 | "keywords": [ 34 | "typescript", 35 | "es2015", 36 | "lib", 37 | "library", 38 | "boilerplate" 39 | ], 40 | "files": [ 41 | "dist" 42 | ], 43 | "jest": { 44 | "transform": { 45 | "^.+\\.(js|ts|tsx)$": "ts-jest" 46 | }, 47 | "transformIgnorePatterns": [ 48 | "/node_modules/(?!lodash-es/.*)" 49 | ], 50 | "testRegex": "(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$", 51 | "testPathIgnorePatterns": [ 52 | "/(node_modules|lib|es|dist)" 53 | ], 54 | "coverageDirectory": "/test/coverage", 55 | "collectCoverageFrom": [ 56 | "src/**/*.{t,j}s?(x)", 57 | "!src/**/*.d.ts" 58 | ], 59 | "moduleFileExtensions": [ 60 | "js", 61 | "jsx", 62 | "json", 63 | "ts", 64 | "tsx" 65 | ] 66 | }, 67 | "dependencies": { 68 | "lodash-es": "^4.17.11" 69 | }, 70 | "devDependencies": { 71 | "@types/jest": "^23.3.13", 72 | "@types/lodash-es": "^4.17.1", 73 | "@types/node": "^10.12.20", 74 | "dts-bundle": "^0.7.3", 75 | "jest": "^24.0.0", 76 | "rimraf": "^2.6.3", 77 | "rollup": "^1.1.2", 78 | "rollup-plugin-node-resolve": "^4.0.0", 79 | "rollup-plugin-terser": "^4.0.3", 80 | "rollup-plugin-typescript2": "^0.19.2", 81 | "ts-jest": "^23.10.5", 82 | "tslib": "^1.9.3", 83 | "tslint": "^5.12.1", 84 | "typescript": "^3.2.4" 85 | } 86 | } 87 | -------------------------------------------------------------------------------- /rollup.config.js: -------------------------------------------------------------------------------- 1 | import typescript from 'rollup-plugin-typescript2'; 2 | import nodeResolve from 'rollup-plugin-node-resolve'; 3 | import { terser } from 'rollup-plugin-terser'; 4 | import pkg from './package.json'; 5 | 6 | export default { 7 | input: 'src/index.ts', 8 | output: [ 9 | { 10 | file: pkg.main, 11 | format: 'cjs', 12 | sourcemap: true, 13 | compact: true 14 | }, 15 | { 16 | file: pkg.module, 17 | format: 'es', 18 | sourcemap: true, 19 | compact: true 20 | } 21 | ], 22 | plugins: [ 23 | typescript({ 24 | typescript: require('typescript'), 25 | useTsconfigDeclarationDir: true 26 | }), 27 | nodeResolve(), 28 | terser() 29 | ] 30 | }; 31 | -------------------------------------------------------------------------------- /src/classes/class-mapper.class.ts: -------------------------------------------------------------------------------- 1 | import find from 'lodash-es/find'; 2 | import { IMapOptions } from '../interfaces/map-options.interface'; 3 | import { IPropertyTypeOptions } from '../interfaces/property-type-options.interface'; 4 | import { MapFromSourceModel } from '../models/map-from-source.model'; 5 | import { PropertyTypeModel } from '../models/property-type.model'; 6 | import { metadataStorage } from '../storage/storage'; 7 | import { TMapClass } from '../types'; 8 | 9 | export class ClassMapper { 10 | private mapFromSourceMetadata: MapFromSourceModel[]; 11 | private targetModel: U; 12 | 13 | constructor( 14 | private sourceClass: T, 15 | public targetClass: TMapClass, 16 | private options?: IMapOptions 17 | ) { 18 | this.mapFromSourceMetadata = metadataStorage.getMapFromSource(targetClass); 19 | this.targetModel = new targetClass(); 20 | } 21 | 22 | public mapClasses(): U { 23 | const mapFromSourceMetadata = this.filterMetadata(); 24 | 25 | mapFromSourceMetadata.forEach(metadata => { 26 | const propertyTypeMetadata = find(metadataStorage.getPropertyTypes( 27 | this.targetClass, metadata.propertyKey), 28 | t => this.checkGroups(t.options) 29 | ); 30 | 31 | if (propertyTypeMetadata) { 32 | this.assignRecursive(metadata, propertyTypeMetadata); 33 | } else { 34 | this.assignValue(metadata); 35 | } 36 | }); 37 | 38 | return this.targetModel; 39 | } 40 | 41 | private filterMetadata(): MapFromSourceModel[] { 42 | return this.mapFromSourceMetadata 43 | .filter(metadata => this.checkGroups(metadata.options)) 44 | .filter(metadata => this.checkMapToggle(metadata.options)); 45 | } 46 | 47 | private checkGroups(metadataOptions?: IMapOptions | IPropertyTypeOptions): boolean { 48 | /** 49 | * Check if property has assigned groups. If not, transform it 50 | */ 51 | if (!metadataOptions || !metadataOptions.groups) { 52 | return true; 53 | } 54 | 55 | /** 56 | * Check if mapClasses function has passed groups. If not and property has assigned groups, do not transform it 57 | */ 58 | if (!this.options || !this.options.groups) { 59 | return false; 60 | } 61 | 62 | /** 63 | * When property has assigned groups and groups are passed to mapClasses function, check if one of passed groups is assigned to property 64 | */ 65 | let transFromProperty = false; 66 | 67 | for (const group of this.options.groups) { 68 | transFromProperty = metadataOptions.groups.indexOf(group) >= 0; 69 | 70 | if (transFromProperty) { 71 | break; 72 | } 73 | } 74 | 75 | return transFromProperty; 76 | } 77 | 78 | /** 79 | * Check if MapFromSource decorator is enabled 80 | * @param metadataOptions 81 | */ 82 | private checkMapToggle(metadataOptions?: IMapOptions): boolean { 83 | return metadataOptions && metadataOptions.enabled 84 | ? metadataOptions.enabled(this.sourceClass) 85 | : true; 86 | } 87 | 88 | /** 89 | * Execute mapClasses function for nested object and array 90 | */ 91 | private assignRecursive(mapFromSource: MapFromSourceModel, propertyType: PropertyTypeModel): void { 92 | const source = mapFromSource.mapFunction(this.sourceClass); 93 | 94 | this.targetModel[mapFromSource.propertyKey] = source instanceof Array 95 | ? source.map(s => new ClassMapper(s, propertyType.propertyType, this.options).mapClasses()) 96 | : new ClassMapper(source, propertyType.propertyType, this.options).mapClasses(); 97 | } 98 | 99 | private assignValue(metadata: MapFromSourceModel): void { 100 | this.targetModel[metadata.propertyKey] = metadata.mapFunction(this.sourceClass); 101 | } 102 | } 103 | -------------------------------------------------------------------------------- /src/decorators/index.ts: -------------------------------------------------------------------------------- 1 | export * from './map-from-source.decorator'; 2 | export * from './property-type.decorator'; 3 | -------------------------------------------------------------------------------- /src/decorators/map-from-source.decorator.ts: -------------------------------------------------------------------------------- 1 | import { IMapOptions } from '../interfaces/map-options.interface'; 2 | import { MapFromSourceModel, TMapFunction } from '../models/map-from-source.model'; 3 | import { metadataStorage } from '../storage/storage'; 4 | 5 | /** 6 | * Defines a custom logic for structure mapping 7 | * @param mapFunction Function to map from source to current value 8 | * @param options Mapping options 9 | */ 10 | export const MapFromSource = (mapFunction: TMapFunction, options?: IMapOptions) => { 11 | return (target: {}, propertyKey: string) => { 12 | const metadata = new MapFromSourceModel(target.constructor, propertyKey, mapFunction, options); 13 | metadataStorage.addMapFromSource(metadata); 14 | }; 15 | }; 16 | -------------------------------------------------------------------------------- /src/decorators/property-type.decorator.ts: -------------------------------------------------------------------------------- 1 | import { IPropertyTypeOptions } from '../interfaces/property-type-options.interface'; 2 | import { PropertyTypeModel } from '../models/property-type.model'; 3 | import { metadataStorage } from '../storage/storage'; 4 | import { TMapClass } from '../types'; 5 | 6 | /** 7 | * This decorator defines property type which is needed for nested structures 8 | * @param propertyType Type of property 9 | */ 10 | export const PropertyType = (propertyType: TMapClass, options?: IPropertyTypeOptions) => { 11 | return (target: {}, propertyKey: string) => { 12 | const metadata = new PropertyTypeModel(target.constructor, propertyKey, propertyType, options); 13 | metadataStorage.addPropertyType(metadata); 14 | }; 15 | }; 16 | -------------------------------------------------------------------------------- /src/functions/index.ts: -------------------------------------------------------------------------------- 1 | export * from './map-classes.function'; 2 | -------------------------------------------------------------------------------- /src/functions/map-classes.function.ts: -------------------------------------------------------------------------------- 1 | import { ClassMapper } from '../classes/class-mapper.class'; 2 | import { IMapOptions } from '../interfaces/map-options.interface'; 3 | import { TMapClass } from '../types'; 4 | 5 | export interface IMapClassOptions { 6 | groups?: string[]; 7 | } 8 | 9 | /** 10 | * Maps your source class in your target class 11 | * @param sourceClass Source model 12 | * @param targetClass Target model type 13 | * @param options Mapping options 14 | */ 15 | export const mapClasses = (sourceClass: T, targetClass: TMapClass, options?: IMapOptions): U => { 16 | const classMapper = new ClassMapper(sourceClass, targetClass, options); 17 | 18 | return classMapper.mapClasses(); 19 | }; 20 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './decorators/index'; 2 | export * from './interfaces/index'; 3 | export * from './functions/index'; 4 | -------------------------------------------------------------------------------- /src/interfaces/index.ts: -------------------------------------------------------------------------------- 1 | export * from './map-options.interface'; 2 | -------------------------------------------------------------------------------- /src/interfaces/map-options.interface.ts: -------------------------------------------------------------------------------- 1 | export interface IMapOptions { 2 | groups?: string[]; 3 | enabled?: (source: any) => boolean; 4 | } 5 | -------------------------------------------------------------------------------- /src/interfaces/property-type-options.interface.ts: -------------------------------------------------------------------------------- 1 | export interface IPropertyTypeOptions { 2 | groups?: string[]; 3 | } 4 | -------------------------------------------------------------------------------- /src/models/map-from-source.model.ts: -------------------------------------------------------------------------------- 1 | import { PropertyMetadataModel } from './property-metadata.model'; 2 | import { IMapOptions } from '../interfaces/map-options.interface'; 3 | 4 | export type TMapFunction = (source: any) => any; 5 | 6 | /** 7 | * model to store metadata of MapFrom decorator 8 | */ 9 | export class MapFromSourceModel extends PropertyMetadataModel { 10 | constructor( 11 | public target: Function, 12 | public propertyKey: string, 13 | public mapFunction: TMapFunction, 14 | public options?: IMapOptions 15 | ) { 16 | super(target, propertyKey); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/models/metadata-storage.model.ts: -------------------------------------------------------------------------------- 1 | import { MapFromSourceModel } from './map-from-source.model'; 2 | import { PropertyTypeModel } from './property-type.model'; 3 | 4 | /** 5 | * model to store all metadata of decorators 6 | */ 7 | export class MetadataStorageModel { 8 | private mapFromSource: MapFromSourceModel[] = []; 9 | private propertyTypes: PropertyTypeModel[] = []; 10 | 11 | public addMapFromSource(mapFromSource: MapFromSourceModel) { 12 | this.mapFromSource.push(mapFromSource); 13 | } 14 | 15 | public getMapFromSource(target: {}): MapFromSourceModel[] { 16 | const mapFromSource = this.mapFromSource.filter(m => m.target === target); 17 | const targetPrototype = Object.getPrototypeOf(target); 18 | 19 | return targetPrototype 20 | ? [...this.getMapFromSource(targetPrototype), ...mapFromSource] 21 | : mapFromSource; 22 | } 23 | 24 | public addPropertyType(propertyType: PropertyTypeModel): void { 25 | this.propertyTypes.push(propertyType); 26 | } 27 | 28 | public getPropertyTypes(target: {}, propertyKey: string): PropertyTypeModel[] | undefined { 29 | const targetProtoTypes = this.flattenNestedTargets(target); 30 | let propertyTypes: PropertyTypeModel[] | undefined; 31 | 32 | for (const targetPrototype of targetProtoTypes) { 33 | propertyTypes = this.propertyTypes.filter(p => p.target === targetPrototype && p.propertyKey === propertyKey); 34 | 35 | if (propertyTypes && propertyTypes.length) { break; } 36 | } 37 | 38 | return propertyTypes; 39 | } 40 | 41 | public clear(): void { 42 | this.mapFromSource = []; 43 | this.propertyTypes = []; 44 | } 45 | 46 | private flattenNestedTargets(target: {}): {}[] { 47 | const targetPrototypes = [target]; 48 | const targetPrototype = Object.getPrototypeOf(target); 49 | 50 | return targetPrototype 51 | ? [...this.flattenNestedTargets(targetPrototype), ...targetPrototypes] 52 | : targetPrototypes; 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /src/models/property-metadata.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * model to store metadata of property decorators 3 | */ 4 | export abstract class PropertyMetadataModel { 5 | constructor( 6 | public target: Function, 7 | public propertyKey: string, 8 | ) { } 9 | } 10 | -------------------------------------------------------------------------------- /src/models/property-type.model.ts: -------------------------------------------------------------------------------- 1 | import { PropertyMetadataModel } from './property-metadata.model'; 2 | import { IPropertyTypeOptions } from '../interfaces/property-type-options.interface'; 3 | import { TMapClass } from '../types'; 4 | 5 | /** 6 | * model to store metadata of Type decorator 7 | */ 8 | export class PropertyTypeModel extends PropertyMetadataModel { 9 | constructor( 10 | public target: Function, 11 | public propertyKey: string, 12 | public propertyType: TMapClass, 13 | public options?: IPropertyTypeOptions 14 | ) { 15 | super(target, propertyKey); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/storage/storage.ts: -------------------------------------------------------------------------------- 1 | import { MetadataStorageModel } from '../models/metadata-storage.model'; 2 | 3 | /** 4 | * stores all metadata of decorators 5 | */ 6 | export const metadataStorage = new MetadataStorageModel(); 7 | -------------------------------------------------------------------------------- /src/types/index.ts: -------------------------------------------------------------------------------- 1 | export * from './map-class.type'; 2 | -------------------------------------------------------------------------------- /src/types/map-class.type.ts: -------------------------------------------------------------------------------- 1 | export type TMapClass = new (...args: any[]) => T; 2 | -------------------------------------------------------------------------------- /test/helpers/entities/address.ts: -------------------------------------------------------------------------------- 1 | import { SourceAddressModel } from '../models/source-address.model'; 2 | import { TargetAddressModel } from '../models/target-address.model'; 3 | 4 | /** 5 | * plain address structure 6 | */ 7 | 8 | const addressPlain = { 9 | addressLine1: 'Example Street', 10 | addressLine2: '12 AB', 11 | addressLine3: '1234', 12 | addressLine4: 'Example City', 13 | }; 14 | 15 | /** 16 | * source address model 17 | */ 18 | 19 | export const sourceAddress = new SourceAddressModel(); 20 | 21 | sourceAddress.addressLine1 = addressPlain.addressLine1; 22 | sourceAddress.addressLine2 = addressPlain.addressLine2; 23 | sourceAddress.addressLine3 = addressPlain.addressLine3; 24 | sourceAddress.addressLine4 = addressPlain.addressLine4; 25 | 26 | /** 27 | * target address model 28 | */ 29 | 30 | export const targetAddress = new TargetAddressModel(); 31 | 32 | targetAddress.street = addressPlain.addressLine1; 33 | targetAddress.houseNumber = addressPlain.addressLine2; 34 | targetAddress.zip = parseInt(addressPlain.addressLine3, 10); 35 | targetAddress.city = addressPlain.addressLine4; 36 | -------------------------------------------------------------------------------- /test/helpers/entities/cars.ts: -------------------------------------------------------------------------------- 1 | import { SourceCarModel } from '../models/source-car.model'; 2 | import { TargetCarModel } from '../models/target-car.model'; 3 | 4 | /** 5 | * plain cars structure 6 | */ 7 | 8 | const carsPlain = [ 9 | { 10 | attribute1: 'Chevrolet', 11 | attribute2: 'Camaro' 12 | }, 13 | { 14 | attribute1: 'Ford', 15 | attribute2: 'Mustang' 16 | }, 17 | ]; 18 | 19 | /** 20 | * source cars model 21 | */ 22 | 23 | export const sourceCars = carsPlain.map(carPlain => { 24 | const sourceCar = new SourceCarModel(); 25 | sourceCar.attribute1 = carPlain.attribute1; 26 | sourceCar.attribute2 = carPlain.attribute2; 27 | 28 | return sourceCar; 29 | }); 30 | 31 | /** 32 | * target cars model 33 | */ 34 | 35 | export const targetCars = carsPlain.map(carPlain => { 36 | const targetCar = new TargetCarModel(); 37 | targetCar.manufacturer = carPlain.attribute1; 38 | targetCar.model = carPlain.attribute2; 39 | 40 | return targetCar; 41 | }); 42 | -------------------------------------------------------------------------------- /test/helpers/entities/customer.ts: -------------------------------------------------------------------------------- 1 | import { sourceAddress, targetAddress } from './address'; 2 | import { sourceCars, targetCars } from './cars'; 3 | import { sourcePets, targetPets } from './pets'; 4 | import { SourceCustomerModel } from '../models/source-customer.model'; 5 | import { TargetCustomerModel } from '../models/target-customer.model'; 6 | 7 | /** 8 | * plain customer structure 9 | */ 10 | 11 | const customerPlain = { 12 | name1: 'John', 13 | name2: 'Doe' 14 | }; 15 | 16 | /** 17 | * source customer model 18 | */ 19 | 20 | export const sourceCustomer = new SourceCustomerModel(); 21 | 22 | sourceCustomer.name1 = customerPlain.name1; 23 | sourceCustomer.name2 = customerPlain.name2; 24 | sourceCustomer.address1 = sourceAddress; 25 | sourceCustomer.car1 = sourceCars; 26 | sourceCustomer.pets1 = sourcePets; 27 | 28 | /** 29 | * source customer model with no cars assigned 30 | */ 31 | export const sourceCustomerNoCars = new SourceCustomerModel(); 32 | 33 | sourceCustomerNoCars.name1 = customerPlain.name1; 34 | sourceCustomerNoCars.name2 = customerPlain.name2; 35 | sourceCustomerNoCars.address1 = sourceAddress; 36 | sourceCustomerNoCars.pets1 = sourcePets; 37 | 38 | /** 39 | * target customer model 40 | */ 41 | 42 | export const targetCustomer = new TargetCustomerModel(); 43 | 44 | targetCustomer.firstName = sourceCustomer.name1; 45 | targetCustomer.lastName = sourceCustomer.name2; 46 | targetCustomer.address = targetAddress; 47 | targetCustomer.cars = targetCars; 48 | targetCustomer.pets = targetPets; 49 | 50 | /** 51 | * target customer model with no cars assigned 52 | */ 53 | 54 | export const targetCustomerNoCars = new TargetCustomerModel(); 55 | 56 | targetCustomerNoCars.firstName = sourceCustomer.name1; 57 | targetCustomerNoCars.lastName = sourceCustomer.name2; 58 | targetCustomerNoCars.address = targetAddress; 59 | targetCustomerNoCars.pets = targetPets; 60 | -------------------------------------------------------------------------------- /test/helpers/entities/map-from-source.ts: -------------------------------------------------------------------------------- 1 | import { IMapOptions } from '../../../src/interfaces/map-options.interface'; 2 | import { MapFromSourceModel } from '../../../src/models/map-from-source.model'; 3 | import { TargetCustomerModel } from '../models/target-customer.model'; 4 | 5 | /** 6 | * map from source model 7 | */ 8 | 9 | export const customerModelTarget = new TargetCustomerModel().constructor; 10 | 11 | const options: IMapOptions = { groups: ['customer'] }; 12 | 13 | const addressOptions: IMapOptions = Object.assign(options); 14 | 15 | const carOptions: IMapOptions = Object.assign(options); 16 | 17 | export const mapFromSourceModelFirstName = new MapFromSourceModel( 18 | customerModelTarget, 19 | 'firstName', 20 | source => source.name1, 21 | options 22 | ); 23 | 24 | const mapFromSourceModelLastName = new MapFromSourceModel( 25 | customerModelTarget, 26 | 'lastName', 27 | source => source.name2, 28 | options 29 | ); 30 | 31 | const mapFromSourceModelPet = new MapFromSourceModel( 32 | customerModelTarget, 33 | 'pets', 34 | source => source.name1, 35 | options 36 | ); 37 | 38 | const mapFromSourceModelAddress = new MapFromSourceModel( 39 | customerModelTarget, 40 | 'address', 41 | source => source.address1, 42 | addressOptions 43 | ); 44 | 45 | const mapFromSourceModelCar = new MapFromSourceModel( 46 | customerModelTarget, 47 | 'cars', 48 | source => source.car, 49 | carOptions 50 | ); 51 | 52 | export const mapFromSourceModels = [ 53 | mapFromSourceModelFirstName, 54 | mapFromSourceModelLastName, 55 | mapFromSourceModelPet, 56 | mapFromSourceModelAddress, 57 | mapFromSourceModelCar 58 | ]; 59 | -------------------------------------------------------------------------------- /test/helpers/entities/pets.ts: -------------------------------------------------------------------------------- 1 | import { SourcePetModel } from '../models/source-pet.model'; 2 | import { TargetPetModel } from '../models/target-pet.model'; 3 | 4 | /** 5 | * plain pets structure 6 | */ 7 | 8 | const petsPlain = [ 9 | { 10 | name1: 'Nemo' 11 | }, 12 | { 13 | name1: 'Dory' 14 | }, 15 | ]; 16 | 17 | /** 18 | * source pets model 19 | */ 20 | 21 | export const sourcePets = petsPlain.map(petPlain => { 22 | const sourcePet = new SourcePetModel(); 23 | sourcePet.name1 = petPlain.name1; 24 | 25 | return sourcePet; 26 | }); 27 | 28 | /** 29 | * target pets model 30 | */ 31 | 32 | export const targetPets = petsPlain.map(petPlain => { 33 | const targetPet = new TargetPetModel(); 34 | targetPet.name = petPlain.name1; 35 | 36 | return targetPet; 37 | }); 38 | -------------------------------------------------------------------------------- /test/helpers/models/source-address.model.ts: -------------------------------------------------------------------------------- 1 | export class SourceAddressModel { 2 | public addressLine1!: string; 3 | public addressLine2!: string; 4 | public addressLine3!: string; 5 | public addressLine4!: string; 6 | } 7 | -------------------------------------------------------------------------------- /test/helpers/models/source-car.model.ts: -------------------------------------------------------------------------------- 1 | export class SourceCarModel { 2 | public attribute1: string; 3 | public attribute2: string; 4 | } 5 | -------------------------------------------------------------------------------- /test/helpers/models/source-customer.model.ts: -------------------------------------------------------------------------------- 1 | import { SourceAddressModel } from './source-address.model'; 2 | import { SourceCarModel } from './source-car.model'; 3 | import { SourcePersonModel } from './source-person.model'; 4 | 5 | export class SourceCustomerModel extends SourcePersonModel { 6 | public address1!: SourceAddressModel; 7 | public car1!: SourceCarModel[]; 8 | } 9 | -------------------------------------------------------------------------------- /test/helpers/models/source-person.model.ts: -------------------------------------------------------------------------------- 1 | import { SourcePetModel } from './source-pet.model'; 2 | 3 | export abstract class SourcePersonModel { 4 | public name1!: string; 5 | public name2!: string; 6 | public pets1!: SourcePetModel[]; 7 | } 8 | -------------------------------------------------------------------------------- /test/helpers/models/source-pet.model.ts: -------------------------------------------------------------------------------- 1 | export class SourcePetModel { 2 | public name1!: string; 3 | } 4 | -------------------------------------------------------------------------------- /test/helpers/models/target-address.model.ts: -------------------------------------------------------------------------------- 1 | import { SourceAddressModel } from './source-address.model'; 2 | import { MapFromSource } from '../../../src/decorators/map-from-source.decorator'; 3 | 4 | export class TargetAddressModel { 5 | @MapFromSource((source: SourceAddressModel) => source.addressLine1, { groups: ['customer'] }) 6 | public street!: string; 7 | 8 | @MapFromSource((source: SourceAddressModel) => source.addressLine2, { groups: ['customer'] }) 9 | public houseNumber!: string; 10 | 11 | @MapFromSource((source: SourceAddressModel) => parseInt(source.addressLine3, 10), { groups: ['customer'] }) 12 | public zip!: number; 13 | 14 | @MapFromSource((source: SourceAddressModel) => source.addressLine4, { groups: ['customer'] }) 15 | public city!: string; 16 | } 17 | -------------------------------------------------------------------------------- /test/helpers/models/target-car.model.ts: -------------------------------------------------------------------------------- 1 | import { SourceCarModel } from './source-car.model'; 2 | import { MapFromSource } from '../../../src/decorators/map-from-source.decorator'; 3 | 4 | export class TargetCarModel { 5 | @MapFromSource((source: SourceCarModel) => source.attribute1, { groups: ['customer'] }) 6 | public manufacturer!: string; 7 | 8 | @MapFromSource((source: SourceCarModel) => source.attribute2, { groups: ['customer'] }) 9 | public model!: string; 10 | } 11 | -------------------------------------------------------------------------------- /test/helpers/models/target-customer.model.ts: -------------------------------------------------------------------------------- 1 | import { SourceCustomerModel } from './source-customer.model'; 2 | import { TargetAddressModel } from './target-address.model'; 3 | import { TargetCarModel } from './target-car.model'; 4 | import { TargetPersonModel } from './target-person.model'; 5 | import { MapFromSource } from '../../../src/decorators/map-from-source.decorator'; 6 | import { PropertyType } from '../../../src/decorators/property-type.decorator'; 7 | 8 | export class TargetCustomerModel extends TargetPersonModel { 9 | @PropertyType(TargetAddressModel) 10 | @MapFromSource((source: SourceCustomerModel) => source.address1, { groups: ['customer'] }) 11 | public address!: TargetAddressModel; 12 | 13 | @PropertyType(TargetCarModel) 14 | @MapFromSource( 15 | (source: SourceCustomerModel) => source.car1, 16 | { 17 | groups: ['customer'], 18 | enabled: (source: SourceCustomerModel) => !!source.car1 19 | } 20 | ) 21 | public cars!: TargetCarModel[]; 22 | } 23 | -------------------------------------------------------------------------------- /test/helpers/models/target-person.model.ts: -------------------------------------------------------------------------------- 1 | import { SourceCustomerModel } from './source-customer.model'; 2 | import { TargetPetModel } from './target-pet.model'; 3 | import { MapFromSource } from '../../../src/decorators/map-from-source.decorator'; 4 | import { PropertyType } from '../../../src/decorators/property-type.decorator'; 5 | 6 | export abstract class TargetPersonModel { 7 | @MapFromSource((source: SourceCustomerModel) => source.name1, { groups: ['customer'] }) 8 | public firstName!: string; 9 | 10 | @MapFromSource((source: SourceCustomerModel) => source.name2, { groups: ['customer'] }) 11 | public lastName!: string; 12 | 13 | @PropertyType(TargetPetModel) 14 | @MapFromSource((source: SourceCustomerModel) => source.pets1, { groups: ['customer'] }) 15 | public pets!: TargetPetModel[]; 16 | } 17 | -------------------------------------------------------------------------------- /test/helpers/models/target-pet.model.ts: -------------------------------------------------------------------------------- 1 | import { SourcePetModel } from './source-pet.model'; 2 | import { MapFromSource } from '../../../src/decorators/map-from-source.decorator'; 3 | 4 | export class TargetPetModel { 5 | @MapFromSource((source: SourcePetModel) => source.name1) 6 | public name!: string; 7 | } 8 | -------------------------------------------------------------------------------- /test/unit/decorators/map-from-source.decorator.test.ts: -------------------------------------------------------------------------------- 1 | import { metadataStorage } from '../../../src/storage/storage'; 2 | import { customerModelTarget, mapFromSourceModels } from '../../helpers/entities/map-from-source'; 3 | 4 | describe('MapFromSource decorator', () => { 5 | test('must store metadata after customer class is declared', () => { 6 | const mapFromSourceMetadata = metadataStorage.getMapFromSource(customerModelTarget); 7 | 8 | expect(JSON.stringify(mapFromSourceMetadata)).toBe(JSON.stringify(mapFromSourceModels)); 9 | }); 10 | }); 11 | -------------------------------------------------------------------------------- /test/unit/functions/map-class.function.test.ts: -------------------------------------------------------------------------------- 1 | import { mapClasses } from '../../../src/functions/map-classes.function'; 2 | import { 3 | sourceCustomer, 4 | sourceCustomerNoCars, 5 | targetCustomer as expectedTargetCustomer, 6 | targetCustomerNoCars as expectedTargetCustomerNoCars 7 | } from '../../helpers/entities/customer'; 8 | import { TargetCustomerModel } from '../../helpers/models/target-customer.model'; 9 | 10 | describe('mapClasses', () => { 11 | test('must return mapped class with one group assigned', () => { 12 | const targetCustomer = mapClasses(sourceCustomer, TargetCustomerModel, { groups: ['customer'] }); 13 | 14 | expect(targetCustomer).toEqual(expectedTargetCustomer); 15 | }); 16 | 17 | test('must return mapped class with one group assigned and no cars', () => { 18 | const targetCustomerNoCars = mapClasses(sourceCustomerNoCars, TargetCustomerModel, { groups: ['customer'] }); 19 | 20 | expect(targetCustomerNoCars).toEqual(expectedTargetCustomerNoCars); 21 | }); 22 | }); 23 | -------------------------------------------------------------------------------- /test/unit/strorage/storage.test.ts: -------------------------------------------------------------------------------- 1 | import { metadataStorage } from '../../../src/storage/storage'; 2 | import { customerModelTarget, mapFromSourceModelFirstName } from '../../helpers/entities/map-from-source'; 3 | 4 | beforeAll(() => { 5 | metadataStorage.clear(); 6 | }); 7 | 8 | describe('metaDataStorage', () => { 9 | test('must have addMapFromSource method', () => { 10 | expect(metadataStorage.addMapFromSource).toBeDefined(); 11 | }); 12 | 13 | test('must have getMapFromSource method', () => { 14 | expect(metadataStorage.getMapFromSource).toBeDefined(); 15 | }); 16 | 17 | test('addMapFromSource method must save and load metadata to storage', () => { 18 | metadataStorage.addMapFromSource(mapFromSourceModelFirstName); 19 | const mapFromSourceMetadata = metadataStorage.getMapFromSource(customerModelTarget); 20 | 21 | expect(mapFromSourceMetadata).toEqual([mapFromSourceModelFirstName]); 22 | }); 23 | 24 | test('clear method must remove all metadata', () => { 25 | metadataStorage.clear(); 26 | const mapFromSourceMetadata = metadataStorage.getMapFromSource(customerModelTarget); 27 | 28 | expect(mapFromSourceMetadata).toEqual([]); 29 | }); 30 | }); 31 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "es6", 5 | "outDir": ".tmp", 6 | "newLine": "LF", 7 | "sourceRoot": "src", 8 | "lib": [ 9 | "dom", 10 | "es2017" 11 | ], 12 | "allowJs": true, 13 | "moduleResolution": "node", 14 | "importHelpers": true, 15 | "pretty": true, 16 | "sourceMap": true, 17 | "inlineSources": true, 18 | "noUnusedLocals": true, 19 | "strictNullChecks": true, 20 | "experimentalDecorators": true, 21 | }, 22 | "exclude": [ 23 | "test", 24 | "node_modules", 25 | "dist", 26 | ".tmp" 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "tslint:recommended", 3 | "rules": { 4 | "array-type": [ 5 | true, 6 | "array" 7 | ], 8 | "arrow-parens": [ 9 | true, 10 | "ban-single-arg-parens" 11 | ], 12 | "ban-types": false, 13 | "max-classes-per-file": false, 14 | "max-line-length": [ 15 | true, 16 | 140 17 | ], 18 | "no-bitwise": false, 19 | "object-literal-sort-keys": false, 20 | "ordered-imports": false, 21 | "quotemark": [ 22 | true, 23 | "single" 24 | ], 25 | "trailing-comma": false 26 | }, 27 | "jsRules": { 28 | "quotemark": [ 29 | true, 30 | "single" 31 | ], 32 | "object-literal-sort-keys": false, 33 | "trailing-comma": false 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /w3tec-divider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3tecch/class-mapper/87bb53a38dcc0070ad53dbc137c56146d2a4f437/w3tec-divider.png -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@^7.0.0": 6 | version "7.0.0" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" 8 | integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA== 9 | dependencies: 10 | "@babel/highlight" "^7.0.0" 11 | 12 | "@babel/core@^7.1.0": 13 | version "7.2.2" 14 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.2.2.tgz#07adba6dde27bb5ad8d8672f15fde3e08184a687" 15 | integrity sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw== 16 | dependencies: 17 | "@babel/code-frame" "^7.0.0" 18 | "@babel/generator" "^7.2.2" 19 | "@babel/helpers" "^7.2.0" 20 | "@babel/parser" "^7.2.2" 21 | "@babel/template" "^7.2.2" 22 | "@babel/traverse" "^7.2.2" 23 | "@babel/types" "^7.2.2" 24 | convert-source-map "^1.1.0" 25 | debug "^4.1.0" 26 | json5 "^2.1.0" 27 | lodash "^4.17.10" 28 | resolve "^1.3.2" 29 | semver "^5.4.1" 30 | source-map "^0.5.0" 31 | 32 | "@babel/generator@^7.0.0", "@babel/generator@^7.2.2": 33 | version "7.3.0" 34 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.3.0.tgz#f663838cd7b542366de3aa608a657b8ccb2a99eb" 35 | integrity sha512-dZTwMvTgWfhmibq4V9X+LMf6Bgl7zAodRn9PvcPdhlzFMbvUutx74dbEv7Atz3ToeEpevYEJtAwfxq/bDCzHWg== 36 | dependencies: 37 | "@babel/types" "^7.3.0" 38 | jsesc "^2.5.1" 39 | lodash "^4.17.10" 40 | source-map "^0.5.0" 41 | trim-right "^1.0.1" 42 | 43 | "@babel/helper-function-name@^7.1.0": 44 | version "7.1.0" 45 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" 46 | integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw== 47 | dependencies: 48 | "@babel/helper-get-function-arity" "^7.0.0" 49 | "@babel/template" "^7.1.0" 50 | "@babel/types" "^7.0.0" 51 | 52 | "@babel/helper-get-function-arity@^7.0.0": 53 | version "7.0.0" 54 | resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" 55 | integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ== 56 | dependencies: 57 | "@babel/types" "^7.0.0" 58 | 59 | "@babel/helper-plugin-utils@^7.0.0": 60 | version "7.0.0" 61 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" 62 | integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA== 63 | 64 | "@babel/helper-split-export-declaration@^7.0.0": 65 | version "7.0.0" 66 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz#3aae285c0311c2ab095d997b8c9a94cad547d813" 67 | integrity sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag== 68 | dependencies: 69 | "@babel/types" "^7.0.0" 70 | 71 | "@babel/helpers@^7.2.0": 72 | version "7.3.1" 73 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.3.1.tgz#949eec9ea4b45d3210feb7dc1c22db664c9e44b9" 74 | integrity sha512-Q82R3jKsVpUV99mgX50gOPCWwco9Ec5Iln/8Vyu4osNIOQgSrd9RFrQeUvmvddFNoLwMyOUWU+5ckioEKpDoGA== 75 | dependencies: 76 | "@babel/template" "^7.1.2" 77 | "@babel/traverse" "^7.1.5" 78 | "@babel/types" "^7.3.0" 79 | 80 | "@babel/highlight@^7.0.0": 81 | version "7.0.0" 82 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" 83 | integrity sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw== 84 | dependencies: 85 | chalk "^2.0.0" 86 | esutils "^2.0.2" 87 | js-tokens "^4.0.0" 88 | 89 | "@babel/parser@^7.0.0", "@babel/parser@^7.2.2", "@babel/parser@^7.2.3": 90 | version "7.3.1" 91 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.3.1.tgz#8f4ffd45f779e6132780835ffa7a215fa0b2d181" 92 | integrity sha512-ATz6yX/L8LEnC3dtLQnIx4ydcPxhLcoy9Vl6re00zb2w5lG6itY6Vhnr1KFRPq/FHNsgl/gh2mjNN20f9iJTTA== 93 | 94 | "@babel/plugin-syntax-object-rest-spread@^7.0.0": 95 | version "7.2.0" 96 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz#3b7a3e733510c57e820b9142a6579ac8b0dfad2e" 97 | integrity sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA== 98 | dependencies: 99 | "@babel/helper-plugin-utils" "^7.0.0" 100 | 101 | "@babel/template@^7.0.0", "@babel/template@^7.1.0", "@babel/template@^7.1.2", "@babel/template@^7.2.2": 102 | version "7.2.2" 103 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.2.2.tgz#005b3fdf0ed96e88041330379e0da9a708eb2907" 104 | integrity sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g== 105 | dependencies: 106 | "@babel/code-frame" "^7.0.0" 107 | "@babel/parser" "^7.2.2" 108 | "@babel/types" "^7.2.2" 109 | 110 | "@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.1.5", "@babel/traverse@^7.2.2": 111 | version "7.2.3" 112 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.2.3.tgz#7ff50cefa9c7c0bd2d81231fdac122f3957748d8" 113 | integrity sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw== 114 | dependencies: 115 | "@babel/code-frame" "^7.0.0" 116 | "@babel/generator" "^7.2.2" 117 | "@babel/helper-function-name" "^7.1.0" 118 | "@babel/helper-split-export-declaration" "^7.0.0" 119 | "@babel/parser" "^7.2.3" 120 | "@babel/types" "^7.2.2" 121 | debug "^4.1.0" 122 | globals "^11.1.0" 123 | lodash "^4.17.10" 124 | 125 | "@babel/types@^7.0.0", "@babel/types@^7.2.2", "@babel/types@^7.3.0": 126 | version "7.3.0" 127 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.3.0.tgz#61dc0b336a93badc02bf5f69c4cd8e1353f2ffc0" 128 | integrity sha512-QkFPw68QqWU1/RVPyBe8SO7lXbPfjtqAxRYQKpFpaB8yMq7X2qAqfwK5LKoQufEkSmO5NQ70O6Kc3Afk03RwXw== 129 | dependencies: 130 | esutils "^2.0.2" 131 | lodash "^4.17.10" 132 | to-fast-properties "^2.0.0" 133 | 134 | "@types/detect-indent@0.1.30": 135 | version "0.1.30" 136 | resolved "https://registry.yarnpkg.com/@types/detect-indent/-/detect-indent-0.1.30.tgz#dc682bb412b4e65ba098e70edad73b4833fb910d" 137 | integrity sha1-3GgrtBK05lugmOcO2tc7SDP7kQ0= 138 | 139 | "@types/estree@0.0.39": 140 | version "0.0.39" 141 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" 142 | integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== 143 | 144 | "@types/glob@5.0.30": 145 | version "5.0.30" 146 | resolved "https://registry.yarnpkg.com/@types/glob/-/glob-5.0.30.tgz#1026409c5625a8689074602808d082b2867b8a51" 147 | integrity sha1-ECZAnFYlqGiQdGAoCNCCsoZ7ilE= 148 | dependencies: 149 | "@types/minimatch" "*" 150 | "@types/node" "*" 151 | 152 | "@types/jest@^23.3.13": 153 | version "23.3.13" 154 | resolved "https://registry.yarnpkg.com/@types/jest/-/jest-23.3.13.tgz#c81484b6f4ca007bb09887ed15ecb3286d58f928" 155 | integrity sha512-ePl4l+7dLLmCucIwgQHAgjiepY++qcI6nb8eAwGNkB6OxmTe3Z9rQU3rSpomqu42PCCnlThZbOoxsf+qylJsLA== 156 | 157 | "@types/lodash-es@^4.17.1": 158 | version "4.17.1" 159 | resolved "https://registry.yarnpkg.com/@types/lodash-es/-/lodash-es-4.17.1.tgz#56745e5411558362aeca31def918f88f725dd29d" 160 | integrity sha512-3EDZjphPfdjnsWvY11ufYImFMPyQJwIH1eFYRgWQsjOctce06fmNgVf5sfvXBRiaS1o0X50bAln1lfWs8ZO3BA== 161 | dependencies: 162 | "@types/lodash" "*" 163 | 164 | "@types/lodash@*": 165 | version "4.14.120" 166 | resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.120.tgz#cf265d06f6c7a710db087ed07523ab8c1a24047b" 167 | integrity sha512-jQ21kQ120mo+IrDs1nFNVm/AsdFxIx2+vZ347DbogHJPd/JzKNMOqU6HCYin1W6v8l5R9XSO2/e9cxmn7HAnVw== 168 | 169 | "@types/minimatch@*": 170 | version "3.0.3" 171 | resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" 172 | integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== 173 | 174 | "@types/mkdirp@0.3.29": 175 | version "0.3.29" 176 | resolved "https://registry.yarnpkg.com/@types/mkdirp/-/mkdirp-0.3.29.tgz#7f2ad7ec55f914482fc9b1ec4bb1ae6028d46066" 177 | integrity sha1-fyrX7FX5FEgvybHsS7GuYCjUYGY= 178 | 179 | "@types/node@*", "@types/node@^10.12.20": 180 | version "10.12.20" 181 | resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.20.tgz#f79f959acd3422d0889bd1ead1664bd2d17cd367" 182 | integrity sha512-9spv6SklidqxevvZyOUGjZVz4QRXGu2dNaLyXIFzFYZW0AGDykzPRIUFJXTlQXyfzAucddwTcGtJNim8zqSOPA== 183 | 184 | "@types/node@8.0.0": 185 | version "8.0.0" 186 | resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.0.tgz#acaa89247afddc7967e9902fd11761dadea1a555" 187 | integrity sha512-j2tekvJCO7j22cs+LO6i0kRPhmQ9MXaPZ55TzOc1lzkN5b6BWqq4AFjl04s1oRRQ1v5rSe+KEvnLUSTonuls/A== 188 | 189 | abab@^2.0.0: 190 | version "2.0.0" 191 | resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.0.tgz#aba0ab4c5eee2d4c79d3487d85450fb2376ebb0f" 192 | integrity sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w== 193 | 194 | abbrev@1: 195 | version "1.1.1" 196 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" 197 | integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== 198 | 199 | acorn-globals@^4.1.0: 200 | version "4.3.0" 201 | resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.0.tgz#e3b6f8da3c1552a95ae627571f7dd6923bb54103" 202 | integrity sha512-hMtHj3s5RnuhvHPowpBYvJVj3rAar82JiDQHvGs1zO0l10ocX/xEdBShNHTJaboucJUsScghp74pH3s7EnHHQw== 203 | dependencies: 204 | acorn "^6.0.1" 205 | acorn-walk "^6.0.1" 206 | 207 | acorn-walk@^6.0.1: 208 | version "6.1.1" 209 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.1.1.tgz#d363b66f5fac5f018ff9c3a1e7b6f8e310cc3913" 210 | integrity sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw== 211 | 212 | acorn@^5.5.3: 213 | version "5.7.3" 214 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" 215 | integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== 216 | 217 | acorn@^6.0.1, acorn@^6.0.5: 218 | version "6.0.6" 219 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.0.6.tgz#cd75181670d5b99bdb1b1c993941d3a239ab1f56" 220 | integrity sha512-5M3G/A4uBSMIlfJ+h9W125vJvPFH/zirISsW5qfxF5YzEvXJCtolLoQvM5yZft0DvMcUrPGKPOlgEu55I6iUtA== 221 | 222 | ajv@^6.5.5: 223 | version "6.7.0" 224 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.7.0.tgz#e3ce7bb372d6577bb1839f1dfdfcbf5ad2948d96" 225 | integrity sha512-RZXPviBTtfmtka9n9sy1N5M5b82CbxWIR6HIis4s3WQTXDJamc/0gpCWNGz6EWdWp4DOfjzJfhz/AS9zVPjjWg== 226 | dependencies: 227 | fast-deep-equal "^2.0.1" 228 | fast-json-stable-stringify "^2.0.0" 229 | json-schema-traverse "^0.4.1" 230 | uri-js "^4.2.2" 231 | 232 | ansi-escapes@^3.0.0: 233 | version "3.2.0" 234 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" 235 | integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== 236 | 237 | ansi-regex@^2.0.0: 238 | version "2.1.1" 239 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 240 | integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= 241 | 242 | ansi-regex@^3.0.0: 243 | version "3.0.0" 244 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 245 | integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= 246 | 247 | ansi-regex@^4.0.0: 248 | version "4.0.0" 249 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.0.0.tgz#70de791edf021404c3fd615aa89118ae0432e5a9" 250 | integrity sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w== 251 | 252 | ansi-styles@^2.2.1: 253 | version "2.2.1" 254 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 255 | integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= 256 | 257 | ansi-styles@^3.2.0, ansi-styles@^3.2.1: 258 | version "3.2.1" 259 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 260 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 261 | dependencies: 262 | color-convert "^1.9.0" 263 | 264 | anymatch@^2.0.0: 265 | version "2.0.0" 266 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" 267 | integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== 268 | dependencies: 269 | micromatch "^3.1.4" 270 | normalize-path "^2.1.1" 271 | 272 | append-transform@^1.0.0: 273 | version "1.0.0" 274 | resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-1.0.0.tgz#046a52ae582a228bd72f58acfbe2967c678759ab" 275 | integrity sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw== 276 | dependencies: 277 | default-require-extensions "^2.0.0" 278 | 279 | aproba@^1.0.3: 280 | version "1.2.0" 281 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" 282 | integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== 283 | 284 | are-we-there-yet@~1.1.2: 285 | version "1.1.5" 286 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" 287 | integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== 288 | dependencies: 289 | delegates "^1.0.0" 290 | readable-stream "^2.0.6" 291 | 292 | argparse@^1.0.7: 293 | version "1.0.10" 294 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 295 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 296 | dependencies: 297 | sprintf-js "~1.0.2" 298 | 299 | arr-diff@^2.0.0: 300 | version "2.0.0" 301 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" 302 | integrity sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8= 303 | dependencies: 304 | arr-flatten "^1.0.1" 305 | 306 | arr-diff@^4.0.0: 307 | version "4.0.0" 308 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" 309 | integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= 310 | 311 | arr-flatten@^1.0.1, arr-flatten@^1.1.0: 312 | version "1.1.0" 313 | resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" 314 | integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== 315 | 316 | arr-union@^3.1.0: 317 | version "3.1.0" 318 | resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" 319 | integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= 320 | 321 | array-equal@^1.0.0: 322 | version "1.0.0" 323 | resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" 324 | integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= 325 | 326 | array-unique@^0.2.1: 327 | version "0.2.1" 328 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" 329 | integrity sha1-odl8yvy8JiXMcPrc6zalDFiwGlM= 330 | 331 | array-unique@^0.3.2: 332 | version "0.3.2" 333 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" 334 | integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= 335 | 336 | arrify@^1.0.1: 337 | version "1.0.1" 338 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" 339 | integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= 340 | 341 | asn1@~0.2.3: 342 | version "0.2.4" 343 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" 344 | integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== 345 | dependencies: 346 | safer-buffer "~2.1.0" 347 | 348 | assert-plus@1.0.0, assert-plus@^1.0.0: 349 | version "1.0.0" 350 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 351 | integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= 352 | 353 | assign-symbols@^1.0.0: 354 | version "1.0.0" 355 | resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" 356 | integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= 357 | 358 | astral-regex@^1.0.0: 359 | version "1.0.0" 360 | resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" 361 | integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== 362 | 363 | async-limiter@~1.0.0: 364 | version "1.0.0" 365 | resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" 366 | integrity sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg== 367 | 368 | async@^2.5.0, async@^2.6.1: 369 | version "2.6.1" 370 | resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610" 371 | integrity sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ== 372 | dependencies: 373 | lodash "^4.17.10" 374 | 375 | asynckit@^0.4.0: 376 | version "0.4.0" 377 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 378 | integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= 379 | 380 | atob@^2.1.1: 381 | version "2.1.2" 382 | resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" 383 | integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== 384 | 385 | aws-sign2@~0.7.0: 386 | version "0.7.0" 387 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" 388 | integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= 389 | 390 | aws4@^1.8.0: 391 | version "1.8.0" 392 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" 393 | integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== 394 | 395 | babel-code-frame@^6.22.0: 396 | version "6.26.0" 397 | resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" 398 | integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= 399 | dependencies: 400 | chalk "^1.1.3" 401 | esutils "^2.0.2" 402 | js-tokens "^3.0.2" 403 | 404 | babel-jest@^24.0.0: 405 | version "24.0.0" 406 | resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.0.0.tgz#8a0c767f03f4a595fb921afdab13ff126edd00da" 407 | integrity sha512-YGKRbZUjoRmNIAyG7x4wYxUyHvHPFpYXj6Mx1A5cslhaQOUgP/+LF3wtFgMuOQkIpjbVNBufmOnVY0QVwB5v9Q== 408 | dependencies: 409 | babel-plugin-istanbul "^5.1.0" 410 | babel-preset-jest "^24.0.0" 411 | 412 | babel-plugin-istanbul@^5.1.0: 413 | version "5.1.0" 414 | resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.1.0.tgz#6892f529eff65a3e2d33d87dc5888ffa2ecd4a30" 415 | integrity sha512-CLoXPRSUWiR8yao8bShqZUIC6qLfZVVY3X1wj+QPNXu0wfmrRRfarh1LYy+dYMVI+bDj0ghy3tuqFFRFZmL1Nw== 416 | dependencies: 417 | find-up "^3.0.0" 418 | istanbul-lib-instrument "^3.0.0" 419 | test-exclude "^5.0.0" 420 | 421 | babel-plugin-jest-hoist@^24.0.0: 422 | version "24.0.0" 423 | resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.0.0.tgz#3adf030b6fd67e4311479a54b24077bdfc226ec9" 424 | integrity sha512-ipefE7YWNyRNVaV/MonUb/I5nef53ZRFR74P9meMGmJxqt8s1BJmfhw11YeIMbcjXN4fxtWUaskZZe8yreXE1Q== 425 | 426 | babel-preset-jest@^24.0.0: 427 | version "24.0.0" 428 | resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.0.0.tgz#d23782e5e036cff517859640a80960bd628bd82b" 429 | integrity sha512-ECMMOLvNDCmsn3geBa3JkwzylcfpThMpAdfreONQm8EmXcs4tXUpXZDQPxiIMg7nMobTuAC2zDGIKrbrBXW2Vg== 430 | dependencies: 431 | "@babel/plugin-syntax-object-rest-spread" "^7.0.0" 432 | babel-plugin-jest-hoist "^24.0.0" 433 | 434 | balanced-match@^1.0.0: 435 | version "1.0.0" 436 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 437 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 438 | 439 | base@^0.11.1: 440 | version "0.11.2" 441 | resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" 442 | integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== 443 | dependencies: 444 | cache-base "^1.0.1" 445 | class-utils "^0.3.5" 446 | component-emitter "^1.2.1" 447 | define-property "^1.0.0" 448 | isobject "^3.0.1" 449 | mixin-deep "^1.2.0" 450 | pascalcase "^0.1.1" 451 | 452 | bcrypt-pbkdf@^1.0.0: 453 | version "1.0.2" 454 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" 455 | integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= 456 | dependencies: 457 | tweetnacl "^0.14.3" 458 | 459 | brace-expansion@^1.1.7: 460 | version "1.1.11" 461 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 462 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 463 | dependencies: 464 | balanced-match "^1.0.0" 465 | concat-map "0.0.1" 466 | 467 | braces@^1.8.2: 468 | version "1.8.5" 469 | resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" 470 | integrity sha1-uneWLhLf+WnWt2cR6RS3N4V79qc= 471 | dependencies: 472 | expand-range "^1.8.1" 473 | preserve "^0.2.0" 474 | repeat-element "^1.1.2" 475 | 476 | braces@^2.3.1: 477 | version "2.3.2" 478 | resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" 479 | integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== 480 | dependencies: 481 | arr-flatten "^1.1.0" 482 | array-unique "^0.3.2" 483 | extend-shallow "^2.0.1" 484 | fill-range "^4.0.0" 485 | isobject "^3.0.1" 486 | repeat-element "^1.1.2" 487 | snapdragon "^0.8.1" 488 | snapdragon-node "^2.0.1" 489 | split-string "^3.0.2" 490 | to-regex "^3.0.1" 491 | 492 | browser-process-hrtime@^0.1.2: 493 | version "0.1.3" 494 | resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz#616f00faef1df7ec1b5bf9cfe2bdc3170f26c7b4" 495 | integrity sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw== 496 | 497 | browser-resolve@^1.11.3: 498 | version "1.11.3" 499 | resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" 500 | integrity sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ== 501 | dependencies: 502 | resolve "1.1.7" 503 | 504 | bs-logger@0.x: 505 | version "0.2.6" 506 | resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" 507 | integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== 508 | dependencies: 509 | fast-json-stable-stringify "2.x" 510 | 511 | bser@^2.0.0: 512 | version "2.0.0" 513 | resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719" 514 | integrity sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk= 515 | dependencies: 516 | node-int64 "^0.4.0" 517 | 518 | buffer-from@1.x, buffer-from@^1.0.0: 519 | version "1.1.1" 520 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" 521 | integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== 522 | 523 | builtin-modules@^1.0.0, builtin-modules@^1.1.1: 524 | version "1.1.1" 525 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" 526 | integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= 527 | 528 | builtin-modules@^3.0.0: 529 | version "3.0.0" 530 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.0.0.tgz#1e587d44b006620d90286cc7a9238bbc6129cab1" 531 | integrity sha512-hMIeU4K2ilbXV6Uv93ZZ0Avg/M91RaKXucQ+4me2Do1txxBDyDZWCBa5bJSLqoNTRpXTLwEzIk1KmloenDDjhg== 532 | 533 | cache-base@^1.0.1: 534 | version "1.0.1" 535 | resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" 536 | integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== 537 | dependencies: 538 | collection-visit "^1.0.0" 539 | component-emitter "^1.2.1" 540 | get-value "^2.0.6" 541 | has-value "^1.0.0" 542 | isobject "^3.0.1" 543 | set-value "^2.0.0" 544 | to-object-path "^0.3.0" 545 | union-value "^1.0.0" 546 | unset-value "^1.0.0" 547 | 548 | callsites@^3.0.0: 549 | version "3.0.0" 550 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.0.0.tgz#fb7eb569b72ad7a45812f93fd9430a3e410b3dd3" 551 | integrity sha512-tWnkwu9YEq2uzlBDI4RcLn8jrFvF9AOi8PxDNU3hZZjJcjkcRAq3vCI+vZcg1SuxISDYe86k9VZFwAxDiJGoAw== 552 | 553 | camelcase@^4.1.0: 554 | version "4.1.0" 555 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" 556 | integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= 557 | 558 | camelcase@^5.0.0: 559 | version "5.0.0" 560 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" 561 | integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA== 562 | 563 | capture-exit@^1.2.0: 564 | version "1.2.0" 565 | resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-1.2.0.tgz#1c5fcc489fd0ab00d4f1ac7ae1072e3173fbab6f" 566 | integrity sha1-HF/MSJ/QqwDU8ax64QcuMXP7q28= 567 | dependencies: 568 | rsvp "^3.3.3" 569 | 570 | caseless@~0.12.0: 571 | version "0.12.0" 572 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" 573 | integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= 574 | 575 | chalk@^1.1.3: 576 | version "1.1.3" 577 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 578 | integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= 579 | dependencies: 580 | ansi-styles "^2.2.1" 581 | escape-string-regexp "^1.0.2" 582 | has-ansi "^2.0.0" 583 | strip-ansi "^3.0.0" 584 | supports-color "^2.0.0" 585 | 586 | chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.0: 587 | version "2.4.2" 588 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 589 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 590 | dependencies: 591 | ansi-styles "^3.2.1" 592 | escape-string-regexp "^1.0.5" 593 | supports-color "^5.3.0" 594 | 595 | chownr@^1.1.1: 596 | version "1.1.1" 597 | resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494" 598 | integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g== 599 | 600 | ci-info@^2.0.0: 601 | version "2.0.0" 602 | resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" 603 | integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== 604 | 605 | class-utils@^0.3.5: 606 | version "0.3.6" 607 | resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" 608 | integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== 609 | dependencies: 610 | arr-union "^3.1.0" 611 | define-property "^0.2.5" 612 | isobject "^3.0.0" 613 | static-extend "^0.1.1" 614 | 615 | cliui@^4.0.0: 616 | version "4.1.0" 617 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" 618 | integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== 619 | dependencies: 620 | string-width "^2.1.1" 621 | strip-ansi "^4.0.0" 622 | wrap-ansi "^2.0.0" 623 | 624 | co@^4.6.0: 625 | version "4.6.0" 626 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" 627 | integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= 628 | 629 | code-point-at@^1.0.0: 630 | version "1.1.0" 631 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 632 | integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= 633 | 634 | collection-visit@^1.0.0: 635 | version "1.0.0" 636 | resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" 637 | integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= 638 | dependencies: 639 | map-visit "^1.0.0" 640 | object-visit "^1.0.0" 641 | 642 | color-convert@^1.9.0: 643 | version "1.9.3" 644 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 645 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 646 | dependencies: 647 | color-name "1.1.3" 648 | 649 | color-name@1.1.3: 650 | version "1.1.3" 651 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 652 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 653 | 654 | combined-stream@^1.0.6, combined-stream@~1.0.6: 655 | version "1.0.7" 656 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828" 657 | integrity sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w== 658 | dependencies: 659 | delayed-stream "~1.0.0" 660 | 661 | commander@^2.12.1, commander@^2.9.0: 662 | version "2.19.0" 663 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" 664 | integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== 665 | 666 | commander@~2.17.1: 667 | version "2.17.1" 668 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" 669 | integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== 670 | 671 | compare-versions@^3.2.1: 672 | version "3.4.0" 673 | resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.4.0.tgz#e0747df5c9cb7f054d6d3dc3e1dbc444f9e92b26" 674 | integrity sha512-tK69D7oNXXqUW3ZNo/z7NXTEz22TCF0pTE+YF9cxvaAM9XnkLo1fV621xCLrRR6aevJlKxExkss0vWqUCUpqdg== 675 | 676 | component-emitter@^1.2.1: 677 | version "1.2.1" 678 | resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" 679 | integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY= 680 | 681 | concat-map@0.0.1: 682 | version "0.0.1" 683 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 684 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 685 | 686 | console-control-strings@^1.0.0, console-control-strings@~1.1.0: 687 | version "1.1.0" 688 | resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" 689 | integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= 690 | 691 | convert-source-map@^1.1.0, convert-source-map@^1.4.0: 692 | version "1.6.0" 693 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" 694 | integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== 695 | dependencies: 696 | safe-buffer "~5.1.1" 697 | 698 | copy-descriptor@^0.1.0: 699 | version "0.1.1" 700 | resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" 701 | integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= 702 | 703 | core-util-is@1.0.2, core-util-is@~1.0.0: 704 | version "1.0.2" 705 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 706 | integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= 707 | 708 | cross-spawn@^6.0.0: 709 | version "6.0.5" 710 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" 711 | integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== 712 | dependencies: 713 | nice-try "^1.0.4" 714 | path-key "^2.0.1" 715 | semver "^5.5.0" 716 | shebang-command "^1.2.0" 717 | which "^1.2.9" 718 | 719 | cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": 720 | version "0.3.4" 721 | resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.4.tgz#8cd52e8a3acfd68d3aed38ee0a640177d2f9d797" 722 | integrity sha512-+7prCSORpXNeR4/fUP3rL+TzqtiFfhMvTd7uEqMdgPvLPt4+uzFUeufx5RHjGTACCargg/DiEt/moMQmvnfkog== 723 | 724 | cssstyle@^1.0.0: 725 | version "1.1.1" 726 | resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.1.1.tgz#18b038a9c44d65f7a8e428a653b9f6fe42faf5fb" 727 | integrity sha512-364AI1l/M5TYcFH83JnOH/pSqgaNnKmYgKrm0didZMGKWjQB60dymwWy1rKUgL3J1ffdq9xVi2yGLHdSjjSNog== 728 | dependencies: 729 | cssom "0.3.x" 730 | 731 | dashdash@^1.12.0: 732 | version "1.14.1" 733 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" 734 | integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= 735 | dependencies: 736 | assert-plus "^1.0.0" 737 | 738 | data-urls@^1.0.0: 739 | version "1.1.0" 740 | resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" 741 | integrity sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ== 742 | dependencies: 743 | abab "^2.0.0" 744 | whatwg-mimetype "^2.2.0" 745 | whatwg-url "^7.0.0" 746 | 747 | debug@^2.1.2, debug@^2.2.0, debug@^2.3.3: 748 | version "2.6.9" 749 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 750 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 751 | dependencies: 752 | ms "2.0.0" 753 | 754 | debug@^4.1.0, debug@^4.1.1: 755 | version "4.1.1" 756 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" 757 | integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== 758 | dependencies: 759 | ms "^2.1.1" 760 | 761 | decamelize@^1.2.0: 762 | version "1.2.0" 763 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 764 | integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= 765 | 766 | decode-uri-component@^0.2.0: 767 | version "0.2.0" 768 | resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" 769 | integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= 770 | 771 | deep-extend@^0.6.0: 772 | version "0.6.0" 773 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" 774 | integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== 775 | 776 | deep-is@~0.1.3: 777 | version "0.1.3" 778 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" 779 | integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= 780 | 781 | default-require-extensions@^2.0.0: 782 | version "2.0.0" 783 | resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-2.0.0.tgz#f5f8fbb18a7d6d50b21f641f649ebb522cfe24f7" 784 | integrity sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc= 785 | dependencies: 786 | strip-bom "^3.0.0" 787 | 788 | define-properties@^1.1.2: 789 | version "1.1.3" 790 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" 791 | integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== 792 | dependencies: 793 | object-keys "^1.0.12" 794 | 795 | define-property@^0.2.5: 796 | version "0.2.5" 797 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" 798 | integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= 799 | dependencies: 800 | is-descriptor "^0.1.0" 801 | 802 | define-property@^1.0.0: 803 | version "1.0.0" 804 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" 805 | integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= 806 | dependencies: 807 | is-descriptor "^1.0.0" 808 | 809 | define-property@^2.0.2: 810 | version "2.0.2" 811 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" 812 | integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== 813 | dependencies: 814 | is-descriptor "^1.0.2" 815 | isobject "^3.0.1" 816 | 817 | delayed-stream@~1.0.0: 818 | version "1.0.0" 819 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 820 | integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= 821 | 822 | delegates@^1.0.0: 823 | version "1.0.0" 824 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" 825 | integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= 826 | 827 | detect-indent@^0.2.0: 828 | version "0.2.0" 829 | resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-0.2.0.tgz#042914498979ac2d9f3c73e4ff3e6877d3bc92b6" 830 | integrity sha1-BCkUSYl5rC2fPHPk/z5od9O8krY= 831 | dependencies: 832 | get-stdin "^0.1.0" 833 | minimist "^0.1.0" 834 | 835 | detect-libc@^1.0.2: 836 | version "1.0.3" 837 | resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" 838 | integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= 839 | 840 | detect-newline@^2.1.0: 841 | version "2.1.0" 842 | resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" 843 | integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I= 844 | 845 | diff-sequences@^24.0.0: 846 | version "24.0.0" 847 | resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.0.0.tgz#cdf8e27ed20d8b8d3caccb4e0c0d8fe31a173013" 848 | integrity sha512-46OkIuVGBBnrC0soO/4LHu5LHGHx0uhP65OVz8XOrAJpqiCB2aVIuESvjI1F9oqebuvY8lekS1pt6TN7vt7qsw== 849 | 850 | diff@^3.2.0: 851 | version "3.5.0" 852 | resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" 853 | integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== 854 | 855 | domexception@^1.0.1: 856 | version "1.0.1" 857 | resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" 858 | integrity sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug== 859 | dependencies: 860 | webidl-conversions "^4.0.2" 861 | 862 | dts-bundle@^0.7.3: 863 | version "0.7.3" 864 | resolved "https://registry.yarnpkg.com/dts-bundle/-/dts-bundle-0.7.3.tgz#372b7bb69c820782e6382f400739a69dced3d59a" 865 | integrity sha1-Nyt7tpyCB4LmOC9ABzmmnc7T1Zo= 866 | dependencies: 867 | "@types/detect-indent" "0.1.30" 868 | "@types/glob" "5.0.30" 869 | "@types/mkdirp" "0.3.29" 870 | "@types/node" "8.0.0" 871 | commander "^2.9.0" 872 | detect-indent "^0.2.0" 873 | glob "^6.0.4" 874 | mkdirp "^0.5.0" 875 | 876 | ecc-jsbn@~0.1.1: 877 | version "0.1.2" 878 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" 879 | integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= 880 | dependencies: 881 | jsbn "~0.1.0" 882 | safer-buffer "^2.1.0" 883 | 884 | end-of-stream@^1.1.0: 885 | version "1.4.1" 886 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" 887 | integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== 888 | dependencies: 889 | once "^1.4.0" 890 | 891 | error-ex@^1.3.1: 892 | version "1.3.2" 893 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 894 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== 895 | dependencies: 896 | is-arrayish "^0.2.1" 897 | 898 | es-abstract@^1.5.1: 899 | version "1.13.0" 900 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" 901 | integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== 902 | dependencies: 903 | es-to-primitive "^1.2.0" 904 | function-bind "^1.1.1" 905 | has "^1.0.3" 906 | is-callable "^1.1.4" 907 | is-regex "^1.0.4" 908 | object-keys "^1.0.12" 909 | 910 | es-to-primitive@^1.2.0: 911 | version "1.2.0" 912 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" 913 | integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== 914 | dependencies: 915 | is-callable "^1.1.4" 916 | is-date-object "^1.0.1" 917 | is-symbol "^1.0.2" 918 | 919 | escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: 920 | version "1.0.5" 921 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 922 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 923 | 924 | escodegen@^1.11.0, escodegen@^1.9.1: 925 | version "1.11.0" 926 | resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.0.tgz#b27a9389481d5bfd5bec76f7bb1eb3f8f4556589" 927 | integrity sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw== 928 | dependencies: 929 | esprima "^3.1.3" 930 | estraverse "^4.2.0" 931 | esutils "^2.0.2" 932 | optionator "^0.8.1" 933 | optionalDependencies: 934 | source-map "~0.6.1" 935 | 936 | esprima@^3.1.3: 937 | version "3.1.3" 938 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" 939 | integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM= 940 | 941 | esprima@^4.0.0: 942 | version "4.0.1" 943 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 944 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 945 | 946 | estraverse@^4.2.0: 947 | version "4.2.0" 948 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" 949 | integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= 950 | 951 | estree-walker@^0.5.2: 952 | version "0.5.2" 953 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.5.2.tgz#d3850be7529c9580d815600b53126515e146dd39" 954 | integrity sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig== 955 | 956 | esutils@^2.0.2: 957 | version "2.0.2" 958 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" 959 | integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= 960 | 961 | exec-sh@^0.2.0: 962 | version "0.2.2" 963 | resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.2.tgz#2a5e7ffcbd7d0ba2755bdecb16e5a427dfbdec36" 964 | integrity sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw== 965 | dependencies: 966 | merge "^1.2.0" 967 | 968 | execa@^1.0.0: 969 | version "1.0.0" 970 | resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" 971 | integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== 972 | dependencies: 973 | cross-spawn "^6.0.0" 974 | get-stream "^4.0.0" 975 | is-stream "^1.1.0" 976 | npm-run-path "^2.0.0" 977 | p-finally "^1.0.0" 978 | signal-exit "^3.0.0" 979 | strip-eof "^1.0.0" 980 | 981 | exit@^0.1.2: 982 | version "0.1.2" 983 | resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" 984 | integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= 985 | 986 | expand-brackets@^0.1.4: 987 | version "0.1.5" 988 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" 989 | integrity sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s= 990 | dependencies: 991 | is-posix-bracket "^0.1.0" 992 | 993 | expand-brackets@^2.1.4: 994 | version "2.1.4" 995 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" 996 | integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= 997 | dependencies: 998 | debug "^2.3.3" 999 | define-property "^0.2.5" 1000 | extend-shallow "^2.0.1" 1001 | posix-character-classes "^0.1.0" 1002 | regex-not "^1.0.0" 1003 | snapdragon "^0.8.1" 1004 | to-regex "^3.0.1" 1005 | 1006 | expand-range@^1.8.1: 1007 | version "1.8.2" 1008 | resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" 1009 | integrity sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc= 1010 | dependencies: 1011 | fill-range "^2.1.0" 1012 | 1013 | expect@^24.0.0: 1014 | version "24.0.0" 1015 | resolved "https://registry.yarnpkg.com/expect/-/expect-24.0.0.tgz#71f71d88a4202746fc79849bb4c6498008b5ef03" 1016 | integrity sha512-qDHRU4lGsme0xjg8dXp/RQhvO9XIo9FWqVo7dTHDPBwzy25JGEHAWFsnpmRYErB50tgi/6euo3ir5e/kF9LUTA== 1017 | dependencies: 1018 | ansi-styles "^3.2.0" 1019 | jest-get-type "^24.0.0" 1020 | jest-matcher-utils "^24.0.0" 1021 | jest-message-util "^24.0.0" 1022 | jest-regex-util "^24.0.0" 1023 | 1024 | extend-shallow@^2.0.1: 1025 | version "2.0.1" 1026 | resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" 1027 | integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= 1028 | dependencies: 1029 | is-extendable "^0.1.0" 1030 | 1031 | extend-shallow@^3.0.0, extend-shallow@^3.0.2: 1032 | version "3.0.2" 1033 | resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" 1034 | integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= 1035 | dependencies: 1036 | assign-symbols "^1.0.0" 1037 | is-extendable "^1.0.1" 1038 | 1039 | extend@~3.0.2: 1040 | version "3.0.2" 1041 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" 1042 | integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== 1043 | 1044 | extglob@^0.3.1: 1045 | version "0.3.2" 1046 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" 1047 | integrity sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE= 1048 | dependencies: 1049 | is-extglob "^1.0.0" 1050 | 1051 | extglob@^2.0.4: 1052 | version "2.0.4" 1053 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" 1054 | integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== 1055 | dependencies: 1056 | array-unique "^0.3.2" 1057 | define-property "^1.0.0" 1058 | expand-brackets "^2.1.4" 1059 | extend-shallow "^2.0.1" 1060 | fragment-cache "^0.2.1" 1061 | regex-not "^1.0.0" 1062 | snapdragon "^0.8.1" 1063 | to-regex "^3.0.1" 1064 | 1065 | extsprintf@1.3.0: 1066 | version "1.3.0" 1067 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" 1068 | integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= 1069 | 1070 | extsprintf@^1.2.0: 1071 | version "1.4.0" 1072 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" 1073 | integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= 1074 | 1075 | fast-deep-equal@^2.0.1: 1076 | version "2.0.1" 1077 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" 1078 | integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= 1079 | 1080 | fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: 1081 | version "2.0.0" 1082 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" 1083 | integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= 1084 | 1085 | fast-levenshtein@~2.0.4: 1086 | version "2.0.6" 1087 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 1088 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= 1089 | 1090 | fb-watchman@^2.0.0: 1091 | version "2.0.0" 1092 | resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" 1093 | integrity sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg= 1094 | dependencies: 1095 | bser "^2.0.0" 1096 | 1097 | filename-regex@^2.0.0: 1098 | version "2.0.1" 1099 | resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" 1100 | integrity sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY= 1101 | 1102 | fileset@^2.0.3: 1103 | version "2.0.3" 1104 | resolved "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0" 1105 | integrity sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA= 1106 | dependencies: 1107 | glob "^7.0.3" 1108 | minimatch "^3.0.3" 1109 | 1110 | fill-range@^2.1.0: 1111 | version "2.2.4" 1112 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565" 1113 | integrity sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q== 1114 | dependencies: 1115 | is-number "^2.1.0" 1116 | isobject "^2.0.0" 1117 | randomatic "^3.0.0" 1118 | repeat-element "^1.1.2" 1119 | repeat-string "^1.5.2" 1120 | 1121 | fill-range@^4.0.0: 1122 | version "4.0.0" 1123 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" 1124 | integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= 1125 | dependencies: 1126 | extend-shallow "^2.0.1" 1127 | is-number "^3.0.0" 1128 | repeat-string "^1.6.1" 1129 | to-regex-range "^2.1.0" 1130 | 1131 | find-up@^3.0.0: 1132 | version "3.0.0" 1133 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" 1134 | integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== 1135 | dependencies: 1136 | locate-path "^3.0.0" 1137 | 1138 | for-in@^1.0.1, for-in@^1.0.2: 1139 | version "1.0.2" 1140 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" 1141 | integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= 1142 | 1143 | for-own@^0.1.4: 1144 | version "0.1.5" 1145 | resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" 1146 | integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4= 1147 | dependencies: 1148 | for-in "^1.0.1" 1149 | 1150 | forever-agent@~0.6.1: 1151 | version "0.6.1" 1152 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" 1153 | integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= 1154 | 1155 | form-data@~2.3.2: 1156 | version "2.3.3" 1157 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" 1158 | integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== 1159 | dependencies: 1160 | asynckit "^0.4.0" 1161 | combined-stream "^1.0.6" 1162 | mime-types "^2.1.12" 1163 | 1164 | fragment-cache@^0.2.1: 1165 | version "0.2.1" 1166 | resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" 1167 | integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= 1168 | dependencies: 1169 | map-cache "^0.2.2" 1170 | 1171 | fs-extra@7.0.1: 1172 | version "7.0.1" 1173 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" 1174 | integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== 1175 | dependencies: 1176 | graceful-fs "^4.1.2" 1177 | jsonfile "^4.0.0" 1178 | universalify "^0.1.0" 1179 | 1180 | fs-minipass@^1.2.5: 1181 | version "1.2.5" 1182 | resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" 1183 | integrity sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ== 1184 | dependencies: 1185 | minipass "^2.2.1" 1186 | 1187 | fs.realpath@^1.0.0: 1188 | version "1.0.0" 1189 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1190 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 1191 | 1192 | fsevents@^1.2.3: 1193 | version "1.2.7" 1194 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.7.tgz#4851b664a3783e52003b3c66eb0eee1074933aa4" 1195 | integrity sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw== 1196 | dependencies: 1197 | nan "^2.9.2" 1198 | node-pre-gyp "^0.10.0" 1199 | 1200 | function-bind@^1.1.1: 1201 | version "1.1.1" 1202 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 1203 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 1204 | 1205 | gauge@~2.7.3: 1206 | version "2.7.4" 1207 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" 1208 | integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= 1209 | dependencies: 1210 | aproba "^1.0.3" 1211 | console-control-strings "^1.0.0" 1212 | has-unicode "^2.0.0" 1213 | object-assign "^4.1.0" 1214 | signal-exit "^3.0.0" 1215 | string-width "^1.0.1" 1216 | strip-ansi "^3.0.1" 1217 | wide-align "^1.1.0" 1218 | 1219 | get-caller-file@^1.0.1: 1220 | version "1.0.3" 1221 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" 1222 | integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== 1223 | 1224 | get-stdin@^0.1.0: 1225 | version "0.1.0" 1226 | resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-0.1.0.tgz#5998af24aafc802d15c82c685657eeb8b10d4a91" 1227 | integrity sha1-WZivJKr8gC0VyCxoVlfuuLENSpE= 1228 | 1229 | get-stream@^4.0.0: 1230 | version "4.1.0" 1231 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" 1232 | integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== 1233 | dependencies: 1234 | pump "^3.0.0" 1235 | 1236 | get-value@^2.0.3, get-value@^2.0.6: 1237 | version "2.0.6" 1238 | resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" 1239 | integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= 1240 | 1241 | getpass@^0.1.1: 1242 | version "0.1.7" 1243 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" 1244 | integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= 1245 | dependencies: 1246 | assert-plus "^1.0.0" 1247 | 1248 | glob-base@^0.3.0: 1249 | version "0.3.0" 1250 | resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" 1251 | integrity sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q= 1252 | dependencies: 1253 | glob-parent "^2.0.0" 1254 | is-glob "^2.0.0" 1255 | 1256 | glob-parent@^2.0.0: 1257 | version "2.0.0" 1258 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" 1259 | integrity sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg= 1260 | dependencies: 1261 | is-glob "^2.0.0" 1262 | 1263 | glob@^6.0.4: 1264 | version "6.0.4" 1265 | resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" 1266 | integrity sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI= 1267 | dependencies: 1268 | inflight "^1.0.4" 1269 | inherits "2" 1270 | minimatch "2 || 3" 1271 | once "^1.3.0" 1272 | path-is-absolute "^1.0.0" 1273 | 1274 | glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3: 1275 | version "7.1.3" 1276 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" 1277 | integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== 1278 | dependencies: 1279 | fs.realpath "^1.0.0" 1280 | inflight "^1.0.4" 1281 | inherits "2" 1282 | minimatch "^3.0.4" 1283 | once "^1.3.0" 1284 | path-is-absolute "^1.0.0" 1285 | 1286 | globals@^11.1.0: 1287 | version "11.10.0" 1288 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.10.0.tgz#1e09776dffda5e01816b3bb4077c8b59c24eaa50" 1289 | integrity sha512-0GZF1RiPKU97IHUO5TORo9w1PwrH/NBPl+fS7oMLdaTRiYmYbwK4NWoZWrAdd0/abG9R2BU+OiwyQpTpE6pdfQ== 1290 | 1291 | graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6: 1292 | version "4.1.15" 1293 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" 1294 | integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== 1295 | 1296 | growly@^1.3.0: 1297 | version "1.3.0" 1298 | resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" 1299 | integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= 1300 | 1301 | handlebars@^4.0.11: 1302 | version "4.0.12" 1303 | resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.12.tgz#2c15c8a96d46da5e266700518ba8cb8d919d5bc5" 1304 | integrity sha512-RhmTekP+FZL+XNhwS1Wf+bTTZpdLougwt5pcgA1tuz6Jcx0fpH/7z0qd71RKnZHBCxIRBHfBOnio4gViPemNzA== 1305 | dependencies: 1306 | async "^2.5.0" 1307 | optimist "^0.6.1" 1308 | source-map "^0.6.1" 1309 | optionalDependencies: 1310 | uglify-js "^3.1.4" 1311 | 1312 | har-schema@^2.0.0: 1313 | version "2.0.0" 1314 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" 1315 | integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= 1316 | 1317 | har-validator@~5.1.0: 1318 | version "5.1.3" 1319 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" 1320 | integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== 1321 | dependencies: 1322 | ajv "^6.5.5" 1323 | har-schema "^2.0.0" 1324 | 1325 | has-ansi@^2.0.0: 1326 | version "2.0.0" 1327 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 1328 | integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= 1329 | dependencies: 1330 | ansi-regex "^2.0.0" 1331 | 1332 | has-flag@^3.0.0: 1333 | version "3.0.0" 1334 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 1335 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 1336 | 1337 | has-symbols@^1.0.0: 1338 | version "1.0.0" 1339 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" 1340 | integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= 1341 | 1342 | has-unicode@^2.0.0: 1343 | version "2.0.1" 1344 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" 1345 | integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= 1346 | 1347 | has-value@^0.3.1: 1348 | version "0.3.1" 1349 | resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" 1350 | integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= 1351 | dependencies: 1352 | get-value "^2.0.3" 1353 | has-values "^0.1.4" 1354 | isobject "^2.0.0" 1355 | 1356 | has-value@^1.0.0: 1357 | version "1.0.0" 1358 | resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" 1359 | integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= 1360 | dependencies: 1361 | get-value "^2.0.6" 1362 | has-values "^1.0.0" 1363 | isobject "^3.0.0" 1364 | 1365 | has-values@^0.1.4: 1366 | version "0.1.4" 1367 | resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" 1368 | integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= 1369 | 1370 | has-values@^1.0.0: 1371 | version "1.0.0" 1372 | resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" 1373 | integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= 1374 | dependencies: 1375 | is-number "^3.0.0" 1376 | kind-of "^4.0.0" 1377 | 1378 | has@^1.0.1, has@^1.0.3: 1379 | version "1.0.3" 1380 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 1381 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 1382 | dependencies: 1383 | function-bind "^1.1.1" 1384 | 1385 | hosted-git-info@^2.1.4: 1386 | version "2.7.1" 1387 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047" 1388 | integrity sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w== 1389 | 1390 | html-encoding-sniffer@^1.0.2: 1391 | version "1.0.2" 1392 | resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" 1393 | integrity sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw== 1394 | dependencies: 1395 | whatwg-encoding "^1.0.1" 1396 | 1397 | http-signature@~1.2.0: 1398 | version "1.2.0" 1399 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" 1400 | integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= 1401 | dependencies: 1402 | assert-plus "^1.0.0" 1403 | jsprim "^1.2.2" 1404 | sshpk "^1.7.0" 1405 | 1406 | iconv-lite@0.4.24, iconv-lite@^0.4.4: 1407 | version "0.4.24" 1408 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 1409 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== 1410 | dependencies: 1411 | safer-buffer ">= 2.1.2 < 3" 1412 | 1413 | ignore-walk@^3.0.1: 1414 | version "3.0.1" 1415 | resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" 1416 | integrity sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ== 1417 | dependencies: 1418 | minimatch "^3.0.4" 1419 | 1420 | import-local@^2.0.0: 1421 | version "2.0.0" 1422 | resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" 1423 | integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== 1424 | dependencies: 1425 | pkg-dir "^3.0.0" 1426 | resolve-cwd "^2.0.0" 1427 | 1428 | imurmurhash@^0.1.4: 1429 | version "0.1.4" 1430 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1431 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= 1432 | 1433 | inflight@^1.0.4: 1434 | version "1.0.6" 1435 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1436 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 1437 | dependencies: 1438 | once "^1.3.0" 1439 | wrappy "1" 1440 | 1441 | inherits@2, inherits@~2.0.3: 1442 | version "2.0.3" 1443 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 1444 | integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= 1445 | 1446 | ini@~1.3.0: 1447 | version "1.3.5" 1448 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" 1449 | integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== 1450 | 1451 | invariant@^2.2.4: 1452 | version "2.2.4" 1453 | resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" 1454 | integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== 1455 | dependencies: 1456 | loose-envify "^1.0.0" 1457 | 1458 | invert-kv@^2.0.0: 1459 | version "2.0.0" 1460 | resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" 1461 | integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== 1462 | 1463 | ip-regex@^3.0.0: 1464 | version "3.0.0" 1465 | resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-3.0.0.tgz#0a934694b4066558c46294244a23cc33116bf732" 1466 | integrity sha512-T8wDtjy+Qf2TAPDQmBp0eGKJ8GavlWlUnamr3wRn6vvdZlKVuJXXMlSncYFRYgVHOM3If5NR1H4+OvVQU9Idvg== 1467 | 1468 | is-accessor-descriptor@^0.1.6: 1469 | version "0.1.6" 1470 | resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" 1471 | integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= 1472 | dependencies: 1473 | kind-of "^3.0.2" 1474 | 1475 | is-accessor-descriptor@^1.0.0: 1476 | version "1.0.0" 1477 | resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" 1478 | integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== 1479 | dependencies: 1480 | kind-of "^6.0.0" 1481 | 1482 | is-arrayish@^0.2.1: 1483 | version "0.2.1" 1484 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 1485 | integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= 1486 | 1487 | is-buffer@^1.1.5: 1488 | version "1.1.6" 1489 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" 1490 | integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== 1491 | 1492 | is-builtin-module@^1.0.0: 1493 | version "1.0.0" 1494 | resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" 1495 | integrity sha1-VAVy0096wxGfj3bDDLwbHgN6/74= 1496 | dependencies: 1497 | builtin-modules "^1.0.0" 1498 | 1499 | is-callable@^1.1.4: 1500 | version "1.1.4" 1501 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" 1502 | integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== 1503 | 1504 | is-ci@^2.0.0: 1505 | version "2.0.0" 1506 | resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" 1507 | integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== 1508 | dependencies: 1509 | ci-info "^2.0.0" 1510 | 1511 | is-data-descriptor@^0.1.4: 1512 | version "0.1.4" 1513 | resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" 1514 | integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= 1515 | dependencies: 1516 | kind-of "^3.0.2" 1517 | 1518 | is-data-descriptor@^1.0.0: 1519 | version "1.0.0" 1520 | resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" 1521 | integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== 1522 | dependencies: 1523 | kind-of "^6.0.0" 1524 | 1525 | is-date-object@^1.0.1: 1526 | version "1.0.1" 1527 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" 1528 | integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= 1529 | 1530 | is-descriptor@^0.1.0: 1531 | version "0.1.6" 1532 | resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" 1533 | integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== 1534 | dependencies: 1535 | is-accessor-descriptor "^0.1.6" 1536 | is-data-descriptor "^0.1.4" 1537 | kind-of "^5.0.0" 1538 | 1539 | is-descriptor@^1.0.0, is-descriptor@^1.0.2: 1540 | version "1.0.2" 1541 | resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" 1542 | integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== 1543 | dependencies: 1544 | is-accessor-descriptor "^1.0.0" 1545 | is-data-descriptor "^1.0.0" 1546 | kind-of "^6.0.2" 1547 | 1548 | is-dotfile@^1.0.0: 1549 | version "1.0.3" 1550 | resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" 1551 | integrity sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE= 1552 | 1553 | is-equal-shallow@^0.1.3: 1554 | version "0.1.3" 1555 | resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" 1556 | integrity sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ= 1557 | dependencies: 1558 | is-primitive "^2.0.0" 1559 | 1560 | is-extendable@^0.1.0, is-extendable@^0.1.1: 1561 | version "0.1.1" 1562 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" 1563 | integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= 1564 | 1565 | is-extendable@^1.0.1: 1566 | version "1.0.1" 1567 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" 1568 | integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== 1569 | dependencies: 1570 | is-plain-object "^2.0.4" 1571 | 1572 | is-extglob@^1.0.0: 1573 | version "1.0.0" 1574 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" 1575 | integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA= 1576 | 1577 | is-fullwidth-code-point@^1.0.0: 1578 | version "1.0.0" 1579 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 1580 | integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= 1581 | dependencies: 1582 | number-is-nan "^1.0.0" 1583 | 1584 | is-fullwidth-code-point@^2.0.0: 1585 | version "2.0.0" 1586 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 1587 | integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= 1588 | 1589 | is-generator-fn@^2.0.0: 1590 | version "2.0.0" 1591 | resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.0.0.tgz#038c31b774709641bda678b1f06a4e3227c10b3e" 1592 | integrity sha512-elzyIdM7iKoFHzcrndIqjYomImhxrFRnGP3galODoII4TB9gI7mZ+FnlLQmmjf27SxHS2gKEeyhX5/+YRS6H9g== 1593 | 1594 | is-glob@^2.0.0, is-glob@^2.0.1: 1595 | version "2.0.1" 1596 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" 1597 | integrity sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM= 1598 | dependencies: 1599 | is-extglob "^1.0.0" 1600 | 1601 | is-module@^1.0.0: 1602 | version "1.0.0" 1603 | resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" 1604 | integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= 1605 | 1606 | is-number@^2.1.0: 1607 | version "2.1.0" 1608 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" 1609 | integrity sha1-Afy7s5NGOlSPL0ZszhbezknbkI8= 1610 | dependencies: 1611 | kind-of "^3.0.2" 1612 | 1613 | is-number@^3.0.0: 1614 | version "3.0.0" 1615 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" 1616 | integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= 1617 | dependencies: 1618 | kind-of "^3.0.2" 1619 | 1620 | is-number@^4.0.0: 1621 | version "4.0.0" 1622 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" 1623 | integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== 1624 | 1625 | is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: 1626 | version "2.0.4" 1627 | resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" 1628 | integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== 1629 | dependencies: 1630 | isobject "^3.0.1" 1631 | 1632 | is-posix-bracket@^0.1.0: 1633 | version "0.1.1" 1634 | resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" 1635 | integrity sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q= 1636 | 1637 | is-primitive@^2.0.0: 1638 | version "2.0.0" 1639 | resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" 1640 | integrity sha1-IHurkWOEmcB7Kt8kCkGochADRXU= 1641 | 1642 | is-regex@^1.0.4: 1643 | version "1.0.4" 1644 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" 1645 | integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= 1646 | dependencies: 1647 | has "^1.0.1" 1648 | 1649 | is-stream@^1.1.0: 1650 | version "1.1.0" 1651 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" 1652 | integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= 1653 | 1654 | is-symbol@^1.0.2: 1655 | version "1.0.2" 1656 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" 1657 | integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== 1658 | dependencies: 1659 | has-symbols "^1.0.0" 1660 | 1661 | is-typedarray@~1.0.0: 1662 | version "1.0.0" 1663 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 1664 | integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= 1665 | 1666 | is-windows@^1.0.2: 1667 | version "1.0.2" 1668 | resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" 1669 | integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== 1670 | 1671 | isarray@1.0.0, isarray@~1.0.0: 1672 | version "1.0.0" 1673 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 1674 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= 1675 | 1676 | isexe@^2.0.0: 1677 | version "2.0.0" 1678 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1679 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 1680 | 1681 | isobject@^2.0.0: 1682 | version "2.1.0" 1683 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" 1684 | integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= 1685 | dependencies: 1686 | isarray "1.0.0" 1687 | 1688 | isobject@^3.0.0, isobject@^3.0.1: 1689 | version "3.0.1" 1690 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" 1691 | integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= 1692 | 1693 | isstream@~0.1.2: 1694 | version "0.1.2" 1695 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 1696 | integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= 1697 | 1698 | istanbul-api@^2.0.8: 1699 | version "2.1.0" 1700 | resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-2.1.0.tgz#37ab0c2c3e83065462f5254b94749d6157846c4e" 1701 | integrity sha512-+Ygg4t1StoiNlBGc6x0f8q/Bv26FbZqP/+jegzfNpU7Q8o+4ZRoJxJPhBkgE/UonpAjtxnE4zCZIyJX+MwLRMQ== 1702 | dependencies: 1703 | async "^2.6.1" 1704 | compare-versions "^3.2.1" 1705 | fileset "^2.0.3" 1706 | istanbul-lib-coverage "^2.0.3" 1707 | istanbul-lib-hook "^2.0.3" 1708 | istanbul-lib-instrument "^3.1.0" 1709 | istanbul-lib-report "^2.0.4" 1710 | istanbul-lib-source-maps "^3.0.2" 1711 | istanbul-reports "^2.1.0" 1712 | js-yaml "^3.12.0" 1713 | make-dir "^1.3.0" 1714 | minimatch "^3.0.4" 1715 | once "^1.4.0" 1716 | 1717 | istanbul-lib-coverage@^2.0.1: 1718 | version "2.0.1" 1719 | resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz#2aee0e073ad8c5f6a0b00e0dfbf52b4667472eda" 1720 | integrity sha512-nPvSZsVlbG9aLhZYaC3Oi1gT/tpyo3Yt5fNyf6NmcKIayz4VV/txxJFFKAK/gU4dcNn8ehsanBbVHVl0+amOLA== 1721 | 1722 | istanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.3: 1723 | version "2.0.3" 1724 | resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#0b891e5ad42312c2b9488554f603795f9a2211ba" 1725 | integrity sha512-dKWuzRGCs4G+67VfW9pBFFz2Jpi4vSp/k7zBcJ888ofV5Mi1g5CUML5GvMvV6u9Cjybftu+E8Cgp+k0dI1E5lw== 1726 | 1727 | istanbul-lib-hook@^2.0.3: 1728 | version "2.0.3" 1729 | resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-2.0.3.tgz#e0e581e461c611be5d0e5ef31c5f0109759916fb" 1730 | integrity sha512-CLmEqwEhuCYtGcpNVJjLV1DQyVnIqavMLFHV/DP+np/g3qvdxu3gsPqYoJMXm15sN84xOlckFB3VNvRbf5yEgA== 1731 | dependencies: 1732 | append-transform "^1.0.0" 1733 | 1734 | istanbul-lib-instrument@^3.0.0: 1735 | version "3.0.0" 1736 | resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.0.0.tgz#b5f066b2a161f75788be17a9d556f40a0cf2afc9" 1737 | integrity sha512-eQY9vN9elYjdgN9Iv6NS/00bptm02EBBk70lRMaVjeA6QYocQgenVrSgC28TJurdnZa80AGO3ASdFN+w/njGiQ== 1738 | dependencies: 1739 | "@babel/generator" "^7.0.0" 1740 | "@babel/parser" "^7.0.0" 1741 | "@babel/template" "^7.0.0" 1742 | "@babel/traverse" "^7.0.0" 1743 | "@babel/types" "^7.0.0" 1744 | istanbul-lib-coverage "^2.0.1" 1745 | semver "^5.5.0" 1746 | 1747 | istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.1.0: 1748 | version "3.1.0" 1749 | resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.1.0.tgz#a2b5484a7d445f1f311e93190813fa56dfb62971" 1750 | integrity sha512-ooVllVGT38HIk8MxDj/OIHXSYvH+1tq/Vb38s8ixt9GoJadXska4WkGY+0wkmtYCZNYtaARniH/DixUGGLZ0uA== 1751 | dependencies: 1752 | "@babel/generator" "^7.0.0" 1753 | "@babel/parser" "^7.0.0" 1754 | "@babel/template" "^7.0.0" 1755 | "@babel/traverse" "^7.0.0" 1756 | "@babel/types" "^7.0.0" 1757 | istanbul-lib-coverage "^2.0.3" 1758 | semver "^5.5.0" 1759 | 1760 | istanbul-lib-report@^2.0.4: 1761 | version "2.0.4" 1762 | resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.4.tgz#bfd324ee0c04f59119cb4f07dab157d09f24d7e4" 1763 | integrity sha512-sOiLZLAWpA0+3b5w5/dq0cjm2rrNdAfHWaGhmn7XEFW6X++IV9Ohn+pnELAl9K3rfpaeBfbmH9JU5sejacdLeA== 1764 | dependencies: 1765 | istanbul-lib-coverage "^2.0.3" 1766 | make-dir "^1.3.0" 1767 | supports-color "^6.0.0" 1768 | 1769 | istanbul-lib-source-maps@^3.0.1, istanbul-lib-source-maps@^3.0.2: 1770 | version "3.0.2" 1771 | resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.2.tgz#f1e817229a9146e8424a28e5d69ba220fda34156" 1772 | integrity sha512-JX4v0CiKTGp9fZPmoxpu9YEkPbEqCqBbO3403VabKjH+NRXo72HafD5UgnjTEqHL2SAjaZK1XDuDOkn6I5QVfQ== 1773 | dependencies: 1774 | debug "^4.1.1" 1775 | istanbul-lib-coverage "^2.0.3" 1776 | make-dir "^1.3.0" 1777 | rimraf "^2.6.2" 1778 | source-map "^0.6.1" 1779 | 1780 | istanbul-reports@^2.1.0: 1781 | version "2.1.0" 1782 | resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.1.0.tgz#87b8b55cd1901ba1748964c98ddd8900ce306d59" 1783 | integrity sha512-azQdSX+dtTtkQEfqq20ICxWi6eOHXyHIgMFw1VOOVi8iIPWeCWRgCyFh/CsBKIhcgskMI8ExXmU7rjXTRCIJ+A== 1784 | dependencies: 1785 | handlebars "^4.0.11" 1786 | 1787 | jest-changed-files@^24.0.0: 1788 | version "24.0.0" 1789 | resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.0.0.tgz#c02c09a8cc9ca93f513166bc773741bd39898ff7" 1790 | integrity sha512-nnuU510R9U+UX0WNb5XFEcsrMqriSiRLeO9KWDFgPrpToaQm60prfQYpxsXigdClpvNot5bekDY440x9dNGnsQ== 1791 | dependencies: 1792 | execa "^1.0.0" 1793 | throat "^4.0.0" 1794 | 1795 | jest-cli@^24.0.0: 1796 | version "24.0.0" 1797 | resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.0.0.tgz#691fd4f7bce2574c1865db6844a43b56e60ce2a4" 1798 | integrity sha512-mElnFipLaGxo1SiQ1CLvuaz3eX07MJc4HcyKrApSJf8xSdY1/EwaHurKwu1g2cDiwIgY8uHj7UcF5OYbtiBOWg== 1799 | dependencies: 1800 | ansi-escapes "^3.0.0" 1801 | chalk "^2.0.1" 1802 | exit "^0.1.2" 1803 | glob "^7.1.2" 1804 | graceful-fs "^4.1.15" 1805 | import-local "^2.0.0" 1806 | is-ci "^2.0.0" 1807 | istanbul-api "^2.0.8" 1808 | istanbul-lib-coverage "^2.0.2" 1809 | istanbul-lib-instrument "^3.0.1" 1810 | istanbul-lib-source-maps "^3.0.1" 1811 | jest-changed-files "^24.0.0" 1812 | jest-config "^24.0.0" 1813 | jest-environment-jsdom "^24.0.0" 1814 | jest-get-type "^24.0.0" 1815 | jest-haste-map "^24.0.0" 1816 | jest-message-util "^24.0.0" 1817 | jest-regex-util "^24.0.0" 1818 | jest-resolve-dependencies "^24.0.0" 1819 | jest-runner "^24.0.0" 1820 | jest-runtime "^24.0.0" 1821 | jest-snapshot "^24.0.0" 1822 | jest-util "^24.0.0" 1823 | jest-validate "^24.0.0" 1824 | jest-watcher "^24.0.0" 1825 | jest-worker "^24.0.0" 1826 | micromatch "^3.1.10" 1827 | node-notifier "^5.2.1" 1828 | p-each-series "^1.0.0" 1829 | pirates "^4.0.0" 1830 | prompts "^2.0.1" 1831 | realpath-native "^1.0.0" 1832 | rimraf "^2.5.4" 1833 | slash "^2.0.0" 1834 | string-length "^2.0.0" 1835 | strip-ansi "^5.0.0" 1836 | which "^1.2.12" 1837 | yargs "^12.0.2" 1838 | 1839 | jest-config@^24.0.0: 1840 | version "24.0.0" 1841 | resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-24.0.0.tgz#878abe03c060c74a0ec30d3cd5dd1897873e030e" 1842 | integrity sha512-9/soqWL5YSq1ZJtgVJ5YYPCL1f9Mi2lVCp5+OXuYBOaN8DHSFRCSWip0rQ6N+mPTOEIAlCvcUH8zaPOwK4hePg== 1843 | dependencies: 1844 | "@babel/core" "^7.1.0" 1845 | babel-jest "^24.0.0" 1846 | chalk "^2.0.1" 1847 | glob "^7.1.1" 1848 | jest-environment-jsdom "^24.0.0" 1849 | jest-environment-node "^24.0.0" 1850 | jest-get-type "^24.0.0" 1851 | jest-jasmine2 "^24.0.0" 1852 | jest-regex-util "^24.0.0" 1853 | jest-resolve "^24.0.0" 1854 | jest-util "^24.0.0" 1855 | jest-validate "^24.0.0" 1856 | micromatch "^3.1.10" 1857 | pretty-format "^24.0.0" 1858 | realpath-native "^1.0.2" 1859 | uuid "^3.3.2" 1860 | 1861 | jest-diff@^24.0.0: 1862 | version "24.0.0" 1863 | resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.0.0.tgz#a3e5f573dbac482f7d9513ac9cfa21644d3d6b34" 1864 | integrity sha512-XY5wMpRaTsuMoU+1/B2zQSKQ9RdE9gsLkGydx3nvApeyPijLA8GtEvIcPwISRCer+VDf9W1mStTYYq6fPt8ryA== 1865 | dependencies: 1866 | chalk "^2.0.1" 1867 | diff-sequences "^24.0.0" 1868 | jest-get-type "^24.0.0" 1869 | pretty-format "^24.0.0" 1870 | 1871 | jest-docblock@^24.0.0: 1872 | version "24.0.0" 1873 | resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.0.0.tgz#54d77a188743e37f62181a91a01eb9222289f94e" 1874 | integrity sha512-KfAKZ4SN7CFOZpWg4i7g7MSlY0M+mq7K0aMqENaG2vHuhC9fc3vkpU/iNN9sOus7v3h3Y48uEjqz3+Gdn2iptA== 1875 | dependencies: 1876 | detect-newline "^2.1.0" 1877 | 1878 | jest-each@^24.0.0: 1879 | version "24.0.0" 1880 | resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-24.0.0.tgz#10987a06b21c7ffbfb7706c89d24c52ed864be55" 1881 | integrity sha512-gFcbY4Cu55yxExXMkjrnLXov3bWO3dbPAW7HXb31h/DNWdNc/6X8MtxGff8nh3/MjkF9DpVqnj0KsPKuPK0cpA== 1882 | dependencies: 1883 | chalk "^2.0.1" 1884 | jest-get-type "^24.0.0" 1885 | jest-util "^24.0.0" 1886 | pretty-format "^24.0.0" 1887 | 1888 | jest-environment-jsdom@^24.0.0: 1889 | version "24.0.0" 1890 | resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.0.0.tgz#5affa0654d6e44cd798003daa1a8701dbd6e4d11" 1891 | integrity sha512-1YNp7xtxajTRaxbylDc2pWvFnfDTH5BJJGyVzyGAKNt/lEULohwEV9zFqTgG4bXRcq7xzdd+sGFws+LxThXXOw== 1892 | dependencies: 1893 | jest-mock "^24.0.0" 1894 | jest-util "^24.0.0" 1895 | jsdom "^11.5.1" 1896 | 1897 | jest-environment-node@^24.0.0: 1898 | version "24.0.0" 1899 | resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-24.0.0.tgz#330948980656ed8773ce2e04eb597ed91e3c7190" 1900 | integrity sha512-62fOFcaEdU0VLaq8JL90TqwI7hLn0cOKOl8vY2n477vRkCJRojiRRtJVRzzCcgFvs6gqU97DNqX5R0BrBP6Rxg== 1901 | dependencies: 1902 | jest-mock "^24.0.0" 1903 | jest-util "^24.0.0" 1904 | 1905 | jest-get-type@^24.0.0: 1906 | version "24.0.0" 1907 | resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.0.0.tgz#36e72930b78e33da59a4f63d44d332188278940b" 1908 | integrity sha512-z6/Eyf6s9ZDGz7eOvl+fzpuJmN9i0KyTt1no37/dHu8galssxz5ZEgnc1KaV8R31q1khxyhB4ui/X5ZjjPk77w== 1909 | 1910 | jest-haste-map@^24.0.0: 1911 | version "24.0.0" 1912 | resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.0.0.tgz#e9ef51b2c9257384b4d6beb83bd48c65b37b5e6e" 1913 | integrity sha512-CcViJyUo41IQqttLxXVdI41YErkzBKbE6cS6dRAploCeutePYfUimWd3C9rQEWhX0YBOQzvNsC0O9nYxK2nnxQ== 1914 | dependencies: 1915 | fb-watchman "^2.0.0" 1916 | graceful-fs "^4.1.15" 1917 | invariant "^2.2.4" 1918 | jest-serializer "^24.0.0" 1919 | jest-util "^24.0.0" 1920 | jest-worker "^24.0.0" 1921 | micromatch "^3.1.10" 1922 | sane "^3.0.0" 1923 | 1924 | jest-jasmine2@^24.0.0: 1925 | version "24.0.0" 1926 | resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.0.0.tgz#7d87be9d8b32d34ac5980ad646b7ae7f99e33a19" 1927 | integrity sha512-q1xEV9KHM0bgfBj3yrkrjRF5kxpNDkWPCwVfSPN1DC+pD6J5wrM9/u2BgzhKhALXiaZUUhJ+f/OcEC0Gwpw90A== 1928 | dependencies: 1929 | "@babel/traverse" "^7.1.0" 1930 | chalk "^2.0.1" 1931 | co "^4.6.0" 1932 | expect "^24.0.0" 1933 | is-generator-fn "^2.0.0" 1934 | jest-each "^24.0.0" 1935 | jest-matcher-utils "^24.0.0" 1936 | jest-message-util "^24.0.0" 1937 | jest-snapshot "^24.0.0" 1938 | jest-util "^24.0.0" 1939 | pretty-format "^24.0.0" 1940 | 1941 | jest-leak-detector@^24.0.0: 1942 | version "24.0.0" 1943 | resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-24.0.0.tgz#78280119fd05ee98317daee62cddb3aa537a31c6" 1944 | integrity sha512-ZYHJYFeibxfsDSKowjDP332pStuiFT2xfc5R67Rjm/l+HFJWJgNIOCOlQGeXLCtyUn3A23+VVDdiCcnB6dTTrg== 1945 | dependencies: 1946 | pretty-format "^24.0.0" 1947 | 1948 | jest-matcher-utils@^24.0.0: 1949 | version "24.0.0" 1950 | resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.0.0.tgz#fc9c41cfc49b2c3ec14e576f53d519c37729d579" 1951 | integrity sha512-LQTDmO+aWRz1Tf9HJg+HlPHhDh1E1c65kVwRFo5mwCVp5aQDzlkz4+vCvXhOKFjitV2f0kMdHxnODrXVoi+rlA== 1952 | dependencies: 1953 | chalk "^2.0.1" 1954 | jest-diff "^24.0.0" 1955 | jest-get-type "^24.0.0" 1956 | pretty-format "^24.0.0" 1957 | 1958 | jest-message-util@^24.0.0: 1959 | version "24.0.0" 1960 | resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.0.0.tgz#a07a141433b2c992dbaec68d4cbfe470ba289619" 1961 | integrity sha512-J9ROJIwz/IeC+eV1XSwnRK4oAwPuhmxEyYx1+K5UI+pIYwFZDSrfZaiWTdq0d2xYFw4Xiu+0KQWsdsQpgJMf3Q== 1962 | dependencies: 1963 | "@babel/code-frame" "^7.0.0" 1964 | chalk "^2.0.1" 1965 | micromatch "^3.1.10" 1966 | slash "^2.0.0" 1967 | stack-utils "^1.0.1" 1968 | 1969 | jest-mock@^24.0.0: 1970 | version "24.0.0" 1971 | resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.0.0.tgz#9a4b53e01d66a0e780f7d857462d063e024c617d" 1972 | integrity sha512-sQp0Hu5fcf5NZEh1U9eIW2qD0BwJZjb63Yqd98PQJFvf/zzUTBoUAwv/Dc/HFeNHIw1f3hl/48vNn+j3STaI7A== 1973 | 1974 | jest-regex-util@^24.0.0: 1975 | version "24.0.0" 1976 | resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.0.0.tgz#4feee8ec4a358f5bee0a654e94eb26163cb9089a" 1977 | integrity sha512-Jv/uOTCuC+PY7WpJl2mpoI+WbY2ut73qwwO9ByJJNwOCwr1qWhEW2Lyi2S9ZewUdJqeVpEBisdEVZSI+Zxo58Q== 1978 | 1979 | jest-resolve-dependencies@^24.0.0: 1980 | version "24.0.0" 1981 | resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.0.0.tgz#86540611d660bdcaab8b87d069247d3832811d94" 1982 | integrity sha512-CJGS5ME2g5wL16o3Y22ga9p5ntNT5CUYX40/0lYj9ic9jB5YHm/qMKTgbFt9kowEBiMOFpXy15dWtBTEU54+zg== 1983 | dependencies: 1984 | jest-regex-util "^24.0.0" 1985 | jest-snapshot "^24.0.0" 1986 | 1987 | jest-resolve@^24.0.0: 1988 | version "24.0.0" 1989 | resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.0.0.tgz#0206cfe842324f8796b01f706f4075309bf7b405" 1990 | integrity sha512-uKDGyJqNaBQKox1DJzm27CJobADsIMNgZGusXhtYzl98LKu/fKuokkRsd7EBVgoDA80HKHc3LOPKuYLryMu1vw== 1991 | dependencies: 1992 | browser-resolve "^1.11.3" 1993 | chalk "^2.0.1" 1994 | realpath-native "^1.0.0" 1995 | 1996 | jest-runner@^24.0.0: 1997 | version "24.0.0" 1998 | resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.0.0.tgz#00b280d52d23286111a8ed0362ed958283f7f0e3" 1999 | integrity sha512-XefXm2XimKtwdfi2am4364GfCmLD1tOjiRtDexY65diCXt4Rw23rxj2wiW7p9s8Nh9dzJQNmrheqZ5rzvn762g== 2000 | dependencies: 2001 | exit "^0.1.2" 2002 | graceful-fs "^4.1.15" 2003 | jest-config "^24.0.0" 2004 | jest-docblock "^24.0.0" 2005 | jest-haste-map "^24.0.0" 2006 | jest-jasmine2 "^24.0.0" 2007 | jest-leak-detector "^24.0.0" 2008 | jest-message-util "^24.0.0" 2009 | jest-runtime "^24.0.0" 2010 | jest-util "^24.0.0" 2011 | jest-worker "^24.0.0" 2012 | source-map-support "^0.5.6" 2013 | throat "^4.0.0" 2014 | 2015 | jest-runtime@^24.0.0: 2016 | version "24.0.0" 2017 | resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.0.0.tgz#bc80756f5458c2c8e4db86f44b687ff692026c13" 2018 | integrity sha512-UeVoTGiij8upcqfyBlJvImws7IGY+ZWtgVpt1h4VmVbyei39tVGia/20VoP3yvodS6FdjTwBj+JzVNuoh/9UTw== 2019 | dependencies: 2020 | "@babel/core" "^7.1.0" 2021 | babel-plugin-istanbul "^5.1.0" 2022 | chalk "^2.0.1" 2023 | convert-source-map "^1.4.0" 2024 | exit "^0.1.2" 2025 | fast-json-stable-stringify "^2.0.0" 2026 | glob "^7.1.3" 2027 | graceful-fs "^4.1.15" 2028 | jest-config "^24.0.0" 2029 | jest-haste-map "^24.0.0" 2030 | jest-message-util "^24.0.0" 2031 | jest-regex-util "^24.0.0" 2032 | jest-resolve "^24.0.0" 2033 | jest-snapshot "^24.0.0" 2034 | jest-util "^24.0.0" 2035 | jest-validate "^24.0.0" 2036 | micromatch "^3.1.10" 2037 | realpath-native "^1.0.0" 2038 | slash "^2.0.0" 2039 | strip-bom "3.0.0" 2040 | write-file-atomic "^2.4.2" 2041 | yargs "^12.0.2" 2042 | 2043 | jest-serializer@^24.0.0: 2044 | version "24.0.0" 2045 | resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.0.0.tgz#522c44a332cdd194d8c0531eb06a1ee5afb4256b" 2046 | integrity sha512-9FKxQyrFgHtx3ozU+1a8v938ILBE7S8Ko3uiAVjT8Yfi2o91j/fj81jacCQZ/Ihjiff/VsUCXVgQ+iF1XdImOw== 2047 | 2048 | jest-snapshot@^24.0.0: 2049 | version "24.0.0" 2050 | resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.0.0.tgz#fb447a753a3271660b3d89d068698014eb14c414" 2051 | integrity sha512-7OcrckVnfzVYxSGPYl2Sn+HyT30VpDv+FMBFbQxSQ6DV2K9Js6vYT6d4SBPKp6DfDiEL2txNssJBxtlvF+Dymw== 2052 | dependencies: 2053 | "@babel/types" "^7.0.0" 2054 | chalk "^2.0.1" 2055 | jest-diff "^24.0.0" 2056 | jest-matcher-utils "^24.0.0" 2057 | jest-message-util "^24.0.0" 2058 | jest-resolve "^24.0.0" 2059 | mkdirp "^0.5.1" 2060 | natural-compare "^1.4.0" 2061 | pretty-format "^24.0.0" 2062 | semver "^5.5.0" 2063 | 2064 | jest-util@^24.0.0: 2065 | version "24.0.0" 2066 | resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.0.0.tgz#fd38fcafd6dedbd0af2944d7a227c0d91b68f7d6" 2067 | integrity sha512-QxsALc4wguYS7cfjdQSOr5HTkmjzkHgmZvIDkcmPfl1ib8PNV8QUWLwbKefCudWS0PRKioV+VbQ0oCUPC691fQ== 2068 | dependencies: 2069 | callsites "^3.0.0" 2070 | chalk "^2.0.1" 2071 | graceful-fs "^4.1.15" 2072 | is-ci "^2.0.0" 2073 | jest-message-util "^24.0.0" 2074 | mkdirp "^0.5.1" 2075 | slash "^2.0.0" 2076 | source-map "^0.6.0" 2077 | 2078 | jest-validate@^24.0.0: 2079 | version "24.0.0" 2080 | resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.0.0.tgz#aa8571a46983a6538328fef20406b4a496b6c020" 2081 | integrity sha512-vMrKrTOP4BBFIeOWsjpsDgVXATxCspC9S1gqvbJ3Tnn/b9ACsJmteYeVx9830UMV28Cob1RX55x96Qq3Tfad4g== 2082 | dependencies: 2083 | camelcase "^5.0.0" 2084 | chalk "^2.0.1" 2085 | jest-get-type "^24.0.0" 2086 | leven "^2.1.0" 2087 | pretty-format "^24.0.0" 2088 | 2089 | jest-watcher@^24.0.0: 2090 | version "24.0.0" 2091 | resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.0.0.tgz#20d44244d10b0b7312410aefd256c1c1eef68890" 2092 | integrity sha512-GxkW2QrZ4YxmW1GUWER05McjVDunBlKMFfExu+VsGmXJmpej1saTEKvONdx5RJBlVdpPI5x6E3+EDQSIGgl53g== 2093 | dependencies: 2094 | ansi-escapes "^3.0.0" 2095 | chalk "^2.0.1" 2096 | jest-util "^24.0.0" 2097 | string-length "^2.0.0" 2098 | 2099 | jest-worker@^24.0.0: 2100 | version "24.0.0" 2101 | resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.0.0.tgz#3d3483b077bf04f412f47654a27bba7e947f8b6d" 2102 | integrity sha512-s64/OThpfQvoCeHG963MiEZOAAxu8kHsaL/rCMF7lpdzo7vgF0CtPml9hfguOMgykgH/eOm4jFP4ibfHLruytg== 2103 | dependencies: 2104 | merge-stream "^1.0.1" 2105 | supports-color "^6.1.0" 2106 | 2107 | jest@^24.0.0: 2108 | version "24.0.0" 2109 | resolved "https://registry.yarnpkg.com/jest/-/jest-24.0.0.tgz#b8e2c8e6274e1092c7f56e57762a1fdc7800201e" 2110 | integrity sha512-1Z2EblP4BnERbWZGtipGb9zjHDq7nCHgCY7V57F5SYaFRJV4DE1HKoOz+CRC5OrAThN9OVhRlUhTzsTFArg2iQ== 2111 | dependencies: 2112 | import-local "^2.0.0" 2113 | jest-cli "^24.0.0" 2114 | 2115 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: 2116 | version "4.0.0" 2117 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 2118 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 2119 | 2120 | js-tokens@^3.0.2: 2121 | version "3.0.2" 2122 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" 2123 | integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= 2124 | 2125 | js-yaml@^3.12.0, js-yaml@^3.7.0: 2126 | version "3.12.1" 2127 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.1.tgz#295c8632a18a23e054cf5c9d3cecafe678167600" 2128 | integrity sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA== 2129 | dependencies: 2130 | argparse "^1.0.7" 2131 | esprima "^4.0.0" 2132 | 2133 | jsbn@~0.1.0: 2134 | version "0.1.1" 2135 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" 2136 | integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= 2137 | 2138 | jsdom@^11.5.1: 2139 | version "11.12.0" 2140 | resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" 2141 | integrity sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw== 2142 | dependencies: 2143 | abab "^2.0.0" 2144 | acorn "^5.5.3" 2145 | acorn-globals "^4.1.0" 2146 | array-equal "^1.0.0" 2147 | cssom ">= 0.3.2 < 0.4.0" 2148 | cssstyle "^1.0.0" 2149 | data-urls "^1.0.0" 2150 | domexception "^1.0.1" 2151 | escodegen "^1.9.1" 2152 | html-encoding-sniffer "^1.0.2" 2153 | left-pad "^1.3.0" 2154 | nwsapi "^2.0.7" 2155 | parse5 "4.0.0" 2156 | pn "^1.1.0" 2157 | request "^2.87.0" 2158 | request-promise-native "^1.0.5" 2159 | sax "^1.2.4" 2160 | symbol-tree "^3.2.2" 2161 | tough-cookie "^2.3.4" 2162 | w3c-hr-time "^1.0.1" 2163 | webidl-conversions "^4.0.2" 2164 | whatwg-encoding "^1.0.3" 2165 | whatwg-mimetype "^2.1.0" 2166 | whatwg-url "^6.4.1" 2167 | ws "^5.2.0" 2168 | xml-name-validator "^3.0.0" 2169 | 2170 | jsesc@^2.5.1: 2171 | version "2.5.2" 2172 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" 2173 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== 2174 | 2175 | json-parse-better-errors@^1.0.1: 2176 | version "1.0.2" 2177 | resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" 2178 | integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== 2179 | 2180 | json-schema-traverse@^0.4.1: 2181 | version "0.4.1" 2182 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 2183 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 2184 | 2185 | json-schema@0.2.3: 2186 | version "0.2.3" 2187 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" 2188 | integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= 2189 | 2190 | json-stringify-safe@~5.0.1: 2191 | version "5.0.1" 2192 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 2193 | integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= 2194 | 2195 | json5@2.x, json5@^2.1.0: 2196 | version "2.1.0" 2197 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850" 2198 | integrity sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ== 2199 | dependencies: 2200 | minimist "^1.2.0" 2201 | 2202 | jsonfile@^4.0.0: 2203 | version "4.0.0" 2204 | resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" 2205 | integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= 2206 | optionalDependencies: 2207 | graceful-fs "^4.1.6" 2208 | 2209 | jsprim@^1.2.2: 2210 | version "1.4.1" 2211 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" 2212 | integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= 2213 | dependencies: 2214 | assert-plus "1.0.0" 2215 | extsprintf "1.3.0" 2216 | json-schema "0.2.3" 2217 | verror "1.10.0" 2218 | 2219 | kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: 2220 | version "3.2.2" 2221 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" 2222 | integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= 2223 | dependencies: 2224 | is-buffer "^1.1.5" 2225 | 2226 | kind-of@^4.0.0: 2227 | version "4.0.0" 2228 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" 2229 | integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= 2230 | dependencies: 2231 | is-buffer "^1.1.5" 2232 | 2233 | kind-of@^5.0.0: 2234 | version "5.1.0" 2235 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" 2236 | integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== 2237 | 2238 | kind-of@^6.0.0, kind-of@^6.0.2: 2239 | version "6.0.2" 2240 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" 2241 | integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== 2242 | 2243 | kleur@^3.0.0: 2244 | version "3.0.1" 2245 | resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.1.tgz#4f5b313f5fa315432a400f19a24db78d451ede62" 2246 | integrity sha512-P3kRv+B+Ra070ng2VKQqW4qW7gd/v3iD8sy/zOdcYRsfiD+QBokQNOps/AfP6Hr48cBhIIBFWckB9aO+IZhrWg== 2247 | 2248 | lave@^1.1.10: 2249 | version "1.1.10" 2250 | resolved "https://registry.yarnpkg.com/lave/-/lave-1.1.10.tgz#062207652c5502d7c6ff096c9de3995401f634d5" 2251 | integrity sha1-BiIHZSxVAtfG/wlsneOZVAH2NNU= 2252 | 2253 | lcid@^2.0.0: 2254 | version "2.0.0" 2255 | resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" 2256 | integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== 2257 | dependencies: 2258 | invert-kv "^2.0.0" 2259 | 2260 | left-pad@^1.3.0: 2261 | version "1.3.0" 2262 | resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" 2263 | integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA== 2264 | 2265 | leven@^2.1.0: 2266 | version "2.1.0" 2267 | resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" 2268 | integrity sha1-wuep93IJTe6dNCAq6KzORoeHVYA= 2269 | 2270 | levn@~0.3.0: 2271 | version "0.3.0" 2272 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" 2273 | integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= 2274 | dependencies: 2275 | prelude-ls "~1.1.2" 2276 | type-check "~0.3.2" 2277 | 2278 | load-json-file@^4.0.0: 2279 | version "4.0.0" 2280 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" 2281 | integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= 2282 | dependencies: 2283 | graceful-fs "^4.1.2" 2284 | parse-json "^4.0.0" 2285 | pify "^3.0.0" 2286 | strip-bom "^3.0.0" 2287 | 2288 | locate-path@^3.0.0: 2289 | version "3.0.0" 2290 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" 2291 | integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== 2292 | dependencies: 2293 | p-locate "^3.0.0" 2294 | path-exists "^3.0.0" 2295 | 2296 | lodash-es@^4.17.11: 2297 | version "4.17.11" 2298 | resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.11.tgz#145ab4a7ac5c5e52a3531fb4f310255a152b4be0" 2299 | integrity sha512-DHb1ub+rMjjrxqlB3H56/6MXtm1lSksDp2rA2cNWjG8mlDUYFhUj3Di2Zn5IwSU87xLv8tNIQ7sSwE/YOX/D/Q== 2300 | 2301 | lodash.sortby@^4.7.0: 2302 | version "4.7.0" 2303 | resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" 2304 | integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= 2305 | 2306 | lodash@^4.13.1, lodash@^4.17.10: 2307 | version "4.17.11" 2308 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" 2309 | integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== 2310 | 2311 | loose-envify@^1.0.0: 2312 | version "1.4.0" 2313 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 2314 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== 2315 | dependencies: 2316 | js-tokens "^3.0.0 || ^4.0.0" 2317 | 2318 | make-dir@^1.3.0: 2319 | version "1.3.0" 2320 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" 2321 | integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== 2322 | dependencies: 2323 | pify "^3.0.0" 2324 | 2325 | make-error@1.x: 2326 | version "1.3.5" 2327 | resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8" 2328 | integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g== 2329 | 2330 | makeerror@1.0.x: 2331 | version "1.0.11" 2332 | resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" 2333 | integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= 2334 | dependencies: 2335 | tmpl "1.0.x" 2336 | 2337 | map-age-cleaner@^0.1.1: 2338 | version "0.1.3" 2339 | resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" 2340 | integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== 2341 | dependencies: 2342 | p-defer "^1.0.0" 2343 | 2344 | map-cache@^0.2.2: 2345 | version "0.2.2" 2346 | resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" 2347 | integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= 2348 | 2349 | map-visit@^1.0.0: 2350 | version "1.0.0" 2351 | resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" 2352 | integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= 2353 | dependencies: 2354 | object-visit "^1.0.0" 2355 | 2356 | math-random@^1.0.1: 2357 | version "1.0.4" 2358 | resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.4.tgz#5dd6943c938548267016d4e34f057583080c514c" 2359 | integrity sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A== 2360 | 2361 | mem@^4.0.0: 2362 | version "4.1.0" 2363 | resolved "https://registry.yarnpkg.com/mem/-/mem-4.1.0.tgz#aeb9be2d21f47e78af29e4ac5978e8afa2ca5b8a" 2364 | integrity sha512-I5u6Q1x7wxO0kdOpYBB28xueHADYps5uty/zg936CiG8NTe5sJL8EjrCuLneuDW3PlMdZBGDIn8BirEVdovZvg== 2365 | dependencies: 2366 | map-age-cleaner "^0.1.1" 2367 | mimic-fn "^1.0.0" 2368 | p-is-promise "^2.0.0" 2369 | 2370 | merge-stream@^1.0.1: 2371 | version "1.0.1" 2372 | resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" 2373 | integrity sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE= 2374 | dependencies: 2375 | readable-stream "^2.0.1" 2376 | 2377 | merge@^1.2.0: 2378 | version "1.2.1" 2379 | resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.1.tgz#38bebf80c3220a8a487b6fcfb3941bb11720c145" 2380 | integrity sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ== 2381 | 2382 | micromatch@^2.3.11: 2383 | version "2.3.11" 2384 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" 2385 | integrity sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU= 2386 | dependencies: 2387 | arr-diff "^2.0.0" 2388 | array-unique "^0.2.1" 2389 | braces "^1.8.2" 2390 | expand-brackets "^0.1.4" 2391 | extglob "^0.3.1" 2392 | filename-regex "^2.0.0" 2393 | is-extglob "^1.0.0" 2394 | is-glob "^2.0.1" 2395 | kind-of "^3.0.2" 2396 | normalize-path "^2.0.1" 2397 | object.omit "^2.0.0" 2398 | parse-glob "^3.0.4" 2399 | regex-cache "^0.4.2" 2400 | 2401 | micromatch@^3.1.10, micromatch@^3.1.4: 2402 | version "3.1.10" 2403 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" 2404 | integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== 2405 | dependencies: 2406 | arr-diff "^4.0.0" 2407 | array-unique "^0.3.2" 2408 | braces "^2.3.1" 2409 | define-property "^2.0.2" 2410 | extend-shallow "^3.0.2" 2411 | extglob "^2.0.4" 2412 | fragment-cache "^0.2.1" 2413 | kind-of "^6.0.2" 2414 | nanomatch "^1.2.9" 2415 | object.pick "^1.3.0" 2416 | regex-not "^1.0.0" 2417 | snapdragon "^0.8.1" 2418 | to-regex "^3.0.2" 2419 | 2420 | mime-db@~1.37.0: 2421 | version "1.37.0" 2422 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.37.0.tgz#0b6a0ce6fdbe9576e25f1f2d2fde8830dc0ad0d8" 2423 | integrity sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg== 2424 | 2425 | mime-types@^2.1.12, mime-types@~2.1.19: 2426 | version "2.1.21" 2427 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.21.tgz#28995aa1ecb770742fe6ae7e58f9181c744b3f96" 2428 | integrity sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg== 2429 | dependencies: 2430 | mime-db "~1.37.0" 2431 | 2432 | mimic-fn@^1.0.0: 2433 | version "1.2.0" 2434 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" 2435 | integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== 2436 | 2437 | "minimatch@2 || 3", minimatch@^3.0.3, minimatch@^3.0.4: 2438 | version "3.0.4" 2439 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 2440 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 2441 | dependencies: 2442 | brace-expansion "^1.1.7" 2443 | 2444 | minimist@0.0.8: 2445 | version "0.0.8" 2446 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 2447 | integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= 2448 | 2449 | minimist@^0.1.0: 2450 | version "0.1.0" 2451 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.1.0.tgz#99df657a52574c21c9057497df742790b2b4c0de" 2452 | integrity sha1-md9lelJXTCHJBXSX33QnkLK0wN4= 2453 | 2454 | minimist@^1.1.1, minimist@^1.2.0: 2455 | version "1.2.0" 2456 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 2457 | integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= 2458 | 2459 | minimist@~0.0.1: 2460 | version "0.0.10" 2461 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" 2462 | integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= 2463 | 2464 | minipass@^2.2.1, minipass@^2.3.4: 2465 | version "2.3.5" 2466 | resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848" 2467 | integrity sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA== 2468 | dependencies: 2469 | safe-buffer "^5.1.2" 2470 | yallist "^3.0.0" 2471 | 2472 | minizlib@^1.1.1: 2473 | version "1.2.1" 2474 | resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" 2475 | integrity sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA== 2476 | dependencies: 2477 | minipass "^2.2.1" 2478 | 2479 | mixin-deep@^1.2.0: 2480 | version "1.3.1" 2481 | resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" 2482 | integrity sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ== 2483 | dependencies: 2484 | for-in "^1.0.2" 2485 | is-extendable "^1.0.1" 2486 | 2487 | mkdirp@0.x, mkdirp@^0.5.0, mkdirp@^0.5.1: 2488 | version "0.5.1" 2489 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 2490 | integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= 2491 | dependencies: 2492 | minimist "0.0.8" 2493 | 2494 | ms@2.0.0: 2495 | version "2.0.0" 2496 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 2497 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 2498 | 2499 | ms@^2.1.1: 2500 | version "2.1.1" 2501 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" 2502 | integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== 2503 | 2504 | nan@^2.9.2: 2505 | version "2.12.1" 2506 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.12.1.tgz#7b1aa193e9aa86057e3c7bbd0ac448e770925552" 2507 | integrity sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw== 2508 | 2509 | nanomatch@^1.2.9: 2510 | version "1.2.13" 2511 | resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" 2512 | integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== 2513 | dependencies: 2514 | arr-diff "^4.0.0" 2515 | array-unique "^0.3.2" 2516 | define-property "^2.0.2" 2517 | extend-shallow "^3.0.2" 2518 | fragment-cache "^0.2.1" 2519 | is-windows "^1.0.2" 2520 | kind-of "^6.0.2" 2521 | object.pick "^1.3.0" 2522 | regex-not "^1.0.0" 2523 | snapdragon "^0.8.1" 2524 | to-regex "^3.0.1" 2525 | 2526 | natural-compare@^1.4.0: 2527 | version "1.4.0" 2528 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 2529 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= 2530 | 2531 | needle@^2.2.1: 2532 | version "2.2.4" 2533 | resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.4.tgz#51931bff82533b1928b7d1d69e01f1b00ffd2a4e" 2534 | integrity sha512-HyoqEb4wr/rsoaIDfTH2aVL9nWtQqba2/HvMv+++m8u0dz808MaagKILxtfeSN7QU7nvbQ79zk3vYOJp9zsNEA== 2535 | dependencies: 2536 | debug "^2.1.2" 2537 | iconv-lite "^0.4.4" 2538 | sax "^1.2.4" 2539 | 2540 | nice-try@^1.0.4: 2541 | version "1.0.5" 2542 | resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" 2543 | integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== 2544 | 2545 | node-int64@^0.4.0: 2546 | version "0.4.0" 2547 | resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" 2548 | integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= 2549 | 2550 | node-modules-regexp@^1.0.0: 2551 | version "1.0.0" 2552 | resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" 2553 | integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= 2554 | 2555 | node-notifier@^5.2.1: 2556 | version "5.3.0" 2557 | resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.3.0.tgz#c77a4a7b84038733d5fb351aafd8a268bfe19a01" 2558 | integrity sha512-AhENzCSGZnZJgBARsUjnQ7DnZbzyP+HxlVXuD0xqAnvL8q+OqtSX7lGg9e8nHzwXkMMXNdVeqq4E2M3EUAqX6Q== 2559 | dependencies: 2560 | growly "^1.3.0" 2561 | semver "^5.5.0" 2562 | shellwords "^0.1.1" 2563 | which "^1.3.0" 2564 | 2565 | node-pre-gyp@^0.10.0: 2566 | version "0.10.3" 2567 | resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz#3070040716afdc778747b61b6887bf78880b80fc" 2568 | integrity sha512-d1xFs+C/IPS8Id0qPTZ4bUT8wWryfR/OzzAFxweG+uLN85oPzyo2Iw6bVlLQ/JOdgNonXLCoRyqDzDWq4iw72A== 2569 | dependencies: 2570 | detect-libc "^1.0.2" 2571 | mkdirp "^0.5.1" 2572 | needle "^2.2.1" 2573 | nopt "^4.0.1" 2574 | npm-packlist "^1.1.6" 2575 | npmlog "^4.0.2" 2576 | rc "^1.2.7" 2577 | rimraf "^2.6.1" 2578 | semver "^5.3.0" 2579 | tar "^4" 2580 | 2581 | nopt@^4.0.1: 2582 | version "4.0.1" 2583 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" 2584 | integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00= 2585 | dependencies: 2586 | abbrev "1" 2587 | osenv "^0.1.4" 2588 | 2589 | normalize-package-data@^2.3.2: 2590 | version "2.4.2" 2591 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.2.tgz#6b2abd85774e51f7936f1395e45acb905dc849b2" 2592 | integrity sha512-YcMnjqeoUckXTPKZSAsPjUPLxH85XotbpqK3w4RyCwdFQSU5FxxBys8buehkSfg0j9fKvV1hn7O0+8reEgkAiw== 2593 | dependencies: 2594 | hosted-git-info "^2.1.4" 2595 | is-builtin-module "^1.0.0" 2596 | semver "2 || 3 || 4 || 5" 2597 | validate-npm-package-license "^3.0.1" 2598 | 2599 | normalize-path@^2.0.1, normalize-path@^2.1.1: 2600 | version "2.1.1" 2601 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" 2602 | integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= 2603 | dependencies: 2604 | remove-trailing-separator "^1.0.1" 2605 | 2606 | npm-bundled@^1.0.1: 2607 | version "1.0.5" 2608 | resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.5.tgz#3c1732b7ba936b3a10325aef616467c0ccbcc979" 2609 | integrity sha512-m/e6jgWu8/v5niCUKQi9qQl8QdeEduFA96xHDDzFGqly0OOjI7c+60KM/2sppfnUU9JJagf+zs+yGhqSOFj71g== 2610 | 2611 | npm-packlist@^1.1.6: 2612 | version "1.2.0" 2613 | resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.2.0.tgz#55a60e793e272f00862c7089274439a4cc31fc7f" 2614 | integrity sha512-7Mni4Z8Xkx0/oegoqlcao/JpPCPEMtUvsmB0q7mgvlMinykJLSRTYuFqoQLYgGY8biuxIeiHO+QNJKbCfljewQ== 2615 | dependencies: 2616 | ignore-walk "^3.0.1" 2617 | npm-bundled "^1.0.1" 2618 | 2619 | npm-run-path@^2.0.0: 2620 | version "2.0.2" 2621 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" 2622 | integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= 2623 | dependencies: 2624 | path-key "^2.0.0" 2625 | 2626 | npmlog@^4.0.2: 2627 | version "4.1.2" 2628 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" 2629 | integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== 2630 | dependencies: 2631 | are-we-there-yet "~1.1.2" 2632 | console-control-strings "~1.1.0" 2633 | gauge "~2.7.3" 2634 | set-blocking "~2.0.0" 2635 | 2636 | number-is-nan@^1.0.0: 2637 | version "1.0.1" 2638 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 2639 | integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= 2640 | 2641 | nwsapi@^2.0.7: 2642 | version "2.0.9" 2643 | resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.0.9.tgz#77ac0cdfdcad52b6a1151a84e73254edc33ed016" 2644 | integrity sha512-nlWFSCTYQcHk/6A9FFnfhKc14c3aFhfdNBXgo8Qgi9QTBu/qg3Ww+Uiz9wMzXd1T8GFxPc2QIHB6Qtf2XFryFQ== 2645 | 2646 | oauth-sign@~0.9.0: 2647 | version "0.9.0" 2648 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" 2649 | integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== 2650 | 2651 | object-assign@^4.1.0: 2652 | version "4.1.1" 2653 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 2654 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= 2655 | 2656 | object-copy@^0.1.0: 2657 | version "0.1.0" 2658 | resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" 2659 | integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= 2660 | dependencies: 2661 | copy-descriptor "^0.1.0" 2662 | define-property "^0.2.5" 2663 | kind-of "^3.0.3" 2664 | 2665 | object-keys@^1.0.12: 2666 | version "1.0.12" 2667 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2" 2668 | integrity sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag== 2669 | 2670 | object-visit@^1.0.0: 2671 | version "1.0.1" 2672 | resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" 2673 | integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= 2674 | dependencies: 2675 | isobject "^3.0.0" 2676 | 2677 | object.getownpropertydescriptors@^2.0.3: 2678 | version "2.0.3" 2679 | resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" 2680 | integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= 2681 | dependencies: 2682 | define-properties "^1.1.2" 2683 | es-abstract "^1.5.1" 2684 | 2685 | object.omit@^2.0.0: 2686 | version "2.0.1" 2687 | resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" 2688 | integrity sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo= 2689 | dependencies: 2690 | for-own "^0.1.4" 2691 | is-extendable "^0.1.1" 2692 | 2693 | object.pick@^1.3.0: 2694 | version "1.3.0" 2695 | resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" 2696 | integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= 2697 | dependencies: 2698 | isobject "^3.0.1" 2699 | 2700 | once@^1.3.0, once@^1.3.1, once@^1.4.0: 2701 | version "1.4.0" 2702 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 2703 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 2704 | dependencies: 2705 | wrappy "1" 2706 | 2707 | optimist@^0.6.1: 2708 | version "0.6.1" 2709 | resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" 2710 | integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY= 2711 | dependencies: 2712 | minimist "~0.0.1" 2713 | wordwrap "~0.0.2" 2714 | 2715 | optionator@^0.8.1: 2716 | version "0.8.2" 2717 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" 2718 | integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= 2719 | dependencies: 2720 | deep-is "~0.1.3" 2721 | fast-levenshtein "~2.0.4" 2722 | levn "~0.3.0" 2723 | prelude-ls "~1.1.2" 2724 | type-check "~0.3.2" 2725 | wordwrap "~1.0.0" 2726 | 2727 | os-homedir@^1.0.0: 2728 | version "1.0.2" 2729 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 2730 | integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= 2731 | 2732 | os-locale@^3.0.0: 2733 | version "3.1.0" 2734 | resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" 2735 | integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== 2736 | dependencies: 2737 | execa "^1.0.0" 2738 | lcid "^2.0.0" 2739 | mem "^4.0.0" 2740 | 2741 | os-tmpdir@^1.0.0: 2742 | version "1.0.2" 2743 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 2744 | integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= 2745 | 2746 | osenv@^0.1.4: 2747 | version "0.1.5" 2748 | resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" 2749 | integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== 2750 | dependencies: 2751 | os-homedir "^1.0.0" 2752 | os-tmpdir "^1.0.0" 2753 | 2754 | p-defer@^1.0.0: 2755 | version "1.0.0" 2756 | resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" 2757 | integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= 2758 | 2759 | p-each-series@^1.0.0: 2760 | version "1.0.0" 2761 | resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" 2762 | integrity sha1-kw89Et0fUOdDRFeiLNbwSsatf3E= 2763 | dependencies: 2764 | p-reduce "^1.0.0" 2765 | 2766 | p-finally@^1.0.0: 2767 | version "1.0.0" 2768 | resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" 2769 | integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= 2770 | 2771 | p-is-promise@^2.0.0: 2772 | version "2.0.0" 2773 | resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.0.0.tgz#7554e3d572109a87e1f3f53f6a7d85d1b194f4c5" 2774 | integrity sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg== 2775 | 2776 | p-limit@^2.0.0: 2777 | version "2.1.0" 2778 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.1.0.tgz#1d5a0d20fb12707c758a655f6bbc4386b5930d68" 2779 | integrity sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g== 2780 | dependencies: 2781 | p-try "^2.0.0" 2782 | 2783 | p-locate@^3.0.0: 2784 | version "3.0.0" 2785 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" 2786 | integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== 2787 | dependencies: 2788 | p-limit "^2.0.0" 2789 | 2790 | p-reduce@^1.0.0: 2791 | version "1.0.0" 2792 | resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" 2793 | integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo= 2794 | 2795 | p-try@^2.0.0: 2796 | version "2.0.0" 2797 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.0.0.tgz#85080bb87c64688fa47996fe8f7dfbe8211760b1" 2798 | integrity sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ== 2799 | 2800 | parse-glob@^3.0.4: 2801 | version "3.0.4" 2802 | resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" 2803 | integrity sha1-ssN2z7EfNVE7rdFz7wu246OIORw= 2804 | dependencies: 2805 | glob-base "^0.3.0" 2806 | is-dotfile "^1.0.0" 2807 | is-extglob "^1.0.0" 2808 | is-glob "^2.0.0" 2809 | 2810 | parse-json@^4.0.0: 2811 | version "4.0.0" 2812 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" 2813 | integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= 2814 | dependencies: 2815 | error-ex "^1.3.1" 2816 | json-parse-better-errors "^1.0.1" 2817 | 2818 | parse5@4.0.0: 2819 | version "4.0.0" 2820 | resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" 2821 | integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== 2822 | 2823 | pascalcase@^0.1.1: 2824 | version "0.1.1" 2825 | resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" 2826 | integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= 2827 | 2828 | path-exists@^3.0.0: 2829 | version "3.0.0" 2830 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 2831 | integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= 2832 | 2833 | path-is-absolute@^1.0.0: 2834 | version "1.0.1" 2835 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 2836 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 2837 | 2838 | path-key@^2.0.0, path-key@^2.0.1: 2839 | version "2.0.1" 2840 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 2841 | integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= 2842 | 2843 | path-parse@^1.0.5, path-parse@^1.0.6: 2844 | version "1.0.6" 2845 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" 2846 | integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== 2847 | 2848 | path-type@^3.0.0: 2849 | version "3.0.0" 2850 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" 2851 | integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== 2852 | dependencies: 2853 | pify "^3.0.0" 2854 | 2855 | performance-now@^2.1.0: 2856 | version "2.1.0" 2857 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" 2858 | integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= 2859 | 2860 | pify@^3.0.0: 2861 | version "3.0.0" 2862 | resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" 2863 | integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= 2864 | 2865 | pirates@^4.0.0: 2866 | version "4.0.0" 2867 | resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.0.tgz#850b18781b4ac6ec58a43c9ed9ec5fe6796addbd" 2868 | integrity sha512-8t5BsXy1LUIjn3WWOlOuFDuKswhQb/tkak641lvBgmPOBUQHXveORtlMCp6OdPV1dtuTaEahKA8VNz6uLfKBtA== 2869 | dependencies: 2870 | node-modules-regexp "^1.0.0" 2871 | 2872 | pkg-dir@^3.0.0: 2873 | version "3.0.0" 2874 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" 2875 | integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== 2876 | dependencies: 2877 | find-up "^3.0.0" 2878 | 2879 | pn@^1.1.0: 2880 | version "1.1.0" 2881 | resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" 2882 | integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== 2883 | 2884 | posix-character-classes@^0.1.0: 2885 | version "0.1.1" 2886 | resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" 2887 | integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= 2888 | 2889 | prelude-ls@~1.1.2: 2890 | version "1.1.2" 2891 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" 2892 | integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= 2893 | 2894 | preserve@^0.2.0: 2895 | version "0.2.0" 2896 | resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" 2897 | integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks= 2898 | 2899 | pretty-format@^24.0.0: 2900 | version "24.0.0" 2901 | resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.0.0.tgz#cb6599fd73ac088e37ed682f61291e4678f48591" 2902 | integrity sha512-LszZaKG665djUcqg5ZQq+XzezHLKrxsA86ZABTozp+oNhkdqa+tG2dX4qa6ERl5c/sRDrAa3lHmwnvKoP+OG/g== 2903 | dependencies: 2904 | ansi-regex "^4.0.0" 2905 | ansi-styles "^3.2.0" 2906 | 2907 | process-nextick-args@~2.0.0: 2908 | version "2.0.0" 2909 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" 2910 | integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw== 2911 | 2912 | prompts@^2.0.1: 2913 | version "2.0.1" 2914 | resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.0.1.tgz#201b3718b4276fb407f037db48c0029d6465245c" 2915 | integrity sha512-8lnEOSIGQbgbnO47+13S+H204L8ISogGulyi0/NNEFAQ9D1VMNTrJ9SBX2Ra03V4iPn/zt36HQMndRYkaPoWiQ== 2916 | dependencies: 2917 | kleur "^3.0.0" 2918 | sisteransi "^1.0.0" 2919 | 2920 | psl@^1.1.24, psl@^1.1.28: 2921 | version "1.1.31" 2922 | resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.31.tgz#e9aa86d0101b5b105cbe93ac6b784cd547276184" 2923 | integrity sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw== 2924 | 2925 | pump@^3.0.0: 2926 | version "3.0.0" 2927 | resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" 2928 | integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== 2929 | dependencies: 2930 | end-of-stream "^1.1.0" 2931 | once "^1.3.1" 2932 | 2933 | punycode@^1.4.1: 2934 | version "1.4.1" 2935 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 2936 | integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= 2937 | 2938 | punycode@^2.1.0, punycode@^2.1.1: 2939 | version "2.1.1" 2940 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 2941 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 2942 | 2943 | qs@~6.5.2: 2944 | version "6.5.2" 2945 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" 2946 | integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== 2947 | 2948 | randomatic@^3.0.0: 2949 | version "3.1.1" 2950 | resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.1.tgz#b776efc59375984e36c537b2f51a1f0aff0da1ed" 2951 | integrity sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw== 2952 | dependencies: 2953 | is-number "^4.0.0" 2954 | kind-of "^6.0.0" 2955 | math-random "^1.0.1" 2956 | 2957 | rc@^1.2.7: 2958 | version "1.2.8" 2959 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" 2960 | integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== 2961 | dependencies: 2962 | deep-extend "^0.6.0" 2963 | ini "~1.3.0" 2964 | minimist "^1.2.0" 2965 | strip-json-comments "~2.0.1" 2966 | 2967 | read-pkg-up@^4.0.0: 2968 | version "4.0.0" 2969 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" 2970 | integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA== 2971 | dependencies: 2972 | find-up "^3.0.0" 2973 | read-pkg "^3.0.0" 2974 | 2975 | read-pkg@^3.0.0: 2976 | version "3.0.0" 2977 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" 2978 | integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= 2979 | dependencies: 2980 | load-json-file "^4.0.0" 2981 | normalize-package-data "^2.3.2" 2982 | path-type "^3.0.0" 2983 | 2984 | readable-stream@^2.0.1, readable-stream@^2.0.6: 2985 | version "2.3.6" 2986 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" 2987 | integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== 2988 | dependencies: 2989 | core-util-is "~1.0.0" 2990 | inherits "~2.0.3" 2991 | isarray "~1.0.0" 2992 | process-nextick-args "~2.0.0" 2993 | safe-buffer "~5.1.1" 2994 | string_decoder "~1.1.1" 2995 | util-deprecate "~1.0.1" 2996 | 2997 | realpath-native@^1.0.0, realpath-native@^1.0.2: 2998 | version "1.0.2" 2999 | resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.0.2.tgz#cd51ce089b513b45cf9b1516c82989b51ccc6560" 3000 | integrity sha512-+S3zTvVt9yTntFrBpm7TQmQ3tzpCrnA1a/y+3cUHAc9ZR6aIjG0WNLR+Rj79QpJktY+VeW/TQtFlQ1bzsehI8g== 3001 | dependencies: 3002 | util.promisify "^1.0.0" 3003 | 3004 | regex-cache@^0.4.2: 3005 | version "0.4.4" 3006 | resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" 3007 | integrity sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ== 3008 | dependencies: 3009 | is-equal-shallow "^0.1.3" 3010 | 3011 | regex-not@^1.0.0, regex-not@^1.0.2: 3012 | version "1.0.2" 3013 | resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" 3014 | integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== 3015 | dependencies: 3016 | extend-shallow "^3.0.2" 3017 | safe-regex "^1.1.0" 3018 | 3019 | remove-trailing-separator@^1.0.1: 3020 | version "1.1.0" 3021 | resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" 3022 | integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= 3023 | 3024 | repeat-element@^1.1.2: 3025 | version "1.1.3" 3026 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" 3027 | integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== 3028 | 3029 | repeat-string@^1.5.2, repeat-string@^1.6.1: 3030 | version "1.6.1" 3031 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" 3032 | integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= 3033 | 3034 | request-promise-core@1.1.1: 3035 | version "1.1.1" 3036 | resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6" 3037 | integrity sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY= 3038 | dependencies: 3039 | lodash "^4.13.1" 3040 | 3041 | request-promise-native@^1.0.5: 3042 | version "1.0.5" 3043 | resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.5.tgz#5281770f68e0c9719e5163fd3fab482215f4fda5" 3044 | integrity sha1-UoF3D2jgyXGeUWP9P6tIIhX0/aU= 3045 | dependencies: 3046 | request-promise-core "1.1.1" 3047 | stealthy-require "^1.1.0" 3048 | tough-cookie ">=2.3.3" 3049 | 3050 | request@^2.87.0: 3051 | version "2.88.0" 3052 | resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" 3053 | integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== 3054 | dependencies: 3055 | aws-sign2 "~0.7.0" 3056 | aws4 "^1.8.0" 3057 | caseless "~0.12.0" 3058 | combined-stream "~1.0.6" 3059 | extend "~3.0.2" 3060 | forever-agent "~0.6.1" 3061 | form-data "~2.3.2" 3062 | har-validator "~5.1.0" 3063 | http-signature "~1.2.0" 3064 | is-typedarray "~1.0.0" 3065 | isstream "~0.1.2" 3066 | json-stringify-safe "~5.0.1" 3067 | mime-types "~2.1.19" 3068 | oauth-sign "~0.9.0" 3069 | performance-now "^2.1.0" 3070 | qs "~6.5.2" 3071 | safe-buffer "^5.1.2" 3072 | tough-cookie "~2.4.3" 3073 | tunnel-agent "^0.6.0" 3074 | uuid "^3.3.2" 3075 | 3076 | require-directory@^2.1.1: 3077 | version "2.1.1" 3078 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 3079 | integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= 3080 | 3081 | require-main-filename@^1.0.1: 3082 | version "1.0.1" 3083 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" 3084 | integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= 3085 | 3086 | resolve-cwd@^2.0.0: 3087 | version "2.0.0" 3088 | resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" 3089 | integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= 3090 | dependencies: 3091 | resolve-from "^3.0.0" 3092 | 3093 | resolve-from@^3.0.0: 3094 | version "3.0.0" 3095 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" 3096 | integrity sha1-six699nWiBvItuZTM17rywoYh0g= 3097 | 3098 | resolve-url@^0.2.1: 3099 | version "0.2.1" 3100 | resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" 3101 | integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= 3102 | 3103 | resolve@1.1.7: 3104 | version "1.1.7" 3105 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" 3106 | integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= 3107 | 3108 | resolve@1.8.1: 3109 | version "1.8.1" 3110 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" 3111 | integrity sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA== 3112 | dependencies: 3113 | path-parse "^1.0.5" 3114 | 3115 | resolve@1.x, resolve@^1.3.2, resolve@^1.8.1: 3116 | version "1.10.0" 3117 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba" 3118 | integrity sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg== 3119 | dependencies: 3120 | path-parse "^1.0.6" 3121 | 3122 | ret@~0.1.10: 3123 | version "0.1.15" 3124 | resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" 3125 | integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== 3126 | 3127 | rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3: 3128 | version "2.6.3" 3129 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" 3130 | integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== 3131 | dependencies: 3132 | glob "^7.1.3" 3133 | 3134 | rollup-plugin-node-resolve@^4.0.0: 3135 | version "4.0.0" 3136 | resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-4.0.0.tgz#9bc6b8205e9936cc0e26bba2415f1ecf1e64d9b2" 3137 | integrity sha512-7Ni+/M5RPSUBfUaP9alwYQiIKnKeXCOHiqBpKUl9kwp3jX5ZJtgXAait1cne6pGEVUUztPD6skIKH9Kq9sNtfw== 3138 | dependencies: 3139 | builtin-modules "^3.0.0" 3140 | is-module "^1.0.0" 3141 | resolve "^1.8.1" 3142 | 3143 | rollup-plugin-terser@^4.0.3: 3144 | version "4.0.3" 3145 | resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-4.0.3.tgz#1525698d1b1cba724ed2c805e84b5ef7efc840e3" 3146 | integrity sha512-XJ9l7/SaNxiK5EfqYaMnMzCbnlXhxRUTm/U0O+4Nl03wTvidrotHokl+3Po/F5jnChtHseszehFpV4m0WpsrqA== 3147 | dependencies: 3148 | "@babel/code-frame" "^7.0.0" 3149 | escodegen "^1.11.0" 3150 | jest-worker "^24.0.0" 3151 | lave "^1.1.10" 3152 | terser "^3.14.1" 3153 | 3154 | rollup-plugin-typescript2@^0.19.2: 3155 | version "0.19.2" 3156 | resolved "https://registry.yarnpkg.com/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.19.2.tgz#87d9c799cd6e02efbedbba25af12753a1e92b6c2" 3157 | integrity sha512-DRG7SaYX0QzBIz6rII5nm1UkiceS95r8mJjujugybyIueNF3auvzGTHMK62O7As/0q5RHjXsOguWOUv+KJKLFA== 3158 | dependencies: 3159 | fs-extra "7.0.1" 3160 | resolve "1.8.1" 3161 | rollup-pluginutils "2.3.3" 3162 | tslib "1.9.3" 3163 | 3164 | rollup-pluginutils@2.3.3: 3165 | version "2.3.3" 3166 | resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.3.3.tgz#3aad9b1eb3e7fe8262820818840bf091e5ae6794" 3167 | integrity sha512-2XZwja7b6P5q4RZ5FhyX1+f46xi1Z3qBKigLRZ6VTZjwbN0K1IFGMlwm06Uu0Emcre2Z63l77nq/pzn+KxIEoA== 3168 | dependencies: 3169 | estree-walker "^0.5.2" 3170 | micromatch "^2.3.11" 3171 | 3172 | rollup@^1.1.2: 3173 | version "1.1.2" 3174 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.1.2.tgz#8d094b85683b810d0c05a16bd7618cf70d48eba7" 3175 | integrity sha512-OkdMxqMl8pWoQc5D8y1cIinYQPPLV8ZkfLgCzL6SytXeNA2P7UHynEQXI9tYxuAjAMsSyvRaWnyJDLHMxq0XAg== 3176 | dependencies: 3177 | "@types/estree" "0.0.39" 3178 | "@types/node" "*" 3179 | acorn "^6.0.5" 3180 | 3181 | rsvp@^3.3.3: 3182 | version "3.6.2" 3183 | resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a" 3184 | integrity sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw== 3185 | 3186 | safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: 3187 | version "5.1.2" 3188 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 3189 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 3190 | 3191 | safe-regex@^1.1.0: 3192 | version "1.1.0" 3193 | resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" 3194 | integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= 3195 | dependencies: 3196 | ret "~0.1.10" 3197 | 3198 | "safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: 3199 | version "2.1.2" 3200 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 3201 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 3202 | 3203 | sane@^3.0.0: 3204 | version "3.1.0" 3205 | resolved "https://registry.yarnpkg.com/sane/-/sane-3.1.0.tgz#995193b7dc1445ef1fe41ddfca2faf9f111854c6" 3206 | integrity sha512-G5GClRRxT1cELXfdAq7UKtUsv8q/ZC5k8lQGmjEm4HcAl3HzBy68iglyNCmw4+0tiXPCBZntslHlRhbnsSws+Q== 3207 | dependencies: 3208 | anymatch "^2.0.0" 3209 | capture-exit "^1.2.0" 3210 | exec-sh "^0.2.0" 3211 | execa "^1.0.0" 3212 | fb-watchman "^2.0.0" 3213 | micromatch "^3.1.4" 3214 | minimist "^1.1.1" 3215 | walker "~1.0.5" 3216 | watch "~0.18.0" 3217 | optionalDependencies: 3218 | fsevents "^1.2.3" 3219 | 3220 | sax@^1.2.4: 3221 | version "1.2.4" 3222 | resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" 3223 | integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== 3224 | 3225 | "semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5, semver@^5.5.0: 3226 | version "5.6.0" 3227 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" 3228 | integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== 3229 | 3230 | set-blocking@^2.0.0, set-blocking@~2.0.0: 3231 | version "2.0.0" 3232 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 3233 | integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= 3234 | 3235 | set-value@^0.4.3: 3236 | version "0.4.3" 3237 | resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" 3238 | integrity sha1-fbCPnT0i3H945Trzw79GZuzfzPE= 3239 | dependencies: 3240 | extend-shallow "^2.0.1" 3241 | is-extendable "^0.1.1" 3242 | is-plain-object "^2.0.1" 3243 | to-object-path "^0.3.0" 3244 | 3245 | set-value@^2.0.0: 3246 | version "2.0.0" 3247 | resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" 3248 | integrity sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg== 3249 | dependencies: 3250 | extend-shallow "^2.0.1" 3251 | is-extendable "^0.1.1" 3252 | is-plain-object "^2.0.3" 3253 | split-string "^3.0.1" 3254 | 3255 | shebang-command@^1.2.0: 3256 | version "1.2.0" 3257 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 3258 | integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= 3259 | dependencies: 3260 | shebang-regex "^1.0.0" 3261 | 3262 | shebang-regex@^1.0.0: 3263 | version "1.0.0" 3264 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 3265 | integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= 3266 | 3267 | shellwords@^0.1.1: 3268 | version "0.1.1" 3269 | resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" 3270 | integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== 3271 | 3272 | signal-exit@^3.0.0, signal-exit@^3.0.2: 3273 | version "3.0.2" 3274 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 3275 | integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= 3276 | 3277 | sisteransi@^1.0.0: 3278 | version "1.0.0" 3279 | resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.0.tgz#77d9622ff909080f1c19e5f4a1df0c1b0a27b88c" 3280 | integrity sha512-N+z4pHB4AmUv0SjveWRd6q1Nj5w62m5jodv+GD8lvmbY/83T/rpbJGZOnK5T149OldDj4Db07BSv9xY4K6NTPQ== 3281 | 3282 | slash@^2.0.0: 3283 | version "2.0.0" 3284 | resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" 3285 | integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== 3286 | 3287 | snapdragon-node@^2.0.1: 3288 | version "2.1.1" 3289 | resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" 3290 | integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== 3291 | dependencies: 3292 | define-property "^1.0.0" 3293 | isobject "^3.0.0" 3294 | snapdragon-util "^3.0.1" 3295 | 3296 | snapdragon-util@^3.0.1: 3297 | version "3.0.1" 3298 | resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" 3299 | integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== 3300 | dependencies: 3301 | kind-of "^3.2.0" 3302 | 3303 | snapdragon@^0.8.1: 3304 | version "0.8.2" 3305 | resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" 3306 | integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== 3307 | dependencies: 3308 | base "^0.11.1" 3309 | debug "^2.2.0" 3310 | define-property "^0.2.5" 3311 | extend-shallow "^2.0.1" 3312 | map-cache "^0.2.2" 3313 | source-map "^0.5.6" 3314 | source-map-resolve "^0.5.0" 3315 | use "^3.1.0" 3316 | 3317 | source-map-resolve@^0.5.0: 3318 | version "0.5.2" 3319 | resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" 3320 | integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== 3321 | dependencies: 3322 | atob "^2.1.1" 3323 | decode-uri-component "^0.2.0" 3324 | resolve-url "^0.2.1" 3325 | source-map-url "^0.4.0" 3326 | urix "^0.1.0" 3327 | 3328 | source-map-support@^0.5.6, source-map-support@~0.5.6: 3329 | version "0.5.10" 3330 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.10.tgz#2214080bc9d51832511ee2bab96e3c2f9353120c" 3331 | integrity sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ== 3332 | dependencies: 3333 | buffer-from "^1.0.0" 3334 | source-map "^0.6.0" 3335 | 3336 | source-map-url@^0.4.0: 3337 | version "0.4.0" 3338 | resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" 3339 | integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= 3340 | 3341 | source-map@^0.5.0, source-map@^0.5.6: 3342 | version "0.5.7" 3343 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 3344 | integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= 3345 | 3346 | source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: 3347 | version "0.6.1" 3348 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 3349 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 3350 | 3351 | spdx-correct@^3.0.0: 3352 | version "3.1.0" 3353 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" 3354 | integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== 3355 | dependencies: 3356 | spdx-expression-parse "^3.0.0" 3357 | spdx-license-ids "^3.0.0" 3358 | 3359 | spdx-exceptions@^2.1.0: 3360 | version "2.2.0" 3361 | resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" 3362 | integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== 3363 | 3364 | spdx-expression-parse@^3.0.0: 3365 | version "3.0.0" 3366 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" 3367 | integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== 3368 | dependencies: 3369 | spdx-exceptions "^2.1.0" 3370 | spdx-license-ids "^3.0.0" 3371 | 3372 | spdx-license-ids@^3.0.0: 3373 | version "3.0.3" 3374 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz#81c0ce8f21474756148bbb5f3bfc0f36bf15d76e" 3375 | integrity sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g== 3376 | 3377 | split-string@^3.0.1, split-string@^3.0.2: 3378 | version "3.1.0" 3379 | resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" 3380 | integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== 3381 | dependencies: 3382 | extend-shallow "^3.0.0" 3383 | 3384 | sprintf-js@~1.0.2: 3385 | version "1.0.3" 3386 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 3387 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= 3388 | 3389 | sshpk@^1.7.0: 3390 | version "1.16.1" 3391 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" 3392 | integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== 3393 | dependencies: 3394 | asn1 "~0.2.3" 3395 | assert-plus "^1.0.0" 3396 | bcrypt-pbkdf "^1.0.0" 3397 | dashdash "^1.12.0" 3398 | ecc-jsbn "~0.1.1" 3399 | getpass "^0.1.1" 3400 | jsbn "~0.1.0" 3401 | safer-buffer "^2.0.2" 3402 | tweetnacl "~0.14.0" 3403 | 3404 | stack-utils@^1.0.1: 3405 | version "1.0.2" 3406 | resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" 3407 | integrity sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA== 3408 | 3409 | static-extend@^0.1.1: 3410 | version "0.1.2" 3411 | resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" 3412 | integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= 3413 | dependencies: 3414 | define-property "^0.2.5" 3415 | object-copy "^0.1.0" 3416 | 3417 | stealthy-require@^1.1.0: 3418 | version "1.1.1" 3419 | resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" 3420 | integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= 3421 | 3422 | string-length@^2.0.0: 3423 | version "2.0.0" 3424 | resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" 3425 | integrity sha1-1A27aGo6zpYMHP/KVivyxF+DY+0= 3426 | dependencies: 3427 | astral-regex "^1.0.0" 3428 | strip-ansi "^4.0.0" 3429 | 3430 | string-width@^1.0.1: 3431 | version "1.0.2" 3432 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 3433 | integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= 3434 | dependencies: 3435 | code-point-at "^1.0.0" 3436 | is-fullwidth-code-point "^1.0.0" 3437 | strip-ansi "^3.0.0" 3438 | 3439 | "string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.1: 3440 | version "2.1.1" 3441 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 3442 | integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== 3443 | dependencies: 3444 | is-fullwidth-code-point "^2.0.0" 3445 | strip-ansi "^4.0.0" 3446 | 3447 | string_decoder@~1.1.1: 3448 | version "1.1.1" 3449 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 3450 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== 3451 | dependencies: 3452 | safe-buffer "~5.1.0" 3453 | 3454 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 3455 | version "3.0.1" 3456 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 3457 | integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= 3458 | dependencies: 3459 | ansi-regex "^2.0.0" 3460 | 3461 | strip-ansi@^4.0.0: 3462 | version "4.0.0" 3463 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 3464 | integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= 3465 | dependencies: 3466 | ansi-regex "^3.0.0" 3467 | 3468 | strip-ansi@^5.0.0: 3469 | version "5.0.0" 3470 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.0.0.tgz#f78f68b5d0866c20b2c9b8c61b5298508dc8756f" 3471 | integrity sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow== 3472 | dependencies: 3473 | ansi-regex "^4.0.0" 3474 | 3475 | strip-bom@3.0.0, strip-bom@^3.0.0: 3476 | version "3.0.0" 3477 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" 3478 | integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= 3479 | 3480 | strip-eof@^1.0.0: 3481 | version "1.0.0" 3482 | resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" 3483 | integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= 3484 | 3485 | strip-json-comments@~2.0.1: 3486 | version "2.0.1" 3487 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 3488 | integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= 3489 | 3490 | supports-color@^2.0.0: 3491 | version "2.0.0" 3492 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 3493 | integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= 3494 | 3495 | supports-color@^5.3.0: 3496 | version "5.5.0" 3497 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 3498 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 3499 | dependencies: 3500 | has-flag "^3.0.0" 3501 | 3502 | supports-color@^6.0.0, supports-color@^6.1.0: 3503 | version "6.1.0" 3504 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" 3505 | integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== 3506 | dependencies: 3507 | has-flag "^3.0.0" 3508 | 3509 | symbol-tree@^3.2.2: 3510 | version "3.2.2" 3511 | resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" 3512 | integrity sha1-rifbOPZgp64uHDt9G8KQgZuFGeY= 3513 | 3514 | tar@^4: 3515 | version "4.4.8" 3516 | resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.8.tgz#b19eec3fde2a96e64666df9fdb40c5ca1bc3747d" 3517 | integrity sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ== 3518 | dependencies: 3519 | chownr "^1.1.1" 3520 | fs-minipass "^1.2.5" 3521 | minipass "^2.3.4" 3522 | minizlib "^1.1.1" 3523 | mkdirp "^0.5.0" 3524 | safe-buffer "^5.1.2" 3525 | yallist "^3.0.2" 3526 | 3527 | terser@^3.14.1: 3528 | version "3.14.1" 3529 | resolved "https://registry.yarnpkg.com/terser/-/terser-3.14.1.tgz#cc4764014af570bc79c79742358bd46926018a32" 3530 | integrity sha512-NSo3E99QDbYSMeJaEk9YW2lTg3qS9V0aKGlb+PlOrei1X02r1wSBHCNX/O+yeTRFSWPKPIGj6MqvvdqV4rnVGw== 3531 | dependencies: 3532 | commander "~2.17.1" 3533 | source-map "~0.6.1" 3534 | source-map-support "~0.5.6" 3535 | 3536 | test-exclude@^5.0.0: 3537 | version "5.0.0" 3538 | resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.0.0.tgz#cdce7cece785e0e829cd5c2b27baf18bc583cfb7" 3539 | integrity sha512-bO3Lj5+qFa9YLfYW2ZcXMOV1pmQvw+KS/DpjqhyX6Y6UZ8zstpZJ+mA2ERkXfpOqhxsJlQiLeVXD3Smsrs6oLw== 3540 | dependencies: 3541 | arrify "^1.0.1" 3542 | minimatch "^3.0.4" 3543 | read-pkg-up "^4.0.0" 3544 | require-main-filename "^1.0.1" 3545 | 3546 | throat@^4.0.0: 3547 | version "4.1.0" 3548 | resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" 3549 | integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= 3550 | 3551 | tmpl@1.0.x: 3552 | version "1.0.4" 3553 | resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" 3554 | integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= 3555 | 3556 | to-fast-properties@^2.0.0: 3557 | version "2.0.0" 3558 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 3559 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= 3560 | 3561 | to-object-path@^0.3.0: 3562 | version "0.3.0" 3563 | resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" 3564 | integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= 3565 | dependencies: 3566 | kind-of "^3.0.2" 3567 | 3568 | to-regex-range@^2.1.0: 3569 | version "2.1.1" 3570 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" 3571 | integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= 3572 | dependencies: 3573 | is-number "^3.0.0" 3574 | repeat-string "^1.6.1" 3575 | 3576 | to-regex@^3.0.1, to-regex@^3.0.2: 3577 | version "3.0.2" 3578 | resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" 3579 | integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== 3580 | dependencies: 3581 | define-property "^2.0.2" 3582 | extend-shallow "^3.0.2" 3583 | regex-not "^1.0.2" 3584 | safe-regex "^1.1.0" 3585 | 3586 | tough-cookie@>=2.3.3: 3587 | version "3.0.0" 3588 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.0.tgz#d2bceddebde633153ff20a52fa844a0dc71dacef" 3589 | integrity sha512-LHMvg+RBP/mAVNqVbOX8t+iJ+tqhBA/t49DuI7+IDAWHrASnesqSu1vWbKB7UrE2yk+HMFUBMadRGMkB4VCfog== 3590 | dependencies: 3591 | ip-regex "^3.0.0" 3592 | psl "^1.1.28" 3593 | punycode "^2.1.1" 3594 | 3595 | tough-cookie@^2.3.4: 3596 | version "2.5.0" 3597 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" 3598 | integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== 3599 | dependencies: 3600 | psl "^1.1.28" 3601 | punycode "^2.1.1" 3602 | 3603 | tough-cookie@~2.4.3: 3604 | version "2.4.3" 3605 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" 3606 | integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== 3607 | dependencies: 3608 | psl "^1.1.24" 3609 | punycode "^1.4.1" 3610 | 3611 | tr46@^1.0.1: 3612 | version "1.0.1" 3613 | resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" 3614 | integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= 3615 | dependencies: 3616 | punycode "^2.1.0" 3617 | 3618 | trim-right@^1.0.1: 3619 | version "1.0.1" 3620 | resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" 3621 | integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= 3622 | 3623 | ts-jest@^23.10.5: 3624 | version "23.10.5" 3625 | resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-23.10.5.tgz#cdb550df4466a30489bf70ba867615799f388dd5" 3626 | integrity sha512-MRCs9qnGoyKgFc8adDEntAOP64fWK1vZKnOYU1o2HxaqjdJvGqmkLCPCnVq1/If4zkUmEjKPnCiUisTrlX2p2A== 3627 | dependencies: 3628 | bs-logger "0.x" 3629 | buffer-from "1.x" 3630 | fast-json-stable-stringify "2.x" 3631 | json5 "2.x" 3632 | make-error "1.x" 3633 | mkdirp "0.x" 3634 | resolve "1.x" 3635 | semver "^5.5" 3636 | yargs-parser "10.x" 3637 | 3638 | tslib@1.9.3, tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.3: 3639 | version "1.9.3" 3640 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" 3641 | integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ== 3642 | 3643 | tslint@^5.12.1: 3644 | version "5.12.1" 3645 | resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.12.1.tgz#8cec9d454cf8a1de9b0a26d7bdbad6de362e52c1" 3646 | integrity sha512-sfodBHOucFg6egff8d1BvuofoOQ/nOeYNfbp7LDlKBcLNrL3lmS5zoiDGyOMdT7YsEXAwWpTdAHwOGOc8eRZAw== 3647 | dependencies: 3648 | babel-code-frame "^6.22.0" 3649 | builtin-modules "^1.1.1" 3650 | chalk "^2.3.0" 3651 | commander "^2.12.1" 3652 | diff "^3.2.0" 3653 | glob "^7.1.1" 3654 | js-yaml "^3.7.0" 3655 | minimatch "^3.0.4" 3656 | resolve "^1.3.2" 3657 | semver "^5.3.0" 3658 | tslib "^1.8.0" 3659 | tsutils "^2.27.2" 3660 | 3661 | tsutils@^2.27.2: 3662 | version "2.29.0" 3663 | resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99" 3664 | integrity sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA== 3665 | dependencies: 3666 | tslib "^1.8.1" 3667 | 3668 | tunnel-agent@^0.6.0: 3669 | version "0.6.0" 3670 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" 3671 | integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= 3672 | dependencies: 3673 | safe-buffer "^5.0.1" 3674 | 3675 | tweetnacl@^0.14.3, tweetnacl@~0.14.0: 3676 | version "0.14.5" 3677 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" 3678 | integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= 3679 | 3680 | type-check@~0.3.2: 3681 | version "0.3.2" 3682 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" 3683 | integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= 3684 | dependencies: 3685 | prelude-ls "~1.1.2" 3686 | 3687 | typescript@^3.2.4: 3688 | version "3.2.4" 3689 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.2.4.tgz#c585cb952912263d915b462726ce244ba510ef3d" 3690 | integrity sha512-0RNDbSdEokBeEAkgNbxJ+BLwSManFy9TeXz8uW+48j/xhEXv1ePME60olyzw2XzUqUBNAYFeJadIqAgNqIACwg== 3691 | 3692 | uglify-js@^3.1.4: 3693 | version "3.4.9" 3694 | resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.9.tgz#af02f180c1207d76432e473ed24a28f4a782bae3" 3695 | integrity sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q== 3696 | dependencies: 3697 | commander "~2.17.1" 3698 | source-map "~0.6.1" 3699 | 3700 | union-value@^1.0.0: 3701 | version "1.0.0" 3702 | resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" 3703 | integrity sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ= 3704 | dependencies: 3705 | arr-union "^3.1.0" 3706 | get-value "^2.0.6" 3707 | is-extendable "^0.1.1" 3708 | set-value "^0.4.3" 3709 | 3710 | universalify@^0.1.0: 3711 | version "0.1.2" 3712 | resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" 3713 | integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== 3714 | 3715 | unset-value@^1.0.0: 3716 | version "1.0.0" 3717 | resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" 3718 | integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= 3719 | dependencies: 3720 | has-value "^0.3.1" 3721 | isobject "^3.0.0" 3722 | 3723 | uri-js@^4.2.2: 3724 | version "4.2.2" 3725 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" 3726 | integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== 3727 | dependencies: 3728 | punycode "^2.1.0" 3729 | 3730 | urix@^0.1.0: 3731 | version "0.1.0" 3732 | resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" 3733 | integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= 3734 | 3735 | use@^3.1.0: 3736 | version "3.1.1" 3737 | resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" 3738 | integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== 3739 | 3740 | util-deprecate@~1.0.1: 3741 | version "1.0.2" 3742 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 3743 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 3744 | 3745 | util.promisify@^1.0.0: 3746 | version "1.0.0" 3747 | resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" 3748 | integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== 3749 | dependencies: 3750 | define-properties "^1.1.2" 3751 | object.getownpropertydescriptors "^2.0.3" 3752 | 3753 | uuid@^3.3.2: 3754 | version "3.3.2" 3755 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" 3756 | integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== 3757 | 3758 | validate-npm-package-license@^3.0.1: 3759 | version "3.0.4" 3760 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" 3761 | integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== 3762 | dependencies: 3763 | spdx-correct "^3.0.0" 3764 | spdx-expression-parse "^3.0.0" 3765 | 3766 | verror@1.10.0: 3767 | version "1.10.0" 3768 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" 3769 | integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= 3770 | dependencies: 3771 | assert-plus "^1.0.0" 3772 | core-util-is "1.0.2" 3773 | extsprintf "^1.2.0" 3774 | 3775 | w3c-hr-time@^1.0.1: 3776 | version "1.0.1" 3777 | resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045" 3778 | integrity sha1-gqwr/2PZUOqeMYmlimViX+3xkEU= 3779 | dependencies: 3780 | browser-process-hrtime "^0.1.2" 3781 | 3782 | walker@~1.0.5: 3783 | version "1.0.7" 3784 | resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" 3785 | integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= 3786 | dependencies: 3787 | makeerror "1.0.x" 3788 | 3789 | watch@~0.18.0: 3790 | version "0.18.0" 3791 | resolved "https://registry.yarnpkg.com/watch/-/watch-0.18.0.tgz#28095476c6df7c90c963138990c0a5423eb4b986" 3792 | integrity sha1-KAlUdsbffJDJYxOJkMClQj60uYY= 3793 | dependencies: 3794 | exec-sh "^0.2.0" 3795 | minimist "^1.2.0" 3796 | 3797 | webidl-conversions@^4.0.2: 3798 | version "4.0.2" 3799 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" 3800 | integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== 3801 | 3802 | whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3: 3803 | version "1.0.5" 3804 | resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" 3805 | integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== 3806 | dependencies: 3807 | iconv-lite "0.4.24" 3808 | 3809 | whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0: 3810 | version "2.3.0" 3811 | resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" 3812 | integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== 3813 | 3814 | whatwg-url@^6.4.1: 3815 | version "6.5.0" 3816 | resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" 3817 | integrity sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ== 3818 | dependencies: 3819 | lodash.sortby "^4.7.0" 3820 | tr46 "^1.0.1" 3821 | webidl-conversions "^4.0.2" 3822 | 3823 | whatwg-url@^7.0.0: 3824 | version "7.0.0" 3825 | resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.0.0.tgz#fde926fa54a599f3adf82dff25a9f7be02dc6edd" 3826 | integrity sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ== 3827 | dependencies: 3828 | lodash.sortby "^4.7.0" 3829 | tr46 "^1.0.1" 3830 | webidl-conversions "^4.0.2" 3831 | 3832 | which-module@^2.0.0: 3833 | version "2.0.0" 3834 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" 3835 | integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= 3836 | 3837 | which@^1.2.12, which@^1.2.9, which@^1.3.0: 3838 | version "1.3.1" 3839 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" 3840 | integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== 3841 | dependencies: 3842 | isexe "^2.0.0" 3843 | 3844 | wide-align@^1.1.0: 3845 | version "1.1.3" 3846 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" 3847 | integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== 3848 | dependencies: 3849 | string-width "^1.0.2 || 2" 3850 | 3851 | wordwrap@~0.0.2: 3852 | version "0.0.3" 3853 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" 3854 | integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= 3855 | 3856 | wordwrap@~1.0.0: 3857 | version "1.0.0" 3858 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" 3859 | integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= 3860 | 3861 | wrap-ansi@^2.0.0: 3862 | version "2.1.0" 3863 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" 3864 | integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= 3865 | dependencies: 3866 | string-width "^1.0.1" 3867 | strip-ansi "^3.0.1" 3868 | 3869 | wrappy@1: 3870 | version "1.0.2" 3871 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 3872 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 3873 | 3874 | write-file-atomic@^2.4.2: 3875 | version "2.4.2" 3876 | resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.2.tgz#a7181706dfba17855d221140a9c06e15fcdd87b9" 3877 | integrity sha512-s0b6vB3xIVRLWywa6X9TOMA7k9zio0TMOsl9ZnDkliA/cfJlpHXAscj0gbHVJiTdIuAYpIyqS5GW91fqm6gG5g== 3878 | dependencies: 3879 | graceful-fs "^4.1.11" 3880 | imurmurhash "^0.1.4" 3881 | signal-exit "^3.0.2" 3882 | 3883 | ws@^5.2.0: 3884 | version "5.2.2" 3885 | resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" 3886 | integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA== 3887 | dependencies: 3888 | async-limiter "~1.0.0" 3889 | 3890 | xml-name-validator@^3.0.0: 3891 | version "3.0.0" 3892 | resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" 3893 | integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== 3894 | 3895 | "y18n@^3.2.1 || ^4.0.0": 3896 | version "4.0.0" 3897 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" 3898 | integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== 3899 | 3900 | yallist@^3.0.0, yallist@^3.0.2: 3901 | version "3.0.3" 3902 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" 3903 | integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== 3904 | 3905 | yargs-parser@10.x: 3906 | version "10.1.0" 3907 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" 3908 | integrity sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ== 3909 | dependencies: 3910 | camelcase "^4.1.0" 3911 | 3912 | yargs-parser@^11.1.1: 3913 | version "11.1.1" 3914 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" 3915 | integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== 3916 | dependencies: 3917 | camelcase "^5.0.0" 3918 | decamelize "^1.2.0" 3919 | 3920 | yargs@^12.0.2: 3921 | version "12.0.5" 3922 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" 3923 | integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== 3924 | dependencies: 3925 | cliui "^4.0.0" 3926 | decamelize "^1.2.0" 3927 | find-up "^3.0.0" 3928 | get-caller-file "^1.0.1" 3929 | os-locale "^3.0.0" 3930 | require-directory "^2.1.1" 3931 | require-main-filename "^1.0.1" 3932 | set-blocking "^2.0.0" 3933 | string-width "^2.0.0" 3934 | which-module "^2.0.0" 3935 | y18n "^3.2.1 || ^4.0.0" 3936 | yargs-parser "^11.1.1" 3937 | --------------------------------------------------------------------------------