├── .editorconfig ├── .gitignore ├── CHANGELOG.md ├── Copyright.txt ├── LICENSE ├── README.md ├── config.dist.json ├── demo ├── app.ts ├── index.html ├── index.ts └── module.ts ├── package.json ├── src ├── Comments.ts ├── Custom.ts ├── Loaders.ts ├── Media.ts ├── Pages.ts ├── Parent.ts ├── Posts.ts ├── Statuses.ts ├── Taxonomies.ts ├── Terms.ts ├── Types.ts ├── Users.ts ├── interfaces.ts ├── utils.ts └── wp-api-angular.ts ├── tsconfig.demo.json ├── tsconfig.json ├── typings.json ├── typings ├── .gitignore └── overwrite.d.ts ├── webpack.config.dist.js ├── webpack.config.js └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig helps developers define and maintain consistent 2 | # coding styles between different editors and IDEs 3 | # editorconfig.org 4 | 5 | root = true 6 | 7 | [*] 8 | 9 | # Change these settings to your own preference 10 | indent_style = space 11 | indent_size = 2 12 | 13 | # We recommend you to keep these unchanged 14 | end_of_line = lf 15 | charset = utf-8 16 | trim_trailing_whitespace = true 17 | insert_final_newline = true 18 | 19 | [*.md] 20 | trim_trailing_whitespace = false 21 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | 5 | # Runtime data 6 | pids 7 | *.pid 8 | *.seed 9 | 10 | # Directory for instrumented libs generated by jscoverage/JSCover 11 | lib-cov 12 | 13 | # Coverage directory used by tools like istanbul 14 | coverage 15 | 16 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 17 | .grunt 18 | 19 | # Compiled binary addons (http://nodejs.org/api/addons.html) 20 | build/Release 21 | 22 | # Dependency directory 23 | # Commenting this out is preferred by some people, see 24 | # https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git- 25 | node_modules 26 | 27 | # Users Environment Variables 28 | .lock-wscript 29 | 30 | www/ 31 | config.json 32 | dist/ 33 | aot/ 34 | aot2/ 35 | angular2-webpack-starter/ 36 | testionic/ 37 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | 7 | ### 3.0.0-beta7 (2017-02-04) 8 | 9 | * BREAKING CHANGE: `WpApiModule.initializeApp` is now `WpApiModule.forRoot` 10 | 11 | Follow the following docs to migrate to the new way to bootstrap your module: 12 | 13 | An exported function instead `WpApiLoaderFactory` is mandatory to be used with [AoT compilation](https://angular.io/docs/ts/latest/cookbook/aot-compiler.html) or [Ionic 2](http://ionic.io/). 14 | 15 | 16 | ```js 17 | import { Http } from '@angular/http'; 18 | import { 19 | WpApiModule 20 | WpApiLoader, 21 | WpApiStaticLoader 22 | } from 'wp-api-angular' 23 | 24 | export function WpApiLoaderFactory(http: Http) { 25 | return new WpApiStaticLoader(http, 'http://YOUR_DOMAIN/wp-json/', /* namespace is optional, default: '/wp/v2' */); 26 | } 27 | 28 | @NgModule({ 29 | imports: [ 30 | BrowserModule, 31 | WpApiModule.forRoot({ 32 | provide: WpApiLoader, 33 | useFactory: (WpApiLoaderFactory), 34 | deps: [Http] 35 | }) 36 | ], 37 | bootstrap: [App] 38 | }) 39 | export class AppModule { } 40 | ``` 41 | 42 | 48 | ### 3.0.0-beta5 (2017-02-01) 49 | 50 | Fix config and http injection 51 | 52 | 53 | ### 3.0.0-beta4 (2017-01-27) 54 | 55 | Add AOT support for GOOD this time! 56 | 57 | 58 | ### 3.0.0-beta3 (2017-01-22) 59 | 60 | Add AOT support 61 | 62 | 63 | ### 3.0.0-beta2 (2016-11-14) 64 | 65 | Remove `d.ts` extensions 66 | 67 | 68 | ### 3.0.0-alpha8 (2016-10-30) 69 | 70 | Upgrade to Angular 2.0.0 / NgModules 71 | 72 | 73 | ### 3.0.0-alpha7 (2016-07-30) 74 | 75 | Making sure it is usable via TypeScript as well (export d.ts files). 76 | 77 | 78 | 79 | ### 3.0.0-alpha2 (2016-07-24) 80 | 81 | Adding peer dependencies 82 | 83 | 84 | ### 3.0.0-alpha1 (2016-07-23) 85 | 86 | First version for ng2. 87 | -------------------------------------------------------------------------------- /Copyright.txt: -------------------------------------------------------------------------------- 1 | {pkg.name} 2 | --- 3 | {pkg.description} 4 | @version: v{pkg.version} 5 | @author: {pkg.author} 6 | @link: {pkg.homepage} 7 | @license: {pkg.license} 8 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Julien Renaux 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 |

wp-api-angular

3 |

Angular >=2 services for WordPress >= 4.7 Rest API

4 |

