├── flow.png ├── assets └── import.png ├── SUMMARY.md ├── tslint.json ├── .gitignore ├── .editorconfig ├── .travis.yml ├── src ├── helpers.ts ├── combine-reducers.ts ├── types.ts └── redux-data-fx.ts ├── tsconfig.json ├── CONTRIBUTING.md ├── tools ├── gh-pages-publish.ts └── semantic-release-prepare.ts ├── LICENSE ├── rollup.config.ts ├── code-of-conduct.md ├── package.json ├── test ├── combine-reducers.test.ts └── redux-data-fx.test.ts ├── README.md └── yarn.lock /flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mt-bt/redux-data-fx/HEAD/flow.png -------------------------------------------------------------------------------- /assets/import.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mt-bt/redux-data-fx/HEAD/assets/import.png -------------------------------------------------------------------------------- /SUMMARY.md: -------------------------------------------------------------------------------- 1 | # Summary 2 | 3 | * [Read Me](README.md) 4 | * [Overview](introduction.md) 5 | 6 | -------------------------------------------------------------------------------- /tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ 3 | "tslint-config-standard", 4 | "tslint-config-prettier" 5 | ] 6 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | .nyc_output 4 | .DS_Store 5 | *.log 6 | .vscode 7 | .idea 8 | dist 9 | compiled 10 | .awcache -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | #root = true 2 | 3 | [*] 4 | indent_style = space 5 | end_of_line = lf 6 | charset = utf-8 7 | trim_trailing_whitespace = true 8 | insert_final_newline = true 9 | max_line_length = 100 10 | indent_size = 2 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | branches: 3 | only: 4 | - master 5 | - /^greenkeeper/.*$/ 6 | cache: 7 | yarn: true 8 | directories: 9 | - node_modules 10 | notifications: 11 | email: false 12 | node_js: 13 | - node 14 | script: 15 | - npm run test:prod && npm run build 16 | after_success: 17 | - npm run deploy-docs 18 | - npm run semantic-release 19 | -------------------------------------------------------------------------------- /src/helpers.ts: -------------------------------------------------------------------------------- 1 | import { Effects } from './types' 2 | 3 | export interface StateWithFx { 4 | state: S 5 | effects: Effects 6 | } 7 | 8 | export class StateWithFx { 9 | constructor(state: S, effects: Effects) { 10 | this.state = state 11 | this.effects = effects 12 | } 13 | } 14 | 15 | export function hasFX(s: S | StateWithFx): s is StateWithFx { 16 | return s instanceof StateWithFx 17 | } 18 | 19 | export function fx(state: S, effects: Effects): StateWithFx { 20 | return new StateWithFx(state, effects) 21 | } 22 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "moduleResolution": "node", 4 | "target": "es5", 5 | "module":"es2015", 6 | "lib": ["es2015", "es2016", "es2017", "dom"], 7 | "strict": true, 8 | "sourceMap": true, 9 | "declaration": true, 10 | "allowSyntheticDefaultImports": true, 11 | "experimentalDecorators": true, 12 | "emitDecoratorMetadata": true, 13 | "declarationDir": "dist/types", 14 | "outDir": "compiled", 15 | "typeRoots": [ 16 | "node_modules/@types" 17 | ] 18 | }, 19 | "include": [ 20 | "src" 21 | ] 22 | } -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | We're really glad you're reading this, because we need volunteer developers to help this project come to fruition. 👏 2 | 3 | ## Instructions 4 | 5 | These steps will guide you through contributing to this project: 6 | 7 | - Fork the repo 8 | - Clone it and install dependencies 9 | 10 | git clone https://github.com/matthieu-beteille/redux-data-fx 11 | npm install 12 | 13 | Keep in mind that after running `npm install` the git repo is reset. So a good way to cope with this is to have a copy of the folder to push the changes, and the other to try them. 14 | 15 | Make and commit your changes. Make sure the commands npm run build and npm run test:prod are working. 16 | 17 | Finally send a [GitHub Pull Request](https://github.com/matthieu-beteille/redux-data-fx/compare?expand=1) with a clear list of what you've done (read more [about pull requests](https://help.github.com/articles/about-pull-requests/)). Make sure all of your commits are atomic (one feature per commit). 18 | -------------------------------------------------------------------------------- /src/combine-reducers.ts: -------------------------------------------------------------------------------- 1 | import { combineReducers as reduxCombineReducers, Action } from 'redux' 2 | import { hasFX, fx, StateWithFx } from './helpers' 3 | import { FXReducer, Effects } from './types' 4 | import mapValues from 'lodash.mapvalues' 5 | 6 | export interface ReducersMapObject { 7 | [key: string]: FXReducer 8 | } 9 | 10 | function combineReducers(reducers: ReducersMapObject) { 11 | let reducer = reduxCombineReducers(reducers) 12 | 13 | return function(state: any, action: A): StateWithFx { 14 | const newStateWithFx = reducer(state, action) 15 | let batchEffects: Effects = [] 16 | 17 | const newState = mapValues(newStateWithFx, (value: any) => { 18 | if (hasFX(value)) { 19 | let { state, effects } = value 20 | batchEffects = batchEffects.concat(effects) 21 | 22 | return state 23 | } 24 | 25 | return value 26 | }) 27 | 28 | return fx(newState, batchEffects) 29 | } 30 | } 31 | 32 | export { combineReducers } 33 | -------------------------------------------------------------------------------- /tools/gh-pages-publish.ts: -------------------------------------------------------------------------------- 1 | const { cd, exec, echo, touch } = require("shelljs") 2 | const { readFileSync } = require("fs") 3 | const url = require("url") 4 | 5 | let repoUrl 6 | let pkg = JSON.parse(readFileSync("package.json") as any) 7 | if (typeof pkg.repository === "object") { 8 | if (!pkg.repository.hasOwnProperty("url")) { 9 | throw new Error("URL does not exist in repository section") 10 | } 11 | repoUrl = pkg.repository.url 12 | } else { 13 | repoUrl = pkg.repository 14 | } 15 | 16 | let parsedUrl = url.parse(repoUrl) 17 | let repository = (parsedUrl.host || "") + (parsedUrl.path || "") 18 | let ghToken = process.env.GH_TOKEN 19 | 20 | echo("Deploying docs!!!") 21 | cd("dist/docs") 22 | touch(".nojekyll") 23 | exec("git init") 24 | exec("git add .") 25 | exec('git config user.name "Matthieu Béteille"') 26 | exec('git config user.email "matthieu.beteille@gmail.com"') 27 | exec('git commit -m "docs(docs): update gh-pages"') 28 | exec( 29 | `git push --force --quiet "https://${ghToken}@${repository}" master:gh-pages` 30 | ) 31 | echo("Docs deployed!!") 32 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2017 Matthieu Béteille 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- 1 | import { Action, StoreEnhancer, Dispatch, Store, Reducer } from 'redux' 2 | import { StateWithFx } from './helpers' 3 | 4 | export type Effect = { effect: string; [key: string]: any } 5 | export type Effects = Effect[] 6 | 7 | export interface StoreCreator { 8 | ( 9 | reducer: FXReducer, 10 | enhancer?: StoreEnhancer 11 | ): FXStore 12 | ( 13 | reducer: FXReducer, 14 | preloadedState: S, 15 | enhancer?: StoreEnhancer 16 | ): FXStore 17 | } 18 | 19 | export interface FXReducer { 20 | (state: S | undefined, action: Action): S | StateWithFx 21 | } 22 | 23 | export interface FXHandler { 24 | (params: FXParams, getState: () => S, dispatch: Dispatch): void 25 | } 26 | 27 | export interface FXParams { 28 | [key: string]: any 29 | } 30 | 31 | export interface RegisteredFXs { 32 | [key: string]: FXHandler 33 | } 34 | 35 | export type QueuedFX = [string, FXParams] 36 | 37 | export interface FXStore extends Store { 38 | registerFX(id: string, handler: FXHandler): void 39 | replaceEffectfulReducer(reducer: FXReducer): void 40 | } 41 | -------------------------------------------------------------------------------- /rollup.config.ts: -------------------------------------------------------------------------------- 1 | import resolve from "rollup-plugin-node-resolve"; 2 | import commonjs from "rollup-plugin-commonjs"; 3 | import sourceMaps from "rollup-plugin-sourcemaps"; 4 | import camelCase from "lodash.camelcase"; 5 | 6 | const pkg = require("./package.json"); 7 | 8 | const libraryName = "redux-data-fx"; 9 | 10 | export default { 11 | entry: `compiled/${libraryName}.js`, 12 | targets: [ 13 | { dest: pkg.main, moduleName: camelCase(libraryName), format: "umd" }, 14 | { dest: pkg.module, format: "es" } 15 | ], 16 | sourcemap: true, 17 | // Indicate here external modules you don't wanna include in your bundle (i.e.: 'lodash') 18 | external: [], 19 | watch: { 20 | include: "compiled/**" 21 | }, 22 | plugins: [ 23 | // Allow bundling cjs modules (unlike webpack, rollup doesn't understand cjs) 24 | commonjs(), 25 | // Allow node_modules resolution, so you can use 'external' to control 26 | // which external modules to include in the bundle 27 | // https://github.com/rollup/rollup-plugin-node-resolve#usage 28 | resolve(), 29 | 30 | // Resolve source maps to the original source 31 | sourceMaps() 32 | ] 33 | }; 34 | -------------------------------------------------------------------------------- /tools/semantic-release-prepare.ts: -------------------------------------------------------------------------------- 1 | const path = require("path") 2 | const { fork } = require("child_process") 3 | const colors = require("colors") 4 | 5 | const { readFileSync, writeFileSync } = require("fs") 6 | const pkg = JSON.parse( 7 | readFileSync(path.resolve(__dirname, "..", "package.json")) 8 | ) 9 | 10 | pkg.scripts.prepush = "npm run test:prod && npm run build" 11 | pkg.scripts.commitmsg = "validate-commit-msg" 12 | 13 | writeFileSync( 14 | path.resolve(__dirname, "..", "package.json"), 15 | JSON.stringify(pkg, null, 2) 16 | ) 17 | 18 | // Call husky to set up the hooks 19 | fork(path.resolve(__dirname, "..", "node_modules", "husky", "bin", "install")) 20 | 21 | console.log() 22 | console.log(colors.green("Done!!")) 23 | console.log() 24 | 25 | if (pkg.repository.url.trim()) { 26 | console.log(colors.cyan("Now run:")) 27 | console.log(colors.cyan(" npm install -g semantic-release-cli")) 28 | console.log(colors.cyan(" semantic-release setup")) 29 | console.log() 30 | console.log( 31 | colors.cyan('Important! Answer NO to "Generate travis.yml" question') 32 | ) 33 | console.log() 34 | console.log( 35 | colors.gray( 36 | 'Note: Make sure "repository.url" in your package.json is correct before' 37 | ) 38 | ) 39 | } else { 40 | console.log( 41 | colors.red( 42 | 'First you need to set the "repository.url" property in package.json' 43 | ) 44 | ) 45 | console.log(colors.cyan("Then run:")) 46 | console.log(colors.cyan(" npm install -g semantic-release-cli")) 47 | console.log(colors.cyan(" semantic-release setup")) 48 | console.log() 49 | console.log( 50 | colors.cyan('Important! Answer NO to "Generate travis.yml" question') 51 | ) 52 | } 53 | 54 | console.log() 55 | -------------------------------------------------------------------------------- /src/redux-data-fx.ts: -------------------------------------------------------------------------------- 1 | import 'babel-polyfill' 2 | import forEach from 'lodash.foreach' 3 | import { hasFX, fx, StateWithFx } from './helpers' 4 | import { combineReducers } from './combine-reducers' 5 | import { 6 | StoreEnhancerStoreCreator, 7 | Store, 8 | Reducer, 9 | StoreEnhancer, 10 | Action, 11 | Dispatch, 12 | createStore 13 | } from 'redux' 14 | import { 15 | FXReducer, 16 | FXHandler, 17 | FXParams, 18 | RegisteredFXs, 19 | QueuedFX, 20 | FXStore, 21 | StoreCreator, 22 | Effects 23 | } from './types' 24 | 25 | const reduxDataFX = ( 26 | createStore: StoreEnhancerStoreCreator 27 | ) => (reducer: FXReducer, initialState: S): FXStore => { 28 | let q: Effects = [] 29 | let fx: RegisteredFXs = {} 30 | 31 | const liftReducer = (reducer: FXReducer): Reducer => ( 32 | state: S, 33 | action: Action 34 | ) => { 35 | const result = reducer(state, action) 36 | 37 | if (hasFX(result)) { 38 | let { effects, state } = result 39 | 40 | q = q.concat(effects) 41 | 42 | return state 43 | } else { 44 | return result 45 | } 46 | } 47 | 48 | const store = createStore(liftReducer(reducer), initialState) 49 | 50 | const dispatch = (action: A): A => { 51 | let res = store.dispatch(action) 52 | 53 | while (q.length > 0) { 54 | let current = q.shift() 55 | 56 | if (!current) return res // --' 57 | 58 | let { effect, ...params } = current 59 | 60 | if (fx[effect] !== undefined) { 61 | // !!! performing side effects !!! 62 | fx[effect](params, store.getState, store.dispatch) 63 | } else { 64 | console.warn( 65 | 'Trying to use fx: ' + 66 | effect + 67 | '. None has been registered. Doing nothing.' 68 | ) 69 | } 70 | } 71 | 72 | return res 73 | } 74 | 75 | const replaceEffectfulReducer = (reducer: FXReducer) => { 76 | return store.replaceReducer(liftReducer(reducer)) 77 | } 78 | 79 | return { 80 | ...store, 81 | replaceEffectfulReducer, 82 | dispatch, 83 | registerFX(id: string, handler: FXHandler) { 84 | fx[id] = handler 85 | } 86 | } 87 | } 88 | 89 | const createStoreFx = createStore as StoreCreator 90 | 91 | export { reduxDataFX, fx, createStoreFx as createStore, combineReducers } 92 | -------------------------------------------------------------------------------- /code-of-conduct.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as 6 | contributors and maintainers pledge to making participation in our project and 7 | our community a harassment-free experience for everyone, regardless of age, body 8 | size, disability, ethnicity, gender identity and expression, level of experience, 9 | nationality, personal appearance, race, religion, or sexual identity and 10 | orientation. 11 | 12 | ## Our Standards 13 | 14 | Examples of behavior that contributes to creating a positive environment 15 | include: 16 | 17 | * Using welcoming and inclusive language 18 | * Being respectful of differing viewpoints and experiences 19 | * Gracefully accepting constructive criticism 20 | * Focusing on what is best for the community 21 | * Showing empathy towards other community members 22 | 23 | Examples of unacceptable behavior by participants include: 24 | 25 | * The use of sexualized language or imagery and unwelcome sexual attention or 26 | advances 27 | * Trolling, insulting/derogatory comments, and personal or political attacks 28 | * Public or private harassment 29 | * Publishing others' private information, such as a physical or electronic 30 | address, without explicit permission 31 | * Other conduct which could reasonably be considered inappropriate in a 32 | professional setting 33 | 34 | ## Our Responsibilities 35 | 36 | Project maintainers are responsible for clarifying the standards of acceptable 37 | behavior and are expected to take appropriate and fair corrective action in 38 | response to any instances of unacceptable behavior. 39 | 40 | Project maintainers have the right and responsibility to remove, edit, or 41 | reject comments, commits, code, wiki edits, issues, and other contributions 42 | that are not aligned to this Code of Conduct, or to ban temporarily or 43 | permanently any contributor for other behaviors that they deem inappropriate, 44 | threatening, offensive, or harmful. 45 | 46 | ## Scope 47 | 48 | This Code of Conduct applies both within project spaces and in public spaces 49 | when an individual is representing the project or its community. Examples of 50 | representing a project or community include using an official project e-mail 51 | address, posting via an official social media account, or acting as an appointed 52 | representative at an online or offline event. Representation of a project may be 53 | further defined and clarified by project maintainers. 54 | 55 | ## Enforcement 56 | 57 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 58 | reported by contacting the project team at matthieu.beteille@gmail.com. All 59 | complaints will be reviewed and investigated and will result in a response that 60 | is deemed necessary and appropriate to the circumstances. The project team is 61 | obligated to maintain confidentiality with regard to the reporter of an incident. 62 | Further details of specific enforcement policies may be posted separately. 63 | 64 | Project maintainers who do not follow or enforce the Code of Conduct in good 65 | faith may face temporary or permanent repercussions as determined by other 66 | members of the project's leadership. 67 | 68 | ## Attribution 69 | 70 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, 71 | available at [http://contributor-covenant.org/version/1/4][version] 72 | 73 | [homepage]: http://contributor-covenant.org 74 | [version]: http://contributor-covenant.org/version/1/4/ 75 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "redux-data-fx", 3 | "version": "0.0.0-development", 4 | "description": "", 5 | "keywords": [], 6 | "main": "dist/redux-data-fx.umd.js", 7 | "module": "dist/redux-data-fx.es5.js", 8 | "typings": "dist/types/redux-data-fx.d.ts", 9 | "files": [ 10 | "dist" 11 | ], 12 | "author": "Matthieu Béteille ", 13 | "repository": { 14 | "type": "git", 15 | "url": "https://github.com/matthieu-beteille/redux-data-fx" 16 | }, 17 | "license": "MIT", 18 | "engines": { 19 | "node": ">=6.0.0" 20 | }, 21 | "scripts": { 22 | "lint": "tslint -t codeFrame 'src/**/*.ts' 'test/**/*.ts'", 23 | "prebuild": "rimraf dist", 24 | "build": "tsc && rollup -c rollup.config.ts && rimraf compiled && typedoc --out dist/docs --target es6 --theme minimal src", 25 | "start": "tsc -w & rollup -c rollup.config.ts -w", 26 | "test": "jest", 27 | "test:watch": "jest --watch", 28 | "test:prod": "npm run lint && npm run test -- --coverage --no-cache", 29 | "deploy-docs": "ts-node tools/gh-pages-publish", 30 | "report-coverage": "cat ./coverage/lcov.info | coveralls", 31 | "commit": "git-cz", 32 | "semantic-release": "semantic-release pre && npm publish && semantic-release post", 33 | "semantic-release-prepare": "ts-node tools/semantic-release-prepare", 34 | "precommit": "lint-staged", 35 | "prepush": "npm run test:prod && npm run build", 36 | "commitmsg": "validate-commit-msg" 37 | }, 38 | "lint-staged": { 39 | "{src,test}/**/*.ts": [ 40 | "prettier --write --no-semi --single-quote", 41 | "git add" 42 | ] 43 | }, 44 | "config": { 45 | "commitizen": { 46 | "path": "node_modules/cz-conventional-changelog" 47 | }, 48 | "validate-commit-msg": { 49 | "types": "conventional-commit-types", 50 | "helpMessage": "Use \"npm run commit\" instead, we use conventional-changelog format :) (https://github.com/commitizen/cz-cli)" 51 | } 52 | }, 53 | "jest": { 54 | "transform": { 55 | ".(ts|tsx)": "/node_modules/ts-jest/preprocessor.js" 56 | }, 57 | "testRegex": "(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$", 58 | "moduleFileExtensions": [ 59 | "ts", 60 | "tsx", 61 | "js" 62 | ], 63 | "coveragePathIgnorePatterns": [ 64 | "/node_modules/", 65 | "/test/" 66 | ], 67 | "coverageThreshold": { 68 | "global": { 69 | "branches": 80, 70 | "functions": 80, 71 | "lines": 80, 72 | "statements": 80 73 | } 74 | }, 75 | "collectCoverage": true, 76 | "mapCoverage": true 77 | }, 78 | "devDependencies": { 79 | "@types/jest": "^21.1.0", 80 | "@types/node": "^8.0.0", 81 | "colors": "^1.1.2", 82 | "commitizen": "^2.9.6", 83 | "coveralls": "^3.0.0", 84 | "cross-env": "^5.0.1", 85 | "cz-conventional-changelog": "^2.0.0", 86 | "husky": "^0.14.0", 87 | "jest": "^21.0.0", 88 | "lint-staged": "^4.0.0", 89 | "lodash.camelcase": "^4.3.0", 90 | "prettier": "^1.4.4", 91 | "prompt": "^1.0.0", 92 | "redux": "^3.7.2", 93 | "redux-logger": "^3.0.6", 94 | "replace-in-file": "^3.0.0-beta.2", 95 | "rimraf": "^2.6.1", 96 | "rollup": "^0.50.0", 97 | "rollup-plugin-commonjs": "^8.0.2", 98 | "rollup-plugin-node-resolve": "^3.0.0", 99 | "rollup-plugin-sourcemaps": "^0.4.2", 100 | "semantic-release": "^8.2.0", 101 | "ts-jest": "^21.0.0", 102 | "ts-node": "^3.0.6", 103 | "tslint": "^5.4.3", 104 | "tslint-config-prettier": "^1.1.0", 105 | "tslint-config-standard": "^6.0.0", 106 | "typedoc": "^0.9.0", 107 | "typescript": "^2.3.4", 108 | "validate-commit-msg": "^2.12.2" 109 | }, 110 | "dependencies": { 111 | "@types/lodash.foreach": "^4.5.3", 112 | "@types/lodash.mapvalues": "^4.6.3", 113 | "babel-polyfill": "^6.26.0", 114 | "lodash.foreach": "^4.5.0", 115 | "lodash.mapvalues": "^4.6.0" 116 | } 117 | } 118 | -------------------------------------------------------------------------------- /test/combine-reducers.test.ts: -------------------------------------------------------------------------------- 1 | import { 2 | combineReducers, 3 | reduxDataFX, 4 | fx, 5 | createStore 6 | } from '../src/redux-data-fx' 7 | 8 | type Action = 9 | | { type: 'increment' } 10 | | { type: 'push'; value: number } 11 | | { type: 'testFx1'; payload: any } 12 | | { type: 'testFx2'; payload: any } 13 | | { type: 'batchedFx'; payload: any } 14 | 15 | const classicReducer = combineReducers({ 16 | counter: (state: number = 0, action: Action) => 17 | action.type === 'increment' ? state + 1 : state, 18 | stack: (state = [], action: Action) => 19 | action.type === 'push' ? [...state, action.value] : state 20 | }) 21 | 22 | const classicStore = createStore(classicReducer, reduxDataFX) 23 | 24 | const effectfulReducer = combineReducers({ 25 | counter(state: number = 0, action: Action) { 26 | return action.type === 'increment' ? state + 1 : state 27 | }, 28 | stack: (state = [], action: Action) => 29 | action.type === 'push' ? [...state, action.value] : state, 30 | reducer1: (state: number = 0, action: Action) => { 31 | switch (action.type) { 32 | case 'testFx1': 33 | return fx(state + 1, [{ effect: 'sideFx1', ...action.payload }]) 34 | case 'testFx2': 35 | return fx(state + 1, [{ effect: 'sideFx2', ...action.payload }]) 36 | case 'batchedFx': 37 | return fx(state, [ 38 | { effect: 'sideFx1' }, 39 | { effect: 'sideFx1' }, 40 | { effect: 'sideFx2' }, 41 | { effect: 'sideFx2' }, 42 | { effect: 'sideFx2' } 43 | ]) 44 | default: 45 | return state 46 | } 47 | } 48 | }) 49 | 50 | const effectfulStore = createStore(effectfulReducer, reduxDataFX) 51 | 52 | const sideFx1 = jest.fn() 53 | const sideFx2 = jest.fn() 54 | 55 | effectfulStore.registerFX('sideFx1', sideFx1) 56 | effectfulStore.registerFX('sideFx2', sideFx2) 57 | 58 | describe('Classic Reducer', () => { 59 | it('returns a composite reducer that maps the state keys to given reducers', () => { 60 | classicStore.dispatch({ type: 'increment' }) 61 | expect(classicStore.getState()).toEqual({ counter: 1, stack: [] }) 62 | classicStore.dispatch({ type: 'push', value: 'a' }) 63 | expect(classicStore.getState()).toEqual({ counter: 1, stack: ['a'] }) 64 | }) 65 | }) 66 | 67 | describe('Effectful Reducer', () => { 68 | it('updates the state and runs side effects returned from one of the different child reducers', () => { 69 | expect(effectfulStore.getState()).toEqual({ 70 | counter: 0, 71 | stack: [], 72 | reducer1: 0 73 | }) 74 | const payload = { a: 1, b: [1, 2, 3], c: 'string' } 75 | effectfulStore.dispatch({ type: 'testFx1', payload }) 76 | expect(sideFx1.mock.calls.length).toBe(1) 77 | expect(sideFx1.mock.calls[0][0]).toEqual(payload) 78 | expect(effectfulStore.getState()).toEqual({ 79 | counter: 0, 80 | stack: [], 81 | reducer1: 1 82 | }) 83 | effectfulStore.dispatch({ type: 'testFx2', payload }) 84 | expect(sideFx2.mock.calls.length).toBe(1) 85 | expect(sideFx2.mock.calls[0][0]).toEqual(payload) 86 | expect(effectfulStore.getState()).toEqual({ 87 | counter: 0, 88 | stack: [], 89 | reducer1: 2 90 | }) 91 | }) 92 | 93 | it('runs batch of effects too', () => { 94 | expect(effectfulStore.getState()).toEqual({ 95 | counter: 0, 96 | stack: [], 97 | reducer1: 2 98 | }) 99 | effectfulStore.dispatch({ type: 'batchedFx' }) 100 | expect(effectfulStore.getState()).toEqual({ 101 | counter: 0, 102 | stack: [], 103 | reducer1: 2 104 | }) 105 | expect(sideFx1.mock.calls.length).toBe(3) 106 | expect(sideFx2.mock.calls.length).toBe(4) 107 | }) 108 | 109 | it('runs classic actions properly and update the state as expected', () => { 110 | expect(effectfulStore.getState()).toEqual({ 111 | counter: 0, 112 | stack: [], 113 | reducer1: 2 114 | }) 115 | effectfulStore.dispatch({ type: 'increment' }) 116 | expect(effectfulStore.getState()).toEqual({ 117 | counter: 1, 118 | stack: [], 119 | reducer1: 2 120 | }) 121 | effectfulStore.dispatch({ type: 'push', value: 1 }) 122 | expect(effectfulStore.getState()).toEqual({ 123 | counter: 1, 124 | stack: [1], 125 | reducer1: 2 126 | }) 127 | effectfulStore.dispatch({ type: 'push', value: 2 }) 128 | expect(effectfulStore.getState()).toEqual({ 129 | counter: 1, 130 | stack: [1, 2], 131 | reducer1: 2 132 | }) 133 | }) 134 | }) 135 | -------------------------------------------------------------------------------- /test/redux-data-fx.test.ts: -------------------------------------------------------------------------------- 1 | import { reduxDataFX, fx, createStore } from '../src/redux-data-fx' 2 | import { applyMiddleware, compose } from 'redux' 3 | import forEach from 'lodash.foreach' 4 | 5 | jest.setTimeout(1000) 6 | 7 | type State = { 8 | value: number 9 | } 10 | 11 | const initialState = { 12 | value: 0 13 | } 14 | 15 | type Action = 16 | | { type: 'wait' } 17 | | { type: 'increment' } 18 | | { type: 'global' } 19 | | { type: 'storageSet' } 20 | | { type: 'storageRemove' } 21 | | { type: 'undefinedFx' } 22 | | { type: 'testSideFx1'; payload: { [key: string]: any } } 23 | | { type: 'testSideFx2'; data: { [key: string]: any } } 24 | | { type: 'batchStorage' } 25 | | { type: 'flow1' } 26 | | { type: 'flow2' } 27 | | { type: 'flow3' } 28 | 29 | const State = { 30 | value: 1 31 | } 32 | 33 | let window = { 34 | ok: null, 35 | test: null 36 | } 37 | 38 | function Storage() { 39 | this.store = {} 40 | } 41 | Storage.prototype.setItem = function(id, item) { 42 | this.store[id] = item 43 | } 44 | Storage.prototype.getItem = function(id) { 45 | return this.store[id] 46 | } 47 | Storage.prototype.removeItem = function(id) { 48 | delete this.store[id] 49 | } 50 | 51 | let localStorage = new Storage() 52 | 53 | function reducer(state: State = initialState, action: Action) { 54 | switch (action.type) { 55 | case 'wait': 56 | return fx(state, [ 57 | { 58 | effect: 'timeout', 59 | value: 50, 60 | action: 'increment', 61 | payload: {} 62 | } 63 | ]) 64 | 65 | case 'increment': 66 | return { value: state.value + 1 } 67 | 68 | case 'global': 69 | return fx(state, [ 70 | { 71 | effect: 'global', 72 | test: 1, 73 | ok: 'cool' 74 | } 75 | ]) 76 | 77 | case 'storageSet': 78 | return fx(state, [ 79 | { 80 | effect: 'localStorage', 81 | set: { 82 | key1: 'value1', 83 | key2: 'value2' 84 | } 85 | } 86 | ]) 87 | 88 | case 'storageRemove': 89 | return fx({ value: 1000 }, [ 90 | { 91 | effect: 'localStorage', 92 | remove: ['key1', 'key2'] 93 | } 94 | ]) 95 | 96 | case 'testSideFx1': 97 | return fx(state, [{ effect: 'sideFx1', ...action.payload }]) 98 | 99 | case 'testSideFx2': 100 | return fx(state, [{ effect: 'sideFx2', ...action.data }]) 101 | 102 | case 'undefinedFx': 103 | return fx(state, [{ effect: 'undefinedFx', a: 1 }]) 104 | 105 | case 'batchStorage': 106 | return fx({ value: 50 }, [ 107 | { 108 | effect: 'localStorage', 109 | set: { 110 | a: 1, 111 | b: 2 112 | } 113 | }, 114 | { 115 | effect: 'localStorage', 116 | set: { 117 | c: 3, 118 | d: 4 119 | } 120 | }, 121 | { 122 | effect: 'localStorage', 123 | set: { 124 | e: 5, 125 | f: 6 126 | } 127 | } 128 | ]) 129 | 130 | case 'flow1': 131 | return fx({ value: 2020 }, [ 132 | { effect: 'log', text: 'step1' }, 133 | { effect: 'dispatch', actions: [{ type: 'flow2' }] } 134 | ]) 135 | 136 | case 'flow2': 137 | return fx({ value: 100 }, [ 138 | { effect: 'log', text: 'step2' }, 139 | { effect: 'dispatch', actions: [{ type: 'flow3' }] } 140 | ]) 141 | 142 | case 'flow3': 143 | return fx({ value: 1020 }, [{ effect: 'log', text: 'last' }]) 144 | 145 | default: 146 | return state 147 | } 148 | } 149 | 150 | const store = createStore(reducer, reduxDataFX) 151 | 152 | store.registerFX('global', function(toStore, getState) { 153 | forEach(toStore, (val, key) => (window[key] = val)) 154 | }) 155 | 156 | store.registerFX('timeout', function(params, getState, dispatch) { 157 | setTimeout(() => { 158 | dispatch({ type: params.action, ...params.payload }) 159 | }, params.value) 160 | }) 161 | 162 | store.registerFX('localStorage', function(params, getState, dispatch) { 163 | if (params.set) { 164 | forEach(params.set, (value, key) => { 165 | localStorage.setItem(key, value) 166 | }) 167 | } 168 | if (params.remove && Array.isArray(params.remove)) { 169 | params.remove.forEach(key => { 170 | localStorage.removeItem(key) 171 | }) 172 | } 173 | }) 174 | 175 | store.registerFX('dispatch', (params, getState, dispatch) => { 176 | params.actions.forEach(action => { 177 | dispatch(action) 178 | }) 179 | }) 180 | 181 | store.registerFX('log', (params, getState, dispatch) => { 182 | console.log('[LOGGING EFFECT]: ', params.text) 183 | }) 184 | 185 | const sideFx1 = jest.fn() 186 | store.registerFX('sideFx1', sideFx1) 187 | 188 | const sideFx2 = jest.fn() 189 | store.registerFX('sideFx2', sideFx2) 190 | 191 | describe('ReduxDataFx', () => { 192 | it('should trigger global fx and create two global variables', () => { 193 | store.dispatch({ type: 'global' }) 194 | expect(window.test).toBe(1) 195 | expect(window.ok).toBe('cool') 196 | expect(true).toBeTruthy() 197 | }) 198 | 199 | it('should run localStorage side fx, and update the state', () => { 200 | store.dispatch({ type: 'storageSet' }) 201 | expect(localStorage.getItem('key1')).toBe('value1') 202 | expect(localStorage.getItem('key2')).toBe('value2') 203 | store.dispatch({ type: 'storageRemove' }) 204 | expect(localStorage.getItem('key1')).toBe(undefined) 205 | expect(localStorage.getItem('key2')).toBe(undefined) 206 | expect(store.getState().value).toBe(1000) 207 | }) 208 | 209 | it('should run a batch of localStorage side fx', () => { 210 | store.dispatch({ type: 'batchStorage' }) 211 | expect(localStorage.getItem('a')).toBe(1) 212 | expect(localStorage.getItem('b')).toBe(2) 213 | expect(localStorage.getItem('c')).toBe(3) 214 | expect(localStorage.getItem('d')).toBe(4) 215 | expect(localStorage.getItem('e')).toBe(5) 216 | expect(localStorage.getItem('f')).toBe(6) 217 | expect(store.getState().value).toBe(50) 218 | }) 219 | 220 | it('should run sideFx1 passing the payload over to the effect handler', () => { 221 | const payload1 = { a: 1, b: 2, c: [3, 4, { test: 'mock' }] } 222 | const testLength = 1000 223 | expect(sideFx1.mock.calls.length).toBe(0) 224 | for (let i = 0; i < testLength; i++) { 225 | store.dispatch({ type: 'testSideFx1', payload: payload1 }) 226 | expect(sideFx1.mock.calls.length).toBe(i + 1) 227 | expect(sideFx1.mock.calls[i][0]).toEqual(payload1) 228 | expect(sideFx1.mock.calls[i][1]()).toEqual(store.getState()) 229 | } 230 | expect(sideFx1.mock.calls.length).toBe(testLength) 231 | }) 232 | 233 | it('should run sideFx2 passing the payload over to the effect handler', () => { 234 | const data = { d: [1, 2], e: 2, f: 3 } 235 | const testLength = 1000 236 | expect(sideFx2.mock.calls.length).toBe(0) 237 | for (let i = 0; i < testLength; i++) { 238 | store.dispatch({ type: 'testSideFx2', data }) 239 | expect(sideFx2.mock.calls.length).toBe(i + 1) 240 | expect(sideFx2.mock.calls[i][0]).toEqual(data) 241 | expect(sideFx2.mock.calls[i][1]()).toEqual(store.getState()) 242 | } 243 | expect(sideFx2.mock.calls.length).toBe(testLength) 244 | }) 245 | 246 | it('should warn if trying to use an unregistered effect', () => { 247 | const consoleSpy = jest.spyOn(console, 'warn') 248 | store.dispatch({ type: 'undefinedFx' }) 249 | expect(consoleSpy).toHaveBeenCalled() 250 | }) 251 | 252 | it('should trigger multiple side effects in a row', () => { 253 | const consoleSpy = jest.spyOn(console, 'log') 254 | store.dispatch({ type: 'flow1' }) 255 | expect(store.getState().value).toBe(1020) 256 | expect(consoleSpy.mock.calls.length).toBe(3) 257 | }) 258 | }) 259 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Redux Data FX 2 | 3 | Declarative Side Effects for Redux. 4 | 5 | It helps you keep your business logic and effectful code separate. 6 | 7 | The idea is simple: in addition of your app's new state, your reducers can also return a data structure describing some side effects you want to run. 8 | 9 | This takes inspiration from the elm architecture but this very implementation's idea comes from [re-frame](https://github.com/Day8/re-frame) in cljs and its effectful handlers. ([re-frame](https://github.com/Day8/re-frame) is an awesome project, you should definitely check it out). 10 | 11 | ## Overview 12 | 13 |
14 | 15 | ![Redux Data FX Flow](flow.png) 16 | 17 |
18 | 19 | The same way an action represents an intent to update your app's state, an effect description is a declarative intent to perform a side effect. 20 | The actual side effects are performed at the border of the system by effect handlers. 21 | 22 | Effect handlers are going to perform the "effectful" code interacting with the world (http calls, ...), using the browser's APIs (setTimeout, local storage, etc...), and they can feed data back in the redux loop by dispatching actions. 23 | This way your reducers remain pure functions and it's easy to test that your effect description is correct since they are pure data. (see testing section) 24 | 25 | There is a lot of cool tools that can be built around this idea. We can keep track of every effect description to get a clear idea of what has happened at the border of our system (log them, save them, re-perform them, etc...). 26 | 27 | ## How does that that work? 28 | 29 | Usual reducer signature is: 30 | 31 | ```(Action, State) -> State``` 32 | 33 | With redux-data-fx, it becomes: 34 | 35 | ```(Action, State) -> State | { state: State, effects: Effects }``` 36 | 37 | Your reducer can either return only a new state, or a combination of a new state and another data structure: the description of some side effects that you want to run. 38 | 39 | ### 1. Declaratively describe side effects in your reducers. 40 | 41 | One of your reducer could look like this: 42 | 43 | ```javascript 44 | import { fx } from 'redux-data-fx'; 45 | 46 | function reducer(state = initialState, action) { 47 | switch(action.type) { 48 | 'noop': 49 | return state; 50 | 51 | 'fetch/success': 52 | return { 53 | ...state, 54 | data: action.payload.data, 55 | isFetching: false 56 | }; 57 | 58 | 'fetch/error': 59 | return { 60 | ...state, 61 | error: 'Oops something wrong happened...', 62 | isFetching: false 63 | }; 64 | 65 | 'fetch-some-data': 66 | return fx( 67 | { ...state, isFetching: true }, 68 | [ 69 | { 70 | effect: 'fetch', 71 | url: 'http://some-api.com/data/1', 72 | method: 'GET', 73 | onSuccess: 'fetch/success', 74 | onError: 'fetch/error' 75 | } 76 | ] 77 | ); 78 | 79 | default: 80 | return state; 81 | } 82 | } 83 | ``` 84 | 85 | The action 'fetch-some-data' is what we call an effectful action, it updates the state and returns a description of some side effects to run (here an http call). 86 | 87 | If we want to run some side effects we need to return the result of the `fx` function called with our app new state and a data structure describing the side effects we want to perform. 88 | 89 | ```javascript 90 | fx(NewState, Effects) 91 | ``` 92 | 93 | - *NewState:* the new state of our app (what you usually return from our reducer) 94 | 95 | - *Effects:* an array containing the descriptions of the side effects you want to run. Each side effect should be described by a map containing at least an 'effect' key, being the id of the effect you want to perform. The data required to actually perform the side effect can be passed through any other keys in the map. (for instance for an api call, you might want to provide the url, the HTTP method, and some parameters). That should remind you of the structure of a redux action: ```{ type: 'myAction1', ...params }```, except that the 'effect' key is used to identify the effect to perform: ```{ effect: 'myEffect1', ...params }```. 96 | 97 | *Note:* the fx function just creates an object of the following shape: 98 | ```{ state: newAppState, effects: someEffectsToRun }``` 99 | You *have to* use the ```fx``` function to create this structure just so ```redux-data-fx``` knows that you want to run some effects. 100 | Then ```redux-data-fx``` will update the state and run the effects behind the scene. 101 | 102 | ### 2. Run side effects 103 | 104 | In order to actually run these described side effects you'll need to register some effect handlers. This is where the effectful code will be run (at the border of the system). 105 | 106 | For instance to run our fetch side effect we would register the following handler: 107 | 108 | ```javascript 109 | store.registerFX('fetch', (params, getState, dispatch) => { 110 | fetch(params.url, { 111 | method: params.method, 112 | body: params.body, 113 | ..., 114 | }).then(res => dispatch({ type: params.onSuccess, payload: res })) 115 | .catch(res => dispatch({ type: params.onError, payload: res })) 116 | }); 117 | ``` 118 | 119 | The first argument is the handler's id, it needs to be the same as the effect key you'll return in your reducer(s) to trigger this same effect. In this case 'fetch'. 120 | 121 | The second argument is the effect handler, the function that will perform the side effect. 122 | This function will be given 3 parameters when called: 123 | - the params provided in the effect map (from your reducer) 124 | - getState: useful if you need to access your state here 125 | - dispatch: so you can dispatch new actions from there 126 | 127 | ### 3. How to use it? 128 | 129 | As simple as this: 130 | 131 | ```npm install --save redux-data-fx``` 132 | 133 | ```javascript 134 | import { reduxDataFX } from 'redux-data-fx' 135 | import someMiddleware from 'some-middleware'; 136 | 137 | const enhancer = compose( 138 | applyMiddleware(someMiddleware), 139 | reduxDataFX 140 | ); 141 | 142 | const store = createStore(reducer, initialState, enhancer); 143 | 144 | // or createStore(reducer, enhancer); if you don't want to provide the initialState here 145 | // or createStore(reducer, initialState, reduxDataFx); if no middleware 146 | 147 | // then you can register as many FX as you want 148 | store.registerFX('fetch', (params, getState, dispatch) => { 149 | ... 150 | }); 151 | 152 | store.registerFX('localStorage', (params, getState, dispatch) => { 153 | ... 154 | }); 155 | 156 | store.registerFX('dispatchLater', (params, getState, dispatch) => { 157 | ... 158 | }); 159 | ``` 160 | 161 | You can import ```createStore``` from 'redux'. But if you are using typescript you should import it from 'redux-data-fx' (it's the same thing except the types will be right). 162 | 163 | ### Use with ```combineReducers``` 164 | 165 | If you want this to work with ```combineReducers``` from redux, you just have to use the one from ```redux-data-fx``` instead. You'll now be able to return effects from the reducers you're combining. 166 | 167 | ```javascript 168 | import { reduxDataFX, combineReducers } from 'redux-data-fx' 169 | 170 | const reducer = combinerReducers({ 171 | reducer1: reducer1, 172 | ... 173 | }); 174 | 175 | const store = createStore(reducer, reduxDataFx); 176 | ``` 177 | 178 | ### ```store.replaceReducer``` 179 | 180 | If you want to replace some reducers (for lazyloading), you should use the new function ```store.replaceEffectfulReducer``` from your store. 181 | 182 | ### Testing 183 | 184 | You can keep testing your reducers the same way but when they return some effect descriptions you have now the ability to make sure these are right too. 185 | 186 | As described before, the function ```fx(newState, effects)``` only creates an object with two fields: 187 | - state: the new state of your app 188 | - effects: your effects 189 | 190 | Those are only data, so it's quite easy for you to test both of them. 191 | 192 | Then you can test your effect handlers separately, to verify they run the side effects as expected given the right inputs. 193 | 194 | #### TODO: Default FX 195 | 196 | Create some default effect handlers like: 197 | - fetch 198 | - localStorage 199 | - sessionStorage 200 | - dispatchLater 201 | - dispatch -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@semantic-release/commit-analyzer@^3.0.1": 6 | version "3.0.7" 7 | resolved "https://registry.yarnpkg.com/@semantic-release/commit-analyzer/-/commit-analyzer-3.0.7.tgz#dc955444a6d3d2ae9b8e21f90c2c80c4e9142b2f" 8 | dependencies: 9 | "@semantic-release/error" "^2.0.0" 10 | conventional-changelog-angular "^1.4.0" 11 | conventional-commits-parser "^2.0.0" 12 | import-from "^2.1.0" 13 | lodash "^4.17.4" 14 | pify "^3.0.0" 15 | 16 | "@semantic-release/condition-travis@^6.0.0": 17 | version "6.1.0" 18 | resolved "https://registry.yarnpkg.com/@semantic-release/condition-travis/-/condition-travis-6.1.0.tgz#7962c728f4c19389b57759c7ff9ee08df9b15795" 19 | dependencies: 20 | "@semantic-release/error" "^2.0.0" 21 | github "^11.0.0" 22 | parse-github-repo-url "^1.4.1" 23 | semver "^5.0.3" 24 | travis-deploy-once "^3.0.0" 25 | 26 | "@semantic-release/error@^2.0.0": 27 | version "2.0.0" 28 | resolved "https://registry.yarnpkg.com/@semantic-release/error/-/error-2.0.0.tgz#f156ecd509f5288c48bc7425a8abe22f975d1f8b" 29 | 30 | "@semantic-release/last-release-npm@^2.0.0": 31 | version "2.0.2" 32 | resolved "https://registry.yarnpkg.com/@semantic-release/last-release-npm/-/last-release-npm-2.0.2.tgz#c91b1ccb48b0d7095b107be6ebc2c0c08bd88c27" 33 | dependencies: 34 | "@semantic-release/error" "^2.0.0" 35 | npm-registry-client "^8.4.0" 36 | npmlog "^4.0.0" 37 | 38 | "@semantic-release/release-notes-generator@^4.0.0": 39 | version "4.0.5" 40 | resolved "https://registry.yarnpkg.com/@semantic-release/release-notes-generator/-/release-notes-generator-4.0.5.tgz#46cc2f16bdb60fe9674bbcd616bfe0f8bb35347c" 41 | dependencies: 42 | "@semantic-release/error" "^2.0.0" 43 | conventional-changelog-angular "^1.4.0" 44 | conventional-changelog-core "^1.9.0" 45 | get-stream "^3.0.0" 46 | import-from "^2.1.0" 47 | lodash "^4.17.4" 48 | pify "^3.0.0" 49 | 50 | "@types/fs-extra@4.0.0": 51 | version "4.0.0" 52 | resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-4.0.0.tgz#1dd742ad5c9bce308f7a52d02ebc01421bc9102f" 53 | dependencies: 54 | "@types/node" "*" 55 | 56 | "@types/handlebars@4.0.31": 57 | version "4.0.31" 58 | resolved "https://registry.yarnpkg.com/@types/handlebars/-/handlebars-4.0.31.tgz#a7fba66fafe42713aee88eeca8db91192efe6e72" 59 | 60 | "@types/highlight.js@9.1.8": 61 | version "9.1.8" 62 | resolved "https://registry.yarnpkg.com/@types/highlight.js/-/highlight.js-9.1.8.tgz#d227f18bcb8f3f187e16965f2444859a04689758" 63 | 64 | "@types/jest@^21.1.0": 65 | version "21.1.4" 66 | resolved "https://registry.yarnpkg.com/@types/jest/-/jest-21.1.4.tgz#83c5c474dd6dee5bef9d014ff36787edfd4ab5a7" 67 | 68 | "@types/lodash.foreach@^4.5.3": 69 | version "4.5.3" 70 | resolved "https://registry.yarnpkg.com/@types/lodash.foreach/-/lodash.foreach-4.5.3.tgz#87c01a0c5d9d17eec936ca3c28897af79440cdfc" 71 | dependencies: 72 | "@types/lodash" "*" 73 | 74 | "@types/lodash@*": 75 | version "4.14.78" 76 | resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.78.tgz#f26a0b38a44a832c652964803c7e48be05939d3f" 77 | 78 | "@types/lodash@4.14.74": 79 | version "4.14.74" 80 | resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.74.tgz#ac3bd8db988e7f7038e5d22bd76a7ba13f876168" 81 | 82 | "@types/marked@0.3.0": 83 | version "0.3.0" 84 | resolved "https://registry.yarnpkg.com/@types/marked/-/marked-0.3.0.tgz#583c223dd33385a1dda01aaf77b0cd0411c4b524" 85 | 86 | "@types/minimatch@2.0.29": 87 | version "2.0.29" 88 | resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-2.0.29.tgz#5002e14f75e2d71e564281df0431c8c1b4a2a36a" 89 | 90 | "@types/node@*", "@types/node@^8.0.0": 91 | version "8.0.46" 92 | resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.46.tgz#6e1766b2d0ed06631d5b5f87bb8e72c8dbb6888e" 93 | 94 | "@types/shelljs@0.7.0": 95 | version "0.7.0" 96 | resolved "https://registry.yarnpkg.com/@types/shelljs/-/shelljs-0.7.0.tgz#229c157c6bc1e67d6b990e6c5e18dbd2ff58cff0" 97 | dependencies: 98 | "@types/node" "*" 99 | 100 | JSONStream@^1.0.4: 101 | version "1.3.1" 102 | resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.1.tgz#707f761e01dae9e16f1bcf93703b78c70966579a" 103 | dependencies: 104 | jsonparse "^1.2.0" 105 | through ">=2.2.7 <3" 106 | 107 | abab@^1.0.3: 108 | version "1.0.4" 109 | resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.4.tgz#5faad9c2c07f60dd76770f71cf025b62a63cfd4e" 110 | 111 | abbrev@1: 112 | version "1.1.1" 113 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" 114 | 115 | acorn-globals@^3.1.0: 116 | version "3.1.0" 117 | resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-3.1.0.tgz#fd8270f71fbb4996b004fa880ee5d46573a731bf" 118 | dependencies: 119 | acorn "^4.0.4" 120 | 121 | acorn@^4.0.4: 122 | version "4.0.13" 123 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" 124 | 125 | acorn@^5.1.2: 126 | version "5.1.2" 127 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.1.2.tgz#911cb53e036807cf0fa778dc5d370fbd864246d7" 128 | 129 | agent-base@2: 130 | version "2.1.1" 131 | resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-2.1.1.tgz#d6de10d5af6132d5bd692427d46fc538539094c7" 132 | dependencies: 133 | extend "~3.0.0" 134 | semver "~5.0.1" 135 | 136 | ajv@^4.9.1: 137 | version "4.11.8" 138 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" 139 | dependencies: 140 | co "^4.6.0" 141 | json-stable-stringify "^1.0.1" 142 | 143 | ajv@^5.1.0: 144 | version "5.2.3" 145 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.2.3.tgz#c06f598778c44c6b161abafe3466b81ad1814ed2" 146 | dependencies: 147 | co "^4.6.0" 148 | fast-deep-equal "^1.0.0" 149 | json-schema-traverse "^0.3.0" 150 | json-stable-stringify "^1.0.1" 151 | 152 | align-text@^0.1.1, align-text@^0.1.3: 153 | version "0.1.4" 154 | resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" 155 | dependencies: 156 | kind-of "^3.0.2" 157 | longest "^1.0.1" 158 | repeat-string "^1.5.2" 159 | 160 | amdefine@>=0.0.4: 161 | version "1.0.1" 162 | resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" 163 | 164 | ansi-escapes@^1.0.0, ansi-escapes@^1.1.0: 165 | version "1.4.0" 166 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" 167 | 168 | ansi-escapes@^3.0.0: 169 | version "3.0.0" 170 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.0.0.tgz#ec3e8b4e9f8064fc02c3ac9b65f1c275bda8ef92" 171 | 172 | ansi-regex@^2.0.0: 173 | version "2.1.1" 174 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 175 | 176 | ansi-regex@^3.0.0: 177 | version "3.0.0" 178 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 179 | 180 | ansi-styles@^2.2.1: 181 | version "2.2.1" 182 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 183 | 184 | ansi-styles@^3.1.0, ansi-styles@^3.2.0: 185 | version "3.2.0" 186 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88" 187 | dependencies: 188 | color-convert "^1.9.0" 189 | 190 | anymatch@^1.3.0: 191 | version "1.3.2" 192 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" 193 | dependencies: 194 | micromatch "^2.1.5" 195 | normalize-path "^2.0.0" 196 | 197 | app-root-path@^2.0.0: 198 | version "2.0.1" 199 | resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-2.0.1.tgz#cd62dcf8e4fd5a417efc664d2e5b10653c651b46" 200 | 201 | append-transform@^0.4.0: 202 | version "0.4.0" 203 | resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991" 204 | dependencies: 205 | default-require-extensions "^1.0.0" 206 | 207 | aproba@^1.0.3: 208 | version "1.2.0" 209 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" 210 | 211 | are-we-there-yet@~1.1.2: 212 | version "1.1.4" 213 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" 214 | dependencies: 215 | delegates "^1.0.0" 216 | readable-stream "^2.0.6" 217 | 218 | argparse@^1.0.7: 219 | version "1.0.9" 220 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" 221 | dependencies: 222 | sprintf-js "~1.0.2" 223 | 224 | arr-diff@^2.0.0: 225 | version "2.0.0" 226 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" 227 | dependencies: 228 | arr-flatten "^1.0.1" 229 | 230 | arr-flatten@^1.0.1: 231 | version "1.1.0" 232 | resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" 233 | 234 | array-equal@^1.0.0: 235 | version "1.0.0" 236 | resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" 237 | 238 | array-find-index@^1.0.1: 239 | version "1.0.2" 240 | resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" 241 | 242 | array-ify@^1.0.0: 243 | version "1.0.0" 244 | resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" 245 | 246 | array-unique@^0.2.1: 247 | version "0.2.1" 248 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" 249 | 250 | arrify@^1.0.0, arrify@^1.0.1: 251 | version "1.0.1" 252 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" 253 | 254 | asn1@~0.2.3: 255 | version "0.2.3" 256 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" 257 | 258 | assert-plus@1.0.0, assert-plus@^1.0.0: 259 | version "1.0.0" 260 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 261 | 262 | assert-plus@^0.2.0: 263 | version "0.2.0" 264 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" 265 | 266 | astral-regex@^1.0.0: 267 | version "1.0.0" 268 | resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" 269 | 270 | async@^1.4.0: 271 | version "1.5.2" 272 | resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" 273 | 274 | async@^2.0.1, async@^2.1.4: 275 | version "2.5.0" 276 | resolved "https://registry.yarnpkg.com/async/-/async-2.5.0.tgz#843190fd6b7357a0b9e1c956edddd5ec8462b54d" 277 | dependencies: 278 | lodash "^4.14.0" 279 | 280 | async@~0.9.0: 281 | version "0.9.2" 282 | resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" 283 | 284 | async@~1.0.0: 285 | version "1.0.0" 286 | resolved "https://registry.yarnpkg.com/async/-/async-1.0.0.tgz#f8fc04ca3a13784ade9e1641af98578cfbd647a9" 287 | 288 | asynckit@^0.4.0: 289 | version "0.4.0" 290 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 291 | 292 | atob@^2.0.0: 293 | version "2.0.3" 294 | resolved "https://registry.yarnpkg.com/atob/-/atob-2.0.3.tgz#19c7a760473774468f20b2d2d03372ad7d4cbf5d" 295 | 296 | aws-sign2@~0.6.0: 297 | version "0.6.0" 298 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" 299 | 300 | aws-sign2@~0.7.0: 301 | version "0.7.0" 302 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" 303 | 304 | aws4@^1.2.1, aws4@^1.6.0: 305 | version "1.6.0" 306 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" 307 | 308 | babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: 309 | version "6.26.0" 310 | resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" 311 | dependencies: 312 | chalk "^1.1.3" 313 | esutils "^2.0.2" 314 | js-tokens "^3.0.2" 315 | 316 | babel-core@^6.0.0, babel-core@^6.24.1, babel-core@^6.26.0: 317 | version "6.26.0" 318 | resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8" 319 | dependencies: 320 | babel-code-frame "^6.26.0" 321 | babel-generator "^6.26.0" 322 | babel-helpers "^6.24.1" 323 | babel-messages "^6.23.0" 324 | babel-register "^6.26.0" 325 | babel-runtime "^6.26.0" 326 | babel-template "^6.26.0" 327 | babel-traverse "^6.26.0" 328 | babel-types "^6.26.0" 329 | babylon "^6.18.0" 330 | convert-source-map "^1.5.0" 331 | debug "^2.6.8" 332 | json5 "^0.5.1" 333 | lodash "^4.17.4" 334 | minimatch "^3.0.4" 335 | path-is-absolute "^1.0.1" 336 | private "^0.1.7" 337 | slash "^1.0.0" 338 | source-map "^0.5.6" 339 | 340 | babel-generator@^6.18.0, babel-generator@^6.26.0: 341 | version "6.26.0" 342 | resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.0.tgz#ac1ae20070b79f6e3ca1d3269613053774f20dc5" 343 | dependencies: 344 | babel-messages "^6.23.0" 345 | babel-runtime "^6.26.0" 346 | babel-types "^6.26.0" 347 | detect-indent "^4.0.0" 348 | jsesc "^1.3.0" 349 | lodash "^4.17.4" 350 | source-map "^0.5.6" 351 | trim-right "^1.0.1" 352 | 353 | babel-helpers@^6.24.1: 354 | version "6.24.1" 355 | resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" 356 | dependencies: 357 | babel-runtime "^6.22.0" 358 | babel-template "^6.24.1" 359 | 360 | babel-jest@^21.2.0: 361 | version "21.2.0" 362 | resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-21.2.0.tgz#2ce059519a9374a2c46f2455b6fbef5ad75d863e" 363 | dependencies: 364 | babel-plugin-istanbul "^4.0.0" 365 | babel-preset-jest "^21.2.0" 366 | 367 | babel-messages@^6.23.0: 368 | version "6.23.0" 369 | resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" 370 | dependencies: 371 | babel-runtime "^6.22.0" 372 | 373 | babel-plugin-istanbul@^4.0.0, babel-plugin-istanbul@^4.1.4: 374 | version "4.1.5" 375 | resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.5.tgz#6760cdd977f411d3e175bb064f2bc327d99b2b6e" 376 | dependencies: 377 | find-up "^2.1.0" 378 | istanbul-lib-instrument "^1.7.5" 379 | test-exclude "^4.1.1" 380 | 381 | babel-plugin-jest-hoist@^21.2.0: 382 | version "21.2.0" 383 | resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-21.2.0.tgz#2cef637259bd4b628a6cace039de5fcd14dbb006" 384 | 385 | babel-plugin-syntax-object-rest-spread@^6.13.0: 386 | version "6.13.0" 387 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" 388 | 389 | babel-plugin-transform-es2015-modules-commonjs@^6.24.1: 390 | version "6.26.0" 391 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz#0d8394029b7dc6abe1a97ef181e00758dd2e5d8a" 392 | dependencies: 393 | babel-plugin-transform-strict-mode "^6.24.1" 394 | babel-runtime "^6.26.0" 395 | babel-template "^6.26.0" 396 | babel-types "^6.26.0" 397 | 398 | babel-plugin-transform-strict-mode@^6.24.1: 399 | version "6.24.1" 400 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" 401 | dependencies: 402 | babel-runtime "^6.22.0" 403 | babel-types "^6.24.1" 404 | 405 | babel-polyfill@^6.26.0: 406 | version "6.26.0" 407 | resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153" 408 | dependencies: 409 | babel-runtime "^6.26.0" 410 | core-js "^2.5.0" 411 | regenerator-runtime "^0.10.5" 412 | 413 | babel-preset-jest@^21.2.0: 414 | version "21.2.0" 415 | resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-21.2.0.tgz#ff9d2bce08abd98e8a36d9a8a5189b9173b85638" 416 | dependencies: 417 | babel-plugin-jest-hoist "^21.2.0" 418 | babel-plugin-syntax-object-rest-spread "^6.13.0" 419 | 420 | babel-register@^6.26.0: 421 | version "6.26.0" 422 | resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" 423 | dependencies: 424 | babel-core "^6.26.0" 425 | babel-runtime "^6.26.0" 426 | core-js "^2.5.0" 427 | home-or-tmp "^2.0.0" 428 | lodash "^4.17.4" 429 | mkdirp "^0.5.1" 430 | source-map-support "^0.4.15" 431 | 432 | babel-runtime@^6.22.0, babel-runtime@^6.26.0: 433 | version "6.26.0" 434 | resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" 435 | dependencies: 436 | core-js "^2.4.0" 437 | regenerator-runtime "^0.11.0" 438 | 439 | babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.26.0: 440 | version "6.26.0" 441 | resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" 442 | dependencies: 443 | babel-runtime "^6.26.0" 444 | babel-traverse "^6.26.0" 445 | babel-types "^6.26.0" 446 | babylon "^6.18.0" 447 | lodash "^4.17.4" 448 | 449 | babel-traverse@^6.18.0, babel-traverse@^6.26.0: 450 | version "6.26.0" 451 | resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" 452 | dependencies: 453 | babel-code-frame "^6.26.0" 454 | babel-messages "^6.23.0" 455 | babel-runtime "^6.26.0" 456 | babel-types "^6.26.0" 457 | babylon "^6.18.0" 458 | debug "^2.6.8" 459 | globals "^9.18.0" 460 | invariant "^2.2.2" 461 | lodash "^4.17.4" 462 | 463 | babel-types@^6.18.0, babel-types@^6.24.1, babel-types@^6.26.0: 464 | version "6.26.0" 465 | resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" 466 | dependencies: 467 | babel-runtime "^6.26.0" 468 | esutils "^2.0.2" 469 | lodash "^4.17.4" 470 | to-fast-properties "^1.0.3" 471 | 472 | babylon@^6.18.0: 473 | version "6.18.0" 474 | resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" 475 | 476 | balanced-match@^1.0.0: 477 | version "1.0.0" 478 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 479 | 480 | bcrypt-pbkdf@^1.0.0: 481 | version "1.0.1" 482 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" 483 | dependencies: 484 | tweetnacl "^0.14.3" 485 | 486 | bl@~1.1.2: 487 | version "1.1.2" 488 | resolved "https://registry.yarnpkg.com/bl/-/bl-1.1.2.tgz#fdca871a99713aa00d19e3bbba41c44787a65398" 489 | dependencies: 490 | readable-stream "~2.0.5" 491 | 492 | block-stream@*: 493 | version "0.0.9" 494 | resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" 495 | dependencies: 496 | inherits "~2.0.0" 497 | 498 | boom@2.x.x: 499 | version "2.10.1" 500 | resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" 501 | dependencies: 502 | hoek "2.x.x" 503 | 504 | boom@4.x.x: 505 | version "4.3.1" 506 | resolved "https://registry.yarnpkg.com/boom/-/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31" 507 | dependencies: 508 | hoek "4.x.x" 509 | 510 | boom@5.x.x: 511 | version "5.2.0" 512 | resolved "https://registry.yarnpkg.com/boom/-/boom-5.2.0.tgz#5dd9da6ee3a5f302077436290cb717d3f4a54e02" 513 | dependencies: 514 | hoek "4.x.x" 515 | 516 | brace-expansion@^1.1.7: 517 | version "1.1.8" 518 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" 519 | dependencies: 520 | balanced-match "^1.0.0" 521 | concat-map "0.0.1" 522 | 523 | braces@^1.8.2: 524 | version "1.8.5" 525 | resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" 526 | dependencies: 527 | expand-range "^1.8.1" 528 | preserve "^0.2.0" 529 | repeat-element "^1.1.2" 530 | 531 | browser-resolve@^1.11.0, browser-resolve@^1.11.2: 532 | version "1.11.2" 533 | resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce" 534 | dependencies: 535 | resolve "1.1.7" 536 | 537 | bser@^2.0.0: 538 | version "2.0.0" 539 | resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719" 540 | dependencies: 541 | node-int64 "^0.4.0" 542 | 543 | builtin-modules@^1.0.0, builtin-modules@^1.1.0: 544 | version "1.1.1" 545 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" 546 | 547 | builtins@^1.0.3: 548 | version "1.0.3" 549 | resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" 550 | 551 | cachedir@^1.1.0: 552 | version "1.1.1" 553 | resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-1.1.1.tgz#e1363075ea206a12767d92bb711c8a2f76a10f62" 554 | dependencies: 555 | os-homedir "^1.0.1" 556 | 557 | callsites@^2.0.0: 558 | version "2.0.0" 559 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" 560 | 561 | camelcase-keys@^2.0.0: 562 | version "2.1.0" 563 | resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" 564 | dependencies: 565 | camelcase "^2.0.0" 566 | map-obj "^1.0.0" 567 | 568 | camelcase@^1.0.2: 569 | version "1.2.1" 570 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" 571 | 572 | camelcase@^2.0.0: 573 | version "2.1.1" 574 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" 575 | 576 | camelcase@^4.1.0: 577 | version "4.1.0" 578 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" 579 | 580 | caseless@~0.11.0: 581 | version "0.11.0" 582 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" 583 | 584 | caseless@~0.12.0: 585 | version "0.12.0" 586 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" 587 | 588 | center-align@^0.1.1: 589 | version "0.1.3" 590 | resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" 591 | dependencies: 592 | align-text "^0.1.3" 593 | lazy-cache "^1.0.3" 594 | 595 | chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: 596 | version "1.1.3" 597 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 598 | dependencies: 599 | ansi-styles "^2.2.1" 600 | escape-string-regexp "^1.0.2" 601 | has-ansi "^2.0.0" 602 | strip-ansi "^3.0.0" 603 | supports-color "^2.0.0" 604 | 605 | chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0: 606 | version "2.2.0" 607 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.2.0.tgz#477b3bf2f9b8fd5ca9e429747e37f724ee7af240" 608 | dependencies: 609 | ansi-styles "^3.1.0" 610 | escape-string-regexp "^1.0.5" 611 | supports-color "^4.0.0" 612 | 613 | ci-info@^1.0.0: 614 | version "1.1.1" 615 | resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.1.1.tgz#47b44df118c48d2597b56d342e7e25791060171a" 616 | 617 | cli-cursor@^1.0.1, cli-cursor@^1.0.2: 618 | version "1.0.2" 619 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" 620 | dependencies: 621 | restore-cursor "^1.0.1" 622 | 623 | cli-spinners@^0.1.2: 624 | version "0.1.2" 625 | resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-0.1.2.tgz#bb764d88e185fb9e1e6a2a1f19772318f605e31c" 626 | 627 | cli-truncate@^0.2.1: 628 | version "0.2.1" 629 | resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" 630 | dependencies: 631 | slice-ansi "0.0.4" 632 | string-width "^1.0.1" 633 | 634 | cli-width@^2.0.0: 635 | version "2.2.0" 636 | resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" 637 | 638 | cliui@^2.1.0: 639 | version "2.1.0" 640 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" 641 | dependencies: 642 | center-align "^0.1.1" 643 | right-align "^0.1.1" 644 | wordwrap "0.0.2" 645 | 646 | cliui@^3.2.0: 647 | version "3.2.0" 648 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" 649 | dependencies: 650 | string-width "^1.0.1" 651 | strip-ansi "^3.0.1" 652 | wrap-ansi "^2.0.0" 653 | 654 | co@^4.6.0: 655 | version "4.6.0" 656 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" 657 | 658 | code-point-at@^1.0.0: 659 | version "1.1.0" 660 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 661 | 662 | color-convert@^1.9.0: 663 | version "1.9.0" 664 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a" 665 | dependencies: 666 | color-name "^1.1.1" 667 | 668 | color-name@^1.1.1: 669 | version "1.1.3" 670 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 671 | 672 | colors@1.0.x: 673 | version "1.0.3" 674 | resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" 675 | 676 | colors@^1.1.2: 677 | version "1.1.2" 678 | resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" 679 | 680 | colors@~0.6.0-1: 681 | version "0.6.2" 682 | resolved "https://registry.yarnpkg.com/colors/-/colors-0.6.2.tgz#2423fe6678ac0c5dae8852e5d0e5be08c997abcc" 683 | 684 | combined-stream@^1.0.5, combined-stream@~1.0.5: 685 | version "1.0.5" 686 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" 687 | dependencies: 688 | delayed-stream "~1.0.0" 689 | 690 | commander@^2.11.0, commander@^2.9.0: 691 | version "2.11.0" 692 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" 693 | 694 | commander@~2.1.0: 695 | version "2.1.0" 696 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.1.0.tgz#d121bbae860d9992a3d517ba96f56588e47c6781" 697 | 698 | commitizen@^2.9.6: 699 | version "2.9.6" 700 | resolved "https://registry.yarnpkg.com/commitizen/-/commitizen-2.9.6.tgz#c0d00535ef264da7f63737edfda4228983fa2291" 701 | dependencies: 702 | cachedir "^1.1.0" 703 | chalk "1.1.3" 704 | cz-conventional-changelog "1.2.0" 705 | dedent "0.6.0" 706 | detect-indent "4.0.0" 707 | find-node-modules "1.0.4" 708 | find-root "1.0.0" 709 | fs-extra "^1.0.0" 710 | glob "7.1.1" 711 | inquirer "1.2.3" 712 | lodash "4.17.2" 713 | minimist "1.2.0" 714 | path-exists "2.1.0" 715 | shelljs "0.7.6" 716 | strip-json-comments "2.0.1" 717 | 718 | compare-func@^1.3.1: 719 | version "1.3.2" 720 | resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-1.3.2.tgz#99dd0ba457e1f9bc722b12c08ec33eeab31fa648" 721 | dependencies: 722 | array-ify "^1.0.0" 723 | dot-prop "^3.0.0" 724 | 725 | concat-map@0.0.1: 726 | version "0.0.1" 727 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 728 | 729 | concat-stream@^1.4.7, concat-stream@^1.5.2: 730 | version "1.6.0" 731 | resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" 732 | dependencies: 733 | inherits "^2.0.3" 734 | readable-stream "^2.2.2" 735 | typedarray "^0.0.6" 736 | 737 | config-chain@~1.1.8: 738 | version "1.1.11" 739 | resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.11.tgz#aba09747dfbe4c3e70e766a6e41586e1859fc6f2" 740 | dependencies: 741 | ini "^1.3.4" 742 | proto-list "~1.2.1" 743 | 744 | console-control-strings@^1.0.0, console-control-strings@~1.1.0: 745 | version "1.1.0" 746 | resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" 747 | 748 | content-type-parser@^1.0.1: 749 | version "1.0.1" 750 | resolved "https://registry.yarnpkg.com/content-type-parser/-/content-type-parser-1.0.1.tgz#c3e56988c53c65127fb46d4032a3a900246fdc94" 751 | 752 | conventional-changelog-angular@^1.4.0: 753 | version "1.5.1" 754 | resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-1.5.1.tgz#974e73aa1c39c392e4364f2952bd9a62904e9ea3" 755 | dependencies: 756 | compare-func "^1.3.1" 757 | q "^1.4.1" 758 | 759 | conventional-changelog-core@^1.9.0: 760 | version "1.9.2" 761 | resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-1.9.2.tgz#a09b6b959161671ff45b93cc9efb0444e7c845c0" 762 | dependencies: 763 | conventional-changelog-writer "^2.0.1" 764 | conventional-commits-parser "^2.0.0" 765 | dateformat "^1.0.12" 766 | get-pkg-repo "^1.0.0" 767 | git-raw-commits "^1.2.0" 768 | git-remote-origin-url "^2.0.0" 769 | git-semver-tags "^1.2.2" 770 | lodash "^4.0.0" 771 | normalize-package-data "^2.3.5" 772 | q "^1.4.1" 773 | read-pkg "^1.1.0" 774 | read-pkg-up "^1.0.1" 775 | through2 "^2.0.0" 776 | 777 | conventional-changelog-writer@^2.0.1: 778 | version "2.0.1" 779 | resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-2.0.1.tgz#47c10d0faba526b78d194389d1e931d09ee62372" 780 | dependencies: 781 | compare-func "^1.3.1" 782 | conventional-commits-filter "^1.0.0" 783 | dateformat "^1.0.11" 784 | handlebars "^4.0.2" 785 | json-stringify-safe "^5.0.1" 786 | lodash "^4.0.0" 787 | meow "^3.3.0" 788 | semver "^5.0.1" 789 | split "^1.0.0" 790 | through2 "^2.0.0" 791 | 792 | conventional-commit-types@^2.0.0: 793 | version "2.2.0" 794 | resolved "https://registry.yarnpkg.com/conventional-commit-types/-/conventional-commit-types-2.2.0.tgz#5db95739d6c212acbe7b6f656a11b940baa68946" 795 | 796 | conventional-commits-filter@^1.0.0: 797 | version "1.0.0" 798 | resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-1.0.0.tgz#6fc2a659372bc3f2339cf9ffff7e1b0344b93039" 799 | dependencies: 800 | is-subset "^0.1.1" 801 | modify-values "^1.0.0" 802 | 803 | conventional-commits-parser@^2.0.0: 804 | version "2.0.0" 805 | resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-2.0.0.tgz#71d01910cb0a99aeb20c144e50f81f4df3178447" 806 | dependencies: 807 | JSONStream "^1.0.4" 808 | is-text-path "^1.0.0" 809 | lodash "^4.2.1" 810 | meow "^3.3.0" 811 | split2 "^2.0.0" 812 | through2 "^2.0.0" 813 | trim-off-newlines "^1.0.0" 814 | 815 | convert-source-map@^1.4.0, convert-source-map@^1.5.0: 816 | version "1.5.0" 817 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" 818 | 819 | core-js@^2.4.0, core-js@^2.5.0: 820 | version "2.5.1" 821 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.1.tgz#ae6874dc66937789b80754ff5428df66819ca50b" 822 | 823 | core-util-is@1.0.2, core-util-is@^1.0.1, core-util-is@~1.0.0: 824 | version "1.0.2" 825 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 826 | 827 | cosmiconfig@^1.1.0: 828 | version "1.1.0" 829 | resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-1.1.0.tgz#0dea0f9804efdfb929fbb1b188e25553ea053d37" 830 | dependencies: 831 | graceful-fs "^4.1.2" 832 | js-yaml "^3.4.3" 833 | minimist "^1.2.0" 834 | object-assign "^4.0.1" 835 | os-homedir "^1.0.1" 836 | parse-json "^2.2.0" 837 | pinkie-promise "^2.0.0" 838 | require-from-string "^1.1.0" 839 | 840 | coveralls@^3.0.0: 841 | version "3.0.0" 842 | resolved "https://registry.yarnpkg.com/coveralls/-/coveralls-3.0.0.tgz#22ef730330538080d29b8c151dc9146afde88a99" 843 | dependencies: 844 | js-yaml "^3.6.1" 845 | lcov-parse "^0.0.10" 846 | log-driver "^1.2.5" 847 | minimist "^1.2.0" 848 | request "^2.79.0" 849 | 850 | cross-env@^5.0.1: 851 | version "5.1.0" 852 | resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-5.1.0.tgz#1f12d6b3777d5847dcf9cf39fbee3c6a76dd5058" 853 | dependencies: 854 | cross-spawn "^5.1.0" 855 | is-windows "^1.0.0" 856 | 857 | cross-spawn@^5.0.1, cross-spawn@^5.1.0: 858 | version "5.1.0" 859 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" 860 | dependencies: 861 | lru-cache "^4.0.1" 862 | shebang-command "^1.2.0" 863 | which "^1.2.9" 864 | 865 | cryptiles@2.x.x: 866 | version "2.0.5" 867 | resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" 868 | dependencies: 869 | boom "2.x.x" 870 | 871 | cryptiles@3.x.x: 872 | version "3.1.2" 873 | resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe" 874 | dependencies: 875 | boom "5.x.x" 876 | 877 | cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": 878 | version "0.3.2" 879 | resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.2.tgz#b8036170c79f07a90ff2f16e22284027a243848b" 880 | 881 | "cssstyle@>= 0.2.37 < 0.3.0": 882 | version "0.2.37" 883 | resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-0.2.37.tgz#541097234cb2513c83ceed3acddc27ff27987d54" 884 | dependencies: 885 | cssom "0.3.x" 886 | 887 | currently-unhandled@^0.4.1: 888 | version "0.4.1" 889 | resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" 890 | dependencies: 891 | array-find-index "^1.0.1" 892 | 893 | cycle@1.0.x: 894 | version "1.0.3" 895 | resolved "https://registry.yarnpkg.com/cycle/-/cycle-1.0.3.tgz#21e80b2be8580f98b468f379430662b046c34ad2" 896 | 897 | cz-conventional-changelog@1.2.0: 898 | version "1.2.0" 899 | resolved "https://registry.yarnpkg.com/cz-conventional-changelog/-/cz-conventional-changelog-1.2.0.tgz#2bca04964c8919b23f3fd6a89ef5e6008b31b3f8" 900 | dependencies: 901 | conventional-commit-types "^2.0.0" 902 | lodash.map "^4.5.1" 903 | longest "^1.0.1" 904 | pad-right "^0.2.2" 905 | right-pad "^1.0.1" 906 | word-wrap "^1.0.3" 907 | 908 | cz-conventional-changelog@^2.0.0: 909 | version "2.0.0" 910 | resolved "https://registry.yarnpkg.com/cz-conventional-changelog/-/cz-conventional-changelog-2.0.0.tgz#55a979afdfe95e7024879d2a0f5924630170b533" 911 | dependencies: 912 | conventional-commit-types "^2.0.0" 913 | lodash.map "^4.5.1" 914 | longest "^1.0.1" 915 | pad-right "^0.2.2" 916 | right-pad "^1.0.1" 917 | word-wrap "^1.0.3" 918 | 919 | dargs@^4.0.1: 920 | version "4.1.0" 921 | resolved "https://registry.yarnpkg.com/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17" 922 | dependencies: 923 | number-is-nan "^1.0.0" 924 | 925 | dashdash@^1.12.0: 926 | version "1.14.1" 927 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" 928 | dependencies: 929 | assert-plus "^1.0.0" 930 | 931 | date-fns@^1.27.2: 932 | version "1.29.0" 933 | resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.29.0.tgz#12e609cdcb935127311d04d33334e2960a2a54e6" 934 | 935 | dateformat@^1.0.11, dateformat@^1.0.12: 936 | version "1.0.12" 937 | resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9" 938 | dependencies: 939 | get-stdin "^4.0.1" 940 | meow "^3.3.0" 941 | 942 | debug@2, debug@^2.2.0, debug@^2.6.3, debug@^2.6.8: 943 | version "2.6.9" 944 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 945 | dependencies: 946 | ms "2.0.0" 947 | 948 | decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: 949 | version "1.2.0" 950 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 951 | 952 | dedent@0.6.0: 953 | version "0.6.0" 954 | resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.6.0.tgz#0e6da8f0ce52838ef5cec5c8f9396b0c1b64a3cb" 955 | 956 | deep-diff@^0.3.5: 957 | version "0.3.8" 958 | resolved "https://registry.yarnpkg.com/deep-diff/-/deep-diff-0.3.8.tgz#c01de63efb0eec9798801d40c7e0dae25b582c84" 959 | 960 | deep-equal@~0.2.1: 961 | version "0.2.2" 962 | resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-0.2.2.tgz#84b745896f34c684e98f2ce0e42abaf43bba017d" 963 | 964 | deep-extend@~0.4.0: 965 | version "0.4.2" 966 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" 967 | 968 | deep-is@~0.1.3: 969 | version "0.1.3" 970 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" 971 | 972 | default-require-extensions@^1.0.0: 973 | version "1.0.0" 974 | resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8" 975 | dependencies: 976 | strip-bom "^2.0.0" 977 | 978 | delayed-stream@~1.0.0: 979 | version "1.0.0" 980 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 981 | 982 | delegates@^1.0.0: 983 | version "1.0.0" 984 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" 985 | 986 | detect-file@^0.1.0: 987 | version "0.1.0" 988 | resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-0.1.0.tgz#4935dedfd9488648e006b0129566e9386711ea63" 989 | dependencies: 990 | fs-exists-sync "^0.1.0" 991 | 992 | detect-indent@4.0.0, detect-indent@^4.0.0: 993 | version "4.0.0" 994 | resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" 995 | dependencies: 996 | repeating "^2.0.0" 997 | 998 | diff@^3.1.0, diff@^3.2.0: 999 | version "3.4.0" 1000 | resolved "https://registry.yarnpkg.com/diff/-/diff-3.4.0.tgz#b1d85507daf3964828de54b37d0d73ba67dda56c" 1001 | 1002 | doctrine@^0.7.2: 1003 | version "0.7.2" 1004 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-0.7.2.tgz#7cb860359ba3be90e040b26b729ce4bfa654c523" 1005 | dependencies: 1006 | esutils "^1.1.6" 1007 | isarray "0.0.1" 1008 | 1009 | dot-prop@^3.0.0: 1010 | version "3.0.0" 1011 | resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" 1012 | dependencies: 1013 | is-obj "^1.0.0" 1014 | 1015 | ecc-jsbn@~0.1.1: 1016 | version "0.1.1" 1017 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" 1018 | dependencies: 1019 | jsbn "~0.1.0" 1020 | 1021 | elegant-spinner@^1.0.1: 1022 | version "1.0.1" 1023 | resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" 1024 | 1025 | errno@^0.1.4: 1026 | version "0.1.4" 1027 | resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d" 1028 | dependencies: 1029 | prr "~0.0.0" 1030 | 1031 | error-ex@^1.2.0: 1032 | version "1.3.1" 1033 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" 1034 | dependencies: 1035 | is-arrayish "^0.2.1" 1036 | 1037 | escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: 1038 | version "1.0.5" 1039 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 1040 | 1041 | escodegen@^1.6.1: 1042 | version "1.9.0" 1043 | resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.9.0.tgz#9811a2f265dc1cd3894420ee3717064b632b8852" 1044 | dependencies: 1045 | esprima "^3.1.3" 1046 | estraverse "^4.2.0" 1047 | esutils "^2.0.2" 1048 | optionator "^0.8.1" 1049 | optionalDependencies: 1050 | source-map "~0.5.6" 1051 | 1052 | esprima@^3.1.3: 1053 | version "3.1.3" 1054 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" 1055 | 1056 | esprima@^4.0.0: 1057 | version "4.0.0" 1058 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" 1059 | 1060 | estraverse@^4.2.0: 1061 | version "4.2.0" 1062 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" 1063 | 1064 | estree-walker@^0.3.0: 1065 | version "0.3.1" 1066 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.3.1.tgz#e6b1a51cf7292524e7237c312e5fe6660c1ce1aa" 1067 | 1068 | estree-walker@^0.5.0: 1069 | version "0.5.0" 1070 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.5.0.tgz#aae3b57c42deb8010e349c892462f0e71c5dd1aa" 1071 | 1072 | esutils@^1.1.6: 1073 | version "1.1.6" 1074 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-1.1.6.tgz#c01ccaa9ae4b897c6d0c3e210ae52f3c7a844375" 1075 | 1076 | esutils@^2.0.2: 1077 | version "2.0.2" 1078 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" 1079 | 1080 | exec-sh@^0.2.0: 1081 | version "0.2.1" 1082 | resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.1.tgz#163b98a6e89e6b65b47c2a28d215bc1f63989c38" 1083 | dependencies: 1084 | merge "^1.1.3" 1085 | 1086 | execa@^0.7.0: 1087 | version "0.7.0" 1088 | resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" 1089 | dependencies: 1090 | cross-spawn "^5.0.1" 1091 | get-stream "^3.0.0" 1092 | is-stream "^1.1.0" 1093 | npm-run-path "^2.0.0" 1094 | p-finally "^1.0.0" 1095 | signal-exit "^3.0.0" 1096 | strip-eof "^1.0.0" 1097 | 1098 | execa@^0.8.0: 1099 | version "0.8.0" 1100 | resolved "https://registry.yarnpkg.com/execa/-/execa-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da" 1101 | dependencies: 1102 | cross-spawn "^5.0.1" 1103 | get-stream "^3.0.0" 1104 | is-stream "^1.1.0" 1105 | npm-run-path "^2.0.0" 1106 | p-finally "^1.0.0" 1107 | signal-exit "^3.0.0" 1108 | strip-eof "^1.0.0" 1109 | 1110 | exit-hook@^1.0.0: 1111 | version "1.1.1" 1112 | resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" 1113 | 1114 | expand-brackets@^0.1.4: 1115 | version "0.1.5" 1116 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" 1117 | dependencies: 1118 | is-posix-bracket "^0.1.0" 1119 | 1120 | expand-range@^1.8.1: 1121 | version "1.8.2" 1122 | resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" 1123 | dependencies: 1124 | fill-range "^2.1.0" 1125 | 1126 | expand-tilde@^1.2.2: 1127 | version "1.2.2" 1128 | resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-1.2.2.tgz#0b81eba897e5a3d31d1c3d102f8f01441e559449" 1129 | dependencies: 1130 | os-homedir "^1.0.1" 1131 | 1132 | expect@^21.2.1: 1133 | version "21.2.1" 1134 | resolved "https://registry.yarnpkg.com/expect/-/expect-21.2.1.tgz#003ac2ac7005c3c29e73b38a272d4afadd6d1d7b" 1135 | dependencies: 1136 | ansi-styles "^3.2.0" 1137 | jest-diff "^21.2.1" 1138 | jest-get-type "^21.2.0" 1139 | jest-matcher-utils "^21.2.1" 1140 | jest-message-util "^21.2.1" 1141 | jest-regex-util "^21.2.0" 1142 | 1143 | extend@3, extend@^3.0.0, extend@~3.0.0, extend@~3.0.1: 1144 | version "3.0.1" 1145 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" 1146 | 1147 | external-editor@^1.1.0: 1148 | version "1.1.1" 1149 | resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-1.1.1.tgz#12d7b0db850f7ff7e7081baf4005700060c4600b" 1150 | dependencies: 1151 | extend "^3.0.0" 1152 | spawn-sync "^1.0.15" 1153 | tmp "^0.0.29" 1154 | 1155 | extglob@^0.3.1: 1156 | version "0.3.2" 1157 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" 1158 | dependencies: 1159 | is-extglob "^1.0.0" 1160 | 1161 | extsprintf@1.3.0, extsprintf@^1.2.0: 1162 | version "1.3.0" 1163 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" 1164 | 1165 | eyes@0.1.x: 1166 | version "0.1.8" 1167 | resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" 1168 | 1169 | fast-deep-equal@^1.0.0: 1170 | version "1.0.0" 1171 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff" 1172 | 1173 | fast-levenshtein@~2.0.4: 1174 | version "2.0.6" 1175 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 1176 | 1177 | fb-watchman@^2.0.0: 1178 | version "2.0.0" 1179 | resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" 1180 | dependencies: 1181 | bser "^2.0.0" 1182 | 1183 | figures@^1.3.5, figures@^1.7.0: 1184 | version "1.7.0" 1185 | resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" 1186 | dependencies: 1187 | escape-string-regexp "^1.0.5" 1188 | object-assign "^4.1.0" 1189 | 1190 | filename-regex@^2.0.0: 1191 | version "2.0.1" 1192 | resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" 1193 | 1194 | fileset@^2.0.2: 1195 | version "2.0.3" 1196 | resolved "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0" 1197 | dependencies: 1198 | glob "^7.0.3" 1199 | minimatch "^3.0.3" 1200 | 1201 | fill-range@^2.1.0: 1202 | version "2.2.3" 1203 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" 1204 | dependencies: 1205 | is-number "^2.1.0" 1206 | isobject "^2.0.0" 1207 | randomatic "^1.1.3" 1208 | repeat-element "^1.1.2" 1209 | repeat-string "^1.5.2" 1210 | 1211 | find-node-modules@1.0.4: 1212 | version "1.0.4" 1213 | resolved "https://registry.yarnpkg.com/find-node-modules/-/find-node-modules-1.0.4.tgz#b6deb3cccb699c87037677bcede2c5f5862b2550" 1214 | dependencies: 1215 | findup-sync "0.4.2" 1216 | merge "^1.2.0" 1217 | 1218 | find-parent-dir@^0.3.0: 1219 | version "0.3.0" 1220 | resolved "https://registry.yarnpkg.com/find-parent-dir/-/find-parent-dir-0.3.0.tgz#33c44b429ab2b2f0646299c5f9f718f376ff8d54" 1221 | 1222 | find-root@1.0.0: 1223 | version "1.0.0" 1224 | resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.0.0.tgz#962ff211aab25c6520feeeb8d6287f8f6e95807a" 1225 | 1226 | find-up@^1.0.0: 1227 | version "1.1.2" 1228 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" 1229 | dependencies: 1230 | path-exists "^2.0.0" 1231 | pinkie-promise "^2.0.0" 1232 | 1233 | find-up@^2.0.0, find-up@^2.1.0: 1234 | version "2.1.0" 1235 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" 1236 | dependencies: 1237 | locate-path "^2.0.0" 1238 | 1239 | findup-sync@0.4.2: 1240 | version "0.4.2" 1241 | resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.4.2.tgz#a8117d0f73124f5a4546839579fe52d7129fb5e5" 1242 | dependencies: 1243 | detect-file "^0.1.0" 1244 | is-glob "^2.0.1" 1245 | micromatch "^2.3.7" 1246 | resolve-dir "^0.1.0" 1247 | 1248 | findup@0.1.5: 1249 | version "0.1.5" 1250 | resolved "https://registry.yarnpkg.com/findup/-/findup-0.1.5.tgz#8ad929a3393bac627957a7e5de4623b06b0e2ceb" 1251 | dependencies: 1252 | colors "~0.6.0-1" 1253 | commander "~2.1.0" 1254 | 1255 | follow-redirects@0.0.7: 1256 | version "0.0.7" 1257 | resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-0.0.7.tgz#34b90bab2a911aa347571da90f22bd36ecd8a919" 1258 | dependencies: 1259 | debug "^2.2.0" 1260 | stream-consume "^0.1.0" 1261 | 1262 | for-in@^1.0.1: 1263 | version "1.0.2" 1264 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" 1265 | 1266 | for-own@^0.1.4: 1267 | version "0.1.5" 1268 | resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" 1269 | dependencies: 1270 | for-in "^1.0.1" 1271 | 1272 | foreachasync@^3.0.0: 1273 | version "3.0.0" 1274 | resolved "https://registry.yarnpkg.com/foreachasync/-/foreachasync-3.0.0.tgz#5502987dc8714be3392097f32e0071c9dee07cf6" 1275 | 1276 | forever-agent@~0.6.1: 1277 | version "0.6.1" 1278 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" 1279 | 1280 | form-data@~1.0.0-rc4: 1281 | version "1.0.1" 1282 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-1.0.1.tgz#ae315db9a4907fa065502304a66d7733475ee37c" 1283 | dependencies: 1284 | async "^2.0.1" 1285 | combined-stream "^1.0.5" 1286 | mime-types "^2.1.11" 1287 | 1288 | form-data@~2.1.1: 1289 | version "2.1.4" 1290 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" 1291 | dependencies: 1292 | asynckit "^0.4.0" 1293 | combined-stream "^1.0.5" 1294 | mime-types "^2.1.12" 1295 | 1296 | form-data@~2.3.1: 1297 | version "2.3.1" 1298 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.1.tgz#6fb94fbd71885306d73d15cc497fe4cc4ecd44bf" 1299 | dependencies: 1300 | asynckit "^0.4.0" 1301 | combined-stream "^1.0.5" 1302 | mime-types "^2.1.12" 1303 | 1304 | fs-exists-sync@^0.1.0: 1305 | version "0.1.0" 1306 | resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" 1307 | 1308 | fs-extra@^1.0.0: 1309 | version "1.0.0" 1310 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-1.0.0.tgz#cd3ce5f7e7cb6145883fcae3191e9877f8587950" 1311 | dependencies: 1312 | graceful-fs "^4.1.2" 1313 | jsonfile "^2.1.0" 1314 | klaw "^1.0.0" 1315 | 1316 | fs-extra@^4.0.0, fs-extra@^4.0.2: 1317 | version "4.0.2" 1318 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.2.tgz#f91704c53d1b461f893452b0c307d9997647ab6b" 1319 | dependencies: 1320 | graceful-fs "^4.1.2" 1321 | jsonfile "^4.0.0" 1322 | universalify "^0.1.0" 1323 | 1324 | fs.realpath@^1.0.0: 1325 | version "1.0.0" 1326 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1327 | 1328 | fsevents@^1.1.1: 1329 | version "1.1.2" 1330 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.2.tgz#3282b713fb3ad80ede0e9fcf4611b5aa6fc033f4" 1331 | dependencies: 1332 | nan "^2.3.0" 1333 | node-pre-gyp "^0.6.36" 1334 | 1335 | fstream-ignore@^1.0.5: 1336 | version "1.0.5" 1337 | resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" 1338 | dependencies: 1339 | fstream "^1.0.0" 1340 | inherits "2" 1341 | minimatch "^3.0.0" 1342 | 1343 | fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: 1344 | version "1.0.11" 1345 | resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" 1346 | dependencies: 1347 | graceful-fs "^4.1.2" 1348 | inherits "~2.0.0" 1349 | mkdirp ">=0.5 0" 1350 | rimraf "2" 1351 | 1352 | gauge@~2.7.3: 1353 | version "2.7.4" 1354 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" 1355 | dependencies: 1356 | aproba "^1.0.3" 1357 | console-control-strings "^1.0.0" 1358 | has-unicode "^2.0.0" 1359 | object-assign "^4.1.0" 1360 | signal-exit "^3.0.0" 1361 | string-width "^1.0.1" 1362 | strip-ansi "^3.0.1" 1363 | wide-align "^1.1.0" 1364 | 1365 | generate-function@^2.0.0: 1366 | version "2.0.0" 1367 | resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" 1368 | 1369 | generate-object-property@^1.1.0: 1370 | version "1.2.0" 1371 | resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" 1372 | dependencies: 1373 | is-property "^1.0.0" 1374 | 1375 | get-caller-file@^1.0.1: 1376 | version "1.0.2" 1377 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" 1378 | 1379 | get-own-enumerable-property-symbols@^2.0.1: 1380 | version "2.0.1" 1381 | resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-2.0.1.tgz#5c4ad87f2834c4b9b4e84549dc1e0650fb38c24b" 1382 | 1383 | get-pkg-repo@^1.0.0: 1384 | version "1.4.0" 1385 | resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz#c73b489c06d80cc5536c2c853f9e05232056972d" 1386 | dependencies: 1387 | hosted-git-info "^2.1.4" 1388 | meow "^3.3.0" 1389 | normalize-package-data "^2.3.0" 1390 | parse-github-repo-url "^1.3.0" 1391 | through2 "^2.0.0" 1392 | 1393 | get-stdin@^4.0.1: 1394 | version "4.0.1" 1395 | resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" 1396 | 1397 | get-stream@^3.0.0: 1398 | version "3.0.0" 1399 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" 1400 | 1401 | getpass@^0.1.1: 1402 | version "0.1.7" 1403 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" 1404 | dependencies: 1405 | assert-plus "^1.0.0" 1406 | 1407 | git-head@^1.2.1: 1408 | version "1.20.1" 1409 | resolved "https://registry.yarnpkg.com/git-head/-/git-head-1.20.1.tgz#036d16a4b374949e4e3daf15827903686d3ccd52" 1410 | dependencies: 1411 | git-refs "^1.1.3" 1412 | 1413 | git-raw-commits@^1.2.0: 1414 | version "1.2.0" 1415 | resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-1.2.0.tgz#0f3a8bfd99ae0f2d8b9224d58892975e9a52d03c" 1416 | dependencies: 1417 | dargs "^4.0.1" 1418 | lodash.template "^4.0.2" 1419 | meow "^3.3.0" 1420 | split2 "^2.0.0" 1421 | through2 "^2.0.0" 1422 | 1423 | git-refs@^1.1.3: 1424 | version "1.1.3" 1425 | resolved "https://registry.yarnpkg.com/git-refs/-/git-refs-1.1.3.tgz#83097cb3a92585c4a4926ec54e2182df9e20e89d" 1426 | dependencies: 1427 | path-object "^2.3.0" 1428 | slash "^1.0.0" 1429 | walk "^2.3.9" 1430 | 1431 | git-remote-origin-url@^2.0.0: 1432 | version "2.0.0" 1433 | resolved "https://registry.yarnpkg.com/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f" 1434 | dependencies: 1435 | gitconfiglocal "^1.0.0" 1436 | pify "^2.3.0" 1437 | 1438 | git-semver-tags@^1.2.2: 1439 | version "1.2.2" 1440 | resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-1.2.2.tgz#a2139be1bf6e337e125f3eb8bb8fc6f5d4d6445f" 1441 | dependencies: 1442 | meow "^3.3.0" 1443 | semver "^5.0.1" 1444 | 1445 | gitconfiglocal@^1.0.0: 1446 | version "1.0.0" 1447 | resolved "https://registry.yarnpkg.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b" 1448 | dependencies: 1449 | ini "^1.3.2" 1450 | 1451 | github@^11.0.0: 1452 | version "11.0.0" 1453 | resolved "https://registry.yarnpkg.com/github/-/github-11.0.0.tgz#edb32df5efb33cad004ebf0bdd2a4b30bb63a854" 1454 | dependencies: 1455 | follow-redirects "0.0.7" 1456 | https-proxy-agent "^1.0.0" 1457 | mime "^1.2.11" 1458 | netrc "^0.1.4" 1459 | 1460 | github@~0.1.10: 1461 | version "0.1.16" 1462 | resolved "https://registry.yarnpkg.com/github/-/github-0.1.16.tgz#895d2a85b0feb7980d89ac0ce4f44dcaa03f17b5" 1463 | 1464 | glob-base@^0.3.0: 1465 | version "0.3.0" 1466 | resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" 1467 | dependencies: 1468 | glob-parent "^2.0.0" 1469 | is-glob "^2.0.0" 1470 | 1471 | glob-parent@^2.0.0: 1472 | version "2.0.0" 1473 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" 1474 | dependencies: 1475 | is-glob "^2.0.0" 1476 | 1477 | glob@7.1.1: 1478 | version "7.1.1" 1479 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" 1480 | dependencies: 1481 | fs.realpath "^1.0.0" 1482 | inflight "^1.0.4" 1483 | inherits "2" 1484 | minimatch "^3.0.2" 1485 | once "^1.3.0" 1486 | path-is-absolute "^1.0.0" 1487 | 1488 | glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2: 1489 | version "7.1.2" 1490 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" 1491 | dependencies: 1492 | fs.realpath "^1.0.0" 1493 | inflight "^1.0.4" 1494 | inherits "2" 1495 | minimatch "^3.0.4" 1496 | once "^1.3.0" 1497 | path-is-absolute "^1.0.0" 1498 | 1499 | global-modules@^0.2.3: 1500 | version "0.2.3" 1501 | resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-0.2.3.tgz#ea5a3bed42c6d6ce995a4f8a1269b5dae223828d" 1502 | dependencies: 1503 | global-prefix "^0.1.4" 1504 | is-windows "^0.2.0" 1505 | 1506 | global-prefix@^0.1.4: 1507 | version "0.1.5" 1508 | resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-0.1.5.tgz#8d3bc6b8da3ca8112a160d8d496ff0462bfef78f" 1509 | dependencies: 1510 | homedir-polyfill "^1.0.0" 1511 | ini "^1.3.4" 1512 | is-windows "^0.2.0" 1513 | which "^1.2.12" 1514 | 1515 | globals@^9.18.0: 1516 | version "9.18.0" 1517 | resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" 1518 | 1519 | graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: 1520 | version "4.1.11" 1521 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" 1522 | 1523 | growly@^1.3.0: 1524 | version "1.3.0" 1525 | resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" 1526 | 1527 | handlebars@^4.0.2, handlebars@^4.0.3, handlebars@^4.0.6: 1528 | version "4.0.11" 1529 | resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.11.tgz#630a35dfe0294bc281edae6ffc5d329fc7982dcc" 1530 | dependencies: 1531 | async "^1.4.0" 1532 | optimist "^0.6.1" 1533 | source-map "^0.4.4" 1534 | optionalDependencies: 1535 | uglify-js "^2.6" 1536 | 1537 | har-schema@^1.0.5: 1538 | version "1.0.5" 1539 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" 1540 | 1541 | har-schema@^2.0.0: 1542 | version "2.0.0" 1543 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" 1544 | 1545 | har-validator@~2.0.6: 1546 | version "2.0.6" 1547 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" 1548 | dependencies: 1549 | chalk "^1.1.1" 1550 | commander "^2.9.0" 1551 | is-my-json-valid "^2.12.4" 1552 | pinkie-promise "^2.0.0" 1553 | 1554 | har-validator@~4.2.1: 1555 | version "4.2.1" 1556 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" 1557 | dependencies: 1558 | ajv "^4.9.1" 1559 | har-schema "^1.0.5" 1560 | 1561 | har-validator@~5.0.3: 1562 | version "5.0.3" 1563 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd" 1564 | dependencies: 1565 | ajv "^5.1.0" 1566 | har-schema "^2.0.0" 1567 | 1568 | has-ansi@^2.0.0: 1569 | version "2.0.0" 1570 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 1571 | dependencies: 1572 | ansi-regex "^2.0.0" 1573 | 1574 | has-flag@^1.0.0: 1575 | version "1.0.0" 1576 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" 1577 | 1578 | has-flag@^2.0.0: 1579 | version "2.0.0" 1580 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" 1581 | 1582 | has-unicode@^2.0.0: 1583 | version "2.0.1" 1584 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" 1585 | 1586 | hawk@3.1.3, hawk@~3.1.3: 1587 | version "3.1.3" 1588 | resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" 1589 | dependencies: 1590 | boom "2.x.x" 1591 | cryptiles "2.x.x" 1592 | hoek "2.x.x" 1593 | sntp "1.x.x" 1594 | 1595 | hawk@~6.0.2: 1596 | version "6.0.2" 1597 | resolved "https://registry.yarnpkg.com/hawk/-/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038" 1598 | dependencies: 1599 | boom "4.x.x" 1600 | cryptiles "3.x.x" 1601 | hoek "4.x.x" 1602 | sntp "2.x.x" 1603 | 1604 | highlight.js@^9.0.0: 1605 | version "9.12.0" 1606 | resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.12.0.tgz#e6d9dbe57cbefe60751f02af336195870c90c01e" 1607 | 1608 | hoek@2.x.x: 1609 | version "2.16.3" 1610 | resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" 1611 | 1612 | hoek@4.x.x: 1613 | version "4.2.0" 1614 | resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.0.tgz#72d9d0754f7fe25ca2d01ad8f8f9a9449a89526d" 1615 | 1616 | home-or-tmp@^2.0.0: 1617 | version "2.0.0" 1618 | resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" 1619 | dependencies: 1620 | os-homedir "^1.0.0" 1621 | os-tmpdir "^1.0.1" 1622 | 1623 | homedir-polyfill@^1.0.0, homedir-polyfill@^1.0.1: 1624 | version "1.0.1" 1625 | resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc" 1626 | dependencies: 1627 | parse-passwd "^1.0.0" 1628 | 1629 | hosted-git-info@^2.1.4, hosted-git-info@^2.4.2: 1630 | version "2.5.0" 1631 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" 1632 | 1633 | html-encoding-sniffer@^1.0.1: 1634 | version "1.0.1" 1635 | resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.1.tgz#79bf7a785ea495fe66165e734153f363ff5437da" 1636 | dependencies: 1637 | whatwg-encoding "^1.0.1" 1638 | 1639 | http-signature@~1.1.0: 1640 | version "1.1.1" 1641 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" 1642 | dependencies: 1643 | assert-plus "^0.2.0" 1644 | jsprim "^1.2.2" 1645 | sshpk "^1.7.0" 1646 | 1647 | http-signature@~1.2.0: 1648 | version "1.2.0" 1649 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" 1650 | dependencies: 1651 | assert-plus "^1.0.0" 1652 | jsprim "^1.2.2" 1653 | sshpk "^1.7.0" 1654 | 1655 | https-proxy-agent@^1.0.0: 1656 | version "1.0.0" 1657 | resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz#35f7da6c48ce4ddbfa264891ac593ee5ff8671e6" 1658 | dependencies: 1659 | agent-base "2" 1660 | debug "2" 1661 | extend "3" 1662 | 1663 | husky@^0.14.0: 1664 | version "0.14.3" 1665 | resolved "https://registry.yarnpkg.com/husky/-/husky-0.14.3.tgz#c69ed74e2d2779769a17ba8399b54ce0b63c12c3" 1666 | dependencies: 1667 | is-ci "^1.0.10" 1668 | normalize-path "^1.0.0" 1669 | strip-indent "^2.0.0" 1670 | 1671 | i@0.3.x: 1672 | version "0.3.6" 1673 | resolved "https://registry.yarnpkg.com/i/-/i-0.3.6.tgz#d96c92732076f072711b6b10fd7d4f65ad8ee23d" 1674 | 1675 | iconv-lite@0.4.13: 1676 | version "0.4.13" 1677 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" 1678 | 1679 | import-from@^2.1.0: 1680 | version "2.1.0" 1681 | resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" 1682 | dependencies: 1683 | resolve-from "^3.0.0" 1684 | 1685 | imurmurhash@^0.1.4: 1686 | version "0.1.4" 1687 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1688 | 1689 | indent-string@^2.1.0: 1690 | version "2.1.0" 1691 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" 1692 | dependencies: 1693 | repeating "^2.0.0" 1694 | 1695 | indent-string@^3.0.0: 1696 | version "3.2.0" 1697 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" 1698 | 1699 | inflight@^1.0.4: 1700 | version "1.0.6" 1701 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1702 | dependencies: 1703 | once "^1.3.0" 1704 | wrappy "1" 1705 | 1706 | inherits@2, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: 1707 | version "2.0.3" 1708 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 1709 | 1710 | ini@^1.2.0, ini@^1.3.2, ini@^1.3.4, ini@~1.3.0: 1711 | version "1.3.4" 1712 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" 1713 | 1714 | inquirer@1.2.3: 1715 | version "1.2.3" 1716 | resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-1.2.3.tgz#4dec6f32f37ef7bb0b2ed3f1d1a5c3f545074918" 1717 | dependencies: 1718 | ansi-escapes "^1.1.0" 1719 | chalk "^1.0.0" 1720 | cli-cursor "^1.0.1" 1721 | cli-width "^2.0.0" 1722 | external-editor "^1.1.0" 1723 | figures "^1.3.5" 1724 | lodash "^4.3.0" 1725 | mute-stream "0.0.6" 1726 | pinkie-promise "^2.0.0" 1727 | run-async "^2.2.0" 1728 | rx "^4.1.0" 1729 | string-width "^1.0.1" 1730 | strip-ansi "^3.0.0" 1731 | through "^2.3.6" 1732 | 1733 | interpret@^1.0.0: 1734 | version "1.0.4" 1735 | resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.4.tgz#820cdd588b868ffb191a809506d6c9c8f212b1b0" 1736 | 1737 | invariant@^2.2.2: 1738 | version "2.2.2" 1739 | resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" 1740 | dependencies: 1741 | loose-envify "^1.0.0" 1742 | 1743 | invert-kv@^1.0.0: 1744 | version "1.0.0" 1745 | resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" 1746 | 1747 | is-arrayish@^0.2.1: 1748 | version "0.2.1" 1749 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 1750 | 1751 | is-buffer@^1.1.5: 1752 | version "1.1.5" 1753 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc" 1754 | 1755 | is-builtin-module@^1.0.0: 1756 | version "1.0.0" 1757 | resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" 1758 | dependencies: 1759 | builtin-modules "^1.0.0" 1760 | 1761 | is-ci@^1.0.10: 1762 | version "1.0.10" 1763 | resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.0.10.tgz#f739336b2632365061a9d48270cd56ae3369318e" 1764 | dependencies: 1765 | ci-info "^1.0.0" 1766 | 1767 | is-dotfile@^1.0.0: 1768 | version "1.0.3" 1769 | resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" 1770 | 1771 | is-equal-shallow@^0.1.3: 1772 | version "0.1.3" 1773 | resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" 1774 | dependencies: 1775 | is-primitive "^2.0.0" 1776 | 1777 | is-extendable@^0.1.1: 1778 | version "0.1.1" 1779 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" 1780 | 1781 | is-extglob@^1.0.0: 1782 | version "1.0.0" 1783 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" 1784 | 1785 | is-extglob@^2.1.1: 1786 | version "2.1.1" 1787 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1788 | 1789 | is-finite@^1.0.0: 1790 | version "1.0.2" 1791 | resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" 1792 | dependencies: 1793 | number-is-nan "^1.0.0" 1794 | 1795 | is-fullwidth-code-point@^1.0.0: 1796 | version "1.0.0" 1797 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 1798 | dependencies: 1799 | number-is-nan "^1.0.0" 1800 | 1801 | is-fullwidth-code-point@^2.0.0: 1802 | version "2.0.0" 1803 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 1804 | 1805 | is-glob@^2.0.0, is-glob@^2.0.1: 1806 | version "2.0.1" 1807 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" 1808 | dependencies: 1809 | is-extglob "^1.0.0" 1810 | 1811 | is-glob@^4.0.0: 1812 | version "4.0.0" 1813 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" 1814 | dependencies: 1815 | is-extglob "^2.1.1" 1816 | 1817 | is-module@^1.0.0: 1818 | version "1.0.0" 1819 | resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" 1820 | 1821 | is-my-json-valid@^2.12.4: 1822 | version "2.16.1" 1823 | resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.1.tgz#5a846777e2c2620d1e69104e5d3a03b1f6088f11" 1824 | dependencies: 1825 | generate-function "^2.0.0" 1826 | generate-object-property "^1.1.0" 1827 | jsonpointer "^4.0.0" 1828 | xtend "^4.0.0" 1829 | 1830 | is-number@^2.1.0: 1831 | version "2.1.0" 1832 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" 1833 | dependencies: 1834 | kind-of "^3.0.2" 1835 | 1836 | is-number@^3.0.0: 1837 | version "3.0.0" 1838 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" 1839 | dependencies: 1840 | kind-of "^3.0.2" 1841 | 1842 | is-obj@^1.0.0, is-obj@^1.0.1: 1843 | version "1.0.1" 1844 | resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" 1845 | 1846 | is-posix-bracket@^0.1.0: 1847 | version "0.1.1" 1848 | resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" 1849 | 1850 | is-primitive@^2.0.0: 1851 | version "2.0.0" 1852 | resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" 1853 | 1854 | is-promise@^2.1.0: 1855 | version "2.1.0" 1856 | resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" 1857 | 1858 | is-property@^1.0.0: 1859 | version "1.0.2" 1860 | resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" 1861 | 1862 | is-regexp@^1.0.0: 1863 | version "1.0.0" 1864 | resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" 1865 | 1866 | is-stream@^1.1.0: 1867 | version "1.1.0" 1868 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" 1869 | 1870 | is-subset@^0.1.1: 1871 | version "0.1.1" 1872 | resolved "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6" 1873 | 1874 | is-text-path@^1.0.0: 1875 | version "1.0.1" 1876 | resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" 1877 | dependencies: 1878 | text-extensions "^1.0.0" 1879 | 1880 | is-typedarray@~1.0.0: 1881 | version "1.0.0" 1882 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 1883 | 1884 | is-utf8@^0.2.0: 1885 | version "0.2.1" 1886 | resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" 1887 | 1888 | is-windows@^0.2.0: 1889 | version "0.2.0" 1890 | resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c" 1891 | 1892 | is-windows@^1.0.0: 1893 | version "1.0.1" 1894 | resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.1.tgz#310db70f742d259a16a369202b51af84233310d9" 1895 | 1896 | isarray@0.0.1: 1897 | version "0.0.1" 1898 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" 1899 | 1900 | isarray@1.0.0, isarray@~1.0.0: 1901 | version "1.0.0" 1902 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 1903 | 1904 | isexe@^2.0.0: 1905 | version "2.0.0" 1906 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1907 | 1908 | isobject@^2.0.0: 1909 | version "2.1.0" 1910 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" 1911 | dependencies: 1912 | isarray "1.0.0" 1913 | 1914 | isstream@0.1.x, isstream@~0.1.2: 1915 | version "0.1.2" 1916 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 1917 | 1918 | istanbul-api@^1.1.1: 1919 | version "1.1.14" 1920 | resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.1.14.tgz#25bc5701f7c680c0ffff913de46e3619a3a6e680" 1921 | dependencies: 1922 | async "^2.1.4" 1923 | fileset "^2.0.2" 1924 | istanbul-lib-coverage "^1.1.1" 1925 | istanbul-lib-hook "^1.0.7" 1926 | istanbul-lib-instrument "^1.8.0" 1927 | istanbul-lib-report "^1.1.1" 1928 | istanbul-lib-source-maps "^1.2.1" 1929 | istanbul-reports "^1.1.2" 1930 | js-yaml "^3.7.0" 1931 | mkdirp "^0.5.1" 1932 | once "^1.4.0" 1933 | 1934 | istanbul-lib-coverage@^1.0.1, istanbul-lib-coverage@^1.1.1: 1935 | version "1.1.1" 1936 | resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz#73bfb998885299415c93d38a3e9adf784a77a9da" 1937 | 1938 | istanbul-lib-hook@^1.0.7: 1939 | version "1.0.7" 1940 | resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.0.7.tgz#dd6607f03076578fe7d6f2a630cf143b49bacddc" 1941 | dependencies: 1942 | append-transform "^0.4.0" 1943 | 1944 | istanbul-lib-instrument@^1.4.2, istanbul-lib-instrument@^1.7.5, istanbul-lib-instrument@^1.8.0: 1945 | version "1.8.0" 1946 | resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.8.0.tgz#66f6c9421cc9ec4704f76f2db084ba9078a2b532" 1947 | dependencies: 1948 | babel-generator "^6.18.0" 1949 | babel-template "^6.16.0" 1950 | babel-traverse "^6.18.0" 1951 | babel-types "^6.18.0" 1952 | babylon "^6.18.0" 1953 | istanbul-lib-coverage "^1.1.1" 1954 | semver "^5.3.0" 1955 | 1956 | istanbul-lib-report@^1.1.1: 1957 | version "1.1.1" 1958 | resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz#f0e55f56655ffa34222080b7a0cd4760e1405fc9" 1959 | dependencies: 1960 | istanbul-lib-coverage "^1.1.1" 1961 | mkdirp "^0.5.1" 1962 | path-parse "^1.0.5" 1963 | supports-color "^3.1.2" 1964 | 1965 | istanbul-lib-source-maps@^1.1.0, istanbul-lib-source-maps@^1.2.1: 1966 | version "1.2.1" 1967 | resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.1.tgz#a6fe1acba8ce08eebc638e572e294d267008aa0c" 1968 | dependencies: 1969 | debug "^2.6.3" 1970 | istanbul-lib-coverage "^1.1.1" 1971 | mkdirp "^0.5.1" 1972 | rimraf "^2.6.1" 1973 | source-map "^0.5.3" 1974 | 1975 | istanbul-reports@^1.1.2: 1976 | version "1.1.2" 1977 | resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.1.2.tgz#0fb2e3f6aa9922bd3ce45d05d8ab4d5e8e07bd4f" 1978 | dependencies: 1979 | handlebars "^4.0.3" 1980 | 1981 | jest-changed-files@^21.2.0: 1982 | version "21.2.0" 1983 | resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-21.2.0.tgz#5dbeecad42f5d88b482334902ce1cba6d9798d29" 1984 | dependencies: 1985 | throat "^4.0.0" 1986 | 1987 | jest-cli@^21.2.1: 1988 | version "21.2.1" 1989 | resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-21.2.1.tgz#9c528b6629d651911138d228bdb033c157ec8c00" 1990 | dependencies: 1991 | ansi-escapes "^3.0.0" 1992 | chalk "^2.0.1" 1993 | glob "^7.1.2" 1994 | graceful-fs "^4.1.11" 1995 | is-ci "^1.0.10" 1996 | istanbul-api "^1.1.1" 1997 | istanbul-lib-coverage "^1.0.1" 1998 | istanbul-lib-instrument "^1.4.2" 1999 | istanbul-lib-source-maps "^1.1.0" 2000 | jest-changed-files "^21.2.0" 2001 | jest-config "^21.2.1" 2002 | jest-environment-jsdom "^21.2.1" 2003 | jest-haste-map "^21.2.0" 2004 | jest-message-util "^21.2.1" 2005 | jest-regex-util "^21.2.0" 2006 | jest-resolve-dependencies "^21.2.0" 2007 | jest-runner "^21.2.1" 2008 | jest-runtime "^21.2.1" 2009 | jest-snapshot "^21.2.1" 2010 | jest-util "^21.2.1" 2011 | micromatch "^2.3.11" 2012 | node-notifier "^5.0.2" 2013 | pify "^3.0.0" 2014 | slash "^1.0.0" 2015 | string-length "^2.0.0" 2016 | strip-ansi "^4.0.0" 2017 | which "^1.2.12" 2018 | worker-farm "^1.3.1" 2019 | yargs "^9.0.0" 2020 | 2021 | jest-config@^21.2.1: 2022 | version "21.2.1" 2023 | resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-21.2.1.tgz#c7586c79ead0bcc1f38c401e55f964f13bf2a480" 2024 | dependencies: 2025 | chalk "^2.0.1" 2026 | glob "^7.1.1" 2027 | jest-environment-jsdom "^21.2.1" 2028 | jest-environment-node "^21.2.1" 2029 | jest-get-type "^21.2.0" 2030 | jest-jasmine2 "^21.2.1" 2031 | jest-regex-util "^21.2.0" 2032 | jest-resolve "^21.2.0" 2033 | jest-util "^21.2.1" 2034 | jest-validate "^21.2.1" 2035 | pretty-format "^21.2.1" 2036 | 2037 | jest-diff@^21.2.1: 2038 | version "21.2.1" 2039 | resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-21.2.1.tgz#46cccb6cab2d02ce98bc314011764bb95b065b4f" 2040 | dependencies: 2041 | chalk "^2.0.1" 2042 | diff "^3.2.0" 2043 | jest-get-type "^21.2.0" 2044 | pretty-format "^21.2.1" 2045 | 2046 | jest-docblock@^21.2.0: 2047 | version "21.2.0" 2048 | resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-21.2.0.tgz#51529c3b30d5fd159da60c27ceedc195faf8d414" 2049 | 2050 | jest-environment-jsdom@^21.2.1: 2051 | version "21.2.1" 2052 | resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-21.2.1.tgz#38d9980c8259b2a608ec232deee6289a60d9d5b4" 2053 | dependencies: 2054 | jest-mock "^21.2.0" 2055 | jest-util "^21.2.1" 2056 | jsdom "^9.12.0" 2057 | 2058 | jest-environment-node@^21.2.1: 2059 | version "21.2.1" 2060 | resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-21.2.1.tgz#98c67df5663c7fbe20f6e792ac2272c740d3b8c8" 2061 | dependencies: 2062 | jest-mock "^21.2.0" 2063 | jest-util "^21.2.1" 2064 | 2065 | jest-get-type@^21.2.0: 2066 | version "21.2.0" 2067 | resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-21.2.0.tgz#f6376ab9db4b60d81e39f30749c6c466f40d4a23" 2068 | 2069 | jest-haste-map@^21.2.0: 2070 | version "21.2.0" 2071 | resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-21.2.0.tgz#1363f0a8bb4338f24f001806571eff7a4b2ff3d8" 2072 | dependencies: 2073 | fb-watchman "^2.0.0" 2074 | graceful-fs "^4.1.11" 2075 | jest-docblock "^21.2.0" 2076 | micromatch "^2.3.11" 2077 | sane "^2.0.0" 2078 | worker-farm "^1.3.1" 2079 | 2080 | jest-jasmine2@^21.2.1: 2081 | version "21.2.1" 2082 | resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-21.2.1.tgz#9cc6fc108accfa97efebce10c4308548a4ea7592" 2083 | dependencies: 2084 | chalk "^2.0.1" 2085 | expect "^21.2.1" 2086 | graceful-fs "^4.1.11" 2087 | jest-diff "^21.2.1" 2088 | jest-matcher-utils "^21.2.1" 2089 | jest-message-util "^21.2.1" 2090 | jest-snapshot "^21.2.1" 2091 | p-cancelable "^0.3.0" 2092 | 2093 | jest-matcher-utils@^21.2.1: 2094 | version "21.2.1" 2095 | resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-21.2.1.tgz#72c826eaba41a093ac2b4565f865eb8475de0f64" 2096 | dependencies: 2097 | chalk "^2.0.1" 2098 | jest-get-type "^21.2.0" 2099 | pretty-format "^21.2.1" 2100 | 2101 | jest-message-util@^21.2.1: 2102 | version "21.2.1" 2103 | resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-21.2.1.tgz#bfe5d4692c84c827d1dcf41823795558f0a1acbe" 2104 | dependencies: 2105 | chalk "^2.0.1" 2106 | micromatch "^2.3.11" 2107 | slash "^1.0.0" 2108 | 2109 | jest-mock@^21.2.0: 2110 | version "21.2.0" 2111 | resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-21.2.0.tgz#7eb0770e7317968165f61ea2a7281131534b3c0f" 2112 | 2113 | jest-regex-util@^21.2.0: 2114 | version "21.2.0" 2115 | resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-21.2.0.tgz#1b1e33e63143babc3e0f2e6c9b5ba1eb34b2d530" 2116 | 2117 | jest-resolve-dependencies@^21.2.0: 2118 | version "21.2.0" 2119 | resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-21.2.0.tgz#9e231e371e1a736a1ad4e4b9a843bc72bfe03d09" 2120 | dependencies: 2121 | jest-regex-util "^21.2.0" 2122 | 2123 | jest-resolve@^21.2.0: 2124 | version "21.2.0" 2125 | resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-21.2.0.tgz#068913ad2ba6a20218e5fd32471f3874005de3a6" 2126 | dependencies: 2127 | browser-resolve "^1.11.2" 2128 | chalk "^2.0.1" 2129 | is-builtin-module "^1.0.0" 2130 | 2131 | jest-runner@^21.2.1: 2132 | version "21.2.1" 2133 | resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-21.2.1.tgz#194732e3e518bfb3d7cbfc0fd5871246c7e1a467" 2134 | dependencies: 2135 | jest-config "^21.2.1" 2136 | jest-docblock "^21.2.0" 2137 | jest-haste-map "^21.2.0" 2138 | jest-jasmine2 "^21.2.1" 2139 | jest-message-util "^21.2.1" 2140 | jest-runtime "^21.2.1" 2141 | jest-util "^21.2.1" 2142 | pify "^3.0.0" 2143 | throat "^4.0.0" 2144 | worker-farm "^1.3.1" 2145 | 2146 | jest-runtime@^21.2.1: 2147 | version "21.2.1" 2148 | resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-21.2.1.tgz#99dce15309c670442eee2ebe1ff53a3cbdbbb73e" 2149 | dependencies: 2150 | babel-core "^6.0.0" 2151 | babel-jest "^21.2.0" 2152 | babel-plugin-istanbul "^4.0.0" 2153 | chalk "^2.0.1" 2154 | convert-source-map "^1.4.0" 2155 | graceful-fs "^4.1.11" 2156 | jest-config "^21.2.1" 2157 | jest-haste-map "^21.2.0" 2158 | jest-regex-util "^21.2.0" 2159 | jest-resolve "^21.2.0" 2160 | jest-util "^21.2.1" 2161 | json-stable-stringify "^1.0.1" 2162 | micromatch "^2.3.11" 2163 | slash "^1.0.0" 2164 | strip-bom "3.0.0" 2165 | write-file-atomic "^2.1.0" 2166 | yargs "^9.0.0" 2167 | 2168 | jest-snapshot@^21.2.1: 2169 | version "21.2.1" 2170 | resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-21.2.1.tgz#29e49f16202416e47343e757e5eff948c07fd7b0" 2171 | dependencies: 2172 | chalk "^2.0.1" 2173 | jest-diff "^21.2.1" 2174 | jest-matcher-utils "^21.2.1" 2175 | mkdirp "^0.5.1" 2176 | natural-compare "^1.4.0" 2177 | pretty-format "^21.2.1" 2178 | 2179 | jest-util@^21.2.1: 2180 | version "21.2.1" 2181 | resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-21.2.1.tgz#a274b2f726b0897494d694a6c3d6a61ab819bb78" 2182 | dependencies: 2183 | callsites "^2.0.0" 2184 | chalk "^2.0.1" 2185 | graceful-fs "^4.1.11" 2186 | jest-message-util "^21.2.1" 2187 | jest-mock "^21.2.0" 2188 | jest-validate "^21.2.1" 2189 | mkdirp "^0.5.1" 2190 | 2191 | jest-validate@^21.1.0, jest-validate@^21.2.1: 2192 | version "21.2.1" 2193 | resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-21.2.1.tgz#cc0cbca653cd54937ba4f2a111796774530dd3c7" 2194 | dependencies: 2195 | chalk "^2.0.1" 2196 | jest-get-type "^21.2.0" 2197 | leven "^2.1.0" 2198 | pretty-format "^21.2.1" 2199 | 2200 | jest@^21.0.0: 2201 | version "21.2.1" 2202 | resolved "https://registry.yarnpkg.com/jest/-/jest-21.2.1.tgz#c964e0b47383768a1438e3ccf3c3d470327604e1" 2203 | dependencies: 2204 | jest-cli "^21.2.1" 2205 | 2206 | js-tokens@^3.0.0, js-tokens@^3.0.2: 2207 | version "3.0.2" 2208 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" 2209 | 2210 | js-yaml@^3.4.3, js-yaml@^3.6.1, js-yaml@^3.7.0: 2211 | version "3.10.0" 2212 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc" 2213 | dependencies: 2214 | argparse "^1.0.7" 2215 | esprima "^4.0.0" 2216 | 2217 | jsbn@~0.1.0: 2218 | version "0.1.1" 2219 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" 2220 | 2221 | jsdom@^9.12.0: 2222 | version "9.12.0" 2223 | resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-9.12.0.tgz#e8c546fffcb06c00d4833ca84410fed7f8a097d4" 2224 | dependencies: 2225 | abab "^1.0.3" 2226 | acorn "^4.0.4" 2227 | acorn-globals "^3.1.0" 2228 | array-equal "^1.0.0" 2229 | content-type-parser "^1.0.1" 2230 | cssom ">= 0.3.2 < 0.4.0" 2231 | cssstyle ">= 0.2.37 < 0.3.0" 2232 | escodegen "^1.6.1" 2233 | html-encoding-sniffer "^1.0.1" 2234 | nwmatcher ">= 1.3.9 < 2.0.0" 2235 | parse5 "^1.5.1" 2236 | request "^2.79.0" 2237 | sax "^1.2.1" 2238 | symbol-tree "^3.2.1" 2239 | tough-cookie "^2.3.2" 2240 | webidl-conversions "^4.0.0" 2241 | whatwg-encoding "^1.0.1" 2242 | whatwg-url "^4.3.0" 2243 | xml-name-validator "^2.0.1" 2244 | 2245 | jsesc@^1.3.0: 2246 | version "1.3.0" 2247 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" 2248 | 2249 | json-schema-traverse@^0.3.0: 2250 | version "0.3.1" 2251 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" 2252 | 2253 | json-schema@0.2.3: 2254 | version "0.2.3" 2255 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" 2256 | 2257 | json-stable-stringify@^1.0.1: 2258 | version "1.0.1" 2259 | resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" 2260 | dependencies: 2261 | jsonify "~0.0.0" 2262 | 2263 | json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: 2264 | version "5.0.1" 2265 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 2266 | 2267 | json5@^0.5.1: 2268 | version "0.5.1" 2269 | resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" 2270 | 2271 | jsonfile@^2.1.0: 2272 | version "2.4.0" 2273 | resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" 2274 | optionalDependencies: 2275 | graceful-fs "^4.1.6" 2276 | 2277 | jsonfile@^4.0.0: 2278 | version "4.0.0" 2279 | resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" 2280 | optionalDependencies: 2281 | graceful-fs "^4.1.6" 2282 | 2283 | jsonify@~0.0.0: 2284 | version "0.0.0" 2285 | resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" 2286 | 2287 | jsonparse@^1.2.0: 2288 | version "1.3.1" 2289 | resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" 2290 | 2291 | jsonpointer@^4.0.0: 2292 | version "4.0.1" 2293 | resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" 2294 | 2295 | jsprim@^1.2.2: 2296 | version "1.4.1" 2297 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" 2298 | dependencies: 2299 | assert-plus "1.0.0" 2300 | extsprintf "1.3.0" 2301 | json-schema "0.2.3" 2302 | verror "1.10.0" 2303 | 2304 | kind-of@^3.0.2: 2305 | version "3.2.2" 2306 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" 2307 | dependencies: 2308 | is-buffer "^1.1.5" 2309 | 2310 | kind-of@^4.0.0: 2311 | version "4.0.0" 2312 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" 2313 | dependencies: 2314 | is-buffer "^1.1.5" 2315 | 2316 | klaw@^1.0.0: 2317 | version "1.3.1" 2318 | resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" 2319 | optionalDependencies: 2320 | graceful-fs "^4.1.9" 2321 | 2322 | lazy-cache@^1.0.3: 2323 | version "1.0.4" 2324 | resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" 2325 | 2326 | lcid@^1.0.0: 2327 | version "1.0.0" 2328 | resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" 2329 | dependencies: 2330 | invert-kv "^1.0.0" 2331 | 2332 | lcov-parse@^0.0.10: 2333 | version "0.0.10" 2334 | resolved "https://registry.yarnpkg.com/lcov-parse/-/lcov-parse-0.0.10.tgz#1b0b8ff9ac9c7889250582b70b71315d9da6d9a3" 2335 | 2336 | leven@^2.1.0: 2337 | version "2.1.0" 2338 | resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" 2339 | 2340 | levn@~0.3.0: 2341 | version "0.3.0" 2342 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" 2343 | dependencies: 2344 | prelude-ls "~1.1.2" 2345 | type-check "~0.3.2" 2346 | 2347 | lint-staged@^4.0.0: 2348 | version "4.3.0" 2349 | resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-4.3.0.tgz#ed0779ad9a42c0dc62bb3244e522870b41125879" 2350 | dependencies: 2351 | app-root-path "^2.0.0" 2352 | chalk "^2.1.0" 2353 | commander "^2.11.0" 2354 | cosmiconfig "^1.1.0" 2355 | execa "^0.8.0" 2356 | is-glob "^4.0.0" 2357 | jest-validate "^21.1.0" 2358 | listr "^0.12.0" 2359 | lodash "^4.17.4" 2360 | log-symbols "^2.0.0" 2361 | minimatch "^3.0.0" 2362 | npm-which "^3.0.1" 2363 | p-map "^1.1.1" 2364 | staged-git-files "0.0.4" 2365 | stringify-object "^3.2.0" 2366 | 2367 | listr-silent-renderer@^1.1.1: 2368 | version "1.1.1" 2369 | resolved "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e" 2370 | 2371 | listr-update-renderer@^0.2.0: 2372 | version "0.2.0" 2373 | resolved "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.2.0.tgz#ca80e1779b4e70266807e8eed1ad6abe398550f9" 2374 | dependencies: 2375 | chalk "^1.1.3" 2376 | cli-truncate "^0.2.1" 2377 | elegant-spinner "^1.0.1" 2378 | figures "^1.7.0" 2379 | indent-string "^3.0.0" 2380 | log-symbols "^1.0.2" 2381 | log-update "^1.0.2" 2382 | strip-ansi "^3.0.1" 2383 | 2384 | listr-verbose-renderer@^0.4.0: 2385 | version "0.4.0" 2386 | resolved "https://registry.yarnpkg.com/listr-verbose-renderer/-/listr-verbose-renderer-0.4.0.tgz#44dc01bb0c34a03c572154d4d08cde9b1dc5620f" 2387 | dependencies: 2388 | chalk "^1.1.3" 2389 | cli-cursor "^1.0.2" 2390 | date-fns "^1.27.2" 2391 | figures "^1.7.0" 2392 | 2393 | listr@^0.12.0: 2394 | version "0.12.0" 2395 | resolved "https://registry.yarnpkg.com/listr/-/listr-0.12.0.tgz#6bce2c0f5603fa49580ea17cd6a00cc0e5fa451a" 2396 | dependencies: 2397 | chalk "^1.1.3" 2398 | cli-truncate "^0.2.1" 2399 | figures "^1.7.0" 2400 | indent-string "^2.1.0" 2401 | is-promise "^2.1.0" 2402 | is-stream "^1.1.0" 2403 | listr-silent-renderer "^1.1.1" 2404 | listr-update-renderer "^0.2.0" 2405 | listr-verbose-renderer "^0.4.0" 2406 | log-symbols "^1.0.2" 2407 | log-update "^1.0.2" 2408 | ora "^0.2.3" 2409 | p-map "^1.1.1" 2410 | rxjs "^5.0.0-beta.11" 2411 | stream-to-observable "^0.1.0" 2412 | strip-ansi "^3.0.1" 2413 | 2414 | load-json-file@^1.0.0: 2415 | version "1.1.0" 2416 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" 2417 | dependencies: 2418 | graceful-fs "^4.1.2" 2419 | parse-json "^2.2.0" 2420 | pify "^2.0.0" 2421 | pinkie-promise "^2.0.0" 2422 | strip-bom "^2.0.0" 2423 | 2424 | load-json-file@^2.0.0: 2425 | version "2.0.0" 2426 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" 2427 | dependencies: 2428 | graceful-fs "^4.1.2" 2429 | parse-json "^2.2.0" 2430 | pify "^2.0.0" 2431 | strip-bom "^3.0.0" 2432 | 2433 | locate-path@^2.0.0: 2434 | version "2.0.0" 2435 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" 2436 | dependencies: 2437 | p-locate "^2.0.0" 2438 | path-exists "^3.0.0" 2439 | 2440 | lodash-es@^4.2.1: 2441 | version "4.17.4" 2442 | resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.4.tgz#dcc1d7552e150a0640073ba9cb31d70f032950e7" 2443 | 2444 | lodash._baseassign@^3.0.0: 2445 | version "3.2.0" 2446 | resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e" 2447 | dependencies: 2448 | lodash._basecopy "^3.0.0" 2449 | lodash.keys "^3.0.0" 2450 | 2451 | lodash._basecopy@^3.0.0: 2452 | version "3.0.1" 2453 | resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" 2454 | 2455 | lodash._bindcallback@^3.0.0: 2456 | version "3.0.1" 2457 | resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e" 2458 | 2459 | lodash._createassigner@^3.0.0: 2460 | version "3.1.1" 2461 | resolved "https://registry.yarnpkg.com/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz#838a5bae2fdaca63ac22dee8e19fa4e6d6970b11" 2462 | dependencies: 2463 | lodash._bindcallback "^3.0.0" 2464 | lodash._isiterateecall "^3.0.0" 2465 | lodash.restparam "^3.0.0" 2466 | 2467 | lodash._getnative@^3.0.0: 2468 | version "3.9.1" 2469 | resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" 2470 | 2471 | lodash._isiterateecall@^3.0.0: 2472 | version "3.0.9" 2473 | resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" 2474 | 2475 | lodash._reinterpolate@~3.0.0: 2476 | version "3.0.0" 2477 | resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" 2478 | 2479 | lodash.assign@^3.0.0: 2480 | version "3.2.0" 2481 | resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-3.2.0.tgz#3ce9f0234b4b2223e296b8fa0ac1fee8ebca64fa" 2482 | dependencies: 2483 | lodash._baseassign "^3.0.0" 2484 | lodash._createassigner "^3.0.0" 2485 | lodash.keys "^3.0.0" 2486 | 2487 | lodash.camelcase@^4.3.0: 2488 | version "4.3.0" 2489 | resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" 2490 | 2491 | lodash.foreach@^4.5.0: 2492 | version "4.5.0" 2493 | resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53" 2494 | 2495 | lodash.isarguments@^3.0.0: 2496 | version "3.1.0" 2497 | resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" 2498 | 2499 | lodash.isarray@^3.0.0: 2500 | version "3.0.4" 2501 | resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" 2502 | 2503 | lodash.keys@^3.0.0: 2504 | version "3.1.2" 2505 | resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" 2506 | dependencies: 2507 | lodash._getnative "^3.0.0" 2508 | lodash.isarguments "^3.0.0" 2509 | lodash.isarray "^3.0.0" 2510 | 2511 | lodash.map@^4.5.1: 2512 | version "4.6.0" 2513 | resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" 2514 | 2515 | lodash.restparam@^3.0.0: 2516 | version "3.6.1" 2517 | resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" 2518 | 2519 | lodash.template@^4.0.2: 2520 | version "4.4.0" 2521 | resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0" 2522 | dependencies: 2523 | lodash._reinterpolate "~3.0.0" 2524 | lodash.templatesettings "^4.0.0" 2525 | 2526 | lodash.templatesettings@^4.0.0: 2527 | version "4.1.0" 2528 | resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz#2b4d4e95ba440d915ff08bc899e4553666713316" 2529 | dependencies: 2530 | lodash._reinterpolate "~3.0.0" 2531 | 2532 | lodash@4.17.2: 2533 | version "4.17.2" 2534 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.2.tgz#34a3055babe04ce42467b607d700072c7ff6bf42" 2535 | 2536 | lodash@^4.0.0, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.4, lodash@^4.2.1, lodash@^4.3.0: 2537 | version "4.17.4" 2538 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" 2539 | 2540 | lodash@~1.3.1: 2541 | version "1.3.1" 2542 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-1.3.1.tgz#a4663b53686b895ff074e2ba504dfb76a8e2b770" 2543 | 2544 | log-driver@^1.2.5: 2545 | version "1.2.5" 2546 | resolved "https://registry.yarnpkg.com/log-driver/-/log-driver-1.2.5.tgz#7ae4ec257302fd790d557cb10c97100d857b0056" 2547 | 2548 | log-symbols@^1.0.2: 2549 | version "1.0.2" 2550 | resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" 2551 | dependencies: 2552 | chalk "^1.0.0" 2553 | 2554 | log-symbols@^2.0.0: 2555 | version "2.1.0" 2556 | resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.1.0.tgz#f35fa60e278832b538dc4dddcbb478a45d3e3be6" 2557 | dependencies: 2558 | chalk "^2.0.1" 2559 | 2560 | log-update@^1.0.2: 2561 | version "1.0.2" 2562 | resolved "https://registry.yarnpkg.com/log-update/-/log-update-1.0.2.tgz#19929f64c4093d2d2e7075a1dad8af59c296b8d1" 2563 | dependencies: 2564 | ansi-escapes "^1.0.0" 2565 | cli-cursor "^1.0.2" 2566 | 2567 | longest@^1.0.1: 2568 | version "1.0.1" 2569 | resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" 2570 | 2571 | loose-envify@^1.0.0, loose-envify@^1.1.0: 2572 | version "1.3.1" 2573 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" 2574 | dependencies: 2575 | js-tokens "^3.0.0" 2576 | 2577 | loud-rejection@^1.0.0: 2578 | version "1.6.0" 2579 | resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" 2580 | dependencies: 2581 | currently-unhandled "^0.4.1" 2582 | signal-exit "^3.0.0" 2583 | 2584 | lru-cache@^4.0.1: 2585 | version "4.1.1" 2586 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" 2587 | dependencies: 2588 | pseudomap "^1.0.2" 2589 | yallist "^2.1.2" 2590 | 2591 | magic-string@^0.22.4: 2592 | version "0.22.4" 2593 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.22.4.tgz#31039b4e40366395618c1d6cf8193c53917475ff" 2594 | dependencies: 2595 | vlq "^0.2.1" 2596 | 2597 | make-error@^1.1.1: 2598 | version "1.3.0" 2599 | resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.0.tgz#52ad3a339ccf10ce62b4040b708fe707244b8b96" 2600 | 2601 | makeerror@1.0.x: 2602 | version "1.0.11" 2603 | resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" 2604 | dependencies: 2605 | tmpl "1.0.x" 2606 | 2607 | map-obj@^1.0.0, map-obj@^1.0.1: 2608 | version "1.0.1" 2609 | resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" 2610 | 2611 | marked@^0.3.5: 2612 | version "0.3.6" 2613 | resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.6.tgz#b2c6c618fccece4ef86c4fc6cb8a7cbf5aeda8d7" 2614 | 2615 | mem@^1.1.0: 2616 | version "1.1.0" 2617 | resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" 2618 | dependencies: 2619 | mimic-fn "^1.0.0" 2620 | 2621 | meow@^3.3.0: 2622 | version "3.7.0" 2623 | resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" 2624 | dependencies: 2625 | camelcase-keys "^2.0.0" 2626 | decamelize "^1.1.2" 2627 | loud-rejection "^1.0.0" 2628 | map-obj "^1.0.1" 2629 | minimist "^1.1.3" 2630 | normalize-package-data "^2.3.4" 2631 | object-assign "^4.0.1" 2632 | read-pkg-up "^1.0.1" 2633 | redent "^1.0.0" 2634 | trim-newlines "^1.0.0" 2635 | 2636 | merge@^1.1.3, merge@^1.2.0: 2637 | version "1.2.0" 2638 | resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da" 2639 | 2640 | micromatch@^2.1.5, micromatch@^2.3.11, micromatch@^2.3.7: 2641 | version "2.3.11" 2642 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" 2643 | dependencies: 2644 | arr-diff "^2.0.0" 2645 | array-unique "^0.2.1" 2646 | braces "^1.8.2" 2647 | expand-brackets "^0.1.4" 2648 | extglob "^0.3.1" 2649 | filename-regex "^2.0.0" 2650 | is-extglob "^1.0.0" 2651 | is-glob "^2.0.1" 2652 | kind-of "^3.0.2" 2653 | normalize-path "^2.0.1" 2654 | object.omit "^2.0.0" 2655 | parse-glob "^3.0.4" 2656 | regex-cache "^0.4.2" 2657 | 2658 | mime-db@~1.30.0: 2659 | version "1.30.0" 2660 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01" 2661 | 2662 | mime-types@^2.1.11, mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.7: 2663 | version "2.1.17" 2664 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a" 2665 | dependencies: 2666 | mime-db "~1.30.0" 2667 | 2668 | mime@^1.2.11: 2669 | version "1.4.1" 2670 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" 2671 | 2672 | mimic-fn@^1.0.0: 2673 | version "1.1.0" 2674 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" 2675 | 2676 | minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: 2677 | version "3.0.4" 2678 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 2679 | dependencies: 2680 | brace-expansion "^1.1.7" 2681 | 2682 | minimist@0.0.8, minimist@~0.0.1: 2683 | version "0.0.8" 2684 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 2685 | 2686 | minimist@1.2.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: 2687 | version "1.2.0" 2688 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 2689 | 2690 | mkdirp@0.x.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1: 2691 | version "0.5.1" 2692 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 2693 | dependencies: 2694 | minimist "0.0.8" 2695 | 2696 | modify-values@^1.0.0: 2697 | version "1.0.0" 2698 | resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.0.tgz#e2b6cdeb9ce19f99317a53722f3dbf5df5eaaab2" 2699 | 2700 | ms@2.0.0: 2701 | version "2.0.0" 2702 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 2703 | 2704 | mute-stream@0.0.6, mute-stream@~0.0.4: 2705 | version "0.0.6" 2706 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.6.tgz#48962b19e169fd1dfc240b3f1e7317627bbc47db" 2707 | 2708 | nan@^2.3.0: 2709 | version "2.7.0" 2710 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.7.0.tgz#d95bf721ec877e08db276ed3fc6eb78f9083ad46" 2711 | 2712 | natural-compare@^1.4.0: 2713 | version "1.4.0" 2714 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 2715 | 2716 | ncp@1.0.x: 2717 | version "1.0.1" 2718 | resolved "https://registry.yarnpkg.com/ncp/-/ncp-1.0.1.tgz#d15367e5cb87432ba117d2bf80fdf45aecfb4246" 2719 | 2720 | nerf-dart@^1.0.0: 2721 | version "1.0.0" 2722 | resolved "https://registry.yarnpkg.com/nerf-dart/-/nerf-dart-1.0.0.tgz#e6dab7febf5ad816ea81cf5c629c5a0ebde72c1a" 2723 | 2724 | netrc@^0.1.4: 2725 | version "0.1.4" 2726 | resolved "https://registry.yarnpkg.com/netrc/-/netrc-0.1.4.tgz#6be94fcaca8d77ade0a9670dc460914c94472444" 2727 | 2728 | node-int64@^0.4.0: 2729 | version "0.4.0" 2730 | resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" 2731 | 2732 | node-notifier@^5.0.2: 2733 | version "5.1.2" 2734 | resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.1.2.tgz#2fa9e12605fa10009d44549d6fcd8a63dde0e4ff" 2735 | dependencies: 2736 | growly "^1.3.0" 2737 | semver "^5.3.0" 2738 | shellwords "^0.1.0" 2739 | which "^1.2.12" 2740 | 2741 | node-pre-gyp@^0.6.36: 2742 | version "0.6.38" 2743 | resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.38.tgz#e92a20f83416415bb4086f6d1fb78b3da73d113d" 2744 | dependencies: 2745 | hawk "3.1.3" 2746 | mkdirp "^0.5.1" 2747 | nopt "^4.0.1" 2748 | npmlog "^4.0.2" 2749 | rc "^1.1.7" 2750 | request "2.81.0" 2751 | rimraf "^2.6.1" 2752 | semver "^5.3.0" 2753 | tar "^2.2.1" 2754 | tar-pack "^3.4.0" 2755 | 2756 | node-uuid@~1.4.7: 2757 | version "1.4.8" 2758 | resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.8.tgz#b040eb0923968afabf8d32fb1f17f1167fdab907" 2759 | 2760 | nopt@^4.0.0, nopt@^4.0.1: 2761 | version "4.0.1" 2762 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" 2763 | dependencies: 2764 | abbrev "1" 2765 | osenv "^0.1.4" 2766 | 2767 | nopt@~3.0.1: 2768 | version "3.0.6" 2769 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" 2770 | dependencies: 2771 | abbrev "1" 2772 | 2773 | normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5, "normalize-package-data@~1.0.1 || ^2.0.0": 2774 | version "2.4.0" 2775 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" 2776 | dependencies: 2777 | hosted-git-info "^2.1.4" 2778 | is-builtin-module "^1.0.0" 2779 | semver "2 || 3 || 4 || 5" 2780 | validate-npm-package-license "^3.0.1" 2781 | 2782 | normalize-path@^1.0.0: 2783 | version "1.0.0" 2784 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-1.0.0.tgz#32d0e472f91ff345701c15a8311018d3b0a90379" 2785 | 2786 | normalize-path@^2.0.0, normalize-path@^2.0.1: 2787 | version "2.1.1" 2788 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" 2789 | dependencies: 2790 | remove-trailing-separator "^1.0.1" 2791 | 2792 | "npm-package-arg@^3.0.0 || ^4.0.0 || ^5.0.0": 2793 | version "5.1.2" 2794 | resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-5.1.2.tgz#fb18d17bb61e60900d6312619919bd753755ab37" 2795 | dependencies: 2796 | hosted-git-info "^2.4.2" 2797 | osenv "^0.1.4" 2798 | semver "^5.1.0" 2799 | validate-npm-package-name "^3.0.0" 2800 | 2801 | npm-path@^2.0.2: 2802 | version "2.0.3" 2803 | resolved "https://registry.yarnpkg.com/npm-path/-/npm-path-2.0.3.tgz#15cff4e1c89a38da77f56f6055b24f975dfb2bbe" 2804 | dependencies: 2805 | which "^1.2.10" 2806 | 2807 | npm-registry-client@^8.4.0: 2808 | version "8.5.0" 2809 | resolved "https://registry.yarnpkg.com/npm-registry-client/-/npm-registry-client-8.5.0.tgz#4878fb6fa1f18a5dc08ae83acf94d0d0112d7ed0" 2810 | dependencies: 2811 | concat-stream "^1.5.2" 2812 | graceful-fs "^4.1.6" 2813 | normalize-package-data "~1.0.1 || ^2.0.0" 2814 | npm-package-arg "^3.0.0 || ^4.0.0 || ^5.0.0" 2815 | once "^1.3.3" 2816 | request "^2.74.0" 2817 | retry "^0.10.0" 2818 | semver "2 >=2.2.1 || 3.x || 4 || 5" 2819 | slide "^1.1.3" 2820 | ssri "^4.1.2" 2821 | optionalDependencies: 2822 | npmlog "2 || ^3.1.0 || ^4.0.0" 2823 | 2824 | npm-run-path@^2.0.0: 2825 | version "2.0.2" 2826 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" 2827 | dependencies: 2828 | path-key "^2.0.0" 2829 | 2830 | npm-which@^3.0.1: 2831 | version "3.0.1" 2832 | resolved "https://registry.yarnpkg.com/npm-which/-/npm-which-3.0.1.tgz#9225f26ec3a285c209cae67c3b11a6b4ab7140aa" 2833 | dependencies: 2834 | commander "^2.9.0" 2835 | npm-path "^2.0.2" 2836 | which "^1.2.10" 2837 | 2838 | npmconf@^2.1.2: 2839 | version "2.1.2" 2840 | resolved "https://registry.yarnpkg.com/npmconf/-/npmconf-2.1.2.tgz#66606a4a736f1e77a059aa071a79c94ab781853a" 2841 | dependencies: 2842 | config-chain "~1.1.8" 2843 | inherits "~2.0.0" 2844 | ini "^1.2.0" 2845 | mkdirp "^0.5.0" 2846 | nopt "~3.0.1" 2847 | once "~1.3.0" 2848 | osenv "^0.1.0" 2849 | semver "2 || 3 || 4" 2850 | uid-number "0.0.5" 2851 | 2852 | "npmlog@2 || ^3.1.0 || ^4.0.0", npmlog@^4.0.0, npmlog@^4.0.2: 2853 | version "4.1.2" 2854 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" 2855 | dependencies: 2856 | are-we-there-yet "~1.1.2" 2857 | console-control-strings "~1.1.0" 2858 | gauge "~2.7.3" 2859 | set-blocking "~2.0.0" 2860 | 2861 | number-is-nan@^1.0.0: 2862 | version "1.0.1" 2863 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 2864 | 2865 | "nwmatcher@>= 1.3.9 < 2.0.0": 2866 | version "1.4.3" 2867 | resolved "https://registry.yarnpkg.com/nwmatcher/-/nwmatcher-1.4.3.tgz#64348e3b3d80f035b40ac11563d278f8b72db89c" 2868 | 2869 | oauth-sign@~0.8.1, oauth-sign@~0.8.2: 2870 | version "0.8.2" 2871 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" 2872 | 2873 | object-assign@^4.0.1, object-assign@^4.1.0: 2874 | version "4.1.1" 2875 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 2876 | 2877 | object.omit@^2.0.0: 2878 | version "2.0.1" 2879 | resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" 2880 | dependencies: 2881 | for-own "^0.1.4" 2882 | is-extendable "^0.1.1" 2883 | 2884 | once@^1.3.0, once@^1.3.3, once@^1.4.0: 2885 | version "1.4.0" 2886 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 2887 | dependencies: 2888 | wrappy "1" 2889 | 2890 | once@~1.3.0: 2891 | version "1.3.3" 2892 | resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" 2893 | dependencies: 2894 | wrappy "1" 2895 | 2896 | onetime@^1.0.0: 2897 | version "1.1.0" 2898 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" 2899 | 2900 | optimist@^0.6.1: 2901 | version "0.6.1" 2902 | resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" 2903 | dependencies: 2904 | minimist "~0.0.1" 2905 | wordwrap "~0.0.2" 2906 | 2907 | optionator@^0.8.1: 2908 | version "0.8.2" 2909 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" 2910 | dependencies: 2911 | deep-is "~0.1.3" 2912 | fast-levenshtein "~2.0.4" 2913 | levn "~0.3.0" 2914 | prelude-ls "~1.1.2" 2915 | type-check "~0.3.2" 2916 | wordwrap "~1.0.0" 2917 | 2918 | ora@^0.2.3: 2919 | version "0.2.3" 2920 | resolved "https://registry.yarnpkg.com/ora/-/ora-0.2.3.tgz#37527d220adcd53c39b73571d754156d5db657a4" 2921 | dependencies: 2922 | chalk "^1.1.1" 2923 | cli-cursor "^1.0.2" 2924 | cli-spinners "^0.1.2" 2925 | object-assign "^4.0.1" 2926 | 2927 | os-homedir@^1.0.0, os-homedir@^1.0.1: 2928 | version "1.0.2" 2929 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 2930 | 2931 | os-locale@^2.0.0: 2932 | version "2.1.0" 2933 | resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" 2934 | dependencies: 2935 | execa "^0.7.0" 2936 | lcid "^1.0.0" 2937 | mem "^1.1.0" 2938 | 2939 | os-shim@^0.1.2: 2940 | version "0.1.3" 2941 | resolved "https://registry.yarnpkg.com/os-shim/-/os-shim-0.1.3.tgz#6b62c3791cf7909ea35ed46e17658bb417cb3917" 2942 | 2943 | os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.1: 2944 | version "1.0.2" 2945 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 2946 | 2947 | osenv@^0.1.0, osenv@^0.1.4: 2948 | version "0.1.4" 2949 | resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" 2950 | dependencies: 2951 | os-homedir "^1.0.0" 2952 | os-tmpdir "^1.0.0" 2953 | 2954 | p-cancelable@^0.3.0: 2955 | version "0.3.0" 2956 | resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa" 2957 | 2958 | p-finally@^1.0.0: 2959 | version "1.0.0" 2960 | resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" 2961 | 2962 | p-limit@^1.1.0: 2963 | version "1.1.0" 2964 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc" 2965 | 2966 | p-locate@^2.0.0: 2967 | version "2.0.0" 2968 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" 2969 | dependencies: 2970 | p-limit "^1.1.0" 2971 | 2972 | p-map@^1.1.1: 2973 | version "1.2.0" 2974 | resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" 2975 | 2976 | p-reduce@^1.0.0: 2977 | version "1.0.0" 2978 | resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" 2979 | 2980 | p-retry@^1.0.0: 2981 | version "1.0.0" 2982 | resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-1.0.0.tgz#3927332a4b7d70269b535515117fc547da1a6968" 2983 | dependencies: 2984 | retry "^0.10.0" 2985 | 2986 | p-series@^1.0.0: 2987 | version "1.0.0" 2988 | resolved "https://registry.yarnpkg.com/p-series/-/p-series-1.0.0.tgz#7ec9e7b4406cc32066298a6f9860e55e91b36e07" 2989 | dependencies: 2990 | p-reduce "^1.0.0" 2991 | 2992 | pad-right@^0.2.2: 2993 | version "0.2.2" 2994 | resolved "https://registry.yarnpkg.com/pad-right/-/pad-right-0.2.2.tgz#6fbc924045d244f2a2a244503060d3bfc6009774" 2995 | dependencies: 2996 | repeat-string "^1.5.2" 2997 | 2998 | parse-github-repo-url@^1.3.0, parse-github-repo-url@^1.4.1: 2999 | version "1.4.1" 3000 | resolved "https://registry.yarnpkg.com/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz#9e7d8bb252a6cb6ba42595060b7bf6df3dbc1f50" 3001 | 3002 | parse-glob@^3.0.4: 3003 | version "3.0.4" 3004 | resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" 3005 | dependencies: 3006 | glob-base "^0.3.0" 3007 | is-dotfile "^1.0.0" 3008 | is-extglob "^1.0.0" 3009 | is-glob "^2.0.0" 3010 | 3011 | parse-json@^2.2.0: 3012 | version "2.2.0" 3013 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" 3014 | dependencies: 3015 | error-ex "^1.2.0" 3016 | 3017 | parse-passwd@^1.0.0: 3018 | version "1.0.0" 3019 | resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" 3020 | 3021 | parse5@^1.5.1: 3022 | version "1.5.1" 3023 | resolved "https://registry.yarnpkg.com/parse5/-/parse5-1.5.1.tgz#9b7f3b0de32be78dc2401b17573ccaf0f6f59d94" 3024 | 3025 | path-exists@2.1.0, path-exists@^2.0.0: 3026 | version "2.1.0" 3027 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" 3028 | dependencies: 3029 | pinkie-promise "^2.0.0" 3030 | 3031 | path-exists@^3.0.0: 3032 | version "3.0.0" 3033 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 3034 | 3035 | path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: 3036 | version "1.0.1" 3037 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 3038 | 3039 | path-key@^2.0.0: 3040 | version "2.0.1" 3041 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 3042 | 3043 | path-object@^2.3.0: 3044 | version "2.3.0" 3045 | resolved "https://registry.yarnpkg.com/path-object/-/path-object-2.3.0.tgz#03e46653e5c375c60af1cabdd94bc6448a5d9110" 3046 | dependencies: 3047 | core-util-is "^1.0.1" 3048 | lodash.assign "^3.0.0" 3049 | 3050 | path-parse@^1.0.5: 3051 | version "1.0.5" 3052 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" 3053 | 3054 | path-type@^1.0.0: 3055 | version "1.1.0" 3056 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" 3057 | dependencies: 3058 | graceful-fs "^4.1.2" 3059 | pify "^2.0.0" 3060 | pinkie-promise "^2.0.0" 3061 | 3062 | path-type@^2.0.0: 3063 | version "2.0.0" 3064 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" 3065 | dependencies: 3066 | pify "^2.0.0" 3067 | 3068 | performance-now@^0.2.0: 3069 | version "0.2.0" 3070 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" 3071 | 3072 | performance-now@^2.1.0: 3073 | version "2.1.0" 3074 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" 3075 | 3076 | pify@^2.0.0, pify@^2.3.0: 3077 | version "2.3.0" 3078 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" 3079 | 3080 | pify@^3.0.0: 3081 | version "3.0.0" 3082 | resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" 3083 | 3084 | pinkie-promise@^2.0.0: 3085 | version "2.0.1" 3086 | resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" 3087 | dependencies: 3088 | pinkie "^2.0.0" 3089 | 3090 | pinkie@^2.0.0: 3091 | version "2.0.4" 3092 | resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" 3093 | 3094 | pkg-dir@^2.0.0: 3095 | version "2.0.0" 3096 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" 3097 | dependencies: 3098 | find-up "^2.1.0" 3099 | 3100 | pkginfo@0.3.x: 3101 | version "0.3.1" 3102 | resolved "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.3.1.tgz#5b29f6a81f70717142e09e765bbeab97b4f81e21" 3103 | 3104 | pkginfo@0.x.x: 3105 | version "0.4.1" 3106 | resolved "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.4.1.tgz#b5418ef0439de5425fc4995042dced14fb2a84ff" 3107 | 3108 | prelude-ls@~1.1.2: 3109 | version "1.1.2" 3110 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" 3111 | 3112 | preserve@^0.2.0: 3113 | version "0.2.0" 3114 | resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" 3115 | 3116 | prettier@^1.4.4: 3117 | version "1.7.4" 3118 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.7.4.tgz#5e8624ae9363c80f95ec644584ecdf55d74f93fa" 3119 | 3120 | pretty-format@^21.2.1: 3121 | version "21.2.1" 3122 | resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-21.2.1.tgz#ae5407f3cf21066cd011aa1ba5fce7b6a2eddb36" 3123 | dependencies: 3124 | ansi-regex "^3.0.0" 3125 | ansi-styles "^3.2.0" 3126 | 3127 | private@^0.1.7: 3128 | version "0.1.8" 3129 | resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" 3130 | 3131 | process-nextick-args@~1.0.6: 3132 | version "1.0.7" 3133 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" 3134 | 3135 | progress@^2.0.0: 3136 | version "2.0.0" 3137 | resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f" 3138 | 3139 | prompt@^1.0.0: 3140 | version "1.0.0" 3141 | resolved "https://registry.yarnpkg.com/prompt/-/prompt-1.0.0.tgz#8e57123c396ab988897fb327fd3aedc3e735e4fe" 3142 | dependencies: 3143 | colors "^1.1.2" 3144 | pkginfo "0.x.x" 3145 | read "1.0.x" 3146 | revalidator "0.1.x" 3147 | utile "0.3.x" 3148 | winston "2.1.x" 3149 | 3150 | proto-list@~1.2.1: 3151 | version "1.2.4" 3152 | resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" 3153 | 3154 | prr@~0.0.0: 3155 | version "0.0.0" 3156 | resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" 3157 | 3158 | pseudomap@^1.0.2: 3159 | version "1.0.2" 3160 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" 3161 | 3162 | punycode@^1.4.1: 3163 | version "1.4.1" 3164 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 3165 | 3166 | q@^1.4.1: 3167 | version "1.5.1" 3168 | resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" 3169 | 3170 | qs@~6.2.0: 3171 | version "6.2.3" 3172 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.3.tgz#1cfcb25c10a9b2b483053ff39f5dfc9233908cfe" 3173 | 3174 | qs@~6.4.0: 3175 | version "6.4.0" 3176 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" 3177 | 3178 | qs@~6.5.1: 3179 | version "6.5.1" 3180 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" 3181 | 3182 | randomatic@^1.1.3: 3183 | version "1.1.7" 3184 | resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" 3185 | dependencies: 3186 | is-number "^3.0.0" 3187 | kind-of "^4.0.0" 3188 | 3189 | rc@^1.1.7: 3190 | version "1.2.2" 3191 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.2.tgz#d8ce9cb57e8d64d9c7badd9876c7c34cbe3c7077" 3192 | dependencies: 3193 | deep-extend "~0.4.0" 3194 | ini "~1.3.0" 3195 | minimist "^1.2.0" 3196 | strip-json-comments "~2.0.1" 3197 | 3198 | read-pkg-up@^1.0.1: 3199 | version "1.0.1" 3200 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" 3201 | dependencies: 3202 | find-up "^1.0.0" 3203 | read-pkg "^1.0.0" 3204 | 3205 | read-pkg-up@^2.0.0: 3206 | version "2.0.0" 3207 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" 3208 | dependencies: 3209 | find-up "^2.0.0" 3210 | read-pkg "^2.0.0" 3211 | 3212 | read-pkg@^1.0.0, read-pkg@^1.1.0: 3213 | version "1.1.0" 3214 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" 3215 | dependencies: 3216 | load-json-file "^1.0.0" 3217 | normalize-package-data "^2.3.2" 3218 | path-type "^1.0.0" 3219 | 3220 | read-pkg@^2.0.0: 3221 | version "2.0.0" 3222 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" 3223 | dependencies: 3224 | load-json-file "^2.0.0" 3225 | normalize-package-data "^2.3.2" 3226 | path-type "^2.0.0" 3227 | 3228 | read@1.0.x: 3229 | version "1.0.7" 3230 | resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" 3231 | dependencies: 3232 | mute-stream "~0.0.4" 3233 | 3234 | readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2: 3235 | version "2.3.3" 3236 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" 3237 | dependencies: 3238 | core-util-is "~1.0.0" 3239 | inherits "~2.0.3" 3240 | isarray "~1.0.0" 3241 | process-nextick-args "~1.0.6" 3242 | safe-buffer "~5.1.1" 3243 | string_decoder "~1.0.3" 3244 | util-deprecate "~1.0.1" 3245 | 3246 | readable-stream@~2.0.5: 3247 | version "2.0.6" 3248 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" 3249 | dependencies: 3250 | core-util-is "~1.0.0" 3251 | inherits "~2.0.1" 3252 | isarray "~1.0.0" 3253 | process-nextick-args "~1.0.6" 3254 | string_decoder "~0.10.x" 3255 | util-deprecate "~1.0.1" 3256 | 3257 | rechoir@^0.6.2: 3258 | version "0.6.2" 3259 | resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" 3260 | dependencies: 3261 | resolve "^1.1.6" 3262 | 3263 | redent@^1.0.0: 3264 | version "1.0.0" 3265 | resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" 3266 | dependencies: 3267 | indent-string "^2.1.0" 3268 | strip-indent "^1.0.1" 3269 | 3270 | redux-logger@^3.0.6: 3271 | version "3.0.6" 3272 | resolved "https://registry.yarnpkg.com/redux-logger/-/redux-logger-3.0.6.tgz#f7555966f3098f3c88604c449cf0baf5778274bf" 3273 | dependencies: 3274 | deep-diff "^0.3.5" 3275 | 3276 | redux@^3.7.2: 3277 | version "3.7.2" 3278 | resolved "https://registry.yarnpkg.com/redux/-/redux-3.7.2.tgz#06b73123215901d25d065be342eb026bc1c8537b" 3279 | dependencies: 3280 | lodash "^4.2.1" 3281 | lodash-es "^4.2.1" 3282 | loose-envify "^1.1.0" 3283 | symbol-observable "^1.0.3" 3284 | 3285 | regenerator-runtime@^0.10.5: 3286 | version "0.10.5" 3287 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" 3288 | 3289 | regenerator-runtime@^0.11.0: 3290 | version "0.11.0" 3291 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz#7e54fe5b5ccd5d6624ea6255c3473be090b802e1" 3292 | 3293 | regex-cache@^0.4.2: 3294 | version "0.4.4" 3295 | resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" 3296 | dependencies: 3297 | is-equal-shallow "^0.1.3" 3298 | 3299 | remove-trailing-separator@^1.0.1: 3300 | version "1.1.0" 3301 | resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" 3302 | 3303 | repeat-element@^1.1.2: 3304 | version "1.1.2" 3305 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" 3306 | 3307 | repeat-string@^1.5.2: 3308 | version "1.6.1" 3309 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" 3310 | 3311 | repeating@^2.0.0: 3312 | version "2.0.1" 3313 | resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" 3314 | dependencies: 3315 | is-finite "^1.0.0" 3316 | 3317 | replace-in-file@^3.0.0-beta.2: 3318 | version "3.0.0-beta.2" 3319 | resolved "https://registry.yarnpkg.com/replace-in-file/-/replace-in-file-3.0.0-beta.2.tgz#d0b0b316364db4fd3dd018870c75740fa142d079" 3320 | dependencies: 3321 | chalk "^2.1.0" 3322 | glob "^7.1.2" 3323 | yargs "^8.0.2" 3324 | 3325 | request@2.81.0: 3326 | version "2.81.0" 3327 | resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" 3328 | dependencies: 3329 | aws-sign2 "~0.6.0" 3330 | aws4 "^1.2.1" 3331 | caseless "~0.12.0" 3332 | combined-stream "~1.0.5" 3333 | extend "~3.0.0" 3334 | forever-agent "~0.6.1" 3335 | form-data "~2.1.1" 3336 | har-validator "~4.2.1" 3337 | hawk "~3.1.3" 3338 | http-signature "~1.1.0" 3339 | is-typedarray "~1.0.0" 3340 | isstream "~0.1.2" 3341 | json-stringify-safe "~5.0.1" 3342 | mime-types "~2.1.7" 3343 | oauth-sign "~0.8.1" 3344 | performance-now "^0.2.0" 3345 | qs "~6.4.0" 3346 | safe-buffer "^5.0.1" 3347 | stringstream "~0.0.4" 3348 | tough-cookie "~2.3.0" 3349 | tunnel-agent "^0.6.0" 3350 | uuid "^3.0.0" 3351 | 3352 | request@^2.74.0, request@^2.79.0: 3353 | version "2.83.0" 3354 | resolved "https://registry.yarnpkg.com/request/-/request-2.83.0.tgz#ca0b65da02ed62935887808e6f510381034e3356" 3355 | dependencies: 3356 | aws-sign2 "~0.7.0" 3357 | aws4 "^1.6.0" 3358 | caseless "~0.12.0" 3359 | combined-stream "~1.0.5" 3360 | extend "~3.0.1" 3361 | forever-agent "~0.6.1" 3362 | form-data "~2.3.1" 3363 | har-validator "~5.0.3" 3364 | hawk "~6.0.2" 3365 | http-signature "~1.2.0" 3366 | is-typedarray "~1.0.0" 3367 | isstream "~0.1.2" 3368 | json-stringify-safe "~5.0.1" 3369 | mime-types "~2.1.17" 3370 | oauth-sign "~0.8.2" 3371 | performance-now "^2.1.0" 3372 | qs "~6.5.1" 3373 | safe-buffer "^5.1.1" 3374 | stringstream "~0.0.5" 3375 | tough-cookie "~2.3.3" 3376 | tunnel-agent "^0.6.0" 3377 | uuid "^3.1.0" 3378 | 3379 | request@~2.74.0: 3380 | version "2.74.0" 3381 | resolved "https://registry.yarnpkg.com/request/-/request-2.74.0.tgz#7693ca768bbb0ea5c8ce08c084a45efa05b892ab" 3382 | dependencies: 3383 | aws-sign2 "~0.6.0" 3384 | aws4 "^1.2.1" 3385 | bl "~1.1.2" 3386 | caseless "~0.11.0" 3387 | combined-stream "~1.0.5" 3388 | extend "~3.0.0" 3389 | forever-agent "~0.6.1" 3390 | form-data "~1.0.0-rc4" 3391 | har-validator "~2.0.6" 3392 | hawk "~3.1.3" 3393 | http-signature "~1.1.0" 3394 | is-typedarray "~1.0.0" 3395 | isstream "~0.1.2" 3396 | json-stringify-safe "~5.0.1" 3397 | mime-types "~2.1.7" 3398 | node-uuid "~1.4.7" 3399 | oauth-sign "~0.8.1" 3400 | qs "~6.2.0" 3401 | stringstream "~0.0.4" 3402 | tough-cookie "~2.3.0" 3403 | tunnel-agent "~0.4.1" 3404 | 3405 | require-directory@^2.1.1: 3406 | version "2.1.1" 3407 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 3408 | 3409 | require-from-string@^1.1.0: 3410 | version "1.2.1" 3411 | resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-1.2.1.tgz#529c9ccef27380adfec9a2f965b649bbee636418" 3412 | 3413 | require-main-filename@^1.0.1: 3414 | version "1.0.1" 3415 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" 3416 | 3417 | require-relative@^0.8.7: 3418 | version "0.8.7" 3419 | resolved "https://registry.yarnpkg.com/require-relative/-/require-relative-0.8.7.tgz#7999539fc9e047a37928fa196f8e1563dabd36de" 3420 | 3421 | resolve-dir@^0.1.0: 3422 | version "0.1.1" 3423 | resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-0.1.1.tgz#b219259a5602fac5c5c496ad894a6e8cc430261e" 3424 | dependencies: 3425 | expand-tilde "^1.2.2" 3426 | global-modules "^0.2.3" 3427 | 3428 | resolve-from@^3.0.0: 3429 | version "3.0.0" 3430 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" 3431 | 3432 | resolve-url@^0.2.1: 3433 | version "0.2.1" 3434 | resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" 3435 | 3436 | resolve@1.1.7: 3437 | version "1.1.7" 3438 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" 3439 | 3440 | resolve@^1.1.6, resolve@^1.3.2, resolve@^1.4.0: 3441 | version "1.4.0" 3442 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.4.0.tgz#a75be01c53da25d934a98ebd0e4c4a7312f92a86" 3443 | dependencies: 3444 | path-parse "^1.0.5" 3445 | 3446 | restore-cursor@^1.0.1: 3447 | version "1.0.1" 3448 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" 3449 | dependencies: 3450 | exit-hook "^1.0.0" 3451 | onetime "^1.0.0" 3452 | 3453 | retry@^0.10.0: 3454 | version "0.10.1" 3455 | resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4" 3456 | 3457 | revalidator@0.1.x: 3458 | version "0.1.8" 3459 | resolved "https://registry.yarnpkg.com/revalidator/-/revalidator-0.1.8.tgz#fece61bfa0c1b52a206bd6b18198184bdd523a3b" 3460 | 3461 | right-align@^0.1.1: 3462 | version "0.1.3" 3463 | resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" 3464 | dependencies: 3465 | align-text "^0.1.1" 3466 | 3467 | right-pad@^1.0.1: 3468 | version "1.0.1" 3469 | resolved "https://registry.yarnpkg.com/right-pad/-/right-pad-1.0.1.tgz#8ca08c2cbb5b55e74dafa96bf7fd1a27d568c8d0" 3470 | 3471 | rimraf@2, rimraf@2.x.x, rimraf@^2.5.1, rimraf@^2.6.1: 3472 | version "2.6.2" 3473 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" 3474 | dependencies: 3475 | glob "^7.0.5" 3476 | 3477 | rollup-plugin-commonjs@^8.0.2: 3478 | version "8.2.4" 3479 | resolved "https://registry.yarnpkg.com/rollup-plugin-commonjs/-/rollup-plugin-commonjs-8.2.4.tgz#435b01fb591cb508dc740196cec8b60f10132e78" 3480 | dependencies: 3481 | acorn "^5.1.2" 3482 | estree-walker "^0.5.0" 3483 | magic-string "^0.22.4" 3484 | resolve "^1.4.0" 3485 | rollup-pluginutils "^2.0.1" 3486 | 3487 | rollup-plugin-node-resolve@^3.0.0: 3488 | version "3.0.0" 3489 | resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.0.0.tgz#8b897c4c3030d5001277b0514b25d2ca09683ee0" 3490 | dependencies: 3491 | browser-resolve "^1.11.0" 3492 | builtin-modules "^1.1.0" 3493 | is-module "^1.0.0" 3494 | resolve "^1.1.6" 3495 | 3496 | rollup-plugin-sourcemaps@^0.4.2: 3497 | version "0.4.2" 3498 | resolved "https://registry.yarnpkg.com/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.4.2.tgz#62125aa94087aadf7b83ef4dfaf629b473135e87" 3499 | dependencies: 3500 | rollup-pluginutils "^2.0.1" 3501 | source-map-resolve "^0.5.0" 3502 | 3503 | rollup-pluginutils@^2.0.1: 3504 | version "2.0.1" 3505 | resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.0.1.tgz#7ec95b3573f6543a46a6461bd9a7c544525d0fc0" 3506 | dependencies: 3507 | estree-walker "^0.3.0" 3508 | micromatch "^2.3.11" 3509 | 3510 | rollup@^0.50.0: 3511 | version "0.50.0" 3512 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.50.0.tgz#4c158f4e780e6cb33ff0dbfc184a52cc58cd5f3b" 3513 | 3514 | run-async@^2.2.0: 3515 | version "2.3.0" 3516 | resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" 3517 | dependencies: 3518 | is-promise "^2.1.0" 3519 | 3520 | rx@^4.1.0: 3521 | version "4.1.0" 3522 | resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" 3523 | 3524 | rxjs@^5.0.0-beta.11: 3525 | version "5.5.0" 3526 | resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.0.tgz#26d8f3866eb700e247e0728a147c3d628993d812" 3527 | dependencies: 3528 | symbol-observable "^1.0.1" 3529 | 3530 | safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: 3531 | version "5.1.1" 3532 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" 3533 | 3534 | sane@^2.0.0: 3535 | version "2.2.0" 3536 | resolved "https://registry.yarnpkg.com/sane/-/sane-2.2.0.tgz#d6d2e2fcab00e3d283c93b912b7c3a20846f1d56" 3537 | dependencies: 3538 | anymatch "^1.3.0" 3539 | exec-sh "^0.2.0" 3540 | fb-watchman "^2.0.0" 3541 | minimatch "^3.0.2" 3542 | minimist "^1.1.1" 3543 | walker "~1.0.5" 3544 | watch "~0.18.0" 3545 | optionalDependencies: 3546 | fsevents "^1.1.1" 3547 | 3548 | sax@^1.2.1: 3549 | version "1.2.4" 3550 | resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" 3551 | 3552 | semantic-release@^8.2.0: 3553 | version "8.2.1" 3554 | resolved "https://registry.yarnpkg.com/semantic-release/-/semantic-release-8.2.1.tgz#0bd4c2d372b328b2617fb34688937e58387f1bc1" 3555 | dependencies: 3556 | "@semantic-release/commit-analyzer" "^3.0.1" 3557 | "@semantic-release/condition-travis" "^6.0.0" 3558 | "@semantic-release/error" "^2.0.0" 3559 | "@semantic-release/last-release-npm" "^2.0.0" 3560 | "@semantic-release/release-notes-generator" "^4.0.0" 3561 | execa "^0.8.0" 3562 | fs-extra "^4.0.2" 3563 | git-head "^1.2.1" 3564 | github "^11.0.0" 3565 | lodash "^4.0.0" 3566 | nerf-dart "^1.0.0" 3567 | nopt "^4.0.0" 3568 | normalize-package-data "^2.3.4" 3569 | npmconf "^2.1.2" 3570 | npmlog "^4.0.0" 3571 | p-series "^1.0.0" 3572 | parse-github-repo-url "^1.3.0" 3573 | require-relative "^0.8.7" 3574 | semver "^5.4.1" 3575 | 3576 | semver-regex@1.0.0: 3577 | version "1.0.0" 3578 | resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-1.0.0.tgz#92a4969065f9c70c694753d55248fc68f8f652c9" 3579 | 3580 | "semver@2 >=2.2.1 || 3.x || 4 || 5", "semver@2 || 3 || 4 || 5", semver@^5.0.1, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1: 3581 | version "5.4.1" 3582 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" 3583 | 3584 | "semver@2 || 3 || 4": 3585 | version "4.3.6" 3586 | resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da" 3587 | 3588 | semver@~5.0.1: 3589 | version "5.0.3" 3590 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.0.3.tgz#77466de589cd5d3c95f138aa78bc569a3cb5d27a" 3591 | 3592 | set-blocking@^2.0.0, set-blocking@~2.0.0: 3593 | version "2.0.0" 3594 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 3595 | 3596 | shebang-command@^1.2.0: 3597 | version "1.2.0" 3598 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 3599 | dependencies: 3600 | shebang-regex "^1.0.0" 3601 | 3602 | shebang-regex@^1.0.0: 3603 | version "1.0.0" 3604 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 3605 | 3606 | shelljs@0.7.6, shelljs@^0.7.0: 3607 | version "0.7.6" 3608 | resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.6.tgz#379cccfb56b91c8601e4793356eb5382924de9ad" 3609 | dependencies: 3610 | glob "^7.0.0" 3611 | interpret "^1.0.0" 3612 | rechoir "^0.6.2" 3613 | 3614 | shellwords@^0.1.0: 3615 | version "0.1.1" 3616 | resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" 3617 | 3618 | signal-exit@^3.0.0, signal-exit@^3.0.2: 3619 | version "3.0.2" 3620 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 3621 | 3622 | slash@^1.0.0: 3623 | version "1.0.0" 3624 | resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" 3625 | 3626 | slice-ansi@0.0.4: 3627 | version "0.0.4" 3628 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" 3629 | 3630 | slide@^1.1.3: 3631 | version "1.1.6" 3632 | resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" 3633 | 3634 | sntp@1.x.x: 3635 | version "1.0.9" 3636 | resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" 3637 | dependencies: 3638 | hoek "2.x.x" 3639 | 3640 | sntp@2.x.x: 3641 | version "2.0.2" 3642 | resolved "https://registry.yarnpkg.com/sntp/-/sntp-2.0.2.tgz#5064110f0af85f7cfdb7d6b67a40028ce52b4b2b" 3643 | dependencies: 3644 | hoek "4.x.x" 3645 | 3646 | source-map-resolve@^0.5.0: 3647 | version "0.5.0" 3648 | resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.0.tgz#fcad0b64b70afb27699e425950cb5ebcd410bc20" 3649 | dependencies: 3650 | atob "^2.0.0" 3651 | resolve-url "^0.2.1" 3652 | source-map-url "^0.4.0" 3653 | urix "^0.1.0" 3654 | 3655 | source-map-support@^0.4.0, source-map-support@^0.4.15: 3656 | version "0.4.18" 3657 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" 3658 | dependencies: 3659 | source-map "^0.5.6" 3660 | 3661 | source-map-support@^0.5.0: 3662 | version "0.5.0" 3663 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.0.tgz#2018a7ad2bdf8faf2691e5fddab26bed5a2bacab" 3664 | dependencies: 3665 | source-map "^0.6.0" 3666 | 3667 | source-map-url@^0.4.0: 3668 | version "0.4.0" 3669 | resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" 3670 | 3671 | source-map@^0.4.4: 3672 | version "0.4.4" 3673 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" 3674 | dependencies: 3675 | amdefine ">=0.0.4" 3676 | 3677 | source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.6: 3678 | version "0.5.7" 3679 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 3680 | 3681 | source-map@^0.6.0: 3682 | version "0.6.1" 3683 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 3684 | 3685 | spawn-sync@^1.0.15: 3686 | version "1.0.15" 3687 | resolved "https://registry.yarnpkg.com/spawn-sync/-/spawn-sync-1.0.15.tgz#b00799557eb7fb0c8376c29d44e8a1ea67e57476" 3688 | dependencies: 3689 | concat-stream "^1.4.7" 3690 | os-shim "^0.1.2" 3691 | 3692 | spdx-correct@~1.0.0: 3693 | version "1.0.2" 3694 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" 3695 | dependencies: 3696 | spdx-license-ids "^1.0.2" 3697 | 3698 | spdx-expression-parse@~1.0.0: 3699 | version "1.0.4" 3700 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" 3701 | 3702 | spdx-license-ids@^1.0.2: 3703 | version "1.2.2" 3704 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" 3705 | 3706 | split2@^2.0.0: 3707 | version "2.2.0" 3708 | resolved "https://registry.yarnpkg.com/split2/-/split2-2.2.0.tgz#186b2575bcf83e85b7d18465756238ee4ee42493" 3709 | dependencies: 3710 | through2 "^2.0.2" 3711 | 3712 | split@^1.0.0: 3713 | version "1.0.1" 3714 | resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" 3715 | dependencies: 3716 | through "2" 3717 | 3718 | sprintf-js@~1.0.2: 3719 | version "1.0.3" 3720 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 3721 | 3722 | sshpk@^1.7.0: 3723 | version "1.13.1" 3724 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3" 3725 | dependencies: 3726 | asn1 "~0.2.3" 3727 | assert-plus "^1.0.0" 3728 | dashdash "^1.12.0" 3729 | getpass "^0.1.1" 3730 | optionalDependencies: 3731 | bcrypt-pbkdf "^1.0.0" 3732 | ecc-jsbn "~0.1.1" 3733 | jsbn "~0.1.0" 3734 | tweetnacl "~0.14.0" 3735 | 3736 | ssri@^4.1.2: 3737 | version "4.1.6" 3738 | resolved "https://registry.yarnpkg.com/ssri/-/ssri-4.1.6.tgz#0cb49b6ac84457e7bdd466cb730c3cb623e9a25b" 3739 | dependencies: 3740 | safe-buffer "^5.1.0" 3741 | 3742 | stack-trace@0.0.x: 3743 | version "0.0.10" 3744 | resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" 3745 | 3746 | staged-git-files@0.0.4: 3747 | version "0.0.4" 3748 | resolved "https://registry.yarnpkg.com/staged-git-files/-/staged-git-files-0.0.4.tgz#d797e1b551ca7a639dec0237dc6eb4bb9be17d35" 3749 | 3750 | stream-consume@^0.1.0: 3751 | version "0.1.0" 3752 | resolved "https://registry.yarnpkg.com/stream-consume/-/stream-consume-0.1.0.tgz#a41ead1a6d6081ceb79f65b061901b6d8f3d1d0f" 3753 | 3754 | stream-to-observable@^0.1.0: 3755 | version "0.1.0" 3756 | resolved "https://registry.yarnpkg.com/stream-to-observable/-/stream-to-observable-0.1.0.tgz#45bf1d9f2d7dc09bed81f1c307c430e68b84cffe" 3757 | 3758 | string-length@^2.0.0: 3759 | version "2.0.0" 3760 | resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" 3761 | dependencies: 3762 | astral-regex "^1.0.0" 3763 | strip-ansi "^4.0.0" 3764 | 3765 | string-width@^1.0.1, string-width@^1.0.2: 3766 | version "1.0.2" 3767 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 3768 | dependencies: 3769 | code-point-at "^1.0.0" 3770 | is-fullwidth-code-point "^1.0.0" 3771 | strip-ansi "^3.0.0" 3772 | 3773 | string-width@^2.0.0: 3774 | version "2.1.1" 3775 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 3776 | dependencies: 3777 | is-fullwidth-code-point "^2.0.0" 3778 | strip-ansi "^4.0.0" 3779 | 3780 | string_decoder@~0.10.x: 3781 | version "0.10.31" 3782 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" 3783 | 3784 | string_decoder@~1.0.3: 3785 | version "1.0.3" 3786 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" 3787 | dependencies: 3788 | safe-buffer "~5.1.0" 3789 | 3790 | stringify-object@^3.2.0: 3791 | version "3.2.1" 3792 | resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.2.1.tgz#2720c2eff940854c819f6ee252aaeb581f30624d" 3793 | dependencies: 3794 | get-own-enumerable-property-symbols "^2.0.1" 3795 | is-obj "^1.0.1" 3796 | is-regexp "^1.0.0" 3797 | 3798 | stringstream@~0.0.4, stringstream@~0.0.5: 3799 | version "0.0.5" 3800 | resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" 3801 | 3802 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 3803 | version "3.0.1" 3804 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 3805 | dependencies: 3806 | ansi-regex "^2.0.0" 3807 | 3808 | strip-ansi@^4.0.0: 3809 | version "4.0.0" 3810 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 3811 | dependencies: 3812 | ansi-regex "^3.0.0" 3813 | 3814 | strip-bom@3.0.0, strip-bom@^3.0.0: 3815 | version "3.0.0" 3816 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" 3817 | 3818 | strip-bom@^2.0.0: 3819 | version "2.0.0" 3820 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" 3821 | dependencies: 3822 | is-utf8 "^0.2.0" 3823 | 3824 | strip-eof@^1.0.0: 3825 | version "1.0.0" 3826 | resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" 3827 | 3828 | strip-indent@^1.0.1: 3829 | version "1.0.1" 3830 | resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" 3831 | dependencies: 3832 | get-stdin "^4.0.1" 3833 | 3834 | strip-indent@^2.0.0: 3835 | version "2.0.0" 3836 | resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" 3837 | 3838 | strip-json-comments@2.0.1, strip-json-comments@^2.0.0, strip-json-comments@~2.0.1: 3839 | version "2.0.1" 3840 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 3841 | 3842 | supports-color@^2.0.0: 3843 | version "2.0.0" 3844 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 3845 | 3846 | supports-color@^3.1.2: 3847 | version "3.2.3" 3848 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" 3849 | dependencies: 3850 | has-flag "^1.0.0" 3851 | 3852 | supports-color@^4.0.0: 3853 | version "4.5.0" 3854 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b" 3855 | dependencies: 3856 | has-flag "^2.0.0" 3857 | 3858 | symbol-observable@^1.0.1, symbol-observable@^1.0.3: 3859 | version "1.0.4" 3860 | resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d" 3861 | 3862 | symbol-tree@^3.2.1: 3863 | version "3.2.2" 3864 | resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" 3865 | 3866 | tar-pack@^3.4.0: 3867 | version "3.4.0" 3868 | resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.0.tgz#23be2d7f671a8339376cbdb0b8fe3fdebf317984" 3869 | dependencies: 3870 | debug "^2.2.0" 3871 | fstream "^1.0.10" 3872 | fstream-ignore "^1.0.5" 3873 | once "^1.3.3" 3874 | readable-stream "^2.1.4" 3875 | rimraf "^2.5.1" 3876 | tar "^2.2.1" 3877 | uid-number "^0.0.6" 3878 | 3879 | tar@^2.2.1: 3880 | version "2.2.1" 3881 | resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" 3882 | dependencies: 3883 | block-stream "*" 3884 | fstream "^1.0.2" 3885 | inherits "2" 3886 | 3887 | test-exclude@^4.1.1: 3888 | version "4.1.1" 3889 | resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.1.1.tgz#4d84964b0966b0087ecc334a2ce002d3d9341e26" 3890 | dependencies: 3891 | arrify "^1.0.1" 3892 | micromatch "^2.3.11" 3893 | object-assign "^4.1.0" 3894 | read-pkg-up "^1.0.1" 3895 | require-main-filename "^1.0.1" 3896 | 3897 | text-extensions@^1.0.0: 3898 | version "1.7.0" 3899 | resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.7.0.tgz#faaaba2625ed746d568a23e4d0aacd9bf08a8b39" 3900 | 3901 | throat@^4.0.0: 3902 | version "4.1.0" 3903 | resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" 3904 | 3905 | through2@^2.0.0, through2@^2.0.2: 3906 | version "2.0.3" 3907 | resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" 3908 | dependencies: 3909 | readable-stream "^2.1.5" 3910 | xtend "~4.0.1" 3911 | 3912 | through@2, "through@>=2.2.7 <3", through@^2.3.6: 3913 | version "2.3.8" 3914 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 3915 | 3916 | tmp@^0.0.29: 3917 | version "0.0.29" 3918 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.29.tgz#f25125ff0dd9da3ccb0c2dd371ee1288bb9128c0" 3919 | dependencies: 3920 | os-tmpdir "~1.0.1" 3921 | 3922 | tmpl@1.0.x: 3923 | version "1.0.4" 3924 | resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" 3925 | 3926 | to-fast-properties@^1.0.3: 3927 | version "1.0.3" 3928 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" 3929 | 3930 | tough-cookie@^2.3.2, tough-cookie@~2.3.0, tough-cookie@~2.3.3: 3931 | version "2.3.3" 3932 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.3.tgz#0b618a5565b6dea90bf3425d04d55edc475a7561" 3933 | dependencies: 3934 | punycode "^1.4.1" 3935 | 3936 | tr46@~0.0.3: 3937 | version "0.0.3" 3938 | resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" 3939 | 3940 | travis-ci@^2.1.1: 3941 | version "2.1.1" 3942 | resolved "https://registry.yarnpkg.com/travis-ci/-/travis-ci-2.1.1.tgz#98696265af827ae3576f31aa06d876e74b4b082e" 3943 | dependencies: 3944 | github "~0.1.10" 3945 | lodash "~1.3.1" 3946 | request "~2.74.0" 3947 | underscore.string "~2.2.0rc" 3948 | 3949 | travis-deploy-once@^3.0.0: 3950 | version "3.0.0" 3951 | resolved "https://registry.yarnpkg.com/travis-deploy-once/-/travis-deploy-once-3.0.0.tgz#079f7c2d56472ef8e87d540c9b108bed9d9e1fdd" 3952 | dependencies: 3953 | chalk "^2.1.0" 3954 | p-retry "^1.0.0" 3955 | semver "^5.4.1" 3956 | travis-ci "^2.1.1" 3957 | 3958 | trim-newlines@^1.0.0: 3959 | version "1.0.0" 3960 | resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" 3961 | 3962 | trim-off-newlines@^1.0.0: 3963 | version "1.0.1" 3964 | resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" 3965 | 3966 | trim-right@^1.0.1: 3967 | version "1.0.1" 3968 | resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" 3969 | 3970 | ts-jest@^21.0.0: 3971 | version "21.1.3" 3972 | resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-21.1.3.tgz#cc3c552e7e8a67db9ededc28c00ae98223614ddc" 3973 | dependencies: 3974 | babel-core "^6.24.1" 3975 | babel-plugin-istanbul "^4.1.4" 3976 | babel-plugin-transform-es2015-modules-commonjs "^6.24.1" 3977 | babel-preset-jest "^21.2.0" 3978 | fs-extra "^4.0.0" 3979 | jest-config "^21.2.1" 3980 | jest-util "^21.2.1" 3981 | pkg-dir "^2.0.0" 3982 | source-map-support "^0.5.0" 3983 | yargs "^9.0.1" 3984 | 3985 | ts-node@^3.0.6: 3986 | version "3.3.0" 3987 | resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-3.3.0.tgz#c13c6a3024e30be1180dd53038fc209289d4bf69" 3988 | dependencies: 3989 | arrify "^1.0.0" 3990 | chalk "^2.0.0" 3991 | diff "^3.1.0" 3992 | make-error "^1.1.1" 3993 | minimist "^1.2.0" 3994 | mkdirp "^0.5.1" 3995 | source-map-support "^0.4.0" 3996 | tsconfig "^6.0.0" 3997 | v8flags "^3.0.0" 3998 | yn "^2.0.0" 3999 | 4000 | tsconfig@^6.0.0: 4001 | version "6.0.0" 4002 | resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-6.0.0.tgz#6b0e8376003d7af1864f8df8f89dd0059ffcd032" 4003 | dependencies: 4004 | strip-bom "^3.0.0" 4005 | strip-json-comments "^2.0.0" 4006 | 4007 | tslib@^1.0.0, tslib@^1.7.1: 4008 | version "1.8.0" 4009 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.8.0.tgz#dc604ebad64bcbf696d613da6c954aa0e7ea1eb6" 4010 | 4011 | tslint-config-prettier@^1.1.0: 4012 | version "1.6.0" 4013 | resolved "https://registry.yarnpkg.com/tslint-config-prettier/-/tslint-config-prettier-1.6.0.tgz#fec1ee8fb07e8f033c63fed6b135af997f31962a" 4014 | 4015 | tslint-config-standard@^6.0.0: 4016 | version "6.0.1" 4017 | resolved "https://registry.yarnpkg.com/tslint-config-standard/-/tslint-config-standard-6.0.1.tgz#a04ba0a794759e877287056f549b081e47a56d6c" 4018 | dependencies: 4019 | tslint-eslint-rules "^4.0.0" 4020 | 4021 | tslint-eslint-rules@^4.0.0: 4022 | version "4.1.1" 4023 | resolved "https://registry.yarnpkg.com/tslint-eslint-rules/-/tslint-eslint-rules-4.1.1.tgz#7c30e7882f26bc276bff91d2384975c69daf88ba" 4024 | dependencies: 4025 | doctrine "^0.7.2" 4026 | tslib "^1.0.0" 4027 | tsutils "^1.4.0" 4028 | 4029 | tslint@^5.4.3: 4030 | version "5.7.0" 4031 | resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.7.0.tgz#c25e0d0c92fa1201c2bc30e844e08e682b4f3552" 4032 | dependencies: 4033 | babel-code-frame "^6.22.0" 4034 | colors "^1.1.2" 4035 | commander "^2.9.0" 4036 | diff "^3.2.0" 4037 | glob "^7.1.1" 4038 | minimatch "^3.0.4" 4039 | resolve "^1.3.2" 4040 | semver "^5.3.0" 4041 | tslib "^1.7.1" 4042 | tsutils "^2.8.1" 4043 | 4044 | tsutils@^1.4.0: 4045 | version "1.9.1" 4046 | resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-1.9.1.tgz#b9f9ab44e55af9681831d5f28d0aeeaf5c750cb0" 4047 | 4048 | tsutils@^2.8.1: 4049 | version "2.12.1" 4050 | resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.12.1.tgz#f4d95ce3391c8971e46e54c4cf0edb0a21dd5b24" 4051 | dependencies: 4052 | tslib "^1.7.1" 4053 | 4054 | tunnel-agent@^0.6.0: 4055 | version "0.6.0" 4056 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" 4057 | dependencies: 4058 | safe-buffer "^5.0.1" 4059 | 4060 | tunnel-agent@~0.4.1: 4061 | version "0.4.3" 4062 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" 4063 | 4064 | tweetnacl@^0.14.3, tweetnacl@~0.14.0: 4065 | version "0.14.5" 4066 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" 4067 | 4068 | type-check@~0.3.2: 4069 | version "0.3.2" 4070 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" 4071 | dependencies: 4072 | prelude-ls "~1.1.2" 4073 | 4074 | typedarray@^0.0.6: 4075 | version "0.0.6" 4076 | resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" 4077 | 4078 | typedoc-default-themes@^0.5.0: 4079 | version "0.5.0" 4080 | resolved "https://registry.yarnpkg.com/typedoc-default-themes/-/typedoc-default-themes-0.5.0.tgz#6dc2433e78ed8bea8e887a3acde2f31785bd6227" 4081 | 4082 | typedoc@^0.9.0: 4083 | version "0.9.0" 4084 | resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.9.0.tgz#159bff7c7784ce5b91d86f3e4cc8928e62040957" 4085 | dependencies: 4086 | "@types/fs-extra" "4.0.0" 4087 | "@types/handlebars" "4.0.31" 4088 | "@types/highlight.js" "9.1.8" 4089 | "@types/lodash" "4.14.74" 4090 | "@types/marked" "0.3.0" 4091 | "@types/minimatch" "2.0.29" 4092 | "@types/shelljs" "0.7.0" 4093 | fs-extra "^4.0.0" 4094 | handlebars "^4.0.6" 4095 | highlight.js "^9.0.0" 4096 | lodash "^4.13.1" 4097 | marked "^0.3.5" 4098 | minimatch "^3.0.0" 4099 | progress "^2.0.0" 4100 | shelljs "^0.7.0" 4101 | typedoc-default-themes "^0.5.0" 4102 | typescript "2.4.1" 4103 | 4104 | typescript@2.4.1: 4105 | version "2.4.1" 4106 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.4.1.tgz#c3ccb16ddaa0b2314de031e7e6fee89e5ba346bc" 4107 | 4108 | typescript@^2.3.4: 4109 | version "2.5.3" 4110 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.5.3.tgz#df3dcdc38f3beb800d4bc322646b04a3f6ca7f0d" 4111 | 4112 | uglify-js@^2.6: 4113 | version "2.8.29" 4114 | resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" 4115 | dependencies: 4116 | source-map "~0.5.1" 4117 | yargs "~3.10.0" 4118 | optionalDependencies: 4119 | uglify-to-browserify "~1.0.0" 4120 | 4121 | uglify-to-browserify@~1.0.0: 4122 | version "1.0.2" 4123 | resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" 4124 | 4125 | uid-number@0.0.5: 4126 | version "0.0.5" 4127 | resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.5.tgz#5a3db23ef5dbd55b81fce0ec9a2ac6fccdebb81e" 4128 | 4129 | uid-number@^0.0.6: 4130 | version "0.0.6" 4131 | resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" 4132 | 4133 | underscore.string@~2.2.0rc: 4134 | version "2.2.1" 4135 | resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-2.2.1.tgz#d7c0fa2af5d5a1a67f4253daee98132e733f0f19" 4136 | 4137 | universalify@^0.1.0: 4138 | version "0.1.1" 4139 | resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.1.tgz#fa71badd4437af4c148841e3b3b165f9e9e590b7" 4140 | 4141 | urix@^0.1.0: 4142 | version "0.1.0" 4143 | resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" 4144 | 4145 | util-deprecate@~1.0.1: 4146 | version "1.0.2" 4147 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 4148 | 4149 | utile@0.3.x: 4150 | version "0.3.0" 4151 | resolved "https://registry.yarnpkg.com/utile/-/utile-0.3.0.tgz#1352c340eb820e4d8ddba039a4fbfaa32ed4ef3a" 4152 | dependencies: 4153 | async "~0.9.0" 4154 | deep-equal "~0.2.1" 4155 | i "0.3.x" 4156 | mkdirp "0.x.x" 4157 | ncp "1.0.x" 4158 | rimraf "2.x.x" 4159 | 4160 | uuid@^3.0.0, uuid@^3.1.0: 4161 | version "3.1.0" 4162 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" 4163 | 4164 | v8flags@^3.0.0: 4165 | version "3.0.1" 4166 | resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.0.1.tgz#dce8fc379c17d9f2c9e9ed78d89ce00052b1b76b" 4167 | dependencies: 4168 | homedir-polyfill "^1.0.1" 4169 | 4170 | validate-commit-msg@^2.12.2: 4171 | version "2.14.0" 4172 | resolved "https://registry.yarnpkg.com/validate-commit-msg/-/validate-commit-msg-2.14.0.tgz#e5383691012cbb270dcc0bc2a4effebe14890eac" 4173 | dependencies: 4174 | conventional-commit-types "^2.0.0" 4175 | find-parent-dir "^0.3.0" 4176 | findup "0.1.5" 4177 | semver-regex "1.0.0" 4178 | 4179 | validate-npm-package-license@^3.0.1: 4180 | version "3.0.1" 4181 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" 4182 | dependencies: 4183 | spdx-correct "~1.0.0" 4184 | spdx-expression-parse "~1.0.0" 4185 | 4186 | validate-npm-package-name@^3.0.0: 4187 | version "3.0.0" 4188 | resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e" 4189 | dependencies: 4190 | builtins "^1.0.3" 4191 | 4192 | verror@1.10.0: 4193 | version "1.10.0" 4194 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" 4195 | dependencies: 4196 | assert-plus "^1.0.0" 4197 | core-util-is "1.0.2" 4198 | extsprintf "^1.2.0" 4199 | 4200 | vlq@^0.2.1: 4201 | version "0.2.3" 4202 | resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.3.tgz#8f3e4328cf63b1540c0d67e1b2778386f8975b26" 4203 | 4204 | walk@^2.3.9: 4205 | version "2.3.9" 4206 | resolved "https://registry.yarnpkg.com/walk/-/walk-2.3.9.tgz#31b4db6678f2ae01c39ea9fb8725a9031e558a7b" 4207 | dependencies: 4208 | foreachasync "^3.0.0" 4209 | 4210 | walker@~1.0.5: 4211 | version "1.0.7" 4212 | resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" 4213 | dependencies: 4214 | makeerror "1.0.x" 4215 | 4216 | watch@~0.18.0: 4217 | version "0.18.0" 4218 | resolved "https://registry.yarnpkg.com/watch/-/watch-0.18.0.tgz#28095476c6df7c90c963138990c0a5423eb4b986" 4219 | dependencies: 4220 | exec-sh "^0.2.0" 4221 | minimist "^1.2.0" 4222 | 4223 | webidl-conversions@^3.0.0: 4224 | version "3.0.1" 4225 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" 4226 | 4227 | webidl-conversions@^4.0.0: 4228 | version "4.0.2" 4229 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" 4230 | 4231 | whatwg-encoding@^1.0.1: 4232 | version "1.0.1" 4233 | resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.1.tgz#3c6c451a198ee7aec55b1ec61d0920c67801a5f4" 4234 | dependencies: 4235 | iconv-lite "0.4.13" 4236 | 4237 | whatwg-url@^4.3.0: 4238 | version "4.8.0" 4239 | resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-4.8.0.tgz#d2981aa9148c1e00a41c5a6131166ab4683bbcc0" 4240 | dependencies: 4241 | tr46 "~0.0.3" 4242 | webidl-conversions "^3.0.0" 4243 | 4244 | which-module@^2.0.0: 4245 | version "2.0.0" 4246 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" 4247 | 4248 | which@^1.2.10, which@^1.2.12, which@^1.2.9: 4249 | version "1.3.0" 4250 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" 4251 | dependencies: 4252 | isexe "^2.0.0" 4253 | 4254 | wide-align@^1.1.0: 4255 | version "1.1.2" 4256 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" 4257 | dependencies: 4258 | string-width "^1.0.2" 4259 | 4260 | window-size@0.1.0: 4261 | version "0.1.0" 4262 | resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" 4263 | 4264 | winston@2.1.x: 4265 | version "2.1.1" 4266 | resolved "https://registry.yarnpkg.com/winston/-/winston-2.1.1.tgz#3c9349d196207fd1bdff9d4bc43ef72510e3a12e" 4267 | dependencies: 4268 | async "~1.0.0" 4269 | colors "1.0.x" 4270 | cycle "1.0.x" 4271 | eyes "0.1.x" 4272 | isstream "0.1.x" 4273 | pkginfo "0.3.x" 4274 | stack-trace "0.0.x" 4275 | 4276 | word-wrap@^1.0.3: 4277 | version "1.2.3" 4278 | resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" 4279 | 4280 | wordwrap@0.0.2: 4281 | version "0.0.2" 4282 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" 4283 | 4284 | wordwrap@~0.0.2: 4285 | version "0.0.3" 4286 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" 4287 | 4288 | wordwrap@~1.0.0: 4289 | version "1.0.0" 4290 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" 4291 | 4292 | worker-farm@^1.3.1: 4293 | version "1.5.0" 4294 | resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.5.0.tgz#adfdf0cd40581465ed0a1f648f9735722afd5c8d" 4295 | dependencies: 4296 | errno "^0.1.4" 4297 | xtend "^4.0.1" 4298 | 4299 | wrap-ansi@^2.0.0: 4300 | version "2.1.0" 4301 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" 4302 | dependencies: 4303 | string-width "^1.0.1" 4304 | strip-ansi "^3.0.1" 4305 | 4306 | wrappy@1: 4307 | version "1.0.2" 4308 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 4309 | 4310 | write-file-atomic@^2.1.0: 4311 | version "2.3.0" 4312 | resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.3.0.tgz#1ff61575c2e2a4e8e510d6fa4e243cce183999ab" 4313 | dependencies: 4314 | graceful-fs "^4.1.11" 4315 | imurmurhash "^0.1.4" 4316 | signal-exit "^3.0.2" 4317 | 4318 | xml-name-validator@^2.0.1: 4319 | version "2.0.1" 4320 | resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-2.0.1.tgz#4d8b8f1eccd3419aa362061becef515e1e559635" 4321 | 4322 | xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: 4323 | version "4.0.1" 4324 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" 4325 | 4326 | y18n@^3.2.1: 4327 | version "3.2.1" 4328 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" 4329 | 4330 | yallist@^2.1.2: 4331 | version "2.1.2" 4332 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" 4333 | 4334 | yargs-parser@^7.0.0: 4335 | version "7.0.0" 4336 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" 4337 | dependencies: 4338 | camelcase "^4.1.0" 4339 | 4340 | yargs@^8.0.2: 4341 | version "8.0.2" 4342 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" 4343 | dependencies: 4344 | camelcase "^4.1.0" 4345 | cliui "^3.2.0" 4346 | decamelize "^1.1.1" 4347 | get-caller-file "^1.0.1" 4348 | os-locale "^2.0.0" 4349 | read-pkg-up "^2.0.0" 4350 | require-directory "^2.1.1" 4351 | require-main-filename "^1.0.1" 4352 | set-blocking "^2.0.0" 4353 | string-width "^2.0.0" 4354 | which-module "^2.0.0" 4355 | y18n "^3.2.1" 4356 | yargs-parser "^7.0.0" 4357 | 4358 | yargs@^9.0.0, yargs@^9.0.1: 4359 | version "9.0.1" 4360 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-9.0.1.tgz#52acc23feecac34042078ee78c0c007f5085db4c" 4361 | dependencies: 4362 | camelcase "^4.1.0" 4363 | cliui "^3.2.0" 4364 | decamelize "^1.1.1" 4365 | get-caller-file "^1.0.1" 4366 | os-locale "^2.0.0" 4367 | read-pkg-up "^2.0.0" 4368 | require-directory "^2.1.1" 4369 | require-main-filename "^1.0.1" 4370 | set-blocking "^2.0.0" 4371 | string-width "^2.0.0" 4372 | which-module "^2.0.0" 4373 | y18n "^3.2.1" 4374 | yargs-parser "^7.0.0" 4375 | 4376 | yargs@~3.10.0: 4377 | version "3.10.0" 4378 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" 4379 | dependencies: 4380 | camelcase "^1.0.2" 4381 | cliui "^2.1.0" 4382 | decamelize "^1.0.0" 4383 | window-size "0.1.0" 4384 | 4385 | yn@^2.0.0: 4386 | version "2.0.0" 4387 | resolved "https://registry.yarnpkg.com/yn/-/yn-2.0.0.tgz#e5adabc8acf408f6385fc76495684c88e6af689a" 4388 | --------------------------------------------------------------------------------