├── src ├── root.css ├── place │ ├── place.js │ ├── place.ts │ ├── place-list │ │ ├── place-list.css │ │ ├── place-list.html │ │ ├── index.ts │ │ └── index.js │ ├── index.ts │ ├── place.service.ts │ ├── place.service.js │ └── index.js ├── root.ts ├── root.html ├── app-browser.ts ├── app.ts ├── storage.ts ├── app-universal.ts ├── dashboard │ ├── dashboard.html │ ├── index.ts │ └── index.js ├── root.js ├── app-browser.js ├── app.js └── app-universal.js ├── main-universal-entry.js ├── assets ├── favicons │ ├── favicon.ico │ ├── favicon-16x16.png │ ├── favicon-32x32.png │ ├── mstile-150x150.png │ ├── apple-touch-icon.png │ ├── android-chrome-192x192.png │ ├── manifest.json │ ├── browserconfig.xml │ └── safari-pinned-tab.svg ├── img │ ├── lazienki-park.jpg │ ├── castle-square-warsaw.jpg │ ├── rynek-starego-miasta.jpg │ ├── copernicus-science-centre.jpg │ └── last-full-day-in-poland.jpg └── places.json ├── .gitignore ├── ngsw-manifest.json ├── main.ts ├── main-static.ts ├── tsconfig.json ├── manifest.webmanifest ├── tsconfig-esm.json ├── README.md ├── LICENSE ├── package.json ├── main-universal.ts ├── index.html ├── gulpfile.ts ├── gulpfile.js └── yarn.lock /src/root.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /main-universal-entry.js: -------------------------------------------------------------------------------- 1 | require('ts-node/register'); 2 | require('./main-universal'); 3 | -------------------------------------------------------------------------------- /assets/favicons/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webmaxru/pwa-guide-ngpoland/HEAD/assets/favicons/favicon.ico -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /dist 2 | /ngfactory 3 | /node_modules 4 | /tmp 5 | /.firebaserc 6 | /firebase.json 7 | /database.rules.json 8 | -------------------------------------------------------------------------------- /assets/img/lazienki-park.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webmaxru/pwa-guide-ngpoland/HEAD/assets/img/lazienki-park.jpg -------------------------------------------------------------------------------- /assets/favicons/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webmaxru/pwa-guide-ngpoland/HEAD/assets/favicons/favicon-16x16.png -------------------------------------------------------------------------------- /assets/favicons/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webmaxru/pwa-guide-ngpoland/HEAD/assets/favicons/favicon-32x32.png -------------------------------------------------------------------------------- /assets/favicons/mstile-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webmaxru/pwa-guide-ngpoland/HEAD/assets/favicons/mstile-150x150.png -------------------------------------------------------------------------------- /assets/img/castle-square-warsaw.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webmaxru/pwa-guide-ngpoland/HEAD/assets/img/castle-square-warsaw.jpg -------------------------------------------------------------------------------- /assets/img/rynek-starego-miasta.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webmaxru/pwa-guide-ngpoland/HEAD/assets/img/rynek-starego-miasta.jpg -------------------------------------------------------------------------------- /assets/favicons/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webmaxru/pwa-guide-ngpoland/HEAD/assets/favicons/apple-touch-icon.png -------------------------------------------------------------------------------- /assets/img/copernicus-science-centre.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webmaxru/pwa-guide-ngpoland/HEAD/assets/img/copernicus-science-centre.jpg -------------------------------------------------------------------------------- /assets/img/last-full-day-in-poland.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webmaxru/pwa-guide-ngpoland/HEAD/assets/img/last-full-day-in-poland.jpg -------------------------------------------------------------------------------- /assets/favicons/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webmaxru/pwa-guide-ngpoland/HEAD/assets/favicons/android-chrome-192x192.png -------------------------------------------------------------------------------- /src/place/place.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var Place = (function () { 3 | function Place() { 4 | } 5 | return Place; 6 | }()); 7 | exports.Place = Place; 8 | -------------------------------------------------------------------------------- /src/place/place.ts: -------------------------------------------------------------------------------- 1 | export class Place { 2 | id: number; 3 | title: string; 4 | description: string; 5 | imgName: number; 6 | tags: Array; 7 | } 8 | -------------------------------------------------------------------------------- /ngsw-manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "routing": { 3 | "routes": { 4 | "/": { 5 | "prefix": false 6 | } 7 | }, 8 | "index": "/index.html" 9 | } 10 | } -------------------------------------------------------------------------------- /main.ts: -------------------------------------------------------------------------------- 1 | import {platformBrowserDynamic} from '@angular/platform-browser-dynamic'; 2 | import {AppBrowserModule} from './src/app-browser'; 3 | 4 | platformBrowserDynamic().bootstrapModule(AppBrowserModule); 5 | -------------------------------------------------------------------------------- /main-static.ts: -------------------------------------------------------------------------------- 1 | import {platformBrowser} from '@angular/platform-browser'; 2 | import {AppBrowserModuleNgFactory} from './ngfactory/src/app-browser.ngfactory'; 3 | 4 | platformBrowser().bootstrapModuleFactory(AppBrowserModuleNgFactory); 5 | -------------------------------------------------------------------------------- /assets/favicons/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ngPoland", 3 | "icons": [ 4 | { 5 | "src": "\/android-chrome-192x192.png", 6 | "sizes": "192x192", 7 | "type": "image\/png" 8 | } 9 | ], 10 | "theme_color": "#ffffff", 11 | "display": "standalone" 12 | } 13 | -------------------------------------------------------------------------------- /assets/favicons/browserconfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | #da532c 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/root.ts: -------------------------------------------------------------------------------- 1 | import {Component} from '@angular/core' 2 | 3 | @Component({ 4 | moduleId: module.id, 5 | selector: 'app-root', 6 | templateUrl: './root.html', 7 | styleUrls: ['./root.css'], 8 | }) 9 | export class RootComponent { 10 | 11 | title: String = 'ngPoland'; 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/root.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{title}} 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 |
16 | -------------------------------------------------------------------------------- /src/place/place-list/place-list.css: -------------------------------------------------------------------------------- 1 | .line-secondary { 2 | opacity: 0.7; 3 | margin: 0.25em 0; 4 | } 5 | 6 | .list-tags li { 7 | display: inline-block; 8 | font-size: 0.9em; 9 | padding: 0 0.5em; 10 | border-right: 1px solid gray; 11 | } 12 | 13 | .list-tags li:last-child { 14 | border-right: none; 15 | } 16 | 17 | .list-tags li:first-child { 18 | padding-left: 0; 19 | } 20 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "emitDecoratorMetadata": true, 4 | "experimentalDecorators": true, 5 | "lib": [ 6 | "dom", 7 | "es2015" 8 | ], 9 | "module": "commonjs", 10 | "moduleResolution": "node", 11 | "target": "es5", 12 | "types": [ 13 | "node" 14 | ] 15 | }, 16 | "exclude": [ 17 | "node_modules" 18 | ] 19 | } -------------------------------------------------------------------------------- /manifest.webmanifest: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ngPoland Guide", 3 | "short_name": "ngPoland", 4 | "display": "standalone", 5 | "icons": [{ 6 | "src": "\/assets\/favicons\/favicon-32x32.png", 7 | "sizes": "32x32", 8 | "type": "image\/png" 9 | }, { 10 | "src": "\/assets\/favicons\/android-chrome-192x192.png", 11 | "sizes": "192x192", 12 | "type": "image\/png" 13 | }], 14 | "theme_color": "#DE3541", 15 | "start_url": "index.html", 16 | "background_color": "#000000" 17 | } 18 | -------------------------------------------------------------------------------- /src/place/place-list/place-list.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{place.title}} 4 |

5 | {{place.title}} 6 |

7 |

8 | {{place.description}} 9 |

10 |
    11 |
  • 12 | {{tag}} 13 |
  • 14 |