5 | 6 | ================ 7 | 8 | [![Join the chat at https://gitter.im/shprink/wp-api-angular](https://badges.gitter.im/shprink/wp-api-angular.svg)](https://gitter.im/shprink/wp-api-angular?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) 9 | 10 | Angular2 services to consume [WP-API v2](http://v2.wp-api.org/) 11 | 12 | [Live Demo](https://plnkr.co/edit/hqE4bvbM6HXql5Insjx8?p=preview) 13 | 14 | If you want to use AngularJS v1, here is the latest version: [v2.0.0-rc3](https://www.npmjs.com/package/wp-api-angularjs). `npm i wp-api-angularjs@v2.0.0-rc3` 15 | 16 | ## Installation 17 | 18 | ```shell 19 | npm install -g typings 20 | npm install wp-api-angular 21 | ``` 22 | 23 | ### TypeScript 24 | 25 | Nothing special if you use TS 26 | 27 | ### UMD 28 | 29 | UMD files are available `wp-api-angular.umd.js` and `wp-api-angular.umd.min.js`, the [Live Demo](https://plnkr.co/edit/hqE4bvbM6HXql5Insjx8?p=preview) uses them with systemJS 30 | 31 | ## Bootstrap 32 | 33 | An exported function `WpApiLoaderFactory` is mandatory to be used with [AoT compilation](https://angular.io/docs/ts/latest/cookbook/aot-compiler.html) or [Ionic 2](http://ionic.io/). 34 | 35 | 36 | ```js 37 | import { Http } from '@angular/http'; 38 | import { 39 | WpApiModule, 40 | WpApiLoader, 41 | WpApiStaticLoader 42 | } from 'wp-api-angular' 43 | 44 | export function WpApiLoaderFactory(http: Http) { 45 | return new WpApiStaticLoader(http, 'http://YOUR_DOMAIN/wp-json/', /* namespace is optional, default: '/wp/v2' */); 46 | } 47 | 48 | @NgModule({ 49 | imports: [ 50 | BrowserModule, 51 | WpApiModule.forRoot({ 52 | provide: WpApiLoader, 53 | useFactory: (WpApiLoaderFactory), 54 | deps: [Http] 55 | }) 56 | ], 57 | bootstrap: [App] 58 | }) 59 | export class AppModule { } 60 | ``` 61 | 62 | ## API 63 | 64 | Every method return an Obervable. If you want to get a Promise you will need to add the rxjs `toPromise` operator: 65 | 66 | ```js 67 | import 'rxjs/add/operator/toPromise'; 68 | 69 | class Test { 70 | constructor(private wpApiPosts: WpApiPosts) { 71 | this.wpApiPosts.getList() 72 | .toPromise() 73 | .then(response => response.json()) 74 | .then(body => {}) 75 | .catch(error => {}) 76 | } 77 | } 78 | 79 | ``` 80 | 81 | ### RequestOptionsArgs 82 | 83 | Every request can have an optional [`RequestOptionsArgs`](https://angular.io/docs/ts/latest/api/http/index/RequestOptionsArgs-interface.html) object. 84 | 85 | ```js 86 | class RequestOptionsArgs { 87 | url : string 88 | method : string|RequestMethod 89 | search : string|URLSearchParams 90 | headers : Headers 91 | body : any 92 | withCredentials : boolean 93 | } 94 | ``` 95 | 96 | This is where you can add query string to your request or change the headers (see below). 97 | 98 | ``` 99 | import { Headers } from '@angular/http'; 100 | 101 | const headers = new Headers({ 102 | 'Content-Type': 'application/json;charset=UTF-8', 103 | 'Access-Control-Allow-Origin': '*', 104 | 'Access-Control-Max-Age': '1728000', 105 | 'Access-Control-Allow-Headers': 'Content-Type, Content-Range, Content-Disposition, Content-Description' 106 | 'Access-Control-Allow-Methods': 'DELETE, HEAD, GET, OPTIONS, POST, PUT' 107 | }); 108 | 109 | wpApiPosts.getList({ headers }); 110 | ``` 111 | 112 | ### WpApiPosts 113 | 114 | ```ts 115 | getList(options?: RequestOptionsArgs): Observable; 116 | get(postId, options?: RequestOptionsArgs): Observable; 117 | create(body: any, options?: RequestOptionsArgs): Observable; 118 | update(postId, body: any, options?: RequestOptionsArgs): Observable; 119 | delete(postId, options?: RequestOptionsArgs): Observable; 120 | getMetaList(postId, options?: RequestOptionsArgs): Observable; 121 | getMeta(postId, metaId, options?: RequestOptionsArgs): Observable; 122 | getRevisionList(postId, options?: RequestOptionsArgs): Observable; 123 | getRevision(postId, revisionId, options?: RequestOptionsArgs): Observable; 124 | getCategoryList(postId, options?: RequestOptionsArgs): Observable; 125 | getCategory(postId, categoryId, options?: RequestOptionsArgs): Observable; 126 | getTagList(postId, options?: RequestOptionsArgs): Observable; 127 | getTag(postId, tagId, options?: RequestOptionsArgs): Observable; 128 | ``` 129 | 130 | ### WpApiPages 131 | 132 | ```ts 133 | getList(options?: RequestOptionsArgs): Observable; 134 | get(pageId: number, options?: RequestOptionsArgs): Observable; 135 | create(body: any, options?: RequestOptionsArgs): Observable; 136 | update(pageId: number, body: any, options?: RequestOptionsArgs): Observable; 137 | delete(pageId: number, options?: RequestOptionsArgs): Observable; 138 | getMetaList(pageId: number, options?: RequestOptionsArgs): Observable; 139 | getMeta(pageId: number, metaId: number, options?: RequestOptionsArgs): Observable; 140 | getRevisionList(pageId: number, options?: RequestOptionsArgs): Observable; 141 | getRevision(pageId: number, revisionId: number, options?: RequestOptionsArgs): Observable; 142 | ``` 143 | 144 | ### WpApiComments 145 | 146 | ```ts 147 | getList(options?: RequestOptionsArgs): Observable; 148 | get(commentId: number, options?: RequestOptionsArgs): Observable; 149 | create(body: any, options?: RequestOptionsArgs): Observable; 150 | update(commentId: number, body: any, options?: RequestOptionsArgs): Observable; 151 | delete(commentId: number, options?: RequestOptionsArgs): Observable; 152 | ``` 153 | 154 | ### WpApiTypes 155 | 156 | ```ts 157 | getList(options?: RequestOptionsArgs): Observable; 158 | get(postType: string, options?: RequestOptionsArgs): Observable; 159 | ``` 160 | 161 | ### WpApiMedia 162 | 163 | ```ts 164 | getList(options?: RequestOptionsArgs): Observable; 165 | get(mediaId: number, options?: RequestOptionsArgs): Observable; 166 | create(body: any, options?: RequestOptionsArgs): Observable; 167 | update(mediaId: number, body: any, options?: RequestOptionsArgs): Observable; 168 | delete(mediaId: number, options?: RequestOptionsArgs): Observable; 169 | ``` 170 | 171 | ### WpApiUsers 172 | 173 | ```ts 174 | getList(options?: RequestOptionsArgs): Observable; 175 | me(options?: RequestOptionsArgs): Observable; 176 | get(userId: number, options?: RequestOptionsArgs): Observable; 177 | create(body: any, options?: RequestOptionsArgs): Observable; 178 | update(userId: number, body: any, options?: RequestOptionsArgs): Observable; 179 | delete(userId: number, options?: RequestOptionsArgs): Observable; 180 | ``` 181 | 182 | ### WpApiTaxonomies 183 | 184 | ```ts 185 | getList(options?: RequestOptionsArgs): Observable; 186 | get(taxonomiesType: string, options?: RequestOptionsArgs): Observable; 187 | ``` 188 | 189 | ### WpApiStatuses 190 | 191 | ```ts 192 | getList(options?: RequestOptionsArgs): Observable; 193 | get(statusesName: string, options?: RequestOptionsArgs): Observable; 194 | ``` 195 | 196 | ### WpApiTerms 197 | 198 | `taxonomiesType` can be `tags`, `categories` and more. 199 | 200 | ```ts 201 | getList(taxonomiesType: string, options?: RequestOptionsArgs): Observable; 202 | get(taxonomiesType: string, termId: number, options?: RequestOptionsArgs): Observable; 203 | create(taxonomiesType: string, body: any, options?: RequestOptionsArgs): Observable; 204 | update(taxonomiesType: string, termId: number, body: any, options?: RequestOptionsArgs): Observable; 205 | delete(taxonomiesType: string, termId: number, options?: RequestOptionsArgs): Observable; 206 | ``` 207 | 208 | ### WpApiCustom 209 | 210 | ```ts 211 | getList(options?: RequestOptionsArgs): Observable; 212 | get(customId: number, options?: RequestOptionsArgs): Observable; 213 | create(body: any, options?: RequestOptionsArgs): Observable; 214 | update(customId: number, body: any, options?: RequestOptionsArgs): Observable; 215 | delete(customId: number, options?: RequestOptionsArgs): Observable; 216 | ``` 217 | 218 | ## Authentication 219 | 220 | TO BE DEFINED 221 | 222 | ## Contribute 223 | 224 | ```shell 225 | npm install 226 | cp config.dist.json config.json 227 | 228 | # Open two terminals 229 | # and run watch to build on the lib files changes 230 | npm run watch 231 | 232 | # in the other terminal run following to build the test page 233 | npm start 234 | ``` 235 | 236 | Open ```http://localhost:8080``` 237 | -------------------------------------------------------------------------------- /config.dist.json: -------------------------------------------------------------------------------- 1 | { 2 | "baseUrl": "http://sandbox.YourDomain.com/wp-json", 3 | "api" : { 4 | "wpApiPosts": { 5 | "getList": [{ 6 | "search": "_embed=true&per_page=1" 7 | }], 8 | "get": [2016], 9 | "getMetaList": [2016], 10 | "getMeta": [2016, 46575], 11 | "getRevisionList": [2016], 12 | "getRevision": [2016, 2026], 13 | "getCategoryList": [2016], 14 | "getCategory": [2016, 86], 15 | "getTagList": [2016], 16 | "getTag": [2016, 87] 17 | }, 18 | "wpApiCustom": { 19 | "movie": { 20 | "getList": [{ 21 | "search": "_embed=true&per_page=1" 22 | }], 23 | "get": [2595] 24 | } 25 | }, 26 | "wpApiPages": { 27 | "getList": [{ 28 | "search": "_embed=true&per_page=1" 29 | }], 30 | "get": [535], 31 | "getMetaList": [535], 32 | "getMeta": [535, 1], 33 | "getRevisionList": [535], 34 | "getRevision": [535, 2035] 35 | }, 36 | "wpApiMedia": { 37 | "getList": [{ 38 | "search": "_embed=true&per_page=1" 39 | }], 40 | "get": [2499] 41 | }, 42 | "wpApiTypes": { 43 | "getList": [{ 44 | "search": "_embed=true&per_page=1" 45 | }], 46 | "get": ["attachment"] 47 | }, 48 | "wpApiStatuses": { 49 | "getList": [], 50 | "get": ["publish"] 51 | }, 52 | "wpApiTaxonomies": { 53 | "getList": [], 54 | "get": ["category"] 55 | }, 56 | "wpApiTerms": [{ 57 | "getList": ["tags"], 58 | "get": ["tags", 11] 59 | },{ 60 | "getList": ["categories"], 61 | "get": ["categories", 2] 62 | }], 63 | "wpApiUsers": { 64 | "getList": [], 65 | "get": [1], 66 | "me": [] 67 | }, 68 | "wpApiComments": { 69 | "getList": [], 70 | "get": [686] 71 | } 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /demo/app.ts: -------------------------------------------------------------------------------- 1 | import { Component, VERSION } from '@angular/core'; 2 | import { 3 | WpApiPosts, 4 | WpApiPages, 5 | WpApiComments, 6 | WpApiTypes, 7 | WpApiMedia, 8 | WpApiUsers, 9 | WpApiTaxonomies, 10 | WpApiStatuses, 11 | WpApiTerms, 12 | WpApiCustom 13 | } from '../dist/wp-api-angular'; 14 | let config = require('../config.json'); 15 | 16 | @Component({ 17 | selector: 'app', 18 | styles: [` 19 | .error { 20 | background-color: #e74c3c; 21 | } 22 | 23 | .success { 24 | background-color: #00bc8c; 25 | } 26 | span { 27 | color: white; 28 | padding: 2px 10px; 29 | } 30 | b{ 31 | color: black; 32 | width: 100px; 33 | display: inline-block; 34 | } 35 | `], 36 | template: ` 37 |
41 | {{request.serviceName}} {{request.method}} 42 |
43 | ` 44 | }) 45 | export class App { 46 | requests = []; 47 | constructor( 48 | private wpApiPosts: WpApiPosts, 49 | private wpApiPages: WpApiPages, 50 | private wpApiComments: WpApiComments, 51 | private wpApiTypes: WpApiTypes, 52 | private wpApiMedia: WpApiMedia, 53 | private wpApiUsers: WpApiUsers, 54 | private wpApiTaxonomies: WpApiTaxonomies, 55 | private wpApiStatuses: WpApiStatuses, 56 | private wpApiTerms: WpApiTerms, 57 | private wpApiCustom: WpApiCustom 58 | ) { 59 | console.log('VERSION', VERSION.full); 60 | const serviceNames = Object.keys(config.api); 61 | for (let i = 0, len = serviceNames.length; i <= len; i++) { 62 | let serviceName = serviceNames[i]; 63 | let serviceApi = config.api[serviceName]; 64 | if (!this[serviceName]) { 65 | continue; 66 | } 67 | if (Array.isArray(serviceApi)) { 68 | serviceApi.map(api => { 69 | this.request(this[serviceName], api, serviceName) 70 | }) 71 | } else if (serviceName === 'wpApiCustom') { 72 | Object.keys(serviceApi).map((customType) => { 73 | let serviceApi = config.api[serviceName][customType]; 74 | this.request(wpApiCustom.getInstance(customType), serviceApi, serviceName); 75 | }); 76 | } else { 77 | this.request(this[serviceName], serviceApi, serviceName); 78 | } 79 | } 80 | } 81 | 82 | request(service, serviceApi, serviceName) { 83 | Object.keys(serviceApi).map((method) => { 84 | let parameters = serviceApi[method]; 85 | service[method].apply(service, parameters).toPromise() 86 | .then(response => response.json()) 87 | .then(body => { 88 | // console.groupCollapsed(serviceName, method, JSON.stringify(parameters)); 89 | // console.log(body); 90 | // console.groupEnd() 91 | this.requests.push({ serviceName: serviceName.slice(5), method, success: true }) 92 | }) 93 | .catch(error => { 94 | console.error(serviceName, method, error.json()); 95 | this.requests.push({ serviceName: serviceName.slice(5), method, success: false }) 96 | }); 97 | }); 98 | } 99 | } 100 | 101 | -------------------------------------------------------------------------------- /demo/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Loading... 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /demo/index.ts: -------------------------------------------------------------------------------- 1 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; 2 | import { AppModule } from './module'; 3 | 4 | platformBrowserDynamic().bootstrapModule(AppModule); 5 | -------------------------------------------------------------------------------- /demo/module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { BrowserModule } from '@angular/platform-browser'; 3 | import 'rxjs/add/operator/toPromise'; 4 | import { Http } from '@angular/http'; 5 | import { 6 | WpApiModule, 7 | WpApiLoader, 8 | WpApiStaticLoader 9 | } from '../dist/wp-api-angular' 10 | import { App } from './app'; 11 | 12 | let config = require('../config.json'); 13 | 14 | console.info('config', config); 15 | 16 | export function WpApiLoaderFactory(http: Http) { 17 | return new WpApiStaticLoader(http, config.baseUrl); 18 | } 19 | 20 | @NgModule({ 21 | imports: [ 22 | BrowserModule, 23 | WpApiModule.forRoot({ 24 | provide: WpApiLoader, 25 | useFactory: (WpApiLoaderFactory), 26 | deps: [Http] 27 | }) 28 | ], 29 | declarations: [App], 30 | bootstrap: [App] 31 | }) 32 | export class AppModule { } 33 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "wp-api-angular", 3 | "version": "3.0.0-beta8", 4 | "description": "WordPress WP-API v2 client for Angular2", 5 | "main": "wp-api-angular.js", 6 | "typings": "wp-api-angular.d.ts", 7 | "scripts": { 8 | "start": "webpack-dev-server --port 8080 --json --progress --config webpack.config.js", 9 | "prebuild": "rm -rf dist", 10 | "build": "node ./node_modules/@angular/compiler-cli/src/main.js && npm run dumpdev && npm run dumpprod", 11 | "postbuild": "cp package.json README.md dist/", 12 | "watch": "rm -rf dist && node ./node_modules/@angular/compiler-cli/src/main.js", 13 | "publish": "npm run build && npm publish dist", 14 | "dumpdev": "ENV=dev webpack --progress --colors --config webpack.config.dist.js -d", 15 | "dumpprod": "ENV=prod webpack --progress --colors --config webpack.config.dist.js -p" 16 | }, 17 | "repository": { 18 | "type": "git", 19 | "url": "https://github.com/shprink/wp-api-angular" 20 | }, 21 | "keywords": [ 22 | "wp-api", 23 | "angular", 24 | "angularjs", 25 | "rest", 26 | "restfull", 27 | "client" 28 | ], 29 | "author": "shprink ", 30 | "license": "MIT", 31 | "bugs": { 32 | "url": "https://github.com/shprink/wp-api-angular/issues" 33 | }, 34 | "homepage": "https://github.com/shprink/wp-api-angular", 35 | "peerDependencies": { 36 | "@angular/core": "^4.0.0", 37 | "@angular/http": "^4.0.0" 38 | }, 39 | "dependencies": { 40 | "@angular/common": "^4.0.0", 41 | "@angular/compiler": "^4.0.0", 42 | "@angular/platform-browser": "^4.0.0", 43 | "@angular/platform-browser-dynamic": "^4.0.0", 44 | "rxjs": "^5.0.0" 45 | }, 46 | "devDependencies": { 47 | "@angular/compiler-cli": "^4.0.0", 48 | "babel-core": "^6.10.4", 49 | "babel-loader": "^6.2.4", 50 | "core-js": "^2.4.0", 51 | "html-webpack-plugin": "~2.22.0", 52 | "json-loader": "^0.5.2", 53 | "path": "^0.4.9", 54 | "reflect-metadata": "^0.1.3", 55 | "ts-loader": "0.8.1", 56 | "typescript": "^2.1.5", 57 | "util": "^0.10.3", 58 | "webpack": "~1.13.1", 59 | "webpack-dev-server": "~1.14.1", 60 | "zone.js": "^0.6.12" 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /src/Comments.ts: -------------------------------------------------------------------------------- 1 | import { Injectable, Inject } from '@angular/core'; 2 | import { Http } from '@angular/http'; 3 | // Need to import interfaces dependencies 4 | // Bug TypeScript https://github.com/Microsoft/TypeScript/issues/5938 5 | import { Observable } from 'rxjs/Observable'; 6 | import { RequestOptionsArgs } from '@angular/http/src/interfaces'; 7 | import { Response } from '@angular/http/src/static_response'; 8 | 9 | import { WpApiParent } from './Parent'; 10 | 11 | import { WpApiLoader } from './Loaders'; 12 | 13 | export interface IWpApiComments { 14 | getList(options?: RequestOptionsArgs): Observable; 15 | get(commentId: number, options?: RequestOptionsArgs): Observable; 16 | create(body: any, options?: RequestOptionsArgs): Observable; 17 | update(commentId: number, body: any, options?: RequestOptionsArgs): Observable; 18 | delete(commentId: number, options?: RequestOptionsArgs): Observable; 19 | } 20 | 21 | @Injectable() 22 | export class WpApiComments extends WpApiParent implements IWpApiComments { 23 | constructor( 24 | public wpApiLoader: WpApiLoader, 25 | public http: Http 26 | ) { 27 | super(wpApiLoader, http); 28 | } 29 | getList(options = {}) { 30 | return this.httpGet(`/comments`, options) 31 | } 32 | get(commentId: number, options = {}) { 33 | return this.httpGet(`/comments/${commentId}`, options) 34 | } 35 | create(body = {}, options = {}) { 36 | return this.httpPost(`/comments`, body, options) 37 | } 38 | update(commentId: number, body = {}, options = {}) { 39 | return this.httpPost(`/comments/${commentId}`, body, options) 40 | } 41 | delete(commentId: number, options = {}) { 42 | return this.httpDelete(`/comments/${commentId}`, options) 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/Custom.ts: -------------------------------------------------------------------------------- 1 | import { Injectable, Inject } from '@angular/core'; 2 | import { Http } from '@angular/http'; 3 | 4 | // Need to import interfaces dependencies 5 | // Bug TypeScript https://github.com/Microsoft/TypeScript/issues/5938 6 | import { Observable } from 'rxjs/Observable'; 7 | import { RequestOptionsArgs } from '@angular/http/src/interfaces'; 8 | import { Response } from '@angular/http/src/static_response'; 9 | 10 | import { WpApiParent } from './Parent'; 11 | 12 | import { WpApiLoader } from './Loaders'; 13 | 14 | export interface IWpApiCustom { 15 | getList(options?: RequestOptionsArgs): Observable; 16 | get(customId: number, options?: RequestOptionsArgs): Observable; 17 | create(body: any, options?: RequestOptionsArgs): Observable; 18 | update(customId: number, body: any, options?: RequestOptionsArgs): Observable; 19 | delete(customId: number, options?: RequestOptionsArgs): Observable; 20 | } 21 | 22 | export class Custom extends WpApiParent implements IWpApiCustom { 23 | constructor( 24 | public wpApiLoader: WpApiLoader, 25 | public http: Http, 26 | public entityName: string 27 | ) { 28 | super(wpApiLoader, http); 29 | } 30 | getList(options = {}) { 31 | return this.httpGet(`/${this.entityName}`, options) 32 | } 33 | get(customId: number, options = {}) { 34 | return this.httpGet(`/${this.entityName}/${customId}`, options) 35 | } 36 | create(body = {}, options = {}) { 37 | return this.httpPost(`/${this.entityName}`, body, options) 38 | } 39 | update(customId: number, body = {}, options = {}) { 40 | return this.httpPost(`/${this.entityName}/${customId}`, body, options) 41 | } 42 | delete(customId: number, options = {}) { 43 | return this.httpDelete(`/${this.entityName}/${customId}`, options) 44 | } 45 | } 46 | 47 | 48 | @Injectable() 49 | export class WpApiCustom extends WpApiParent { 50 | constructor( 51 | public wpApiLoader: WpApiLoader, 52 | public http: Http 53 | ) { 54 | super(wpApiLoader, http); 55 | } 56 | 57 | getInstance(entityName = '') { 58 | if (typeof entityName !== 'string') { 59 | throw new Error(`getInstance needs an entity name`); 60 | } 61 | return new Custom(this.wpApiLoader, this.http, entityName); 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /src/Loaders.ts: -------------------------------------------------------------------------------- 1 | import { Http, HttpModule } from '@angular/http'; 2 | import { stripTrailingSlash } from './utils'; 3 | 4 | export abstract class WpApiLoader { 5 | abstract getWebServiceUrl(postfix: string): string; 6 | } 7 | 8 | export class WpApiStaticLoader implements WpApiLoader { 9 | completeUrl: string; 10 | constructor( 11 | private http: Http, 12 | private baseUrl: string = 'http://changeYourDomainHere.com/wp-json', 13 | private namespace: string = '/wp/v2' 14 | ) { 15 | this.completeUrl = `${stripTrailingSlash(this.baseUrl)}${this.namespace}`; 16 | } 17 | 18 | public getWebServiceUrl(postfix: string): string { 19 | return `${this.completeUrl}${postfix}` 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/Media.ts: -------------------------------------------------------------------------------- 1 | import { Injectable, Inject } from '@angular/core'; 2 | import { Http } from '@angular/http'; 3 | 4 | // Need to import interfaces dependencies 5 | // Bug TypeScript https://github.com/Microsoft/TypeScript/issues/5938 6 | import { Observable } from 'rxjs/Observable'; 7 | import { RequestOptionsArgs } from '@angular/http/src/interfaces'; 8 | import { Response } from '@angular/http/src/static_response'; 9 | 10 | import { WpApiParent } from './Parent'; 11 | 12 | import { WpApiLoader } from './Loaders'; 13 | 14 | export interface IWpApiMedia { 15 | getList(options?: RequestOptionsArgs): Observable; 16 | get(mediaId: number, options?: RequestOptionsArgs): Observable; 17 | create(body: any, options?: RequestOptionsArgs): Observable; 18 | update(mediaId: number, body: any, options?: RequestOptionsArgs): Observable; 19 | delete(mediaId: number, options?: RequestOptionsArgs): Observable; 20 | } 21 | 22 | @Injectable() 23 | export class WpApiMedia extends WpApiParent implements IWpApiMedia { 24 | constructor( 25 | public wpApiLoader: WpApiLoader, 26 | public http: Http 27 | ) { 28 | super(wpApiLoader, http); 29 | } 30 | getList(options = {}) { 31 | return this.httpGet(`/media`, options) 32 | } 33 | get(mediaId: number, options = {}) { 34 | return this.httpGet(`/media/${mediaId}`, options) 35 | } 36 | create(body = {}, options = {}) { 37 | return this.httpPost(`/media`, body, options) 38 | } 39 | update(mediaId: number, body = {}, options = {}) { 40 | return this.httpPost(`/media/${mediaId}`, body, options) 41 | } 42 | delete(mediaId: number, options = {}) { 43 | return this.httpDelete(`/media/${mediaId}`, options) 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /src/Pages.ts: -------------------------------------------------------------------------------- 1 | import { Injectable, Inject } from '@angular/core'; 2 | import { Http } from '@angular/http'; 3 | 4 | // Need to import interfaces dependencies 5 | // Bug TypeScript https://github.com/Microsoft/TypeScript/issues/5938 6 | import { Observable } from 'rxjs/Observable'; 7 | import { RequestOptionsArgs } from '@angular/http/src/interfaces'; 8 | import { Response } from '@angular/http/src/static_response'; 9 | 10 | import { WpApiParent } from './Parent'; 11 | 12 | import { WpApiLoader } from './Loaders'; 13 | 14 | export interface IWpApiPages { 15 | getList(options?: RequestOptionsArgs): Observable; 16 | get(pageId: number, options?: RequestOptionsArgs): Observable; 17 | create(body: any, options?: RequestOptionsArgs): Observable; 18 | update(pageId: number, body: any, options?: RequestOptionsArgs): Observable; 19 | delete(pageId: number, options?: RequestOptionsArgs): Observable; 20 | getMetaList(pageId: number, options?: RequestOptionsArgs): Observable; 21 | getMeta(pageId: number, metaId: number, options?: RequestOptionsArgs): Observable; 22 | getRevisionList(pageId: number, options?: RequestOptionsArgs): Observable; 23 | getRevision(pageId: number, revisionId: number, options?: RequestOptionsArgs): Observable; 24 | } 25 | 26 | @Injectable() 27 | export class WpApiPages extends WpApiParent implements IWpApiPages { 28 | constructor( 29 | public wpApiLoader: WpApiLoader, 30 | public http: Http 31 | ) { 32 | super(wpApiLoader, http); 33 | } 34 | 35 | getList(options = {}) { 36 | return this.httpGet(`/pages`, options) 37 | } 38 | get(pageId: number, options = {}) { 39 | return this.httpGet(`/pages/${pageId}`, options) 40 | } 41 | create(body = {}, options = {}) { 42 | return this.httpPost(`/pages`, body, options) 43 | } 44 | update(pageId: number, body = {}, options = {}) { 45 | return this.httpPost(`/pages/${pageId}`, body, options) 46 | } 47 | delete(pageId: number, options = {}) { 48 | return this.httpDelete(`/pages/${pageId}`, options) 49 | } 50 | getMetaList(pageId: number, options = {}) { 51 | return this.httpGet(`/pages/${pageId}/meta`, options) 52 | } 53 | getMeta(pageId: number, metaId: number, options = {}) { 54 | return this.httpGet(`/pages/${pageId}/meta/${metaId}`, options) 55 | } 56 | getRevisionList(pageId: number, options = {}) { 57 | return this.httpGet(`/pages/${pageId}/revisions`, options) 58 | } 59 | getRevision(pageId: number, revisionId: number, options = {}) { 60 | return this.httpGet(`/pages/${pageId}/revisions/${revisionId}`, options) 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /src/Parent.ts: -------------------------------------------------------------------------------- 1 | import { Injectable, Inject } from '@angular/core'; 2 | import { Http } from '@angular/http'; 3 | 4 | // Need to import interfaces dependencies 5 | // Bug TypeScript https://github.com/Microsoft/TypeScript/issues/5938 6 | import { Observable } from 'rxjs/Observable'; 7 | import { RequestOptionsArgs } from '@angular/http/src/interfaces'; 8 | import { Response } from '@angular/http/src/static_response'; 9 | 10 | import { WpApiLoader } from './Loaders'; 11 | import { stripTrailingSlash } from './utils'; 12 | 13 | 14 | export interface IParent { 15 | httpGet(url: string, options?: RequestOptionsArgs): Observable; 16 | httpHead(url: string, options?: RequestOptionsArgs): Observable; 17 | httpDelete(url: string, options?: RequestOptionsArgs): Observable; 18 | httpPost(url: string, body: any, options?: RequestOptionsArgs): Observable; 19 | httpPut(url: string, body: any, options?: RequestOptionsArgs): Observable; 20 | httpPatch(url: string, body: any, options?: RequestOptionsArgs): Observable; 21 | } 22 | 23 | @Injectable() 24 | export class WpApiParent implements IParent { 25 | constructor( 26 | public wpApiLoader: WpApiLoader, 27 | public http: Http 28 | ) { } 29 | 30 | httpGet(url: string, options = {}) { 31 | return this.http.get(this.wpApiLoader.getWebServiceUrl(url), options); 32 | } 33 | httpHead(url: string, options = {}) { 34 | return this.http.head(this.wpApiLoader.getWebServiceUrl(url), options); 35 | } 36 | httpDelete(url: string, options = {}) { 37 | return this.http.delete(this.wpApiLoader.getWebServiceUrl(url), options); 38 | } 39 | httpPost(url: string, body = {}, options = {}) { 40 | return this.http.post(this.wpApiLoader.getWebServiceUrl(url), body, options); 41 | } 42 | httpPut(url: string, body = {}, options = {}) { 43 | return this.http.put(this.wpApiLoader.getWebServiceUrl(url), body, options); 44 | } 45 | httpPatch(url: string, body = {}, options = {}) { 46 | return this.http.patch(this.wpApiLoader.getWebServiceUrl(url), body, options); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/Posts.ts: -------------------------------------------------------------------------------- 1 | import { Injectable, Inject } from '@angular/core'; 2 | import { Http } from '@angular/http'; 3 | 4 | // Need to import interfaces dependencies 5 | // Bug TypeScript https://github.com/Microsoft/TypeScript/issues/5938 6 | import { Observable } from 'rxjs/Observable'; 7 | import { RequestOptionsArgs } from '@angular/http/src/interfaces'; 8 | import { Response } from '@angular/http/src/static_response'; 9 | 10 | import { WpApiParent } from './Parent'; 11 | 12 | import { WpApiLoader } from './Loaders'; 13 | 14 | export interface IWpApiPosts { 15 | getList(options?: RequestOptionsArgs): Observable; 16 | get(postId: number, options?: RequestOptionsArgs): Observable; 17 | create(body: any, options?: RequestOptionsArgs): Observable; 18 | update(postId: number, body: any, options?: RequestOptionsArgs): Observable; 19 | delete(postId: number, options?: RequestOptionsArgs): Observable; 20 | getMetaList(postId: number, options?: RequestOptionsArgs): Observable; 21 | getMeta(postId: number, metaId: number, options?: RequestOptionsArgs): Observable; 22 | getRevisionList(postId: number, options?: RequestOptionsArgs): Observable; 23 | getRevision(postId: number, revisionId: number, options?: RequestOptionsArgs): Observable; 24 | getCategoryList(postId: number, options?: RequestOptionsArgs): Observable; 25 | getCategory(postId: number, categoryId, options?: RequestOptionsArgs): Observable; 26 | getTagList(postId: number, options?: RequestOptionsArgs): Observable; 27 | getTag(postId: number, tagId, options?: RequestOptionsArgs): Observable; 28 | } 29 | 30 | @Injectable() 31 | export class WpApiPosts extends WpApiParent implements IWpApiPosts { 32 | constructor( 33 | public wpApiLoader: WpApiLoader, 34 | public http: Http 35 | ) { 36 | super(wpApiLoader, http); 37 | } 38 | getList(options = {}) { 39 | return this.httpGet(`/posts`, options) 40 | } 41 | get(postId: number, options = {}) { 42 | return this.httpGet(`/posts/${postId}`, options) 43 | } 44 | create(body = {}, options = {}) { 45 | return this.httpPost(`/posts`, body, options) 46 | } 47 | update(postId: number, body = {}, options = {}) { 48 | return this.httpPost(`/posts/${postId}`, body, options) 49 | } 50 | delete(postId: number, options = {}) { 51 | return this.httpDelete(`/posts/${postId}`, options) 52 | } 53 | getMetaList(postId: number, options = {}) { 54 | return this.httpGet(`/posts/${postId}/meta`, options) 55 | } 56 | getMeta(postId: number, metaId: number, options = {}) { 57 | return this.httpGet(`/posts/${postId}/meta/${metaId}`, options) 58 | } 59 | getRevisionList(postId: number, options = {}) { 60 | return this.httpGet(`/posts/${postId}/revisions`, options) 61 | } 62 | getRevision(postId: number, revisionId: number, options = {}) { 63 | return this.httpGet(`/posts/${postId}/revisions/${revisionId}`, options) 64 | } 65 | getCategoryList(postId: number, options = {}) { 66 | return this.httpGet(`/posts/${postId}/terms/category`, options) 67 | } 68 | getCategory(postId: number, categoryId: number, options = {}) { 69 | return this.httpGet(`/posts/${postId}/terms/category/${categoryId}`, options) 70 | } 71 | getTagList(postId: number, options = {}) { 72 | return this.httpGet(`/posts/${postId}/terms/tag`, options) 73 | } 74 | getTag(postId: number, tagId: number, options = {}) { 75 | return this.httpGet(`/posts/${postId}/terms/tag/${tagId}`, options) 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /src/Statuses.ts: -------------------------------------------------------------------------------- 1 | import { Injectable, Inject } from '@angular/core'; 2 | import { Http } from '@angular/http'; 3 | 4 | // Need to import interfaces dependencies 5 | // Bug TypeScript https://github.com/Microsoft/TypeScript/issues/5938 6 | import { Observable } from 'rxjs/Observable'; 7 | import { RequestOptionsArgs } from '@angular/http/src/interfaces'; 8 | import { Response } from '@angular/http/src/static_response'; 9 | 10 | import { WpApiParent } from './Parent'; 11 | 12 | import { WpApiLoader } from './Loaders'; 13 | 14 | export interface IWpApiStatuses { 15 | getList(options?: RequestOptionsArgs): Observable; 16 | get(statusesName: string, options?: RequestOptionsArgs): Observable; 17 | } 18 | 19 | @Injectable() 20 | export class WpApiStatuses extends WpApiParent implements IWpApiStatuses { 21 | constructor( 22 | public wpApiLoader: WpApiLoader, 23 | public http: Http 24 | ) { 25 | super(wpApiLoader, http); 26 | } 27 | getList(options = {}) { 28 | return this.httpGet(`/statuses`, options) 29 | } 30 | get(statusesName: string, options = {}) { 31 | return this.httpGet(`/statuses/${statusesName}`, options) 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/Taxonomies.ts: -------------------------------------------------------------------------------- 1 | import { Injectable, Inject } from '@angular/core'; 2 | import { Http } from '@angular/http'; 3 | 4 | // Need to import interfaces dependencies 5 | // Bug TypeScript https://github.com/Microsoft/TypeScript/issues/5938 6 | import { Observable } from 'rxjs/Observable'; 7 | import { RequestOptionsArgs } from '@angular/http/src/interfaces'; 8 | import { Response } from '@angular/http/src/static_response'; 9 | 10 | import { WpApiParent } from './Parent'; 11 | 12 | import { WpApiLoader } from './Loaders'; 13 | 14 | export interface IWpApiTaxonomies { 15 | getList(options?: RequestOptionsArgs): Observable; 16 | get(taxonomiesType: string, options?: RequestOptionsArgs): Observable; 17 | } 18 | 19 | @Injectable() 20 | export class WpApiTaxonomies extends WpApiParent implements IWpApiTaxonomies { 21 | constructor( 22 | public wpApiLoader: WpApiLoader, 23 | public http: Http 24 | ) { 25 | super(wpApiLoader, http); 26 | } 27 | getList(options = {}) { 28 | return this.httpGet(`/taxonomies`, options) 29 | } 30 | get(taxonomiesType: string, options = {}) { 31 | return this.httpGet(`/taxonomies/${taxonomiesType}`, options) 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/Terms.ts: -------------------------------------------------------------------------------- 1 | import { Injectable, Inject } from '@angular/core'; 2 | import { Http } from '@angular/http'; 3 | 4 | // Need to import interfaces dependencies 5 | // Bug TypeScript https://github.com/Microsoft/TypeScript/issues/5938 6 | import { Observable } from 'rxjs/Observable'; 7 | import { RequestOptionsArgs } from '@angular/http/src/interfaces'; 8 | import { Response } from '@angular/http/src/static_response'; 9 | 10 | import { WpApiParent } from './Parent'; 11 | 12 | import { WpApiLoader } from './Loaders'; 13 | 14 | export interface IWpApiTerms { 15 | getList(taxonomiesType: string, options?: RequestOptionsArgs): Observable; 16 | get(taxonomiesType: string, termId: number, options?: RequestOptionsArgs): Observable; 17 | create(taxonomiesType: string, body: any, options?: RequestOptionsArgs): Observable; 18 | update(taxonomiesType: string, termId: number, body: any, options?: RequestOptionsArgs): Observable; 19 | delete(taxonomiesType: string, termId: number, options?: RequestOptionsArgs): Observable; 20 | } 21 | 22 | const defaultTaxoType = 'categories'; 23 | 24 | @Injectable() 25 | export class WpApiTerms extends WpApiParent implements IWpApiTerms { 26 | constructor( 27 | public wpApiLoader: WpApiLoader, 28 | public http: Http 29 | ) { 30 | super(wpApiLoader, http); 31 | } 32 | getList(taxonomiesType = defaultTaxoType , options = {}) { 33 | return this.httpGet(`/${taxonomiesType}`, options) 34 | } 35 | get(taxonomiesType = defaultTaxoType, termId: number, options = {}) { 36 | return this.httpGet(`/${taxonomiesType}/${termId}`, options) 37 | } 38 | create(taxonomiesType = defaultTaxoType, body = {}, options = {}) { 39 | return this.httpPost(`/${taxonomiesType}`, body, options) 40 | } 41 | update(taxonomiesType = defaultTaxoType, termId: number, body = {}, options = {}) { 42 | return this.httpPost(`/${taxonomiesType}/${termId}`, body, options) 43 | } 44 | delete(taxonomiesType = defaultTaxoType, termId: number, options = {}) { 45 | return this.httpDelete(`/${taxonomiesType}/${termId}`, options) 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/Types.ts: -------------------------------------------------------------------------------- 1 | import { Injectable, Inject } from '@angular/core'; 2 | import { Http } from '@angular/http'; 3 | 4 | // Need to import interfaces dependencies 5 | // Bug TypeScript https://github.com/Microsoft/TypeScript/issues/5938 6 | import { Observable } from 'rxjs/Observable'; 7 | import { RequestOptionsArgs } from '@angular/http/src/interfaces'; 8 | import { Response } from '@angular/http/src/static_response'; 9 | 10 | import { WpApiParent } from './Parent'; 11 | 12 | import { WpApiLoader } from './Loaders'; 13 | 14 | export interface IWpApiTypes { 15 | getList(options?: RequestOptionsArgs): Observable; 16 | get(postType: string, options?: RequestOptionsArgs): Observable; 17 | } 18 | 19 | @Injectable() 20 | export class WpApiTypes extends WpApiParent implements IWpApiTypes { 21 | constructor( 22 | public wpApiLoader: WpApiLoader, 23 | public http: Http 24 | ) { 25 | super(wpApiLoader, http); 26 | } 27 | getList(options = {}) { 28 | return this.httpGet(`/types`, options) 29 | } 30 | get(postType: string, options = {}) { 31 | return this.httpGet(`/types/${postType}`, options) 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/Users.ts: -------------------------------------------------------------------------------- 1 | import { Injectable, Inject } from '@angular/core'; 2 | import { Http } from '@angular/http'; 3 | 4 | // Need to import interfaces dependencies 5 | // Bug TypeScript https://github.com/Microsoft/TypeScript/issues/5938 6 | import { Observable } from 'rxjs/Observable'; 7 | import { RequestOptionsArgs } from '@angular/http/src/interfaces'; 8 | import { Response } from '@angular/http/src/static_response'; 9 | 10 | import { WpApiParent } from './Parent'; 11 | 12 | import { WpApiLoader } from './Loaders'; 13 | 14 | export interface IWpApiUsers { 15 | getList(options?: RequestOptionsArgs): Observable; 16 | me(options?: RequestOptionsArgs): Observable; 17 | get(userId: number, options?: RequestOptionsArgs): Observable; 18 | create(body: any, options?: RequestOptionsArgs): Observable; 19 | update(userId: number, body: any, options?: RequestOptionsArgs): Observable; 20 | delete(userId: number, options?: RequestOptionsArgs): Observable; 21 | } 22 | 23 | @Injectable() 24 | export class WpApiUsers extends WpApiParent implements IWpApiUsers { 25 | constructor( 26 | public wpApiLoader: WpApiLoader, 27 | public http: Http 28 | ) { 29 | super(wpApiLoader, http); 30 | } 31 | getList(options = {}) { 32 | return this.httpGet(`/users`, options) 33 | } 34 | me(options = {}) { 35 | return this.httpGet(`/users/me`, options) 36 | } 37 | get(userId: number, options = {}) { 38 | return this.httpGet(`/users/${userId}`, options) 39 | } 40 | create(body = {}, options = {}) { 41 | return this.httpPost(`/users`, body, options) 42 | } 43 | update(userId: number, body = {}, options = {}) { 44 | return this.httpPost(`/users/${userId}`, body, options) 45 | } 46 | delete(userId: number, options = {}) { 47 | return this.httpDelete(`/users/${userId}`, options) 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /src/interfaces.ts: -------------------------------------------------------------------------------- 1 | import { Observable } from 'rxjs/Observable'; 2 | import { RequestOptionsArgs } from '@angular/http/src/interfaces'; 3 | import { Response } from '@angular/http/src/static_response'; 4 | 5 | 6 | export interface IParent { 7 | httpGet(url: string, options?: RequestOptionsArgs): Observable; 8 | httpHead(url: string, options?: RequestOptionsArgs): Observable; 9 | httpDelete(url: string, options?: RequestOptionsArgs): Observable; 10 | httpPost(url: string, body: any, options?: RequestOptionsArgs): Observable; 11 | httpPut(url: string, body: any, options?: RequestOptionsArgs): Observable; 12 | httpPatch(url: string, body: any, options?: RequestOptionsArgs): Observable; 13 | } 14 | 15 | export interface IWpApiPosts { 16 | getList(options?: RequestOptionsArgs): Observable; 17 | get(postId: number, options?: RequestOptionsArgs): Observable; 18 | create(body: any, options?: RequestOptionsArgs): Observable; 19 | update(postId: number, body: any, options?: RequestOptionsArgs): Observable; 20 | delete(postId: number, options?: RequestOptionsArgs): Observable; 21 | getMetaList(postId: number, options?: RequestOptionsArgs): Observable; 22 | getMeta(postId: number, metaId: number, options?: RequestOptionsArgs): Observable; 23 | getRevisionList(postId: number, options?: RequestOptionsArgs): Observable; 24 | getRevision(postId: number, revisionId: number, options?: RequestOptionsArgs): Observable; 25 | getCategoryList(postId: number, options?: RequestOptionsArgs): Observable; 26 | getCategory(postId: number, categoryId, options?: RequestOptionsArgs): Observable; 27 | getTagList(postId: number, options?: RequestOptionsArgs): Observable; 28 | getTag(postId: number, tagId, options?: RequestOptionsArgs): Observable; 29 | } 30 | 31 | export interface IWpApiPages { 32 | getList(options?: RequestOptionsArgs): Observable; 33 | get(pageId: number, options?: RequestOptionsArgs): Observable; 34 | create(body: any, options?: RequestOptionsArgs): Observable; 35 | update(pageId: number, body: any, options?: RequestOptionsArgs): Observable; 36 | delete(pageId: number, options?: RequestOptionsArgs): Observable; 37 | getMetaList(pageId: number, options?: RequestOptionsArgs): Observable; 38 | getMeta(pageId: number, metaId: number, options?: RequestOptionsArgs): Observable; 39 | getRevisionList(pageId: number, options?: RequestOptionsArgs): Observable; 40 | getRevision(pageId: number, revisionId: number, options?: RequestOptionsArgs): Observable; 41 | } 42 | 43 | export interface IWpApiComments { 44 | getList(options?: RequestOptionsArgs): Observable; 45 | get(commentId: number, options?: RequestOptionsArgs): Observable; 46 | create(body: any, options?: RequestOptionsArgs): Observable; 47 | update(commentId: number, body: any, options?: RequestOptionsArgs): Observable; 48 | delete(commentId: number, options?: RequestOptionsArgs): Observable; 49 | } 50 | 51 | export interface IWpApiTypes { 52 | getList(options?: RequestOptionsArgs): Observable; 53 | get(postType: string, options?: RequestOptionsArgs): Observable; 54 | } 55 | 56 | export interface IWpApiMedia { 57 | getList(options?: RequestOptionsArgs): Observable; 58 | get(mediaId: number, options?: RequestOptionsArgs): Observable; 59 | create(body: any, options?: RequestOptionsArgs): Observable; 60 | update(mediaId: number, body: any, options?: RequestOptionsArgs): Observable; 61 | delete(mediaId: number, options?: RequestOptionsArgs): Observable; 62 | } 63 | 64 | export interface IWpApiUsers { 65 | getList(options?: RequestOptionsArgs): Observable; 66 | me(options?: RequestOptionsArgs): Observable; 67 | get(userId: number, options?: RequestOptionsArgs): Observable; 68 | create(body: any, options?: RequestOptionsArgs): Observable; 69 | update(userId: number, body: any, options?: RequestOptionsArgs): Observable; 70 | delete(userId: number, options?: RequestOptionsArgs): Observable; 71 | } 72 | 73 | export interface IWpApiTaxonomies { 74 | getList(options?: RequestOptionsArgs): Observable; 75 | get(taxonomiesType: string, options?: RequestOptionsArgs): Observable; 76 | } 77 | 78 | export interface IWpApiStatuses { 79 | getList(options?: RequestOptionsArgs): Observable; 80 | get(statusesName: string, options?: RequestOptionsArgs): Observable; 81 | } 82 | 83 | export interface IWpApiTerms { 84 | getList(taxonomiesType: string, options?: RequestOptionsArgs): Observable; 85 | get(taxonomiesType: string, termId: number, options?: RequestOptionsArgs): Observable; 86 | create(taxonomiesType: string, body: any, options?: RequestOptionsArgs): Observable; 87 | update(taxonomiesType: string, termId: number, body: any, options?: RequestOptionsArgs): Observable; 88 | delete(taxonomiesType: string, termId: number, options?: RequestOptionsArgs): Observable; 89 | } 90 | 91 | export interface IWpApiCustom { 92 | getList(options?: RequestOptionsArgs): Observable; 93 | get(customId: number, options?: RequestOptionsArgs): Observable; 94 | create(body: any, options?: RequestOptionsArgs): Observable; 95 | update(customId: number, body: any, options?: RequestOptionsArgs): Observable; 96 | delete(customId: number, options?: RequestOptionsArgs): Observable; 97 | } 98 | -------------------------------------------------------------------------------- /src/utils.ts: -------------------------------------------------------------------------------- 1 | export function stripTrailingSlash(value: string): string { 2 | // Is the last char a / 3 | if (value.substring(value.length - 1, value.length) === '/') { 4 | return value.substring(0, value.length - 1); 5 | } else { 6 | return value; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/wp-api-angular.ts: -------------------------------------------------------------------------------- 1 | import { 2 | Provider, 3 | NgModule, 4 | ModuleWithProviders 5 | } from '@angular/core'; 6 | import 'rxjs'; 7 | import { Http, HttpModule } from '@angular/http'; 8 | 9 | import { WpApiPosts } from './Posts'; 10 | import { WpApiPages } from './Pages'; 11 | import { WpApiComments } from './Comments'; 12 | import { WpApiTypes } from './Types'; 13 | import { WpApiMedia } from './Media'; 14 | import { WpApiUsers } from './Users'; 15 | import { WpApiTaxonomies } from './Taxonomies'; 16 | import { WpApiStatuses } from './Statuses'; 17 | import { WpApiTerms } from './Terms'; 18 | import { WpApiCustom } from './Custom'; 19 | import { WpApiLoader, WpApiStaticLoader } from './Loaders'; 20 | 21 | export { WpApiPosts } from './Posts'; 22 | export { WpApiPages } from './Pages'; 23 | export { WpApiComments } from './Comments'; 24 | export { WpApiTypes } from './Types'; 25 | export { WpApiMedia } from './Media'; 26 | export { WpApiUsers } from './Users'; 27 | export { WpApiTaxonomies } from './Taxonomies'; 28 | export { WpApiStatuses } from './Statuses'; 29 | export { WpApiTerms } from './Terms'; 30 | export { WpApiCustom } from './Custom'; 31 | export { WpApiLoader, WpApiStaticLoader } from './Loaders'; 32 | 33 | export function WpApiLoaderFactory(http: Http) { 34 | return new WpApiStaticLoader(http); 35 | } 36 | 37 | @NgModule({ 38 | imports: [ 39 | HttpModule 40 | ], 41 | exports: [ 42 | HttpModule 43 | ], 44 | providers: [ 45 | WpApiPosts, 46 | WpApiPages, 47 | WpApiComments, 48 | WpApiTypes, 49 | WpApiMedia, 50 | WpApiUsers, 51 | WpApiTaxonomies, 52 | WpApiStatuses, 53 | WpApiTerms, 54 | WpApiCustom 55 | ] 56 | }) 57 | export class WpApiModule { 58 | static forRoot(providedLoader: any = { 59 | provide: WpApiLoader, 60 | useFactory: WpApiLoaderFactory, 61 | deps: [Http] 62 | }): ModuleWithProviders { 63 | return { 64 | ngModule: WpApiModule, 65 | providers: [ 66 | providedLoader 67 | ] 68 | }; 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /tsconfig.demo.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "moduleResolution": "node", 6 | "sourceMap": true, 7 | "emitDecoratorMetadata": true, 8 | "experimentalDecorators": true, 9 | "removeComments": false, 10 | "noImplicitAny": false 11 | }, 12 | "files": [ 13 | "demo/index.ts", 14 | "typings/overwrite.d.ts", 15 | "typings/index.d.ts", 16 | "node_modules/rxjs/add/operator/toPromise.d.ts" 17 | ], 18 | "compileOnSave": false, 19 | "atom": { 20 | "rewriteTsconfig": false 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "experimentalDecorators": true, 4 | "emitDecoratorMetadata": true, 5 | "module": "commonjs", 6 | "target": "es5", 7 | "noImplicitAny": false, 8 | "outDir": "dist", 9 | "rootDir": "src", 10 | "sourceMap": true, 11 | "inlineSources": true, 12 | "declaration": true, 13 | "removeComments": true, 14 | "skipLibCheck": true, 15 | "moduleResolution": "node" 16 | }, 17 | "files": [ 18 | "./src/wp-api-angular.ts" 19 | ], 20 | "angularCompilerOptions": { 21 | "skipTemplateCodegen": true, 22 | "strictMetadataEmit": true, 23 | "debug": false, 24 | "genDir": "compiled" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /typings.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "wp-api-angularjs", 3 | "globalDependencies": { 4 | "core-js": "registry:dt/core-js#0.0.0+20160602141332" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /typings/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | !overwrite.d.ts 4 | -------------------------------------------------------------------------------- /typings/overwrite.d.ts: -------------------------------------------------------------------------------- 1 | declare function require(string): any; 2 | -------------------------------------------------------------------------------- /webpack.config.dist.js: -------------------------------------------------------------------------------- 1 | let path = require('path'), 2 | srcPath = path.join(__dirname, 'src'), 3 | distPath = path.join(__dirname, 'dist'), 4 | webpack = require("webpack"), 5 | pkg = require('./package.json'), 6 | fs = require('fs'), 7 | copyright = fs.readFileSync('./copyright.txt', 'utf8'), 8 | HtmlWebpackPlugin = require('html-webpack-plugin'); 9 | 10 | const isProd = process.env.ENV === 'prod'; 11 | const filename = isProd ? 'wp-api-angular.umd.min.js' : 'wp-api-angular.umd.js' 12 | 13 | copyright = copyright.replace('{pkg.name}', pkg.name) 14 | .replace('{pkg.description}', pkg.description) 15 | .replace('{pkg.version}', pkg.version) 16 | .replace('{pkg.author}', pkg.author) 17 | .replace('{pkg.homepage}', pkg.homepage) 18 | .replace('{pkg.license}', pkg.license); 19 | 20 | let plugins = [ 21 | new webpack.BannerPlugin(copyright) 22 | ]; 23 | 24 | if (isProd) { 25 | plugins = plugins.concat([ 26 | new webpack.optimize.OccurenceOrderPlugin(), 27 | new webpack.optimize.DedupePlugin(), 28 | new webpack.optimize.UglifyJsPlugin() 29 | ]) 30 | } 31 | 32 | module.exports = { 33 | entry: path.join(srcPath, 'wp-api-angular.ts'), 34 | output: { 35 | path: distPath, 36 | libraryTarget: "umd", 37 | filename 38 | }, 39 | resolve: { 40 | extensions: ['', '.ts', '.js', '.json'] 41 | }, 42 | externals: [ 43 | { 44 | 'rxjs': 'rxjs', 45 | 'rxjs/Observable': 'rxjs/Observable', 46 | 'rxjs/Observable.d.ts': 'rxjs/Observable.d.ts', 47 | '@angular/core': '@angular/core', 48 | '@angular/http': '@angular/http' 49 | } 50 | ], 51 | module: { 52 | loaders: [{ 53 | test: /\.ts$/, 54 | exclude: /(node_modules)/, 55 | loader: 'ts' 56 | }] 57 | }, 58 | ts: { 59 | compilerOptions: { 60 | outDir: '.', 61 | declaration: false 62 | } 63 | }, 64 | plugins: plugins 65 | } 66 | -------------------------------------------------------------------------------- /webpack.config.js: -------------------------------------------------------------------------------- 1 | var path = require('path'), 2 | webpack = require("webpack"), 3 | demoPath = path.join(__dirname, 'demo'), 4 | wwwPath = path.join(__dirname, 'www'), 5 | docsPath = path.join(__dirname, 'docs'), 6 | pkg = require('./package.json'), 7 | HtmlWebpackPlugin = require('html-webpack-plugin'); 8 | 9 | module.exports = { 10 | entry: { 11 | bundle: [ 12 | 'core-js', 13 | 'reflect-metadata/Reflect.js', 14 | 'zone.js', 15 | '@angular/core', 16 | 'rxjs', 17 | 'rxjs/add/operator/toPromise', 18 | path.join(demoPath, 'index.ts') 19 | ] 20 | }, 21 | output: { 22 | path: wwwPath, 23 | filename: '[name]-[hash:6].js' 24 | }, 25 | module: { 26 | loaders: [ 27 | { 28 | test: /\.json$/, 29 | loader: "json" 30 | }, 31 | { 32 | test: /\.ts$/, 33 | exclude: /(node_modules)/, 34 | loader: 'ts' 35 | } 36 | ] 37 | }, 38 | resolve: { 39 | root: path.resolve(__dirname), 40 | extensions: ['', '.ts', '.js', '.json'] 41 | }, 42 | ts: { 43 | configFileName: './tsconfig.demo.json' 44 | }, 45 | plugins: [ 46 | new webpack.optimize.OccurrenceOrderPlugin(), 47 | new HtmlWebpackPlugin({ 48 | pkg: pkg, 49 | inject: 'body', 50 | template: path.join(demoPath, 'index.html') 51 | })] 52 | }; 53 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@angular/common@^4.0.0": 6 | version "4.1.3" 7 | resolved "https://registry.yarnpkg.com/@angular/common/-/common-4.1.3.tgz#e7c4791e32131cf74c239428c2a67daab2eef017" 8 | 9 | "@angular/compiler-cli@^4.0.0": 10 | version "4.1.3" 11 | resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-4.1.3.tgz#c2362ffdf65756471481f839fab675bcac213f96" 12 | dependencies: 13 | "@angular/tsc-wrapped" "4.1.3" 14 | minimist "^1.2.0" 15 | reflect-metadata "^0.1.2" 16 | 17 | "@angular/compiler@^4.0.0": 18 | version "4.1.3" 19 | resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-4.1.3.tgz#d2dd30853b0cf4a54758b4a314632c231f9c94c3" 20 | 21 | "@angular/core@^4.0.0": 22 | version "4.1.3" 23 | resolved "https://registry.yarnpkg.com/@angular/core/-/core-4.1.3.tgz#285498eb86ab7d0b6f982f8f9f487ef610013b35" 24 | 25 | "@angular/http@^4.0.0": 26 | version "4.1.3" 27 | resolved "https://registry.yarnpkg.com/@angular/http/-/http-4.1.3.tgz#eb9d1c302a0172815f9a573310d9be0bdeb845ae" 28 | 29 | "@angular/platform-browser-dynamic@^4.0.0": 30 | version "4.1.3" 31 | resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-4.1.3.tgz#3c13fdcf591d487f6efdc1d46913f280c6d8c2ec" 32 | 33 | "@angular/platform-browser@^4.0.0": 34 | version "4.1.3" 35 | resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-4.1.3.tgz#4fa1db5119dd178b315ddae5b329bee1a932a5bd" 36 | 37 | "@angular/tsc-wrapped@4.1.3": 38 | version "4.1.3" 39 | resolved "https://registry.yarnpkg.com/@angular/tsc-wrapped/-/tsc-wrapped-4.1.3.tgz#2d6372c9187bf1621eacd960b94b39c4f95293cd" 40 | dependencies: 41 | tsickle "^0.21.0" 42 | 43 | Base64@~0.2.0: 44 | version "0.2.1" 45 | resolved "https://registry.yarnpkg.com/Base64/-/Base64-0.2.1.tgz#ba3a4230708e186705065e66babdd4c35cf60028" 46 | 47 | abbrev@1: 48 | version "1.1.0" 49 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f" 50 | 51 | accepts@~1.3.3: 52 | version "1.3.3" 53 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca" 54 | dependencies: 55 | mime-types "~2.1.11" 56 | negotiator "0.6.1" 57 | 58 | acorn@^3.0.0: 59 | version "3.3.0" 60 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" 61 | 62 | ajv@^4.9.1: 63 | version "4.11.8" 64 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" 65 | dependencies: 66 | co "^4.6.0" 67 | json-stable-stringify "^1.0.1" 68 | 69 | align-text@^0.1.1, align-text@^0.1.3: 70 | version "0.1.4" 71 | resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" 72 | dependencies: 73 | kind-of "^3.0.2" 74 | longest "^1.0.1" 75 | repeat-string "^1.5.2" 76 | 77 | amdefine@>=0.0.4: 78 | version "1.0.1" 79 | resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" 80 | 81 | ansi-regex@^2.0.0: 82 | version "2.1.1" 83 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 84 | 85 | ansi-styles@^2.2.1: 86 | version "2.2.1" 87 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 88 | 89 | anymatch@^1.3.0: 90 | version "1.3.0" 91 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507" 92 | dependencies: 93 | arrify "^1.0.0" 94 | micromatch "^2.1.5" 95 | 96 | aproba@^1.0.3: 97 | version "1.1.1" 98 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.1.tgz#95d3600f07710aa0e9298c726ad5ecf2eacbabab" 99 | 100 | are-we-there-yet@~1.1.2: 101 | version "1.1.4" 102 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" 103 | dependencies: 104 | delegates "^1.0.0" 105 | readable-stream "^2.0.6" 106 | 107 | arr-diff@^2.0.0: 108 | version "2.0.0" 109 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" 110 | dependencies: 111 | arr-flatten "^1.0.1" 112 | 113 | arr-flatten@^1.0.1: 114 | version "1.0.3" 115 | resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.3.tgz#a274ed85ac08849b6bd7847c4580745dc51adfb1" 116 | 117 | array-flatten@1.1.1: 118 | version "1.1.1" 119 | resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" 120 | 121 | array-unique@^0.2.1: 122 | version "0.2.1" 123 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" 124 | 125 | arrify@^1.0.0: 126 | version "1.0.1" 127 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" 128 | 129 | asn1@~0.2.3: 130 | version "0.2.3" 131 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" 132 | 133 | assert-plus@1.0.0, assert-plus@^1.0.0: 134 | version "1.0.0" 135 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 136 | 137 | assert-plus@^0.2.0: 138 | version "0.2.0" 139 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" 140 | 141 | assert@^1.1.1: 142 | version "1.4.1" 143 | resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" 144 | dependencies: 145 | util "0.10.3" 146 | 147 | async-each@^1.0.0: 148 | version "1.0.1" 149 | resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" 150 | 151 | async@^0.9.0: 152 | version "0.9.2" 153 | resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" 154 | 155 | async@^1.3.0: 156 | version "1.5.2" 157 | resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" 158 | 159 | async@~0.2.6: 160 | version "0.2.10" 161 | resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" 162 | 163 | asynckit@^0.4.0: 164 | version "0.4.0" 165 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 166 | 167 | aws-sign2@~0.6.0: 168 | version "0.6.0" 169 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" 170 | 171 | aws4@^1.2.1: 172 | version "1.6.0" 173 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" 174 | 175 | babel-code-frame@^6.22.0: 176 | version "6.22.0" 177 | resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" 178 | dependencies: 179 | chalk "^1.1.0" 180 | esutils "^2.0.2" 181 | js-tokens "^3.0.0" 182 | 183 | babel-core@^6.10.4, babel-core@^6.24.1: 184 | version "6.24.1" 185 | resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.24.1.tgz#8c428564dce1e1f41fb337ec34f4c3b022b5ad83" 186 | dependencies: 187 | babel-code-frame "^6.22.0" 188 | babel-generator "^6.24.1" 189 | babel-helpers "^6.24.1" 190 | babel-messages "^6.23.0" 191 | babel-register "^6.24.1" 192 | babel-runtime "^6.22.0" 193 | babel-template "^6.24.1" 194 | babel-traverse "^6.24.1" 195 | babel-types "^6.24.1" 196 | babylon "^6.11.0" 197 | convert-source-map "^1.1.0" 198 | debug "^2.1.1" 199 | json5 "^0.5.0" 200 | lodash "^4.2.0" 201 | minimatch "^3.0.2" 202 | path-is-absolute "^1.0.0" 203 | private "^0.1.6" 204 | slash "^1.0.0" 205 | source-map "^0.5.0" 206 | 207 | babel-generator@^6.24.1: 208 | version "6.24.1" 209 | resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.24.1.tgz#e715f486c58ded25649d888944d52aa07c5d9497" 210 | dependencies: 211 | babel-messages "^6.23.0" 212 | babel-runtime "^6.22.0" 213 | babel-types "^6.24.1" 214 | detect-indent "^4.0.0" 215 | jsesc "^1.3.0" 216 | lodash "^4.2.0" 217 | source-map "^0.5.0" 218 | trim-right "^1.0.1" 219 | 220 | babel-helpers@^6.24.1: 221 | version "6.24.1" 222 | resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" 223 | dependencies: 224 | babel-runtime "^6.22.0" 225 | babel-template "^6.24.1" 226 | 227 | babel-loader@^6.2.4: 228 | version "6.4.1" 229 | resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-6.4.1.tgz#0b34112d5b0748a8dcdbf51acf6f9bd42d50b8ca" 230 | dependencies: 231 | find-cache-dir "^0.1.1" 232 | loader-utils "^0.2.16" 233 | mkdirp "^0.5.1" 234 | object-assign "^4.0.1" 235 | 236 | babel-messages@^6.23.0: 237 | version "6.23.0" 238 | resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" 239 | dependencies: 240 | babel-runtime "^6.22.0" 241 | 242 | babel-register@^6.24.1: 243 | version "6.24.1" 244 | resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.24.1.tgz#7e10e13a2f71065bdfad5a1787ba45bca6ded75f" 245 | dependencies: 246 | babel-core "^6.24.1" 247 | babel-runtime "^6.22.0" 248 | core-js "^2.4.0" 249 | home-or-tmp "^2.0.0" 250 | lodash "^4.2.0" 251 | mkdirp "^0.5.1" 252 | source-map-support "^0.4.2" 253 | 254 | babel-runtime@^6.22.0: 255 | version "6.23.0" 256 | resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b" 257 | dependencies: 258 | core-js "^2.4.0" 259 | regenerator-runtime "^0.10.0" 260 | 261 | babel-template@^6.24.1: 262 | version "6.24.1" 263 | resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.24.1.tgz#04ae514f1f93b3a2537f2a0f60a5a45fb8308333" 264 | dependencies: 265 | babel-runtime "^6.22.0" 266 | babel-traverse "^6.24.1" 267 | babel-types "^6.24.1" 268 | babylon "^6.11.0" 269 | lodash "^4.2.0" 270 | 271 | babel-traverse@^6.24.1: 272 | version "6.24.1" 273 | resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.24.1.tgz#ab36673fd356f9a0948659e7b338d5feadb31695" 274 | dependencies: 275 | babel-code-frame "^6.22.0" 276 | babel-messages "^6.23.0" 277 | babel-runtime "^6.22.0" 278 | babel-types "^6.24.1" 279 | babylon "^6.15.0" 280 | debug "^2.2.0" 281 | globals "^9.0.0" 282 | invariant "^2.2.0" 283 | lodash "^4.2.0" 284 | 285 | babel-types@^6.24.1: 286 | version "6.24.1" 287 | resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.24.1.tgz#a136879dc15b3606bda0d90c1fc74304c2ff0975" 288 | dependencies: 289 | babel-runtime "^6.22.0" 290 | esutils "^2.0.2" 291 | lodash "^4.2.0" 292 | to-fast-properties "^1.0.1" 293 | 294 | babylon@^6.11.0, babylon@^6.15.0: 295 | version "6.17.1" 296 | resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.1.tgz#17f14fddf361b695981fe679385e4f1c01ebd86f" 297 | 298 | balanced-match@^0.4.1: 299 | version "0.4.2" 300 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" 301 | 302 | base64-js@^1.0.2: 303 | version "1.2.0" 304 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1" 305 | 306 | batch@0.5.3: 307 | version "0.5.3" 308 | resolved "https://registry.yarnpkg.com/batch/-/batch-0.5.3.tgz#3f3414f380321743bfc1042f9a83ff1d5824d464" 309 | 310 | bcrypt-pbkdf@^1.0.0: 311 | version "1.0.1" 312 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" 313 | dependencies: 314 | tweetnacl "^0.14.3" 315 | 316 | big.js@^3.1.3: 317 | version "3.1.3" 318 | resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978" 319 | 320 | binary-extensions@^1.0.0: 321 | version "1.8.0" 322 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774" 323 | 324 | block-stream@*: 325 | version "0.0.9" 326 | resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" 327 | dependencies: 328 | inherits "~2.0.0" 329 | 330 | bluebird@^3.4.1: 331 | version "3.5.0" 332 | resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c" 333 | 334 | boolbase@~1.0.0: 335 | version "1.0.0" 336 | resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" 337 | 338 | boom@2.x.x: 339 | version "2.10.1" 340 | resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" 341 | dependencies: 342 | hoek "2.x.x" 343 | 344 | brace-expansion@^1.1.7: 345 | version "1.1.7" 346 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.7.tgz#3effc3c50e000531fb720eaff80f0ae8ef23cf59" 347 | dependencies: 348 | balanced-match "^0.4.1" 349 | concat-map "0.0.1" 350 | 351 | braces@^1.8.2: 352 | version "1.8.5" 353 | resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" 354 | dependencies: 355 | expand-range "^1.8.1" 356 | preserve "^0.2.0" 357 | repeat-element "^1.1.2" 358 | 359 | browserify-zlib@~0.1.4: 360 | version "0.1.4" 361 | resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d" 362 | dependencies: 363 | pako "~0.2.0" 364 | 365 | buffer-shims@~1.0.0: 366 | version "1.0.0" 367 | resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" 368 | 369 | buffer@^4.9.0: 370 | version "4.9.1" 371 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" 372 | dependencies: 373 | base64-js "^1.0.2" 374 | ieee754 "^1.1.4" 375 | isarray "^1.0.0" 376 | 377 | bytes@2.3.0: 378 | version "2.3.0" 379 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.3.0.tgz#d5b680a165b6201739acb611542aabc2d8ceb070" 380 | 381 | camel-case@^3.0.0: 382 | version "3.0.0" 383 | resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" 384 | dependencies: 385 | no-case "^2.2.0" 386 | upper-case "^1.1.1" 387 | 388 | camelcase@^1.0.2: 389 | version "1.2.1" 390 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" 391 | 392 | caseless@~0.12.0: 393 | version "0.12.0" 394 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" 395 | 396 | center-align@^0.1.1: 397 | version "0.1.3" 398 | resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" 399 | dependencies: 400 | align-text "^0.1.3" 401 | lazy-cache "^1.0.3" 402 | 403 | chalk@^1.1.0: 404 | version "1.1.3" 405 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 406 | dependencies: 407 | ansi-styles "^2.2.1" 408 | escape-string-regexp "^1.0.2" 409 | has-ansi "^2.0.0" 410 | strip-ansi "^3.0.0" 411 | supports-color "^2.0.0" 412 | 413 | change-case@3.0.x: 414 | version "3.0.1" 415 | resolved "https://registry.yarnpkg.com/change-case/-/change-case-3.0.1.tgz#ee5f5ad0415ad1ad9e8072cf49cd4cfa7660a554" 416 | dependencies: 417 | camel-case "^3.0.0" 418 | constant-case "^2.0.0" 419 | dot-case "^2.1.0" 420 | header-case "^1.0.0" 421 | is-lower-case "^1.1.0" 422 | is-upper-case "^1.1.0" 423 | lower-case "^1.1.1" 424 | lower-case-first "^1.0.0" 425 | no-case "^2.2.0" 426 | param-case "^2.1.0" 427 | pascal-case "^2.0.0" 428 | path-case "^2.1.0" 429 | sentence-case "^2.1.0" 430 | snake-case "^2.1.0" 431 | swap-case "^1.1.0" 432 | title-case "^2.1.0" 433 | upper-case "^1.1.1" 434 | upper-case-first "^1.1.0" 435 | 436 | chokidar@^1.0.0: 437 | version "1.7.0" 438 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" 439 | dependencies: 440 | anymatch "^1.3.0" 441 | async-each "^1.0.0" 442 | glob-parent "^2.0.0" 443 | inherits "^2.0.1" 444 | is-binary-path "^1.0.0" 445 | is-glob "^2.0.0" 446 | path-is-absolute "^1.0.0" 447 | readdirp "^2.0.0" 448 | optionalDependencies: 449 | fsevents "^1.0.0" 450 | 451 | clean-css@3.4.x: 452 | version "3.4.26" 453 | resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-3.4.26.tgz#55323b344ff3bcee684a2eac81c93df8fa73deeb" 454 | dependencies: 455 | commander "2.8.x" 456 | source-map "0.4.x" 457 | 458 | cliui@^2.1.0: 459 | version "2.1.0" 460 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" 461 | dependencies: 462 | center-align "^0.1.1" 463 | right-align "^0.1.1" 464 | wordwrap "0.0.2" 465 | 466 | clone@^1.0.2: 467 | version "1.0.2" 468 | resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" 469 | 470 | co@^4.6.0: 471 | version "4.6.0" 472 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" 473 | 474 | code-point-at@^1.0.0: 475 | version "1.1.0" 476 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 477 | 478 | colors@^1.0.3: 479 | version "1.1.2" 480 | resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" 481 | 482 | combined-stream@^1.0.5, combined-stream@~1.0.5: 483 | version "1.0.5" 484 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" 485 | dependencies: 486 | delayed-stream "~1.0.0" 487 | 488 | commander@2.8.x: 489 | version "2.8.1" 490 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4" 491 | dependencies: 492 | graceful-readlink ">= 1.0.0" 493 | 494 | commander@2.9.x: 495 | version "2.9.0" 496 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" 497 | dependencies: 498 | graceful-readlink ">= 1.0.0" 499 | 500 | commondir@^1.0.1: 501 | version "1.0.1" 502 | resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" 503 | 504 | compressible@~2.0.8: 505 | version "2.0.10" 506 | resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.10.tgz#feda1c7f7617912732b29bf8cf26252a20b9eecd" 507 | dependencies: 508 | mime-db ">= 1.27.0 < 2" 509 | 510 | compression@^1.5.2: 511 | version "1.6.2" 512 | resolved "https://registry.yarnpkg.com/compression/-/compression-1.6.2.tgz#cceb121ecc9d09c52d7ad0c3350ea93ddd402bc3" 513 | dependencies: 514 | accepts "~1.3.3" 515 | bytes "2.3.0" 516 | compressible "~2.0.8" 517 | debug "~2.2.0" 518 | on-headers "~1.0.1" 519 | vary "~1.1.0" 520 | 521 | concat-map@0.0.1: 522 | version "0.0.1" 523 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 524 | 525 | connect-history-api-fallback@1.1.0: 526 | version "1.1.0" 527 | resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.1.0.tgz#5a6dee82d9a648cb29131d3f9dd400ffa4593742" 528 | 529 | console-browserify@^1.1.0: 530 | version "1.1.0" 531 | resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" 532 | dependencies: 533 | date-now "^0.1.4" 534 | 535 | console-control-strings@^1.0.0, console-control-strings@~1.1.0: 536 | version "1.1.0" 537 | resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" 538 | 539 | constant-case@^2.0.0: 540 | version "2.0.0" 541 | resolved "https://registry.yarnpkg.com/constant-case/-/constant-case-2.0.0.tgz#4175764d389d3fa9c8ecd29186ed6005243b6a46" 542 | dependencies: 543 | snake-case "^2.1.0" 544 | upper-case "^1.1.1" 545 | 546 | constants-browserify@0.0.1: 547 | version "0.0.1" 548 | resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-0.0.1.tgz#92577db527ba6c4cf0a4568d84bc031f441e21f2" 549 | 550 | content-disposition@0.5.2: 551 | version "0.5.2" 552 | resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" 553 | 554 | content-type@~1.0.2: 555 | version "1.0.2" 556 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed" 557 | 558 | convert-source-map@^1.1.0: 559 | version "1.5.0" 560 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" 561 | 562 | cookie-signature@1.0.6: 563 | version "1.0.6" 564 | resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" 565 | 566 | cookie@0.3.1: 567 | version "0.3.1" 568 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" 569 | 570 | core-js@^2.4.0: 571 | version "2.4.1" 572 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" 573 | 574 | core-util-is@~1.0.0: 575 | version "1.0.2" 576 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 577 | 578 | cryptiles@2.x.x: 579 | version "2.0.5" 580 | resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" 581 | dependencies: 582 | boom "2.x.x" 583 | 584 | crypto-browserify@~3.2.6: 585 | version "3.2.8" 586 | resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.2.8.tgz#b9b11dbe6d9651dd882a01e6cc467df718ecf189" 587 | dependencies: 588 | pbkdf2-compat "2.0.1" 589 | ripemd160 "0.2.0" 590 | sha.js "2.2.6" 591 | 592 | css-select@^1.1.0: 593 | version "1.2.0" 594 | resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" 595 | dependencies: 596 | boolbase "~1.0.0" 597 | css-what "2.1" 598 | domutils "1.5.1" 599 | nth-check "~1.0.1" 600 | 601 | css-what@2.1: 602 | version "2.1.0" 603 | resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd" 604 | 605 | dashdash@^1.12.0: 606 | version "1.14.1" 607 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" 608 | dependencies: 609 | assert-plus "^1.0.0" 610 | 611 | date-now@^0.1.4: 612 | version "0.1.4" 613 | resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" 614 | 615 | debug@2.6.7: 616 | version "2.6.7" 617 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.7.tgz#92bad1f6d05bbb6bba22cca88bcd0ec894c2861e" 618 | dependencies: 619 | ms "2.0.0" 620 | 621 | debug@^2.1.1, debug@^2.2.0, debug@^2.6.6: 622 | version "2.6.8" 623 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" 624 | dependencies: 625 | ms "2.0.0" 626 | 627 | debug@~2.2.0: 628 | version "2.2.0" 629 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" 630 | dependencies: 631 | ms "0.7.1" 632 | 633 | decamelize@^1.0.0: 634 | version "1.2.0" 635 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 636 | 637 | deep-extend@~0.4.0: 638 | version "0.4.2" 639 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" 640 | 641 | delayed-stream@~1.0.0: 642 | version "1.0.0" 643 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 644 | 645 | delegates@^1.0.0: 646 | version "1.0.0" 647 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" 648 | 649 | depd@1.1.0, depd@~1.1.0: 650 | version "1.1.0" 651 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" 652 | 653 | destroy@~1.0.4: 654 | version "1.0.4" 655 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" 656 | 657 | detect-indent@^4.0.0: 658 | version "4.0.0" 659 | resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" 660 | dependencies: 661 | repeating "^2.0.0" 662 | 663 | dom-converter@~0.1: 664 | version "0.1.4" 665 | resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.1.4.tgz#a45ef5727b890c9bffe6d7c876e7b19cb0e17f3b" 666 | dependencies: 667 | utila "~0.3" 668 | 669 | dom-serializer@0: 670 | version "0.1.0" 671 | resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82" 672 | dependencies: 673 | domelementtype "~1.1.1" 674 | entities "~1.1.1" 675 | 676 | domain-browser@^1.1.1: 677 | version "1.1.7" 678 | resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" 679 | 680 | domelementtype@1: 681 | version "1.3.0" 682 | resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2" 683 | 684 | domelementtype@~1.1.1: 685 | version "1.1.3" 686 | resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" 687 | 688 | domhandler@2.1: 689 | version "2.1.0" 690 | resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.1.0.tgz#d2646f5e57f6c3bab11cf6cb05d3c0acf7412594" 691 | dependencies: 692 | domelementtype "1" 693 | 694 | domutils@1.1: 695 | version "1.1.6" 696 | resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.1.6.tgz#bddc3de099b9a2efacc51c623f28f416ecc57485" 697 | dependencies: 698 | domelementtype "1" 699 | 700 | domutils@1.5.1: 701 | version "1.5.1" 702 | resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" 703 | dependencies: 704 | dom-serializer "0" 705 | domelementtype "1" 706 | 707 | dot-case@^2.1.0: 708 | version "2.1.1" 709 | resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-2.1.1.tgz#34dcf37f50a8e93c2b3bca8bb7fb9155c7da3bee" 710 | dependencies: 711 | no-case "^2.2.0" 712 | 713 | ecc-jsbn@~0.1.1: 714 | version "0.1.1" 715 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" 716 | dependencies: 717 | jsbn "~0.1.0" 718 | 719 | ee-first@1.1.1: 720 | version "1.1.1" 721 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" 722 | 723 | emojis-list@^2.0.0: 724 | version "2.1.0" 725 | resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" 726 | 727 | encodeurl@~1.0.1: 728 | version "1.0.1" 729 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20" 730 | 731 | enhanced-resolve@^0.9.0, enhanced-resolve@~0.9.0: 732 | version "0.9.1" 733 | resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz#4d6e689b3725f86090927ccc86cd9f1635b89e2e" 734 | dependencies: 735 | graceful-fs "^4.1.2" 736 | memory-fs "^0.2.0" 737 | tapable "^0.1.8" 738 | 739 | entities@~1.1.1: 740 | version "1.1.1" 741 | resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" 742 | 743 | errno@^0.1.3: 744 | version "0.1.4" 745 | resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d" 746 | dependencies: 747 | prr "~0.0.0" 748 | 749 | escape-html@~1.0.3: 750 | version "1.0.3" 751 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" 752 | 753 | escape-string-regexp@^1.0.2: 754 | version "1.0.5" 755 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 756 | 757 | esutils@^2.0.2: 758 | version "2.0.2" 759 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" 760 | 761 | etag@~1.8.0: 762 | version "1.8.0" 763 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.0.tgz#6f631aef336d6c46362b51764044ce216be3c051" 764 | 765 | eventemitter3@1.x.x: 766 | version "1.2.0" 767 | resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508" 768 | 769 | events@^1.0.0: 770 | version "1.1.1" 771 | resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" 772 | 773 | eventsource@0.1.6: 774 | version "0.1.6" 775 | resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-0.1.6.tgz#0acede849ed7dd1ccc32c811bb11b944d4f29232" 776 | dependencies: 777 | original ">=0.0.5" 778 | 779 | expand-brackets@^0.1.4: 780 | version "0.1.5" 781 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" 782 | dependencies: 783 | is-posix-bracket "^0.1.0" 784 | 785 | expand-range@^1.8.1: 786 | version "1.8.2" 787 | resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" 788 | dependencies: 789 | fill-range "^2.1.0" 790 | 791 | express@^4.13.3: 792 | version "4.15.3" 793 | resolved "https://registry.yarnpkg.com/express/-/express-4.15.3.tgz#bab65d0f03aa80c358408972fc700f916944b662" 794 | dependencies: 795 | accepts "~1.3.3" 796 | array-flatten "1.1.1" 797 | content-disposition "0.5.2" 798 | content-type "~1.0.2" 799 | cookie "0.3.1" 800 | cookie-signature "1.0.6" 801 | debug "2.6.7" 802 | depd "~1.1.0" 803 | encodeurl "~1.0.1" 804 | escape-html "~1.0.3" 805 | etag "~1.8.0" 806 | finalhandler "~1.0.3" 807 | fresh "0.5.0" 808 | merge-descriptors "1.0.1" 809 | methods "~1.1.2" 810 | on-finished "~2.3.0" 811 | parseurl "~1.3.1" 812 | path-to-regexp "0.1.7" 813 | proxy-addr "~1.1.4" 814 | qs "6.4.0" 815 | range-parser "~1.2.0" 816 | send "0.15.3" 817 | serve-static "1.12.3" 818 | setprototypeof "1.0.3" 819 | statuses "~1.3.1" 820 | type-is "~1.6.15" 821 | utils-merge "1.0.0" 822 | vary "~1.1.1" 823 | 824 | extend@~3.0.0: 825 | version "3.0.1" 826 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" 827 | 828 | extglob@^0.3.1: 829 | version "0.3.2" 830 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" 831 | dependencies: 832 | is-extglob "^1.0.0" 833 | 834 | extsprintf@1.0.2: 835 | version "1.0.2" 836 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" 837 | 838 | faye-websocket@^0.10.0: 839 | version "0.10.0" 840 | resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" 841 | dependencies: 842 | websocket-driver ">=0.5.1" 843 | 844 | faye-websocket@~0.11.0: 845 | version "0.11.1" 846 | resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38" 847 | dependencies: 848 | websocket-driver ">=0.5.1" 849 | 850 | filename-regex@^2.0.0: 851 | version "2.0.1" 852 | resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" 853 | 854 | fill-range@^2.1.0: 855 | version "2.2.3" 856 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" 857 | dependencies: 858 | is-number "^2.1.0" 859 | isobject "^2.0.0" 860 | randomatic "^1.1.3" 861 | repeat-element "^1.1.2" 862 | repeat-string "^1.5.2" 863 | 864 | finalhandler@~1.0.3: 865 | version "1.0.3" 866 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.0.3.tgz#ef47e77950e999780e86022a560e3217e0d0cc89" 867 | dependencies: 868 | debug "2.6.7" 869 | encodeurl "~1.0.1" 870 | escape-html "~1.0.3" 871 | on-finished "~2.3.0" 872 | parseurl "~1.3.1" 873 | statuses "~1.3.1" 874 | unpipe "~1.0.0" 875 | 876 | find-cache-dir@^0.1.1: 877 | version "0.1.1" 878 | resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" 879 | dependencies: 880 | commondir "^1.0.1" 881 | mkdirp "^0.5.1" 882 | pkg-dir "^1.0.0" 883 | 884 | find-up@^1.0.0: 885 | version "1.1.2" 886 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" 887 | dependencies: 888 | path-exists "^2.0.0" 889 | pinkie-promise "^2.0.0" 890 | 891 | for-in@^1.0.1: 892 | version "1.0.2" 893 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" 894 | 895 | for-own@^0.1.4: 896 | version "0.1.5" 897 | resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" 898 | dependencies: 899 | for-in "^1.0.1" 900 | 901 | forever-agent@~0.6.1: 902 | version "0.6.1" 903 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" 904 | 905 | form-data@~2.1.1: 906 | version "2.1.4" 907 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" 908 | dependencies: 909 | asynckit "^0.4.0" 910 | combined-stream "^1.0.5" 911 | mime-types "^2.1.12" 912 | 913 | forwarded@~0.1.0: 914 | version "0.1.0" 915 | resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.0.tgz#19ef9874c4ae1c297bcf078fde63a09b66a84363" 916 | 917 | fresh@0.5.0: 918 | version "0.5.0" 919 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.0.tgz#f474ca5e6a9246d6fd8e0953cfa9b9c805afa78e" 920 | 921 | fs.realpath@^1.0.0: 922 | version "1.0.0" 923 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 924 | 925 | fsevents@^1.0.0: 926 | version "1.1.1" 927 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.1.tgz#f19fd28f43eeaf761680e519a203c4d0b3d31aff" 928 | dependencies: 929 | nan "^2.3.0" 930 | node-pre-gyp "^0.6.29" 931 | 932 | fstream-ignore@^1.0.5: 933 | version "1.0.5" 934 | resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" 935 | dependencies: 936 | fstream "^1.0.0" 937 | inherits "2" 938 | minimatch "^3.0.0" 939 | 940 | fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: 941 | version "1.0.11" 942 | resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" 943 | dependencies: 944 | graceful-fs "^4.1.2" 945 | inherits "~2.0.0" 946 | mkdirp ">=0.5 0" 947 | rimraf "2" 948 | 949 | gauge@~2.7.3: 950 | version "2.7.4" 951 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" 952 | dependencies: 953 | aproba "^1.0.3" 954 | console-control-strings "^1.0.0" 955 | has-unicode "^2.0.0" 956 | object-assign "^4.1.0" 957 | signal-exit "^3.0.0" 958 | string-width "^1.0.1" 959 | strip-ansi "^3.0.1" 960 | wide-align "^1.1.0" 961 | 962 | getpass@^0.1.1: 963 | version "0.1.7" 964 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" 965 | dependencies: 966 | assert-plus "^1.0.0" 967 | 968 | glob-base@^0.3.0: 969 | version "0.3.0" 970 | resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" 971 | dependencies: 972 | glob-parent "^2.0.0" 973 | is-glob "^2.0.0" 974 | 975 | glob-parent@^2.0.0: 976 | version "2.0.0" 977 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" 978 | dependencies: 979 | is-glob "^2.0.0" 980 | 981 | glob@^7.0.5: 982 | version "7.1.2" 983 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" 984 | dependencies: 985 | fs.realpath "^1.0.0" 986 | inflight "^1.0.4" 987 | inherits "2" 988 | minimatch "^3.0.4" 989 | once "^1.3.0" 990 | path-is-absolute "^1.0.0" 991 | 992 | globals@^9.0.0: 993 | version "9.17.0" 994 | resolved "https://registry.yarnpkg.com/globals/-/globals-9.17.0.tgz#0c0ca696d9b9bb694d2e5470bd37777caad50286" 995 | 996 | graceful-fs@^4.1.2: 997 | version "4.1.11" 998 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" 999 | 1000 | "graceful-readlink@>= 1.0.0": 1001 | version "1.0.1" 1002 | resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" 1003 | 1004 | har-schema@^1.0.5: 1005 | version "1.0.5" 1006 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" 1007 | 1008 | har-validator@~4.2.1: 1009 | version "4.2.1" 1010 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" 1011 | dependencies: 1012 | ajv "^4.9.1" 1013 | har-schema "^1.0.5" 1014 | 1015 | has-ansi@^2.0.0: 1016 | version "2.0.0" 1017 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 1018 | dependencies: 1019 | ansi-regex "^2.0.0" 1020 | 1021 | has-flag@^1.0.0: 1022 | version "1.0.0" 1023 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" 1024 | 1025 | has-unicode@^2.0.0: 1026 | version "2.0.1" 1027 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" 1028 | 1029 | hawk@~3.1.3: 1030 | version "3.1.3" 1031 | resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" 1032 | dependencies: 1033 | boom "2.x.x" 1034 | cryptiles "2.x.x" 1035 | hoek "2.x.x" 1036 | sntp "1.x.x" 1037 | 1038 | he@1.1.x: 1039 | version "1.1.1" 1040 | resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" 1041 | 1042 | header-case@^1.0.0: 1043 | version "1.0.1" 1044 | resolved "https://registry.yarnpkg.com/header-case/-/header-case-1.0.1.tgz#9535973197c144b09613cd65d317ef19963bd02d" 1045 | dependencies: 1046 | no-case "^2.2.0" 1047 | upper-case "^1.1.3" 1048 | 1049 | hoek@2.x.x: 1050 | version "2.16.3" 1051 | resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" 1052 | 1053 | home-or-tmp@^2.0.0: 1054 | version "2.0.0" 1055 | resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" 1056 | dependencies: 1057 | os-homedir "^1.0.0" 1058 | os-tmpdir "^1.0.1" 1059 | 1060 | html-minifier@^2.1.6: 1061 | version "2.1.7" 1062 | resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-2.1.7.tgz#9051d6fcbbcf214ed307e1ad74f432bb9ad655cc" 1063 | dependencies: 1064 | change-case "3.0.x" 1065 | clean-css "3.4.x" 1066 | commander "2.9.x" 1067 | he "1.1.x" 1068 | ncname "1.0.x" 1069 | relateurl "0.2.x" 1070 | uglify-js "2.6.x" 1071 | 1072 | html-webpack-plugin@~2.22.0: 1073 | version "2.22.0" 1074 | resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-2.22.0.tgz#7eb02ff9039da84e5ba71004d4693c04b92d2905" 1075 | dependencies: 1076 | bluebird "^3.4.1" 1077 | html-minifier "^2.1.6" 1078 | loader-utils "^0.2.15" 1079 | lodash "^4.13.1" 1080 | pretty-error "^2.0.0" 1081 | toposort "^1.0.0" 1082 | 1083 | htmlparser2@~3.3.0: 1084 | version "3.3.0" 1085 | resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.3.0.tgz#cc70d05a59f6542e43f0e685c982e14c924a9efe" 1086 | dependencies: 1087 | domelementtype "1" 1088 | domhandler "2.1" 1089 | domutils "1.1" 1090 | readable-stream "1.0" 1091 | 1092 | http-browserify@^1.3.2: 1093 | version "1.7.0" 1094 | resolved "https://registry.yarnpkg.com/http-browserify/-/http-browserify-1.7.0.tgz#33795ade72df88acfbfd36773cefeda764735b20" 1095 | dependencies: 1096 | Base64 "~0.2.0" 1097 | inherits "~2.0.1" 1098 | 1099 | http-errors@~1.5.0: 1100 | version "1.5.1" 1101 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.5.1.tgz#788c0d2c1de2c81b9e6e8c01843b6b97eb920750" 1102 | dependencies: 1103 | inherits "2.0.3" 1104 | setprototypeof "1.0.2" 1105 | statuses ">= 1.3.1 < 2" 1106 | 1107 | http-errors@~1.6.1: 1108 | version "1.6.1" 1109 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.1.tgz#5f8b8ed98aca545656bf572997387f904a722257" 1110 | dependencies: 1111 | depd "1.1.0" 1112 | inherits "2.0.3" 1113 | setprototypeof "1.0.3" 1114 | statuses ">= 1.3.1 < 2" 1115 | 1116 | http-proxy@^1.11.2: 1117 | version "1.16.2" 1118 | resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.16.2.tgz#06dff292952bf64dbe8471fa9df73066d4f37742" 1119 | dependencies: 1120 | eventemitter3 "1.x.x" 1121 | requires-port "1.x.x" 1122 | 1123 | http-signature@~1.1.0: 1124 | version "1.1.1" 1125 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" 1126 | dependencies: 1127 | assert-plus "^0.2.0" 1128 | jsprim "^1.2.2" 1129 | sshpk "^1.7.0" 1130 | 1131 | https-browserify@0.0.0: 1132 | version "0.0.0" 1133 | resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.0.tgz#b3ffdfe734b2a3d4a9efd58e8654c91fce86eafd" 1134 | 1135 | ieee754@^1.1.4: 1136 | version "1.1.8" 1137 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" 1138 | 1139 | indexof@0.0.1: 1140 | version "0.0.1" 1141 | resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" 1142 | 1143 | inflight@^1.0.4: 1144 | version "1.0.6" 1145 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1146 | dependencies: 1147 | once "^1.3.0" 1148 | wrappy "1" 1149 | 1150 | inherits@2, inherits@2.0.3, inherits@~2.0.0: 1151 | version "2.0.3" 1152 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 1153 | 1154 | inherits@2.0.1, inherits@^2.0.1, inherits@~2.0.1: 1155 | version "2.0.1" 1156 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" 1157 | 1158 | ini@~1.3.0: 1159 | version "1.3.4" 1160 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" 1161 | 1162 | interpret@^0.6.4: 1163 | version "0.6.6" 1164 | resolved "https://registry.yarnpkg.com/interpret/-/interpret-0.6.6.tgz#fecd7a18e7ce5ca6abfb953e1f86213a49f1625b" 1165 | 1166 | invariant@^2.2.0: 1167 | version "2.2.2" 1168 | resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" 1169 | dependencies: 1170 | loose-envify "^1.0.0" 1171 | 1172 | ipaddr.js@1.3.0: 1173 | version "1.3.0" 1174 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.3.0.tgz#1e03a52fdad83a8bbb2b25cbf4998b4cffcd3dec" 1175 | 1176 | is-binary-path@^1.0.0: 1177 | version "1.0.1" 1178 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" 1179 | dependencies: 1180 | binary-extensions "^1.0.0" 1181 | 1182 | is-buffer@^1.1.5: 1183 | version "1.1.5" 1184 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc" 1185 | 1186 | is-dotfile@^1.0.0: 1187 | version "1.0.2" 1188 | resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d" 1189 | 1190 | is-equal-shallow@^0.1.3: 1191 | version "0.1.3" 1192 | resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" 1193 | dependencies: 1194 | is-primitive "^2.0.0" 1195 | 1196 | is-extendable@^0.1.1: 1197 | version "0.1.1" 1198 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" 1199 | 1200 | is-extglob@^1.0.0: 1201 | version "1.0.0" 1202 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" 1203 | 1204 | is-finite@^1.0.0: 1205 | version "1.0.2" 1206 | resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" 1207 | dependencies: 1208 | number-is-nan "^1.0.0" 1209 | 1210 | is-fullwidth-code-point@^1.0.0: 1211 | version "1.0.0" 1212 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 1213 | dependencies: 1214 | number-is-nan "^1.0.0" 1215 | 1216 | is-glob@^2.0.0, is-glob@^2.0.1: 1217 | version "2.0.1" 1218 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" 1219 | dependencies: 1220 | is-extglob "^1.0.0" 1221 | 1222 | is-lower-case@^1.1.0: 1223 | version "1.1.3" 1224 | resolved "https://registry.yarnpkg.com/is-lower-case/-/is-lower-case-1.1.3.tgz#7e147be4768dc466db3bfb21cc60b31e6ad69393" 1225 | dependencies: 1226 | lower-case "^1.1.0" 1227 | 1228 | is-number@^2.0.2, is-number@^2.1.0: 1229 | version "2.1.0" 1230 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" 1231 | dependencies: 1232 | kind-of "^3.0.2" 1233 | 1234 | is-posix-bracket@^0.1.0: 1235 | version "0.1.1" 1236 | resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" 1237 | 1238 | is-primitive@^2.0.0: 1239 | version "2.0.0" 1240 | resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" 1241 | 1242 | is-typedarray@~1.0.0: 1243 | version "1.0.0" 1244 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 1245 | 1246 | is-upper-case@^1.1.0: 1247 | version "1.1.2" 1248 | resolved "https://registry.yarnpkg.com/is-upper-case/-/is-upper-case-1.1.2.tgz#8d0b1fa7e7933a1e58483600ec7d9661cbaf756f" 1249 | dependencies: 1250 | upper-case "^1.1.0" 1251 | 1252 | isarray@0.0.1: 1253 | version "0.0.1" 1254 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" 1255 | 1256 | isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: 1257 | version "1.0.0" 1258 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 1259 | 1260 | isobject@^2.0.0: 1261 | version "2.1.0" 1262 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" 1263 | dependencies: 1264 | isarray "1.0.0" 1265 | 1266 | isstream@~0.1.2: 1267 | version "0.1.2" 1268 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 1269 | 1270 | jodid25519@^1.0.0: 1271 | version "1.0.2" 1272 | resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" 1273 | dependencies: 1274 | jsbn "~0.1.0" 1275 | 1276 | js-tokens@^3.0.0: 1277 | version "3.0.1" 1278 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" 1279 | 1280 | jsbn@~0.1.0: 1281 | version "0.1.1" 1282 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" 1283 | 1284 | jsesc@^1.3.0: 1285 | version "1.3.0" 1286 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" 1287 | 1288 | json-loader@^0.5.2: 1289 | version "0.5.4" 1290 | resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.4.tgz#8baa1365a632f58a3c46d20175fc6002c96e37de" 1291 | 1292 | json-schema@0.2.3: 1293 | version "0.2.3" 1294 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" 1295 | 1296 | json-stable-stringify@^1.0.1: 1297 | version "1.0.1" 1298 | resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" 1299 | dependencies: 1300 | jsonify "~0.0.0" 1301 | 1302 | json-stringify-safe@~5.0.1: 1303 | version "5.0.1" 1304 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 1305 | 1306 | json3@^3.3.2: 1307 | version "3.3.2" 1308 | resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" 1309 | 1310 | json5@^0.5.0: 1311 | version "0.5.1" 1312 | resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" 1313 | 1314 | jsonify@~0.0.0: 1315 | version "0.0.0" 1316 | resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" 1317 | 1318 | jsprim@^1.2.2: 1319 | version "1.4.0" 1320 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918" 1321 | dependencies: 1322 | assert-plus "1.0.0" 1323 | extsprintf "1.0.2" 1324 | json-schema "0.2.3" 1325 | verror "1.3.6" 1326 | 1327 | kind-of@^3.0.2: 1328 | version "3.2.2" 1329 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" 1330 | dependencies: 1331 | is-buffer "^1.1.5" 1332 | 1333 | lazy-cache@^1.0.3: 1334 | version "1.0.4" 1335 | resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" 1336 | 1337 | loader-utils@^0.2.11, loader-utils@^0.2.15, loader-utils@^0.2.16, loader-utils@^0.2.6: 1338 | version "0.2.17" 1339 | resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" 1340 | dependencies: 1341 | big.js "^3.1.3" 1342 | emojis-list "^2.0.0" 1343 | json5 "^0.5.0" 1344 | object-assign "^4.0.1" 1345 | 1346 | lodash@^4.13.1, lodash@^4.2.0: 1347 | version "4.17.4" 1348 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" 1349 | 1350 | longest@^1.0.1: 1351 | version "1.0.1" 1352 | resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" 1353 | 1354 | loose-envify@^1.0.0: 1355 | version "1.3.1" 1356 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" 1357 | dependencies: 1358 | js-tokens "^3.0.0" 1359 | 1360 | lower-case-first@^1.0.0: 1361 | version "1.0.2" 1362 | resolved "https://registry.yarnpkg.com/lower-case-first/-/lower-case-first-1.0.2.tgz#e5da7c26f29a7073be02d52bac9980e5922adfa1" 1363 | dependencies: 1364 | lower-case "^1.1.2" 1365 | 1366 | lower-case@^1.1.0, lower-case@^1.1.1, lower-case@^1.1.2: 1367 | version "1.1.4" 1368 | resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" 1369 | 1370 | media-typer@0.3.0: 1371 | version "0.3.0" 1372 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" 1373 | 1374 | memory-fs@^0.2.0: 1375 | version "0.2.0" 1376 | resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.2.0.tgz#f2bb25368bc121e391c2520de92969caee0a0290" 1377 | 1378 | memory-fs@~0.3.0: 1379 | version "0.3.0" 1380 | resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.3.0.tgz#7bcc6b629e3a43e871d7e29aca6ae8a7f15cbb20" 1381 | dependencies: 1382 | errno "^0.1.3" 1383 | readable-stream "^2.0.1" 1384 | 1385 | memory-fs@~0.4.1: 1386 | version "0.4.1" 1387 | resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" 1388 | dependencies: 1389 | errno "^0.1.3" 1390 | readable-stream "^2.0.1" 1391 | 1392 | merge-descriptors@1.0.1: 1393 | version "1.0.1" 1394 | resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" 1395 | 1396 | methods@~1.1.2: 1397 | version "1.1.2" 1398 | resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" 1399 | 1400 | micromatch@^2.1.5: 1401 | version "2.3.11" 1402 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" 1403 | dependencies: 1404 | arr-diff "^2.0.0" 1405 | array-unique "^0.2.1" 1406 | braces "^1.8.2" 1407 | expand-brackets "^0.1.4" 1408 | extglob "^0.3.1" 1409 | filename-regex "^2.0.0" 1410 | is-extglob "^1.0.0" 1411 | is-glob "^2.0.1" 1412 | kind-of "^3.0.2" 1413 | normalize-path "^2.0.1" 1414 | object.omit "^2.0.0" 1415 | parse-glob "^3.0.4" 1416 | regex-cache "^0.4.2" 1417 | 1418 | "mime-db@>= 1.27.0 < 2": 1419 | version "1.28.0" 1420 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.28.0.tgz#fedd349be06d2865b7fc57d837c6de4f17d7ac3c" 1421 | 1422 | mime-db@~1.27.0: 1423 | version "1.27.0" 1424 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1" 1425 | 1426 | mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.15, mime-types@~2.1.7: 1427 | version "2.1.15" 1428 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed" 1429 | dependencies: 1430 | mime-db "~1.27.0" 1431 | 1432 | mime@1.3.4: 1433 | version "1.3.4" 1434 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" 1435 | 1436 | mime@^1.3.4: 1437 | version "1.3.6" 1438 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.6.tgz#591d84d3653a6b0b4a3b9df8de5aa8108e72e5e0" 1439 | 1440 | minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4: 1441 | version "3.0.4" 1442 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 1443 | dependencies: 1444 | brace-expansion "^1.1.7" 1445 | 1446 | minimist@0.0.8, minimist@~0.0.1: 1447 | version "0.0.8" 1448 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 1449 | 1450 | minimist@^1.2.0: 1451 | version "1.2.0" 1452 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 1453 | 1454 | "mkdirp@>=0.5 0", mkdirp@^0.5.1, mkdirp@~0.5.0: 1455 | version "0.5.1" 1456 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 1457 | dependencies: 1458 | minimist "0.0.8" 1459 | 1460 | ms@0.7.1: 1461 | version "0.7.1" 1462 | resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" 1463 | 1464 | ms@2.0.0: 1465 | version "2.0.0" 1466 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 1467 | 1468 | nan@^2.3.0: 1469 | version "2.6.2" 1470 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45" 1471 | 1472 | ncname@1.0.x: 1473 | version "1.0.0" 1474 | resolved "https://registry.yarnpkg.com/ncname/-/ncname-1.0.0.tgz#5b57ad18b1ca092864ef62b0b1ed8194f383b71c" 1475 | dependencies: 1476 | xml-char-classes "^1.0.0" 1477 | 1478 | negotiator@0.6.1: 1479 | version "0.6.1" 1480 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" 1481 | 1482 | no-case@^2.2.0: 1483 | version "2.3.1" 1484 | resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.1.tgz#7aeba1c73a52184265554b7dc03baf720df80081" 1485 | dependencies: 1486 | lower-case "^1.1.1" 1487 | 1488 | node-libs-browser@^0.6.0: 1489 | version "0.6.0" 1490 | resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-0.6.0.tgz#244806d44d319e048bc8607b5cc4eaf9a29d2e3c" 1491 | dependencies: 1492 | assert "^1.1.1" 1493 | browserify-zlib "~0.1.4" 1494 | buffer "^4.9.0" 1495 | console-browserify "^1.1.0" 1496 | constants-browserify "0.0.1" 1497 | crypto-browserify "~3.2.6" 1498 | domain-browser "^1.1.1" 1499 | events "^1.0.0" 1500 | http-browserify "^1.3.2" 1501 | https-browserify "0.0.0" 1502 | os-browserify "~0.1.2" 1503 | path-browserify "0.0.0" 1504 | process "^0.11.0" 1505 | punycode "^1.2.4" 1506 | querystring-es3 "~0.2.0" 1507 | readable-stream "^1.1.13" 1508 | stream-browserify "^1.0.0" 1509 | string_decoder "~0.10.25" 1510 | timers-browserify "^1.0.1" 1511 | tty-browserify "0.0.0" 1512 | url "~0.10.1" 1513 | util "~0.10.3" 1514 | vm-browserify "0.0.4" 1515 | 1516 | node-pre-gyp@^0.6.29: 1517 | version "0.6.34" 1518 | resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.34.tgz#94ad1c798a11d7fc67381b50d47f8cc18d9799f7" 1519 | dependencies: 1520 | mkdirp "^0.5.1" 1521 | nopt "^4.0.1" 1522 | npmlog "^4.0.2" 1523 | rc "^1.1.7" 1524 | request "^2.81.0" 1525 | rimraf "^2.6.1" 1526 | semver "^5.3.0" 1527 | tar "^2.2.1" 1528 | tar-pack "^3.4.0" 1529 | 1530 | nopt@^4.0.1: 1531 | version "4.0.1" 1532 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" 1533 | dependencies: 1534 | abbrev "1" 1535 | osenv "^0.1.4" 1536 | 1537 | normalize-path@^2.0.1: 1538 | version "2.1.1" 1539 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" 1540 | dependencies: 1541 | remove-trailing-separator "^1.0.1" 1542 | 1543 | npmlog@^4.0.2: 1544 | version "4.1.0" 1545 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.0.tgz#dc59bee85f64f00ed424efb2af0783df25d1c0b5" 1546 | dependencies: 1547 | are-we-there-yet "~1.1.2" 1548 | console-control-strings "~1.1.0" 1549 | gauge "~2.7.3" 1550 | set-blocking "~2.0.0" 1551 | 1552 | nth-check@~1.0.1: 1553 | version "1.0.1" 1554 | resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.1.tgz#9929acdf628fc2c41098deab82ac580cf149aae4" 1555 | dependencies: 1556 | boolbase "~1.0.0" 1557 | 1558 | number-is-nan@^1.0.0: 1559 | version "1.0.1" 1560 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 1561 | 1562 | oauth-sign@~0.8.1: 1563 | version "0.8.2" 1564 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" 1565 | 1566 | object-assign@^2.0.0: 1567 | version "2.1.1" 1568 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-2.1.1.tgz#43c36e5d569ff8e4816c4efa8be02d26967c18aa" 1569 | 1570 | object-assign@^4.0.1, object-assign@^4.1.0: 1571 | version "4.1.1" 1572 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 1573 | 1574 | object.omit@^2.0.0: 1575 | version "2.0.1" 1576 | resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" 1577 | dependencies: 1578 | for-own "^0.1.4" 1579 | is-extendable "^0.1.1" 1580 | 1581 | on-finished@~2.3.0: 1582 | version "2.3.0" 1583 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" 1584 | dependencies: 1585 | ee-first "1.1.1" 1586 | 1587 | on-headers@~1.0.1: 1588 | version "1.0.1" 1589 | resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7" 1590 | 1591 | once@^1.3.0, once@^1.3.3: 1592 | version "1.4.0" 1593 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1594 | dependencies: 1595 | wrappy "1" 1596 | 1597 | optimist@~0.6.0: 1598 | version "0.6.1" 1599 | resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" 1600 | dependencies: 1601 | minimist "~0.0.1" 1602 | wordwrap "~0.0.2" 1603 | 1604 | original@>=0.0.5: 1605 | version "1.0.0" 1606 | resolved "https://registry.yarnpkg.com/original/-/original-1.0.0.tgz#9147f93fa1696d04be61e01bd50baeaca656bd3b" 1607 | dependencies: 1608 | url-parse "1.0.x" 1609 | 1610 | os-browserify@~0.1.2: 1611 | version "0.1.2" 1612 | resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.1.2.tgz#49ca0293e0b19590a5f5de10c7f265a617d8fe54" 1613 | 1614 | os-homedir@^1.0.0: 1615 | version "1.0.2" 1616 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 1617 | 1618 | os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: 1619 | version "1.0.2" 1620 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 1621 | 1622 | osenv@^0.1.4: 1623 | version "0.1.4" 1624 | resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" 1625 | dependencies: 1626 | os-homedir "^1.0.0" 1627 | os-tmpdir "^1.0.0" 1628 | 1629 | pako@~0.2.0: 1630 | version "0.2.9" 1631 | resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" 1632 | 1633 | param-case@^2.1.0: 1634 | version "2.1.1" 1635 | resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" 1636 | dependencies: 1637 | no-case "^2.2.0" 1638 | 1639 | parse-glob@^3.0.4: 1640 | version "3.0.4" 1641 | resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" 1642 | dependencies: 1643 | glob-base "^0.3.0" 1644 | is-dotfile "^1.0.0" 1645 | is-extglob "^1.0.0" 1646 | is-glob "^2.0.0" 1647 | 1648 | parseurl@~1.3.1: 1649 | version "1.3.1" 1650 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56" 1651 | 1652 | pascal-case@^2.0.0: 1653 | version "2.0.1" 1654 | resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-2.0.1.tgz#2d578d3455f660da65eca18ef95b4e0de912761e" 1655 | dependencies: 1656 | camel-case "^3.0.0" 1657 | upper-case-first "^1.1.0" 1658 | 1659 | path-browserify@0.0.0: 1660 | version "0.0.0" 1661 | resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" 1662 | 1663 | path-case@^2.1.0: 1664 | version "2.1.1" 1665 | resolved "https://registry.yarnpkg.com/path-case/-/path-case-2.1.1.tgz#94b8037c372d3fe2906e465bb45e25d226e8eea5" 1666 | dependencies: 1667 | no-case "^2.2.0" 1668 | 1669 | path-exists@^2.0.0: 1670 | version "2.1.0" 1671 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" 1672 | dependencies: 1673 | pinkie-promise "^2.0.0" 1674 | 1675 | path-is-absolute@^1.0.0: 1676 | version "1.0.1" 1677 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1678 | 1679 | path-to-regexp@0.1.7: 1680 | version "0.1.7" 1681 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" 1682 | 1683 | path@^0.4.9: 1684 | version "0.4.10" 1685 | resolved "https://registry.yarnpkg.com/path/-/path-0.4.10.tgz#22fef27b7cd6eaf30fb13fc027801e956e518ef1" 1686 | 1687 | pbkdf2-compat@2.0.1: 1688 | version "2.0.1" 1689 | resolved "https://registry.yarnpkg.com/pbkdf2-compat/-/pbkdf2-compat-2.0.1.tgz#b6e0c8fa99494d94e0511575802a59a5c142f288" 1690 | 1691 | performance-now@^0.2.0: 1692 | version "0.2.0" 1693 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" 1694 | 1695 | pinkie-promise@^2.0.0: 1696 | version "2.0.1" 1697 | resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" 1698 | dependencies: 1699 | pinkie "^2.0.0" 1700 | 1701 | pinkie@^2.0.0: 1702 | version "2.0.4" 1703 | resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" 1704 | 1705 | pkg-dir@^1.0.0: 1706 | version "1.0.0" 1707 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" 1708 | dependencies: 1709 | find-up "^1.0.0" 1710 | 1711 | preserve@^0.2.0: 1712 | version "0.2.0" 1713 | resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" 1714 | 1715 | pretty-error@^2.0.0: 1716 | version "2.1.0" 1717 | resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.0.tgz#87f4e9d706a24c87d6cbee9fabec001fcf8c75d8" 1718 | dependencies: 1719 | renderkid "^2.0.1" 1720 | utila "~0.4" 1721 | 1722 | private@^0.1.6: 1723 | version "0.1.7" 1724 | resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1" 1725 | 1726 | process-nextick-args@~1.0.6: 1727 | version "1.0.7" 1728 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" 1729 | 1730 | process@^0.11.0, process@~0.11.0: 1731 | version "0.11.10" 1732 | resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" 1733 | 1734 | proxy-addr@~1.1.4: 1735 | version "1.1.4" 1736 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.4.tgz#27e545f6960a44a627d9b44467e35c1b6b4ce2f3" 1737 | dependencies: 1738 | forwarded "~0.1.0" 1739 | ipaddr.js "1.3.0" 1740 | 1741 | prr@~0.0.0: 1742 | version "0.0.0" 1743 | resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" 1744 | 1745 | punycode@1.3.2: 1746 | version "1.3.2" 1747 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" 1748 | 1749 | punycode@^1.2.4, punycode@^1.4.1: 1750 | version "1.4.1" 1751 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 1752 | 1753 | qs@6.4.0, qs@~6.4.0: 1754 | version "6.4.0" 1755 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" 1756 | 1757 | querystring-es3@~0.2.0: 1758 | version "0.2.1" 1759 | resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" 1760 | 1761 | querystring@0.2.0: 1762 | version "0.2.0" 1763 | resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" 1764 | 1765 | querystringify@0.0.x: 1766 | version "0.0.4" 1767 | resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-0.0.4.tgz#0cf7f84f9463ff0ae51c4c4b142d95be37724d9c" 1768 | 1769 | querystringify@~1.0.0: 1770 | version "1.0.0" 1771 | resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-1.0.0.tgz#6286242112c5b712fa654e526652bf6a13ff05cb" 1772 | 1773 | randomatic@^1.1.3: 1774 | version "1.1.6" 1775 | resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" 1776 | dependencies: 1777 | is-number "^2.0.2" 1778 | kind-of "^3.0.2" 1779 | 1780 | range-parser@^1.0.3, range-parser@~1.2.0: 1781 | version "1.2.0" 1782 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" 1783 | 1784 | rc@^1.1.7: 1785 | version "1.2.1" 1786 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95" 1787 | dependencies: 1788 | deep-extend "~0.4.0" 1789 | ini "~1.3.0" 1790 | minimist "^1.2.0" 1791 | strip-json-comments "~2.0.1" 1792 | 1793 | readable-stream@1.0: 1794 | version "1.0.34" 1795 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" 1796 | dependencies: 1797 | core-util-is "~1.0.0" 1798 | inherits "~2.0.1" 1799 | isarray "0.0.1" 1800 | string_decoder "~0.10.x" 1801 | 1802 | readable-stream@^1.0.27-1, readable-stream@^1.1.13: 1803 | version "1.1.14" 1804 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" 1805 | dependencies: 1806 | core-util-is "~1.0.0" 1807 | inherits "~2.0.1" 1808 | isarray "0.0.1" 1809 | string_decoder "~0.10.x" 1810 | 1811 | readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.4: 1812 | version "2.2.9" 1813 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.9.tgz#cf78ec6f4a6d1eb43d26488cac97f042e74b7fc8" 1814 | dependencies: 1815 | buffer-shims "~1.0.0" 1816 | core-util-is "~1.0.0" 1817 | inherits "~2.0.1" 1818 | isarray "~1.0.0" 1819 | process-nextick-args "~1.0.6" 1820 | string_decoder "~1.0.0" 1821 | util-deprecate "~1.0.1" 1822 | 1823 | readdirp@^2.0.0: 1824 | version "2.1.0" 1825 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" 1826 | dependencies: 1827 | graceful-fs "^4.1.2" 1828 | minimatch "^3.0.2" 1829 | readable-stream "^2.0.2" 1830 | set-immediate-shim "^1.0.1" 1831 | 1832 | reflect-metadata@^0.1.2, reflect-metadata@^0.1.3: 1833 | version "0.1.10" 1834 | resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.10.tgz#b4f83704416acad89988c9b15635d47e03b9344a" 1835 | 1836 | regenerator-runtime@^0.10.0: 1837 | version "0.10.5" 1838 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" 1839 | 1840 | regex-cache@^0.4.2: 1841 | version "0.4.3" 1842 | resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" 1843 | dependencies: 1844 | is-equal-shallow "^0.1.3" 1845 | is-primitive "^2.0.0" 1846 | 1847 | relateurl@0.2.x: 1848 | version "0.2.7" 1849 | resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" 1850 | 1851 | remove-trailing-separator@^1.0.1: 1852 | version "1.0.1" 1853 | resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.0.1.tgz#615ebb96af559552d4bf4057c8436d486ab63cc4" 1854 | 1855 | renderkid@^2.0.1: 1856 | version "2.0.1" 1857 | resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.1.tgz#898cabfc8bede4b7b91135a3ffd323e58c0db319" 1858 | dependencies: 1859 | css-select "^1.1.0" 1860 | dom-converter "~0.1" 1861 | htmlparser2 "~3.3.0" 1862 | strip-ansi "^3.0.0" 1863 | utila "~0.3" 1864 | 1865 | repeat-element@^1.1.2: 1866 | version "1.1.2" 1867 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" 1868 | 1869 | repeat-string@^1.5.2: 1870 | version "1.6.1" 1871 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" 1872 | 1873 | repeating@^2.0.0: 1874 | version "2.0.1" 1875 | resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" 1876 | dependencies: 1877 | is-finite "^1.0.0" 1878 | 1879 | request@^2.81.0: 1880 | version "2.81.0" 1881 | resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" 1882 | dependencies: 1883 | aws-sign2 "~0.6.0" 1884 | aws4 "^1.2.1" 1885 | caseless "~0.12.0" 1886 | combined-stream "~1.0.5" 1887 | extend "~3.0.0" 1888 | forever-agent "~0.6.1" 1889 | form-data "~2.1.1" 1890 | har-validator "~4.2.1" 1891 | hawk "~3.1.3" 1892 | http-signature "~1.1.0" 1893 | is-typedarray "~1.0.0" 1894 | isstream "~0.1.2" 1895 | json-stringify-safe "~5.0.1" 1896 | mime-types "~2.1.7" 1897 | oauth-sign "~0.8.1" 1898 | performance-now "^0.2.0" 1899 | qs "~6.4.0" 1900 | safe-buffer "^5.0.1" 1901 | stringstream "~0.0.4" 1902 | tough-cookie "~2.3.0" 1903 | tunnel-agent "^0.6.0" 1904 | uuid "^3.0.0" 1905 | 1906 | requires-port@1.0.x, requires-port@1.x.x: 1907 | version "1.0.0" 1908 | resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" 1909 | 1910 | right-align@^0.1.1: 1911 | version "0.1.3" 1912 | resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" 1913 | dependencies: 1914 | align-text "^0.1.1" 1915 | 1916 | rimraf@2, rimraf@^2.5.1, rimraf@^2.6.1: 1917 | version "2.6.1" 1918 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" 1919 | dependencies: 1920 | glob "^7.0.5" 1921 | 1922 | ripemd160@0.2.0: 1923 | version "0.2.0" 1924 | resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-0.2.0.tgz#2bf198bde167cacfa51c0a928e84b68bbe171fce" 1925 | 1926 | rxjs@^5.0.0: 1927 | version "5.4.0" 1928 | resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.4.0.tgz#a7db14ab157f9d7aac6a56e655e7a3860d39bf26" 1929 | dependencies: 1930 | symbol-observable "^1.0.1" 1931 | 1932 | safe-buffer@^5.0.1: 1933 | version "5.0.1" 1934 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7" 1935 | 1936 | semver@^5.0.1, semver@^5.3.0: 1937 | version "5.3.0" 1938 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" 1939 | 1940 | send@0.15.3: 1941 | version "0.15.3" 1942 | resolved "https://registry.yarnpkg.com/send/-/send-0.15.3.tgz#5013f9f99023df50d1bd9892c19e3defd1d53309" 1943 | dependencies: 1944 | debug "2.6.7" 1945 | depd "~1.1.0" 1946 | destroy "~1.0.4" 1947 | encodeurl "~1.0.1" 1948 | escape-html "~1.0.3" 1949 | etag "~1.8.0" 1950 | fresh "0.5.0" 1951 | http-errors "~1.6.1" 1952 | mime "1.3.4" 1953 | ms "2.0.0" 1954 | on-finished "~2.3.0" 1955 | range-parser "~1.2.0" 1956 | statuses "~1.3.1" 1957 | 1958 | sentence-case@^2.1.0: 1959 | version "2.1.1" 1960 | resolved "https://registry.yarnpkg.com/sentence-case/-/sentence-case-2.1.1.tgz#1f6e2dda39c168bf92d13f86d4a918933f667ed4" 1961 | dependencies: 1962 | no-case "^2.2.0" 1963 | upper-case-first "^1.1.2" 1964 | 1965 | serve-index@^1.7.2: 1966 | version "1.8.0" 1967 | resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.8.0.tgz#7c5d96c13fb131101f93c1c5774f8516a1e78d3b" 1968 | dependencies: 1969 | accepts "~1.3.3" 1970 | batch "0.5.3" 1971 | debug "~2.2.0" 1972 | escape-html "~1.0.3" 1973 | http-errors "~1.5.0" 1974 | mime-types "~2.1.11" 1975 | parseurl "~1.3.1" 1976 | 1977 | serve-static@1.12.3: 1978 | version "1.12.3" 1979 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.12.3.tgz#9f4ba19e2f3030c547f8af99107838ec38d5b1e2" 1980 | dependencies: 1981 | encodeurl "~1.0.1" 1982 | escape-html "~1.0.3" 1983 | parseurl "~1.3.1" 1984 | send "0.15.3" 1985 | 1986 | set-blocking@~2.0.0: 1987 | version "2.0.0" 1988 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 1989 | 1990 | set-immediate-shim@^1.0.1: 1991 | version "1.0.1" 1992 | resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" 1993 | 1994 | setprototypeof@1.0.2: 1995 | version "1.0.2" 1996 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.2.tgz#81a552141ec104b88e89ce383103ad5c66564d08" 1997 | 1998 | setprototypeof@1.0.3: 1999 | version "1.0.3" 2000 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" 2001 | 2002 | sha.js@2.2.6: 2003 | version "2.2.6" 2004 | resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.2.6.tgz#17ddeddc5f722fb66501658895461977867315ba" 2005 | 2006 | signal-exit@^3.0.0: 2007 | version "3.0.2" 2008 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 2009 | 2010 | slash@^1.0.0: 2011 | version "1.0.0" 2012 | resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" 2013 | 2014 | snake-case@^2.1.0: 2015 | version "2.1.0" 2016 | resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-2.1.0.tgz#41bdb1b73f30ec66a04d4e2cad1b76387d4d6d9f" 2017 | dependencies: 2018 | no-case "^2.2.0" 2019 | 2020 | sntp@1.x.x: 2021 | version "1.0.9" 2022 | resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" 2023 | dependencies: 2024 | hoek "2.x.x" 2025 | 2026 | sockjs-client@^1.0.3: 2027 | version "1.1.4" 2028 | resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.4.tgz#5babe386b775e4cf14e7520911452654016c8b12" 2029 | dependencies: 2030 | debug "^2.6.6" 2031 | eventsource "0.1.6" 2032 | faye-websocket "~0.11.0" 2033 | inherits "^2.0.1" 2034 | json3 "^3.3.2" 2035 | url-parse "^1.1.8" 2036 | 2037 | sockjs@^0.3.15: 2038 | version "0.3.18" 2039 | resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.18.tgz#d9b289316ca7df77595ef299e075f0f937eb4207" 2040 | dependencies: 2041 | faye-websocket "^0.10.0" 2042 | uuid "^2.0.2" 2043 | 2044 | source-list-map@~0.1.7: 2045 | version "0.1.8" 2046 | resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106" 2047 | 2048 | source-map-support@^0.4.2: 2049 | version "0.4.15" 2050 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.15.tgz#03202df65c06d2bd8c7ec2362a193056fef8d3b1" 2051 | dependencies: 2052 | source-map "^0.5.6" 2053 | 2054 | source-map@0.4.x, source-map@~0.4.1: 2055 | version "0.4.4" 2056 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" 2057 | dependencies: 2058 | amdefine ">=0.0.4" 2059 | 2060 | source-map@^0.5.0, source-map@^0.5.6, source-map@~0.5.1: 2061 | version "0.5.6" 2062 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" 2063 | 2064 | sshpk@^1.7.0: 2065 | version "1.13.0" 2066 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.0.tgz#ff2a3e4fd04497555fed97b39a0fd82fafb3a33c" 2067 | dependencies: 2068 | asn1 "~0.2.3" 2069 | assert-plus "^1.0.0" 2070 | dashdash "^1.12.0" 2071 | getpass "^0.1.1" 2072 | optionalDependencies: 2073 | bcrypt-pbkdf "^1.0.0" 2074 | ecc-jsbn "~0.1.1" 2075 | jodid25519 "^1.0.0" 2076 | jsbn "~0.1.0" 2077 | tweetnacl "~0.14.0" 2078 | 2079 | "statuses@>= 1.3.1 < 2", statuses@~1.3.1: 2080 | version "1.3.1" 2081 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" 2082 | 2083 | stream-browserify@^1.0.0: 2084 | version "1.0.0" 2085 | resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-1.0.0.tgz#bf9b4abfb42b274d751479e44e0ff2656b6f1193" 2086 | dependencies: 2087 | inherits "~2.0.1" 2088 | readable-stream "^1.0.27-1" 2089 | 2090 | stream-cache@~0.0.1: 2091 | version "0.0.2" 2092 | resolved "https://registry.yarnpkg.com/stream-cache/-/stream-cache-0.0.2.tgz#1ac5ad6832428ca55667dbdee395dad4e6db118f" 2093 | 2094 | string-width@^1.0.1, string-width@^1.0.2: 2095 | version "1.0.2" 2096 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 2097 | dependencies: 2098 | code-point-at "^1.0.0" 2099 | is-fullwidth-code-point "^1.0.0" 2100 | strip-ansi "^3.0.0" 2101 | 2102 | string_decoder@~0.10.25, string_decoder@~0.10.x: 2103 | version "0.10.31" 2104 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" 2105 | 2106 | string_decoder@~1.0.0: 2107 | version "1.0.1" 2108 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.1.tgz#62e200f039955a6810d8df0a33ffc0f013662d98" 2109 | dependencies: 2110 | safe-buffer "^5.0.1" 2111 | 2112 | stringstream@~0.0.4: 2113 | version "0.0.5" 2114 | resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" 2115 | 2116 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 2117 | version "3.0.1" 2118 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 2119 | dependencies: 2120 | ansi-regex "^2.0.0" 2121 | 2122 | strip-json-comments@~2.0.1: 2123 | version "2.0.1" 2124 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 2125 | 2126 | supports-color@^2.0.0: 2127 | version "2.0.0" 2128 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 2129 | 2130 | supports-color@^3.1.0, supports-color@^3.1.1: 2131 | version "3.2.3" 2132 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" 2133 | dependencies: 2134 | has-flag "^1.0.0" 2135 | 2136 | swap-case@^1.1.0: 2137 | version "1.1.2" 2138 | resolved "https://registry.yarnpkg.com/swap-case/-/swap-case-1.1.2.tgz#c39203a4587385fad3c850a0bd1bcafa081974e3" 2139 | dependencies: 2140 | lower-case "^1.1.1" 2141 | upper-case "^1.1.1" 2142 | 2143 | symbol-observable@^1.0.1: 2144 | version "1.0.4" 2145 | resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d" 2146 | 2147 | tapable@^0.1.8, tapable@~0.1.8: 2148 | version "0.1.10" 2149 | resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.1.10.tgz#29c35707c2b70e50d07482b5d202e8ed446dafd4" 2150 | 2151 | tar-pack@^3.4.0: 2152 | version "3.4.0" 2153 | resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.0.tgz#23be2d7f671a8339376cbdb0b8fe3fdebf317984" 2154 | dependencies: 2155 | debug "^2.2.0" 2156 | fstream "^1.0.10" 2157 | fstream-ignore "^1.0.5" 2158 | once "^1.3.3" 2159 | readable-stream "^2.1.4" 2160 | rimraf "^2.5.1" 2161 | tar "^2.2.1" 2162 | uid-number "^0.0.6" 2163 | 2164 | tar@^2.2.1: 2165 | version "2.2.1" 2166 | resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" 2167 | dependencies: 2168 | block-stream "*" 2169 | fstream "^1.0.2" 2170 | inherits "2" 2171 | 2172 | timers-browserify@^1.0.1: 2173 | version "1.4.2" 2174 | resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-1.4.2.tgz#c9c58b575be8407375cb5e2462dacee74359f41d" 2175 | dependencies: 2176 | process "~0.11.0" 2177 | 2178 | title-case@^2.1.0: 2179 | version "2.1.1" 2180 | resolved "https://registry.yarnpkg.com/title-case/-/title-case-2.1.1.tgz#3e127216da58d2bc5becf137ab91dae3a7cd8faa" 2181 | dependencies: 2182 | no-case "^2.2.0" 2183 | upper-case "^1.0.3" 2184 | 2185 | to-fast-properties@^1.0.1: 2186 | version "1.0.3" 2187 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" 2188 | 2189 | toposort@^1.0.0: 2190 | version "1.0.3" 2191 | resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.3.tgz#f02cd8a74bd8be2fc0e98611c3bacb95a171869c" 2192 | 2193 | tough-cookie@~2.3.0: 2194 | version "2.3.2" 2195 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" 2196 | dependencies: 2197 | punycode "^1.4.1" 2198 | 2199 | trim-right@^1.0.1: 2200 | version "1.0.1" 2201 | resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" 2202 | 2203 | ts-loader@0.8.1: 2204 | version "0.8.1" 2205 | resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-0.8.1.tgz#aa5d3aa013cd18c7e0535d47f85512850227564e" 2206 | dependencies: 2207 | arrify "^1.0.0" 2208 | colors "^1.0.3" 2209 | enhanced-resolve "^0.9.0" 2210 | loader-utils "^0.2.6" 2211 | object-assign "^2.0.0" 2212 | semver "^5.0.1" 2213 | 2214 | tsickle@^0.21.0: 2215 | version "0.21.6" 2216 | resolved "https://registry.yarnpkg.com/tsickle/-/tsickle-0.21.6.tgz#53b01b979c5c13fdb13afb3fb958177e5991588d" 2217 | dependencies: 2218 | minimist "^1.2.0" 2219 | mkdirp "^0.5.1" 2220 | source-map "^0.5.6" 2221 | source-map-support "^0.4.2" 2222 | 2223 | tty-browserify@0.0.0: 2224 | version "0.0.0" 2225 | resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" 2226 | 2227 | tunnel-agent@^0.6.0: 2228 | version "0.6.0" 2229 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" 2230 | dependencies: 2231 | safe-buffer "^5.0.1" 2232 | 2233 | tweetnacl@^0.14.3, tweetnacl@~0.14.0: 2234 | version "0.14.5" 2235 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" 2236 | 2237 | type-is@~1.6.15: 2238 | version "1.6.15" 2239 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410" 2240 | dependencies: 2241 | media-typer "0.3.0" 2242 | mime-types "~2.1.15" 2243 | 2244 | typescript@^2.1.5: 2245 | version "2.3.3" 2246 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.3.3.tgz#9639f3c3b40148e8ca97fe08a51dd1891bb6be22" 2247 | 2248 | uglify-js@2.6.x: 2249 | version "2.6.4" 2250 | resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.6.4.tgz#65ea2fb3059c9394692f15fed87c2b36c16b9adf" 2251 | dependencies: 2252 | async "~0.2.6" 2253 | source-map "~0.5.1" 2254 | uglify-to-browserify "~1.0.0" 2255 | yargs "~3.10.0" 2256 | 2257 | uglify-js@~2.7.3: 2258 | version "2.7.5" 2259 | resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.5.tgz#4612c0c7baaee2ba7c487de4904ae122079f2ca8" 2260 | dependencies: 2261 | async "~0.2.6" 2262 | source-map "~0.5.1" 2263 | uglify-to-browserify "~1.0.0" 2264 | yargs "~3.10.0" 2265 | 2266 | uglify-to-browserify@~1.0.0: 2267 | version "1.0.2" 2268 | resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" 2269 | 2270 | uid-number@^0.0.6: 2271 | version "0.0.6" 2272 | resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" 2273 | 2274 | unpipe@~1.0.0: 2275 | version "1.0.0" 2276 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" 2277 | 2278 | upper-case-first@^1.1.0, upper-case-first@^1.1.2: 2279 | version "1.1.2" 2280 | resolved "https://registry.yarnpkg.com/upper-case-first/-/upper-case-first-1.1.2.tgz#5d79bedcff14419518fd2edb0a0507c9b6859115" 2281 | dependencies: 2282 | upper-case "^1.1.1" 2283 | 2284 | upper-case@^1.0.3, upper-case@^1.1.0, upper-case@^1.1.1, upper-case@^1.1.3: 2285 | version "1.1.3" 2286 | resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" 2287 | 2288 | url-parse@1.0.x: 2289 | version "1.0.5" 2290 | resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.0.5.tgz#0854860422afdcfefeb6c965c662d4800169927b" 2291 | dependencies: 2292 | querystringify "0.0.x" 2293 | requires-port "1.0.x" 2294 | 2295 | url-parse@^1.1.8: 2296 | version "1.1.9" 2297 | resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.1.9.tgz#c67f1d775d51f0a18911dd7b3ffad27bb9e5bd19" 2298 | dependencies: 2299 | querystringify "~1.0.0" 2300 | requires-port "1.0.x" 2301 | 2302 | url@~0.10.1: 2303 | version "0.10.3" 2304 | resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64" 2305 | dependencies: 2306 | punycode "1.3.2" 2307 | querystring "0.2.0" 2308 | 2309 | util-deprecate@~1.0.1: 2310 | version "1.0.2" 2311 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 2312 | 2313 | util@0.10.3, util@^0.10.3, util@~0.10.3: 2314 | version "0.10.3" 2315 | resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" 2316 | dependencies: 2317 | inherits "2.0.1" 2318 | 2319 | utila@~0.3: 2320 | version "0.3.3" 2321 | resolved "https://registry.yarnpkg.com/utila/-/utila-0.3.3.tgz#d7e8e7d7e309107092b05f8d9688824d633a4226" 2322 | 2323 | utila@~0.4: 2324 | version "0.4.0" 2325 | resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" 2326 | 2327 | utils-merge@1.0.0: 2328 | version "1.0.0" 2329 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8" 2330 | 2331 | uuid@^2.0.2: 2332 | version "2.0.3" 2333 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" 2334 | 2335 | uuid@^3.0.0: 2336 | version "3.0.1" 2337 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" 2338 | 2339 | vary@~1.1.0, vary@~1.1.1: 2340 | version "1.1.1" 2341 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.1.tgz#67535ebb694c1d52257457984665323f587e8d37" 2342 | 2343 | verror@1.3.6: 2344 | version "1.3.6" 2345 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" 2346 | dependencies: 2347 | extsprintf "1.0.2" 2348 | 2349 | vm-browserify@0.0.4: 2350 | version "0.0.4" 2351 | resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" 2352 | dependencies: 2353 | indexof "0.0.1" 2354 | 2355 | watchpack@^0.2.1: 2356 | version "0.2.9" 2357 | resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-0.2.9.tgz#62eaa4ab5e5ba35fdfc018275626e3c0f5e3fb0b" 2358 | dependencies: 2359 | async "^0.9.0" 2360 | chokidar "^1.0.0" 2361 | graceful-fs "^4.1.2" 2362 | 2363 | webpack-core@~0.6.0: 2364 | version "0.6.9" 2365 | resolved "https://registry.yarnpkg.com/webpack-core/-/webpack-core-0.6.9.tgz#fc571588c8558da77be9efb6debdc5a3b172bdc2" 2366 | dependencies: 2367 | source-list-map "~0.1.7" 2368 | source-map "~0.4.1" 2369 | 2370 | webpack-dev-middleware@^1.4.0: 2371 | version "1.10.2" 2372 | resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.10.2.tgz#2e252ce1dfb020dbda1ccb37df26f30ab014dbd1" 2373 | dependencies: 2374 | memory-fs "~0.4.1" 2375 | mime "^1.3.4" 2376 | path-is-absolute "^1.0.0" 2377 | range-parser "^1.0.3" 2378 | 2379 | webpack-dev-server@~1.14.1: 2380 | version "1.14.1" 2381 | resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-1.14.1.tgz#e51de228071258b0db6d55e0f5fee55eec6755de" 2382 | dependencies: 2383 | compression "^1.5.2" 2384 | connect-history-api-fallback "1.1.0" 2385 | express "^4.13.3" 2386 | http-proxy "^1.11.2" 2387 | optimist "~0.6.0" 2388 | serve-index "^1.7.2" 2389 | sockjs "^0.3.15" 2390 | sockjs-client "^1.0.3" 2391 | stream-cache "~0.0.1" 2392 | strip-ansi "^3.0.0" 2393 | supports-color "^3.1.1" 2394 | webpack-dev-middleware "^1.4.0" 2395 | 2396 | webpack@~1.13.1: 2397 | version "1.13.3" 2398 | resolved "https://registry.yarnpkg.com/webpack/-/webpack-1.13.3.tgz#e79c46fe5a37c5ca70084ba0894c595cdcb42815" 2399 | dependencies: 2400 | acorn "^3.0.0" 2401 | async "^1.3.0" 2402 | clone "^1.0.2" 2403 | enhanced-resolve "~0.9.0" 2404 | interpret "^0.6.4" 2405 | loader-utils "^0.2.11" 2406 | memory-fs "~0.3.0" 2407 | mkdirp "~0.5.0" 2408 | node-libs-browser "^0.6.0" 2409 | optimist "~0.6.0" 2410 | supports-color "^3.1.0" 2411 | tapable "~0.1.8" 2412 | uglify-js "~2.7.3" 2413 | watchpack "^0.2.1" 2414 | webpack-core "~0.6.0" 2415 | 2416 | websocket-driver@>=0.5.1: 2417 | version "0.6.5" 2418 | resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.6.5.tgz#5cb2556ceb85f4373c6d8238aa691c8454e13a36" 2419 | dependencies: 2420 | websocket-extensions ">=0.1.1" 2421 | 2422 | websocket-extensions@>=0.1.1: 2423 | version "0.1.1" 2424 | resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.1.tgz#76899499c184b6ef754377c2dbb0cd6cb55d29e7" 2425 | 2426 | wide-align@^1.1.0: 2427 | version "1.1.2" 2428 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" 2429 | dependencies: 2430 | string-width "^1.0.2" 2431 | 2432 | window-size@0.1.0: 2433 | version "0.1.0" 2434 | resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" 2435 | 2436 | wordwrap@0.0.2: 2437 | version "0.0.2" 2438 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" 2439 | 2440 | wordwrap@~0.0.2: 2441 | version "0.0.3" 2442 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" 2443 | 2444 | wrappy@1: 2445 | version "1.0.2" 2446 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 2447 | 2448 | xml-char-classes@^1.0.0: 2449 | version "1.0.0" 2450 | resolved "https://registry.yarnpkg.com/xml-char-classes/-/xml-char-classes-1.0.0.tgz#64657848a20ffc5df583a42ad8a277b4512bbc4d" 2451 | 2452 | yargs@~3.10.0: 2453 | version "3.10.0" 2454 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" 2455 | dependencies: 2456 | camelcase "^1.0.2" 2457 | cliui "^2.1.0" 2458 | decamelize "^1.0.0" 2459 | window-size "0.1.0" 2460 | 2461 | zone.js@^0.6.12: 2462 | version "0.6.26" 2463 | resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.6.26.tgz#067c13b8b80223a89b62e9dc82680f09762c4636" 2464 | --------------------------------------------------------------------------------