├── .babelrc ├── .flowconfig ├── .gitignore ├── .npmignore ├── .travis.yml ├── CODE_OF_CONDUCT.md ├── History.md ├── License.md ├── Readme.md ├── package.json ├── src ├── application.js ├── dom.js ├── effects.js ├── html.js ├── preemptive-animation-frame.js ├── reflex.js ├── signal.js ├── subscription.js └── task.js ├── test └── test-api.js └── yarn.lock /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "sourceMaps": "inline", 3 | "comments": false, 4 | "presets": [ 5 | "flow-node" 6 | ] 7 | } -------------------------------------------------------------------------------- /.flowconfig: -------------------------------------------------------------------------------- 1 | [ignore] 2 | .*/dist/.* 3 | .*/node_modules/babel.* 4 | .*/node_modules/tap/* 5 | .*/node_modules/json5/test/* 6 | .*/node_modules/kefir/* 7 | .*/node_modules/documentation/* 8 | 9 | [libs] 10 | 11 | [include] 12 | 13 | [options] 14 | 15 | suppress_comment= \\(.\\|\n\\)*\\@FlowIssue 16 | suppress_comment= \\(.\\|\n\\)*\\@FlowIgnore 17 | experimental.strict_type_args=true 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | lib 2 | dist 3 | **/*.js 4 | **/*.flow 5 | !src/**/*.js 6 | !src/**/*.flow 7 | !test/**/*.js 8 | !test/**/*.flow -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | *~ 2 | ~* 3 | !dist 4 | !lib 5 | !**/*.js 6 | !**/*.flow -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | sudo: false 3 | node_js: 4 | - stable 5 | deploy: 6 | provider: npm 7 | email: rfobic@gmail.com 8 | on: 9 | tags: true 10 | api_key: 11 | secure: 0SAU8CJgSNo9jMZub3DRPPpqNnYPoNPUY6lnEunPHDLxwCLOwv7s6fBrSsCOvGifp7OgqMu+gBcZQcmNf5jsLqFnm3y0xEqxkabZs2x6M7FPaY3fEr7G5jDcfgO+cqJtBFsEFgRKGoZt6yhXB8Cy8/Tr/uroyAzHLifWVQURoumfy5GelosB9Tjy1pCThGwoz+20zHUk5amqdgcJiauwsSeDRS3fpOFUn7rLlpcfP44+IzF8szOdNY5wkaL2LDgCOOcK+J5k7X0iHD7E/T7mCzekbg7HCU9Cj+3nou7QsWn/NLxhfVPwa+OCHFdPL88V+kG5hzHj92NMloezafb/jBTG2UaL9QEBoqwA/mRqjcwywT6ekFlt/E2WqaYrQcKBcDRgrp5L7L99E+OczTao0PWKPnBz9xL0/q6mbf560voLArCQznduzmt0ELV4d5rYrtUGxH/Rkt9sO+Oj62mII9ODOcqcEuxH0/8MU3NWh84aajBzBDVjOobNPPv2KmUOfe1BxPUDPw6AR+aphDfEqItHQ3zVsW3Gsx+oetdfDEYIwQhCEPWDZ/hHkRps63UxqoA7r2iRqyUaPT1yvM8KVigvRq5dph8a4w47m8Fz9ckZp/j1l9e53QXAB/EYw/ziqxc9ihc1TJCBKGY61rMWeRzoKehFd4pgjsTJIQIIeU4= 12 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Community Participation Guidelines 2 | 3 | This repository is governed by Mozilla's code of conduct and etiquette guidelines. 4 | For more details, please read the 5 | [Mozilla Community Participation Guidelines](https://www.mozilla.org/about/governance/policies/participation/). 6 | 7 | ## How to Report 8 | For more information on how to report violations of the Community Participation Guidelines, please read our '[How to Report](https://www.mozilla.org/about/governance/policies/participation/reporting/)' page. 9 | 10 | 16 | -------------------------------------------------------------------------------- /History.md: -------------------------------------------------------------------------------- 1 | # Changes 2 | 3 | ## 0.0.3 / 2012-12-02 4 | 5 | - Implement [model](./model) abstraction that can be used to map data to 6 | a reactors that handle IO for the specific components in the application. 7 | - Implement [collection](./collection) abstraction that is similar to model 8 | but handles collections of things. 9 | - Added some examples. 10 | - Tests. 11 | 12 | ## 0.0.2 / 2012-10-23 13 | 14 | - Implement notion of [state](./state.js) that can be `diff`-ed & `patch`-ed. 15 | - Implement [writer](./writer.js) high order function for making `write`-ers 16 | that can reflect state changes on the output. 17 | 18 | ## 0.0.1 / 2012-10-20 19 | 20 | - Initial draft 21 | -------------------------------------------------------------------------------- /License.md: -------------------------------------------------------------------------------- 1 | Copyright 2012 Irakli Gozalishvili. All rights reserved. 2 | Permission is hereby granted, free of charge, to any person obtaining a copy 3 | of this software and associated documentation files (the "Software"), to 4 | deal in the Software without restriction, including without limitation the 5 | rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 6 | sell copies of the Software, and to permit persons to whom the Software is 7 | furnished to do so, subject to the following conditions: 8 | 9 | The above copyright notice and this permission notice shall be included in 10 | all copies or substantial portions of the Software. 11 | 12 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 13 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 14 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 15 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 16 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 17 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 18 | IN THE SOFTWARE. 19 | -------------------------------------------------------------------------------- /Readme.md: -------------------------------------------------------------------------------- 1 | # reflex [![NPM version][version.icon]][version.url] [![Build Status][travis.icon]][travis.url] [![Gitter][gitter.icon]][gitter.url] [![styled with prettier][prettier.icon]][prettier.url] 2 | 3 | 4 | Reflex is a functional reactive UI library that is heavily inspired by (pretty much is a port of) [elm][] and it's amazingly simple yet powerful [architecture][elm architecture] where "[flux][]" in [react][] terms is simply a byproduct of a pattern. In order to keep a major attraction of [elm][] — [algebraic data types][] & type safety — the library uses [flow][], a static type checker for JS. All types are separated from implementation though, so it's your call if you want to take advantage of it or just ignore it. 5 | 6 | The library is designed such that view drivers ([react][react-driver], [virtual-dom][virtual-dom-driver] & possibly more in the future) can be swapped without any changes to the application code base. In fact there is not a built-in view driver, so it's up to the user to choose one. In fact it's pretty easy to write a driver that would directly manipulate DOM. 7 | 8 | ## Install 9 | 10 | npm install reflex 11 | 12 | ## Examples 13 | 14 | For examples check out examples directory of either [virtual-dom][virtual-dom-driver] or [react][react-driver] drivers, in fact examples are identical only diff is one line which is path of imported driver. 15 | 16 | [elm]:http://elm-lang.org 17 | [elm architecture]:http://elm-lang.org/guide/architecture 18 | [react]:http://facebook.github.io/react/ 19 | [immutable.js]:https://facebook.github.io/immutable-js/ 20 | [flux]:https://facebook.github.io/flux/ 21 | [algebraic data types]:https://en.wikipedia.org/wiki/Algebraic_data_type 22 | [flow]:http://flowtype.org 23 | 24 | [virtual-dom-driver]:https://github.com/mozilla/reflex-virtual-dom-driver 25 | [react-driver]:https://github.com/mozilla/reflex-react-driver 26 | 27 | [version.url]: https://npmjs.org/package/reflex 28 | [version.icon]: https://img.shields.io/npm/v/reflex.svg?style=flat 29 | 30 | [travis.url]: https://travis-ci.org/mozilla/reflex 31 | [travis.icon]: https://img.shields.io/travis/mozilla/reflex.svg?style=flat 32 | 33 | [gitter.url]: https://gitter.im/mozilla/reflex?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge 34 | [gitter.icon]: https://badges.gitter.im/Join%20Chat.svg 35 | 36 | [prettier.url]:https://github.com/prettier/prettier 37 | [prettier.icon]:https://img.shields.io/badge/styled_with-prettier-ff69b4.svg -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "reflex", 3 | "version": "1.1.0", 4 | "description": "Functional reactive UI library", 5 | "keywords": ["reflex", "reactive", "functional", "UI"], 6 | "author": "Irakli Gozalishvili (http://jeditoolkit.com)", 7 | "main": "reflex", 8 | "devDependencies": { 9 | "babel-cli": "6.24.1", 10 | "babel-preset-flow-node": "^1.0.2", 11 | "babel-register": "6.24.1", 12 | "blue-tape": "^1.0.0", 13 | "documentation": "^4.0.0-rc.1", 14 | "flow-bin": "^0.49.1", 15 | "flow-copy-source": "^1.2.0", 16 | "husky": "^0.14.0", 17 | "lint-staged": "^4.0.0", 18 | "prettier": "^1.4.4" 19 | }, 20 | "scripts": { 21 | "test": "npm run test:flow && npm run test:tape", 22 | "test:tape": "blue-tape -r babel-register test/**/*.js", 23 | "test:flow": "flow check", 24 | "build:clear": "rm -rf ./*.js && rm -rf ./*.js.flow && rm -rf reflex", 25 | "build:types": "flow-copy-source -v src .", 26 | "build:node": "babel --out-dir . src", 27 | "build:api": "documentation readme --section=API src/reflex.js", 28 | "build:docs": "documentation build --document-exported src/** -f html --o docs", 29 | "build": "npm run build:node && npm run build:types", 30 | "prepublish": "npm run build && npm test", 31 | "precommit": "lint-staged" 32 | }, 33 | "lint-staged": { 34 | "*.js": ["prettier --parser flow --no-semi --write", "git add"] 35 | }, 36 | "repository": "https://github.com/mozilla/reflex", 37 | "license": "MIT", 38 | "dependencies": { 39 | "reflex-driver": "^1.0.2" 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/application.js: -------------------------------------------------------------------------------- 1 | /* @flow */ 2 | 3 | import { Task } from "./task" 4 | import { Effects } from "./effects" 5 | import { LazyRoot } from "./dom" 6 | import { Node } from "reflex-driver" 7 | import type { Address } from "./signal" 8 | import { Subscription, Feed, unsubscribe } from "./subscription" 9 | import type { Service, Subscribe, Subscriber } from "./subscription" 10 | 11 | export type Init = ( 12 | flags: flags 13 | ) => [model, Effects] 14 | 15 | export type Update = ( 16 | state: model, 17 | action: action 18 | ) => [model, Effects] 19 | 20 | export type View = ( 21 | state: model, 22 | address: Address 23 | ) => Node 24 | 25 | export type Subscriptions = ( 26 | state: model 27 | ) => Subscription 28 | 29 | type Services = { 30 | nextAddress: number, 31 | outbox: Address, 32 | active: { [key: string]: Service } 33 | } 34 | 35 | class Application { 36 | constructor( 37 | send: Address, 38 | model: state, 39 | view: Node, 40 | task: Task, 41 | services: Services 42 | ) { 43 | this.send = send 44 | this.model = model 45 | this.view = view 46 | this.task = task 47 | this.services = services 48 | } 49 | 50 | send: Address 51 | model: state 52 | view: Node 53 | task: Task 54 | services: Services 55 | } 56 | 57 | export type { Application } 58 | 59 | export type Driver = ( 60 | state: Application 61 | ) => void 62 | 63 | export type BeginnerConfiguration = { 64 | model: model, 65 | update: (model: model, action: action) => model, 66 | view: View 67 | } 68 | 69 | export type AdvancedConfiguration = { 70 | flags: flags, 71 | init: Init, 72 | update: Update, 73 | view: View, 74 | subscriptions?: Subscriptions 75 | } 76 | 77 | const first = (xs: [a, b]): a => xs[0] 78 | const second = (xs: [a, b]): b => xs[1] 79 | 80 | export const beginner = ( 81 | configuration: BeginnerConfiguration 82 | ): AdvancedConfiguration => ({ 83 | flags: void 0, 84 | init: _ => [configuration.model, Effects.none], 85 | update: (model, action) => [ 86 | configuration.update(model, action), 87 | Effects.none 88 | ], 89 | view: configuration.view, 90 | subscriptions: unsubscribe 91 | }) 92 | 93 | export const start = ( 94 | configuration: AdvancedConfiguration, 95 | drive: Driver 96 | ): Application => { 97 | const { init, view, update, flags } = configuration 98 | const subscriptions: Subscriptions = 99 | configuration.subscriptions == null 100 | ? unsubscribe 101 | : configuration.subscriptions 102 | 103 | const send = action => { 104 | const [model, fx] = update(application.model, action) 105 | application.model = model 106 | application.view = new LazyRoot(view, model, send) 107 | application.task = fx.execute(send) 108 | 109 | application.services = subscriptions(model).reduce( 110 | subscribe, 111 | application.services 112 | ) 113 | exectueServices(application.services, send) 114 | drive(application) 115 | } 116 | 117 | const [state, fx] = init(flags) 118 | 119 | const application = new Application( 120 | send, 121 | state, 122 | new LazyRoot(view, state, send), 123 | fx.execute(send), 124 | subscriptions(state).reduce(subscribe, { 125 | nextAddress: 0, 126 | outbox: send, 127 | active: Object.create(null) 128 | }) 129 | ) 130 | 131 | exectueServices(application.services, send) 132 | drive(application) 133 | return application 134 | } 135 | 136 | const subscribe = ( 137 | services: Services, 138 | subscription: Subscribe 139 | ): Services => { 140 | const { active, outbox } = services 141 | const { feed, detail, tagger } = subscription 142 | const service = active[String(feed.address)] 143 | 144 | if (service == null || service.feed !== feed) { 145 | const address = `/${++services.nextAddress}` //` 146 | active[address] = spawnService(address, subscription, feed, outbox) 147 | } else { 148 | service.subscribers.push(subscription) 149 | } 150 | 151 | return services 152 | } 153 | 154 | const spawnService = ( 155 | address: string, 156 | subscription: Subscriber, 157 | feed: Feed, 158 | outbox: Address 159 | ): Service => { 160 | const subscribers = [subscription] 161 | const state = feed.init() 162 | feed.address = address 163 | const send = (input: inn) => { 164 | const [state, fx] = feed.update(service.state, input, outbox) 165 | service.state = state 166 | fx.execute(send) 167 | } 168 | 169 | const service = { 170 | feed, 171 | subscribers, 172 | state, 173 | inbox: send 174 | } 175 | 176 | return service 177 | } 178 | 179 | const exectueServices = (services: Services, send: Address) => { 180 | for (let address in services.active) { 181 | exectueService(services.active[address], send) 182 | } 183 | } 184 | 185 | const exectueService = ( 186 | service: Service, 187 | outbox: Address 188 | ) => { 189 | const { state, feed, subscribers, inbox } = service 190 | const [next, fx] = feed.update(state, feed.subscribe(subscribers), outbox) 191 | service.state = next 192 | fx.execute(inbox) 193 | } 194 | -------------------------------------------------------------------------------- /src/dom.js: -------------------------------------------------------------------------------- 1 | /* @flow */ 2 | 3 | import { Driver, Node } from "reflex-driver" 4 | import type { Properties } from "reflex-driver" 5 | import type { Address } from "./signal" 6 | 7 | export class LazyRoot implements Node { 8 | state: model 9 | view: (state: model, mailbox: Address) => * 10 | mailbox: Address 11 | constructor( 12 | view: (state: model, mailbox: Address) => *, 13 | state: model, 14 | mailbox: Address 15 | ) { 16 | this.state = state 17 | this.view = view 18 | this.mailbox = mailbox 19 | } 20 | renderWith(renderer: Driver): node { 21 | driver = renderer 22 | return this.view(this.state, this.mailbox) 23 | } 24 | } 25 | 26 | class ErrorDriver implements Driver { 27 | createElement(..._): Node { 28 | throw new Error(`You need to use a reflex driver to create element nodes`) 29 | } 30 | createElementNS(..._): Node { 31 | throw new Error(`You need to use a reflex driver to create element nodes`) 32 | } 33 | createTextNode(..._): Node { 34 | throw new Error(`You need to use a reflex driver to create text nodes`) 35 | } 36 | createThunk(..._): Node { 37 | throw new Error(`You need to use a reflex driver to create thunk nodes`) 38 | } 39 | render(node: Node): void { 40 | throw new Error(`You need to use a reflex driver to render nodes`) 41 | } 42 | } 43 | 44 | let driver: Driver = new ErrorDriver() 45 | 46 | export const text = (content: string): Node => driver.createTextNode(content) 47 | 48 | export const element = ( 49 | tagName: string, 50 | properties: ?Properties, 51 | children: ?Array 52 | ): Node => driver.createElement(tagName, properties, children) 53 | 54 | export const elementNS = ( 55 | namespaceURI: string, 56 | tagName: string, 57 | properties: ?Properties, 58 | children: ?Array 59 | ): Node => driver.createElementNS(namespaceURI, tagName, properties, children) 60 | 61 | export const thunk: ( 62 | key: string, 63 | view: ( 64 | a0: a, 65 | a1: b, 66 | a2: c, 67 | a3: d, 68 | a4: e, 69 | a5: f, 70 | a6: g, 71 | a7: h, 72 | a8: i, 73 | a9: j 74 | ) => Node, 75 | a0: a, 76 | a1: b, 77 | a2: c, 78 | a3: d, 79 | a4: e, 80 | a5: f, 81 | a6: g, 82 | a7: h, 83 | a8: i, 84 | a9: j 85 | ) => Node = (key, view, ...args) => driver.createThunk(key, view, (args: any)) 86 | -------------------------------------------------------------------------------- /src/effects.js: -------------------------------------------------------------------------------- 1 | /* @flow */ 2 | 3 | import { Task } from "./task" 4 | 5 | import type { Address } from "./signal" 6 | 7 | export type Time = number 8 | 9 | const raise = error => { 10 | throw Error( 11 | `Effects should be created from task that empty fail but it did fail with error ${error}` 12 | ) 13 | } 14 | 15 | const ignore = _ => void 0 16 | 17 | const nil = Task.succeed(void 0) 18 | 19 | const empty = new Task((succeed, fail) => void 0) 20 | 21 | export class Effects { 22 | static task(task: Task): Effects { 23 | console.warn( 24 | "Effects.task is deprecated please use Effects.perform instead" 25 | ) 26 | return new Perform(task) 27 | } 28 | static perform(task: Task): Effects { 29 | return new Perform(task) 30 | } 31 | static tick(tag: (time: number) => a): Effects { 32 | console.warn( 33 | "Effects.tick is deprecated please use Effects.perform(Task.requestAnimationFrame().map(tag)) instead" 34 | ) 35 | return new Perform(Task.requestAnimationFrame().map(tag)) 36 | } 37 | static receive(action: a): Effects { 38 | const fx = new Perform( 39 | new Task( 40 | (succeed, fail) => void Promise.resolve(action).then(succeed, fail) 41 | ) 42 | ) 43 | return fx 44 | } 45 | static batch(effects: Array>): Effects { 46 | return new Batch(effects) 47 | } 48 | map(f: (a: a) => b): Effects { 49 | throw Error("Subclass of abstract Effect must implement map") 50 | } 51 | execute(address: Address): Task { 52 | throw Error("Subclass of abstract Effect must implement execute") 53 | } 54 | static none: Effects 55 | task: Task 56 | } 57 | 58 | class Perform extends Effects { 59 | constructor(task: Task) { 60 | super() 61 | this.task = task 62 | } 63 | map(f: (a: a) => b): Effects { 64 | return new Perform(this.task.map(f)) 65 | } 66 | execute(address: Address): Task { 67 | return this.task.chain(value => Task.send(address, value)) 68 | } 69 | } 70 | 71 | class None extends Effects { 72 | map(f: (a: a) => b): Effects { 73 | return Effects.none 74 | } 75 | execute(address: Address): Task { 76 | return nil 77 | } 78 | } 79 | Effects.none = new None() 80 | 81 | class Batch extends Effects { 82 | constructor(effects: Array>) { 83 | super() 84 | this.effects = effects 85 | } 86 | map(f: (a: a) => b): Effects { 87 | return new Batch(this.effects.map(effect => effect.map(f))) 88 | } 89 | execute(address: Address): Task { 90 | return new Task((succeed, fail) => { 91 | const { effects } = this 92 | const count = effects.length 93 | let index = 0 94 | while (index < count) { 95 | const effect = effects[index] 96 | if (!(effect instanceof None)) { 97 | Task.fork(effect.execute(address), ignore, raise) 98 | } 99 | 100 | index = index + 1 101 | } 102 | succeed(void 0) 103 | }) 104 | } 105 | 106 | effects: Array> 107 | } 108 | -------------------------------------------------------------------------------- /src/html.js: -------------------------------------------------------------------------------- 1 | /* @flow */ 2 | 3 | import { Node } from "reflex-driver" 4 | import type { Properties } from "reflex-driver" 5 | import { element } from "./dom" 6 | 7 | type Element = ( 8 | properties: ?Properties, 9 | children: ?Array 10 | ) => Node 11 | 12 | export type Html = { 13 | a: Element, 14 | abbr: Element, 15 | address: Element, 16 | area: Element, 17 | article: Element, 18 | aside: Element, 19 | audio: Element, 20 | b: Element, 21 | base: Element, 22 | bdi: Element, 23 | bdo: Element, 24 | big: Element, 25 | blockquote: Element, 26 | body: Element, 27 | br: Element, 28 | button: Element, 29 | canvas: Element, 30 | caption: Element, 31 | cite: Element, 32 | code: Element, 33 | col: Element, 34 | colgroup: Element, 35 | data: Element, 36 | datalist: Element, 37 | dd: Element, 38 | del: Element, 39 | details: Element, 40 | dfn: Element, 41 | dialog: Element, 42 | div: Element, 43 | dl: Element, 44 | dt: Element, 45 | em: Element, 46 | embed: Element, 47 | fieldset: Element, 48 | figcaption: Element, 49 | figure: Element, 50 | footer: Element, 51 | form: Element, 52 | h1: Element, 53 | h2: Element, 54 | h3: Element, 55 | h4: Element, 56 | h5: Element, 57 | h6: Element, 58 | head: Element, 59 | header: Element, 60 | hr: Element, 61 | html: Element, 62 | i: Element, 63 | iframe: Element, 64 | img: Element, 65 | input: Element, 66 | ins: Element, 67 | kbd: Element, 68 | keygen: Element, 69 | label: Element, 70 | legend: Element, 71 | li: Element, 72 | link: Element, 73 | main: Element, 74 | map: Element, 75 | mark: Element, 76 | menu: Element, 77 | menuitem: Element, 78 | meta: Element, 79 | meter: Element, 80 | nav: Element, 81 | noscript: Element, 82 | object: Element, 83 | ol: Element, 84 | optgroup: Element, 85 | option: Element, 86 | output: Element, 87 | p: Element, 88 | param: Element, 89 | picture: Element, 90 | pre: Element, 91 | progress: Element, 92 | q: Element, 93 | rp: Element, 94 | rt: Element, 95 | ruby: Element, 96 | s: Element, 97 | samp: Element, 98 | script: Element, 99 | section: Element, 100 | select: Element, 101 | small: Element, 102 | source: Element, 103 | span: Element, 104 | strong: Element, 105 | style: Element, 106 | sub: Element, 107 | summary: Element, 108 | sup: Element, 109 | table: Element, 110 | tbody: Element, 111 | td: Element, 112 | textarea: Element, 113 | tfoot: Element, 114 | th: Element, 115 | thead: Element, 116 | time: Element, 117 | title: Element, 118 | tr: Element, 119 | track: Element, 120 | u: Element, 121 | ul: Element, 122 | var: Element, 123 | video: Element, 124 | wbr: Element, 125 | circle: Element, 126 | clipPath: Element, 127 | defs: Element, 128 | ellipse: Element, 129 | g: Element, 130 | line: Element, 131 | linearGradient: Element, 132 | mask: Element, 133 | path: Element, 134 | pattern: Element, 135 | polygon: Element, 136 | polyline: Element, 137 | radialGradient: Element, 138 | rect: Element, 139 | stop: Element, 140 | svg: Element, 141 | text: Element, 142 | tspan: Element 143 | } 144 | 145 | export const html: Html = [ 146 | "a", 147 | "abbr", 148 | "address", 149 | "area", 150 | "article", 151 | "aside", 152 | "audio", 153 | "b", 154 | "base", 155 | "bdi", 156 | "bdo", 157 | "big", 158 | "blockquote", 159 | "body", 160 | "br", 161 | "button", 162 | "canvas", 163 | "caption", 164 | "cite", 165 | "code", 166 | "col", 167 | "colgroup", 168 | "data", 169 | "datalist", 170 | "dd", 171 | "del", 172 | "details", 173 | "dfn", 174 | "dialog", 175 | "div", 176 | "dl", 177 | "dt", 178 | "em", 179 | "embed", 180 | "fieldset", 181 | "figcaption", 182 | "figure", 183 | "footer", 184 | "form", 185 | "h1", 186 | "h2", 187 | "h3", 188 | "h4", 189 | "h5", 190 | "h6", 191 | "head", 192 | "header", 193 | "hr", 194 | "html", 195 | "i", 196 | "iframe", 197 | "img", 198 | "input", 199 | "ins", 200 | "kbd", 201 | "keygen", 202 | "label", 203 | "legend", 204 | "li", 205 | "link", 206 | "main", 207 | "map", 208 | "mark", 209 | "menu", 210 | "menuitem", 211 | "meta", 212 | "meter", 213 | "nav", 214 | "noscript", 215 | "object", 216 | "ol", 217 | "optgroup", 218 | "option", 219 | "output", 220 | "p", 221 | "param", 222 | "picture", 223 | "pre", 224 | "progress", 225 | "q", 226 | "rp", 227 | "rt", 228 | "ruby", 229 | "s", 230 | "samp", 231 | "script", 232 | "section", 233 | "select", 234 | "small", 235 | "source", 236 | "span", 237 | "strong", 238 | "style", 239 | "sub", 240 | "summary", 241 | "sup", 242 | "table", 243 | "tbody", 244 | "td", 245 | "textarea", 246 | "tfoot", 247 | "th", 248 | "thead", 249 | "time", 250 | "title", 251 | "tr", 252 | "track", 253 | "u", 254 | "ul", 255 | "var", 256 | "video", 257 | "wbr", 258 | "circle", 259 | "clipPath", 260 | "defs", 261 | "ellipse", 262 | "g", 263 | "line", 264 | "linearGradient", 265 | "mask", 266 | "path", 267 | "pattern", 268 | "polygon", 269 | "polyline", 270 | "radialGradient", 271 | "rect", 272 | "stop", 273 | "svg", 274 | "text", 275 | "tspan" 276 | ].reduce((html, tagName) => { 277 | const create: Element = (properties, children) => 278 | element(tagName, properties, children) 279 | 280 | html[tagName] = create 281 | return html 282 | }, ((Object.create(null): any): Html)) 283 | -------------------------------------------------------------------------------- /src/preemptive-animation-frame.js: -------------------------------------------------------------------------------- 1 | /* @flow */ 2 | 3 | type Time = number 4 | type State = 0 | 1 | 2 5 | 6 | // Invariants: 7 | // 1. In the NO_REQUEST state, there is never a scheduled animation frame. 8 | // 2. In the PENDING_REQUEST and EXTRA_REQUEST states, there is always exactly 9 | // one scheduled animation frame. 10 | const NO_REQUEST = 0 11 | const PENDING_REQUEST = 1 12 | const EXTRA_REQUEST = 2 13 | 14 | let nextID: number = 0 15 | let state: State = NO_REQUEST 16 | let requests: Array<(time: Time) => any> = [] 17 | let ids: Array = [] 18 | 19 | const absent = new String("absent") 20 | 21 | export const requestAnimationFrame = (request: (time: Time) => a) => { 22 | if (state === NO_REQUEST) { 23 | window.requestAnimationFrame(performAnimationFrame) 24 | } 25 | 26 | const id = ++nextID 27 | requests.push(request) 28 | ids.push(id) 29 | state = PENDING_REQUEST 30 | return id 31 | } 32 | 33 | export const cancelAnimationFrame = (id: number): void => { 34 | const index = ids.indexOf(id) 35 | if (index >= 0) { 36 | ids.splice(index, 1) 37 | requests.splice(index, 1) 38 | } 39 | } 40 | 41 | export const forceAnimationFrame = (time: Time = window.performance.now()) => 42 | performAnimationFrame(time) 43 | 44 | const performAnimationFrame = (time: Time) => { 45 | switch (state) { 46 | case NO_REQUEST: 47 | // This state should not be possible. How can there be no 48 | // request, yet somehow we are actively fulfilling a 49 | // request? 50 | throw Error(`Unexpected frame request`) 51 | case PENDING_REQUEST: 52 | // At this point, we do not *know* that another frame is 53 | // needed, but we make an extra frame request just in 54 | // case. It's possible to drop a frame if frame is requested 55 | // too late, so we just do it preemptively. 56 | window.requestAnimationFrame(performAnimationFrame) 57 | state = EXTRA_REQUEST 58 | ids.splice(0) 59 | dispatchAnimationFrame(requests.splice(0), 0, time) 60 | break 61 | case EXTRA_REQUEST: 62 | // Turns out the extra request was not needed, so we will 63 | // stop requesting. No reason to call it all the time if 64 | // no one needs it. 65 | state = NO_REQUEST 66 | break 67 | } 68 | } 69 | 70 | const dispatchAnimationFrame = ( 71 | requests: Array<(time: Time) => a>, 72 | index: number, 73 | time: Time 74 | ) => { 75 | let exception: String | Error = absent 76 | const count = requests.length 77 | try { 78 | while (index < count) { 79 | const request = requests[index] 80 | index = index + 1 81 | request(time) 82 | } 83 | } catch (error) { 84 | exception = error 85 | } 86 | 87 | if (index < count) { 88 | dispatchAnimationFrame(requests, index, time) 89 | } 90 | 91 | if (exception != absent) { 92 | throw exception 93 | } 94 | } 95 | -------------------------------------------------------------------------------- /src/reflex.js: -------------------------------------------------------------------------------- 1 | /* @flow */ 2 | 3 | import type { Node, Properties, Style, Attributes } from "reflex-driver" 4 | 5 | export type DOM = Node 6 | export { Node, Driver } from "reflex-driver" 7 | 8 | export type { Address } from "./signal" 9 | 10 | export type { Properties, Attributes, Style } from "reflex-driver" 11 | 12 | export { Subscription, subscribe, unsubscribe } from "./subscription" 13 | 14 | export type { 15 | Application, 16 | AdvancedConfiguration, 17 | BeginnerConfiguration 18 | } from "./application" 19 | 20 | export type { Init, Update, View } from "./application" 21 | 22 | export { forward } from "./signal" 23 | export { element, elementNS, text, thunk } from "./dom" 24 | export { html } from "./html" 25 | export { start, beginner } from "./application" 26 | export { Task } from "./task" 27 | export { Effects } from "./effects" 28 | -------------------------------------------------------------------------------- /src/signal.js: -------------------------------------------------------------------------------- 1 | /* @flow */ 2 | 3 | export type Address = (input: a) => void 4 | 5 | const Forward = (address: Address, tag: (a: a) => b): Address => { 6 | const forward = (message: a) => address(tag(message)) 7 | forward.to = address 8 | forward.tag = tag 9 | return forward 10 | } 11 | 12 | if (global["reflex/address"] == null) { 13 | global["reflex/address"] = 0 14 | } 15 | 16 | // Create a new address. This address will tag each message it receives and then 17 | // forward it along to the given address. 18 | // Example: 19 | // 20 | // const Remove = target => {type: "Remove", target} 21 | // removeAddress = forward(address, Remove) 22 | // 23 | // Above example created `removeAddress` tags each message with `Remove` tag 24 | // before forwarding them to a general `address`. 25 | export const forward = ( 26 | address: Address, 27 | tag: (value: b) => a 28 | ): Address => { 29 | // Genrate ID for each address that has a forwarding addresses so that 30 | // forwarding addresses could be cached by that id and a tag-ing function. 31 | const id = 32 | address.id != null ? address.id : (address.id = global["reflex/address"]++) 33 | const key = `reflex/address/${id}` 34 | 35 | return tag[key] || (tag[key] = Forward(address, tag)) 36 | } 37 | -------------------------------------------------------------------------------- /src/subscription.js: -------------------------------------------------------------------------------- 1 | /* @flow */ 2 | 3 | import { Effects } from "./effects" 4 | import type { Address } from "./signal" 5 | 6 | type Tagger = (value: a) => b 7 | 8 | export interface Subscriber { 9 | detail: info, 10 | tagger: Tagger 11 | } 12 | 13 | export type Service = { 14 | inbox: Address, 15 | subscribers: Array>, 16 | state: model, 17 | feed: Feed 18 | } 19 | 20 | export interface Feed { 21 | address?: string, 22 | init(): model, 23 | subscribe(subscribers: Array>): inn, 24 | update( 25 | state: model, 26 | input: inn, 27 | outbox: Address 28 | ): [model, Effects] 29 | } 30 | 31 | export class Subscription { 32 | static none: Subscription<*> 33 | static batch(subscriptions: Array>): Subscription { 34 | return new Batch(subscriptions) 35 | } 36 | map(tag: (value: a) => b): Subscription { 37 | return this.map(tag) 38 | } 39 | reduce( 40 | reducer: (result: state, input: Subscribe) => state, 41 | init: state 42 | ): state { 43 | return init 44 | } 45 | } 46 | 47 | export class Subscribe extends Subscription 48 | implements Subscriber { 49 | feed: Feed 50 | detail: info 51 | tagger: Tagger 52 | 53 | constructor( 54 | feed: Feed, 55 | detail: info, 56 | tagger: Tagger 57 | ) { 58 | super() 59 | this.feed = feed 60 | this.detail = detail 61 | this.tagger = tagger 62 | } 63 | map(tag: (value: out) => b): Subscription { 64 | const decoder = (value: inn): b => tag(this.tagger(value)) 65 | return new Subscribe(this.feed, this.detail, decoder) 66 | } 67 | reduce( 68 | reducer: ( 69 | result: state, 70 | input: Subscribe 71 | ) => state, 72 | init: state 73 | ): state { 74 | return reducer(init, this) 75 | } 76 | } 77 | 78 | class Batch extends Subscription { 79 | constructor(subscriptions: Array>) { 80 | super() 81 | this.subscriptions = subscriptions 82 | } 83 | map(tag: (value: a) => b): Subscription { 84 | const subscriptions = this.subscriptions.map($ => $.map(tag)) 85 | return new Batch(subscriptions) 86 | } 87 | reduce( 88 | reducer: (result: state, input: Subscribe) => state, 89 | init: state 90 | ): state { 91 | return this.subscriptions.reduce( 92 | (result: state, subscription: Subscription): state => 93 | subscription.reduce(reducer, result), 94 | init 95 | ) 96 | } 97 | subscriptions: Array> 98 | } 99 | 100 | export const subscribe = ( 101 | feed: Feed, 102 | detail: info, 103 | tagger: Tagger 104 | ): Subscription => new Subscribe(feed, detail, tagger) 105 | 106 | const none: Subscription = new Batch([]) 107 | export const unsubscribe = (_: mixed): Subscription => none 108 | Subscription.none = none 109 | -------------------------------------------------------------------------------- /src/task.js: -------------------------------------------------------------------------------- 1 | /* @flow */ 2 | 3 | import type { Address } from "./signal" 4 | import { 5 | requestAnimationFrame, 6 | cancelAnimationFrame 7 | } from "./preemptive-animation-frame" 8 | 9 | export type ThreadID = number 10 | export type Time = number 11 | export type ProcessID = number 12 | 13 | const raise = error => { 14 | throw Error( 15 | `Task was not supposet to never fail but it did fail with error ${error}` 16 | ) 17 | } 18 | 19 | const ignore = _ => void 0 20 | 21 | export interface Process { 22 | id: ProcessID, 23 | isActive: boolean, 24 | kill(reson: reason): void 25 | } 26 | 27 | export class Task { 28 | static create( 29 | execute: (succeed: (a: a) => void, fail: (x: x) => void) => void 30 | ): Task { 31 | console.warn("Task.create is deprecated API use new Task instead") 32 | return new Task(execute) 33 | } 34 | static future(request: () => Promise): Task { 35 | console.warn("Task.future is deprecated API use new Task instead") 36 | return new Future(request) 37 | } 38 | static succeed(value: a): Task { 39 | return new Succeed(value) 40 | } 41 | 42 | static fail(error: x): Task { 43 | return new Fail(error) 44 | } 45 | 46 | static spawn(task: Task): Task { 47 | return new Spawn(task) 48 | } 49 | 50 | static sleep(time: Time): Task { 51 | return new Sleep(time) 52 | } 53 | 54 | static requestAnimationFrame(): Task { 55 | return new AnimationFrame() 56 | } 57 | 58 | static send(address: Address, message: a): Task { 59 | return new Send(address, message) 60 | } 61 | 62 | static fork( 63 | task: Task, 64 | onSucceed: (a: a) => void, 65 | onFail: (x: x) => void 66 | ): Process { 67 | return Thread.fork(task, onSucceed, onFail) 68 | } 69 | 70 | static perform(task: Task): void { 71 | Thread.fork(task, ignore, raise) 72 | } 73 | 74 | constructor( 75 | execute: ?(succeed: (a: a) => void, fail: (x: x) => void) => handle, 76 | cancel: ?(handle: handle) => void 77 | ) { 78 | this.type = "Task" 79 | const task = (this: any) 80 | if (execute != null) { 81 | task.fork = execute 82 | } 83 | if (cancel != null) { 84 | task.abort = cancel 85 | } 86 | } 87 | chain(next: (a: a) => Task): Task { 88 | return new Chain(this, next) 89 | } 90 | map(f: (input: a) => b): Task { 91 | return new Map(this, f) 92 | } 93 | capture(handle: (error: x) => Task): Task { 94 | return new Capture(this, handle) 95 | } 96 | format(f: (input: x) => y): Task { 97 | return new Format(this, f) 98 | } 99 | recover(regain: (error: x) => a): Task { 100 | return new Recover(this, regain) 101 | } 102 | fork(succeed: (a: a) => void, fail: (x: x) => void): * { 103 | return this.execute(succeed, fail) 104 | } 105 | abort(token: *): void { 106 | return this.cancel(token) 107 | } 108 | 109 | type: * 110 | execute: (succeed: (a: a) => void, fail: (x: x) => void) => * 111 | cancel: (handle: *) => void 112 | } 113 | 114 | class Succeed extends Task { 115 | constructor(value: a) { 116 | super() 117 | this.type = "Succeed" 118 | this.value = value 119 | } 120 | fork(succeed: (a: a) => void, fail: (x: x) => void): void { 121 | succeed(this.value) 122 | } 123 | 124 | type: "Succeed" 125 | value: a 126 | } 127 | 128 | class Fail extends Task { 129 | constructor(error: x) { 130 | super() 131 | this.type = "Fail" 132 | this.error = error 133 | } 134 | fork(succeed: (a: a) => void, fail: (x: x) => void): void { 135 | fail(this.error) 136 | } 137 | 138 | type: "Fail" 139 | error: x 140 | } 141 | 142 | class Sleep extends Task { 143 | constructor(time: Time) { 144 | super() 145 | this.time = time 146 | } 147 | fork(succeed: (a: a) => void, fail: (x: x) => void): number { 148 | return setTimeout(succeed, this.time, void 0) 149 | } 150 | abort(id: number): void { 151 | clearTimeout(id) 152 | } 153 | 154 | time: Time 155 | } 156 | 157 | class AnimationFrame extends Task { 158 | constructor() { 159 | super() 160 | } 161 | fork(succeed: (a: Time) => void, fail: (x: x) => void): number { 162 | return requestAnimationFrame(succeed) 163 | } 164 | abort(id: number): void { 165 | cancelAnimationFrame(id) 166 | } 167 | } 168 | 169 | let threadID = 0 170 | class Spawn extends Task { 171 | constructor(task: Task) { 172 | super() 173 | this.task = task 174 | } 175 | fork(succeed: (a: ThreadID) => void, fail: (x: y) => void): void { 176 | Promise.resolve(null).then(_ => Task.fork(this.task, noop, noop)) 177 | 178 | succeed(++threadID) 179 | } 180 | 181 | task: Task 182 | } 183 | 184 | class Send extends Task { 185 | constructor(address: Address, message: a) { 186 | super() 187 | this.message = message 188 | this.address = address 189 | } 190 | fork(succeed: (a: void) => void, fail: (x: x) => void): void { 191 | succeed(void this.address(this.message)) 192 | } 193 | 194 | message: a 195 | address: Address 196 | } 197 | 198 | class Future extends Task { 199 | constructor(request: () => Promise) { 200 | super() 201 | this.request = request 202 | } 203 | fork(succeed: (a: a) => void, fail: (x: x) => void): void { 204 | this.request().then(succeed, fail) 205 | } 206 | 207 | request: () => Promise 208 | } 209 | 210 | class Then extends Task { 211 | constructor(task: Task) { 212 | super() 213 | this.type = "Then" 214 | this.task = task 215 | } 216 | fork(succeed: (value: b) => void, fail: (error: x) => void): void { 217 | this.task.fork( 218 | (value: a): void => void this.next(value).fork(succeed, fail), 219 | fail 220 | ) 221 | } 222 | next(input: a): Task { 223 | throw Error("Subclass of absract Then must implement next method") 224 | } 225 | 226 | type: "Then" 227 | task: Task 228 | } 229 | 230 | class Chain extends Then { 231 | constructor(task: Task, next: (input: a) => Task) { 232 | super(task) 233 | this.chainer = next 234 | } 235 | next(input: a): Task { 236 | return this.chainer(input) 237 | } 238 | 239 | chainer: (input: a) => Task 240 | } 241 | 242 | class Map extends Then { 243 | constructor(task: Task, mapper: (input: a) => b) { 244 | // Note: Had to trick flow into thinking that `Format.prototype.handle` was 245 | // passed, otherwise it fails to infer polymorphic nature. 246 | super(task) 247 | this.mapper = mapper 248 | } 249 | next(input: a): Task { 250 | return new Succeed(this.mapper(input)) 251 | } 252 | 253 | mapper: (input: a) => b 254 | } 255 | 256 | class Catch extends Task { 257 | constructor(task: Task) { 258 | super() 259 | this.type = "Catch" 260 | this.task = task 261 | } 262 | fork(succeed: (value: a) => void, fail: (error: y) => void): void { 263 | this.task.fork( 264 | succeed, 265 | error => void this.handle(error).fork(succeed, fail) 266 | ) 267 | } 268 | handle(error: x): Task { 269 | throw Error("Subclass of absract Catch must implement handle method") 270 | } 271 | 272 | type: "Catch" 273 | task: Task 274 | } 275 | 276 | class Capture extends Catch { 277 | constructor(task: Task, handle: (error: x) => Task) { 278 | super(task) 279 | this.capturer = handle 280 | } 281 | 282 | handle(error: x): Task { 283 | return this.capturer(error) 284 | } 285 | 286 | capturer: (error: x) => Task 287 | } 288 | 289 | class Recover extends Catch { 290 | constructor(task: Task, regain: (error: x) => a) { 291 | super(task) 292 | this.regain = regain 293 | } 294 | handle(error: x): Task { 295 | return new Succeed(this.regain(error)) 296 | } 297 | 298 | regain: (error: x) => a 299 | } 300 | 301 | class Format extends Catch { 302 | constructor(task: Task, formatter: (error: x) => y) { 303 | super(task) 304 | this.formatter = formatter 305 | } 306 | handle(error: x): Task { 307 | return new Fail(this.formatter(error)) 308 | } 309 | 310 | formatter: (error: x) => y 311 | } 312 | 313 | const noop = () => void 0 314 | 315 | let nextID = 0 316 | 317 | type Root = 318 | | Succeed 319 | | Fail 320 | | Then 321 | | Catch<*, x, a> 322 | | Task 323 | 324 | class Thread { 325 | id: ProcessID 326 | root: Root<*, *> 327 | stack: Array | Then<*, *, *>> 328 | position: number 329 | mailbox: Array 330 | abortHandle: * 331 | isActive: boolean 332 | succeed: (input: value) => void 333 | fail: (error: error) => void 334 | isPending: boolean 335 | isPaused: boolean 336 | success: ?Succeed<*, *> 337 | failure: ?Fail<*, *> 338 | onSucceed: (input: value) => void 339 | onFail: (error: error) => void 340 | static fork( 341 | task: Task, 342 | onSucceed: (input: value) => void, 343 | onFail: (error: error) => void 344 | ): Process { 345 | const process = new Thread() 346 | process.id = ++nextID 347 | process.position = 0 348 | process.root = task 349 | process.stack = [] 350 | process.mailbox = [] 351 | process.abortHandle = null 352 | process.isActive = true 353 | process.isPending = false 354 | process.isPaused = true 355 | process.success = null 356 | process.failure = null 357 | process.succeed = onSucceed 358 | process.fail = onFail 359 | process.onSucceed = process.onSucceed.bind(process) 360 | process.onFail = process.onFail.bind(process) 361 | process.schedule() 362 | return process 363 | } 364 | onSucceed(ok) { 365 | if (this.isPending) { 366 | this.isPending = false 367 | this.abortHandle = null 368 | 369 | if (this.success != null) { 370 | this.success.value = ok 371 | } else { 372 | this.success = new Succeed(ok) 373 | } 374 | 375 | this.root = this.success 376 | this.schedule() 377 | } 378 | } 379 | onFail(failure) { 380 | if (this.isPending) { 381 | this.isPending = false 382 | this.abortHandle = null 383 | 384 | if (this.failure != null) { 385 | this.failure.error = failure 386 | } else { 387 | this.failure = new Fail(failure) 388 | } 389 | 390 | this.root = this.failure 391 | this.schedule() 392 | } 393 | } 394 | kill(exit: reason) { 395 | if (this.isActive) { 396 | this.isActive = false 397 | if (this.root.abort) { 398 | this.root.abort(this.abortHandle) 399 | } 400 | } 401 | } 402 | schedule() { 403 | if (this.isPaused) { 404 | this.isPaused = false 405 | this.step() 406 | } 407 | } 408 | step() { 409 | const process = this 410 | while (process.isActive) { 411 | const root = process.root 412 | switch (root.type) { 413 | case "Succeed": { 414 | const task: Succeed<*, *> = (root: any) 415 | // If task succeeded skip all the error handling. 416 | while ( 417 | process.position < process.stack.length && 418 | process.stack[process.position] instanceof Catch 419 | ) { 420 | process.position++ 421 | } 422 | 423 | // If end of the stack is reached then break 424 | if (process.position >= process.stack.length) { 425 | if (process.succeed != null) { 426 | process.succeed(task.value) 427 | } 428 | return 429 | } 430 | 431 | // Otherwise step into next task. 432 | const then = process.stack[process.position++] 433 | if (then instanceof Then) { 434 | process.root = then.next(task.value) 435 | } 436 | 437 | break 438 | } 439 | case "Fail": { 440 | const task: Fail<*, *> = (root: any) 441 | // If task fails skip all the chaining. 442 | while ( 443 | process.position < process.stack.length && 444 | process.stack[process.position] instanceof Then 445 | ) { 446 | process.position++ 447 | } 448 | 449 | // If end of the stack is reached then break. 450 | if (this.position >= process.stack.length) { 451 | if (process.fail != null) { 452 | process.fail(task.error) 453 | } 454 | 455 | return 456 | } 457 | 458 | // Otherwise step into next task. 459 | const _catch = process.stack[process.position++] 460 | if (_catch instanceof Catch) { 461 | process.root = _catch.handle(task.error) 462 | } 463 | 464 | break 465 | } 466 | case "Then": { 467 | const task: Then<*, *, *> = (root: any) 468 | if (process.position === 0) { 469 | process.stack.unshift(task) 470 | } else { 471 | process.stack[--process.position] = task 472 | } 473 | 474 | process.root = task.task 475 | 476 | break 477 | } 478 | case "Catch": { 479 | const task: Catch<*, *, *> = (root: any) 480 | if (process.position === 0) { 481 | process.stack.unshift(task) 482 | } else { 483 | process.stack[--process.position] = task 484 | } 485 | 486 | process.root = task.task 487 | 488 | break 489 | } 490 | default: { 491 | const task = root 492 | process.isPending = true 493 | process.abortHandle = task.fork(process.onSucceed, process.onFail) 494 | process.isPaused = process.isPending 495 | if (this.isPending) { 496 | return 497 | } 498 | 499 | break 500 | } 501 | } 502 | } 503 | } 504 | } 505 | -------------------------------------------------------------------------------- /test/test-api.js: -------------------------------------------------------------------------------- 1 | import test from "blue-tape" 2 | import * as Reflex from "../" 3 | 4 | test("test exported api", async assert => { 5 | assert.ok(typeof Reflex.node, "function") 6 | 7 | assert.ok(typeof Reflex.html, "object") 8 | assert.ok(typeof Reflex.html.div, "function") 9 | 10 | assert.ok(typeof Reflex.thunk, "function") 11 | assert.ok(typeof Reflex.send, "function") 12 | assert.ok(typeof Reflex.forward, "function") 13 | 14 | assert.ok(typeof Reflex.Application, "function") 15 | 16 | assert.ok(typeof Reflex.Task.succeed, "function") 17 | assert.ok(typeof Reflex.Task.fail, "function") 18 | assert.ok(typeof Reflex.Task.io, "function") 19 | assert.ok(typeof Reflex.Task.onSuccess, "function") 20 | assert.ok(typeof Reflex.Task.onFailure, "function") 21 | assert.ok(typeof Reflex.Task.perform, "function") 22 | assert.ok(typeof Reflex.Task.run, "function") 23 | }) 24 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | JSONStream@^1.0.3: 6 | version "1.3.1" 7 | resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.1.tgz#707f761e01dae9e16f1bcf93703b78c70966579a" 8 | dependencies: 9 | jsonparse "^1.2.0" 10 | through ">=2.2.7 <3" 11 | 12 | abbrev@1: 13 | version "1.1.0" 14 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f" 15 | 16 | acorn@^4.0.3: 17 | version "4.0.13" 18 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" 19 | 20 | ajv@^4.9.1: 21 | version "4.11.8" 22 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" 23 | dependencies: 24 | co "^4.6.0" 25 | json-stable-stringify "^1.0.1" 26 | 27 | ansi-escapes@^1.0.0: 28 | version "1.4.0" 29 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" 30 | 31 | ansi-html@^0.0.7: 32 | version "0.0.7" 33 | resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" 34 | 35 | ansi-regex@^2.0.0: 36 | version "2.1.1" 37 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 38 | 39 | ansi-regex@^3.0.0: 40 | version "3.0.0" 41 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 42 | 43 | ansi-styles@^2.0.1, ansi-styles@^2.2.1: 44 | version "2.2.1" 45 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 46 | 47 | anymatch@^1.3.0: 48 | version "1.3.0" 49 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507" 50 | dependencies: 51 | arrify "^1.0.0" 52 | micromatch "^2.1.5" 53 | 54 | app-root-path@^2.0.0: 55 | version "2.0.1" 56 | resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-2.0.1.tgz#cd62dcf8e4fd5a417efc664d2e5b10653c651b46" 57 | 58 | aproba@^1.0.3: 59 | version "1.1.2" 60 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.2.tgz#45c6629094de4e96f693ef7eab74ae079c240fc1" 61 | 62 | are-we-there-yet@~1.1.2: 63 | version "1.1.4" 64 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" 65 | dependencies: 66 | delegates "^1.0.0" 67 | readable-stream "^2.0.6" 68 | 69 | argparse@^1.0.7: 70 | version "1.0.10" 71 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 72 | dependencies: 73 | sprintf-js "~1.0.2" 74 | 75 | arr-diff@^2.0.0: 76 | version "2.0.0" 77 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" 78 | dependencies: 79 | arr-flatten "^1.0.1" 80 | 81 | arr-flatten@^1.0.1: 82 | version "1.0.3" 83 | resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.3.tgz#a274ed85ac08849b6bd7847c4580745dc51adfb1" 84 | 85 | array-iterate@^1.0.0: 86 | version "1.1.1" 87 | resolved "https://registry.yarnpkg.com/array-iterate/-/array-iterate-1.1.1.tgz#865bf7f8af39d6b0982c60902914ac76bc0108f6" 88 | 89 | array-unique@^0.2.1: 90 | version "0.2.1" 91 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" 92 | 93 | arrify@^1.0.0: 94 | version "1.0.1" 95 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" 96 | 97 | asn1@~0.2.3: 98 | version "0.2.4" 99 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" 100 | dependencies: 101 | safer-buffer "~2.1.0" 102 | 103 | assert-plus@1.0.0, assert-plus@^1.0.0: 104 | version "1.0.0" 105 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 106 | 107 | assert-plus@^0.2.0: 108 | version "0.2.0" 109 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" 110 | 111 | async-each@^1.0.0: 112 | version "1.0.1" 113 | resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" 114 | 115 | asynckit@^0.4.0: 116 | version "0.4.0" 117 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 118 | 119 | aws-sign2@~0.6.0: 120 | version "0.6.0" 121 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" 122 | 123 | aws4@^1.2.1: 124 | version "1.6.0" 125 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" 126 | 127 | babel-cli@6.24.1: 128 | version "6.24.1" 129 | resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.24.1.tgz#207cd705bba61489b2ea41b5312341cf6aca2283" 130 | dependencies: 131 | babel-core "^6.24.1" 132 | babel-polyfill "^6.23.0" 133 | babel-register "^6.24.1" 134 | babel-runtime "^6.22.0" 135 | commander "^2.8.1" 136 | convert-source-map "^1.1.0" 137 | fs-readdir-recursive "^1.0.0" 138 | glob "^7.0.0" 139 | lodash "^4.2.0" 140 | output-file-sync "^1.1.0" 141 | path-is-absolute "^1.0.0" 142 | slash "^1.0.0" 143 | source-map "^0.5.0" 144 | v8flags "^2.0.10" 145 | optionalDependencies: 146 | chokidar "^1.6.1" 147 | 148 | babel-code-frame@^6.22.0: 149 | version "6.22.0" 150 | resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" 151 | dependencies: 152 | chalk "^1.1.0" 153 | esutils "^2.0.2" 154 | js-tokens "^3.0.0" 155 | 156 | babel-core@^6.0.14, babel-core@^6.17.0, babel-core@^6.24.1: 157 | version "6.25.0" 158 | resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.25.0.tgz#7dd42b0463c742e9d5296deb3ec67a9322dad729" 159 | dependencies: 160 | babel-code-frame "^6.22.0" 161 | babel-generator "^6.25.0" 162 | babel-helpers "^6.24.1" 163 | babel-messages "^6.23.0" 164 | babel-register "^6.24.1" 165 | babel-runtime "^6.22.0" 166 | babel-template "^6.25.0" 167 | babel-traverse "^6.25.0" 168 | babel-types "^6.25.0" 169 | babylon "^6.17.2" 170 | convert-source-map "^1.1.0" 171 | debug "^2.1.1" 172 | json5 "^0.5.0" 173 | lodash "^4.2.0" 174 | minimatch "^3.0.2" 175 | path-is-absolute "^1.0.0" 176 | private "^0.1.6" 177 | slash "^1.0.0" 178 | source-map "^0.5.0" 179 | 180 | babel-generator@6.24.1: 181 | version "6.24.1" 182 | resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.24.1.tgz#e715f486c58ded25649d888944d52aa07c5d9497" 183 | dependencies: 184 | babel-messages "^6.23.0" 185 | babel-runtime "^6.22.0" 186 | babel-types "^6.24.1" 187 | detect-indent "^4.0.0" 188 | jsesc "^1.3.0" 189 | lodash "^4.2.0" 190 | source-map "^0.5.0" 191 | trim-right "^1.0.1" 192 | 193 | babel-generator@^6.25.0: 194 | version "6.25.0" 195 | resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.25.0.tgz#33a1af70d5f2890aeb465a4a7793c1df6a9ea9fc" 196 | dependencies: 197 | babel-messages "^6.23.0" 198 | babel-runtime "^6.22.0" 199 | babel-types "^6.25.0" 200 | detect-indent "^4.0.0" 201 | jsesc "^1.3.0" 202 | lodash "^4.2.0" 203 | source-map "^0.5.0" 204 | trim-right "^1.0.1" 205 | 206 | babel-helper-bindify-decorators@^6.24.1: 207 | version "6.24.1" 208 | resolved "https://registry.yarnpkg.com/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz#14c19e5f142d7b47f19a52431e52b1ccbc40a330" 209 | dependencies: 210 | babel-runtime "^6.22.0" 211 | babel-traverse "^6.24.1" 212 | babel-types "^6.24.1" 213 | 214 | babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: 215 | version "6.24.1" 216 | resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" 217 | dependencies: 218 | babel-helper-explode-assignable-expression "^6.24.1" 219 | babel-runtime "^6.22.0" 220 | babel-types "^6.24.1" 221 | 222 | babel-helper-builder-react-jsx@^6.24.1: 223 | version "6.24.1" 224 | resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.24.1.tgz#0ad7917e33c8d751e646daca4e77cc19377d2cbc" 225 | dependencies: 226 | babel-runtime "^6.22.0" 227 | babel-types "^6.24.1" 228 | esutils "^2.0.0" 229 | 230 | babel-helper-call-delegate@^6.24.1: 231 | version "6.24.1" 232 | resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" 233 | dependencies: 234 | babel-helper-hoist-variables "^6.24.1" 235 | babel-runtime "^6.22.0" 236 | babel-traverse "^6.24.1" 237 | babel-types "^6.24.1" 238 | 239 | babel-helper-define-map@^6.24.1: 240 | version "6.24.1" 241 | resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.24.1.tgz#7a9747f258d8947d32d515f6aa1c7bd02204a080" 242 | dependencies: 243 | babel-helper-function-name "^6.24.1" 244 | babel-runtime "^6.22.0" 245 | babel-types "^6.24.1" 246 | lodash "^4.2.0" 247 | 248 | babel-helper-explode-assignable-expression@^6.24.1: 249 | version "6.24.1" 250 | resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa" 251 | dependencies: 252 | babel-runtime "^6.22.0" 253 | babel-traverse "^6.24.1" 254 | babel-types "^6.24.1" 255 | 256 | babel-helper-explode-class@^6.24.1: 257 | version "6.24.1" 258 | resolved "https://registry.yarnpkg.com/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz#7dc2a3910dee007056e1e31d640ced3d54eaa9eb" 259 | dependencies: 260 | babel-helper-bindify-decorators "^6.24.1" 261 | babel-runtime "^6.22.0" 262 | babel-traverse "^6.24.1" 263 | babel-types "^6.24.1" 264 | 265 | babel-helper-function-name@^6.24.1: 266 | version "6.24.1" 267 | resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" 268 | dependencies: 269 | babel-helper-get-function-arity "^6.24.1" 270 | babel-runtime "^6.22.0" 271 | babel-template "^6.24.1" 272 | babel-traverse "^6.24.1" 273 | babel-types "^6.24.1" 274 | 275 | babel-helper-get-function-arity@^6.24.1: 276 | version "6.24.1" 277 | resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" 278 | dependencies: 279 | babel-runtime "^6.22.0" 280 | babel-types "^6.24.1" 281 | 282 | babel-helper-hoist-variables@^6.24.1: 283 | version "6.24.1" 284 | resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" 285 | dependencies: 286 | babel-runtime "^6.22.0" 287 | babel-types "^6.24.1" 288 | 289 | babel-helper-optimise-call-expression@^6.24.1: 290 | version "6.24.1" 291 | resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257" 292 | dependencies: 293 | babel-runtime "^6.22.0" 294 | babel-types "^6.24.1" 295 | 296 | babel-helper-regex@^6.24.1: 297 | version "6.24.1" 298 | resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.24.1.tgz#d36e22fab1008d79d88648e32116868128456ce8" 299 | dependencies: 300 | babel-runtime "^6.22.0" 301 | babel-types "^6.24.1" 302 | lodash "^4.2.0" 303 | 304 | babel-helper-remap-async-to-generator@^6.24.1: 305 | version "6.24.1" 306 | resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" 307 | dependencies: 308 | babel-helper-function-name "^6.24.1" 309 | babel-runtime "^6.22.0" 310 | babel-template "^6.24.1" 311 | babel-traverse "^6.24.1" 312 | babel-types "^6.24.1" 313 | 314 | babel-helper-replace-supers@^6.24.1: 315 | version "6.24.1" 316 | resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" 317 | dependencies: 318 | babel-helper-optimise-call-expression "^6.24.1" 319 | babel-messages "^6.23.0" 320 | babel-runtime "^6.22.0" 321 | babel-template "^6.24.1" 322 | babel-traverse "^6.24.1" 323 | babel-types "^6.24.1" 324 | 325 | babel-helpers@^6.24.1: 326 | version "6.24.1" 327 | resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" 328 | dependencies: 329 | babel-runtime "^6.22.0" 330 | babel-template "^6.24.1" 331 | 332 | babel-messages@^6.23.0: 333 | version "6.23.0" 334 | resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" 335 | dependencies: 336 | babel-runtime "^6.22.0" 337 | 338 | babel-plugin-check-es2015-constants@^6.22.0: 339 | version "6.22.0" 340 | resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" 341 | dependencies: 342 | babel-runtime "^6.22.0" 343 | 344 | babel-plugin-syntax-async-functions@^6.8.0: 345 | version "6.13.0" 346 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" 347 | 348 | babel-plugin-syntax-async-generators@^6.5.0: 349 | version "6.13.0" 350 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz#6bc963ebb16eccbae6b92b596eb7f35c342a8b9a" 351 | 352 | babel-plugin-syntax-class-constructor-call@^6.18.0: 353 | version "6.18.0" 354 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz#9cb9d39fe43c8600bec8146456ddcbd4e1a76416" 355 | 356 | babel-plugin-syntax-class-properties@^6.8.0: 357 | version "6.13.0" 358 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de" 359 | 360 | babel-plugin-syntax-decorators@^6.1.18, babel-plugin-syntax-decorators@^6.13.0: 361 | version "6.13.0" 362 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz#312563b4dbde3cc806cee3e416cceeaddd11ac0b" 363 | 364 | babel-plugin-syntax-do-expressions@^6.8.0: 365 | version "6.13.0" 366 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz#5747756139aa26d390d09410b03744ba07e4796d" 367 | 368 | babel-plugin-syntax-dynamic-import@^6.18.0: 369 | version "6.18.0" 370 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da" 371 | 372 | babel-plugin-syntax-exponentiation-operator@^6.8.0: 373 | version "6.13.0" 374 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" 375 | 376 | babel-plugin-syntax-export-extensions@^6.8.0: 377 | version "6.13.0" 378 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz#70a1484f0f9089a4e84ad44bac353c95b9b12721" 379 | 380 | babel-plugin-syntax-flow@^6.18.0: 381 | version "6.18.0" 382 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz#4c3ab20a2af26aa20cd25995c398c4eb70310c8d" 383 | 384 | babel-plugin-syntax-function-bind@^6.8.0: 385 | version "6.13.0" 386 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-function-bind/-/babel-plugin-syntax-function-bind-6.13.0.tgz#48c495f177bdf31a981e732f55adc0bdd2601f46" 387 | 388 | babel-plugin-syntax-jsx@^6.3.13, babel-plugin-syntax-jsx@^6.8.0: 389 | version "6.18.0" 390 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" 391 | 392 | babel-plugin-syntax-object-rest-spread@^6.8.0: 393 | version "6.13.0" 394 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" 395 | 396 | babel-plugin-syntax-trailing-function-commas@^6.22.0: 397 | version "6.22.0" 398 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" 399 | 400 | babel-plugin-system-import-transformer@3.1.0: 401 | version "3.1.0" 402 | resolved "https://registry.yarnpkg.com/babel-plugin-system-import-transformer/-/babel-plugin-system-import-transformer-3.1.0.tgz#d37f0cae8e61ef39060208331d931b5e630d7c5f" 403 | dependencies: 404 | babel-plugin-syntax-dynamic-import "^6.18.0" 405 | 406 | babel-plugin-transform-async-generator-functions@^6.24.1: 407 | version "6.24.1" 408 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz#f058900145fd3e9907a6ddf28da59f215258a5db" 409 | dependencies: 410 | babel-helper-remap-async-to-generator "^6.24.1" 411 | babel-plugin-syntax-async-generators "^6.5.0" 412 | babel-runtime "^6.22.0" 413 | 414 | babel-plugin-transform-async-to-generator@^6.24.1: 415 | version "6.24.1" 416 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" 417 | dependencies: 418 | babel-helper-remap-async-to-generator "^6.24.1" 419 | babel-plugin-syntax-async-functions "^6.8.0" 420 | babel-runtime "^6.22.0" 421 | 422 | babel-plugin-transform-class-constructor-call@^6.24.1: 423 | version "6.24.1" 424 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz#80dc285505ac067dcb8d6c65e2f6f11ab7765ef9" 425 | dependencies: 426 | babel-plugin-syntax-class-constructor-call "^6.18.0" 427 | babel-runtime "^6.22.0" 428 | babel-template "^6.24.1" 429 | 430 | babel-plugin-transform-class-properties@^6.24.1: 431 | version "6.24.1" 432 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz#6a79763ea61d33d36f37b611aa9def81a81b46ac" 433 | dependencies: 434 | babel-helper-function-name "^6.24.1" 435 | babel-plugin-syntax-class-properties "^6.8.0" 436 | babel-runtime "^6.22.0" 437 | babel-template "^6.24.1" 438 | 439 | babel-plugin-transform-decorators-legacy@^1.3.4: 440 | version "1.3.4" 441 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators-legacy/-/babel-plugin-transform-decorators-legacy-1.3.4.tgz#741b58f6c5bce9e6027e0882d9c994f04f366925" 442 | dependencies: 443 | babel-plugin-syntax-decorators "^6.1.18" 444 | babel-runtime "^6.2.0" 445 | babel-template "^6.3.0" 446 | 447 | babel-plugin-transform-decorators@^6.24.1: 448 | version "6.24.1" 449 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz#788013d8f8c6b5222bdf7b344390dfd77569e24d" 450 | dependencies: 451 | babel-helper-explode-class "^6.24.1" 452 | babel-plugin-syntax-decorators "^6.13.0" 453 | babel-runtime "^6.22.0" 454 | babel-template "^6.24.1" 455 | babel-types "^6.24.1" 456 | 457 | babel-plugin-transform-do-expressions@^6.22.0: 458 | version "6.22.0" 459 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-do-expressions/-/babel-plugin-transform-do-expressions-6.22.0.tgz#28ccaf92812d949c2cd1281f690c8fdc468ae9bb" 460 | dependencies: 461 | babel-plugin-syntax-do-expressions "^6.8.0" 462 | babel-runtime "^6.22.0" 463 | 464 | babel-plugin-transform-es2015-arrow-functions@^6.22.0: 465 | version "6.22.0" 466 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" 467 | dependencies: 468 | babel-runtime "^6.22.0" 469 | 470 | babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: 471 | version "6.22.0" 472 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" 473 | dependencies: 474 | babel-runtime "^6.22.0" 475 | 476 | babel-plugin-transform-es2015-block-scoping@^6.24.1: 477 | version "6.24.1" 478 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.24.1.tgz#76c295dc3a4741b1665adfd3167215dcff32a576" 479 | dependencies: 480 | babel-runtime "^6.22.0" 481 | babel-template "^6.24.1" 482 | babel-traverse "^6.24.1" 483 | babel-types "^6.24.1" 484 | lodash "^4.2.0" 485 | 486 | babel-plugin-transform-es2015-classes@^6.24.1: 487 | version "6.24.1" 488 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" 489 | dependencies: 490 | babel-helper-define-map "^6.24.1" 491 | babel-helper-function-name "^6.24.1" 492 | babel-helper-optimise-call-expression "^6.24.1" 493 | babel-helper-replace-supers "^6.24.1" 494 | babel-messages "^6.23.0" 495 | babel-runtime "^6.22.0" 496 | babel-template "^6.24.1" 497 | babel-traverse "^6.24.1" 498 | babel-types "^6.24.1" 499 | 500 | babel-plugin-transform-es2015-computed-properties@^6.24.1: 501 | version "6.24.1" 502 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" 503 | dependencies: 504 | babel-runtime "^6.22.0" 505 | babel-template "^6.24.1" 506 | 507 | babel-plugin-transform-es2015-destructuring@^6.22.0: 508 | version "6.23.0" 509 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" 510 | dependencies: 511 | babel-runtime "^6.22.0" 512 | 513 | babel-plugin-transform-es2015-duplicate-keys@^6.24.1: 514 | version "6.24.1" 515 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" 516 | dependencies: 517 | babel-runtime "^6.22.0" 518 | babel-types "^6.24.1" 519 | 520 | babel-plugin-transform-es2015-for-of@^6.22.0: 521 | version "6.23.0" 522 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" 523 | dependencies: 524 | babel-runtime "^6.22.0" 525 | 526 | babel-plugin-transform-es2015-function-name@^6.24.1: 527 | version "6.24.1" 528 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" 529 | dependencies: 530 | babel-helper-function-name "^6.24.1" 531 | babel-runtime "^6.22.0" 532 | babel-types "^6.24.1" 533 | 534 | babel-plugin-transform-es2015-literals@^6.22.0: 535 | version "6.22.0" 536 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" 537 | dependencies: 538 | babel-runtime "^6.22.0" 539 | 540 | babel-plugin-transform-es2015-modules-amd@^6.24.1: 541 | version "6.24.1" 542 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" 543 | dependencies: 544 | babel-plugin-transform-es2015-modules-commonjs "^6.24.1" 545 | babel-runtime "^6.22.0" 546 | babel-template "^6.24.1" 547 | 548 | babel-plugin-transform-es2015-modules-commonjs@^6.24.1: 549 | version "6.24.1" 550 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.1.tgz#d3e310b40ef664a36622200097c6d440298f2bfe" 551 | dependencies: 552 | babel-plugin-transform-strict-mode "^6.24.1" 553 | babel-runtime "^6.22.0" 554 | babel-template "^6.24.1" 555 | babel-types "^6.24.1" 556 | 557 | babel-plugin-transform-es2015-modules-systemjs@^6.24.1: 558 | version "6.24.1" 559 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" 560 | dependencies: 561 | babel-helper-hoist-variables "^6.24.1" 562 | babel-runtime "^6.22.0" 563 | babel-template "^6.24.1" 564 | 565 | babel-plugin-transform-es2015-modules-umd@^6.24.1: 566 | version "6.24.1" 567 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" 568 | dependencies: 569 | babel-plugin-transform-es2015-modules-amd "^6.24.1" 570 | babel-runtime "^6.22.0" 571 | babel-template "^6.24.1" 572 | 573 | babel-plugin-transform-es2015-object-super@^6.24.1: 574 | version "6.24.1" 575 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" 576 | dependencies: 577 | babel-helper-replace-supers "^6.24.1" 578 | babel-runtime "^6.22.0" 579 | 580 | babel-plugin-transform-es2015-parameters@^6.24.1: 581 | version "6.24.1" 582 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" 583 | dependencies: 584 | babel-helper-call-delegate "^6.24.1" 585 | babel-helper-get-function-arity "^6.24.1" 586 | babel-runtime "^6.22.0" 587 | babel-template "^6.24.1" 588 | babel-traverse "^6.24.1" 589 | babel-types "^6.24.1" 590 | 591 | babel-plugin-transform-es2015-shorthand-properties@^6.24.1: 592 | version "6.24.1" 593 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" 594 | dependencies: 595 | babel-runtime "^6.22.0" 596 | babel-types "^6.24.1" 597 | 598 | babel-plugin-transform-es2015-spread@^6.22.0: 599 | version "6.22.0" 600 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" 601 | dependencies: 602 | babel-runtime "^6.22.0" 603 | 604 | babel-plugin-transform-es2015-sticky-regex@^6.24.1: 605 | version "6.24.1" 606 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" 607 | dependencies: 608 | babel-helper-regex "^6.24.1" 609 | babel-runtime "^6.22.0" 610 | babel-types "^6.24.1" 611 | 612 | babel-plugin-transform-es2015-template-literals@^6.22.0: 613 | version "6.22.0" 614 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" 615 | dependencies: 616 | babel-runtime "^6.22.0" 617 | 618 | babel-plugin-transform-es2015-typeof-symbol@^6.22.0: 619 | version "6.23.0" 620 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" 621 | dependencies: 622 | babel-runtime "^6.22.0" 623 | 624 | babel-plugin-transform-es2015-unicode-regex@^6.24.1: 625 | version "6.24.1" 626 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" 627 | dependencies: 628 | babel-helper-regex "^6.24.1" 629 | babel-runtime "^6.22.0" 630 | regexpu-core "^2.0.0" 631 | 632 | babel-plugin-transform-exponentiation-operator@^6.24.1: 633 | version "6.24.1" 634 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" 635 | dependencies: 636 | babel-helper-builder-binary-assignment-operator-visitor "^6.24.1" 637 | babel-plugin-syntax-exponentiation-operator "^6.8.0" 638 | babel-runtime "^6.22.0" 639 | 640 | babel-plugin-transform-export-extensions@^6.22.0: 641 | version "6.22.0" 642 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz#53738b47e75e8218589eea946cbbd39109bbe653" 643 | dependencies: 644 | babel-plugin-syntax-export-extensions "^6.8.0" 645 | babel-runtime "^6.22.0" 646 | 647 | babel-plugin-transform-flow-strip-types@^6.22.0: 648 | version "6.22.0" 649 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz#84cb672935d43714fdc32bce84568d87441cf7cf" 650 | dependencies: 651 | babel-plugin-syntax-flow "^6.18.0" 652 | babel-runtime "^6.22.0" 653 | 654 | babel-plugin-transform-function-bind@^6.22.0: 655 | version "6.22.0" 656 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-function-bind/-/babel-plugin-transform-function-bind-6.22.0.tgz#c6fb8e96ac296a310b8cf8ea401462407ddf6a97" 657 | dependencies: 658 | babel-plugin-syntax-function-bind "^6.8.0" 659 | babel-runtime "^6.22.0" 660 | 661 | babel-plugin-transform-object-rest-spread@^6.22.0: 662 | version "6.23.0" 663 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.23.0.tgz#875d6bc9be761c58a2ae3feee5dc4895d8c7f921" 664 | dependencies: 665 | babel-plugin-syntax-object-rest-spread "^6.8.0" 666 | babel-runtime "^6.22.0" 667 | 668 | babel-plugin-transform-react-display-name@^6.23.0: 669 | version "6.25.0" 670 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz#67e2bf1f1e9c93ab08db96792e05392bf2cc28d1" 671 | dependencies: 672 | babel-runtime "^6.22.0" 673 | 674 | babel-plugin-transform-react-jsx-self@^6.22.0: 675 | version "6.22.0" 676 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz#df6d80a9da2612a121e6ddd7558bcbecf06e636e" 677 | dependencies: 678 | babel-plugin-syntax-jsx "^6.8.0" 679 | babel-runtime "^6.22.0" 680 | 681 | babel-plugin-transform-react-jsx-source@^6.22.0: 682 | version "6.22.0" 683 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz#66ac12153f5cd2d17b3c19268f4bf0197f44ecd6" 684 | dependencies: 685 | babel-plugin-syntax-jsx "^6.8.0" 686 | babel-runtime "^6.22.0" 687 | 688 | babel-plugin-transform-react-jsx@^6.24.1: 689 | version "6.24.1" 690 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz#840a028e7df460dfc3a2d29f0c0d91f6376e66a3" 691 | dependencies: 692 | babel-helper-builder-react-jsx "^6.24.1" 693 | babel-plugin-syntax-jsx "^6.8.0" 694 | babel-runtime "^6.22.0" 695 | 696 | babel-plugin-transform-regenerator@^6.24.1: 697 | version "6.24.1" 698 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.24.1.tgz#b8da305ad43c3c99b4848e4fe4037b770d23c418" 699 | dependencies: 700 | regenerator-transform "0.9.11" 701 | 702 | babel-plugin-transform-strict-mode@^6.24.1: 703 | version "6.24.1" 704 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" 705 | dependencies: 706 | babel-runtime "^6.22.0" 707 | babel-types "^6.24.1" 708 | 709 | babel-polyfill@^6.23.0: 710 | version "6.23.0" 711 | resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.23.0.tgz#8364ca62df8eafb830499f699177466c3b03499d" 712 | dependencies: 713 | babel-runtime "^6.22.0" 714 | core-js "^2.4.0" 715 | regenerator-runtime "^0.10.0" 716 | 717 | babel-preset-es2015@^6.16.0: 718 | version "6.24.1" 719 | resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939" 720 | dependencies: 721 | babel-plugin-check-es2015-constants "^6.22.0" 722 | babel-plugin-transform-es2015-arrow-functions "^6.22.0" 723 | babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" 724 | babel-plugin-transform-es2015-block-scoping "^6.24.1" 725 | babel-plugin-transform-es2015-classes "^6.24.1" 726 | babel-plugin-transform-es2015-computed-properties "^6.24.1" 727 | babel-plugin-transform-es2015-destructuring "^6.22.0" 728 | babel-plugin-transform-es2015-duplicate-keys "^6.24.1" 729 | babel-plugin-transform-es2015-for-of "^6.22.0" 730 | babel-plugin-transform-es2015-function-name "^6.24.1" 731 | babel-plugin-transform-es2015-literals "^6.22.0" 732 | babel-plugin-transform-es2015-modules-amd "^6.24.1" 733 | babel-plugin-transform-es2015-modules-commonjs "^6.24.1" 734 | babel-plugin-transform-es2015-modules-systemjs "^6.24.1" 735 | babel-plugin-transform-es2015-modules-umd "^6.24.1" 736 | babel-plugin-transform-es2015-object-super "^6.24.1" 737 | babel-plugin-transform-es2015-parameters "^6.24.1" 738 | babel-plugin-transform-es2015-shorthand-properties "^6.24.1" 739 | babel-plugin-transform-es2015-spread "^6.22.0" 740 | babel-plugin-transform-es2015-sticky-regex "^6.24.1" 741 | babel-plugin-transform-es2015-template-literals "^6.22.0" 742 | babel-plugin-transform-es2015-typeof-symbol "^6.22.0" 743 | babel-plugin-transform-es2015-unicode-regex "^6.24.1" 744 | babel-plugin-transform-regenerator "^6.24.1" 745 | 746 | babel-preset-flow-node@^1.0.2: 747 | version "1.0.2" 748 | resolved "https://registry.yarnpkg.com/babel-preset-flow-node/-/babel-preset-flow-node-1.0.2.tgz#5f375b13262c077a1f506688aef67899ea01bfcc" 749 | dependencies: 750 | babel-plugin-transform-es2015-modules-commonjs "^6.24.1" 751 | babel-preset-flow-syntax "^1.0.1" 752 | 753 | babel-preset-flow-syntax@^1.0.1: 754 | version "1.0.1" 755 | resolved "https://registry.yarnpkg.com/babel-preset-flow-syntax/-/babel-preset-flow-syntax-1.0.1.tgz#a3aed90a1a93b1121a24437708dc872e8506e0ea" 756 | dependencies: 757 | babel-plugin-transform-class-properties "^6.24.1" 758 | babel-preset-flow "^6.23.0" 759 | 760 | babel-preset-flow@^6.23.0: 761 | version "6.23.0" 762 | resolved "https://registry.yarnpkg.com/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz#e71218887085ae9a24b5be4169affb599816c49d" 763 | dependencies: 764 | babel-plugin-transform-flow-strip-types "^6.22.0" 765 | 766 | babel-preset-react@^6.16.0: 767 | version "6.24.1" 768 | resolved "https://registry.yarnpkg.com/babel-preset-react/-/babel-preset-react-6.24.1.tgz#ba69dfaea45fc3ec639b6a4ecea6e17702c91380" 769 | dependencies: 770 | babel-plugin-syntax-jsx "^6.3.13" 771 | babel-plugin-transform-react-display-name "^6.23.0" 772 | babel-plugin-transform-react-jsx "^6.24.1" 773 | babel-plugin-transform-react-jsx-self "^6.22.0" 774 | babel-plugin-transform-react-jsx-source "^6.22.0" 775 | babel-preset-flow "^6.23.0" 776 | 777 | babel-preset-stage-0@^6.16.0: 778 | version "6.24.1" 779 | resolved "https://registry.yarnpkg.com/babel-preset-stage-0/-/babel-preset-stage-0-6.24.1.tgz#5642d15042f91384d7e5af8bc88b1db95b039e6a" 780 | dependencies: 781 | babel-plugin-transform-do-expressions "^6.22.0" 782 | babel-plugin-transform-function-bind "^6.22.0" 783 | babel-preset-stage-1 "^6.24.1" 784 | 785 | babel-preset-stage-1@^6.24.1: 786 | version "6.24.1" 787 | resolved "https://registry.yarnpkg.com/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz#7692cd7dcd6849907e6ae4a0a85589cfb9e2bfb0" 788 | dependencies: 789 | babel-plugin-transform-class-constructor-call "^6.24.1" 790 | babel-plugin-transform-export-extensions "^6.22.0" 791 | babel-preset-stage-2 "^6.24.1" 792 | 793 | babel-preset-stage-2@^6.24.1: 794 | version "6.24.1" 795 | resolved "https://registry.yarnpkg.com/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz#d9e2960fb3d71187f0e64eec62bc07767219bdc1" 796 | dependencies: 797 | babel-plugin-syntax-dynamic-import "^6.18.0" 798 | babel-plugin-transform-class-properties "^6.24.1" 799 | babel-plugin-transform-decorators "^6.24.1" 800 | babel-preset-stage-3 "^6.24.1" 801 | 802 | babel-preset-stage-3@^6.24.1: 803 | version "6.24.1" 804 | resolved "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz#836ada0a9e7a7fa37cb138fb9326f87934a48395" 805 | dependencies: 806 | babel-plugin-syntax-trailing-function-commas "^6.22.0" 807 | babel-plugin-transform-async-generator-functions "^6.24.1" 808 | babel-plugin-transform-async-to-generator "^6.24.1" 809 | babel-plugin-transform-exponentiation-operator "^6.24.1" 810 | babel-plugin-transform-object-rest-spread "^6.22.0" 811 | 812 | babel-register@6.24.1, babel-register@^6.24.1: 813 | version "6.24.1" 814 | resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.24.1.tgz#7e10e13a2f71065bdfad5a1787ba45bca6ded75f" 815 | dependencies: 816 | babel-core "^6.24.1" 817 | babel-runtime "^6.22.0" 818 | core-js "^2.4.0" 819 | home-or-tmp "^2.0.0" 820 | lodash "^4.2.0" 821 | mkdirp "^0.5.1" 822 | source-map-support "^0.4.2" 823 | 824 | babel-runtime@^6.18.0, babel-runtime@^6.2.0, babel-runtime@^6.22.0: 825 | version "6.23.0" 826 | resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b" 827 | dependencies: 828 | core-js "^2.4.0" 829 | regenerator-runtime "^0.10.0" 830 | 831 | babel-template@^6.24.1, babel-template@^6.25.0, babel-template@^6.3.0: 832 | version "6.25.0" 833 | resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.25.0.tgz#665241166b7c2aa4c619d71e192969552b10c071" 834 | dependencies: 835 | babel-runtime "^6.22.0" 836 | babel-traverse "^6.25.0" 837 | babel-types "^6.25.0" 838 | babylon "^6.17.2" 839 | lodash "^4.2.0" 840 | 841 | babel-traverse@^6.16.0, babel-traverse@^6.24.1, babel-traverse@^6.25.0: 842 | version "6.25.0" 843 | resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.25.0.tgz#2257497e2fcd19b89edc13c4c91381f9512496f1" 844 | dependencies: 845 | babel-code-frame "^6.22.0" 846 | babel-messages "^6.23.0" 847 | babel-runtime "^6.22.0" 848 | babel-types "^6.25.0" 849 | babylon "^6.17.2" 850 | debug "^2.2.0" 851 | globals "^9.0.0" 852 | invariant "^2.2.0" 853 | lodash "^4.2.0" 854 | 855 | babel-types@^6.16.0, babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.25.0: 856 | version "6.25.0" 857 | resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.25.0.tgz#70afb248d5660e5d18f811d91c8303b54134a18e" 858 | dependencies: 859 | babel-runtime "^6.22.0" 860 | esutils "^2.0.2" 861 | lodash "^4.2.0" 862 | to-fast-properties "^1.0.1" 863 | 864 | babelify@^7.3.0: 865 | version "7.3.0" 866 | resolved "https://registry.yarnpkg.com/babelify/-/babelify-7.3.0.tgz#aa56aede7067fd7bd549666ee16dc285087e88e5" 867 | dependencies: 868 | babel-core "^6.0.14" 869 | object-assign "^4.0.0" 870 | 871 | babylon@^6.11.4, babylon@^6.17.2: 872 | version "6.17.4" 873 | resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.4.tgz#3e8b7402b88d22c3423e137a1577883b15ff869a" 874 | 875 | bail@^1.0.0: 876 | version "1.0.1" 877 | resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.1.tgz#912579de8b391aadf3c5fdf4cd2a0fc225df3bc2" 878 | 879 | balanced-match@^1.0.0: 880 | version "1.0.0" 881 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 882 | 883 | bcrypt-pbkdf@^1.0.0: 884 | version "1.0.2" 885 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" 886 | dependencies: 887 | tweetnacl "^0.14.3" 888 | 889 | binary-extensions@^1.0.0: 890 | version "1.8.0" 891 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774" 892 | 893 | block-stream@*: 894 | version "0.0.9" 895 | resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" 896 | dependencies: 897 | inherits "~2.0.0" 898 | 899 | blue-tape@^1.0.0: 900 | version "1.0.0" 901 | resolved "https://registry.yarnpkg.com/blue-tape/-/blue-tape-1.0.0.tgz#7581d04c07395c95c426b2ed6d1edb454a76b92b" 902 | dependencies: 903 | tape ">=2.0.0 <5.0.0" 904 | 905 | body@^5.1.0: 906 | version "5.1.0" 907 | resolved "https://registry.yarnpkg.com/body/-/body-5.1.0.tgz#e4ba0ce410a46936323367609ecb4e6553125069" 908 | dependencies: 909 | continuable-cache "^0.3.1" 910 | error "^7.0.0" 911 | raw-body "~1.1.0" 912 | safe-json-parse "~1.0.1" 913 | 914 | boom@2.x.x: 915 | version "2.10.1" 916 | resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" 917 | dependencies: 918 | hoek "2.x.x" 919 | 920 | brace-expansion@^1.1.7: 921 | version "1.1.11" 922 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 923 | dependencies: 924 | balanced-match "^1.0.0" 925 | concat-map "0.0.1" 926 | 927 | braces@^1.8.2: 928 | version "1.8.5" 929 | resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" 930 | dependencies: 931 | expand-range "^1.8.1" 932 | preserve "^0.2.0" 933 | repeat-element "^1.1.2" 934 | 935 | browser-resolve@^1.7.0: 936 | version "1.11.2" 937 | resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce" 938 | dependencies: 939 | resolve "1.1.7" 940 | 941 | buffer-shims@^1.0.0: 942 | version "1.0.0" 943 | resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" 944 | 945 | builtin-modules@^1.0.0: 946 | version "1.1.1" 947 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" 948 | 949 | bytes@1: 950 | version "1.0.0" 951 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-1.0.0.tgz#3569ede8ba34315fab99c3e92cb04c7220de1fa8" 952 | 953 | camelcase@^3.0.0: 954 | version "3.0.0" 955 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" 956 | 957 | camelcase@^4.1.0: 958 | version "4.1.0" 959 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" 960 | 961 | caseless@~0.12.0: 962 | version "0.12.0" 963 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" 964 | 965 | ccount@^1.0.0: 966 | version "1.0.1" 967 | resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.1.tgz#665687945168c218ec77ff61a4155ae00227a96c" 968 | 969 | chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: 970 | version "1.1.3" 971 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 972 | dependencies: 973 | ansi-styles "^2.2.1" 974 | escape-string-regexp "^1.0.2" 975 | has-ansi "^2.0.0" 976 | strip-ansi "^3.0.0" 977 | supports-color "^2.0.0" 978 | 979 | character-entities-html4@^1.0.0: 980 | version "1.1.0" 981 | resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.0.tgz#1ab08551d3ce1fa1df08d00fb9ca1defb147a06c" 982 | 983 | character-entities-legacy@^1.0.0: 984 | version "1.1.0" 985 | resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.0.tgz#b18aad98f6b7bcc646c1e4c81f9f1956376a561a" 986 | 987 | character-entities@^1.0.0: 988 | version "1.2.0" 989 | resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.0.tgz#a683e2cf75dbe8b171963531364e58e18a1b155f" 990 | 991 | character-reference-invalid@^1.0.0: 992 | version "1.1.0" 993 | resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.0.tgz#dec9ad1dfb9f8d06b4fcdaa2adc3c4fd97af1e68" 994 | 995 | chokidar@^1.2.0, chokidar@^1.6.1, chokidar@^1.7.0: 996 | version "1.7.0" 997 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" 998 | dependencies: 999 | anymatch "^1.3.0" 1000 | async-each "^1.0.0" 1001 | glob-parent "^2.0.0" 1002 | inherits "^2.0.1" 1003 | is-binary-path "^1.0.0" 1004 | is-glob "^2.0.0" 1005 | path-is-absolute "^1.0.0" 1006 | readdirp "^2.0.0" 1007 | optionalDependencies: 1008 | fsevents "^1.0.0" 1009 | 1010 | ci-info@^1.0.0: 1011 | version "1.0.0" 1012 | resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.0.0.tgz#dc5285f2b4e251821683681c381c3388f46ec534" 1013 | 1014 | cli-cursor@^1.0.2: 1015 | version "1.0.2" 1016 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" 1017 | dependencies: 1018 | restore-cursor "^1.0.1" 1019 | 1020 | cli-spinners@^0.1.2: 1021 | version "0.1.2" 1022 | resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-0.1.2.tgz#bb764d88e185fb9e1e6a2a1f19772318f605e31c" 1023 | 1024 | cli-truncate@^0.2.1: 1025 | version "0.2.1" 1026 | resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" 1027 | dependencies: 1028 | slice-ansi "0.0.4" 1029 | string-width "^1.0.1" 1030 | 1031 | cliui@^3.2.0: 1032 | version "3.2.0" 1033 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" 1034 | dependencies: 1035 | string-width "^1.0.1" 1036 | strip-ansi "^3.0.1" 1037 | wrap-ansi "^2.0.0" 1038 | 1039 | clone-buffer@^1.0.0: 1040 | version "1.0.0" 1041 | resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" 1042 | 1043 | clone-stats@^0.0.1: 1044 | version "0.0.1" 1045 | resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" 1046 | 1047 | clone-stats@^1.0.0: 1048 | version "1.0.0" 1049 | resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" 1050 | 1051 | clone@^1.0.0: 1052 | version "1.0.2" 1053 | resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" 1054 | 1055 | clone@^2.1.1: 1056 | version "2.1.1" 1057 | resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.1.tgz#d217d1e961118e3ac9a4b8bba3285553bf647cdb" 1058 | 1059 | cloneable-readable@^1.0.0: 1060 | version "1.0.0" 1061 | resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.0.0.tgz#a6290d413f217a61232f95e458ff38418cfb0117" 1062 | dependencies: 1063 | inherits "^2.0.1" 1064 | process-nextick-args "^1.0.6" 1065 | through2 "^2.0.1" 1066 | 1067 | co@^4.6.0: 1068 | version "4.6.0" 1069 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" 1070 | 1071 | code-point-at@^1.0.0: 1072 | version "1.1.0" 1073 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 1074 | 1075 | collapse-white-space@^1.0.0, collapse-white-space@^1.0.2: 1076 | version "1.0.3" 1077 | resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.3.tgz#4b906f670e5a963a87b76b0e1689643341b6023c" 1078 | 1079 | combined-stream@^1.0.5, combined-stream@~1.0.5: 1080 | version "1.0.5" 1081 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" 1082 | dependencies: 1083 | delayed-stream "~1.0.0" 1084 | 1085 | comma-separated-tokens@^1.0.1: 1086 | version "1.0.4" 1087 | resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.4.tgz#72083e58d4a462f01866f6617f4d98a3cd3b8a46" 1088 | dependencies: 1089 | trim "0.0.1" 1090 | 1091 | commander@^2.8.1, commander@^2.9.0: 1092 | version "2.11.0" 1093 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" 1094 | 1095 | concat-map@0.0.1: 1096 | version "0.0.1" 1097 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 1098 | 1099 | concat-stream@^1.5.0: 1100 | version "1.6.0" 1101 | resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" 1102 | dependencies: 1103 | inherits "^2.0.3" 1104 | readable-stream "^2.2.2" 1105 | typedarray "^0.0.6" 1106 | 1107 | concat-stream@~1.5.0: 1108 | version "1.5.2" 1109 | resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266" 1110 | dependencies: 1111 | inherits "~2.0.1" 1112 | readable-stream "~2.0.0" 1113 | typedarray "~0.0.5" 1114 | 1115 | console-control-strings@^1.0.0, console-control-strings@~1.1.0: 1116 | version "1.1.0" 1117 | resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" 1118 | 1119 | continuable-cache@^0.3.1: 1120 | version "0.3.1" 1121 | resolved "https://registry.yarnpkg.com/continuable-cache/-/continuable-cache-0.3.1.tgz#bd727a7faed77e71ff3985ac93351a912733ad0f" 1122 | 1123 | convert-source-map@^1.1.0, convert-source-map@^1.1.1: 1124 | version "1.5.0" 1125 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" 1126 | 1127 | core-js@^2.4.0: 1128 | version "2.4.1" 1129 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" 1130 | 1131 | core-util-is@~1.0.0: 1132 | version "1.0.2" 1133 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 1134 | 1135 | cosmiconfig@^1.1.0: 1136 | version "1.1.0" 1137 | resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-1.1.0.tgz#0dea0f9804efdfb929fbb1b188e25553ea053d37" 1138 | dependencies: 1139 | graceful-fs "^4.1.2" 1140 | js-yaml "^3.4.3" 1141 | minimist "^1.2.0" 1142 | object-assign "^4.0.1" 1143 | os-homedir "^1.0.1" 1144 | parse-json "^2.2.0" 1145 | pinkie-promise "^2.0.0" 1146 | require-from-string "^1.1.0" 1147 | 1148 | cross-spawn@^4.0.0: 1149 | version "4.0.2" 1150 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41" 1151 | dependencies: 1152 | lru-cache "^4.0.1" 1153 | which "^1.2.9" 1154 | 1155 | cross-spawn@^5.0.1: 1156 | version "5.1.0" 1157 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" 1158 | dependencies: 1159 | lru-cache "^4.0.1" 1160 | shebang-command "^1.2.0" 1161 | which "^1.2.9" 1162 | 1163 | cryptiles@2.x.x: 1164 | version "2.0.5" 1165 | resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" 1166 | dependencies: 1167 | boom "2.x.x" 1168 | 1169 | dashdash@^1.12.0: 1170 | version "1.14.1" 1171 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" 1172 | dependencies: 1173 | assert-plus "^1.0.0" 1174 | 1175 | date-fns@^1.27.2: 1176 | version "1.28.5" 1177 | resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.28.5.tgz#257cfc45d322df45ef5658665967ee841cd73faf" 1178 | 1179 | debug@^2.1.1, debug@^2.2.0, debug@~2.6.7: 1180 | version "2.6.9" 1181 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 1182 | dependencies: 1183 | ms "2.0.0" 1184 | 1185 | decamelize@^1.1.1: 1186 | version "1.2.0" 1187 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 1188 | 1189 | deep-equal@~1.0.1: 1190 | version "1.0.1" 1191 | resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" 1192 | 1193 | deep-extend@~0.4.0: 1194 | version "0.4.2" 1195 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" 1196 | 1197 | define-properties@^1.1.2: 1198 | version "1.1.2" 1199 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" 1200 | dependencies: 1201 | foreach "^2.0.5" 1202 | object-keys "^1.0.8" 1203 | 1204 | defined@^1.0.0, defined@~1.0.0: 1205 | version "1.0.0" 1206 | resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" 1207 | 1208 | delayed-stream@~1.0.0: 1209 | version "1.0.0" 1210 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 1211 | 1212 | delegates@^1.0.0: 1213 | version "1.0.0" 1214 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" 1215 | 1216 | detab@^2.0.0: 1217 | version "2.0.0" 1218 | resolved "https://registry.yarnpkg.com/detab/-/detab-2.0.0.tgz#485bd7954d2348092e998f7ff1a79fd9869d9b50" 1219 | dependencies: 1220 | repeat-string "^1.5.4" 1221 | 1222 | detect-indent@^4.0.0: 1223 | version "4.0.0" 1224 | resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" 1225 | dependencies: 1226 | repeating "^2.0.0" 1227 | 1228 | detective@^4.0.0: 1229 | version "4.5.0" 1230 | resolved "https://registry.yarnpkg.com/detective/-/detective-4.5.0.tgz#6e5a8c6b26e6c7a254b1c6b6d7490d98ec91edd1" 1231 | dependencies: 1232 | acorn "^4.0.3" 1233 | defined "^1.0.0" 1234 | 1235 | diff@^1.3.2: 1236 | version "1.4.0" 1237 | resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf" 1238 | 1239 | disparity@^2.0.0: 1240 | version "2.0.0" 1241 | resolved "https://registry.yarnpkg.com/disparity/-/disparity-2.0.0.tgz#57ddacb47324ae5f58d2cc0da886db4ce9eeb718" 1242 | dependencies: 1243 | ansi-styles "^2.0.1" 1244 | diff "^1.3.2" 1245 | 1246 | doctrine-temporary-fork@2.0.0-alpha-allowarrayindex: 1247 | version "2.0.0-alpha-allowarrayindex" 1248 | resolved "https://registry.yarnpkg.com/doctrine-temporary-fork/-/doctrine-temporary-fork-2.0.0-alpha-allowarrayindex.tgz#40015a867eb27e75b26c828b71524f137f89f9f0" 1249 | dependencies: 1250 | esutils "^2.0.2" 1251 | isarray "^1.0.0" 1252 | 1253 | documentation@^4.0.0-rc.1: 1254 | version "4.0.0-rc.1" 1255 | resolved "https://registry.yarnpkg.com/documentation/-/documentation-4.0.0-rc.1.tgz#f59eaf3927b277fc73597515cf64f3170df1b2ec" 1256 | dependencies: 1257 | ansi-html "^0.0.7" 1258 | babel-core "^6.17.0" 1259 | babel-generator "6.24.1" 1260 | babel-plugin-system-import-transformer "3.1.0" 1261 | babel-plugin-transform-decorators-legacy "^1.3.4" 1262 | babel-preset-es2015 "^6.16.0" 1263 | babel-preset-react "^6.16.0" 1264 | babel-preset-stage-0 "^6.16.0" 1265 | babel-traverse "^6.16.0" 1266 | babel-types "^6.16.0" 1267 | babelify "^7.3.0" 1268 | babylon "^6.11.4" 1269 | chalk "^1.1.1" 1270 | chokidar "^1.2.0" 1271 | concat-stream "^1.5.0" 1272 | disparity "^2.0.0" 1273 | doctrine-temporary-fork "2.0.0-alpha-allowarrayindex" 1274 | get-comments "^1.0.1" 1275 | git-url-parse "^6.0.1" 1276 | github-slugger "1.1.1" 1277 | glob "^7.0.0" 1278 | globals-docs "^2.3.0" 1279 | highlight.js "^9.1.0" 1280 | js-yaml "^3.3.1" 1281 | lodash "^4.11.1" 1282 | mdast-util-inject "^1.1.0" 1283 | micromatch "^2.1.6" 1284 | mime "^1.3.4" 1285 | module-deps-sortable "4.0.6" 1286 | parse-filepath "^1.0.1" 1287 | pify "^2.3.0" 1288 | read-pkg-up "^2.0.0" 1289 | remark "^7.0.0" 1290 | remark-html "6.0.0" 1291 | remark-toc "^4.0.0" 1292 | remote-origin-url "0.4.0" 1293 | shelljs "^0.7.5" 1294 | stream-array "^1.1.0" 1295 | strip-json-comments "^2.0.0" 1296 | tiny-lr "^1.0.3" 1297 | unist-builder "^1.0.0" 1298 | unist-util-visit "^1.0.1" 1299 | vfile "^2.0.0" 1300 | vfile-reporter "^3.0.0" 1301 | vfile-sort "^2.0.0" 1302 | vinyl "^2.0.0" 1303 | vinyl-fs "^2.3.1" 1304 | yargs "^6.0.0" 1305 | 1306 | duplexer2@^0.1.2, duplexer2@~0.1.0: 1307 | version "0.1.4" 1308 | resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" 1309 | dependencies: 1310 | readable-stream "^2.0.2" 1311 | 1312 | duplexify@^3.2.0: 1313 | version "3.5.0" 1314 | resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.5.0.tgz#1aa773002e1578457e9d9d4a50b0ccaaebcbd604" 1315 | dependencies: 1316 | end-of-stream "1.0.0" 1317 | inherits "^2.0.1" 1318 | readable-stream "^2.0.0" 1319 | stream-shift "^1.0.0" 1320 | 1321 | ecc-jsbn@~0.1.1: 1322 | version "0.1.2" 1323 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" 1324 | dependencies: 1325 | jsbn "~0.1.0" 1326 | safer-buffer "^2.1.0" 1327 | 1328 | elegant-spinner@^1.0.1: 1329 | version "1.0.1" 1330 | resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" 1331 | 1332 | emoji-regex@^6.0.0: 1333 | version "6.4.3" 1334 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.4.3.tgz#6ac2ac58d4b78def5e39b33fcbf395688af3076c" 1335 | 1336 | end-of-stream@1.0.0: 1337 | version "1.0.0" 1338 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.0.0.tgz#d4596e702734a93e40e9af864319eabd99ff2f0e" 1339 | dependencies: 1340 | once "~1.3.0" 1341 | 1342 | error-ex@^1.2.0: 1343 | version "1.3.1" 1344 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" 1345 | dependencies: 1346 | is-arrayish "^0.2.1" 1347 | 1348 | error@^7.0.0: 1349 | version "7.0.2" 1350 | resolved "https://registry.yarnpkg.com/error/-/error-7.0.2.tgz#a5f75fff4d9926126ddac0ea5dc38e689153cb02" 1351 | dependencies: 1352 | string-template "~0.2.1" 1353 | xtend "~4.0.0" 1354 | 1355 | es-abstract@^1.5.0: 1356 | version "1.7.0" 1357 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.7.0.tgz#dfade774e01bfcd97f96180298c449c8623fb94c" 1358 | dependencies: 1359 | es-to-primitive "^1.1.1" 1360 | function-bind "^1.1.0" 1361 | is-callable "^1.1.3" 1362 | is-regex "^1.0.3" 1363 | 1364 | es-to-primitive@^1.1.1: 1365 | version "1.1.1" 1366 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" 1367 | dependencies: 1368 | is-callable "^1.1.1" 1369 | is-date-object "^1.0.1" 1370 | is-symbol "^1.0.1" 1371 | 1372 | escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: 1373 | version "1.0.5" 1374 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 1375 | 1376 | esprima@^4.0.0: 1377 | version "4.0.1" 1378 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 1379 | 1380 | esutils@^2.0.0, esutils@^2.0.2: 1381 | version "2.0.2" 1382 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" 1383 | 1384 | execa@^0.5.0: 1385 | version "0.5.1" 1386 | resolved "https://registry.yarnpkg.com/execa/-/execa-0.5.1.tgz#de3fb85cb8d6e91c85bcbceb164581785cb57b36" 1387 | dependencies: 1388 | cross-spawn "^4.0.0" 1389 | get-stream "^2.2.0" 1390 | is-stream "^1.1.0" 1391 | npm-run-path "^2.0.0" 1392 | p-finally "^1.0.0" 1393 | signal-exit "^3.0.0" 1394 | strip-eof "^1.0.0" 1395 | 1396 | execa@^0.7.0: 1397 | version "0.7.0" 1398 | resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" 1399 | dependencies: 1400 | cross-spawn "^5.0.1" 1401 | get-stream "^3.0.0" 1402 | is-stream "^1.1.0" 1403 | npm-run-path "^2.0.0" 1404 | p-finally "^1.0.0" 1405 | signal-exit "^3.0.0" 1406 | strip-eof "^1.0.0" 1407 | 1408 | exit-hook@^1.0.0: 1409 | version "1.1.1" 1410 | resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" 1411 | 1412 | expand-brackets@^0.1.4: 1413 | version "0.1.5" 1414 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" 1415 | dependencies: 1416 | is-posix-bracket "^0.1.0" 1417 | 1418 | expand-range@^1.8.1: 1419 | version "1.8.2" 1420 | resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" 1421 | dependencies: 1422 | fill-range "^2.1.0" 1423 | 1424 | extend-shallow@^2.0.1: 1425 | version "2.0.1" 1426 | resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" 1427 | dependencies: 1428 | is-extendable "^0.1.0" 1429 | 1430 | extend@^3.0.0, extend@~3.0.0: 1431 | version "3.0.2" 1432 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" 1433 | 1434 | extglob@^0.3.1: 1435 | version "0.3.2" 1436 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" 1437 | dependencies: 1438 | is-extglob "^1.0.0" 1439 | 1440 | extsprintf@1.0.2: 1441 | version "1.0.2" 1442 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" 1443 | 1444 | faye-websocket@~0.10.0: 1445 | version "0.10.0" 1446 | resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" 1447 | dependencies: 1448 | websocket-driver ">=0.5.1" 1449 | 1450 | figures@^1.7.0: 1451 | version "1.7.0" 1452 | resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" 1453 | dependencies: 1454 | escape-string-regexp "^1.0.5" 1455 | object-assign "^4.1.0" 1456 | 1457 | filename-regex@^2.0.0: 1458 | version "2.0.1" 1459 | resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" 1460 | 1461 | fill-range@^2.1.0: 1462 | version "2.2.3" 1463 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" 1464 | dependencies: 1465 | is-number "^2.1.0" 1466 | isobject "^2.0.0" 1467 | randomatic "^1.1.3" 1468 | repeat-element "^1.1.2" 1469 | repeat-string "^1.5.2" 1470 | 1471 | find-up@^1.0.0: 1472 | version "1.1.2" 1473 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" 1474 | dependencies: 1475 | path-exists "^2.0.0" 1476 | pinkie-promise "^2.0.0" 1477 | 1478 | find-up@^2.0.0: 1479 | version "2.1.0" 1480 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" 1481 | dependencies: 1482 | locate-path "^2.0.0" 1483 | 1484 | first-chunk-stream@^1.0.0: 1485 | version "1.0.0" 1486 | resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e" 1487 | 1488 | flow-bin@^0.49.1: 1489 | version "0.49.1" 1490 | resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.49.1.tgz#c9e456b3173a7535a4ffaf28956352c63bb8e3e9" 1491 | 1492 | flow-copy-source@^1.2.0: 1493 | version "1.2.0" 1494 | resolved "https://registry.yarnpkg.com/flow-copy-source/-/flow-copy-source-1.2.0.tgz#0ce7267cca593e347da69fcf75f82a768291e730" 1495 | dependencies: 1496 | chokidar "^1.7.0" 1497 | fs-extra "^3.0.1" 1498 | glob "^7.0.0" 1499 | kefir "^3.2.0" 1500 | yargs "^8.0.2" 1501 | 1502 | for-each@~0.3.2: 1503 | version "0.3.2" 1504 | resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.2.tgz#2c40450b9348e97f281322593ba96704b9abd4d4" 1505 | dependencies: 1506 | is-function "~1.0.0" 1507 | 1508 | for-in@^1.0.1: 1509 | version "1.0.2" 1510 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" 1511 | 1512 | for-own@^0.1.4: 1513 | version "0.1.5" 1514 | resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" 1515 | dependencies: 1516 | for-in "^1.0.1" 1517 | 1518 | foreach@^2.0.5: 1519 | version "2.0.5" 1520 | resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" 1521 | 1522 | forever-agent@~0.6.1: 1523 | version "0.6.1" 1524 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" 1525 | 1526 | form-data@~2.1.1: 1527 | version "2.1.4" 1528 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" 1529 | dependencies: 1530 | asynckit "^0.4.0" 1531 | combined-stream "^1.0.5" 1532 | mime-types "^2.1.12" 1533 | 1534 | fs-extra@^3.0.1: 1535 | version "3.0.1" 1536 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-3.0.1.tgz#3794f378c58b342ea7dbbb23095109c4b3b62291" 1537 | dependencies: 1538 | graceful-fs "^4.1.2" 1539 | jsonfile "^3.0.0" 1540 | universalify "^0.1.0" 1541 | 1542 | fs-readdir-recursive@^1.0.0: 1543 | version "1.0.0" 1544 | resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.0.0.tgz#8cd1745c8b4f8a29c8caec392476921ba195f560" 1545 | 1546 | fs.realpath@^1.0.0: 1547 | version "1.0.0" 1548 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1549 | 1550 | fsevents@^1.0.0: 1551 | version "1.1.2" 1552 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.2.tgz#3282b713fb3ad80ede0e9fcf4611b5aa6fc033f4" 1553 | dependencies: 1554 | nan "^2.3.0" 1555 | node-pre-gyp "^0.6.36" 1556 | 1557 | fstream-ignore@^1.0.5: 1558 | version "1.0.5" 1559 | resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" 1560 | dependencies: 1561 | fstream "^1.0.0" 1562 | inherits "2" 1563 | minimatch "^3.0.0" 1564 | 1565 | fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.12: 1566 | version "1.0.12" 1567 | resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" 1568 | dependencies: 1569 | graceful-fs "^4.1.2" 1570 | inherits "~2.0.0" 1571 | mkdirp ">=0.5 0" 1572 | rimraf "2" 1573 | 1574 | function-bind@^1.0.2, function-bind@^1.1.0, function-bind@~1.1.0: 1575 | version "1.1.0" 1576 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" 1577 | 1578 | gauge@~2.7.3: 1579 | version "2.7.4" 1580 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" 1581 | dependencies: 1582 | aproba "^1.0.3" 1583 | console-control-strings "^1.0.0" 1584 | has-unicode "^2.0.0" 1585 | object-assign "^4.1.0" 1586 | signal-exit "^3.0.0" 1587 | string-width "^1.0.1" 1588 | strip-ansi "^3.0.1" 1589 | wide-align "^1.1.0" 1590 | 1591 | get-caller-file@^1.0.1: 1592 | version "1.0.2" 1593 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" 1594 | 1595 | get-comments@^1.0.1: 1596 | version "1.0.1" 1597 | resolved "https://registry.yarnpkg.com/get-comments/-/get-comments-1.0.1.tgz#196759101bbbc4facf13060caaedd4870dee55be" 1598 | 1599 | get-stream@^2.2.0: 1600 | version "2.3.1" 1601 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de" 1602 | dependencies: 1603 | object-assign "^4.0.1" 1604 | pinkie-promise "^2.0.0" 1605 | 1606 | get-stream@^3.0.0: 1607 | version "3.0.0" 1608 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" 1609 | 1610 | getpass@^0.1.1: 1611 | version "0.1.7" 1612 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" 1613 | dependencies: 1614 | assert-plus "^1.0.0" 1615 | 1616 | git-up@^2.0.0: 1617 | version "2.0.8" 1618 | resolved "https://registry.yarnpkg.com/git-up/-/git-up-2.0.8.tgz#24be049c9f0b193481d2df4e016a16530a5f4ef4" 1619 | dependencies: 1620 | is-ssh "^1.3.0" 1621 | parse-url "^1.3.0" 1622 | 1623 | git-url-parse@^6.0.1: 1624 | version "6.2.2" 1625 | resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-6.2.2.tgz#be49024e14b8487553436b4572b8b439532fa871" 1626 | dependencies: 1627 | git-up "^2.0.0" 1628 | 1629 | github-slugger@1.1.1, github-slugger@^1.0.0, github-slugger@^1.1.1: 1630 | version "1.1.1" 1631 | resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.1.1.tgz#5444671f65e5a5a424cfa8ba3255cc1f7baf07ea" 1632 | dependencies: 1633 | emoji-regex "^6.0.0" 1634 | 1635 | glob-base@^0.3.0: 1636 | version "0.3.0" 1637 | resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" 1638 | dependencies: 1639 | glob-parent "^2.0.0" 1640 | is-glob "^2.0.0" 1641 | 1642 | glob-parent@^2.0.0: 1643 | version "2.0.0" 1644 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" 1645 | dependencies: 1646 | is-glob "^2.0.0" 1647 | 1648 | glob-parent@^3.0.0: 1649 | version "3.1.0" 1650 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" 1651 | dependencies: 1652 | is-glob "^3.1.0" 1653 | path-dirname "^1.0.0" 1654 | 1655 | glob-stream@^5.3.2: 1656 | version "5.3.5" 1657 | resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-5.3.5.tgz#a55665a9a8ccdc41915a87c701e32d4e016fad22" 1658 | dependencies: 1659 | extend "^3.0.0" 1660 | glob "^5.0.3" 1661 | glob-parent "^3.0.0" 1662 | micromatch "^2.3.7" 1663 | ordered-read-streams "^0.3.0" 1664 | through2 "^0.6.0" 1665 | to-absolute-glob "^0.1.1" 1666 | unique-stream "^2.0.2" 1667 | 1668 | glob@^5.0.3: 1669 | version "5.0.15" 1670 | resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" 1671 | dependencies: 1672 | inflight "^1.0.4" 1673 | inherits "2" 1674 | minimatch "2 || 3" 1675 | once "^1.3.0" 1676 | path-is-absolute "^1.0.0" 1677 | 1678 | glob@^7.0.0, glob@~7.1.2: 1679 | version "7.1.2" 1680 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" 1681 | dependencies: 1682 | fs.realpath "^1.0.0" 1683 | inflight "^1.0.4" 1684 | inherits "2" 1685 | minimatch "^3.0.4" 1686 | once "^1.3.0" 1687 | path-is-absolute "^1.0.0" 1688 | 1689 | glob@^7.1.3: 1690 | version "7.1.5" 1691 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.5.tgz#6714c69bee20f3c3e64c4dd905553e532b40cdc0" 1692 | dependencies: 1693 | fs.realpath "^1.0.0" 1694 | inflight "^1.0.4" 1695 | inherits "2" 1696 | minimatch "^3.0.4" 1697 | once "^1.3.0" 1698 | path-is-absolute "^1.0.0" 1699 | 1700 | globals-docs@^2.3.0: 1701 | version "2.3.0" 1702 | resolved "https://registry.yarnpkg.com/globals-docs/-/globals-docs-2.3.0.tgz#dca4088af196f7800f4eba783eaeff335cb6759c" 1703 | 1704 | globals@^9.0.0: 1705 | version "9.18.0" 1706 | resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" 1707 | 1708 | graceful-fs@^4.0.0, graceful-fs@^4.1.2, graceful-fs@^4.1.4, graceful-fs@^4.1.6: 1709 | version "4.2.3" 1710 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" 1711 | 1712 | gulp-sourcemaps@1.6.0: 1713 | version "1.6.0" 1714 | resolved "https://registry.yarnpkg.com/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz#b86ff349d801ceb56e1d9e7dc7bbcb4b7dee600c" 1715 | dependencies: 1716 | convert-source-map "^1.1.1" 1717 | graceful-fs "^4.1.2" 1718 | strip-bom "^2.0.0" 1719 | through2 "^2.0.0" 1720 | vinyl "^1.0.0" 1721 | 1722 | har-schema@^1.0.5: 1723 | version "1.0.5" 1724 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" 1725 | 1726 | har-validator@~4.2.1: 1727 | version "4.2.1" 1728 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" 1729 | dependencies: 1730 | ajv "^4.9.1" 1731 | har-schema "^1.0.5" 1732 | 1733 | has-ansi@^2.0.0: 1734 | version "2.0.0" 1735 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 1736 | dependencies: 1737 | ansi-regex "^2.0.0" 1738 | 1739 | has-unicode@^2.0.0: 1740 | version "2.0.1" 1741 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" 1742 | 1743 | has@^1.0.1, has@~1.0.1: 1744 | version "1.0.1" 1745 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" 1746 | dependencies: 1747 | function-bind "^1.0.2" 1748 | 1749 | hast-util-is-element@^1.0.0: 1750 | version "1.0.0" 1751 | resolved "https://registry.yarnpkg.com/hast-util-is-element/-/hast-util-is-element-1.0.0.tgz#3f7216978b2ae14d98749878782675f33be3ce00" 1752 | 1753 | hast-util-sanitize@^1.0.0: 1754 | version "1.1.1" 1755 | resolved "https://registry.yarnpkg.com/hast-util-sanitize/-/hast-util-sanitize-1.1.1.tgz#c439852d9db7ff554ecd6be96435a6a8274ade32" 1756 | dependencies: 1757 | xtend "^4.0.1" 1758 | 1759 | hast-util-to-html@^3.0.0: 1760 | version "3.0.1" 1761 | resolved "https://registry.yarnpkg.com/hast-util-to-html/-/hast-util-to-html-3.0.1.tgz#9cdefb69772888db5f4253d08e1fcd533b716ba8" 1762 | dependencies: 1763 | ccount "^1.0.0" 1764 | comma-separated-tokens "^1.0.1" 1765 | hast-util-is-element "^1.0.0" 1766 | hast-util-whitespace "^1.0.0" 1767 | html-void-elements "^1.0.0" 1768 | kebab-case "^1.0.0" 1769 | property-information "^3.1.0" 1770 | space-separated-tokens "^1.0.0" 1771 | stringify-entities "^1.0.1" 1772 | unist-util-is "^2.0.0" 1773 | xtend "^4.0.1" 1774 | 1775 | hast-util-whitespace@^1.0.0: 1776 | version "1.0.0" 1777 | resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-1.0.0.tgz#bd096919625d2936e1ff17bc4df7fd727f17ece9" 1778 | 1779 | hawk@~3.1.3: 1780 | version "3.1.3" 1781 | resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" 1782 | dependencies: 1783 | boom "2.x.x" 1784 | cryptiles "2.x.x" 1785 | hoek "2.x.x" 1786 | sntp "1.x.x" 1787 | 1788 | highlight.js@^9.1.0: 1789 | version "9.12.0" 1790 | resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.12.0.tgz#e6d9dbe57cbefe60751f02af336195870c90c01e" 1791 | 1792 | hoek@2.x.x: 1793 | version "2.16.3" 1794 | resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" 1795 | 1796 | home-or-tmp@^2.0.0: 1797 | version "2.0.0" 1798 | resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" 1799 | dependencies: 1800 | os-homedir "^1.0.0" 1801 | os-tmpdir "^1.0.1" 1802 | 1803 | hosted-git-info@^2.1.4: 1804 | version "2.5.0" 1805 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" 1806 | 1807 | html-void-elements@^1.0.0: 1808 | version "1.0.2" 1809 | resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-1.0.2.tgz#9d22e0ca32acc95b3f45b8d5b4f6fbdc05affd55" 1810 | 1811 | http-signature@~1.1.0: 1812 | version "1.1.1" 1813 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" 1814 | dependencies: 1815 | assert-plus "^0.2.0" 1816 | jsprim "^1.2.2" 1817 | sshpk "^1.7.0" 1818 | 1819 | husky@^0.14.0: 1820 | version "0.14.2" 1821 | resolved "https://registry.yarnpkg.com/husky/-/husky-0.14.2.tgz#6df06483965d2254db95dd143c445d6d8509b4b8" 1822 | dependencies: 1823 | is-ci "^1.0.10" 1824 | normalize-path "^1.0.0" 1825 | strip-indent "^2.0.0" 1826 | 1827 | indent-string@^2.1.0: 1828 | version "2.1.0" 1829 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" 1830 | dependencies: 1831 | repeating "^2.0.0" 1832 | 1833 | indent-string@^3.0.0: 1834 | version "3.1.0" 1835 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.1.0.tgz#08ff4334603388399b329e6b9538dc7a3cf5de7d" 1836 | 1837 | inflight@^1.0.4: 1838 | version "1.0.6" 1839 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1840 | dependencies: 1841 | once "^1.3.0" 1842 | wrappy "1" 1843 | 1844 | inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: 1845 | version "2.0.4" 1846 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1847 | 1848 | ini@^1.3.3, ini@~1.3.0: 1849 | version "1.3.4" 1850 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" 1851 | 1852 | interpret@^1.0.0: 1853 | version "1.0.3" 1854 | resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.3.tgz#cbc35c62eeee73f19ab7b10a801511401afc0f90" 1855 | 1856 | invariant@^2.2.0: 1857 | version "2.2.2" 1858 | resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" 1859 | dependencies: 1860 | loose-envify "^1.0.0" 1861 | 1862 | invert-kv@^1.0.0: 1863 | version "1.0.0" 1864 | resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" 1865 | 1866 | irregular-plurals@^1.0.0: 1867 | version "1.3.0" 1868 | resolved "https://registry.yarnpkg.com/irregular-plurals/-/irregular-plurals-1.3.0.tgz#7af06931bdf74be33dcf585a13e06fccc16caecf" 1869 | 1870 | is-absolute@^0.2.3: 1871 | version "0.2.6" 1872 | resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-0.2.6.tgz#20de69f3db942ef2d87b9c2da36f172235b1b5eb" 1873 | dependencies: 1874 | is-relative "^0.2.1" 1875 | is-windows "^0.2.0" 1876 | 1877 | is-alphabetical@^1.0.0: 1878 | version "1.0.0" 1879 | resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.0.tgz#e2544c13058255f2144cb757066cd3342a1c8c46" 1880 | 1881 | is-alphanumeric@^1.0.0: 1882 | version "1.0.0" 1883 | resolved "https://registry.yarnpkg.com/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz#4a9cef71daf4c001c1d81d63d140cf53fd6889f4" 1884 | 1885 | is-alphanumerical@^1.0.0: 1886 | version "1.0.0" 1887 | resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.0.tgz#e06492e719c1bf15dec239e4f1af5f67b4d6e7bf" 1888 | dependencies: 1889 | is-alphabetical "^1.0.0" 1890 | is-decimal "^1.0.0" 1891 | 1892 | is-arrayish@^0.2.1: 1893 | version "0.2.1" 1894 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 1895 | 1896 | is-binary-path@^1.0.0: 1897 | version "1.0.1" 1898 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" 1899 | dependencies: 1900 | binary-extensions "^1.0.0" 1901 | 1902 | is-buffer@^1.1.4, is-buffer@^1.1.5: 1903 | version "1.1.5" 1904 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc" 1905 | 1906 | is-builtin-module@^1.0.0: 1907 | version "1.0.0" 1908 | resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" 1909 | dependencies: 1910 | builtin-modules "^1.0.0" 1911 | 1912 | is-callable@^1.1.1, is-callable@^1.1.3: 1913 | version "1.1.3" 1914 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" 1915 | 1916 | is-ci@^1.0.10: 1917 | version "1.0.10" 1918 | resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.0.10.tgz#f739336b2632365061a9d48270cd56ae3369318e" 1919 | dependencies: 1920 | ci-info "^1.0.0" 1921 | 1922 | is-date-object@^1.0.1: 1923 | version "1.0.1" 1924 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" 1925 | 1926 | is-decimal@^1.0.0: 1927 | version "1.0.0" 1928 | resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.0.tgz#940579b6ea63c628080a69e62bda88c8470b4fe0" 1929 | 1930 | is-dotfile@^1.0.0: 1931 | version "1.0.3" 1932 | resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" 1933 | 1934 | is-equal-shallow@^0.1.3: 1935 | version "0.1.3" 1936 | resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" 1937 | dependencies: 1938 | is-primitive "^2.0.0" 1939 | 1940 | is-extendable@^0.1.0, is-extendable@^0.1.1: 1941 | version "0.1.1" 1942 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" 1943 | 1944 | is-extglob@^1.0.0: 1945 | version "1.0.0" 1946 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" 1947 | 1948 | is-extglob@^2.1.0: 1949 | version "2.1.1" 1950 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1951 | 1952 | is-finite@^1.0.0: 1953 | version "1.0.2" 1954 | resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" 1955 | dependencies: 1956 | number-is-nan "^1.0.0" 1957 | 1958 | is-fullwidth-code-point@^1.0.0: 1959 | version "1.0.0" 1960 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 1961 | dependencies: 1962 | number-is-nan "^1.0.0" 1963 | 1964 | is-fullwidth-code-point@^2.0.0: 1965 | version "2.0.0" 1966 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 1967 | 1968 | is-function@~1.0.0: 1969 | version "1.0.1" 1970 | resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5" 1971 | 1972 | is-glob@^2.0.0, is-glob@^2.0.1: 1973 | version "2.0.1" 1974 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" 1975 | dependencies: 1976 | is-extglob "^1.0.0" 1977 | 1978 | is-glob@^3.1.0: 1979 | version "3.1.0" 1980 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" 1981 | dependencies: 1982 | is-extglob "^2.1.0" 1983 | 1984 | is-hexadecimal@^1.0.0: 1985 | version "1.0.0" 1986 | resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.0.tgz#5c459771d2af9a2e3952781fd54fcb1bcfe4113c" 1987 | 1988 | is-number@^2.1.0: 1989 | version "2.1.0" 1990 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" 1991 | dependencies: 1992 | kind-of "^3.0.2" 1993 | 1994 | is-number@^3.0.0: 1995 | version "3.0.0" 1996 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" 1997 | dependencies: 1998 | kind-of "^3.0.2" 1999 | 2000 | is-plain-obj@^1.1.0: 2001 | version "1.1.0" 2002 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" 2003 | 2004 | is-posix-bracket@^0.1.0: 2005 | version "0.1.1" 2006 | resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" 2007 | 2008 | is-primitive@^2.0.0: 2009 | version "2.0.0" 2010 | resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" 2011 | 2012 | is-promise@^2.1.0: 2013 | version "2.1.0" 2014 | resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" 2015 | 2016 | is-regex@^1.0.3: 2017 | version "1.0.4" 2018 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" 2019 | dependencies: 2020 | has "^1.0.1" 2021 | 2022 | is-relative@^0.2.1: 2023 | version "0.2.1" 2024 | resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-0.2.1.tgz#d27f4c7d516d175fb610db84bbeef23c3bc97aa5" 2025 | dependencies: 2026 | is-unc-path "^0.1.1" 2027 | 2028 | is-ssh@^1.3.0: 2029 | version "1.3.0" 2030 | resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.3.0.tgz#ebea1169a2614da392a63740366c3ce049d8dff6" 2031 | dependencies: 2032 | protocols "^1.1.0" 2033 | 2034 | is-stream@^1.0.1, is-stream@^1.1.0: 2035 | version "1.1.0" 2036 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" 2037 | 2038 | is-symbol@^1.0.1: 2039 | version "1.0.1" 2040 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" 2041 | 2042 | is-typedarray@~1.0.0: 2043 | version "1.0.0" 2044 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 2045 | 2046 | is-unc-path@^0.1.1: 2047 | version "0.1.2" 2048 | resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-0.1.2.tgz#6ab053a72573c10250ff416a3814c35178af39b9" 2049 | dependencies: 2050 | unc-path-regex "^0.1.0" 2051 | 2052 | is-utf8@^0.2.0: 2053 | version "0.2.1" 2054 | resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" 2055 | 2056 | is-valid-glob@^0.3.0: 2057 | version "0.3.0" 2058 | resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-0.3.0.tgz#d4b55c69f51886f9b65c70d6c2622d37e29f48fe" 2059 | 2060 | is-whitespace-character@^1.0.0: 2061 | version "1.0.0" 2062 | resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.0.tgz#bbf4a83764ead0d451bec2a55218e91961adc275" 2063 | 2064 | is-windows@^0.2.0: 2065 | version "0.2.0" 2066 | resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c" 2067 | 2068 | is-word-character@^1.0.0: 2069 | version "1.0.0" 2070 | resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.0.tgz#a3a9e5ddad70c5c2ee36f4a9cfc9a53f44535247" 2071 | 2072 | isarray@0.0.1: 2073 | version "0.0.1" 2074 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" 2075 | 2076 | isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: 2077 | version "1.0.0" 2078 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 2079 | 2080 | isexe@^2.0.0: 2081 | version "2.0.0" 2082 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 2083 | 2084 | isobject@^2.0.0: 2085 | version "2.1.0" 2086 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" 2087 | dependencies: 2088 | isarray "1.0.0" 2089 | 2090 | isstream@~0.1.2: 2091 | version "0.1.2" 2092 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 2093 | 2094 | js-tokens@^3.0.0: 2095 | version "3.0.2" 2096 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" 2097 | 2098 | js-yaml@^3.3.1, js-yaml@^3.4.3: 2099 | version "3.13.1" 2100 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" 2101 | dependencies: 2102 | argparse "^1.0.7" 2103 | esprima "^4.0.0" 2104 | 2105 | jsbn@~0.1.0: 2106 | version "0.1.1" 2107 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" 2108 | 2109 | jsesc@^1.3.0: 2110 | version "1.3.0" 2111 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" 2112 | 2113 | jsesc@~0.5.0: 2114 | version "0.5.0" 2115 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" 2116 | 2117 | json-schema@0.2.3: 2118 | version "0.2.3" 2119 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" 2120 | 2121 | json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: 2122 | version "1.0.1" 2123 | resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" 2124 | dependencies: 2125 | jsonify "~0.0.0" 2126 | 2127 | json-stringify-safe@~5.0.1: 2128 | version "5.0.1" 2129 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 2130 | 2131 | json5@^0.5.0: 2132 | version "0.5.1" 2133 | resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" 2134 | 2135 | jsonfile@^3.0.0: 2136 | version "3.0.0" 2137 | resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-3.0.0.tgz#92e7c7444e5ffd5fa32e6a9ae8b85034df8347d0" 2138 | optionalDependencies: 2139 | graceful-fs "^4.1.6" 2140 | 2141 | jsonify@~0.0.0: 2142 | version "0.0.0" 2143 | resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" 2144 | 2145 | jsonparse@^1.2.0: 2146 | version "1.3.1" 2147 | resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" 2148 | 2149 | jsprim@^1.2.2: 2150 | version "1.4.0" 2151 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918" 2152 | dependencies: 2153 | assert-plus "1.0.0" 2154 | extsprintf "1.0.2" 2155 | json-schema "0.2.3" 2156 | verror "1.3.6" 2157 | 2158 | kebab-case@^1.0.0: 2159 | version "1.0.0" 2160 | resolved "https://registry.yarnpkg.com/kebab-case/-/kebab-case-1.0.0.tgz#3f9e4990adcad0c686c0e701f7645868f75f91eb" 2161 | 2162 | kefir@^3.2.0: 2163 | version "3.7.2" 2164 | resolved "https://registry.yarnpkg.com/kefir/-/kefir-3.7.2.tgz#fb713ecc0b24d741964e0b3e308026fae5c0806d" 2165 | dependencies: 2166 | symbol-observable "1.0.4" 2167 | 2168 | kind-of@^3.0.2: 2169 | version "3.2.2" 2170 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" 2171 | dependencies: 2172 | is-buffer "^1.1.5" 2173 | 2174 | kind-of@^4.0.0: 2175 | version "4.0.0" 2176 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" 2177 | dependencies: 2178 | is-buffer "^1.1.5" 2179 | 2180 | lazystream@^1.0.0: 2181 | version "1.0.0" 2182 | resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" 2183 | dependencies: 2184 | readable-stream "^2.0.5" 2185 | 2186 | lcid@^1.0.0: 2187 | version "1.0.0" 2188 | resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" 2189 | dependencies: 2190 | invert-kv "^1.0.0" 2191 | 2192 | lint-staged@^4.0.0: 2193 | version "4.0.0" 2194 | resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-4.0.0.tgz#c15669f598614a6e68090303e175a799d48e0d85" 2195 | dependencies: 2196 | app-root-path "^2.0.0" 2197 | cosmiconfig "^1.1.0" 2198 | execa "^0.7.0" 2199 | listr "^0.12.0" 2200 | lodash.chunk "^4.2.0" 2201 | minimatch "^3.0.0" 2202 | npm-which "^3.0.1" 2203 | p-map "^1.1.1" 2204 | staged-git-files "0.0.4" 2205 | 2206 | listr-silent-renderer@^1.1.1: 2207 | version "1.1.1" 2208 | resolved "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e" 2209 | 2210 | listr-update-renderer@^0.2.0: 2211 | version "0.2.0" 2212 | resolved "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.2.0.tgz#ca80e1779b4e70266807e8eed1ad6abe398550f9" 2213 | dependencies: 2214 | chalk "^1.1.3" 2215 | cli-truncate "^0.2.1" 2216 | elegant-spinner "^1.0.1" 2217 | figures "^1.7.0" 2218 | indent-string "^3.0.0" 2219 | log-symbols "^1.0.2" 2220 | log-update "^1.0.2" 2221 | strip-ansi "^3.0.1" 2222 | 2223 | listr-verbose-renderer@^0.4.0: 2224 | version "0.4.0" 2225 | resolved "https://registry.yarnpkg.com/listr-verbose-renderer/-/listr-verbose-renderer-0.4.0.tgz#44dc01bb0c34a03c572154d4d08cde9b1dc5620f" 2226 | dependencies: 2227 | chalk "^1.1.3" 2228 | cli-cursor "^1.0.2" 2229 | date-fns "^1.27.2" 2230 | figures "^1.7.0" 2231 | 2232 | listr@^0.12.0: 2233 | version "0.12.0" 2234 | resolved "https://registry.yarnpkg.com/listr/-/listr-0.12.0.tgz#6bce2c0f5603fa49580ea17cd6a00cc0e5fa451a" 2235 | dependencies: 2236 | chalk "^1.1.3" 2237 | cli-truncate "^0.2.1" 2238 | figures "^1.7.0" 2239 | indent-string "^2.1.0" 2240 | is-promise "^2.1.0" 2241 | is-stream "^1.1.0" 2242 | listr-silent-renderer "^1.1.1" 2243 | listr-update-renderer "^0.2.0" 2244 | listr-verbose-renderer "^0.4.0" 2245 | log-symbols "^1.0.2" 2246 | log-update "^1.0.2" 2247 | ora "^0.2.3" 2248 | p-map "^1.1.1" 2249 | rxjs "^5.0.0-beta.11" 2250 | stream-to-observable "^0.1.0" 2251 | strip-ansi "^3.0.1" 2252 | 2253 | livereload-js@^2.2.2: 2254 | version "2.2.2" 2255 | resolved "https://registry.yarnpkg.com/livereload-js/-/livereload-js-2.2.2.tgz#6c87257e648ab475bc24ea257457edcc1f8d0bc2" 2256 | 2257 | load-json-file@^1.0.0: 2258 | version "1.1.0" 2259 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" 2260 | dependencies: 2261 | graceful-fs "^4.1.2" 2262 | parse-json "^2.2.0" 2263 | pify "^2.0.0" 2264 | pinkie-promise "^2.0.0" 2265 | strip-bom "^2.0.0" 2266 | 2267 | load-json-file@^2.0.0: 2268 | version "2.0.0" 2269 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" 2270 | dependencies: 2271 | graceful-fs "^4.1.2" 2272 | parse-json "^2.2.0" 2273 | pify "^2.0.0" 2274 | strip-bom "^3.0.0" 2275 | 2276 | locate-path@^2.0.0: 2277 | version "2.0.0" 2278 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" 2279 | dependencies: 2280 | p-locate "^2.0.0" 2281 | path-exists "^3.0.0" 2282 | 2283 | lodash.chunk@^4.2.0: 2284 | version "4.2.0" 2285 | resolved "https://registry.yarnpkg.com/lodash.chunk/-/lodash.chunk-4.2.0.tgz#66e5ce1f76ed27b4303d8c6512e8d1216e8106bc" 2286 | 2287 | lodash.isequal@^4.0.0: 2288 | version "4.5.0" 2289 | resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" 2290 | 2291 | lodash@^4.11.1, lodash@^4.2.0: 2292 | version "4.17.15" 2293 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" 2294 | 2295 | log-symbols@^1.0.2: 2296 | version "1.0.2" 2297 | resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" 2298 | dependencies: 2299 | chalk "^1.0.0" 2300 | 2301 | log-update@^1.0.2: 2302 | version "1.0.2" 2303 | resolved "https://registry.yarnpkg.com/log-update/-/log-update-1.0.2.tgz#19929f64c4093d2d2e7075a1dad8af59c296b8d1" 2304 | dependencies: 2305 | ansi-escapes "^1.0.0" 2306 | cli-cursor "^1.0.2" 2307 | 2308 | longest-streak@^2.0.1: 2309 | version "2.0.1" 2310 | resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.1.tgz#42d291b5411e40365c00e63193497e2247316e35" 2311 | 2312 | loose-envify@^1.0.0: 2313 | version "1.3.1" 2314 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" 2315 | dependencies: 2316 | js-tokens "^3.0.0" 2317 | 2318 | lru-cache@^4.0.1: 2319 | version "4.1.1" 2320 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" 2321 | dependencies: 2322 | pseudomap "^1.0.2" 2323 | yallist "^2.1.2" 2324 | 2325 | map-cache@^0.2.0: 2326 | version "0.2.2" 2327 | resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" 2328 | 2329 | markdown-escapes@^1.0.0: 2330 | version "1.0.0" 2331 | resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.0.tgz#c8ca19f1d94d682459e0a93c86db27a7ef716b23" 2332 | 2333 | markdown-table@^1.1.0: 2334 | version "1.1.0" 2335 | resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-1.1.0.tgz#1f5ae61659ced8808d882554c32e8b3f38dd1143" 2336 | 2337 | mdast-util-compact@^1.0.0: 2338 | version "1.0.1" 2339 | resolved "https://registry.yarnpkg.com/mdast-util-compact/-/mdast-util-compact-1.0.1.tgz#cdb5f84e2b6a2d3114df33bd05d9cb32e3c4083a" 2340 | dependencies: 2341 | unist-util-modify-children "^1.0.0" 2342 | unist-util-visit "^1.1.0" 2343 | 2344 | mdast-util-definitions@^1.2.0: 2345 | version "1.2.2" 2346 | resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-1.2.2.tgz#673f4377c3e23d3de7af7a4fe2214c0e221c5ac7" 2347 | dependencies: 2348 | unist-util-visit "^1.0.0" 2349 | 2350 | mdast-util-inject@^1.1.0: 2351 | version "1.1.0" 2352 | resolved "https://registry.yarnpkg.com/mdast-util-inject/-/mdast-util-inject-1.1.0.tgz#db06b8b585be959a2dcd2f87f472ba9b756f3675" 2353 | dependencies: 2354 | mdast-util-to-string "^1.0.0" 2355 | 2356 | mdast-util-to-hast@^2.1.1: 2357 | version "2.4.2" 2358 | resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-2.4.2.tgz#f116e8bf3da772ba5a397a92dab090f5ba91caa0" 2359 | dependencies: 2360 | collapse-white-space "^1.0.0" 2361 | detab "^2.0.0" 2362 | mdast-util-definitions "^1.2.0" 2363 | normalize-uri "^1.0.0" 2364 | trim "0.0.1" 2365 | trim-lines "^1.0.0" 2366 | unist-builder "^1.0.1" 2367 | unist-util-generated "^1.1.0" 2368 | unist-util-position "^3.0.0" 2369 | unist-util-visit "^1.1.0" 2370 | xtend "^4.0.1" 2371 | 2372 | mdast-util-to-string@^1.0.0, mdast-util-to-string@^1.0.2: 2373 | version "1.0.4" 2374 | resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.0.4.tgz#5c455c878c9355f0c1e7f3e8b719cf583691acfb" 2375 | 2376 | mdast-util-toc@^2.0.0: 2377 | version "2.0.1" 2378 | resolved "https://registry.yarnpkg.com/mdast-util-toc/-/mdast-util-toc-2.0.1.tgz#b1d2cb23bfb01f812fa7b55bffe8b0a8bedf6f21" 2379 | dependencies: 2380 | github-slugger "^1.1.1" 2381 | mdast-util-to-string "^1.0.2" 2382 | unist-util-visit "^1.1.0" 2383 | 2384 | mem@^1.1.0: 2385 | version "1.1.0" 2386 | resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" 2387 | dependencies: 2388 | mimic-fn "^1.0.0" 2389 | 2390 | merge-stream@^1.0.0: 2391 | version "1.0.1" 2392 | resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" 2393 | dependencies: 2394 | readable-stream "^2.0.1" 2395 | 2396 | micromatch@^2.1.5, micromatch@^2.1.6, micromatch@^2.3.7: 2397 | version "2.3.11" 2398 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" 2399 | dependencies: 2400 | arr-diff "^2.0.0" 2401 | array-unique "^0.2.1" 2402 | braces "^1.8.2" 2403 | expand-brackets "^0.1.4" 2404 | extglob "^0.3.1" 2405 | filename-regex "^2.0.0" 2406 | is-extglob "^1.0.0" 2407 | is-glob "^2.0.1" 2408 | kind-of "^3.0.2" 2409 | normalize-path "^2.0.1" 2410 | object.omit "^2.0.0" 2411 | parse-glob "^3.0.4" 2412 | regex-cache "^0.4.2" 2413 | 2414 | mime-db@~1.27.0: 2415 | version "1.27.0" 2416 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1" 2417 | 2418 | mime-types@^2.1.12, mime-types@~2.1.7: 2419 | version "2.1.15" 2420 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed" 2421 | dependencies: 2422 | mime-db "~1.27.0" 2423 | 2424 | mime@^1.3.4: 2425 | version "1.6.0" 2426 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" 2427 | 2428 | mimic-fn@^1.0.0: 2429 | version "1.1.0" 2430 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" 2431 | 2432 | "minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4: 2433 | version "3.0.4" 2434 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 2435 | dependencies: 2436 | brace-expansion "^1.1.7" 2437 | 2438 | minimist@0.0.8: 2439 | version "0.0.8" 2440 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 2441 | 2442 | minimist@^1.1.0, minimist@^1.2.0, minimist@~1.2.0: 2443 | version "1.2.0" 2444 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 2445 | 2446 | "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1: 2447 | version "0.5.1" 2448 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 2449 | dependencies: 2450 | minimist "0.0.8" 2451 | 2452 | module-deps-sortable@4.0.6: 2453 | version "4.0.6" 2454 | resolved "https://registry.yarnpkg.com/module-deps-sortable/-/module-deps-sortable-4.0.6.tgz#1251a4ba2c44a92df6989bd029da121a4f2109b0" 2455 | dependencies: 2456 | JSONStream "^1.0.3" 2457 | browser-resolve "^1.7.0" 2458 | concat-stream "~1.5.0" 2459 | defined "^1.0.0" 2460 | detective "^4.0.0" 2461 | duplexer2 "^0.1.2" 2462 | inherits "^2.0.1" 2463 | parents "^1.0.0" 2464 | readable-stream "^2.0.2" 2465 | resolve "^1.1.3" 2466 | stream-combiner2 "^1.1.1" 2467 | subarg "^1.0.0" 2468 | through2 "^2.0.0" 2469 | xtend "^4.0.0" 2470 | 2471 | ms@2.0.0: 2472 | version "2.0.0" 2473 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 2474 | 2475 | nan@^2.3.0: 2476 | version "2.6.2" 2477 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45" 2478 | 2479 | node-pre-gyp@^0.6.36: 2480 | version "0.6.36" 2481 | resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.36.tgz#db604112cb74e0d477554e9b505b17abddfab786" 2482 | dependencies: 2483 | mkdirp "^0.5.1" 2484 | nopt "^4.0.1" 2485 | npmlog "^4.0.2" 2486 | rc "^1.1.7" 2487 | request "^2.81.0" 2488 | rimraf "^2.6.1" 2489 | semver "^5.3.0" 2490 | tar "^2.2.1" 2491 | tar-pack "^3.4.0" 2492 | 2493 | nopt@^4.0.1: 2494 | version "4.0.1" 2495 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" 2496 | dependencies: 2497 | abbrev "1" 2498 | osenv "^0.1.4" 2499 | 2500 | normalize-package-data@^2.3.2: 2501 | version "2.4.0" 2502 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" 2503 | dependencies: 2504 | hosted-git-info "^2.1.4" 2505 | is-builtin-module "^1.0.0" 2506 | semver "2 || 3 || 4 || 5" 2507 | validate-npm-package-license "^3.0.1" 2508 | 2509 | normalize-path@^1.0.0: 2510 | version "1.0.0" 2511 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-1.0.0.tgz#32d0e472f91ff345701c15a8311018d3b0a90379" 2512 | 2513 | normalize-path@^2.0.1: 2514 | version "2.1.1" 2515 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" 2516 | dependencies: 2517 | remove-trailing-separator "^1.0.1" 2518 | 2519 | normalize-uri@^1.0.0: 2520 | version "1.1.0" 2521 | resolved "https://registry.yarnpkg.com/normalize-uri/-/normalize-uri-1.1.0.tgz#01fb440c7fd059b9d9be8645aac14341efd059dd" 2522 | 2523 | npm-path@^2.0.2: 2524 | version "2.0.3" 2525 | resolved "https://registry.yarnpkg.com/npm-path/-/npm-path-2.0.3.tgz#15cff4e1c89a38da77f56f6055b24f975dfb2bbe" 2526 | dependencies: 2527 | which "^1.2.10" 2528 | 2529 | npm-run-path@^2.0.0: 2530 | version "2.0.2" 2531 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" 2532 | dependencies: 2533 | path-key "^2.0.0" 2534 | 2535 | npm-which@^3.0.1: 2536 | version "3.0.1" 2537 | resolved "https://registry.yarnpkg.com/npm-which/-/npm-which-3.0.1.tgz#9225f26ec3a285c209cae67c3b11a6b4ab7140aa" 2538 | dependencies: 2539 | commander "^2.9.0" 2540 | npm-path "^2.0.2" 2541 | which "^1.2.10" 2542 | 2543 | npmlog@^4.0.2: 2544 | version "4.1.2" 2545 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" 2546 | dependencies: 2547 | are-we-there-yet "~1.1.2" 2548 | console-control-strings "~1.1.0" 2549 | gauge "~2.7.3" 2550 | set-blocking "~2.0.0" 2551 | 2552 | number-is-nan@^1.0.0: 2553 | version "1.0.1" 2554 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 2555 | 2556 | oauth-sign@~0.8.1: 2557 | version "0.8.2" 2558 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" 2559 | 2560 | object-assign@^4.0.0, object-assign@^4.0.1, object-assign@^4.1.0: 2561 | version "4.1.1" 2562 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 2563 | 2564 | object-inspect@~1.2.2: 2565 | version "1.2.2" 2566 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.2.2.tgz#c82115e4fcc888aea14d64c22e4f17f6a70d5e5a" 2567 | 2568 | object-keys@^1.0.8: 2569 | version "1.0.11" 2570 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" 2571 | 2572 | object.omit@^2.0.0: 2573 | version "2.0.1" 2574 | resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" 2575 | dependencies: 2576 | for-own "^0.1.4" 2577 | is-extendable "^0.1.1" 2578 | 2579 | once@^1.3.0, once@^1.3.3: 2580 | version "1.4.0" 2581 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 2582 | dependencies: 2583 | wrappy "1" 2584 | 2585 | once@~1.3.0: 2586 | version "1.3.3" 2587 | resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" 2588 | dependencies: 2589 | wrappy "1" 2590 | 2591 | onetime@^1.0.0: 2592 | version "1.1.0" 2593 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" 2594 | 2595 | ora@^0.2.3: 2596 | version "0.2.3" 2597 | resolved "https://registry.yarnpkg.com/ora/-/ora-0.2.3.tgz#37527d220adcd53c39b73571d754156d5db657a4" 2598 | dependencies: 2599 | chalk "^1.1.1" 2600 | cli-cursor "^1.0.2" 2601 | cli-spinners "^0.1.2" 2602 | object-assign "^4.0.1" 2603 | 2604 | ordered-read-streams@^0.3.0: 2605 | version "0.3.0" 2606 | resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz#7137e69b3298bb342247a1bbee3881c80e2fd78b" 2607 | dependencies: 2608 | is-stream "^1.0.1" 2609 | readable-stream "^2.0.1" 2610 | 2611 | os-homedir@^1.0.0, os-homedir@^1.0.1: 2612 | version "1.0.2" 2613 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 2614 | 2615 | os-locale@^1.4.0: 2616 | version "1.4.0" 2617 | resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" 2618 | dependencies: 2619 | lcid "^1.0.0" 2620 | 2621 | os-locale@^2.0.0: 2622 | version "2.0.0" 2623 | resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.0.0.tgz#15918ded510522b81ee7ae5a309d54f639fc39a4" 2624 | dependencies: 2625 | execa "^0.5.0" 2626 | lcid "^1.0.0" 2627 | mem "^1.1.0" 2628 | 2629 | os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: 2630 | version "1.0.2" 2631 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 2632 | 2633 | osenv@^0.1.4: 2634 | version "0.1.4" 2635 | resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" 2636 | dependencies: 2637 | os-homedir "^1.0.0" 2638 | os-tmpdir "^1.0.0" 2639 | 2640 | output-file-sync@^1.1.0: 2641 | version "1.1.2" 2642 | resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-1.1.2.tgz#d0a33eefe61a205facb90092e826598d5245ce76" 2643 | dependencies: 2644 | graceful-fs "^4.1.4" 2645 | mkdirp "^0.5.1" 2646 | object-assign "^4.1.0" 2647 | 2648 | p-finally@^1.0.0: 2649 | version "1.0.0" 2650 | resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" 2651 | 2652 | p-limit@^1.1.0: 2653 | version "1.1.0" 2654 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc" 2655 | 2656 | p-locate@^2.0.0: 2657 | version "2.0.0" 2658 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" 2659 | dependencies: 2660 | p-limit "^1.1.0" 2661 | 2662 | p-map@^1.1.1: 2663 | version "1.1.1" 2664 | resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.1.1.tgz#05f5e4ae97a068371bc2a5cc86bfbdbc19c4ae7a" 2665 | 2666 | parents@^1.0.0: 2667 | version "1.0.1" 2668 | resolved "https://registry.yarnpkg.com/parents/-/parents-1.0.1.tgz#fedd4d2bf193a77745fe71e371d73c3307d9c751" 2669 | dependencies: 2670 | path-platform "~0.11.15" 2671 | 2672 | parse-entities@^1.0.2: 2673 | version "1.1.1" 2674 | resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-1.1.1.tgz#8112d88471319f27abae4d64964b122fe4e1b890" 2675 | dependencies: 2676 | character-entities "^1.0.0" 2677 | character-entities-legacy "^1.0.0" 2678 | character-reference-invalid "^1.0.0" 2679 | is-alphanumerical "^1.0.0" 2680 | is-decimal "^1.0.0" 2681 | is-hexadecimal "^1.0.0" 2682 | 2683 | parse-filepath@^1.0.1: 2684 | version "1.0.1" 2685 | resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.1.tgz#159d6155d43904d16c10ef698911da1e91969b73" 2686 | dependencies: 2687 | is-absolute "^0.2.3" 2688 | map-cache "^0.2.0" 2689 | path-root "^0.1.1" 2690 | 2691 | parse-git-config@^0.2.0: 2692 | version "0.2.0" 2693 | resolved "https://registry.yarnpkg.com/parse-git-config/-/parse-git-config-0.2.0.tgz#272833fdd15fea146fb75d336d236b963b6ff706" 2694 | dependencies: 2695 | ini "^1.3.3" 2696 | 2697 | parse-glob@^3.0.4: 2698 | version "3.0.4" 2699 | resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" 2700 | dependencies: 2701 | glob-base "^0.3.0" 2702 | is-dotfile "^1.0.0" 2703 | is-extglob "^1.0.0" 2704 | is-glob "^2.0.0" 2705 | 2706 | parse-json@^2.2.0: 2707 | version "2.2.0" 2708 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" 2709 | dependencies: 2710 | error-ex "^1.2.0" 2711 | 2712 | parse-url@^1.3.0: 2713 | version "1.3.11" 2714 | resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-1.3.11.tgz#57c15428ab8a892b1f43869645c711d0e144b554" 2715 | dependencies: 2716 | is-ssh "^1.3.0" 2717 | protocols "^1.4.0" 2718 | 2719 | path-dirname@^1.0.0: 2720 | version "1.0.2" 2721 | resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" 2722 | 2723 | path-exists@^2.0.0: 2724 | version "2.1.0" 2725 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" 2726 | dependencies: 2727 | pinkie-promise "^2.0.0" 2728 | 2729 | path-exists@^3.0.0: 2730 | version "3.0.0" 2731 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 2732 | 2733 | path-is-absolute@^1.0.0: 2734 | version "1.0.1" 2735 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 2736 | 2737 | path-key@^2.0.0: 2738 | version "2.0.1" 2739 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 2740 | 2741 | path-parse@^1.0.5: 2742 | version "1.0.5" 2743 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" 2744 | 2745 | path-platform@~0.11.15: 2746 | version "0.11.15" 2747 | resolved "https://registry.yarnpkg.com/path-platform/-/path-platform-0.11.15.tgz#e864217f74c36850f0852b78dc7bf7d4a5721bf2" 2748 | 2749 | path-root-regex@^0.1.0: 2750 | version "0.1.2" 2751 | resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" 2752 | 2753 | path-root@^0.1.1: 2754 | version "0.1.1" 2755 | resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" 2756 | dependencies: 2757 | path-root-regex "^0.1.0" 2758 | 2759 | path-type@^1.0.0: 2760 | version "1.1.0" 2761 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" 2762 | dependencies: 2763 | graceful-fs "^4.1.2" 2764 | pify "^2.0.0" 2765 | pinkie-promise "^2.0.0" 2766 | 2767 | path-type@^2.0.0: 2768 | version "2.0.0" 2769 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" 2770 | dependencies: 2771 | pify "^2.0.0" 2772 | 2773 | performance-now@^0.2.0: 2774 | version "0.2.0" 2775 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" 2776 | 2777 | pify@^2.0.0, pify@^2.3.0: 2778 | version "2.3.0" 2779 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" 2780 | 2781 | pinkie-promise@^2.0.0: 2782 | version "2.0.1" 2783 | resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" 2784 | dependencies: 2785 | pinkie "^2.0.0" 2786 | 2787 | pinkie@^2.0.0: 2788 | version "2.0.4" 2789 | resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" 2790 | 2791 | plur@^2.0.0: 2792 | version "2.1.2" 2793 | resolved "https://registry.yarnpkg.com/plur/-/plur-2.1.2.tgz#7482452c1a0f508e3e344eaec312c91c29dc655a" 2794 | dependencies: 2795 | irregular-plurals "^1.0.0" 2796 | 2797 | preserve@^0.2.0: 2798 | version "0.2.0" 2799 | resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" 2800 | 2801 | prettier@^1.4.4: 2802 | version "1.5.2" 2803 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.5.2.tgz#7ea0751da27b93bfb6cecfcec509994f52d83bb3" 2804 | 2805 | private@^0.1.6: 2806 | version "0.1.7" 2807 | resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1" 2808 | 2809 | process-nextick-args@^1.0.6, process-nextick-args@~1.0.6: 2810 | version "1.0.7" 2811 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" 2812 | 2813 | property-information@^3.1.0: 2814 | version "3.2.0" 2815 | resolved "https://registry.yarnpkg.com/property-information/-/property-information-3.2.0.tgz#fd1483c8fbac61808f5fe359e7693a1f48a58331" 2816 | 2817 | protocols@^1.1.0, protocols@^1.4.0: 2818 | version "1.4.5" 2819 | resolved "https://registry.yarnpkg.com/protocols/-/protocols-1.4.5.tgz#21de1f441c4ef7094408ed9f1c94f7a114b87557" 2820 | 2821 | pseudomap@^1.0.2: 2822 | version "1.0.2" 2823 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" 2824 | 2825 | punycode@^1.4.1: 2826 | version "1.4.1" 2827 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 2828 | 2829 | qs@^6.4.0: 2830 | version "6.5.0" 2831 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.0.tgz#8d04954d364def3efc55b5a0793e1e2c8b1e6e49" 2832 | 2833 | qs@~6.4.0: 2834 | version "6.4.0" 2835 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" 2836 | 2837 | randomatic@^1.1.3: 2838 | version "1.1.7" 2839 | resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" 2840 | dependencies: 2841 | is-number "^3.0.0" 2842 | kind-of "^4.0.0" 2843 | 2844 | raw-body@~1.1.0: 2845 | version "1.1.7" 2846 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-1.1.7.tgz#1d027c2bfa116acc6623bca8f00016572a87d425" 2847 | dependencies: 2848 | bytes "1" 2849 | string_decoder "0.10" 2850 | 2851 | rc@^1.1.7: 2852 | version "1.2.1" 2853 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95" 2854 | dependencies: 2855 | deep-extend "~0.4.0" 2856 | ini "~1.3.0" 2857 | minimist "^1.2.0" 2858 | strip-json-comments "~2.0.1" 2859 | 2860 | read-pkg-up@^1.0.1: 2861 | version "1.0.1" 2862 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" 2863 | dependencies: 2864 | find-up "^1.0.0" 2865 | read-pkg "^1.0.0" 2866 | 2867 | read-pkg-up@^2.0.0: 2868 | version "2.0.0" 2869 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" 2870 | dependencies: 2871 | find-up "^2.0.0" 2872 | read-pkg "^2.0.0" 2873 | 2874 | read-pkg@^1.0.0: 2875 | version "1.1.0" 2876 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" 2877 | dependencies: 2878 | load-json-file "^1.0.0" 2879 | normalize-package-data "^2.3.2" 2880 | path-type "^1.0.0" 2881 | 2882 | read-pkg@^2.0.0: 2883 | version "2.0.0" 2884 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" 2885 | dependencies: 2886 | load-json-file "^2.0.0" 2887 | normalize-package-data "^2.3.2" 2888 | path-type "^2.0.0" 2889 | 2890 | "readable-stream@>=1.0.33-1 <1.1.0-0": 2891 | version "1.0.34" 2892 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" 2893 | dependencies: 2894 | core-util-is "~1.0.0" 2895 | inherits "~2.0.1" 2896 | isarray "0.0.1" 2897 | string_decoder "~0.10.x" 2898 | 2899 | readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2: 2900 | version "2.3.3" 2901 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" 2902 | dependencies: 2903 | core-util-is "~1.0.0" 2904 | inherits "~2.0.3" 2905 | isarray "~1.0.0" 2906 | process-nextick-args "~1.0.6" 2907 | safe-buffer "~5.1.1" 2908 | string_decoder "~1.0.3" 2909 | util-deprecate "~1.0.1" 2910 | 2911 | readable-stream@~2.0.0: 2912 | version "2.0.6" 2913 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" 2914 | dependencies: 2915 | core-util-is "~1.0.0" 2916 | inherits "~2.0.1" 2917 | isarray "~1.0.0" 2918 | process-nextick-args "~1.0.6" 2919 | string_decoder "~0.10.x" 2920 | util-deprecate "~1.0.1" 2921 | 2922 | readable-stream@~2.1.0: 2923 | version "2.1.5" 2924 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" 2925 | dependencies: 2926 | buffer-shims "^1.0.0" 2927 | core-util-is "~1.0.0" 2928 | inherits "~2.0.1" 2929 | isarray "~1.0.0" 2930 | process-nextick-args "~1.0.6" 2931 | string_decoder "~0.10.x" 2932 | util-deprecate "~1.0.1" 2933 | 2934 | readdirp@^2.0.0: 2935 | version "2.1.0" 2936 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" 2937 | dependencies: 2938 | graceful-fs "^4.1.2" 2939 | minimatch "^3.0.2" 2940 | readable-stream "^2.0.2" 2941 | set-immediate-shim "^1.0.1" 2942 | 2943 | rechoir@^0.6.2: 2944 | version "0.6.2" 2945 | resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" 2946 | dependencies: 2947 | resolve "^1.1.6" 2948 | 2949 | reflex-driver@^1.0.2: 2950 | version "1.0.2" 2951 | resolved "https://registry.yarnpkg.com/reflex-driver/-/reflex-driver-1.0.2.tgz#d1be5c51f01587aa38fd9bf5fabb5ec08c9b91b4" 2952 | 2953 | regenerate@^1.2.1: 2954 | version "1.3.2" 2955 | resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260" 2956 | 2957 | regenerator-runtime@^0.10.0: 2958 | version "0.10.5" 2959 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" 2960 | 2961 | regenerator-transform@0.9.11: 2962 | version "0.9.11" 2963 | resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.11.tgz#3a7d067520cb7b7176769eb5ff868691befe1283" 2964 | dependencies: 2965 | babel-runtime "^6.18.0" 2966 | babel-types "^6.19.0" 2967 | private "^0.1.6" 2968 | 2969 | regex-cache@^0.4.2: 2970 | version "0.4.3" 2971 | resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" 2972 | dependencies: 2973 | is-equal-shallow "^0.1.3" 2974 | is-primitive "^2.0.0" 2975 | 2976 | regexpu-core@^2.0.0: 2977 | version "2.0.0" 2978 | resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" 2979 | dependencies: 2980 | regenerate "^1.2.1" 2981 | regjsgen "^0.2.0" 2982 | regjsparser "^0.1.4" 2983 | 2984 | regjsgen@^0.2.0: 2985 | version "0.2.0" 2986 | resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" 2987 | 2988 | regjsparser@^0.1.4: 2989 | version "0.1.5" 2990 | resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" 2991 | dependencies: 2992 | jsesc "~0.5.0" 2993 | 2994 | remark-html@6.0.0: 2995 | version "6.0.0" 2996 | resolved "https://registry.yarnpkg.com/remark-html/-/remark-html-6.0.0.tgz#ade7d94b60e452158f28615218450682601dbfc1" 2997 | dependencies: 2998 | hast-util-sanitize "^1.0.0" 2999 | hast-util-to-html "^3.0.0" 3000 | mdast-util-to-hast "^2.1.1" 3001 | xtend "^4.0.1" 3002 | 3003 | remark-parse@^3.0.0: 3004 | version "3.0.1" 3005 | resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-3.0.1.tgz#1b9f841a44d8f4fbf2246850265459a4eb354c80" 3006 | dependencies: 3007 | collapse-white-space "^1.0.2" 3008 | has "^1.0.1" 3009 | is-alphabetical "^1.0.0" 3010 | is-decimal "^1.0.0" 3011 | is-whitespace-character "^1.0.0" 3012 | is-word-character "^1.0.0" 3013 | markdown-escapes "^1.0.0" 3014 | parse-entities "^1.0.2" 3015 | repeat-string "^1.5.4" 3016 | state-toggle "^1.0.0" 3017 | trim "0.0.1" 3018 | trim-trailing-lines "^1.0.0" 3019 | unherit "^1.0.4" 3020 | unist-util-remove-position "^1.0.0" 3021 | vfile-location "^2.0.0" 3022 | xtend "^4.0.1" 3023 | 3024 | remark-slug@^4.0.0: 3025 | version "4.2.3" 3026 | resolved "https://registry.yarnpkg.com/remark-slug/-/remark-slug-4.2.3.tgz#8d987d0e5e63d4a49ea37b90fe999a3dcfc81b72" 3027 | dependencies: 3028 | github-slugger "^1.0.0" 3029 | mdast-util-to-string "^1.0.0" 3030 | unist-util-visit "^1.0.0" 3031 | 3032 | remark-stringify@^3.0.0: 3033 | version "3.0.1" 3034 | resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-3.0.1.tgz#79242bebe0a752081b5809516fa0c06edec069cf" 3035 | dependencies: 3036 | ccount "^1.0.0" 3037 | is-alphanumeric "^1.0.0" 3038 | is-decimal "^1.0.0" 3039 | is-whitespace-character "^1.0.0" 3040 | longest-streak "^2.0.1" 3041 | markdown-escapes "^1.0.0" 3042 | markdown-table "^1.1.0" 3043 | mdast-util-compact "^1.0.0" 3044 | parse-entities "^1.0.2" 3045 | repeat-string "^1.5.4" 3046 | state-toggle "^1.0.0" 3047 | stringify-entities "^1.0.1" 3048 | unherit "^1.0.4" 3049 | xtend "^4.0.1" 3050 | 3051 | remark-toc@^4.0.0: 3052 | version "4.0.1" 3053 | resolved "https://registry.yarnpkg.com/remark-toc/-/remark-toc-4.0.1.tgz#ff36ff6de54ea07dd59e3f5334a4a3aac1e93185" 3054 | dependencies: 3055 | mdast-util-toc "^2.0.0" 3056 | remark-slug "^4.0.0" 3057 | 3058 | remark@^7.0.0: 3059 | version "7.0.1" 3060 | resolved "https://registry.yarnpkg.com/remark/-/remark-7.0.1.tgz#a5de4dacfabf0f60a49826ef24c479807f904bfb" 3061 | dependencies: 3062 | remark-parse "^3.0.0" 3063 | remark-stringify "^3.0.0" 3064 | unified "^6.0.0" 3065 | 3066 | remote-origin-url@0.4.0: 3067 | version "0.4.0" 3068 | resolved "https://registry.yarnpkg.com/remote-origin-url/-/remote-origin-url-0.4.0.tgz#4d3e2902f34e2d37d1c263d87710b77eb4086a30" 3069 | dependencies: 3070 | parse-git-config "^0.2.0" 3071 | 3072 | remove-trailing-separator@^1.0.1: 3073 | version "1.0.2" 3074 | resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.0.2.tgz#69b062d978727ad14dc6b56ba4ab772fd8d70511" 3075 | 3076 | repeat-element@^1.1.2: 3077 | version "1.1.2" 3078 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" 3079 | 3080 | repeat-string@^1.5.0, repeat-string@^1.5.2, repeat-string@^1.5.4: 3081 | version "1.6.1" 3082 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" 3083 | 3084 | repeating@^2.0.0: 3085 | version "2.0.1" 3086 | resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" 3087 | dependencies: 3088 | is-finite "^1.0.0" 3089 | 3090 | replace-ext@0.0.1: 3091 | version "0.0.1" 3092 | resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" 3093 | 3094 | replace-ext@1.0.0, replace-ext@^1.0.0: 3095 | version "1.0.0" 3096 | resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" 3097 | 3098 | request@^2.81.0: 3099 | version "2.81.0" 3100 | resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" 3101 | dependencies: 3102 | aws-sign2 "~0.6.0" 3103 | aws4 "^1.2.1" 3104 | caseless "~0.12.0" 3105 | combined-stream "~1.0.5" 3106 | extend "~3.0.0" 3107 | forever-agent "~0.6.1" 3108 | form-data "~2.1.1" 3109 | har-validator "~4.2.1" 3110 | hawk "~3.1.3" 3111 | http-signature "~1.1.0" 3112 | is-typedarray "~1.0.0" 3113 | isstream "~0.1.2" 3114 | json-stringify-safe "~5.0.1" 3115 | mime-types "~2.1.7" 3116 | oauth-sign "~0.8.1" 3117 | performance-now "^0.2.0" 3118 | qs "~6.4.0" 3119 | safe-buffer "^5.0.1" 3120 | stringstream "~0.0.4" 3121 | tough-cookie "~2.3.0" 3122 | tunnel-agent "^0.6.0" 3123 | uuid "^3.0.0" 3124 | 3125 | require-directory@^2.1.1: 3126 | version "2.1.1" 3127 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 3128 | 3129 | require-from-string@^1.1.0: 3130 | version "1.2.1" 3131 | resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-1.2.1.tgz#529c9ccef27380adfec9a2f965b649bbee636418" 3132 | 3133 | require-main-filename@^1.0.1: 3134 | version "1.0.1" 3135 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" 3136 | 3137 | resolve@1.1.7: 3138 | version "1.1.7" 3139 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" 3140 | 3141 | resolve@^1.1.3, resolve@^1.1.6, resolve@~1.3.3: 3142 | version "1.3.3" 3143 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.3.tgz#655907c3469a8680dc2de3a275a8fdd69691f0e5" 3144 | dependencies: 3145 | path-parse "^1.0.5" 3146 | 3147 | restore-cursor@^1.0.1: 3148 | version "1.0.1" 3149 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" 3150 | dependencies: 3151 | exit-hook "^1.0.0" 3152 | onetime "^1.0.0" 3153 | 3154 | resumer@~0.0.0: 3155 | version "0.0.0" 3156 | resolved "https://registry.yarnpkg.com/resumer/-/resumer-0.0.0.tgz#f1e8f461e4064ba39e82af3cdc2a8c893d076759" 3157 | dependencies: 3158 | through "~2.3.4" 3159 | 3160 | rimraf@2, rimraf@^2.5.1, rimraf@^2.6.1: 3161 | version "2.7.1" 3162 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" 3163 | dependencies: 3164 | glob "^7.1.3" 3165 | 3166 | rxjs@^5.0.0-beta.11: 3167 | version "5.4.1" 3168 | resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.4.1.tgz#b62f757f279445d265a18a58fb0a70dc90e91626" 3169 | dependencies: 3170 | symbol-observable "^1.0.1" 3171 | 3172 | safe-buffer@^5.0.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: 3173 | version "5.1.1" 3174 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" 3175 | 3176 | safe-json-parse@~1.0.1: 3177 | version "1.0.1" 3178 | resolved "https://registry.yarnpkg.com/safe-json-parse/-/safe-json-parse-1.0.1.tgz#3e76723e38dfdda13c9b1d29a1e07ffee4b30b57" 3179 | 3180 | safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: 3181 | version "2.1.2" 3182 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 3183 | 3184 | "semver@2 || 3 || 4 || 5", semver@^5.3.0: 3185 | version "5.3.0" 3186 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" 3187 | 3188 | set-blocking@^2.0.0, set-blocking@~2.0.0: 3189 | version "2.0.0" 3190 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 3191 | 3192 | set-immediate-shim@^1.0.1: 3193 | version "1.0.1" 3194 | resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" 3195 | 3196 | shebang-command@^1.2.0: 3197 | version "1.2.0" 3198 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 3199 | dependencies: 3200 | shebang-regex "^1.0.0" 3201 | 3202 | shebang-regex@^1.0.0: 3203 | version "1.0.0" 3204 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 3205 | 3206 | shelljs@^0.7.5: 3207 | version "0.7.8" 3208 | resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.8.tgz#decbcf874b0d1e5fb72e14b164a9683048e9acb3" 3209 | dependencies: 3210 | glob "^7.0.0" 3211 | interpret "^1.0.0" 3212 | rechoir "^0.6.2" 3213 | 3214 | signal-exit@^3.0.0: 3215 | version "3.0.2" 3216 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 3217 | 3218 | slash@^1.0.0: 3219 | version "1.0.0" 3220 | resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" 3221 | 3222 | slice-ansi@0.0.4: 3223 | version "0.0.4" 3224 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" 3225 | 3226 | sntp@1.x.x: 3227 | version "1.0.9" 3228 | resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" 3229 | dependencies: 3230 | hoek "2.x.x" 3231 | 3232 | source-map-support@^0.4.2: 3233 | version "0.4.15" 3234 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.15.tgz#03202df65c06d2bd8c7ec2362a193056fef8d3b1" 3235 | dependencies: 3236 | source-map "^0.5.6" 3237 | 3238 | source-map@^0.5.0, source-map@^0.5.6: 3239 | version "0.5.6" 3240 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" 3241 | 3242 | space-separated-tokens@^1.0.0: 3243 | version "1.1.1" 3244 | resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.1.tgz#9695b9df9e65aec1811d4c3f9ce52520bc2f7e4d" 3245 | dependencies: 3246 | trim "0.0.1" 3247 | 3248 | spdx-correct@~1.0.0: 3249 | version "1.0.2" 3250 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" 3251 | dependencies: 3252 | spdx-license-ids "^1.0.2" 3253 | 3254 | spdx-expression-parse@~1.0.0: 3255 | version "1.0.4" 3256 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" 3257 | 3258 | spdx-license-ids@^1.0.2: 3259 | version "1.2.2" 3260 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" 3261 | 3262 | sprintf-js@~1.0.2: 3263 | version "1.0.3" 3264 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 3265 | 3266 | sshpk@^1.7.0: 3267 | version "1.16.1" 3268 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" 3269 | dependencies: 3270 | asn1 "~0.2.3" 3271 | assert-plus "^1.0.0" 3272 | bcrypt-pbkdf "^1.0.0" 3273 | dashdash "^1.12.0" 3274 | ecc-jsbn "~0.1.1" 3275 | getpass "^0.1.1" 3276 | jsbn "~0.1.0" 3277 | safer-buffer "^2.0.2" 3278 | tweetnacl "~0.14.0" 3279 | 3280 | staged-git-files@0.0.4: 3281 | version "0.0.4" 3282 | resolved "https://registry.yarnpkg.com/staged-git-files/-/staged-git-files-0.0.4.tgz#d797e1b551ca7a639dec0237dc6eb4bb9be17d35" 3283 | 3284 | state-toggle@^1.0.0: 3285 | version "1.0.0" 3286 | resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.0.tgz#d20f9a616bb4f0c3b98b91922d25b640aa2bc425" 3287 | 3288 | stream-array@^1.1.0: 3289 | version "1.1.2" 3290 | resolved "https://registry.yarnpkg.com/stream-array/-/stream-array-1.1.2.tgz#9e5f7345f2137c30ee3b498b9114e80b52bb7eb5" 3291 | dependencies: 3292 | readable-stream "~2.1.0" 3293 | 3294 | stream-combiner2@^1.1.1: 3295 | version "1.1.1" 3296 | resolved "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.1.1.tgz#fb4d8a1420ea362764e21ad4780397bebcb41cbe" 3297 | dependencies: 3298 | duplexer2 "~0.1.0" 3299 | readable-stream "^2.0.2" 3300 | 3301 | stream-shift@^1.0.0: 3302 | version "1.0.0" 3303 | resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" 3304 | 3305 | stream-to-observable@^0.1.0: 3306 | version "0.1.0" 3307 | resolved "https://registry.yarnpkg.com/stream-to-observable/-/stream-to-observable-0.1.0.tgz#45bf1d9f2d7dc09bed81f1c307c430e68b84cffe" 3308 | 3309 | string-template@~0.2.1: 3310 | version "0.2.1" 3311 | resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add" 3312 | 3313 | string-width@^1.0.0, string-width@^1.0.1, string-width@^1.0.2: 3314 | version "1.0.2" 3315 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 3316 | dependencies: 3317 | code-point-at "^1.0.0" 3318 | is-fullwidth-code-point "^1.0.0" 3319 | strip-ansi "^3.0.0" 3320 | 3321 | string-width@^2.0.0: 3322 | version "2.1.0" 3323 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.0.tgz#030664561fc146c9423ec7d978fe2457437fe6d0" 3324 | dependencies: 3325 | is-fullwidth-code-point "^2.0.0" 3326 | strip-ansi "^4.0.0" 3327 | 3328 | string.prototype.trim@~1.1.2: 3329 | version "1.1.2" 3330 | resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz#d04de2c89e137f4d7d206f086b5ed2fae6be8cea" 3331 | dependencies: 3332 | define-properties "^1.1.2" 3333 | es-abstract "^1.5.0" 3334 | function-bind "^1.0.2" 3335 | 3336 | string_decoder@0.10, string_decoder@~0.10.x: 3337 | version "0.10.31" 3338 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" 3339 | 3340 | string_decoder@~1.0.3: 3341 | version "1.0.3" 3342 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" 3343 | dependencies: 3344 | safe-buffer "~5.1.0" 3345 | 3346 | stringify-entities@^1.0.1: 3347 | version "1.3.1" 3348 | resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-1.3.1.tgz#b150ec2d72ac4c1b5f324b51fb6b28c9cdff058c" 3349 | dependencies: 3350 | character-entities-html4 "^1.0.0" 3351 | character-entities-legacy "^1.0.0" 3352 | is-alphanumerical "^1.0.0" 3353 | is-hexadecimal "^1.0.0" 3354 | 3355 | stringstream@~0.0.4: 3356 | version "0.0.6" 3357 | resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.6.tgz#7880225b0d4ad10e30927d167a1d6f2fd3b33a72" 3358 | 3359 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 3360 | version "3.0.1" 3361 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 3362 | dependencies: 3363 | ansi-regex "^2.0.0" 3364 | 3365 | strip-ansi@^4.0.0: 3366 | version "4.0.0" 3367 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 3368 | dependencies: 3369 | ansi-regex "^3.0.0" 3370 | 3371 | strip-bom-stream@^1.0.0: 3372 | version "1.0.0" 3373 | resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz#e7144398577d51a6bed0fa1994fa05f43fd988ee" 3374 | dependencies: 3375 | first-chunk-stream "^1.0.0" 3376 | strip-bom "^2.0.0" 3377 | 3378 | strip-bom@^2.0.0: 3379 | version "2.0.0" 3380 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" 3381 | dependencies: 3382 | is-utf8 "^0.2.0" 3383 | 3384 | strip-bom@^3.0.0: 3385 | version "3.0.0" 3386 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" 3387 | 3388 | strip-eof@^1.0.0: 3389 | version "1.0.0" 3390 | resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" 3391 | 3392 | strip-indent@^2.0.0: 3393 | version "2.0.0" 3394 | resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" 3395 | 3396 | strip-json-comments@^2.0.0, strip-json-comments@~2.0.1: 3397 | version "2.0.1" 3398 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 3399 | 3400 | subarg@^1.0.0: 3401 | version "1.0.0" 3402 | resolved "https://registry.yarnpkg.com/subarg/-/subarg-1.0.0.tgz#f62cf17581e996b48fc965699f54c06ae268b8d2" 3403 | dependencies: 3404 | minimist "^1.1.0" 3405 | 3406 | supports-color@^2.0.0: 3407 | version "2.0.0" 3408 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 3409 | 3410 | symbol-observable@1.0.4, symbol-observable@^1.0.1: 3411 | version "1.0.4" 3412 | resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d" 3413 | 3414 | "tape@>=2.0.0 <5.0.0": 3415 | version "4.7.0" 3416 | resolved "https://registry.yarnpkg.com/tape/-/tape-4.7.0.tgz#f3ebb214fef3d6907e5a57dbaafe3bd8a7cbed88" 3417 | dependencies: 3418 | deep-equal "~1.0.1" 3419 | defined "~1.0.0" 3420 | for-each "~0.3.2" 3421 | function-bind "~1.1.0" 3422 | glob "~7.1.2" 3423 | has "~1.0.1" 3424 | inherits "~2.0.3" 3425 | minimist "~1.2.0" 3426 | object-inspect "~1.2.2" 3427 | resolve "~1.3.3" 3428 | resumer "~0.0.0" 3429 | string.prototype.trim "~1.1.2" 3430 | through "~2.3.8" 3431 | 3432 | tar-pack@^3.4.0: 3433 | version "3.4.0" 3434 | resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.0.tgz#23be2d7f671a8339376cbdb0b8fe3fdebf317984" 3435 | dependencies: 3436 | debug "^2.2.0" 3437 | fstream "^1.0.10" 3438 | fstream-ignore "^1.0.5" 3439 | once "^1.3.3" 3440 | readable-stream "^2.1.4" 3441 | rimraf "^2.5.1" 3442 | tar "^2.2.1" 3443 | uid-number "^0.0.6" 3444 | 3445 | tar@^2.2.1: 3446 | version "2.2.2" 3447 | resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40" 3448 | dependencies: 3449 | block-stream "*" 3450 | fstream "^1.0.12" 3451 | inherits "2" 3452 | 3453 | through2-filter@^2.0.0: 3454 | version "2.0.0" 3455 | resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-2.0.0.tgz#60bc55a0dacb76085db1f9dae99ab43f83d622ec" 3456 | dependencies: 3457 | through2 "~2.0.0" 3458 | xtend "~4.0.0" 3459 | 3460 | through2@^0.6.0: 3461 | version "0.6.5" 3462 | resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48" 3463 | dependencies: 3464 | readable-stream ">=1.0.33-1 <1.1.0-0" 3465 | xtend ">=4.0.0 <4.1.0-0" 3466 | 3467 | through2@^2.0.0, through2@^2.0.1, through2@~2.0.0: 3468 | version "2.0.3" 3469 | resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" 3470 | dependencies: 3471 | readable-stream "^2.1.5" 3472 | xtend "~4.0.1" 3473 | 3474 | "through@>=2.2.7 <3", through@~2.3.4, through@~2.3.8: 3475 | version "2.3.8" 3476 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 3477 | 3478 | tiny-lr@^1.0.3: 3479 | version "1.0.5" 3480 | resolved "https://registry.yarnpkg.com/tiny-lr/-/tiny-lr-1.0.5.tgz#21f40bf84ebd1f853056680375eef1670c334112" 3481 | dependencies: 3482 | body "^5.1.0" 3483 | debug "~2.6.7" 3484 | faye-websocket "~0.10.0" 3485 | livereload-js "^2.2.2" 3486 | object-assign "^4.1.0" 3487 | qs "^6.4.0" 3488 | 3489 | to-absolute-glob@^0.1.1: 3490 | version "0.1.1" 3491 | resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz#1cdfa472a9ef50c239ee66999b662ca0eb39937f" 3492 | dependencies: 3493 | extend-shallow "^2.0.1" 3494 | 3495 | to-fast-properties@^1.0.1: 3496 | version "1.0.3" 3497 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" 3498 | 3499 | tough-cookie@~2.3.0: 3500 | version "2.3.4" 3501 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655" 3502 | dependencies: 3503 | punycode "^1.4.1" 3504 | 3505 | trim-lines@^1.0.0: 3506 | version "1.1.0" 3507 | resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-1.1.0.tgz#9926d03ede13ba18f7d42222631fb04c79ff26fe" 3508 | 3509 | trim-right@^1.0.1: 3510 | version "1.0.1" 3511 | resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" 3512 | 3513 | trim-trailing-lines@^1.0.0: 3514 | version "1.1.0" 3515 | resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.0.tgz#7aefbb7808df9d669f6da2e438cac8c46ada7684" 3516 | 3517 | trim@0.0.1: 3518 | version "0.0.1" 3519 | resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd" 3520 | 3521 | trough@^1.0.0: 3522 | version "1.0.0" 3523 | resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.0.tgz#6bdedfe7f2aa49a6f3c432257687555957f342fd" 3524 | 3525 | tunnel-agent@^0.6.0: 3526 | version "0.6.0" 3527 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" 3528 | dependencies: 3529 | safe-buffer "^5.0.1" 3530 | 3531 | tweetnacl@^0.14.3, tweetnacl@~0.14.0: 3532 | version "0.14.5" 3533 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" 3534 | 3535 | typedarray@^0.0.6, typedarray@~0.0.5: 3536 | version "0.0.6" 3537 | resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" 3538 | 3539 | uid-number@^0.0.6: 3540 | version "0.0.6" 3541 | resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" 3542 | 3543 | unc-path-regex@^0.1.0: 3544 | version "0.1.2" 3545 | resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" 3546 | 3547 | unherit@^1.0.4: 3548 | version "1.1.0" 3549 | resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.0.tgz#6b9aaedfbf73df1756ad9e316dd981885840cd7d" 3550 | dependencies: 3551 | inherits "^2.0.1" 3552 | xtend "^4.0.1" 3553 | 3554 | unified@^6.0.0: 3555 | version "6.1.5" 3556 | resolved "https://registry.yarnpkg.com/unified/-/unified-6.1.5.tgz#716937872621a63135e62ced2f3ac6a063c6fb87" 3557 | dependencies: 3558 | bail "^1.0.0" 3559 | extend "^3.0.0" 3560 | is-plain-obj "^1.1.0" 3561 | trough "^1.0.0" 3562 | vfile "^2.0.0" 3563 | x-is-function "^1.0.4" 3564 | x-is-string "^0.1.0" 3565 | 3566 | unique-stream@^2.0.2: 3567 | version "2.2.1" 3568 | resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.2.1.tgz#5aa003cfbe94c5ff866c4e7d668bb1c4dbadb369" 3569 | dependencies: 3570 | json-stable-stringify "^1.0.0" 3571 | through2-filter "^2.0.0" 3572 | 3573 | unist-builder@^1.0.0, unist-builder@^1.0.1: 3574 | version "1.0.2" 3575 | resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-1.0.2.tgz#8c3b9903ef64bcfb117dd7cf6a5d98fc1b3b27b6" 3576 | dependencies: 3577 | object-assign "^4.1.0" 3578 | 3579 | unist-util-generated@^1.1.0: 3580 | version "1.1.1" 3581 | resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-1.1.1.tgz#99f16c78959ac854dee7c615c291924c8bf4de7f" 3582 | 3583 | unist-util-is@^2.0.0: 3584 | version "2.1.1" 3585 | resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-2.1.1.tgz#0c312629e3f960c66e931e812d3d80e77010947b" 3586 | 3587 | unist-util-modify-children@^1.0.0: 3588 | version "1.1.1" 3589 | resolved "https://registry.yarnpkg.com/unist-util-modify-children/-/unist-util-modify-children-1.1.1.tgz#66d7e6a449e6f67220b976ab3cb8b5ebac39e51d" 3590 | dependencies: 3591 | array-iterate "^1.0.0" 3592 | 3593 | unist-util-position@^3.0.0: 3594 | version "3.0.0" 3595 | resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-3.0.0.tgz#e6e1e03eeeb81c5e1afe553e8d4adfbd7c0d8f82" 3596 | 3597 | unist-util-remove-position@^1.0.0: 3598 | version "1.1.1" 3599 | resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-1.1.1.tgz#5a85c1555fc1ba0c101b86707d15e50fa4c871bb" 3600 | dependencies: 3601 | unist-util-visit "^1.1.0" 3602 | 3603 | unist-util-stringify-position@^1.0.0: 3604 | version "1.1.1" 3605 | resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-1.1.1.tgz#3ccbdc53679eed6ecf3777dd7f5e3229c1b6aa3c" 3606 | 3607 | unist-util-visit@^1.0.0, unist-util-visit@^1.0.1, unist-util-visit@^1.1.0: 3608 | version "1.1.3" 3609 | resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-1.1.3.tgz#ec268e731b9d277a79a5b5aa0643990e405d600b" 3610 | 3611 | universalify@^0.1.0: 3612 | version "0.1.0" 3613 | resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.0.tgz#9eb1c4651debcc670cc94f1a75762332bb967778" 3614 | 3615 | user-home@^1.1.1: 3616 | version "1.1.1" 3617 | resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" 3618 | 3619 | util-deprecate@~1.0.1: 3620 | version "1.0.2" 3621 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 3622 | 3623 | uuid@^3.0.0: 3624 | version "3.1.0" 3625 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" 3626 | 3627 | v8flags@^2.0.10: 3628 | version "2.1.1" 3629 | resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4" 3630 | dependencies: 3631 | user-home "^1.1.1" 3632 | 3633 | vali-date@^1.0.0: 3634 | version "1.0.0" 3635 | resolved "https://registry.yarnpkg.com/vali-date/-/vali-date-1.0.0.tgz#1b904a59609fb328ef078138420934f6b86709a6" 3636 | 3637 | validate-npm-package-license@^3.0.1: 3638 | version "3.0.1" 3639 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" 3640 | dependencies: 3641 | spdx-correct "~1.0.0" 3642 | spdx-expression-parse "~1.0.0" 3643 | 3644 | verror@1.3.6: 3645 | version "1.3.6" 3646 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" 3647 | dependencies: 3648 | extsprintf "1.0.2" 3649 | 3650 | vfile-location@^2.0.0: 3651 | version "2.0.1" 3652 | resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-2.0.1.tgz#0bf8816f732b0f8bd902a56fda4c62c8e935dc52" 3653 | 3654 | vfile-reporter@^3.0.0: 3655 | version "3.0.0" 3656 | resolved "https://registry.yarnpkg.com/vfile-reporter/-/vfile-reporter-3.0.0.tgz#fe50714e373e0d2940510038a99bd609bdc8209f" 3657 | dependencies: 3658 | chalk "^1.1.0" 3659 | log-symbols "^1.0.2" 3660 | plur "^2.0.0" 3661 | repeat-string "^1.5.0" 3662 | string-width "^1.0.0" 3663 | strip-ansi "^3.0.1" 3664 | trim "0.0.1" 3665 | unist-util-stringify-position "^1.0.0" 3666 | 3667 | vfile-sort@^2.0.0: 3668 | version "2.0.0" 3669 | resolved "https://registry.yarnpkg.com/vfile-sort/-/vfile-sort-2.0.0.tgz#7279458d111a9ba3b18effd9f8a0169bb7c5112b" 3670 | 3671 | vfile@^2.0.0: 3672 | version "2.1.0" 3673 | resolved "https://registry.yarnpkg.com/vfile/-/vfile-2.1.0.tgz#d3ce8b825e7b8d53b896164341273381936f02bd" 3674 | dependencies: 3675 | is-buffer "^1.1.4" 3676 | replace-ext "1.0.0" 3677 | unist-util-stringify-position "^1.0.0" 3678 | 3679 | vinyl-fs@^2.3.1: 3680 | version "2.4.4" 3681 | resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-2.4.4.tgz#be6ff3270cb55dfd7d3063640de81f25d7532239" 3682 | dependencies: 3683 | duplexify "^3.2.0" 3684 | glob-stream "^5.3.2" 3685 | graceful-fs "^4.0.0" 3686 | gulp-sourcemaps "1.6.0" 3687 | is-valid-glob "^0.3.0" 3688 | lazystream "^1.0.0" 3689 | lodash.isequal "^4.0.0" 3690 | merge-stream "^1.0.0" 3691 | mkdirp "^0.5.0" 3692 | object-assign "^4.0.0" 3693 | readable-stream "^2.0.4" 3694 | strip-bom "^2.0.0" 3695 | strip-bom-stream "^1.0.0" 3696 | through2 "^2.0.0" 3697 | through2-filter "^2.0.0" 3698 | vali-date "^1.0.0" 3699 | vinyl "^1.0.0" 3700 | 3701 | vinyl@^1.0.0: 3702 | version "1.2.0" 3703 | resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884" 3704 | dependencies: 3705 | clone "^1.0.0" 3706 | clone-stats "^0.0.1" 3707 | replace-ext "0.0.1" 3708 | 3709 | vinyl@^2.0.0: 3710 | version "2.1.0" 3711 | resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.1.0.tgz#021f9c2cf951d6b939943c89eb5ee5add4fd924c" 3712 | dependencies: 3713 | clone "^2.1.1" 3714 | clone-buffer "^1.0.0" 3715 | clone-stats "^1.0.0" 3716 | cloneable-readable "^1.0.0" 3717 | remove-trailing-separator "^1.0.1" 3718 | replace-ext "^1.0.0" 3719 | 3720 | websocket-driver@>=0.5.1: 3721 | version "0.6.5" 3722 | resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.6.5.tgz#5cb2556ceb85f4373c6d8238aa691c8454e13a36" 3723 | dependencies: 3724 | websocket-extensions ">=0.1.1" 3725 | 3726 | websocket-extensions@>=0.1.1: 3727 | version "0.1.1" 3728 | resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.1.tgz#76899499c184b6ef754377c2dbb0cd6cb55d29e7" 3729 | 3730 | which-module@^1.0.0: 3731 | version "1.0.0" 3732 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" 3733 | 3734 | which-module@^2.0.0: 3735 | version "2.0.0" 3736 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" 3737 | 3738 | which@^1.2.10, which@^1.2.9: 3739 | version "1.2.14" 3740 | resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5" 3741 | dependencies: 3742 | isexe "^2.0.0" 3743 | 3744 | wide-align@^1.1.0: 3745 | version "1.1.2" 3746 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" 3747 | dependencies: 3748 | string-width "^1.0.2" 3749 | 3750 | wrap-ansi@^2.0.0: 3751 | version "2.1.0" 3752 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" 3753 | dependencies: 3754 | string-width "^1.0.1" 3755 | strip-ansi "^3.0.1" 3756 | 3757 | wrappy@1: 3758 | version "1.0.2" 3759 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 3760 | 3761 | x-is-function@^1.0.4: 3762 | version "1.0.4" 3763 | resolved "https://registry.yarnpkg.com/x-is-function/-/x-is-function-1.0.4.tgz#5d294dc3d268cbdd062580e0c5df77a391d1fa1e" 3764 | 3765 | x-is-string@^0.1.0: 3766 | version "0.1.0" 3767 | resolved "https://registry.yarnpkg.com/x-is-string/-/x-is-string-0.1.0.tgz#474b50865af3a49a9c4657f05acd145458f77d82" 3768 | 3769 | "xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1: 3770 | version "4.0.1" 3771 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" 3772 | 3773 | y18n@^3.2.1: 3774 | version "3.2.1" 3775 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" 3776 | 3777 | yallist@^2.1.2: 3778 | version "2.1.2" 3779 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" 3780 | 3781 | yargs-parser@^4.2.0: 3782 | version "4.2.1" 3783 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" 3784 | dependencies: 3785 | camelcase "^3.0.0" 3786 | 3787 | yargs-parser@^7.0.0: 3788 | version "7.0.0" 3789 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" 3790 | dependencies: 3791 | camelcase "^4.1.0" 3792 | 3793 | yargs@^6.0.0: 3794 | version "6.6.0" 3795 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" 3796 | dependencies: 3797 | camelcase "^3.0.0" 3798 | cliui "^3.2.0" 3799 | decamelize "^1.1.1" 3800 | get-caller-file "^1.0.1" 3801 | os-locale "^1.4.0" 3802 | read-pkg-up "^1.0.1" 3803 | require-directory "^2.1.1" 3804 | require-main-filename "^1.0.1" 3805 | set-blocking "^2.0.0" 3806 | string-width "^1.0.2" 3807 | which-module "^1.0.0" 3808 | y18n "^3.2.1" 3809 | yargs-parser "^4.2.0" 3810 | 3811 | yargs@^8.0.2: 3812 | version "8.0.2" 3813 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" 3814 | dependencies: 3815 | camelcase "^4.1.0" 3816 | cliui "^3.2.0" 3817 | decamelize "^1.1.1" 3818 | get-caller-file "^1.0.1" 3819 | os-locale "^2.0.0" 3820 | read-pkg-up "^2.0.0" 3821 | require-directory "^2.1.1" 3822 | require-main-filename "^1.0.1" 3823 | set-blocking "^2.0.0" 3824 | string-width "^2.0.0" 3825 | which-module "^2.0.0" 3826 | y18n "^3.2.1" 3827 | yargs-parser "^7.0.0" 3828 | --------------------------------------------------------------------------------