15 |
16 |
17 | -------------------------------------------------------------------------------- /tsconfig-esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "angularCompilerOptions": { 3 | "genDir": "ngfactory", 4 | "skipMetadataEmit": true 5 | }, 6 | "compilerOptions": { 7 | "emitDecoratorMetadata": true, 8 | "experimentalDecorators": true, 9 | "lib": [ 10 | "dom", 11 | "es2015" 12 | ], 13 | "module": "es2015", 14 | "moduleResolution": "node", 15 | "outDir": "tmp/ngc", 16 | "target": "es5", 17 | "types": [ 18 | "node", 19 | "hammerjs" 20 | ] 21 | }, 22 | "files": [ 23 | "main.ts", 24 | "main-static.ts" 25 | ] 26 | } 27 | -------------------------------------------------------------------------------- /src/app-browser.ts: -------------------------------------------------------------------------------- 1 | import {AppShellModule} from '@angular/app-shell' 2 | import {NgModule} from '@angular/core'; 3 | import {BrowserModule} from '@angular/platform-browser'; 4 | 5 | import {AppModule} from './app'; 6 | import {RootComponent} from './root'; 7 | 8 | import {Storage, LocalStorage} from './storage'; 9 | 10 | 11 | @NgModule({ 12 | bootstrap: [RootComponent], 13 | imports: [ 14 | BrowserModule, 15 | AppShellModule.runtime(), 16 | AppModule 17 | ], 18 | providers: [ 19 | {provide: Storage, useClass: LocalStorage}, 20 | ] 21 | }) 22 | export class AppBrowserModule {} 23 | -------------------------------------------------------------------------------- /src/place/index.ts: -------------------------------------------------------------------------------- 1 | import {NgModule} from '@angular/core'; 2 | import {CommonModule} from '@angular/common'; 3 | import {PlaceService} from './place.service'; 4 | import {PlaceListComponent} from './place-list'; 5 | 6 | import {MaterialModule} from '@angular/material'; 7 | 8 | @NgModule({ 9 | declarations: [ 10 | PlaceListComponent 11 | ], 12 | exports: [ 13 | PlaceListComponent 14 | ], 15 | imports: [ 16 | CommonModule, 17 | MaterialModule.forRoot() 18 | ], 19 | providers: [ 20 | PlaceService 21 | ] 22 | }) 23 | export class PlaceModule { } 24 | -------------------------------------------------------------------------------- /src/place/place.service.ts: -------------------------------------------------------------------------------- 1 | import { Injectable } from '@angular/core'; 2 | import { Headers, Http } from '@angular/http'; 3 | 4 | import 'rxjs/add/operator/toPromise'; 5 | 6 | import { Place } from './place'; 7 | 8 | @Injectable() 9 | export class PlaceService { 10 | 11 | private headers = new Headers({ 'Content-Type': 'application/json' }); 12 | private url = './assets/places.json'; 13 | 14 | constructor(private http: Http) { } 15 | 16 | getPlaces(): Promise { 17 | return this.http.get(this.url) 18 | .toPromise() 19 | .then(response => response.json() as Place[]) 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Angular Mobile Toolkit in action 2 | 3 | This is the demo of Mobile Toolkit for pre-"--mobile flag enabled" era. It was created for the half-day workshop given at ngPoland (ask twitter.com/webmaxru for the full workshop document with detailed instructions and explanations, if you need it). 4 | 5 | **In usage** 6 | - @angular/service-worker (static caching, gulpGenerateManifest, gulpAddStaticFiles) 7 | - @angular/app-shell 8 | - AoT 9 | - Closure Compiler 10 | - Angular Universal (for app shell) 11 | 12 | **Run (use Yarn only!)** 13 | 14 | - yarn install 15 | - gulp build 16 | - gulp serve 17 | 18 | **Thanks for help** 19 | - Alex Rickabaugh (Angular Team) 20 | -------------------------------------------------------------------------------- /src/app.ts: -------------------------------------------------------------------------------- 1 | import {AppShellModule} from '@angular/app-shell'; 2 | import {NgModule} from '@angular/core'; 3 | import {CommonModule} from '@angular/common'; 4 | 5 | import {RootComponent} from './root'; 6 | 7 | import {PlaceModule} from './place'; 8 | import {DashboardModule} from './dashboard'; 9 | 10 | import {MaterialModule} from '@angular/material'; 11 | 12 | @NgModule({ 13 | bootstrap: [RootComponent], 14 | declarations: [ 15 | RootComponent 16 | ], 17 | imports: [ 18 | AppShellModule, 19 | CommonModule, 20 | 21 | PlaceModule, 22 | DashboardModule, 23 | 24 | MaterialModule.forRoot(), 25 | ] 26 | }) 27 | export class AppModule { } 28 | -------------------------------------------------------------------------------- /src/place/place-list/index.ts: -------------------------------------------------------------------------------- 1 | import { Component, OnInit } from '@angular/core'; 2 | import { PlaceService } from '../place.service'; 3 | import { Place } from '../place' 4 | 5 | @Component({ 6 | moduleId: module.id, 7 | selector: 'place-list', 8 | templateUrl: './place-list.html', 9 | styleUrls: ['./place-list.css'] 10 | }) 11 | export class PlaceListComponent implements OnInit { 12 | 13 | places: Array; 14 | 15 | constructor(private placeService: PlaceService) { } 16 | 17 | getPlaces(): void { 18 | this.placeService 19 | .getPlaces() 20 | .then(places => { 21 | this.places = places; 22 | }); 23 | ; 24 | } 25 | 26 | ngOnInit(): void { 27 | this.getPlaces(); 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /src/storage.ts: -------------------------------------------------------------------------------- 1 | import {Injectable} from '@angular/core'; 2 | 3 | export abstract class Storage { 4 | abstract getItem(key: string): string; 5 | abstract setItem(key: string, value: string): void; 6 | } 7 | 8 | @Injectable() 9 | export class LocalStorage implements Storage { 10 | getItem(key: string): string { 11 | return localStorage.getItem(key); 12 | } 13 | setItem(key: string, value: string): void { 14 | 15 | localStorage.setItem(key, value); 16 | } 17 | } 18 | 19 | @Injectable() 20 | export class InMemoryStorage implements Storage { 21 | private data: {[key: string]: string} = {}; 22 | 23 | getItem(key: string): string { 24 | return this.data[key] || null; 25 | } 26 | 27 | setItem(key: string, value: string): void { 28 | this.data[key] = value; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/app-universal.ts: -------------------------------------------------------------------------------- 1 | import {AppShellModule} from '@angular/app-shell'; 2 | import {ModuleWithProviders, NgModule, Injectable} from '@angular/core'; 3 | import {UniversalModule, parseDocument} from 'angular2-universal/node'; 4 | import {Observable} from 'rxjs/Observable'; 5 | import 'rxjs/add/observable/of'; 6 | 7 | import {AppModule} from './app'; 8 | import {RootComponent} from './root'; 9 | 10 | import {Storage, InMemoryStorage} from './storage'; 11 | 12 | @NgModule({ 13 | bootstrap: [RootComponent], 14 | imports: [ 15 | AppShellModule.prerender(), 16 | AppModule, 17 | UniversalModule.withConfig({ 18 | originUrl: 'http://localhost:8080', 19 | requestUrl: '/', 20 | }) as any as ModuleWithProviders, 21 | ], 22 | providers: [ 23 | {provide: Storage, useClass: InMemoryStorage}, 24 | ], 25 | }) 26 | export class AppUniversalModule {} 27 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License 2 | 3 | Copyright (c) 2014-2016 Google, Inc. http://angular.io 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 13 | all 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 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /src/dashboard/dashboard.html: -------------------------------------------------------------------------------- 1 |
2 | 5 | 12 | ASYNC ALERT 13 | 14 | 15 |
16 | 17 | 18 |
19 |
20 |
21 | 24 | 25 |
26 | 27 |
28 |
29 | 30 |
{{result}}
31 |
{{log | json}}
32 | -------------------------------------------------------------------------------- /src/root.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { 3 | var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 4 | if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 5 | else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 6 | return c > 3 && r && Object.defineProperty(target, key, r), r; 7 | }; 8 | var __metadata = (this && this.__metadata) || function (k, v) { 9 | if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); 10 | }; 11 | var core_1 = require("@angular/core"); 12 | var RootComponent = (function () { 13 | function RootComponent() { 14 | this.title = 'ngPoland'; 15 | } 16 | return RootComponent; 17 | }()); 18 | RootComponent = __decorate([ 19 | core_1.Component({ 20 | moduleId: module.id, 21 | selector: 'app-root', 22 | templateUrl: './root.html', 23 | styleUrls: ['./root.css'], 24 | }), 25 | __metadata("design:paramtypes", []) 26 | ], RootComponent); 27 | exports.RootComponent = RootComponent; 28 | -------------------------------------------------------------------------------- /assets/favicons/safari-pinned-tab.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | Created by potrace 1.11, written by Peter Selinger 2001-2013 9 | 10 | 12 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/place/place.service.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { 3 | var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 4 | if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 5 | else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 6 | return c > 3 && r && Object.defineProperty(target, key, r), r; 7 | }; 8 | var __metadata = (this && this.__metadata) || function (k, v) { 9 | if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); 10 | }; 11 | var core_1 = require("@angular/core"); 12 | var http_1 = require("@angular/http"); 13 | require("rxjs/add/operator/toPromise"); 14 | var PlaceService = (function () { 15 | function PlaceService(http) { 16 | this.http = http; 17 | this.headers = new http_1.Headers({ 'Content-Type': 'application/json' }); 18 | this.url = './assets/places.json'; 19 | } 20 | PlaceService.prototype.getPlaces = function () { 21 | return this.http.get(this.url) 22 | .toPromise() 23 | .then(function (response) { return response.json(); }); 24 | }; 25 | return PlaceService; 26 | }()); 27 | PlaceService = __decorate([ 28 | core_1.Injectable(), 29 | __metadata("design:paramtypes", [http_1.Http]) 30 | ], PlaceService); 31 | exports.PlaceService = PlaceService; 32 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ng2-pwa-weather", 3 | "version": "0.0.1", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "", 10 | "license": "MIT", 11 | "dependencies": { 12 | "@angular/app-shell": "^0.1.0", 13 | "@angular/common": "^2.1.0", 14 | "@angular/compiler": "^2.1.0", 15 | "@angular/compiler-cli": "^2.1.0", 16 | "@angular/core": "^2.1.0", 17 | "@angular/forms": "^2.1.0", 18 | "@angular/http": "^2.1.0", 19 | "@angular/material": "^2.0.0-alpha.9-3", 20 | "@angular/platform-browser": "^2.1.0", 21 | "@angular/platform-browser-dynamic": "^2.1.0", 22 | "@angular/service-worker": "^0.7.1", 23 | "@ng-bootstrap/ng-bootstrap": "^1.0.0-alpha.13", 24 | "@types/node": "^6.0.45", 25 | "angular2-universal": "^2.1.0-rc.1", 26 | "angular2-universal-polyfills": "^2.1.0-rc.1", 27 | "body-parser": "^1.15.2", 28 | "bootstrap": "^4.0.0-alpha.5", 29 | "cors": "^2.8.1", 30 | "express": "^4.14.0", 31 | "global": "^4.3.1", 32 | "google-closure-compiler-js": "^20160916.0.0", 33 | "gulp": "^3.9.1", 34 | "reflect-metadata": "^0.1.8", 35 | "rollup": "^0.36.3", 36 | "rollup-plugin-commonjs": "^5.0.5", 37 | "rollup-plugin-node-resolve": "^2.0.0", 38 | "run-sequence": "^1.2.2", 39 | "rxjs": "^5.0.0-rc.1", 40 | "rxjs-es": "^5.0.0-beta.12", 41 | "ts-node": "^1.4.3", 42 | "typescript": "^2.0.3", 43 | "uglifyjs": "^2.4.10", 44 | "web-push": "^3.2.0", 45 | "zone.js": "^0.6.25" 46 | }, 47 | "devDependencies": { 48 | "gulp-connect": "^5.0.0" 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /src/place/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { 3 | var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 4 | if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 5 | else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 6 | return c > 3 && r && Object.defineProperty(target, key, r), r; 7 | }; 8 | var __metadata = (this && this.__metadata) || function (k, v) { 9 | if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); 10 | }; 11 | var core_1 = require("@angular/core"); 12 | var common_1 = require("@angular/common"); 13 | var place_service_1 = require("./place.service"); 14 | var place_list_1 = require("./place-list"); 15 | var material_1 = require("@angular/material"); 16 | var PlaceModule = (function () { 17 | function PlaceModule() { 18 | } 19 | return PlaceModule; 20 | }()); 21 | PlaceModule = __decorate([ 22 | core_1.NgModule({ 23 | declarations: [ 24 | place_list_1.PlaceListComponent 25 | ], 26 | exports: [ 27 | place_list_1.PlaceListComponent 28 | ], 29 | imports: [ 30 | common_1.CommonModule, 31 | material_1.MaterialModule.forRoot() 32 | ], 33 | providers: [ 34 | place_service_1.PlaceService 35 | ] 36 | }), 37 | __metadata("design:paramtypes", []) 38 | ], PlaceModule); 39 | exports.PlaceModule = PlaceModule; 40 | -------------------------------------------------------------------------------- /src/app-browser.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { 3 | var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 4 | if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 5 | else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 6 | return c > 3 && r && Object.defineProperty(target, key, r), r; 7 | }; 8 | var __metadata = (this && this.__metadata) || function (k, v) { 9 | if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); 10 | }; 11 | var app_shell_1 = require("@angular/app-shell"); 12 | var core_1 = require("@angular/core"); 13 | var platform_browser_1 = require("@angular/platform-browser"); 14 | var app_1 = require("./app"); 15 | var root_1 = require("./root"); 16 | var storage_1 = require("./storage"); 17 | var AppBrowserModule = (function () { 18 | function AppBrowserModule() { 19 | } 20 | return AppBrowserModule; 21 | }()); 22 | AppBrowserModule = __decorate([ 23 | core_1.NgModule({ 24 | bootstrap: [root_1.RootComponent], 25 | imports: [ 26 | platform_browser_1.BrowserModule, 27 | app_shell_1.AppShellModule.runtime(), 28 | app_1.AppModule 29 | ], 30 | providers: [ 31 | { provide: storage_1.Storage, useClass: storage_1.LocalStorage }, 32 | ] 33 | }), 34 | __metadata("design:paramtypes", []) 35 | ], AppBrowserModule); 36 | exports.AppBrowserModule = AppBrowserModule; 37 | -------------------------------------------------------------------------------- /src/app.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { 3 | var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 4 | if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 5 | else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 6 | return c > 3 && r && Object.defineProperty(target, key, r), r; 7 | }; 8 | var __metadata = (this && this.__metadata) || function (k, v) { 9 | if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); 10 | }; 11 | var app_shell_1 = require("@angular/app-shell"); 12 | var core_1 = require("@angular/core"); 13 | var common_1 = require("@angular/common"); 14 | var root_1 = require("./root"); 15 | var place_1 = require("./place"); 16 | var dashboard_1 = require("./dashboard"); 17 | var material_1 = require("@angular/material"); 18 | var AppModule = (function () { 19 | function AppModule() { 20 | } 21 | return AppModule; 22 | }()); 23 | AppModule = __decorate([ 24 | core_1.NgModule({ 25 | bootstrap: [root_1.RootComponent], 26 | declarations: [ 27 | root_1.RootComponent 28 | ], 29 | imports: [ 30 | app_shell_1.AppShellModule, 31 | common_1.CommonModule, 32 | place_1.PlaceModule, 33 | dashboard_1.DashboardModule, 34 | material_1.MaterialModule.forRoot(), 35 | ] 36 | }), 37 | __metadata("design:paramtypes", []) 38 | ], AppModule); 39 | exports.AppModule = AppModule; 40 | -------------------------------------------------------------------------------- /main-universal.ts: -------------------------------------------------------------------------------- 1 | import 'angular2-universal-polyfills'; 2 | import 'zone.js/dist/zone-node.js' 3 | import 'reflect-metadata'; 4 | 5 | import * as fs from 'fs'; 6 | 7 | import {CompilerOptions, COMPILER_OPTIONS} from '@angular/core'; 8 | import {ResourceLoader} from '@angular/compiler'; 9 | import {platformUniversalDynamic, REQUEST_URL} from 'angular2-universal/node'; 10 | import {AppUniversalModule} from './src/app-universal'; 11 | // from './ngfactory/src/app-universal.ngfactory'; 12 | 13 | export class FileResourceLoader implements ResourceLoader { 14 | get(path: string): Promise { 15 | return new Promise((resolve, reject) => { 16 | fs.exists(path, exists => { 17 | if (!exists) { 18 | return reject(new Error(`Compilation failed. Resource file not found: ${path}`)) 19 | } 20 | fs.readFile(path, 'utf8', (err, data) => { 21 | if (err) { 22 | return reject(new Error(`Compilation failed. Read error for file: ${path}: ${err}`)); 23 | } 24 | return resolve(data); 25 | }); 26 | }); 27 | }); 28 | } 29 | } 30 | 31 | let document = fs.readFileSync('index.html').toString(); 32 | 33 | declare var Zone; 34 | Zone.current.fork({ 35 | name: 'universal', 36 | properties: {document} 37 | }).run(() => { 38 | platformUniversalDynamic([{ 39 | provide: COMPILER_OPTIONS, 40 | useValue: { 41 | providers: [{provide: ResourceLoader, useValue: new FileResourceLoader()}], 42 | } as CompilerOptions, 43 | multi: true, 44 | }]) 45 | .serializeModule(AppUniversalModule, { 46 | preboot: false 47 | }) 48 | .then(html => { 49 | try { 50 | fs.mkdirSync('tmp/app-shell'); 51 | } catch (e) {} 52 | fs.writeFileSync('tmp/app-shell/index.html', html, {encoding: 'utf8'}); 53 | }); 54 | }); 55 | -------------------------------------------------------------------------------- /src/place/place-list/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { 3 | var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 4 | if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 5 | else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 6 | return c > 3 && r && Object.defineProperty(target, key, r), r; 7 | }; 8 | var __metadata = (this && this.__metadata) || function (k, v) { 9 | if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); 10 | }; 11 | var core_1 = require("@angular/core"); 12 | var place_service_1 = require("../place.service"); 13 | var PlaceListComponent = (function () { 14 | function PlaceListComponent(placeService) { 15 | this.placeService = placeService; 16 | } 17 | PlaceListComponent.prototype.getPlaces = function () { 18 | var _this = this; 19 | this.placeService 20 | .getPlaces() 21 | .then(function (places) { 22 | _this.places = places; 23 | }); 24 | ; 25 | }; 26 | PlaceListComponent.prototype.ngOnInit = function () { 27 | this.getPlaces(); 28 | }; 29 | return PlaceListComponent; 30 | }()); 31 | PlaceListComponent = __decorate([ 32 | core_1.Component({ 33 | moduleId: module.id, 34 | selector: 'place-list', 35 | templateUrl: './place-list.html', 36 | styleUrls: ['./place-list.css'] 37 | }), 38 | __metadata("design:paramtypes", [place_service_1.PlaceService]) 39 | ], PlaceListComponent); 40 | exports.PlaceListComponent = PlaceListComponent; 41 | -------------------------------------------------------------------------------- /assets/places.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 1, 4 | "title": "Lazienki - Royal Residence Park", 5 | "imgName": "lazienki-park.jpg", 6 | "description": "Magnificent palatial and garden complex was built by King Stanislaw August Poniatowski during the second half of the eighteenth century and features the neoclassical Palace on the Water (Lazienki Palace) surrounded by magnificent gardens, canals and ponds.", 7 | "tags": ["Gardens","Parks"] 8 | }, 9 | { 10 | "id": 2, 11 | "title": "Warsaw Uprising Museum", 12 | "imgName": "last-full-day-in-poland.jpg", 13 | "description": "Amazing and well designed museum, It took 3.5 hours to see it all.. entry was near €5 and everything transalted to English.", 14 | "tags": ["History Museums","Military Museums"] 15 | }, 16 | { 17 | "id": 3, 18 | "title": "Old Town Market Square", 19 | "imgName": "rynek-starego-miasta.jpg", 20 | "description": "Surrounded by beautiful seventeenth- and eighteenth-century merchants' houses, this lively square is filled with street vendors, cafes, shops, galleries and some of Warsaw's top restaurants.", 21 | "tags": ["Civic Centers","Historic Sites"] 22 | }, 23 | { 24 | "id": 4, 25 | "title": "Castle Square (Plac Zamkowy)", 26 | "imgName": "castle-square-warsaw.jpg", 27 | "description": "Located in Old Town, this picturesque open plaza was built in 1821 and features the King Zygmunt III column in its center.", 28 | "tags": ["Points of Interest","Landmarks"] 29 | }, 30 | { 31 | "id": 5, 32 | "title": "Copernicus Science Centre", 33 | "imgName": "copernicus-science-centre.jpg", 34 | "description": "This is a really vibrant and exciting facility, especially for kids. Even though there is not enough English translation to make it as good as it could be for English speaking.", 35 | "tags": ["Specialty Museums"] 36 | } 37 | ] 38 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 37 | 38 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /src/app-universal.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { 3 | var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 4 | if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 5 | else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 6 | return c > 3 && r && Object.defineProperty(target, key, r), r; 7 | }; 8 | var __metadata = (this && this.__metadata) || function (k, v) { 9 | if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); 10 | }; 11 | var app_shell_1 = require("@angular/app-shell"); 12 | var core_1 = require("@angular/core"); 13 | var node_1 = require("angular2-universal/node"); 14 | require("rxjs/add/observable/of"); 15 | var app_1 = require("./app"); 16 | var root_1 = require("./root"); 17 | var storage_1 = require("./storage"); 18 | var AppUniversalModule = (function () { 19 | function AppUniversalModule() { 20 | } 21 | return AppUniversalModule; 22 | }()); 23 | AppUniversalModule = __decorate([ 24 | core_1.NgModule({ 25 | bootstrap: [root_1.RootComponent], 26 | imports: [ 27 | app_shell_1.AppShellModule.prerender(), 28 | app_1.AppModule, 29 | node_1.UniversalModule.withConfig({ 30 | originUrl: 'http://localhost:8080', 31 | requestUrl: '/', 32 | }), 33 | ], 34 | providers: [ 35 | { provide: storage_1.Storage, useClass: storage_1.InMemoryStorage }, 36 | ], 37 | }), 38 | __metadata("design:paramtypes", []) 39 | ], AppUniversalModule); 40 | exports.AppUniversalModule = AppUniversalModule; 41 | -------------------------------------------------------------------------------- /src/dashboard/index.ts: -------------------------------------------------------------------------------- 1 | import {NgModule} from '@angular/core'; 2 | import {CommonModule} from '@angular/common'; 3 | import {FormsModule} from '@angular/forms'; 4 | import {BrowserModule} from '@angular/platform-browser'; 5 | 6 | import {Component} from '@angular/core'; 7 | import {Observable} from 'rxjs/Observable'; 8 | 9 | import 'rxjs/add/operator/scan'; 10 | import 'rxjs/add/operator/startWith'; 11 | 12 | @Component({ 13 | moduleId: module.id, 14 | selector: 'dashboard', 15 | templateUrl: './dashboard.html', 16 | }) 17 | export class DashboardComponent { 18 | result: string = null; 19 | action: string = ''; 20 | alert: boolean = false; 21 | log: string[] = []; 22 | 23 | pushSub = null; 24 | pushes = []; 25 | 26 | actionSelected(action): void { 27 | this.action = action; 28 | } 29 | 30 | 31 | refresh(action) { 32 | this.result = null; 33 | if (this.pushSub !== null) { 34 | this.pushSub.unsubscribe(); 35 | this.pushSub = null; 36 | } 37 | switch (action) { 38 | case 'RESET': 39 | this.alert = false; 40 | this.result = 'reset'; 41 | break; 42 | case 'CACHE_KEYS': 43 | this.loadCacheKeys(); 44 | break; 45 | case 'SW_CHECK': 46 | this.checkServiceWorker(); 47 | break; 48 | default: 49 | this.result = null; 50 | } 51 | } 52 | 53 | loadCacheKeys(): void { 54 | let caches = window['caches']; 55 | caches.keys().then(keys => this.result = JSON.stringify(keys)); 56 | } 57 | 58 | installWorker(url): void { 59 | navigator['serviceWorker'].register(url) 60 | .then(reg => { 61 | this.result = JSON.stringify({ 62 | result: { 63 | scope: reg.scope 64 | } 65 | }); 66 | }) 67 | .catch(err => { 68 | this.result = JSON.stringify({ 69 | error: `${err}` 70 | }) 71 | }); 72 | } 73 | 74 | checkServiceWorker(): void { 75 | this.result = ''; 76 | navigator['serviceWorker'] 77 | .getRegistrations() 78 | .then(registrations => { 79 | return registrations 80 | .map(reg => { 81 | return { 82 | scope: reg.scope, 83 | active: !!reg.active, 84 | installing: !!reg.installing, 85 | waiting: !!reg.waiting 86 | }; 87 | }) 88 | }) 89 | .then(value => JSON.stringify(value)) 90 | .then(value => { 91 | this.result = value; 92 | }) 93 | } 94 | } 95 | 96 | @NgModule({ 97 | declarations: [ 98 | DashboardComponent 99 | ], 100 | exports: [ 101 | DashboardComponent 102 | ], 103 | imports: [ 104 | CommonModule, 105 | FormsModule, 106 | BrowserModule 107 | ], 108 | providers: [] 109 | }) 110 | export class DashboardModule { } 111 | -------------------------------------------------------------------------------- /gulpfile.ts: -------------------------------------------------------------------------------- 1 | const commonJs = require('rollup-plugin-commonjs'); 2 | const childProcess = require('child_process'); 3 | const fs = require('fs'); 4 | const gulp = require('gulp'); 5 | const nodeResolve = require('rollup-plugin-node-resolve'); 6 | const rimraf = require('rimraf'); 7 | const rollup = require('rollup'); 8 | const runSequence = require('run-sequence'); 9 | const closure = require('google-closure-compiler-js'); 10 | const connect = require('gulp-connect'); 11 | 12 | class RollupRx { 13 | resolveId(id, from){ 14 | if(id.startsWith('rxjs/')){ 15 | return `${__dirname}/node_modules/rxjs-es/${id.split('rxjs/').pop()}.js`; 16 | } 17 | } 18 | } 19 | 20 | function closureCompilerPlugin(options: any = {}){ 21 | return { 22 | transformBundle(bundle){ 23 | const compilation = Object.assign({}, options, { 24 | jsCode: options.jsCode ? options.jsCode.concat({ src: bundle }) : [{ src: bundle }] 25 | }); 26 | console.log('- Closure compiler is optimizing. It can take a minute or two...'); 27 | const transformed = closure.compile(compilation); 28 | return { code: transformed.compiledCode, map: transformed.sourceMap }; 29 | } 30 | } 31 | } 32 | 33 | import {gulpGenerateManifest, gulpAddStaticFiles} from '@angular/service-worker/build'; 34 | 35 | gulp.task('build', done => runSequence( 36 | 'task:clean', 37 | 'task:ngc', 38 | 'task:rollup', 39 | 'task:shell', 40 | [ 41 | 'task:static', 42 | 'task:assets', 43 | ], 44 | 'task:service-worker', 45 | 'task:worker-script', 46 | done 47 | )); 48 | 49 | gulp.task('build-noshell', done => runSequence( 50 | 'task:clean', 51 | 'task:ngc', 52 | 'task:rollup', 53 | 'task:no-shell', 54 | [ 55 | 'task:static', 56 | 'task:assets', 57 | ], 58 | 'task:service-worker', 59 | 'task:worker-script', 60 | done 61 | )); 62 | 63 | gulp.task('task:clean', done => { 64 | console.log('- Cleaning tmp and dist folders...'); 65 | rimraf('tmp', () => rimraf('dist', () => done())); 66 | }); 67 | 68 | gulp.task('task:ngc', () => { 69 | console.log('- Compiling Angular app using settings from tsconfig-esm.json...'); 70 | childProcess.execSync('./node_modules/.bin/ngc -p tsconfig-esm.json'); 71 | }); 72 | 73 | gulp.task('task:rollup', done => { 74 | console.log('- Rolling up using main-static.js as an entry...'); 75 | rollup 76 | .rollup({ 77 | entry: 'tmp/ngc/main-static.js', 78 | plugins: [ 79 | new RollupRx(), 80 | nodeResolve({jsnext: true, main: true}), 81 | commonJs({ 82 | include: 'node_modules/**', 83 | exclude: ['node_modules/rxjs/**'], 84 | namedExports: { 85 | 'node_modules/angular2-universal/browser.js': ['UniversalModule', 'prebootComplete', 'platformUniversalDynamic'], 86 | } 87 | }), 88 | closureCompilerPlugin({ compilationLevel: 'SIMPLE' }), 89 | ], 90 | }) 91 | .then(bundle => bundle.write({ 92 | format: 'iife', 93 | dest: 'tmp/rollup/app.js', 94 | })) 95 | .then(() => done(), err => console.error('output error', err)); 96 | }); 97 | 98 | gulp.task('task:worker-script', () => gulp 99 | .src([ 100 | 'node_modules/@angular/service-worker/bundles/worker-basic.js', 101 | ]) 102 | .pipe(gulp.dest('dist')) 103 | ); 104 | 105 | gulp.task('task:shell', () => { 106 | console.log('- Rendering app shell using main-universal-entry.js as an entry...'); 107 | childProcess.execSync('node ./main-universal-entry.js'); 108 | }); 109 | 110 | gulp.task('task:static', () => gulp 111 | .src([ 112 | 'manifest.webmanifest', 113 | 'node_modules/zone.js/dist/zone.js', 114 | 'node_modules/reflect-metadata/Reflect.js', 115 | 'node_modules/@angular/material/core/theming/prebuilt/indigo-pink.css', 116 | 'tmp/rollup/app.js', 117 | 'tmp/app-shell/index.html', 118 | 'push-sw.js' 119 | ]) 120 | .pipe(gulp.dest('dist')) 121 | ); 122 | 123 | gulp.task('task:no-shell', () => gulp 124 | .src([ 125 | 'index.html', 126 | ]) 127 | .pipe(gulp.dest('dist')) 128 | ); 129 | 130 | gulp.task('task:assets', () => gulp 131 | .src([ 132 | 'assets/**/*.*' 133 | ]) 134 | .pipe(gulp.dest('dist/assets')) 135 | ); 136 | 137 | gulp.task('task:service-worker', () => gulp 138 | .src('ngsw-manifest.json') 139 | .pipe(gulpAddStaticFiles(gulp.src([ 140 | 'dist/**/*.*' 141 | ]), {manifestKey: 'static'})) 142 | .pipe(gulp.dest('dist')) 143 | ); 144 | 145 | gulp.task('connect', function() { 146 | connect.server({ 147 | root: 'dist', 148 | livereload: false, 149 | port: 8080 150 | }); 151 | }); 152 | 153 | gulp.task('html', function () { 154 | gulp.src('./dist/*.*') 155 | .pipe(connect.reload()); 156 | }); 157 | 158 | gulp.task('watch', function () { 159 | gulp.watch(['./dist/*.*'], ['html']); 160 | }); 161 | 162 | gulp.task('serve', ['connect', 'watch']); 163 | -------------------------------------------------------------------------------- /src/dashboard/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { 3 | var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 4 | if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 5 | else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 6 | return c > 3 && r && Object.defineProperty(target, key, r), r; 7 | }; 8 | var __metadata = (this && this.__metadata) || function (k, v) { 9 | if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); 10 | }; 11 | var core_1 = require("@angular/core"); 12 | var common_1 = require("@angular/common"); 13 | var forms_1 = require("@angular/forms"); 14 | var platform_browser_1 = require("@angular/platform-browser"); 15 | var core_2 = require("@angular/core"); 16 | require("rxjs/add/operator/scan"); 17 | require("rxjs/add/operator/startWith"); 18 | var DashboardComponent = (function () { 19 | function DashboardComponent() { 20 | this.result = null; 21 | this.action = ''; 22 | this.alert = false; 23 | this.log = []; 24 | this.pushSub = null; 25 | this.pushes = []; 26 | } 27 | DashboardComponent.prototype.actionSelected = function (action) { 28 | this.action = action; 29 | }; 30 | DashboardComponent.prototype.refresh = function (action) { 31 | this.result = null; 32 | if (this.pushSub !== null) { 33 | this.pushSub.unsubscribe(); 34 | this.pushSub = null; 35 | } 36 | switch (action) { 37 | case 'RESET': 38 | this.alert = false; 39 | this.result = 'reset'; 40 | break; 41 | case 'CACHE_KEYS': 42 | this.loadCacheKeys(); 43 | break; 44 | case 'SW_CHECK': 45 | this.checkServiceWorker(); 46 | break; 47 | default: 48 | this.result = null; 49 | } 50 | }; 51 | DashboardComponent.prototype.loadCacheKeys = function () { 52 | var _this = this; 53 | var caches = window['caches']; 54 | caches.keys().then(function (keys) { return _this.result = JSON.stringify(keys); }); 55 | }; 56 | DashboardComponent.prototype.installWorker = function (url) { 57 | var _this = this; 58 | navigator['serviceWorker'].register(url) 59 | .then(function (reg) { 60 | _this.result = JSON.stringify({ 61 | result: { 62 | scope: reg.scope 63 | } 64 | }); 65 | }) 66 | .catch(function (err) { 67 | _this.result = JSON.stringify({ 68 | error: "" + err 69 | }); 70 | }); 71 | }; 72 | DashboardComponent.prototype.checkServiceWorker = function () { 73 | var _this = this; 74 | this.result = ''; 75 | navigator['serviceWorker'] 76 | .getRegistrations() 77 | .then(function (registrations) { 78 | return registrations 79 | .map(function (reg) { 80 | return { 81 | scope: reg.scope, 82 | active: !!reg.active, 83 | installing: !!reg.installing, 84 | waiting: !!reg.waiting 85 | }; 86 | }); 87 | }) 88 | .then(function (value) { return JSON.stringify(value); }) 89 | .then(function (value) { 90 | _this.result = value; 91 | }); 92 | }; 93 | return DashboardComponent; 94 | }()); 95 | DashboardComponent = __decorate([ 96 | core_2.Component({ 97 | moduleId: module.id, 98 | selector: 'dashboard', 99 | templateUrl: './dashboard.html', 100 | }), 101 | __metadata("design:paramtypes", []) 102 | ], DashboardComponent); 103 | exports.DashboardComponent = DashboardComponent; 104 | var DashboardModule = (function () { 105 | function DashboardModule() { 106 | } 107 | return DashboardModule; 108 | }()); 109 | DashboardModule = __decorate([ 110 | core_1.NgModule({ 111 | declarations: [ 112 | DashboardComponent 113 | ], 114 | exports: [ 115 | DashboardComponent 116 | ], 117 | imports: [ 118 | common_1.CommonModule, 119 | forms_1.FormsModule, 120 | platform_browser_1.BrowserModule 121 | ], 122 | providers: [] 123 | }), 124 | __metadata("design:paramtypes", []) 125 | ], DashboardModule); 126 | exports.DashboardModule = DashboardModule; 127 | -------------------------------------------------------------------------------- /gulpfile.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var commonJs = require('rollup-plugin-commonjs'); 3 | var childProcess = require('child_process'); 4 | var fs = require('fs'); 5 | var gulp = require('gulp'); 6 | var nodeResolve = require('rollup-plugin-node-resolve'); 7 | var rimraf = require('rimraf'); 8 | var rollup = require('rollup'); 9 | var runSequence = require('run-sequence'); 10 | var closure = require('google-closure-compiler-js'); 11 | var connect = require('gulp-connect'); 12 | var RollupRx = (function () { 13 | function RollupRx() { 14 | } 15 | RollupRx.prototype.resolveId = function (id, from) { 16 | if (id.startsWith('rxjs/')) { 17 | return __dirname + "/node_modules/rxjs-es/" + id.split('rxjs/').pop() + ".js"; 18 | } 19 | }; 20 | return RollupRx; 21 | }()); 22 | function closureCompilerPlugin(options) { 23 | if (options === void 0) { options = {}; } 24 | return { 25 | transformBundle: function (bundle) { 26 | var compilation = Object.assign({}, options, { 27 | jsCode: options.jsCode ? options.jsCode.concat({ src: bundle }) : [{ src: bundle }] 28 | }); 29 | console.log('- Closure compiler is optimizing. It can take a minute or two...'); 30 | var transformed = closure.compile(compilation); 31 | return { code: transformed.compiledCode, map: transformed.sourceMap }; 32 | } 33 | }; 34 | } 35 | var build_1 = require("@angular/service-worker/build"); 36 | gulp.task('build', function (done) { return runSequence('task:clean', 'task:ngc', 'task:rollup', 'task:shell', [ 37 | 'task:static', 38 | 'task:assets', 39 | ], 'task:service-worker', 'task:worker-script', done); }); 40 | gulp.task('build-noshell', function (done) { return runSequence('task:clean', 'task:ngc', 'task:rollup', 'task:no-shell', [ 41 | 'task:static', 42 | 'task:assets', 43 | ], 'task:service-worker', 'task:worker-script', done); }); 44 | gulp.task('task:clean', function (done) { 45 | console.log('- Cleaning tmp and dist folders...'); 46 | rimraf('tmp', function () { return rimraf('dist', function () { return done(); }); }); 47 | }); 48 | gulp.task('task:ngc', function () { 49 | console.log('- Compiling Angular app using settings from tsconfig-esm.json...'); 50 | childProcess.execSync('./node_modules/.bin/ngc -p tsconfig-esm.json'); 51 | }); 52 | gulp.task('task:rollup', function (done) { 53 | console.log('- Rolling up using main-static.js as an entry...'); 54 | rollup 55 | .rollup({ 56 | entry: 'tmp/ngc/main-static.js', 57 | plugins: [ 58 | new RollupRx(), 59 | nodeResolve({ jsnext: true, main: true }), 60 | commonJs({ 61 | include: 'node_modules/**', 62 | exclude: ['node_modules/rxjs/**'], 63 | namedExports: { 64 | 'node_modules/angular2-universal/browser.js': ['UniversalModule', 'prebootComplete', 'platformUniversalDynamic'], 65 | } 66 | }), 67 | closureCompilerPlugin({ compilationLevel: 'SIMPLE' }), 68 | ], 69 | }) 70 | .then(function (bundle) { return bundle.write({ 71 | format: 'iife', 72 | dest: 'tmp/rollup/app.js', 73 | }); }) 74 | .then(function () { return done(); }, function (err) { return console.error('output error', err); }); 75 | }); 76 | gulp.task('task:worker-script', function () { return gulp 77 | .src([ 78 | 'node_modules/@angular/service-worker/bundles/worker-basic.js', 79 | ]) 80 | .pipe(gulp.dest('dist')); }); 81 | gulp.task('task:shell', function () { 82 | console.log('- Rendering app shell using main-universal-entry.js as an entry...'); 83 | childProcess.execSync('node ./main-universal-entry.js'); 84 | }); 85 | gulp.task('task:static', function () { return gulp 86 | .src([ 87 | 'manifest.webmanifest', 88 | 'node_modules/zone.js/dist/zone.js', 89 | 'node_modules/reflect-metadata/Reflect.js', 90 | 'node_modules/@angular/material/core/theming/prebuilt/indigo-pink.css', 91 | 'tmp/rollup/app.js', 92 | 'tmp/app-shell/index.html', 93 | 'push-sw.js' 94 | ]) 95 | .pipe(gulp.dest('dist')); }); 96 | gulp.task('task:no-shell', function () { return gulp 97 | .src([ 98 | 'index.html', 99 | ]) 100 | .pipe(gulp.dest('dist')); }); 101 | gulp.task('task:assets', function () { return gulp 102 | .src([ 103 | 'assets/**/*.*' 104 | ]) 105 | .pipe(gulp.dest('dist/assets')); }); 106 | gulp.task('task:service-worker', function () { return gulp 107 | .src('ngsw-manifest.json') 108 | .pipe(build_1.gulpAddStaticFiles(gulp.src([ 109 | 'dist/**/*.*' 110 | ]), { manifestKey: 'static' })) 111 | .pipe(gulp.dest('dist')); }); 112 | gulp.task('connect', function () { 113 | connect.server({ 114 | root: 'dist', 115 | livereload: false, 116 | port: 8080 117 | }); 118 | }); 119 | gulp.task('html', function () { 120 | gulp.src('./dist/*.*') 121 | .pipe(connect.reload()); 122 | }); 123 | gulp.task('watch', function () { 124 | gulp.watch(['./dist/*.*'], ['html']); 125 | }); 126 | gulp.task('serve', ['connect', 'watch']); 127 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@angular/app-shell": 6 | version "0.1.0" 7 | resolved "https://registry.yarnpkg.com/@angular/app-shell/-/app-shell-0.1.0.tgz#070f0944db3c79910c644b923643cee5836779f7" 8 | 9 | "@angular/common": 10 | version "2.1.0" 11 | resolved "https://registry.yarnpkg.com/@angular/common/-/common-2.1.0.tgz#159037ee8ea5b75951cbcb371749504b535f2c2d" 12 | 13 | "@angular/compiler": 14 | version "2.1.0" 15 | resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-2.1.0.tgz#1388e1b6adadb4495e1cb5f0fa5322728de0d003" 16 | 17 | "@angular/compiler-cli": 18 | version "2.1.0" 19 | resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-2.1.0.tgz#9678e4104265f2a8313672562309a63e360784e1" 20 | dependencies: 21 | "@angular/tsc-wrapped" "^0.3.0" 22 | minimist "^1.2.0" 23 | reflect-metadata "^0.1.2" 24 | 25 | "@angular/core": 26 | version "2.1.0" 27 | resolved "https://registry.yarnpkg.com/@angular/core/-/core-2.1.0.tgz#a2fdb0f76f72e5ac521feadd4d119f60afff2bd3" 28 | 29 | "@angular/core@~2.2.0": 30 | version "2.2.1" 31 | resolved "https://registry.yarnpkg.com/@angular/core/-/core-2.2.1.tgz#86fdc34a370a4fcfe84ed9de4b3c43548612919c" 32 | 33 | "@angular/forms": 34 | version "2.1.0" 35 | resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-2.1.0.tgz#89b2684c176c32e954bf78ce15dffad269138c25" 36 | 37 | "@angular/http": 38 | version "2.1.0" 39 | resolved "https://registry.yarnpkg.com/@angular/http/-/http-2.1.0.tgz#19aad01f791aa1e3794863d21b35bc377ce76987" 40 | 41 | "@angular/material": 42 | version "2.0.0-alpha.9-3" 43 | resolved "https://registry.yarnpkg.com/@angular/material/-/material-2.0.0-alpha.9-3.tgz#77e0f6a790069b2b9d48bff3eab78b5a59d244a0" 44 | dependencies: 45 | "@types/hammerjs" "^2.0.30" 46 | 47 | "@angular/platform-browser": 48 | version "2.1.0" 49 | resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-2.1.0.tgz#f53b2234a460def5f9e718bb812b91a0a5f6c1e7" 50 | 51 | "@angular/platform-browser-dynamic": 52 | version "2.1.0" 53 | resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-2.1.0.tgz#05de532f46bbfdf80a603768e994f33c2ddf73e7" 54 | 55 | "@angular/service-worker": 56 | version "0.7.1" 57 | resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-0.7.1.tgz#6e71d9895159079205c7c5765bdf28262c415d30" 58 | dependencies: 59 | "@angular/core" "~2.2.0" 60 | base64-js "^1.1.2" 61 | jshashes "^1.0.5" 62 | protractor "^4.0.10" 63 | webdriver-manager "^10.2.6" 64 | 65 | "@angular/tsc-wrapped@^0.3.0": 66 | version "0.3.0" 67 | resolved "https://registry.yarnpkg.com/@angular/tsc-wrapped/-/tsc-wrapped-0.3.0.tgz#98cdeb5c38d145b187c0ad0397a8d98b217f33f2" 68 | dependencies: 69 | tsickle "^0.1.7" 70 | 71 | "@ng-bootstrap/ng-bootstrap@^1.0.0-alpha.13": 72 | version "1.0.0-alpha.13" 73 | resolved "https://registry.yarnpkg.com/@ng-bootstrap/ng-bootstrap/-/ng-bootstrap-1.0.0-alpha.13.tgz#0c7037ab261b1e3a176e278e4728b02e89d963da" 74 | 75 | "@types/hammerjs@^2.0.30": 76 | version "2.0.33" 77 | resolved "https://registry.yarnpkg.com/@types/hammerjs/-/hammerjs-2.0.33.tgz#45f57352474181425bb4b65f7313a60426d54bab" 78 | 79 | "@types/jasmine@^2.5.36": 80 | version "2.5.38" 81 | resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-2.5.38.tgz#a4379124c4921d4e21de54ec74669c9e9b356717" 82 | 83 | "@types/node": 84 | version "6.0.45" 85 | resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.45.tgz#c4842a9d653d767831e4ff495b6008cc0d579966" 86 | 87 | "@types/node@^6.0.46": 88 | version "6.0.48" 89 | resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.48.tgz#86ccc15f66b73cbbc5eb3483398936c585122b3c" 90 | 91 | "@types/q@^0.0.32": 92 | version "0.0.32" 93 | resolved "https://registry.yarnpkg.com/@types/q/-/q-0.0.32.tgz#bd284e57c84f1325da702babfc82a5328190c0c5" 94 | 95 | "@types/selenium-webdriver@~2.53.31": 96 | version "2.53.35" 97 | resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-2.53.35.tgz#a0c4b5f090bde48ba9ed16e4d43a5b99112c72fb" 98 | 99 | abbrev@1: 100 | version "1.0.9" 101 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" 102 | 103 | acorn@^4.0.1: 104 | version "4.0.3" 105 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.3.tgz#1a3e850b428e73ba6b09d1cc527f5aaad4d03ef1" 106 | 107 | adm-zip@0.4.4: 108 | version "0.4.4" 109 | resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.4.tgz#a61ed5ae6905c3aea58b3a657d25033091052736" 110 | 111 | adm-zip@0.4.7, adm-zip@^0.4.7: 112 | version "0.4.7" 113 | resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.7.tgz#8606c2cbf1c426ce8c8ec00174447fd49b6eafc1" 114 | 115 | agent-base@2: 116 | version "2.0.1" 117 | resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-2.0.1.tgz#bd8f9e86a8eb221fffa07bd14befd55df142815e" 118 | dependencies: 119 | extend "~3.0.0" 120 | semver "~5.0.1" 121 | 122 | amdefine@>=0.0.4: 123 | version "1.0.0" 124 | resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.0.tgz#fd17474700cb5cc9c2b709f0be9d23ce3c198c33" 125 | 126 | angular2-platform-node@~2.1.0-rc.1: 127 | version "2.1.0-rc.1" 128 | resolved "https://registry.yarnpkg.com/angular2-platform-node/-/angular2-platform-node-2.1.0-rc.1.tgz#ab92d093951ffeede4f1570aec8de1a454b91645" 129 | dependencies: 130 | css "^2.2.1" 131 | parse5 "^2.2.1" 132 | preboot "4.5.2" 133 | 134 | angular2-universal: 135 | version "2.1.0-rc.1" 136 | resolved "https://registry.yarnpkg.com/angular2-universal/-/angular2-universal-2.1.0-rc.1.tgz#8cd5f5288014b15d86eb18829c2f6ef3f841c80b" 137 | dependencies: 138 | angular2-platform-node "~2.1.0-rc.1" 139 | css "^2.2.1" 140 | js-beautify "^1.6.4" 141 | parse5 "^2.2.1" 142 | preboot "4.5.2" 143 | xhr2 "^0.1.3" 144 | 145 | angular2-universal-polyfills: 146 | version "2.1.0-rc.1" 147 | resolved "https://registry.yarnpkg.com/angular2-universal-polyfills/-/angular2-universal-polyfills-2.1.0-rc.1.tgz#d14a2bdec567cd94baba6161c7c5e7d5edc1210e" 148 | dependencies: 149 | es6-promise "~3.0.2" 150 | es6-shim "~0.35.0" 151 | ie-shim "^0.1.0" 152 | reflect-metadata "0.1.2" 153 | 154 | ansi-regex@^2.0.0: 155 | version "2.0.0" 156 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.0.0.tgz#c5061b6e0ef8a81775e50f5d66151bf6bf371107" 157 | 158 | ansi-styles@^2.2.1: 159 | version "2.2.1" 160 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 161 | 162 | any-promise@^1.3.0: 163 | version "1.3.0" 164 | resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" 165 | 166 | archy@^1.0.0: 167 | version "1.0.0" 168 | resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" 169 | 170 | arr-diff@^2.0.0: 171 | version "2.0.0" 172 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" 173 | dependencies: 174 | arr-flatten "^1.0.1" 175 | 176 | arr-flatten@^1.0.1: 177 | version "1.0.1" 178 | resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.1.tgz#e5ffe54d45e19f32f216e91eb99c8ce892bb604b" 179 | 180 | array-differ@^1.0.0: 181 | version "1.0.0" 182 | resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" 183 | 184 | array-find-index@^1.0.1: 185 | version "1.0.2" 186 | resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" 187 | 188 | array-union@^1.0.1: 189 | version "1.0.2" 190 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" 191 | dependencies: 192 | array-uniq "^1.0.1" 193 | 194 | array-uniq@^1.0.1, array-uniq@^1.0.2: 195 | version "1.0.3" 196 | resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" 197 | 198 | array-unique@^0.2.1: 199 | version "0.2.1" 200 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" 201 | 202 | arrify@^1.0.0: 203 | version "1.0.1" 204 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" 205 | 206 | asn1@~0.2.3: 207 | version "0.2.3" 208 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" 209 | 210 | assert-plus@^0.2.0: 211 | version "0.2.0" 212 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" 213 | 214 | assert-plus@^1.0.0: 215 | version "1.0.0" 216 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 217 | 218 | async@~0.2.6: 219 | version "0.2.10" 220 | resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" 221 | 222 | asynckit@^0.4.0: 223 | version "0.4.0" 224 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 225 | 226 | atob@~1.1.0: 227 | version "1.1.3" 228 | resolved "https://registry.yarnpkg.com/atob/-/atob-1.1.3.tgz#95f13629b12c3a51a5d215abdce2aa9f32f80773" 229 | 230 | aws-sign2@~0.6.0: 231 | version "0.6.0" 232 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" 233 | 234 | aws4@^1.2.1: 235 | version "1.5.0" 236 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.5.0.tgz#0a29ffb79c31c9e712eeb087e8e7a64b4a56d755" 237 | 238 | balanced-match@^0.4.1: 239 | version "0.4.2" 240 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" 241 | 242 | base64-js@^1.1.2: 243 | version "1.2.0" 244 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1" 245 | 246 | bcrypt-pbkdf@^1.0.0: 247 | version "1.0.0" 248 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz#3ca76b85241c7170bf7d9703e7b9aa74630040d4" 249 | dependencies: 250 | tweetnacl "^0.14.3" 251 | 252 | beeper@^1.0.0: 253 | version "1.1.0" 254 | resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.0.tgz#9ee6fc1ce7f54feaace7ce73588b056037866a2c" 255 | 256 | bluebird@^3.0.5: 257 | version "3.4.6" 258 | resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.6.tgz#01da8d821d87813d158967e743d5fe6c62cf8c0f" 259 | 260 | boom@2.x.x: 261 | version "2.10.1" 262 | resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" 263 | dependencies: 264 | hoek "2.x.x" 265 | 266 | brace-expansion@^1.0.0: 267 | version "1.1.6" 268 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9" 269 | dependencies: 270 | balanced-match "^0.4.1" 271 | concat-map "0.0.1" 272 | 273 | braces@^1.8.2: 274 | version "1.8.5" 275 | resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" 276 | dependencies: 277 | expand-range "^1.8.1" 278 | preserve "^0.2.0" 279 | repeat-element "^1.1.2" 280 | 281 | browser-resolve@^1.11.0: 282 | version "1.11.2" 283 | resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce" 284 | dependencies: 285 | resolve "1.1.7" 286 | 287 | builtin-modules@^1.0.0, builtin-modules@^1.1.0: 288 | version "1.1.1" 289 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" 290 | 291 | camelcase-keys@^2.0.0: 292 | version "2.1.0" 293 | resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" 294 | dependencies: 295 | camelcase "^2.0.0" 296 | map-obj "^1.0.0" 297 | 298 | camelcase@^2.0.0: 299 | version "2.1.1" 300 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" 301 | 302 | caseless@~0.11.0: 303 | version "0.11.0" 304 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" 305 | 306 | chalk@*, chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: 307 | version "1.1.3" 308 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 309 | dependencies: 310 | ansi-styles "^2.2.1" 311 | escape-string-regexp "^1.0.2" 312 | has-ansi "^2.0.0" 313 | strip-ansi "^3.0.0" 314 | supports-color "^2.0.0" 315 | 316 | clone-stats@^0.0.1: 317 | version "0.0.1" 318 | resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" 319 | 320 | clone@^0.2.0: 321 | version "0.2.0" 322 | resolved "https://registry.yarnpkg.com/clone/-/clone-0.2.0.tgz#c6126a90ad4f72dbf5acdb243cc37724fe93fc1f" 323 | 324 | clone@^1.0.0, clone@^1.0.2: 325 | version "1.0.2" 326 | resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" 327 | 328 | combined-stream@^1.0.5, combined-stream@~1.0.5: 329 | version "1.0.5" 330 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" 331 | dependencies: 332 | delayed-stream "~1.0.0" 333 | 334 | commander@^2.9.0: 335 | version "2.9.0" 336 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" 337 | dependencies: 338 | graceful-readlink ">= 1.0.0" 339 | 340 | concat-map@0.0.1: 341 | version "0.0.1" 342 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 343 | 344 | config-chain@~1.1.5: 345 | version "1.1.11" 346 | resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.11.tgz#aba09747dfbe4c3e70e766a6e41586e1859fc6f2" 347 | dependencies: 348 | ini "^1.3.4" 349 | proto-list "~1.2.1" 350 | 351 | core-util-is@~1.0.0: 352 | version "1.0.2" 353 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 354 | 355 | cryptiles@2.x.x: 356 | version "2.0.5" 357 | resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" 358 | dependencies: 359 | boom "2.x.x" 360 | 361 | css@^2.2.1: 362 | version "2.2.1" 363 | resolved "https://registry.yarnpkg.com/css/-/css-2.2.1.tgz#73a4c81de85db664d4ee674f7d47085e3b2d55dc" 364 | dependencies: 365 | inherits "^2.0.1" 366 | source-map "^0.1.38" 367 | source-map-resolve "^0.3.0" 368 | urix "^0.1.0" 369 | 370 | currently-unhandled@^0.4.1: 371 | version "0.4.1" 372 | resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" 373 | dependencies: 374 | array-find-index "^1.0.1" 375 | 376 | dashdash@^1.12.0: 377 | version "1.14.0" 378 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.0.tgz#29e486c5418bf0f356034a993d51686a33e84141" 379 | dependencies: 380 | assert-plus "^1.0.0" 381 | 382 | dateformat@^1.0.11: 383 | version "1.0.12" 384 | resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9" 385 | dependencies: 386 | get-stdin "^4.0.1" 387 | meow "^3.3.0" 388 | 389 | debug@2: 390 | version "2.3.2" 391 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.3.2.tgz#94cb466ef7d6d2c7e5245cdd6e4104f2d0d70d30" 392 | dependencies: 393 | ms "0.7.2" 394 | 395 | decamelize@^1.1.2: 396 | version "1.2.0" 397 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 398 | 399 | defaults@^1.0.0: 400 | version "1.0.3" 401 | resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" 402 | dependencies: 403 | clone "^1.0.2" 404 | 405 | del@^2.2.0: 406 | version "2.2.2" 407 | resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" 408 | dependencies: 409 | globby "^5.0.0" 410 | is-path-cwd "^1.0.0" 411 | is-path-in-cwd "^1.0.0" 412 | object-assign "^4.0.1" 413 | pify "^2.0.0" 414 | pinkie-promise "^2.0.0" 415 | rimraf "^2.2.8" 416 | 417 | delayed-stream@~1.0.0: 418 | version "1.0.0" 419 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 420 | 421 | deprecated@^0.0.1: 422 | version "0.0.1" 423 | resolved "https://registry.yarnpkg.com/deprecated/-/deprecated-0.0.1.tgz#f9c9af5464afa1e7a971458a8bdef2aa94d5bb19" 424 | 425 | detect-file@^0.1.0: 426 | version "0.1.0" 427 | resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-0.1.0.tgz#4935dedfd9488648e006b0129566e9386711ea63" 428 | dependencies: 429 | fs-exists-sync "^0.1.0" 430 | 431 | diff@^3.0.0: 432 | version "3.0.1" 433 | resolved "https://registry.yarnpkg.com/diff/-/diff-3.0.1.tgz#a52d90cc08956994be00877bff97110062582c35" 434 | 435 | dom-walk@^0.1.0: 436 | version "0.1.1" 437 | resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018" 438 | 439 | duplexer2@0.0.2: 440 | version "0.0.2" 441 | resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db" 442 | dependencies: 443 | readable-stream "~1.1.9" 444 | 445 | ecc-jsbn@~0.1.1: 446 | version "0.1.1" 447 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" 448 | dependencies: 449 | jsbn "~0.1.0" 450 | 451 | editorconfig@^0.13.2: 452 | version "0.13.2" 453 | resolved "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.13.2.tgz#8e57926d9ee69ab6cb999f027c2171467acceb35" 454 | dependencies: 455 | bluebird "^3.0.5" 456 | commander "^2.9.0" 457 | lru-cache "^3.2.0" 458 | sigmund "^1.0.1" 459 | 460 | end-of-stream@~0.1.5: 461 | version "0.1.5" 462 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-0.1.5.tgz#8e177206c3c80837d85632e8b9359dfe8b2f6eaf" 463 | dependencies: 464 | once "~1.3.0" 465 | 466 | error-ex@^1.2.0: 467 | version "1.3.0" 468 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.0.tgz#e67b43f3e82c96ea3a584ffee0b9fc3325d802d9" 469 | dependencies: 470 | is-arrayish "^0.2.1" 471 | 472 | es6-promise@~3.0.2: 473 | version "3.0.2" 474 | resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.0.2.tgz#010d5858423a5f118979665f46486a95c6ee2bb6" 475 | 476 | es6-shim@~0.35.0: 477 | version "0.35.1" 478 | resolved "https://registry.yarnpkg.com/es6-shim/-/es6-shim-0.35.1.tgz#a23524009005b031ab4a352ac196dfdfd1144ab7" 479 | 480 | escape-string-regexp@^1.0.2: 481 | version "1.0.5" 482 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 483 | 484 | estree-walker@^0.2.1: 485 | version "0.2.1" 486 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.2.1.tgz#bdafe8095383d8414d5dc2ecf4c9173b6db9412e" 487 | 488 | exit@^0.1.2: 489 | version "0.1.2" 490 | resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" 491 | 492 | expand-brackets@^0.1.4: 493 | version "0.1.5" 494 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" 495 | dependencies: 496 | is-posix-bracket "^0.1.0" 497 | 498 | expand-range@^1.8.1: 499 | version "1.8.2" 500 | resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" 501 | dependencies: 502 | fill-range "^2.1.0" 503 | 504 | expand-tilde@^1.2.1, expand-tilde@^1.2.2: 505 | version "1.2.2" 506 | resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-1.2.2.tgz#0b81eba897e5a3d31d1c3d102f8f01441e559449" 507 | dependencies: 508 | os-homedir "^1.0.1" 509 | 510 | extend@3, extend@^3.0.0, extend@~3.0.0: 511 | version "3.0.0" 512 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4" 513 | 514 | extglob@^0.3.1: 515 | version "0.3.2" 516 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" 517 | dependencies: 518 | is-extglob "^1.0.0" 519 | 520 | extsprintf@1.0.2: 521 | version "1.0.2" 522 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" 523 | 524 | fancy-log@^1.1.0: 525 | version "1.2.0" 526 | resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.2.0.tgz#d5a51b53e9ab22ca07d558f2b67ae55fdb5fcbd8" 527 | dependencies: 528 | chalk "^1.1.1" 529 | time-stamp "^1.0.0" 530 | 531 | filename-regex@^2.0.0: 532 | version "2.0.0" 533 | resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775" 534 | 535 | fill-range@^2.1.0: 536 | version "2.2.3" 537 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" 538 | dependencies: 539 | is-number "^2.1.0" 540 | isobject "^2.0.0" 541 | randomatic "^1.1.3" 542 | repeat-element "^1.1.2" 543 | repeat-string "^1.5.2" 544 | 545 | find-index@^0.1.1: 546 | version "0.1.1" 547 | resolved "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4" 548 | 549 | find-up@^1.0.0: 550 | version "1.1.2" 551 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" 552 | dependencies: 553 | path-exists "^2.0.0" 554 | pinkie-promise "^2.0.0" 555 | 556 | findup-sync@^0.4.2: 557 | version "0.4.3" 558 | resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.4.3.tgz#40043929e7bc60adf0b7f4827c4c6e75a0deca12" 559 | dependencies: 560 | detect-file "^0.1.0" 561 | is-glob "^2.0.1" 562 | micromatch "^2.3.7" 563 | resolve-dir "^0.1.0" 564 | 565 | fined@^1.0.1: 566 | version "1.0.2" 567 | resolved "https://registry.yarnpkg.com/fined/-/fined-1.0.2.tgz#5b28424b760d7598960b7ef8480dff8ad3660e97" 568 | dependencies: 569 | expand-tilde "^1.2.1" 570 | lodash.assignwith "^4.0.7" 571 | lodash.isempty "^4.2.1" 572 | lodash.isplainobject "^4.0.4" 573 | lodash.isstring "^4.0.1" 574 | lodash.pick "^4.2.1" 575 | parse-filepath "^1.0.1" 576 | 577 | first-chunk-stream@^1.0.0: 578 | version "1.0.0" 579 | resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e" 580 | 581 | flagged-respawn@^0.3.2: 582 | version "0.3.2" 583 | resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-0.3.2.tgz#ff191eddcd7088a675b2610fffc976be9b8074b5" 584 | 585 | for-in@^0.1.5: 586 | version "0.1.6" 587 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.6.tgz#c9f96e89bfad18a545af5ec3ed352a1d9e5b4dc8" 588 | 589 | for-own@^0.1.3: 590 | version "0.1.4" 591 | resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.4.tgz#0149b41a39088c7515f51ebe1c1386d45f935072" 592 | dependencies: 593 | for-in "^0.1.5" 594 | 595 | forever-agent@~0.6.1: 596 | version "0.6.1" 597 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" 598 | 599 | form-data@~2.1.1: 600 | version "2.1.2" 601 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz#89c3534008b97eada4cbb157d58f6f5df025eae4" 602 | dependencies: 603 | asynckit "^0.4.0" 604 | combined-stream "^1.0.5" 605 | mime-types "^2.1.12" 606 | 607 | fs-exists-sync@^0.1.0: 608 | version "0.1.0" 609 | resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" 610 | 611 | fs.realpath@^1.0.0: 612 | version "1.0.0" 613 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 614 | 615 | gaze@^0.5.1: 616 | version "0.5.2" 617 | resolved "https://registry.yarnpkg.com/gaze/-/gaze-0.5.2.tgz#40b709537d24d1d45767db5a908689dfe69ac44f" 618 | dependencies: 619 | globule "~0.1.0" 620 | 621 | generate-function@^2.0.0: 622 | version "2.0.0" 623 | resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" 624 | 625 | generate-object-property@^1.1.0: 626 | version "1.2.0" 627 | resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" 628 | dependencies: 629 | is-property "^1.0.0" 630 | 631 | get-stdin@^4.0.1: 632 | version "4.0.1" 633 | resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" 634 | 635 | getpass@^0.1.1: 636 | version "0.1.6" 637 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6" 638 | dependencies: 639 | assert-plus "^1.0.0" 640 | 641 | glob-base@^0.3.0: 642 | version "0.3.0" 643 | resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" 644 | dependencies: 645 | glob-parent "^2.0.0" 646 | is-glob "^2.0.0" 647 | 648 | glob-parent@^2.0.0: 649 | version "2.0.0" 650 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" 651 | dependencies: 652 | is-glob "^2.0.0" 653 | 654 | glob-stream@^3.1.5: 655 | version "3.1.18" 656 | resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-3.1.18.tgz#9170a5f12b790306fdfe598f313f8f7954fd143b" 657 | dependencies: 658 | glob "^4.3.1" 659 | glob2base "^0.0.12" 660 | minimatch "^2.0.1" 661 | ordered-read-streams "^0.1.0" 662 | through2 "^0.6.1" 663 | unique-stream "^1.0.0" 664 | 665 | glob-watcher@^0.0.6: 666 | version "0.0.6" 667 | resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-0.0.6.tgz#b95b4a8df74b39c83298b0c05c978b4d9a3b710b" 668 | dependencies: 669 | gaze "^0.5.1" 670 | 671 | glob2base@^0.0.12: 672 | version "0.0.12" 673 | resolved "https://registry.yarnpkg.com/glob2base/-/glob2base-0.0.12.tgz#9d419b3e28f12e83a362164a277055922c9c0d56" 674 | dependencies: 675 | find-index "^0.1.1" 676 | 677 | glob@^3.2.11: 678 | version "3.2.11" 679 | resolved "https://registry.yarnpkg.com/glob/-/glob-3.2.11.tgz#4a973f635b9190f715d10987d5c00fd2815ebe3d" 680 | dependencies: 681 | inherits "2" 682 | minimatch "0.3" 683 | 684 | glob@^4.3.1: 685 | version "4.5.3" 686 | resolved "https://registry.yarnpkg.com/glob/-/glob-4.5.3.tgz#c6cb73d3226c1efef04de3c56d012f03377ee15f" 687 | dependencies: 688 | inflight "^1.0.4" 689 | inherits "2" 690 | minimatch "^2.0.1" 691 | once "^1.3.0" 692 | 693 | glob@^7.0.3, glob@^7.0.5: 694 | version "7.1.1" 695 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" 696 | dependencies: 697 | fs.realpath "^1.0.0" 698 | inflight "^1.0.4" 699 | inherits "2" 700 | minimatch "^3.0.2" 701 | once "^1.3.0" 702 | path-is-absolute "^1.0.0" 703 | 704 | glob@~3.1.21: 705 | version "3.1.21" 706 | resolved "https://registry.yarnpkg.com/glob/-/glob-3.1.21.tgz#d29e0a055dea5138f4d07ed40e8982e83c2066cd" 707 | dependencies: 708 | graceful-fs "~1.2.0" 709 | inherits "1" 710 | minimatch "~0.2.11" 711 | 712 | global: 713 | version "4.3.1" 714 | resolved "https://registry.yarnpkg.com/global/-/global-4.3.1.tgz#5f757908c7cbabce54f386ae440e11e26b7916df" 715 | dependencies: 716 | min-document "^2.19.0" 717 | process "~0.5.1" 718 | 719 | global-modules@^0.2.3: 720 | version "0.2.3" 721 | resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-0.2.3.tgz#ea5a3bed42c6d6ce995a4f8a1269b5dae223828d" 722 | dependencies: 723 | global-prefix "^0.1.4" 724 | is-windows "^0.2.0" 725 | 726 | global-prefix@^0.1.4: 727 | version "0.1.4" 728 | resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-0.1.4.tgz#05158db1cde2dd491b455e290eb3ab8bfc45c6e1" 729 | dependencies: 730 | ini "^1.3.4" 731 | is-windows "^0.2.0" 732 | osenv "^0.1.3" 733 | which "^1.2.10" 734 | 735 | globby@^5.0.0: 736 | version "5.0.0" 737 | resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" 738 | dependencies: 739 | array-union "^1.0.1" 740 | arrify "^1.0.0" 741 | glob "^7.0.3" 742 | object-assign "^4.0.1" 743 | pify "^2.0.0" 744 | pinkie-promise "^2.0.0" 745 | 746 | globule@~0.1.0: 747 | version "0.1.0" 748 | resolved "https://registry.yarnpkg.com/globule/-/globule-0.1.0.tgz#d9c8edde1da79d125a151b79533b978676346ae5" 749 | dependencies: 750 | glob "~3.1.21" 751 | lodash "~1.0.1" 752 | minimatch "~0.2.11" 753 | 754 | glogg@^1.0.0: 755 | version "1.0.0" 756 | resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.0.tgz#7fe0f199f57ac906cf512feead8f90ee4a284fc5" 757 | dependencies: 758 | sparkles "^1.0.0" 759 | 760 | google-closure-compiler-js: 761 | version "20160916.0.0" 762 | resolved "https://registry.yarnpkg.com/google-closure-compiler-js/-/google-closure-compiler-js-20160916.0.0.tgz#e57618f07c644420269e8b12fb16caf4f88fefbf" 763 | dependencies: 764 | gulp-util "^3.0.7" 765 | webpack-core "^0.6.8" 766 | 767 | graceful-fs@^3.0.0: 768 | version "3.0.11" 769 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.11.tgz#7613c778a1afea62f25c630a086d7f3acbbdd818" 770 | dependencies: 771 | natives "^1.1.0" 772 | 773 | graceful-fs@^4.1.2: 774 | version "4.1.9" 775 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.9.tgz#baacba37d19d11f9d146d3578bc99958c3787e29" 776 | 777 | graceful-fs@~1.2.0: 778 | version "1.2.3" 779 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364" 780 | 781 | "graceful-readlink@>= 1.0.0": 782 | version "1.0.1" 783 | resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" 784 | 785 | gulp: 786 | version "3.9.1" 787 | resolved "https://registry.yarnpkg.com/gulp/-/gulp-3.9.1.tgz#571ce45928dd40af6514fc4011866016c13845b4" 788 | dependencies: 789 | archy "^1.0.0" 790 | chalk "^1.0.0" 791 | deprecated "^0.0.1" 792 | gulp-util "^3.0.0" 793 | interpret "^1.0.0" 794 | liftoff "^2.1.0" 795 | minimist "^1.1.0" 796 | orchestrator "^0.3.0" 797 | pretty-hrtime "^1.0.0" 798 | semver "^4.1.0" 799 | tildify "^1.0.0" 800 | v8flags "^2.0.2" 801 | vinyl-fs "^0.3.0" 802 | 803 | gulp-util@*, gulp-util@^3.0.0, gulp-util@^3.0.7: 804 | version "3.0.7" 805 | resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.7.tgz#78925c4b8f8b49005ac01a011c557e6218941cbb" 806 | dependencies: 807 | array-differ "^1.0.0" 808 | array-uniq "^1.0.2" 809 | beeper "^1.0.0" 810 | chalk "^1.0.0" 811 | dateformat "^1.0.11" 812 | fancy-log "^1.1.0" 813 | gulplog "^1.0.0" 814 | has-gulplog "^0.1.0" 815 | lodash._reescape "^3.0.0" 816 | lodash._reevaluate "^3.0.0" 817 | lodash._reinterpolate "^3.0.0" 818 | lodash.template "^3.0.0" 819 | minimist "^1.1.0" 820 | multipipe "^0.1.2" 821 | object-assign "^3.0.0" 822 | replace-ext "0.0.1" 823 | through2 "^2.0.0" 824 | vinyl "^0.5.0" 825 | 826 | gulplog@^1.0.0: 827 | version "1.0.0" 828 | resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5" 829 | dependencies: 830 | glogg "^1.0.0" 831 | 832 | har-validator@~2.0.6: 833 | version "2.0.6" 834 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" 835 | dependencies: 836 | chalk "^1.1.1" 837 | commander "^2.9.0" 838 | is-my-json-valid "^2.12.4" 839 | pinkie-promise "^2.0.0" 840 | 841 | has-ansi@^2.0.0: 842 | version "2.0.0" 843 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 844 | dependencies: 845 | ansi-regex "^2.0.0" 846 | 847 | has-gulplog@^0.1.0: 848 | version "0.1.0" 849 | resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce" 850 | dependencies: 851 | sparkles "^1.0.0" 852 | 853 | hawk@~3.1.3: 854 | version "3.1.3" 855 | resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" 856 | dependencies: 857 | boom "2.x.x" 858 | cryptiles "2.x.x" 859 | hoek "2.x.x" 860 | sntp "1.x.x" 861 | 862 | hoek@2.x.x: 863 | version "2.16.3" 864 | resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" 865 | 866 | hosted-git-info@^2.1.4: 867 | version "2.1.5" 868 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.1.5.tgz#0ba81d90da2e25ab34a332e6ec77936e1598118b" 869 | 870 | http-signature@~1.1.0: 871 | version "1.1.1" 872 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" 873 | dependencies: 874 | assert-plus "^0.2.0" 875 | jsprim "^1.2.2" 876 | sshpk "^1.7.0" 877 | 878 | https-proxy-agent@^1.0.0: 879 | version "1.0.0" 880 | resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz#35f7da6c48ce4ddbfa264891ac593ee5ff8671e6" 881 | dependencies: 882 | agent-base "2" 883 | debug "2" 884 | extend "3" 885 | 886 | ie-shim@^0.1.0: 887 | version "0.1.0" 888 | resolved "https://registry.yarnpkg.com/ie-shim/-/ie-shim-0.1.0.tgz#d329de228e7dfe656feaea3e20748ef095363c5d" 889 | 890 | indent-string@^2.1.0: 891 | version "2.1.0" 892 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" 893 | dependencies: 894 | repeating "^2.0.0" 895 | 896 | inflight@^1.0.4: 897 | version "1.0.6" 898 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 899 | dependencies: 900 | once "^1.3.0" 901 | wrappy "1" 902 | 903 | inherits@1: 904 | version "1.0.2" 905 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-1.0.2.tgz#ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b" 906 | 907 | inherits@2, inherits@^2.0.1, inherits@~2.0.1: 908 | version "2.0.3" 909 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 910 | 911 | ini@^1.3.4: 912 | version "1.3.4" 913 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" 914 | 915 | interpret@^1.0.0: 916 | version "1.0.1" 917 | resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c" 918 | 919 | is-absolute@^0.2.3: 920 | version "0.2.5" 921 | resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-0.2.5.tgz#994142b9f468d27c14fbf0cd30fe77db934ca76d" 922 | dependencies: 923 | is-relative "^0.2.1" 924 | is-windows "^0.1.1" 925 | 926 | is-arrayish@^0.2.1: 927 | version "0.2.1" 928 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 929 | 930 | is-buffer@^1.0.2: 931 | version "1.1.4" 932 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.4.tgz#cfc86ccd5dc5a52fa80489111c6920c457e2d98b" 933 | 934 | is-builtin-module@^1.0.0: 935 | version "1.0.0" 936 | resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" 937 | dependencies: 938 | builtin-modules "^1.0.0" 939 | 940 | is-dotfile@^1.0.0: 941 | version "1.0.2" 942 | resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d" 943 | 944 | is-equal-shallow@^0.1.3: 945 | version "0.1.3" 946 | resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" 947 | dependencies: 948 | is-primitive "^2.0.0" 949 | 950 | is-extendable@^0.1.1: 951 | version "0.1.1" 952 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" 953 | 954 | is-extglob@^1.0.0: 955 | version "1.0.0" 956 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" 957 | 958 | is-finite@^1.0.0: 959 | version "1.0.2" 960 | resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" 961 | dependencies: 962 | number-is-nan "^1.0.0" 963 | 964 | is-glob@^2.0.0, is-glob@^2.0.1: 965 | version "2.0.1" 966 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" 967 | dependencies: 968 | is-extglob "^1.0.0" 969 | 970 | is-my-json-valid@^2.12.4: 971 | version "2.15.0" 972 | resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b" 973 | dependencies: 974 | generate-function "^2.0.0" 975 | generate-object-property "^1.1.0" 976 | jsonpointer "^4.0.0" 977 | xtend "^4.0.0" 978 | 979 | is-number@^2.0.2, is-number@^2.1.0: 980 | version "2.1.0" 981 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" 982 | dependencies: 983 | kind-of "^3.0.2" 984 | 985 | is-path-cwd@^1.0.0: 986 | version "1.0.0" 987 | resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" 988 | 989 | is-path-in-cwd@^1.0.0: 990 | version "1.0.0" 991 | resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc" 992 | dependencies: 993 | is-path-inside "^1.0.0" 994 | 995 | is-path-inside@^1.0.0: 996 | version "1.0.0" 997 | resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f" 998 | dependencies: 999 | path-is-inside "^1.0.1" 1000 | 1001 | is-posix-bracket@^0.1.0: 1002 | version "0.1.1" 1003 | resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" 1004 | 1005 | is-primitive@^2.0.0: 1006 | version "2.0.0" 1007 | resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" 1008 | 1009 | is-property@^1.0.0: 1010 | version "1.0.2" 1011 | resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" 1012 | 1013 | is-relative@^0.2.1: 1014 | version "0.2.1" 1015 | resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-0.2.1.tgz#d27f4c7d516d175fb610db84bbeef23c3bc97aa5" 1016 | dependencies: 1017 | is-unc-path "^0.1.1" 1018 | 1019 | is-typedarray@~1.0.0: 1020 | version "1.0.0" 1021 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 1022 | 1023 | is-unc-path@^0.1.1: 1024 | version "0.1.1" 1025 | resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-0.1.1.tgz#ab2533d77ad733561124c3dc0f5cd8b90054c86b" 1026 | dependencies: 1027 | unc-path-regex "^0.1.0" 1028 | 1029 | is-utf8@^0.2.0: 1030 | version "0.2.1" 1031 | resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" 1032 | 1033 | is-windows@^0.1.1: 1034 | version "0.1.1" 1035 | resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.1.1.tgz#be310715431cfabccc54ab3951210fa0b6d01abe" 1036 | 1037 | is-windows@^0.2.0: 1038 | version "0.2.0" 1039 | resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c" 1040 | 1041 | isarray@0.0.1: 1042 | version "0.0.1" 1043 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" 1044 | 1045 | isarray@1.0.0, isarray@~1.0.0: 1046 | version "1.0.0" 1047 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 1048 | 1049 | isexe@^1.1.1: 1050 | version "1.1.2" 1051 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz#36f3e22e60750920f5e7241a476a8c6a42275ad0" 1052 | 1053 | isobject@^2.0.0: 1054 | version "2.1.0" 1055 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" 1056 | dependencies: 1057 | isarray "1.0.0" 1058 | 1059 | isstream@~0.1.2: 1060 | version "0.1.2" 1061 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 1062 | 1063 | jasmine-core@~2.4.0: 1064 | version "2.4.1" 1065 | resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.4.1.tgz#6f83ab3a0f16951722ce07d206c773d57cc838be" 1066 | 1067 | jasmine@2.4.1: 1068 | version "2.4.1" 1069 | resolved "https://registry.yarnpkg.com/jasmine/-/jasmine-2.4.1.tgz#9016dda453213d27ac6d43dc4ea97315a189085e" 1070 | dependencies: 1071 | exit "^0.1.2" 1072 | glob "^3.2.11" 1073 | jasmine-core "~2.4.0" 1074 | 1075 | jasminewd2@0.0.10: 1076 | version "0.0.10" 1077 | resolved "https://registry.yarnpkg.com/jasminewd2/-/jasminewd2-0.0.10.tgz#94f48ae2bc946cad643035467b4bb7ea9c1075ef" 1078 | 1079 | jodid25519@^1.0.0: 1080 | version "1.0.2" 1081 | resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" 1082 | dependencies: 1083 | jsbn "~0.1.0" 1084 | 1085 | js-beautify@^1.6.4: 1086 | version "1.6.4" 1087 | resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.6.4.tgz#a9af79699742ac9a1b6fddc1fdbc78bc4d515fc3" 1088 | dependencies: 1089 | config-chain "~1.1.5" 1090 | editorconfig "^0.13.2" 1091 | mkdirp "~0.5.0" 1092 | nopt "~3.0.1" 1093 | 1094 | jsbn@~0.1.0: 1095 | version "0.1.0" 1096 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.0.tgz#650987da0dd74f4ebf5a11377a2aa2d273e97dfd" 1097 | 1098 | jshashes@^1.0.5: 1099 | version "1.0.5" 1100 | resolved "https://registry.yarnpkg.com/jshashes/-/jshashes-1.0.5.tgz#8ba1f70fefda9f6563f5587685185e43cf2e720b" 1101 | 1102 | json-schema@0.2.3: 1103 | version "0.2.3" 1104 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" 1105 | 1106 | json-stringify-safe@~5.0.1: 1107 | version "5.0.1" 1108 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 1109 | 1110 | jsonpointer@^4.0.0: 1111 | version "4.0.0" 1112 | resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.0.tgz#6661e161d2fc445f19f98430231343722e1fcbd5" 1113 | 1114 | jsprim@^1.2.2: 1115 | version "1.3.1" 1116 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.3.1.tgz#2a7256f70412a29ee3670aaca625994c4dcff252" 1117 | dependencies: 1118 | extsprintf "1.0.2" 1119 | json-schema "0.2.3" 1120 | verror "1.3.6" 1121 | 1122 | kind-of@^3.0.2: 1123 | version "3.0.4" 1124 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.0.4.tgz#7b8ecf18a4e17f8269d73b501c9f232c96887a74" 1125 | dependencies: 1126 | is-buffer "^1.0.2" 1127 | 1128 | liftoff@^2.1.0: 1129 | version "2.3.0" 1130 | resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-2.3.0.tgz#a98f2ff67183d8ba7cfaca10548bd7ff0550b385" 1131 | dependencies: 1132 | extend "^3.0.0" 1133 | findup-sync "^0.4.2" 1134 | fined "^1.0.1" 1135 | flagged-respawn "^0.3.2" 1136 | lodash.isplainobject "^4.0.4" 1137 | lodash.isstring "^4.0.1" 1138 | lodash.mapvalues "^4.4.0" 1139 | rechoir "^0.6.2" 1140 | resolve "^1.1.7" 1141 | 1142 | load-json-file@^1.0.0: 1143 | version "1.1.0" 1144 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" 1145 | dependencies: 1146 | graceful-fs "^4.1.2" 1147 | parse-json "^2.2.0" 1148 | pify "^2.0.0" 1149 | pinkie-promise "^2.0.0" 1150 | strip-bom "^2.0.0" 1151 | 1152 | lodash._basecopy@^3.0.0: 1153 | version "3.0.1" 1154 | resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" 1155 | 1156 | lodash._basetostring@^3.0.0: 1157 | version "3.0.1" 1158 | resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5" 1159 | 1160 | lodash._basevalues@^3.0.0: 1161 | version "3.0.0" 1162 | resolved "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7" 1163 | 1164 | lodash._getnative@^3.0.0: 1165 | version "3.9.1" 1166 | resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" 1167 | 1168 | lodash._isiterateecall@^3.0.0: 1169 | version "3.0.9" 1170 | resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" 1171 | 1172 | lodash._reescape@^3.0.0: 1173 | version "3.0.0" 1174 | resolved "https://registry.yarnpkg.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz#2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a" 1175 | 1176 | lodash._reevaluate@^3.0.0: 1177 | version "3.0.0" 1178 | resolved "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed" 1179 | 1180 | lodash._reinterpolate@^3.0.0: 1181 | version "3.0.0" 1182 | resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" 1183 | 1184 | lodash._root@^3.0.0: 1185 | version "3.0.1" 1186 | resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" 1187 | 1188 | lodash.assignwith@^4.0.7: 1189 | version "4.2.0" 1190 | resolved "https://registry.yarnpkg.com/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz#127a97f02adc41751a954d24b0de17e100e038eb" 1191 | 1192 | lodash.escape@^3.0.0: 1193 | version "3.2.0" 1194 | resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698" 1195 | dependencies: 1196 | lodash._root "^3.0.0" 1197 | 1198 | lodash.isarguments@^3.0.0: 1199 | version "3.1.0" 1200 | resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" 1201 | 1202 | lodash.isarray@^3.0.0: 1203 | version "3.0.4" 1204 | resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" 1205 | 1206 | lodash.isempty@^4.2.1: 1207 | version "4.4.0" 1208 | resolved "https://registry.yarnpkg.com/lodash.isempty/-/lodash.isempty-4.4.0.tgz#6f86cbedd8be4ec987be9aaf33c9684db1b31e7e" 1209 | 1210 | lodash.isplainobject@^4.0.4: 1211 | version "4.0.6" 1212 | resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" 1213 | 1214 | lodash.isstring@^4.0.1: 1215 | version "4.0.1" 1216 | resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" 1217 | 1218 | lodash.keys@^3.0.0: 1219 | version "3.1.2" 1220 | resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" 1221 | dependencies: 1222 | lodash._getnative "^3.0.0" 1223 | lodash.isarguments "^3.0.0" 1224 | lodash.isarray "^3.0.0" 1225 | 1226 | lodash.mapvalues@^4.4.0: 1227 | version "4.6.0" 1228 | resolved "https://registry.yarnpkg.com/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz#1bafa5005de9dd6f4f26668c30ca37230cc9689c" 1229 | 1230 | lodash.pick@^4.2.1: 1231 | version "4.4.0" 1232 | resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" 1233 | 1234 | lodash.restparam@^3.0.0: 1235 | version "3.6.1" 1236 | resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" 1237 | 1238 | lodash.template@^3.0.0: 1239 | version "3.6.2" 1240 | resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f" 1241 | dependencies: 1242 | lodash._basecopy "^3.0.0" 1243 | lodash._basetostring "^3.0.0" 1244 | lodash._basevalues "^3.0.0" 1245 | lodash._isiterateecall "^3.0.0" 1246 | lodash._reinterpolate "^3.0.0" 1247 | lodash.escape "^3.0.0" 1248 | lodash.keys "^3.0.0" 1249 | lodash.restparam "^3.0.0" 1250 | lodash.templatesettings "^3.0.0" 1251 | 1252 | lodash.templatesettings@^3.0.0: 1253 | version "3.1.1" 1254 | resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5" 1255 | dependencies: 1256 | lodash._reinterpolate "^3.0.0" 1257 | lodash.escape "^3.0.0" 1258 | 1259 | lodash@~1.0.1: 1260 | version "1.0.2" 1261 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-1.0.2.tgz#8f57560c83b59fc270bd3d561b690043430e2551" 1262 | 1263 | loud-rejection@^1.0.0: 1264 | version "1.6.0" 1265 | resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" 1266 | dependencies: 1267 | currently-unhandled "^0.4.1" 1268 | signal-exit "^3.0.0" 1269 | 1270 | lru-cache@2: 1271 | version "2.7.3" 1272 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" 1273 | 1274 | lru-cache@^3.2.0: 1275 | version "3.2.0" 1276 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-3.2.0.tgz#71789b3b7f5399bec8565dda38aa30d2a097efee" 1277 | dependencies: 1278 | pseudomap "^1.0.1" 1279 | 1280 | magic-string@^0.16.0: 1281 | version "0.16.0" 1282 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.16.0.tgz#970ebb0da7193301285fb1aa650f39bdd81eb45a" 1283 | dependencies: 1284 | vlq "^0.2.1" 1285 | 1286 | make-error@^1.1.1: 1287 | version "1.2.1" 1288 | resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.2.1.tgz#9a6dfb4844423b9f145806728d05c6e935670e75" 1289 | 1290 | map-cache@^0.2.0: 1291 | version "0.2.2" 1292 | resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" 1293 | 1294 | map-obj@^1.0.0, map-obj@^1.0.1: 1295 | version "1.0.1" 1296 | resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" 1297 | 1298 | meow@^3.3.0: 1299 | version "3.7.0" 1300 | resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" 1301 | dependencies: 1302 | camelcase-keys "^2.0.0" 1303 | decamelize "^1.1.2" 1304 | loud-rejection "^1.0.0" 1305 | map-obj "^1.0.1" 1306 | minimist "^1.1.3" 1307 | normalize-package-data "^2.3.4" 1308 | object-assign "^4.0.1" 1309 | read-pkg-up "^1.0.1" 1310 | redent "^1.0.0" 1311 | trim-newlines "^1.0.0" 1312 | 1313 | micromatch@^2.3.7: 1314 | version "2.3.11" 1315 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" 1316 | dependencies: 1317 | arr-diff "^2.0.0" 1318 | array-unique "^0.2.1" 1319 | braces "^1.8.2" 1320 | expand-brackets "^0.1.4" 1321 | extglob "^0.3.1" 1322 | filename-regex "^2.0.0" 1323 | is-extglob "^1.0.0" 1324 | is-glob "^2.0.1" 1325 | kind-of "^3.0.2" 1326 | normalize-path "^2.0.1" 1327 | object.omit "^2.0.0" 1328 | parse-glob "^3.0.4" 1329 | regex-cache "^0.4.2" 1330 | 1331 | mime-db@~1.24.0: 1332 | version "1.24.0" 1333 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.24.0.tgz#e2d13f939f0016c6e4e9ad25a8652f126c467f0c" 1334 | 1335 | mime-types@^2.1.12, mime-types@~2.1.7: 1336 | version "2.1.12" 1337 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.12.tgz#152ba256777020dd4663f54c2e7bc26381e71729" 1338 | dependencies: 1339 | mime-db "~1.24.0" 1340 | 1341 | min-document@^2.19.0: 1342 | version "2.19.0" 1343 | resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" 1344 | dependencies: 1345 | dom-walk "^0.1.0" 1346 | 1347 | minimatch@0.3: 1348 | version "0.3.0" 1349 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.3.0.tgz#275d8edaac4f1bb3326472089e7949c8394699dd" 1350 | dependencies: 1351 | lru-cache "2" 1352 | sigmund "~1.0.0" 1353 | 1354 | minimatch@^2.0.1: 1355 | version "2.0.10" 1356 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz#8d087c39c6b38c001b97fca7ce6d0e1e80afbac7" 1357 | dependencies: 1358 | brace-expansion "^1.0.0" 1359 | 1360 | minimatch@^3.0.2: 1361 | version "3.0.3" 1362 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" 1363 | dependencies: 1364 | brace-expansion "^1.0.0" 1365 | 1366 | minimatch@~0.2.11: 1367 | version "0.2.14" 1368 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.2.14.tgz#c74e780574f63c6f9a090e90efbe6ef53a6a756a" 1369 | dependencies: 1370 | lru-cache "2" 1371 | sigmund "~1.0.0" 1372 | 1373 | minimist@0.0.8, minimist@~0.0.1: 1374 | version "0.0.8" 1375 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 1376 | 1377 | minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0: 1378 | version "1.2.0" 1379 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 1380 | 1381 | mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0: 1382 | version "0.5.1" 1383 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 1384 | dependencies: 1385 | minimist "0.0.8" 1386 | 1387 | ms@0.7.2: 1388 | version "0.7.2" 1389 | resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" 1390 | 1391 | multipipe@^0.1.2: 1392 | version "0.1.2" 1393 | resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b" 1394 | dependencies: 1395 | duplexer2 "0.0.2" 1396 | 1397 | natives@^1.1.0: 1398 | version "1.1.0" 1399 | resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.0.tgz#e9ff841418a6b2ec7a495e939984f78f163e6e31" 1400 | 1401 | node-uuid@~1.4.7: 1402 | version "1.4.7" 1403 | resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.7.tgz#6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f" 1404 | 1405 | nopt@~3.0.1: 1406 | version "3.0.6" 1407 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" 1408 | dependencies: 1409 | abbrev "1" 1410 | 1411 | normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: 1412 | version "2.3.5" 1413 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.5.tgz#8d924f142960e1777e7ffe170543631cc7cb02df" 1414 | dependencies: 1415 | hosted-git-info "^2.1.4" 1416 | is-builtin-module "^1.0.0" 1417 | semver "2 || 3 || 4 || 5" 1418 | validate-npm-package-license "^3.0.1" 1419 | 1420 | normalize-path@^2.0.1: 1421 | version "2.0.1" 1422 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a" 1423 | 1424 | number-is-nan@^1.0.0: 1425 | version "1.0.1" 1426 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 1427 | 1428 | oauth-sign@~0.8.1: 1429 | version "0.8.2" 1430 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" 1431 | 1432 | object-assign@^3.0.0: 1433 | version "3.0.0" 1434 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" 1435 | 1436 | object-assign@^4.0.1: 1437 | version "4.1.0" 1438 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" 1439 | 1440 | object.omit@^2.0.0: 1441 | version "2.0.0" 1442 | resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.0.tgz#868597333d54e60662940bb458605dd6ae12fe94" 1443 | dependencies: 1444 | for-own "^0.1.3" 1445 | is-extendable "^0.1.1" 1446 | 1447 | once@^1.3.0: 1448 | version "1.4.0" 1449 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1450 | dependencies: 1451 | wrappy "1" 1452 | 1453 | once@~1.3.0: 1454 | version "1.3.3" 1455 | resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" 1456 | dependencies: 1457 | wrappy "1" 1458 | 1459 | optimist@~0.6.0: 1460 | version "0.6.1" 1461 | resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" 1462 | dependencies: 1463 | minimist "~0.0.1" 1464 | wordwrap "~0.0.2" 1465 | 1466 | options@>=0.0.5: 1467 | version "0.0.6" 1468 | resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f" 1469 | 1470 | orchestrator@^0.3.0: 1471 | version "0.3.7" 1472 | resolved "https://registry.yarnpkg.com/orchestrator/-/orchestrator-0.3.7.tgz#c45064e22c5a2a7b99734f409a95ffedc7d3c3df" 1473 | dependencies: 1474 | end-of-stream "~0.1.5" 1475 | sequencify "~0.0.7" 1476 | stream-consume "~0.1.0" 1477 | 1478 | ordered-read-streams@^0.1.0: 1479 | version "0.1.0" 1480 | resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz#fd565a9af8eb4473ba69b6ed8a34352cb552f126" 1481 | 1482 | os-homedir@^1.0.0, os-homedir@^1.0.1: 1483 | version "1.0.2" 1484 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 1485 | 1486 | os-tmpdir@^1.0.0: 1487 | version "1.0.2" 1488 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 1489 | 1490 | osenv@^0.1.3: 1491 | version "0.1.3" 1492 | resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.3.tgz#83cf05c6d6458fc4d5ac6362ea325d92f2754217" 1493 | dependencies: 1494 | os-homedir "^1.0.0" 1495 | os-tmpdir "^1.0.0" 1496 | 1497 | parse-filepath@^1.0.1: 1498 | version "1.0.1" 1499 | resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.1.tgz#159d6155d43904d16c10ef698911da1e91969b73" 1500 | dependencies: 1501 | is-absolute "^0.2.3" 1502 | map-cache "^0.2.0" 1503 | path-root "^0.1.1" 1504 | 1505 | parse-glob@^3.0.4: 1506 | version "3.0.4" 1507 | resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" 1508 | dependencies: 1509 | glob-base "^0.3.0" 1510 | is-dotfile "^1.0.0" 1511 | is-extglob "^1.0.0" 1512 | is-glob "^2.0.0" 1513 | 1514 | parse-json@^2.2.0: 1515 | version "2.2.0" 1516 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" 1517 | dependencies: 1518 | error-ex "^1.2.0" 1519 | 1520 | parse5@^2.2.1: 1521 | version "2.2.2" 1522 | resolved "https://registry.yarnpkg.com/parse5/-/parse5-2.2.2.tgz#27f04785e9aee58aa824bc0a31c3049c3e39c51e" 1523 | 1524 | path-exists@^2.0.0: 1525 | version "2.1.0" 1526 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" 1527 | dependencies: 1528 | pinkie-promise "^2.0.0" 1529 | 1530 | path-is-absolute@^1.0.0: 1531 | version "1.0.1" 1532 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1533 | 1534 | path-is-inside@^1.0.1: 1535 | version "1.0.2" 1536 | resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" 1537 | 1538 | path-root-regex@^0.1.0: 1539 | version "0.1.2" 1540 | resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" 1541 | 1542 | path-root@^0.1.1: 1543 | version "0.1.1" 1544 | resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" 1545 | dependencies: 1546 | path-root-regex "^0.1.0" 1547 | 1548 | path-type@^1.0.0: 1549 | version "1.1.0" 1550 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" 1551 | dependencies: 1552 | graceful-fs "^4.1.2" 1553 | pify "^2.0.0" 1554 | pinkie-promise "^2.0.0" 1555 | 1556 | pify@^2.0.0: 1557 | version "2.3.0" 1558 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" 1559 | 1560 | pinkie-promise@^2.0.0: 1561 | version "2.0.1" 1562 | resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" 1563 | dependencies: 1564 | pinkie "^2.0.0" 1565 | 1566 | pinkie@^2.0.0, pinkie@^2.0.4: 1567 | version "2.0.4" 1568 | resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" 1569 | 1570 | preboot@4.5.2: 1571 | version "4.5.2" 1572 | resolved "https://registry.yarnpkg.com/preboot/-/preboot-4.5.2.tgz#cb349209958c2b48d7f74137b3499bbbe5472a5e" 1573 | 1574 | preserve@^0.2.0: 1575 | version "0.2.0" 1576 | resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" 1577 | 1578 | pretty-hrtime@^1.0.0: 1579 | version "1.0.2" 1580 | resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.2.tgz#70ca96f4d0628a443b918758f79416a9a7bc9fa8" 1581 | 1582 | process-nextick-args@~1.0.6: 1583 | version "1.0.7" 1584 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" 1585 | 1586 | process@~0.5.1: 1587 | version "0.5.2" 1588 | resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf" 1589 | 1590 | proto-list@~1.2.1: 1591 | version "1.2.4" 1592 | resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" 1593 | 1594 | protractor@^4.0.10: 1595 | version "4.0.11" 1596 | resolved "https://registry.yarnpkg.com/protractor/-/protractor-4.0.11.tgz#fc4bf8d75deec8516b600f87ea5b95ecf537d059" 1597 | dependencies: 1598 | "@types/jasmine" "^2.5.36" 1599 | "@types/node" "^6.0.46" 1600 | "@types/q" "^0.0.32" 1601 | "@types/selenium-webdriver" "~2.53.31" 1602 | adm-zip "0.4.7" 1603 | chalk "^1.1.3" 1604 | glob "^7.0.3" 1605 | jasmine "2.4.1" 1606 | jasminewd2 "0.0.10" 1607 | optimist "~0.6.0" 1608 | q "1.4.1" 1609 | saucelabs "~1.3.0" 1610 | selenium-webdriver "2.53.3" 1611 | source-map-support "~0.4.0" 1612 | webdriver-manager "^10.2.8" 1613 | 1614 | pseudomap@^1.0.1: 1615 | version "1.0.2" 1616 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" 1617 | 1618 | punycode@^1.4.1: 1619 | version "1.4.1" 1620 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 1621 | 1622 | q@1.4.1, q@^1.4.1: 1623 | version "1.4.1" 1624 | resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e" 1625 | 1626 | qs@~6.3.0: 1627 | version "6.3.0" 1628 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442" 1629 | 1630 | randomatic@^1.1.3: 1631 | version "1.1.5" 1632 | resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.5.tgz#5e9ef5f2d573c67bd2b8124ae90b5156e457840b" 1633 | dependencies: 1634 | is-number "^2.0.2" 1635 | kind-of "^3.0.2" 1636 | 1637 | read-pkg-up@^1.0.1: 1638 | version "1.0.1" 1639 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" 1640 | dependencies: 1641 | find-up "^1.0.0" 1642 | read-pkg "^1.0.0" 1643 | 1644 | read-pkg@^1.0.0: 1645 | version "1.1.0" 1646 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" 1647 | dependencies: 1648 | load-json-file "^1.0.0" 1649 | normalize-package-data "^2.3.2" 1650 | path-type "^1.0.0" 1651 | 1652 | "readable-stream@>=1.0.33-1 <1.1.0-0": 1653 | version "1.0.34" 1654 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" 1655 | dependencies: 1656 | core-util-is "~1.0.0" 1657 | inherits "~2.0.1" 1658 | isarray "0.0.1" 1659 | string_decoder "~0.10.x" 1660 | 1661 | readable-stream@~1.1.9: 1662 | version "1.1.14" 1663 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" 1664 | dependencies: 1665 | core-util-is "~1.0.0" 1666 | inherits "~2.0.1" 1667 | isarray "0.0.1" 1668 | string_decoder "~0.10.x" 1669 | 1670 | readable-stream@~2.0.0: 1671 | version "2.0.6" 1672 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" 1673 | dependencies: 1674 | core-util-is "~1.0.0" 1675 | inherits "~2.0.1" 1676 | isarray "~1.0.0" 1677 | process-nextick-args "~1.0.6" 1678 | string_decoder "~0.10.x" 1679 | util-deprecate "~1.0.1" 1680 | 1681 | rechoir@^0.6.2: 1682 | version "0.6.2" 1683 | resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" 1684 | dependencies: 1685 | resolve "^1.1.6" 1686 | 1687 | redent@^1.0.0: 1688 | version "1.0.0" 1689 | resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" 1690 | dependencies: 1691 | indent-string "^2.1.0" 1692 | strip-indent "^1.0.1" 1693 | 1694 | reflect-metadata@0.1.2: 1695 | version "0.1.2" 1696 | resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.2.tgz#ea23e5823dc830f292822bd3da9b89fd57bffb03" 1697 | 1698 | reflect-metadata@^0.1.2, reflect-metadata@^0.1.8: 1699 | version "0.1.8" 1700 | resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.8.tgz#72426d570b60776e3688968bd5ab9537a15cecf6" 1701 | 1702 | regex-cache@^0.4.2: 1703 | version "0.4.3" 1704 | resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" 1705 | dependencies: 1706 | is-equal-shallow "^0.1.3" 1707 | is-primitive "^2.0.0" 1708 | 1709 | repeat-element@^1.1.2: 1710 | version "1.1.2" 1711 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" 1712 | 1713 | repeat-string@^1.5.2: 1714 | version "1.5.4" 1715 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.5.4.tgz#64ec0c91e0f4b475f90d5b643651e3e6e5b6c2d5" 1716 | 1717 | repeating@^2.0.0: 1718 | version "2.0.1" 1719 | resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" 1720 | dependencies: 1721 | is-finite "^1.0.0" 1722 | 1723 | replace-ext@0.0.1: 1724 | version "0.0.1" 1725 | resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" 1726 | 1727 | request@^2.78.0: 1728 | version "2.78.0" 1729 | resolved "https://registry.yarnpkg.com/request/-/request-2.78.0.tgz#e1c8dec346e1c81923b24acdb337f11decabe9cc" 1730 | dependencies: 1731 | aws-sign2 "~0.6.0" 1732 | aws4 "^1.2.1" 1733 | caseless "~0.11.0" 1734 | combined-stream "~1.0.5" 1735 | extend "~3.0.0" 1736 | forever-agent "~0.6.1" 1737 | form-data "~2.1.1" 1738 | har-validator "~2.0.6" 1739 | hawk "~3.1.3" 1740 | http-signature "~1.1.0" 1741 | is-typedarray "~1.0.0" 1742 | isstream "~0.1.2" 1743 | json-stringify-safe "~5.0.1" 1744 | mime-types "~2.1.7" 1745 | node-uuid "~1.4.7" 1746 | oauth-sign "~0.8.1" 1747 | qs "~6.3.0" 1748 | stringstream "~0.0.4" 1749 | tough-cookie "~2.3.0" 1750 | tunnel-agent "~0.4.1" 1751 | 1752 | resolve-dir@^0.1.0: 1753 | version "0.1.1" 1754 | resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-0.1.1.tgz#b219259a5602fac5c5c496ad894a6e8cc430261e" 1755 | dependencies: 1756 | expand-tilde "^1.2.2" 1757 | global-modules "^0.2.3" 1758 | 1759 | resolve-url@~0.2.1: 1760 | version "0.2.1" 1761 | resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" 1762 | 1763 | resolve@1.1.7, resolve@^1.1.6, resolve@^1.1.7: 1764 | version "1.1.7" 1765 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" 1766 | 1767 | rimraf@^2.2.8, rimraf@^2.5.2: 1768 | version "2.5.4" 1769 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" 1770 | dependencies: 1771 | glob "^7.0.5" 1772 | 1773 | rollup: 1774 | version "0.36.3" 1775 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.36.3.tgz#c89ac479828924ff8f69c1d44541cb4ea2fc11fc" 1776 | dependencies: 1777 | source-map-support "^0.4.0" 1778 | 1779 | rollup-plugin-commonjs: 1780 | version "5.0.5" 1781 | resolved "https://registry.yarnpkg.com/rollup-plugin-commonjs/-/rollup-plugin-commonjs-5.0.5.tgz#14f93d92cb70e6c31142914b83cd3e904be30c1f" 1782 | dependencies: 1783 | acorn "^4.0.1" 1784 | estree-walker "^0.2.1" 1785 | magic-string "^0.16.0" 1786 | resolve "^1.1.7" 1787 | rollup-pluginutils "^1.5.1" 1788 | 1789 | rollup-plugin-node-resolve: 1790 | version "2.0.0" 1791 | resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-2.0.0.tgz#07e0ae94ac002a3ea36e8f33ca121d9f836b1309" 1792 | dependencies: 1793 | browser-resolve "^1.11.0" 1794 | builtin-modules "^1.1.0" 1795 | resolve "^1.1.6" 1796 | 1797 | rollup-pluginutils@^1.5.1: 1798 | version "1.5.2" 1799 | resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz#1e156e778f94b7255bfa1b3d0178be8f5c552408" 1800 | dependencies: 1801 | estree-walker "^0.2.1" 1802 | minimatch "^3.0.2" 1803 | 1804 | run-sequence: 1805 | version "1.2.2" 1806 | resolved "https://registry.yarnpkg.com/run-sequence/-/run-sequence-1.2.2.tgz#5095a0bebe98733b0140bd08dd80ec030ddacdeb" 1807 | dependencies: 1808 | chalk "*" 1809 | gulp-util "*" 1810 | 1811 | rxjs: 1812 | version "5.0.0-rc.1" 1813 | resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.0.0-rc.1.tgz#9e02b7044da81a2d5e138908d22af77e22d96973" 1814 | dependencies: 1815 | symbol-observable "^1.0.1" 1816 | 1817 | rxjs-es: 1818 | version "5.0.0-beta.12" 1819 | resolved "https://registry.yarnpkg.com/rxjs-es/-/rxjs-es-5.0.0-beta.12.tgz#cf161b173f5086feec113b82c4d95187b2f11c43" 1820 | dependencies: 1821 | symbol-observable "^1.0.1" 1822 | 1823 | saucelabs@~1.3.0: 1824 | version "1.3.0" 1825 | resolved "https://registry.yarnpkg.com/saucelabs/-/saucelabs-1.3.0.tgz#d240e8009df7fa87306ec4578a69ba3b5c424fee" 1826 | dependencies: 1827 | https-proxy-agent "^1.0.0" 1828 | 1829 | sax@0.6.x: 1830 | version "0.6.1" 1831 | resolved "https://registry.yarnpkg.com/sax/-/sax-0.6.1.tgz#563b19c7c1de892e09bfc4f2fc30e3c27f0952b9" 1832 | 1833 | selenium-webdriver@2.53.3: 1834 | version "2.53.3" 1835 | resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-2.53.3.tgz#d29ff5a957dff1a1b49dc457756e4e4bfbdce085" 1836 | dependencies: 1837 | adm-zip "0.4.4" 1838 | rimraf "^2.2.8" 1839 | tmp "0.0.24" 1840 | ws "^1.0.1" 1841 | xml2js "0.4.4" 1842 | 1843 | "semver@2 || 3 || 4 || 5", semver@^5.3.0: 1844 | version "5.3.0" 1845 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" 1846 | 1847 | semver@^4.1.0: 1848 | version "4.3.6" 1849 | resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da" 1850 | 1851 | semver@~5.0.1: 1852 | version "5.0.3" 1853 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.0.3.tgz#77466de589cd5d3c95f138aa78bc569a3cb5d27a" 1854 | 1855 | sequencify@~0.0.7: 1856 | version "0.0.7" 1857 | resolved "https://registry.yarnpkg.com/sequencify/-/sequencify-0.0.7.tgz#90cff19d02e07027fd767f5ead3e7b95d1e7380c" 1858 | 1859 | sigmund@^1.0.1, sigmund@~1.0.0: 1860 | version "1.0.1" 1861 | resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" 1862 | 1863 | signal-exit@^3.0.0: 1864 | version "3.0.1" 1865 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.1.tgz#5a4c884992b63a7acd9badb7894c3ee9cfccad81" 1866 | 1867 | sntp@1.x.x: 1868 | version "1.0.9" 1869 | resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" 1870 | dependencies: 1871 | hoek "2.x.x" 1872 | 1873 | source-list-map@~0.1.0: 1874 | version "0.1.6" 1875 | resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.6.tgz#e1e6f94f0b40c4d28dcf8f5b8766e0e45636877f" 1876 | 1877 | source-map-resolve@^0.3.0: 1878 | version "0.3.1" 1879 | resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.3.1.tgz#610f6122a445b8dd51535a2a71b783dfc1248761" 1880 | dependencies: 1881 | atob "~1.1.0" 1882 | resolve-url "~0.2.1" 1883 | source-map-url "~0.3.0" 1884 | urix "~0.1.0" 1885 | 1886 | source-map-support@^0.3.1: 1887 | version "0.3.3" 1888 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.3.3.tgz#34900977d5ba3f07c7757ee72e73bb1a9b53754f" 1889 | dependencies: 1890 | source-map "0.1.32" 1891 | 1892 | source-map-support@^0.4.0, source-map-support@~0.4.0: 1893 | version "0.4.3" 1894 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.3.tgz#693c8383d4389a4569486987c219744dfc601685" 1895 | dependencies: 1896 | source-map "^0.5.3" 1897 | 1898 | source-map-url@~0.3.0: 1899 | version "0.3.0" 1900 | resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.3.0.tgz#7ecaf13b57bcd09da8a40c5d269db33799d4aaf9" 1901 | 1902 | source-map@0.1.32: 1903 | version "0.1.32" 1904 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.32.tgz#c8b6c167797ba4740a8ea33252162ff08591b266" 1905 | dependencies: 1906 | amdefine ">=0.0.4" 1907 | 1908 | source-map@0.1.34: 1909 | version "0.1.34" 1910 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.34.tgz#a7cfe89aec7b1682c3b198d0acfb47d7d090566b" 1911 | dependencies: 1912 | amdefine ">=0.0.4" 1913 | 1914 | source-map@^0.1.38: 1915 | version "0.1.43" 1916 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" 1917 | dependencies: 1918 | amdefine ">=0.0.4" 1919 | 1920 | source-map@^0.4.2, source-map@~0.4.1: 1921 | version "0.4.4" 1922 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" 1923 | dependencies: 1924 | amdefine ">=0.0.4" 1925 | 1926 | source-map@^0.5.3: 1927 | version "0.5.6" 1928 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" 1929 | 1930 | sparkles@^1.0.0: 1931 | version "1.0.0" 1932 | resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.0.tgz#1acbbfb592436d10bbe8f785b7cc6f82815012c3" 1933 | 1934 | spdx-correct@~1.0.0: 1935 | version "1.0.2" 1936 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" 1937 | dependencies: 1938 | spdx-license-ids "^1.0.2" 1939 | 1940 | spdx-expression-parse@~1.0.0: 1941 | version "1.0.4" 1942 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" 1943 | 1944 | spdx-license-ids@^1.0.2: 1945 | version "1.2.2" 1946 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" 1947 | 1948 | sshpk@^1.7.0: 1949 | version "1.10.1" 1950 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.10.1.tgz#30e1a5d329244974a1af61511339d595af6638b0" 1951 | dependencies: 1952 | asn1 "~0.2.3" 1953 | assert-plus "^1.0.0" 1954 | dashdash "^1.12.0" 1955 | getpass "^0.1.1" 1956 | optionalDependencies: 1957 | bcrypt-pbkdf "^1.0.0" 1958 | ecc-jsbn "~0.1.1" 1959 | jodid25519 "^1.0.0" 1960 | jsbn "~0.1.0" 1961 | tweetnacl "~0.14.0" 1962 | 1963 | stream-consume@~0.1.0: 1964 | version "0.1.0" 1965 | resolved "https://registry.yarnpkg.com/stream-consume/-/stream-consume-0.1.0.tgz#a41ead1a6d6081ceb79f65b061901b6d8f3d1d0f" 1966 | 1967 | string_decoder@~0.10.x: 1968 | version "0.10.31" 1969 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" 1970 | 1971 | stringstream@~0.0.4: 1972 | version "0.0.5" 1973 | resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" 1974 | 1975 | strip-ansi@^3.0.0: 1976 | version "3.0.1" 1977 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 1978 | dependencies: 1979 | ansi-regex "^2.0.0" 1980 | 1981 | strip-bom@^1.0.0: 1982 | version "1.0.0" 1983 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-1.0.0.tgz#85b8862f3844b5a6d5ec8467a93598173a36f794" 1984 | dependencies: 1985 | first-chunk-stream "^1.0.0" 1986 | is-utf8 "^0.2.0" 1987 | 1988 | strip-bom@^2.0.0: 1989 | version "2.0.0" 1990 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" 1991 | dependencies: 1992 | is-utf8 "^0.2.0" 1993 | 1994 | strip-indent@^1.0.1: 1995 | version "1.0.1" 1996 | resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" 1997 | dependencies: 1998 | get-stdin "^4.0.1" 1999 | 2000 | strip-json-comments@^2.0.0: 2001 | version "2.0.1" 2002 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 2003 | 2004 | supports-color@^2.0.0: 2005 | version "2.0.0" 2006 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 2007 | 2008 | symbol-observable@^1.0.1: 2009 | version "1.0.3" 2010 | resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.3.tgz#0fdb005e84f346a899d492beba23068b32d1525a" 2011 | 2012 | through2@^0.6.1: 2013 | version "0.6.5" 2014 | resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48" 2015 | dependencies: 2016 | readable-stream ">=1.0.33-1 <1.1.0-0" 2017 | xtend ">=4.0.0 <4.1.0-0" 2018 | 2019 | through2@^2.0.0: 2020 | version "2.0.1" 2021 | resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.1.tgz#384e75314d49f32de12eebb8136b8eb6b5d59da9" 2022 | dependencies: 2023 | readable-stream "~2.0.0" 2024 | xtend "~4.0.0" 2025 | 2026 | tildify@^1.0.0: 2027 | version "1.2.0" 2028 | resolved "https://registry.yarnpkg.com/tildify/-/tildify-1.2.0.tgz#dcec03f55dca9b7aa3e5b04f21817eb56e63588a" 2029 | dependencies: 2030 | os-homedir "^1.0.0" 2031 | 2032 | time-stamp@^1.0.0: 2033 | version "1.0.1" 2034 | resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.0.1.tgz#9f4bd23559c9365966f3302dbba2b07c6b99b151" 2035 | 2036 | tmp@0.0.24: 2037 | version "0.0.24" 2038 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.24.tgz#d6a5e198d14a9835cc6f2d7c3d9e302428c8cf12" 2039 | 2040 | tough-cookie@~2.3.0: 2041 | version "2.3.2" 2042 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" 2043 | dependencies: 2044 | punycode "^1.4.1" 2045 | 2046 | trim-newlines@^1.0.0: 2047 | version "1.0.0" 2048 | resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" 2049 | 2050 | ts-node: 2051 | version "1.4.3" 2052 | resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-1.4.3.tgz#d96399b6257d6ab0f0c61487e23c6713594666be" 2053 | dependencies: 2054 | arrify "^1.0.0" 2055 | chalk "^1.1.1" 2056 | diff "^3.0.0" 2057 | make-error "^1.1.1" 2058 | minimist "^1.2.0" 2059 | mkdirp "^0.5.1" 2060 | pinkie "^2.0.4" 2061 | source-map-support "^0.4.0" 2062 | tsconfig "^5.0.2" 2063 | xtend "^4.0.0" 2064 | yn "^1.2.0" 2065 | 2066 | tsconfig@^5.0.2: 2067 | version "5.0.3" 2068 | resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-5.0.3.tgz#5f4278e701800967a8fc383fd19648878f2a6e3a" 2069 | dependencies: 2070 | any-promise "^1.3.0" 2071 | parse-json "^2.2.0" 2072 | strip-bom "^2.0.0" 2073 | strip-json-comments "^2.0.0" 2074 | 2075 | tsickle@^0.1.7: 2076 | version "0.1.7" 2077 | resolved "https://registry.yarnpkg.com/tsickle/-/tsickle-0.1.7.tgz#bfe8f4cdcdaf9a40b84a729a38480c2f824f18ab" 2078 | dependencies: 2079 | minimist "^1.2.0" 2080 | mkdirp "^0.5.1" 2081 | source-map "^0.4.2" 2082 | source-map-support "^0.3.1" 2083 | 2084 | tunnel-agent@~0.4.1: 2085 | version "0.4.3" 2086 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" 2087 | 2088 | tweetnacl@^0.14.3, tweetnacl@~0.14.0: 2089 | version "0.14.3" 2090 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.3.tgz#3da382f670f25ded78d7b3d1792119bca0b7132d" 2091 | 2092 | typescript: 2093 | version "2.0.3" 2094 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.0.3.tgz#33dec9eae86b8eee327dd419ca050c853cabd514" 2095 | 2096 | uglify-to-browserify@~1.0.0: 2097 | version "1.0.2" 2098 | resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" 2099 | 2100 | uglifyjs: 2101 | version "2.4.10" 2102 | resolved "https://registry.yarnpkg.com/uglifyjs/-/uglifyjs-2.4.10.tgz#632927319fa6a3da3fc91f9773ac27bfe6c3ee92" 2103 | dependencies: 2104 | async "~0.2.6" 2105 | source-map "0.1.34" 2106 | uglify-to-browserify "~1.0.0" 2107 | yargs "~1.3.3" 2108 | 2109 | ultron@1.0.x: 2110 | version "1.0.2" 2111 | resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa" 2112 | 2113 | unc-path-regex@^0.1.0: 2114 | version "0.1.2" 2115 | resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" 2116 | 2117 | unique-stream@^1.0.0: 2118 | version "1.0.0" 2119 | resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-1.0.0.tgz#d59a4a75427447d9aa6c91e70263f8d26a4b104b" 2120 | 2121 | urix@^0.1.0, urix@~0.1.0: 2122 | version "0.1.0" 2123 | resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" 2124 | 2125 | user-home@^1.1.1: 2126 | version "1.1.1" 2127 | resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" 2128 | 2129 | util-deprecate@~1.0.1: 2130 | version "1.0.2" 2131 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 2132 | 2133 | v8flags@^2.0.2: 2134 | version "2.0.11" 2135 | resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.0.11.tgz#bca8f30f0d6d60612cc2c00641e6962d42ae6881" 2136 | dependencies: 2137 | user-home "^1.1.1" 2138 | 2139 | validate-npm-package-license@^3.0.1: 2140 | version "3.0.1" 2141 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" 2142 | dependencies: 2143 | spdx-correct "~1.0.0" 2144 | spdx-expression-parse "~1.0.0" 2145 | 2146 | verror@1.3.6: 2147 | version "1.3.6" 2148 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" 2149 | dependencies: 2150 | extsprintf "1.0.2" 2151 | 2152 | vinyl-fs@^0.3.0: 2153 | version "0.3.14" 2154 | resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-0.3.14.tgz#9a6851ce1cac1c1cea5fe86c0931d620c2cfa9e6" 2155 | dependencies: 2156 | defaults "^1.0.0" 2157 | glob-stream "^3.1.5" 2158 | glob-watcher "^0.0.6" 2159 | graceful-fs "^3.0.0" 2160 | mkdirp "^0.5.0" 2161 | strip-bom "^1.0.0" 2162 | through2 "^0.6.1" 2163 | vinyl "^0.4.0" 2164 | 2165 | vinyl@^0.4.0: 2166 | version "0.4.6" 2167 | resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.4.6.tgz#2f356c87a550a255461f36bbeb2a5ba8bf784847" 2168 | dependencies: 2169 | clone "^0.2.0" 2170 | clone-stats "^0.0.1" 2171 | 2172 | vinyl@^0.5.0: 2173 | version "0.5.3" 2174 | resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz#b0455b38fc5e0cf30d4325132e461970c2091cde" 2175 | dependencies: 2176 | clone "^1.0.0" 2177 | clone-stats "^0.0.1" 2178 | replace-ext "0.0.1" 2179 | 2180 | vlq@^0.2.1: 2181 | version "0.2.1" 2182 | resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.1.tgz#14439d711891e682535467f8587c5630e4222a6c" 2183 | 2184 | webdriver-manager@^10.2.6, webdriver-manager@^10.2.8: 2185 | version "10.2.8" 2186 | resolved "https://registry.yarnpkg.com/webdriver-manager/-/webdriver-manager-10.2.8.tgz#b3b4ef7983271a97b9432c4211c39ff5caecd9dc" 2187 | dependencies: 2188 | adm-zip "^0.4.7" 2189 | chalk "^1.1.1" 2190 | del "^2.2.0" 2191 | glob "^7.0.3" 2192 | ini "^1.3.4" 2193 | minimist "^1.2.0" 2194 | q "^1.4.1" 2195 | request "^2.78.0" 2196 | rimraf "^2.5.2" 2197 | semver "^5.3.0" 2198 | 2199 | webpack-core@^0.6.8: 2200 | version "0.6.8" 2201 | resolved "https://registry.yarnpkg.com/webpack-core/-/webpack-core-0.6.8.tgz#edf9135de00a6a3c26dd0f14b208af0aa4af8d0a" 2202 | dependencies: 2203 | source-list-map "~0.1.0" 2204 | source-map "~0.4.1" 2205 | 2206 | which@^1.2.10: 2207 | version "1.2.11" 2208 | resolved "https://registry.yarnpkg.com/which/-/which-1.2.11.tgz#c8b2eeea6b8c1659fa7c1dd4fdaabe9533dc5e8b" 2209 | dependencies: 2210 | isexe "^1.1.1" 2211 | 2212 | wordwrap@~0.0.2: 2213 | version "0.0.3" 2214 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" 2215 | 2216 | wrappy@1: 2217 | version "1.0.2" 2218 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 2219 | 2220 | ws@^1.0.1: 2221 | version "1.1.1" 2222 | resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.1.tgz#082ddb6c641e85d4bb451f03d52f06eabdb1f018" 2223 | dependencies: 2224 | options ">=0.0.5" 2225 | ultron "1.0.x" 2226 | 2227 | xhr2@^0.1.3: 2228 | version "0.1.3" 2229 | resolved "https://registry.yarnpkg.com/xhr2/-/xhr2-0.1.3.tgz#cbfc4759a69b4a888e78cf4f20b051038757bd11" 2230 | 2231 | xml2js@0.4.4: 2232 | version "0.4.4" 2233 | resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.4.tgz#3111010003008ae19240eba17497b57c729c555d" 2234 | dependencies: 2235 | sax "0.6.x" 2236 | xmlbuilder ">=1.0.0" 2237 | 2238 | xmlbuilder@>=1.0.0: 2239 | version "8.2.2" 2240 | resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-8.2.2.tgz#69248673410b4ba42e1a6136551d2922335aa773" 2241 | 2242 | "xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@~4.0.0: 2243 | version "4.0.1" 2244 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" 2245 | 2246 | yargs@~1.3.3: 2247 | version "1.3.3" 2248 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-1.3.3.tgz#054de8b61f22eefdb7207059eaef9d6b83fb931a" 2249 | 2250 | yn@^1.2.0: 2251 | version "1.2.0" 2252 | resolved "https://registry.yarnpkg.com/yn/-/yn-1.2.0.tgz#d237a4c533f279b2b89d3acac2db4b8c795e4a63" 2253 | 2254 | zone.js: 2255 | version "0.6.25" 2256 | resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.6.25.tgz#a41b57fe8c0ff3b8f077de3b193a86a234420301" 2257 | --------------------------------------------------------------------------------