├── .editorconfig
├── .gitignore
├── .npmignore
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── circle.yml
├── index.ts
├── karma.conf.js
├── package.json
├── rollup.config.js
├── spec
├── edge.spec.ts
├── fixtures
│ ├── counter.ts
│ ├── edge_todos.ts
│ └── todos.ts
├── helpers
│ ├── marble-testing.ts
│ └── test-helper.ts
├── integration.spec.ts
├── ngc
│ ├── main.ts
│ └── tsconfig.ngc.json
├── state.spec.ts
└── store.spec.ts
├── src
├── dispatcher.ts
├── ng2.ts
├── reducer.ts
├── state.ts
├── store.ts
└── utils.ts
├── tests.bundle.ts
├── tsconfig.dist.json
├── tsconfig.json
├── tslint.json
└── yarn.lock
/.editorconfig:
--------------------------------------------------------------------------------
1 | # http://editorconfig.org
2 |
3 | root = true
4 |
5 | [*]
6 | charset = utf-8
7 | indent_style = space
8 | indent_size = 2
9 | end_of_line = lf
10 | insert_final_newline = true
11 | trim_trailing_whitespace = true
12 |
13 | [*.md]
14 | insert_final_newline = false
15 | trim_trailing_whitespace = false
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 |
5 | # Runtime data
6 | pids
7 | *.pid
8 | *.seed
9 | .DS_Store
10 |
11 | # Directory for instrumented libs generated by jscoverage/JSCover
12 | lib-cov
13 |
14 | # Coverage directory used by tools like istanbul
15 | coverage
16 |
17 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
18 | .grunt
19 |
20 | # node-waf configuration
21 | .lock-wscript
22 |
23 | # Compiled binary addons (http://nodejs.org/api/addons.html)
24 | build/Release
25 |
26 | # Dependency directory
27 | # https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git
28 | node_modules
29 | tmp
30 | typings
31 | dist
32 | *.tgz
33 | .idea
34 | spec/ngc/ngfactory/
35 | spec/ngc/output/
36 | release
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 |
5 | # Runtime data
6 | pids
7 | *.pid
8 | *.seed
9 |
10 | # Directory for instrumented libs generated by jscoverage/JSCover
11 | lib-cov
12 |
13 | # Coverage directory used by tools like istanbul
14 | coverage
15 |
16 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
17 | .grunt
18 |
19 | # node-waf configuration
20 | .lock-wscript
21 |
22 | # Compiled binary addons (http://nodejs.org/api/addons.html)
23 | build/Release
24 |
25 | # Dependency directory
26 | # https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git
27 | node_modules
28 | tmp
29 | typings
30 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | ## Developing
2 |
3 | ### Setup
4 |
5 | ```
6 | npm install
7 | npm run typings
8 | ```
9 |
10 | ### Testing
11 |
12 | ```
13 | npm test
14 | ```
15 |
16 | ## Submitting Pull Requests
17 |
18 | **Please follow these basic steps to simplify pull request reviews - if you don't you'll probably just be asked to anyway.**
19 |
20 | * Please rebase your branch against the current master
21 | * Run ```npm install``` to make sure your development dependencies are up-to-date
22 | * Please ensure the test suite passes before submitting a PR
23 | * If you've added new functionality, **please** include tests which validate its behaviour
24 | * Make reference to possible [issues](https://github.com/ngrx/store/issues) on PR comment
25 |
26 | ## Submitting bug reports
27 |
28 | * Please detail the affected browser(s) and operating system(s)
29 | * Please be sure to state which version of node **and** npm you're using
30 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2015 ngrx
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
23 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ---
2 | # This repository is for version 2.x of @ngrx/store.
3 | # [Click here for the latest version (4.x)](https://github.com/ngrx/platform)
4 | ---
5 |
6 | ## @ngrx/store
7 | RxJS powered state management for Angular applications, inspired by Redux
8 |
9 | [](https://gitter.im/ngrx/store?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
10 | [](https://circleci.com/gh/ngrx/store)
12 | [](https://www.npmjs.com/package/@ngrx/store)
13 |
14 | @ngrx/store is a controlled state container designed to help write performant, consistent applications
15 | on top of Angular. Core tenets:
16 | - State is a single immutable data structure
17 | - Actions describe state changes
18 | - Pure functions called reducers take the previous state and the next action to compute the new state
19 | - State accessed with the `Store`, an observable of state and an observer of actions
20 |
21 | These core principles enable building components that can use the `OnPush` change detection strategy
22 | giving you [intelligent, performant change detection](http://blog.thoughtram.io/angular/2016/02/22/angular-2-change-detection-explained.html#smarter-change-detection)
23 | throughout your application.
24 |
25 |
26 | ### Installation
27 | Install @ngrx/core and @ngrx/store from npm:
28 | ```bash
29 | npm install @ngrx/core @ngrx/store@2.2.3 --save
30 | ```
31 |
32 | Optional packages:
33 | - [@ngrx/store-devtools](https://github.com/ngrx/store-devtools) instruments your store letting you use a
34 | [powerful time-travelling debugger](https://chrome.google.com/webstore/detail/redux-devtools/lmhkpmbekcpmknklioeibfkpmmfibljd?hl=en).
35 | - [@ngrx/router-store](https://github.com/ngrx/router-store) keeps the state of @angular/router in your store
36 | - [@ngrx/effects](https://github.com/ngrx/effects) isolates side effects from your UI by expressing side effects as sources of actions
37 |
38 |
39 | ### Examples
40 | - [Official @ngrx/example-app](https://github.com/ngrx/example-app) is an officially maintained example application showcasing best practices
41 | for @ngrx projects, including @ngrx/store and @ngrx/effects
42 | - [angular-webpack2-starter](https://github.com/qdouble/angular-webpack2-starter) is a complete Webpack 2 starter with built-in support for @ngrx.
43 | Includes Ahead-of-Time (AOT) compilation, hot module reloading (HMR), devtools, and server-side rendering.
44 |
45 |
46 | ### Introduction
47 | - [Reactive Angular 2 with ngrx (video)](https://youtu.be/mhA7zZ23Odw)
48 | - [Comprehensive Introduction to @ngrx/store](https://gist.github.com/btroncone/a6e4347326749f938510)
49 | - [@ngrx/store in 10 minutes (video)](https://egghead.io/lessons/angular-2-ngrx-store-in-10-minutes)
50 | - [Build Redux Style Applications with Angular2, RxJS, and ngrx/store (video)](https://egghead.io/courses/building-a-time-machine-with-angular-2-and-rxjs)
51 |
52 |
53 | ### Setup
54 | Create a reducer function for each data type you have in your application. The combination of these reducers will
55 | make up your application state:
56 |
57 | ```ts
58 | // counter.ts
59 | import { ActionReducer, Action } from '@ngrx/store';
60 |
61 | export const INCREMENT = 'INCREMENT';
62 | export const DECREMENT = 'DECREMENT';
63 | export const RESET = 'RESET';
64 |
65 | export function counterReducer(state: number = 0, action: Action) {
66 | switch (action.type) {
67 | case INCREMENT:
68 | return state + 1;
69 |
70 | case DECREMENT:
71 | return state - 1;
72 |
73 | case RESET:
74 | return 0;
75 |
76 | default:
77 | return state;
78 | }
79 | }
80 | ```
81 |
82 | In your app's main module, import those reducers and use the `StoreModule.provideStore(reducers)`
83 | function to provide them to Angular's injector:
84 |
85 | ```ts
86 | import { NgModule } from '@angular/core'
87 | import { StoreModule } from '@ngrx/store';
88 | import { counterReducer } from './counter';
89 |
90 | @NgModule({
91 | imports: [
92 | BrowserModule,
93 | StoreModule.provideStore({ counter: counterReducer })
94 | ]
95 | })
96 | export class AppModule {}
97 | ```
98 |
99 |
100 | You can then inject the `Store` service into your components and services. Use `store.select` to
101 | _select_ slice(s) of state:
102 |
103 | ```ts
104 | import { Store } from '@ngrx/store';
105 | import { INCREMENT, DECREMENT, RESET } from './counter';
106 |
107 | interface AppState {
108 | counter: number;
109 | }
110 |
111 | @Component({
112 | selector: 'my-app',
113 | template: `
114 | Increment
115 |
Current Count: {{ counter | async }}
116 | Decrement
117 |
118 | Reset Counter
119 | `
120 | })
121 | class MyAppComponent {
122 | counter: Observable;
123 |
124 | constructor(private store: Store){
125 | this.counter = store.select('counter');
126 | }
127 |
128 | increment(){
129 | this.store.dispatch({ type: INCREMENT });
130 | }
131 |
132 | decrement(){
133 | this.store.dispatch({ type: DECREMENT });
134 | }
135 |
136 | reset(){
137 | this.store.dispatch({ type: RESET });
138 | }
139 | }
140 | ```
141 |
142 |
143 | ## Contributing
144 | Please read [contributing guidelines here](https://github.com/ngrx/store/blob/master/CONTRIBUTING.md).
145 |
--------------------------------------------------------------------------------
/circle.yml:
--------------------------------------------------------------------------------
1 | machine:
2 | node:
3 | version: 6.1.0
4 |
5 | dependencies:
6 | pre:
7 | - npm install -g npm
8 |
--------------------------------------------------------------------------------
/index.ts:
--------------------------------------------------------------------------------
1 | export * from './src/dispatcher';
2 | export * from './src/ng2';
3 | export * from './src/reducer';
4 | export * from './src/state';
5 | export * from './src/store';
6 | export * from './src/utils';
7 |
--------------------------------------------------------------------------------
/karma.conf.js:
--------------------------------------------------------------------------------
1 | var path = require('path');
2 | var webpack = require('webpack');
3 |
4 | module.exports = function(karma) {
5 | 'use strict';
6 |
7 | karma.set({
8 | basePath: __dirname,
9 |
10 | frameworks: ['jasmine'],
11 |
12 | files: [
13 | { pattern: 'tests.bundle.ts', watched: false }
14 | ],
15 |
16 | exclude: [],
17 |
18 | preprocessors: {
19 | 'tests.bundle.ts': ['coverage', 'webpack', 'sourcemap']
20 | },
21 |
22 | reporters: ['mocha', 'coverage'],
23 |
24 | coverageReporter: {
25 | dir: 'coverage/',
26 | reporters: [
27 | { type: 'text-summary' },
28 | { type: 'json' },
29 | { type: 'html' }
30 | ]
31 | },
32 |
33 | mime: {
34 | 'text/x-typescript': ['ts', 'tsx']
35 | },
36 |
37 | browsers: ['Chrome'],
38 |
39 | port: 9018,
40 | runnerPort: 9101,
41 | colors: true,
42 | logLevel: karma.LOG_INFO,
43 | autoWatch: true,
44 | singleRun: false,
45 | webpackServer: { noInfo: true },
46 | webpack: {
47 | devtool: 'inline-source-map',
48 | resolve: {
49 | extensions: ['.ts', '.js']
50 | },
51 | module: {
52 | loaders: [
53 | {
54 | enforce: 'pre',
55 | test: /\.ts$/,
56 | loader: 'tslint-loader',
57 | exclude: [
58 | /node_modules/
59 | ]
60 | },
61 | {
62 | test: /\.ts?$/,
63 | exclude: /(node_modules)/,
64 | loader: 'awesome-typescript-loader'
65 | },
66 | {
67 | enforce: 'post',
68 | test: /\.(js|ts)$/, loader: 'istanbul-instrumenter-loader',
69 | include: path.resolve(__dirname, 'src'),
70 | exclude: [
71 | /\.(e2e|spec|bundle)\.ts$/,
72 | /node_modules/
73 | ]
74 | }
75 | ]
76 | },
77 | plugins: [
78 | new webpack.LoaderOptionsPlugin({
79 | options: {
80 | tslint: {
81 | emitErrors: false,
82 | failOnHint: false,
83 | resourcePath: 'src'
84 | }
85 | }
86 | }),
87 | new webpack.ContextReplacementPlugin(
88 | // The (\\|\/) piece accounts for path separators in *nix and Windows
89 | /angular(\\|\/)core(\\|\/)(esm(\\|\/)src|src)(\\|\/)linker/,
90 | path.resolve('src'),
91 | {}
92 | )
93 | ]
94 | }
95 | });
96 | };
97 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@ngrx/store",
3 | "version": "2.2.3",
4 | "description": "RxJS powered Redux for Angular2 apps",
5 | "main": "./bundles/store.umd.js",
6 | "module": "./index.js",
7 | "scripts": {
8 | "karma": "karma start --single-run",
9 | "test:unit": "npm run karma",
10 | "test:ngc": "ngc -p ./spec/ngc/tsconfig.ngc.json",
11 | "test": "npm run test:unit && npm run test:ngc",
12 | "clean:pre": "rimraf release",
13 | "clean:post": "rimraf \"src/**/*.ngfactory.ts\"",
14 | "copy": "cpy LICENSE package.json README.md release",
15 | "build:js": "ngc -p tsconfig.dist.json",
16 | "build:umd": "rollup -c rollup.config.js",
17 | "build:uglify": "uglifyjs -c --screw-ie8 --comments -o ./release/bundles/store.min.umd.js ./release/bundles/store.umd.js",
18 | "prebuild": "npm run test && npm run clean:pre",
19 | "postbuild": "npm run clean:post && npm run copy",
20 | "build": "npm run build:js && npm run build:umd && npm run build:uglify"
21 | },
22 | "repository": {
23 | "type": "git",
24 | "url": "git+https://github.com/ngrx/store.git"
25 | },
26 | "keywords": [
27 | "RxJS",
28 | "Angular2",
29 | "Redux"
30 | ],
31 | "author": "Rob Wormald ",
32 | "license": "MIT",
33 | "bugs": {
34 | "url": "https://github.com/ngrx/store/issues"
35 | },
36 | "homepage": "https://github.com/ngrx/store#readme",
37 | "peerDependencies": {
38 | "@angular/core": "^2.0.0 || ^4.0.0",
39 | "rxjs": "^5.4.0",
40 | "@ngrx/core": "^1.1.0"
41 | },
42 | "devDependencies": {
43 | "@angular/common": "^2.0.0",
44 | "@angular/compiler": "^2.0.0",
45 | "@angular/compiler-cli": "^2.0.0",
46 | "@angular/core": "^2.0.0",
47 | "@angular/platform-browser": "^2.0.0",
48 | "@angular/platform-browser-dynamic": "^2.0.0",
49 | "@angular/platform-server": "^2.0.0",
50 | "@ngrx/core": "^1.2.0",
51 | "@types/jasmine": "^2.2.33",
52 | "@types/node": "^6.0.38",
53 | "awesome-typescript-loader": "^3.0.0",
54 | "core-js": "^2.4.1",
55 | "cpy-cli": "^1.0.1",
56 | "istanbul-instrumenter-loader": "^0.2.0",
57 | "jasmine": "^2.5.0",
58 | "karma": "^1.2.0",
59 | "karma-chrome-launcher": "^2.0.0",
60 | "karma-coverage": "^1.1.1",
61 | "karma-jasmine": "^1.0.2",
62 | "karma-mocha-reporter": "^2.1.0",
63 | "karma-sourcemap-loader": "^0.3.7",
64 | "karma-webpack": "^2.0.0",
65 | "rimraf": "^2.5.4",
66 | "rollup": "^0.34.13",
67 | "rxjs": "^5.4.0",
68 | "ts-loader": "^0.8.2",
69 | "tslint": "^3.15.1",
70 | "tslint-loader": "^2.1.5",
71 | "typescript": "^2.4.1",
72 | "uglifyjs": "^2.4.10",
73 | "webpack": "^2.1.0-beta.21",
74 | "zone.js": "^0.7.2"
75 | }
76 | }
77 |
--------------------------------------------------------------------------------
/rollup.config.js:
--------------------------------------------------------------------------------
1 | export default {
2 | entry: './release/index.js',
3 | dest: './release/bundles/store.umd.js',
4 | format: 'umd',
5 | moduleName: 'ngrx.store',
6 | globals: {
7 | '@angular/core': 'ng.core',
8 | '@ngrx/core': 'ngrx.core',
9 | 'rxjs/Observable': 'Rx',
10 | 'rxjs/BehaviorSubject': 'Rx',
11 | 'rxjs/Subscriber': 'Rx',
12 | 'rxjs/scheduler/queue': 'Rx.Scheduler',
13 | 'rxjs/operator/observeOn': 'Rx.Observable.prototype',
14 | 'rxjs/operator/scan': 'Rx.Observable.prototype',
15 | 'rxjs/operator/withLatestFrom': 'Rx.Observable'
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/spec/edge.spec.ts:
--------------------------------------------------------------------------------
1 | import {ReflectiveInjector} from '@angular/core';
2 | import {Observable} from 'rxjs/Observable';
3 | import {todos, todoCount} from './fixtures/edge_todos';
4 |
5 | import {Store, StoreModule, Dispatcher, State, Action, combineReducers} from '../';
6 |
7 |
8 | interface TestAppSchema {
9 | counter1: number;
10 | counter2: number;
11 | counter3: number;
12 | }
13 |
14 | interface Todo { }
15 |
16 | interface TodoAppSchema {
17 | visibilityFilter: string;
18 | todos: Todo[];
19 | }
20 |
21 |
22 |
23 | describe('ngRx Store', () => {
24 |
25 | describe('basic store actions', function() {
26 |
27 | let injector: ReflectiveInjector;
28 | let store: Store;
29 | let dispatcher: Dispatcher;
30 |
31 | beforeEach(() => {
32 |
33 | injector = ReflectiveInjector.resolveAndCreate([
34 | StoreModule.provideStore({ todos, todoCount }).providers
35 | ]);
36 |
37 | store = injector.get(Store);
38 | dispatcher = injector.get(Dispatcher);
39 | });
40 |
41 | it('should provide an Observable Store', () => {
42 | expect(store).toBeDefined();
43 | });
44 |
45 | it('should handle re-entrancy', (done) => {
46 |
47 | let todosNextCount = 0;
48 | let todosCountNextCount = 0;
49 |
50 | store.select('todos').subscribe((todos: any[]) => {
51 | todosNextCount++
52 | store.dispatch({ type: 'SET_COUNT', payload: todos.length })
53 | });
54 |
55 | store.select('todoCount').subscribe(count => {
56 | todosCountNextCount++;
57 | });
58 |
59 | store.dispatch({ type: 'ADD_TODO', payload: { name: 'test' } });
60 | expect(todosNextCount).toBe(2);
61 | expect(todosCountNextCount).toBe(2);
62 |
63 | setTimeout(() => {
64 | expect(todosNextCount).toBe(2);
65 | expect(todosCountNextCount).toBe(2);
66 | done();
67 | }, 10);
68 |
69 | });
70 | });
71 | });
72 |
--------------------------------------------------------------------------------
/spec/fixtures/counter.ts:
--------------------------------------------------------------------------------
1 | export const INCREMENT = 'INCREMENT';
2 | export const DECREMENT = 'DECREMENT';
3 | export const RESET = 'RESET';
4 |
5 | export function counterReducer(state = 0, action){
6 | switch (action.type) {
7 | case INCREMENT:
8 | return state + 1;
9 | case DECREMENT:
10 | return state - 1;
11 | case RESET:
12 | return 0;
13 | default:
14 | return state;
15 | }
16 | };
17 |
--------------------------------------------------------------------------------
/spec/fixtures/edge_todos.ts:
--------------------------------------------------------------------------------
1 | const todo = (state, action) => {
2 | switch (action.type) {
3 | case 'ADD_TODO':
4 | return {
5 | id: action.payload.id,
6 | text: action.payload.text,
7 | completed: false
8 | }
9 | case 'TOGGLE_TODO':
10 | if (state.id !== action.id) {
11 | return state
12 | }
13 |
14 | return Object.assign({}, state, {
15 | completed: !state.completed
16 | })
17 |
18 | default:
19 | return state
20 | }
21 | }
22 |
23 | export const todos = (state = [], action) => {
24 | switch (action.type) {
25 | case 'ADD_TODO':
26 | return [
27 | ...state,
28 | todo(undefined, action)
29 | ]
30 | case 'TOGGLE_TODO':
31 | return state.map(t =>
32 | todo(t, action)
33 | )
34 | default:
35 | return state
36 | }
37 | }
38 |
39 | export const todoCount = (state = 0, action) => {
40 | switch(action.type){
41 | case 'SET_COUNT':
42 | return action.payload;
43 | default:
44 | return state;
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/spec/fixtures/todos.ts:
--------------------------------------------------------------------------------
1 | export const ADD_TODO = 'ADD_TODO';
2 | export const COMPLETE_TODO = 'COMPLETE_TODO';
3 | export const SET_VISIBILITY_FILTER = 'SET_VISIBILITY_FILTER';
4 | export const COMPLETE_ALL_TODOS = 'COMPLETE_ALL_TODOS';
5 |
6 | let _id = 0;
7 |
8 | export const VisibilityFilters = {
9 | SHOW_ALL: 'SHOW_ALL',
10 | SHOW_COMPLETED: 'SHOW_COMPLETED',
11 | SHOW_ACTIVE: 'SHOW_ACTIVE'
12 | };
13 |
14 | export function visibilityFilter(state = VisibilityFilters.SHOW_ALL, {type, payload}) {
15 | switch (type) {
16 | case SET_VISIBILITY_FILTER:
17 | return payload;
18 | default:
19 | return state;
20 | }
21 | };
22 |
23 | export function todos(state = [], {type, payload}) {
24 | switch (type) {
25 | case ADD_TODO:
26 | return [
27 | ...state,
28 | {
29 | id: ++_id,
30 | text: payload.text,
31 | completed: false
32 | }
33 | ];
34 | case COMPLETE_ALL_TODOS:
35 | return state.map(todo => Object.assign({}, todo, {completed: true}));
36 | case COMPLETE_TODO:
37 | return state.map(todo => {
38 | return todo.id === payload.id ? Object.assign({}, todo, {completed: true}) : todo;
39 | });
40 | default:
41 | return state;
42 | }
43 | };
44 |
--------------------------------------------------------------------------------
/spec/helpers/marble-testing.ts:
--------------------------------------------------------------------------------
1 | declare var global;
2 |
3 | function hot(...args: any[]) {
4 | if (!global.rxTestScheduler) {
5 | throw 'tried to use hot() in async test';
6 | }
7 | return global.rxTestScheduler.createHotObservable.apply(global.rxTestScheduler, arguments);
8 | }
9 |
10 | function cold() {
11 | if (!global.rxTestScheduler) {
12 | throw 'tried to use cold() in async test';
13 | }
14 | return global.rxTestScheduler.createColdObservable.apply(global.rxTestScheduler, arguments);
15 | }
16 |
17 | function expectObservable(...args: any[]) {
18 | if (!global.rxTestScheduler) {
19 | throw 'tried to use expectObservable() in async test';
20 | }
21 | return global.rxTestScheduler.expectObservable.apply(global.rxTestScheduler, arguments);
22 | }
23 |
24 | function expectSubscriptions(...args: any[]) {
25 | if (!global.rxTestScheduler) {
26 | throw 'tried to use expectSubscriptions() in async test';
27 | }
28 | return global.rxTestScheduler.expectSubscriptions.apply(global.rxTestScheduler, arguments);
29 | }
30 |
31 | function assertDeepEqual(actual, expected) {
32 | ( expect(actual)).toDeepEqual(expected);
33 | }
34 |
35 | export {
36 | hot,
37 | cold,
38 | expectObservable,
39 | expectSubscriptions,
40 | assertDeepEqual
41 | };
--------------------------------------------------------------------------------
/spec/helpers/test-helper.ts:
--------------------------------------------------------------------------------
1 | declare var global, require, Symbol;
2 |
3 | jasmine.DEFAULT_TIMEOUT_INTERVAL = 5000;
4 |
5 | const _ = require('lodash');
6 | const root = require('rxjs/util/root').root;
7 | import {TestScheduler} from 'rxjs/testing/TestScheduler';
8 |
9 | import * as marbleHelpers from './marble-testing';
10 |
11 | global.rxTestScheduler = null;
12 | global.cold = marbleHelpers.cold;
13 | global.hot = marbleHelpers.hot;
14 | global.expectObservable = marbleHelpers.expectObservable;
15 | global.expectSubscriptions = marbleHelpers.expectSubscriptions;
16 |
17 | const assertDeepEqual = marbleHelpers.assertDeepEqual;
18 |
19 | const glit = global.it;
20 |
21 | global.it = function(description, cb, timeout) {
22 | if (cb.length === 0) {
23 | glit(description, function() {
24 | global.rxTestScheduler = new TestScheduler(assertDeepEqual);
25 | cb();
26 | global.rxTestScheduler.flush();
27 | });
28 | } else {
29 | glit.apply(this, arguments);
30 | }
31 | };
32 |
33 | global.it.asDiagram = function() {
34 | return global.it;
35 | };
36 |
37 | const glfit = global.fit;
38 |
39 | global.fit = function(description, cb, timeout) {
40 | if (cb.length === 0) {
41 | glfit(description, function() {
42 | global.rxTestScheduler = new TestScheduler(assertDeepEqual);
43 | cb();
44 | global.rxTestScheduler.flush();
45 | });
46 | } else {
47 | glfit.apply(this, arguments);
48 | }
49 | };
50 |
51 | function stringify(x) {
52 | return JSON.stringify(x, function(key, value) {
53 | if (Array.isArray(value)) {
54 | return '[' + value
55 | .map(function(i) {
56 | return '\n\t' + stringify(i);
57 | }) + '\n]';
58 | }
59 | return value;
60 | })
61 | .replace(/\\"/g, '"')
62 | .replace(/\\t/g, '\t')
63 | .replace(/\\n/g, '\n');
64 | }
65 |
66 | beforeEach(function() {
67 | jasmine.addMatchers({
68 | toDeepEqual: function(util, customEqualityTesters) {
69 | return {
70 | compare: function(actual, expected) {
71 | let result: any = { pass: _.isEqual(actual, expected) };
72 |
73 | if (!result.pass && Array.isArray(actual) && Array.isArray(expected)) {
74 | result.message = 'Expected \n';
75 | actual.forEach(function(x) {
76 | result.message += stringify(x) + '\n';
77 | });
78 | result.message += '\nto deep equal \n';
79 | expected.forEach(function(x) {
80 | result.message += stringify(x) + '\n';
81 | });
82 | }
83 |
84 | return result;
85 | }
86 | };
87 | }
88 | });
89 | });
90 |
91 | afterEach(function() {
92 | global.rxTestScheduler = null;
93 | });
94 |
95 | (function() {
96 | Object.defineProperty(Error.prototype, 'toJSON', {
97 | value: function() {
98 | let alt = {};
99 |
100 | Object.getOwnPropertyNames(this).forEach(function(key) {
101 | if (key !== 'stack') {
102 | alt[key] = this[key];
103 | }
104 | }, this);
105 | return alt;
106 | },
107 | configurable: true
108 | });
109 |
110 | global.__root__ = root;
111 | })();
112 |
113 | global.lowerCaseO = function lowerCaseO() {
114 | const values = [].slice.apply(arguments);
115 |
116 | const o = {
117 | subscribe: function(observer) {
118 | values.forEach(function(v) {
119 | observer.next(v);
120 | });
121 | observer.complete();
122 | }
123 | };
124 |
125 | o[(Symbol).observable] = function() {
126 | return this;
127 | };
128 |
129 | return o;
130 | };
131 |
--------------------------------------------------------------------------------
/spec/integration.spec.ts:
--------------------------------------------------------------------------------
1 | import {Observable} from 'rxjs/Observable';
2 | import {ReflectiveInjector} from '@angular/core';
3 | import 'rxjs/add/observable/combineLatest';
4 |
5 | import {Store, StoreModule, Action, combineReducers, INITIAL_REDUCER, INITIAL_STATE} from '../';
6 | import {counterReducer, INCREMENT, DECREMENT, RESET} from './fixtures/counter';
7 | import {todos, visibilityFilter, VisibilityFilters, SET_VISIBILITY_FILTER, ADD_TODO, COMPLETE_TODO, COMPLETE_ALL_TODOS} from './fixtures/todos';
8 |
9 | interface Todo {
10 | id: number;
11 | text: string;
12 | completed: boolean;
13 | }
14 |
15 | interface TodoAppSchema {
16 | visibilityFilter: string;
17 | todos: Todo[];
18 | }
19 |
20 | describe('ngRx Integration spec', () => {
21 |
22 | describe('todo integration spec', function() {
23 |
24 | let injector: ReflectiveInjector;
25 | let store: Store;
26 | let currentState: TodoAppSchema;
27 |
28 | const rootReducer = combineReducers({ todos, visibilityFilter });
29 | const initialValue = { todos: [], visibilityFilter: VisibilityFilters.SHOW_ALL };
30 |
31 | injector = ReflectiveInjector.resolveAndCreate([
32 | StoreModule.provideStore(rootReducer, initialValue).providers
33 | ]);
34 |
35 | store = injector.get(Store);
36 |
37 | store.subscribe(state => {
38 | currentState = state;
39 | });
40 |
41 | it('should successfully instantiate', () => {
42 | expect(store).toBeDefined();
43 | });
44 |
45 | it('should combine reducers automatically if a key/value map is provided', () => {
46 | const reducers = { test: function(){} };
47 | spyOn(reducers, 'test');
48 | const action = { type: 'Test Action' };
49 | const reducer = ReflectiveInjector.resolveAndCreate([ StoreModule.provideStore(reducers).providers ]).get(INITIAL_REDUCER);
50 |
51 | expect(reducer).toBeDefined();
52 | expect(typeof reducer === 'function').toBe(true);
53 |
54 | reducer(undefined, action);
55 |
56 | expect(reducers.test).toHaveBeenCalledWith(undefined, action);
57 | });
58 |
59 | it('should probe the reducer to resolve the initial state if no initial state is provided', () => {
60 | const reducer = () => 2;
61 | const initialState = ReflectiveInjector.resolveAndCreate([ StoreModule.provideStore(reducer).providers ]).get(INITIAL_STATE);
62 |
63 | expect(initialState).toBe(2);
64 | });
65 |
66 | it('should use a provided initial state', () => {
67 | const reducer = () => 2;
68 | const initialState = ReflectiveInjector.resolveAndCreate([ StoreModule.provideStore(reducer, 3).providers ]).get(INITIAL_STATE);
69 |
70 | expect(initialState).toBe(3);
71 | });
72 |
73 | it('should start with no todos and showing all filter', () => {
74 | expect(currentState.todos.length).toEqual(0);
75 | expect(currentState.visibilityFilter).toEqual(VisibilityFilters.SHOW_ALL);
76 | });
77 |
78 | it('should add a todo', () => {
79 | store.dispatch({ type: ADD_TODO, payload: { text: 'first todo' } });
80 | expect(currentState.todos.length).toEqual(1);
81 |
82 | expect(currentState.todos[0].text).toEqual('first todo');
83 | expect(currentState.todos[0].completed).toEqual(false);
84 | expect(currentState.todos[0].id).toEqual(1);
85 | });
86 |
87 | it('should add another todo', () => {
88 | store.dispatch({ type: ADD_TODO, payload: { text: 'second todo' } });
89 | expect(currentState.todos.length).toEqual(2);
90 |
91 | expect(currentState.todos[1].text).toEqual('second todo');
92 | expect(currentState.todos[1].completed).toEqual(false);
93 | expect(currentState.todos[1].id).toEqual(2);
94 | });
95 |
96 | it('should complete the first todo', () => {
97 | store.dispatch({ type: COMPLETE_TODO, payload: { id: 1 } });
98 | expect(currentState.todos.length).toEqual(2);
99 |
100 | expect(currentState.todos[0].text).toEqual('first todo');
101 | expect(currentState.todos[0].completed).toEqual(true);
102 | expect(currentState.todos[0].id).toEqual(1);
103 | });
104 |
105 | it('should use visibilityFilter to filter todos', () => {
106 |
107 | const filterVisibleTodos = (visibilityFilter, todos) => {
108 | let predicate;
109 | if (visibilityFilter === VisibilityFilters.SHOW_ALL) {
110 | predicate = () => true;
111 | }
112 | else if (visibilityFilter === VisibilityFilters.SHOW_ACTIVE) {
113 | predicate = (todo) => !todo.completed;
114 | }
115 | else {
116 | predicate = (todo) => todo.completed;
117 | }
118 | return todos.filter(predicate);
119 | };
120 |
121 | let currentlyVisibleTodos;
122 |
123 | Observable.combineLatest(store.select('visibilityFilter'), store.select('todos'), filterVisibleTodos)
124 | .subscribe(visibleTodos => {
125 | currentlyVisibleTodos = visibleTodos;
126 | });
127 |
128 | expect(currentlyVisibleTodos.length).toBe(2);
129 |
130 | store.dispatch({ type: SET_VISIBILITY_FILTER, payload: VisibilityFilters.SHOW_ACTIVE });
131 |
132 | expect(currentlyVisibleTodos.length).toBe(1);
133 | expect(currentlyVisibleTodos[0].completed).toBe(false);
134 |
135 | store.dispatch({ type: SET_VISIBILITY_FILTER, payload: VisibilityFilters.SHOW_COMPLETED });
136 |
137 | expect(currentlyVisibleTodos.length).toBe(1);
138 | expect(currentlyVisibleTodos[0].completed).toBe(true);
139 |
140 | store.dispatch({ type: COMPLETE_ALL_TODOS });
141 |
142 | expect(currentlyVisibleTodos.length).toBe(2);
143 | expect(currentlyVisibleTodos[0].completed).toBe(true);
144 | expect(currentlyVisibleTodos[1].completed).toBe(true);
145 |
146 | store.dispatch({ type: SET_VISIBILITY_FILTER, payload: VisibilityFilters.SHOW_ACTIVE });
147 |
148 | expect(currentlyVisibleTodos.length).toBe(0);
149 |
150 | });
151 | });
152 | });
153 |
--------------------------------------------------------------------------------
/spec/ngc/main.ts:
--------------------------------------------------------------------------------
1 | import { NgModule, Component } from '@angular/core';
2 | import { platformDynamicServer } from '@angular/platform-server';
3 | import { BrowserModule } from '@angular/platform-browser';
4 | import { Store, StoreModule } from '../../';
5 | import { counterReducer, INCREMENT, DECREMENT } from '../fixtures/counter';
6 | import { Observable } from 'rxjs/Observable';
7 |
8 | export interface AppState {
9 | count: number;
10 | }
11 |
12 | export const storeConfig = {count: counterReducer};
13 | export const initialState = { count : 0 };
14 |
15 | @Component({
16 | selector: 'ngc-spec-component',
17 | template: `
18 | +
19 | Count : {{ count | async }}
20 | +
21 | `
22 | })
23 | export class NgcSpecComponent {
24 | count: Observable;
25 | constructor(public store:Store){
26 | this.count = store.select(state => state.count);
27 | }
28 | increment(){
29 | this.store.dispatch({ type: INCREMENT });
30 | }
31 | decrement(){
32 | this.store.dispatch({ type: DECREMENT });
33 | }
34 | }
35 |
36 | @NgModule({
37 | imports: [
38 | BrowserModule,
39 | StoreModule.provideStore(storeConfig, initialState)
40 | ],
41 | declarations: [NgcSpecComponent],
42 | bootstrap: [NgcSpecComponent]
43 | })
44 | export class NgcSpecModule {}
45 |
--------------------------------------------------------------------------------
/spec/ngc/tsconfig.ngc.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES5",
4 | "emitDecoratorMetadata": true,
5 | "experimentalDecorators": true,
6 | "module": "commonjs",
7 | "moduleResolution": "node",
8 | "outDir": "./output",
9 | "lib": ["es2015", "dom"]
10 | },
11 | "files": [
12 | "main.ts"
13 | ],
14 | "angularCompilerOptions": {
15 | "genDir": "ngfactory"
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/spec/state.spec.ts:
--------------------------------------------------------------------------------
1 | import {Observable} from 'rxjs/Observable';
2 | import {Subject} from 'rxjs/Subject';
3 | import {ReflectiveInjector} from '@angular/core';
4 |
5 | import {Dispatcher, State, Reducer, Action, provideStore, StoreModule} from '../';
6 |
7 |
8 | describe('ngRx State', () => {
9 | const Reducer = { reduce: t => t };
10 | const initialState = 123;
11 | let injector: ReflectiveInjector;
12 | let state: State;
13 | let dispatcher: Dispatcher;
14 |
15 | beforeEach(() => {
16 | spyOn(Reducer, 'reduce').and.callThrough();
17 |
18 | injector = ReflectiveInjector.resolveAndCreate([
19 | StoreModule.provideStore(Reducer.reduce, initialState).providers
20 | ]);
21 |
22 | state = injector.get(State);
23 | dispatcher = injector.get(Dispatcher);
24 | });
25 |
26 | it('should call the reducer to scan over the dispatcher', function() {
27 |
28 | state.subscribe();
29 |
30 | expect(Reducer.reduce).toHaveBeenCalledWith(initialState, { type: Dispatcher.INIT });
31 |
32 | });
33 |
34 | });
35 |
--------------------------------------------------------------------------------
/spec/store.spec.ts:
--------------------------------------------------------------------------------
1 | import 'rxjs/add/operator/take';
2 | import {Observable} from 'rxjs/Observable';
3 | import {ReflectiveInjector} from '@angular/core';
4 | import { hot, expectObservable } from './helpers/marble-testing';
5 |
6 | import {Store, Dispatcher, State, Action, combineReducers, StoreModule} from '../';
7 | import {counterReducer, INCREMENT, DECREMENT, RESET} from './fixtures/counter';
8 |
9 | interface TestAppSchema {
10 | counter1: number;
11 | counter2: number;
12 | counter3: number;
13 | }
14 |
15 | interface Todo { }
16 |
17 | interface TodoAppSchema {
18 | visibilityFilter: string;
19 | todos: Todo[];
20 | }
21 |
22 |
23 |
24 | describe('ngRx Store', () => {
25 |
26 | describe('basic store actions', function() {
27 |
28 | let injector: ReflectiveInjector;
29 | let store: Store;
30 | let dispatcher: Dispatcher;
31 |
32 | beforeEach(() => {
33 | const rootReducer = combineReducers({
34 | counter1: counterReducer,
35 | counter2: counterReducer,
36 | counter3: counterReducer
37 | });
38 |
39 | const initialValue = { counter1: 0, counter2: 1 };
40 |
41 | injector = ReflectiveInjector.resolveAndCreate([
42 | StoreModule.provideStore(rootReducer, initialValue).providers
43 | ]);
44 |
45 | store = injector.get(Store);
46 | dispatcher = injector.get(Dispatcher);
47 | });
48 |
49 | it('should provide an Observable Store', () => {
50 | expect(store).toBeDefined();
51 | });
52 |
53 | const actionSequence = '--a--b--c--d--e';
54 | const actionValues = {
55 | a: { type: INCREMENT },
56 | b: { type: INCREMENT },
57 | c: { type: DECREMENT },
58 | d: { type: RESET },
59 | e: { type: INCREMENT }
60 | };
61 |
62 | it('should let you select state with a key name or selector function', function() {
63 |
64 | const counterSteps = hot(actionSequence, actionValues);
65 |
66 | counterSteps.subscribe((action) => store.dispatch(action));
67 |
68 | const counterStateWithString = store.select('counter1');
69 | const counterStateWithFunc = store.select(s => s.counter1);
70 |
71 | const stateSequence = 'i-v--w--x--y--z';
72 | const counter1Values = { i: 0, v: 1, w: 2, x: 1, y: 0, z: 1 };
73 |
74 | expectObservable(counterStateWithString).toBe(stateSequence, counter1Values);
75 | expectObservable(counterStateWithFunc).toBe(stateSequence, counter1Values);
76 |
77 | });
78 |
79 | it('should correctly lift itself', function() {
80 |
81 | const result = store.select('t');
82 |
83 | expect(result instanceof Store).toBe(true);
84 |
85 | });
86 |
87 | it('should appropriately handle initial state', (done) => {
88 |
89 | store.take(1).subscribe({
90 | next(val) {
91 | expect(val).toEqual({ counter1: 0, counter2: 1, counter3: 0 });
92 | },
93 | error: done,
94 | complete: done
95 | });
96 |
97 | });
98 |
99 | it('should increment and decrement counter1', function() {
100 |
101 | const counterSteps = hot(actionSequence, actionValues);
102 |
103 | counterSteps.subscribe((action) => store.dispatch(action));
104 |
105 | const counterState = store.select('counter1');
106 |
107 | const stateSequence = 'i-v--w--x--y--z';
108 | const counter1Values = { i: 0, v: 1, w: 2, x: 1, y: 0, z: 1 };
109 |
110 | expectObservable(counterState).toBe(stateSequence, counter1Values);
111 |
112 | });
113 |
114 | it('should increment and decrement counter1 using the dispatcher', function() {
115 |
116 | const counterSteps = hot(actionSequence, actionValues);
117 |
118 | counterSteps.subscribe((action) => dispatcher.dispatch(action));
119 |
120 | const counterState = store.select('counter1');
121 |
122 | const stateSequence = 'i-v--w--x--y--z';
123 | const counter1Values = { i: 0, v: 1, w: 2, x: 1, y: 0, z: 1 };
124 |
125 | expectObservable(counterState).toBe(stateSequence, counter1Values);
126 |
127 | });
128 |
129 |
130 | it('should increment and decrement counter2 separately', function() {
131 |
132 | const counterSteps = hot(actionSequence, actionValues);
133 |
134 | counterSteps.subscribe((action) => store.dispatch(action));
135 |
136 | const counter1State = store.select('counter1');
137 | const counter2State = store.select('counter2');
138 |
139 | const stateSequence = 'i-v--w--x--y--z';
140 | const counter1Values = { i: 0, v: 1, w: 2, x: 1, y: 0, z: 1 };
141 | const counter2Values = { i: 1, v: 2, w: 3, x: 2, y: 0, z: 1 };
142 |
143 | expectObservable(counter1State).toBe(stateSequence, counter1Values);
144 | expectObservable(counter2State).toBe(stateSequence, counter2Values);
145 |
146 | });
147 |
148 | it('should allow you to add a reducer later', function() {
149 |
150 | let currentState;
151 |
152 | store.subscribe(state => {
153 | currentState = state;
154 | });
155 |
156 | expect(currentState).toEqual({counter1: 0, counter2: 1, counter3: 0});
157 | store.dispatch({type: INCREMENT});
158 | expect(currentState).toEqual({counter1: 1, counter2: 2, counter3: 1});
159 |
160 | store.replaceReducer(combineReducers({ counter1: counterReducer, dynamicCounter: counterReducer}));
161 |
162 | expect(currentState).toEqual({ counter1: 1, dynamicCounter: 0 });
163 |
164 | store.dispatch({type: INCREMENT});
165 |
166 | expect(currentState).toEqual({ counter1: 2, dynamicCounter: 1 });
167 |
168 | });
169 |
170 | it('should implement the observer interface forwarding actions and errors to the dispatcher', function() {
171 |
172 | spyOn(dispatcher, 'next');
173 | spyOn(dispatcher, 'error');
174 |
175 | store.next(1);
176 | store.error(2);
177 |
178 | expect(dispatcher.next).toHaveBeenCalledWith(1);
179 | expect(dispatcher.error).toHaveBeenCalledWith(2);
180 |
181 | });
182 |
183 | it('should not be completable', function() {
184 |
185 | const storeSubscription = store.subscribe();
186 | const dispatcherSubscription = dispatcher.subscribe();
187 |
188 | store.complete();
189 | dispatcher.complete();
190 |
191 | expect(storeSubscription.closed).toBe(false);
192 | expect(dispatcherSubscription.closed).toBe(false);
193 | });
194 | });
195 | });
196 |
--------------------------------------------------------------------------------
/src/dispatcher.ts:
--------------------------------------------------------------------------------
1 | import { BehaviorSubject } from 'rxjs/BehaviorSubject';
2 |
3 | export interface Action {
4 | type: string;
5 | payload?: any;
6 | }
7 |
8 | export class Dispatcher extends BehaviorSubject {
9 | static INIT = '@ngrx/store/init';
10 |
11 | constructor() {
12 | super({ type: Dispatcher.INIT });
13 | }
14 |
15 | dispatch(action: Action): void {
16 | this.next(action);
17 | }
18 |
19 | complete() {
20 | // noop
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/src/ng2.ts:
--------------------------------------------------------------------------------
1 | import { OpaqueToken, NgModule, ModuleWithProviders } from '@angular/core';
2 |
3 | import { Reducer } from './reducer';
4 | import { Dispatcher } from './dispatcher';
5 | import { Store } from './store';
6 | import { State } from './state';
7 | import { combineReducers } from './utils';
8 |
9 | export const INITIAL_REDUCER = new OpaqueToken('Token ngrx/store/reducer');
10 | export const INITIAL_STATE = new OpaqueToken('Token ngrx/store/initial-state');
11 |
12 | export const _INITIAL_REDUCER = new OpaqueToken('Token _ngrx/store/reducer');
13 | export const _INITIAL_STATE = new OpaqueToken('Token _ngrx/store/initial-state');
14 |
15 | export function _initialReducerFactory(reducer) {
16 | if (typeof reducer === 'function') {
17 | return reducer;
18 | }
19 | return combineReducers(reducer);
20 | }
21 |
22 | export function _initialStateFactory(initialState, reducer) {
23 | if (!initialState) {
24 | return reducer(undefined, { type: Dispatcher.INIT });
25 | }
26 | return initialState;
27 | }
28 |
29 | export function _storeFactory(dispatcher, reducer, state$) {
30 | return new Store(dispatcher, reducer, state$);
31 | }
32 |
33 | export function _stateFactory(initialState: any, dispatcher: Dispatcher, reducer: Reducer) {
34 | return new State(initialState, dispatcher, reducer);
35 | }
36 |
37 | export function _reducerFactory(dispatcher, reducer) {
38 | return new Reducer(dispatcher, reducer);
39 | };
40 |
41 | /**
42 | * @deprecated, use StoreModule.provideStore instead!
43 | */
44 | export function provideStore(_reducer: any, _initialState?: any): any[] {
45 | return [
46 | Dispatcher,
47 | { provide: Store, useFactory: _storeFactory, deps: [Dispatcher, Reducer, State] },
48 | { provide: Reducer, useFactory: _reducerFactory, deps: [Dispatcher, INITIAL_REDUCER] },
49 | { provide: State, useFactory: _stateFactory, deps: [INITIAL_STATE, Dispatcher, Reducer] },
50 | { provide: INITIAL_REDUCER, useFactory: _initialReducerFactory, deps: [_INITIAL_REDUCER] },
51 | { provide: INITIAL_STATE, useFactory: _initialStateFactory, deps: [_INITIAL_STATE, INITIAL_REDUCER] },
52 | { provide: _INITIAL_STATE, useValue: _initialState },
53 | { provide: _INITIAL_REDUCER, useValue: _reducer }
54 | ];
55 | }
56 |
57 |
58 | @NgModule({})
59 | export class StoreModule {
60 | static provideStore(_reducer: any, _initialState?: any): ModuleWithProviders {
61 | return {
62 | ngModule: StoreModule,
63 | providers: provideStore(_reducer, _initialState)
64 | };
65 | }
66 | }
67 |
--------------------------------------------------------------------------------
/src/reducer.ts:
--------------------------------------------------------------------------------
1 | import { BehaviorSubject } from 'rxjs/BehaviorSubject';
2 |
3 | import { Dispatcher, Action } from './dispatcher';
4 |
5 | export interface ActionReducer {
6 | (state: T, action: Action): T;
7 | }
8 |
9 | export class Reducer extends BehaviorSubject> {
10 | static REPLACE = '@ngrx/store/replace-reducer';
11 |
12 | constructor(private _dispatcher: Dispatcher, initialReducer: ActionReducer) {
13 | super(initialReducer);
14 | }
15 |
16 | replaceReducer(reducer: ActionReducer) {
17 | this.next(reducer);
18 | }
19 |
20 | next(reducer: ActionReducer) {
21 | super.next(reducer);
22 | this._dispatcher.dispatch({ type: Reducer.REPLACE });
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/state.ts:
--------------------------------------------------------------------------------
1 | import { withLatestFrom } from 'rxjs/operator/withLatestFrom';
2 | import { scan } from 'rxjs/operator/scan';
3 | import { observeOn } from 'rxjs/operator/observeOn';
4 | import { queue } from 'rxjs/scheduler/queue';
5 | import { BehaviorSubject } from 'rxjs/BehaviorSubject';
6 |
7 | import { Dispatcher } from './dispatcher';
8 | import { Reducer } from './reducer';
9 |
10 | export class State extends BehaviorSubject {
11 | constructor(_initialState: T, action$: Dispatcher, reducer$: Reducer) {
12 | super(_initialState);
13 |
14 | const actionInQueue$ = observeOn.call(action$, queue);
15 | const actionAndReducer$ = withLatestFrom.call(actionInQueue$, reducer$);
16 | const state$ = scan.call(actionAndReducer$, (state, [ action, reducer ]) => {
17 | return reducer(state, action);
18 | }, _initialState);
19 |
20 | state$.subscribe(value => this.next(value));
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/src/store.ts:
--------------------------------------------------------------------------------
1 | import { select, SelectSignature } from '@ngrx/core';
2 | import { Observer } from 'rxjs/Observer';
3 | import { Observable } from 'rxjs/Observable';
4 | import { Subscriber } from 'rxjs/Subscriber';
5 | import { Operator } from 'rxjs/Operator';
6 |
7 | import { Action } from './dispatcher';
8 | import { State } from './state';
9 | import { ActionReducer } from './reducer';
10 |
11 |
12 | export class Store extends Observable implements Observer {
13 | constructor(
14 | private _dispatcher: Observer,
15 | private _reducer: Observer>,
16 | state$: Observable
17 | ) {
18 | super();
19 |
20 | this.source = state$;
21 | }
22 |
23 | select: SelectSignature = select.bind(this);
24 |
25 | lift(operator: Operator): Store {
26 | const store = new Store(this._dispatcher, this._reducer, this);
27 | store.operator = operator;
28 | return store;
29 | }
30 |
31 | replaceReducer(reducer: ActionReducer) {
32 | this._reducer.next(reducer);
33 | }
34 |
35 | dispatch(action: Action) {
36 | this._dispatcher.next(action);
37 | }
38 |
39 | next(action: Action) {
40 | this._dispatcher.next(action);
41 | }
42 |
43 | error(err: any) {
44 | this._dispatcher.error(err);
45 | }
46 |
47 | complete() {
48 | // noop
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/src/utils.ts:
--------------------------------------------------------------------------------
1 | import {ActionReducer} from './reducer';
2 |
3 | export function combineReducers(reducers: any): ActionReducer {
4 | const reducerKeys = Object.keys(reducers);
5 | const finalReducers = {};
6 |
7 | for (let i = 0; i < reducerKeys.length; i++) {
8 | const key = reducerKeys[i];
9 | if (typeof reducers[key] === 'function') {
10 | finalReducers[key] = reducers[key];
11 | }
12 | }
13 |
14 | const finalReducerKeys = Object.keys(finalReducers);
15 |
16 | return function combination(state = {}, action) {
17 | let hasChanged = false;
18 | const nextState = {};
19 | for (let i = 0; i < finalReducerKeys.length; i++) {
20 | const key = finalReducerKeys[i];
21 | const reducer = finalReducers[key];
22 | const previousStateForKey = state[key];
23 | const nextStateForKey = reducer(previousStateForKey, action);
24 |
25 | nextState[key] = nextStateForKey;
26 | hasChanged = hasChanged || nextStateForKey !== previousStateForKey;
27 | }
28 | return hasChanged ? nextState : state;
29 | };
30 | }
31 |
--------------------------------------------------------------------------------
/tests.bundle.ts:
--------------------------------------------------------------------------------
1 | import 'core-js';
2 | import 'core-js/es7/reflect';
3 | import 'zone.js/dist/zone';
4 | import 'zone.js/dist/long-stack-trace-zone';
5 | import 'zone.js/dist/async-test';
6 | import 'zone.js/dist/fake-async-test';
7 | import 'zone.js/dist/sync-test';
8 | import 'zone.js/dist/proxy';
9 | import 'zone.js/dist/jasmine-patch';
10 | import './spec/helpers/test-helper';
11 |
12 | // Unfortunately there's no typing for the `__karma__` variable. Just declare it as any.
13 | declare var __karma__: any;
14 | declare var System: any;
15 |
16 | // Prevent Karma from running prematurely.
17 | __karma__.loaded = function () {};
18 |
19 |
20 | Promise.all([
21 | System.import('@angular/core/testing'),
22 | System.import('@angular/platform-browser-dynamic/testing')
23 | ])
24 | // First, initialize the Angular testing environment.
25 | .then(([testing, testingBrowser]: any) => {
26 | testing.getTestBed().initTestEnvironment(
27 | testingBrowser.BrowserDynamicTestingModule,
28 | testingBrowser.platformBrowserDynamicTesting()
29 | );
30 | })
31 | // Then we find all the tests.
32 | .then((): any => (require).context('./spec', true, /\.spec\.ts/))
33 | // And load the modules.
34 | .then((context: any) => context.keys().map(context))
35 | // Finally, start Karma to run the tests.
36 | .then(__karma__.start, __karma__.error);
37 |
--------------------------------------------------------------------------------
/tsconfig.dist.json:
--------------------------------------------------------------------------------
1 |
2 | {
3 | "compilerOptions": {
4 | "baseUrl": ".",
5 | "declaration": true,
6 | "stripInternal": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "module": "es2015",
10 | "moduleResolution": "node",
11 | "noEmitOnError": false,
12 | "outDir": "./release",
13 | "rootDir": ".",
14 | "sourceMap": true,
15 | "inlineSources": true,
16 | "lib": ["es2015", "dom"],
17 | "target": "es5",
18 | "skipLibCheck": true
19 | },
20 | "files": [
21 | "index.ts"
22 | ],
23 | "angularCompilerOptions": {
24 | "strictMetadataEmit": true
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "baseUrl": ".",
4 | "declaration": true,
5 | "stripInternal": true,
6 | "emitDecoratorMetadata": true,
7 | "experimentalDecorators": true,
8 | "module": "commonjs",
9 | "moduleResolution": "node",
10 | "noEmitOnError": false,
11 | "outDir": "./release",
12 | "rootDir": ".",
13 | "lib": ["es2015", "dom"],
14 | "target": "es5",
15 | "skipLibCheck": true,
16 | "types": [
17 | "node",
18 | "jasmine"
19 | ]
20 | },
21 | "exclude": [
22 | "node_modules"
23 | ],
24 | "angularCompilerOptions": {
25 | "strictMetadataEmit": true
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/tslint.json:
--------------------------------------------------------------------------------
1 | {
2 | "rules": {
3 | "class-name": true,
4 | "comment-format": [
5 | true,
6 | "check-space"
7 | ],
8 | "indent": [
9 | true,
10 | "spaces"
11 | ],
12 | "no-duplicate-variable": true,
13 | "no-eval": true,
14 | "no-internal-module": true,
15 | "no-trailing-whitespace": true,
16 | "no-var-keyword": true,
17 | "one-line": [
18 | true,
19 | "check-open-brace",
20 | "check-whitespace"
21 | ],
22 | "quotemark": [
23 | true,
24 | "single"
25 | ],
26 | "semicolon": true,
27 | "triple-equals": [
28 | true,
29 | "allow-null-check"
30 | ],
31 | "typedef-whitespace": [
32 | true,
33 | {
34 | "call-signature": "nospace",
35 | "index-signature": "nospace",
36 | "parameter": "nospace",
37 | "property-declaration": "nospace",
38 | "variable-declaration": "nospace"
39 | }
40 | ],
41 | "variable-name": [
42 | true,
43 | "ban-keywords",
44 | "allow-leading-underscore"
45 | ],
46 | "whitespace": [
47 | true,
48 | "check-branch",
49 | "check-decl",
50 | "check-operator",
51 | "check-separator",
52 | "check-type"
53 | ]
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@angular/common@^2.0.0":
6 | version "2.4.10"
7 | resolved "https://registry.yarnpkg.com/@angular/common/-/common-2.4.10.tgz#a3a682d2228fa30ec23dd0eb57c8e887fba26997"
8 |
9 | "@angular/compiler-cli@^2.0.0":
10 | version "2.4.10"
11 | resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-2.4.10.tgz#c21143bfaab45231c8d2eaa82456bed3d39f91a3"
12 | dependencies:
13 | "@angular/tsc-wrapped" "0.5.2"
14 | minimist "^1.2.0"
15 | reflect-metadata "^0.1.2"
16 |
17 | "@angular/compiler@^2.0.0":
18 | version "2.4.10"
19 | resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-2.4.10.tgz#f51fd34820b2a02c7cb61fbcf49873c58056fb0c"
20 |
21 | "@angular/core@^2.0.0":
22 | version "2.4.10"
23 | resolved "https://registry.yarnpkg.com/@angular/core/-/core-2.4.10.tgz#0b8320a65065965d998645b1f5cd3cf769b441ea"
24 |
25 | "@angular/platform-browser-dynamic@^2.0.0":
26 | version "2.4.10"
27 | resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-2.4.10.tgz#8df25dec2b06adc690cc9bc26448deccaebcd8ec"
28 |
29 | "@angular/platform-browser@^2.0.0":
30 | version "2.4.10"
31 | resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-2.4.10.tgz#cbf25608148fb4ffef96cc5005ba5d7b3e093906"
32 |
33 | "@angular/platform-server@^2.0.0":
34 | version "2.4.10"
35 | resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-2.4.10.tgz#ede03075081f807ed83dd8ec92f2924858fb3455"
36 | dependencies:
37 | parse5 "^2.2.1"
38 |
39 | "@angular/tsc-wrapped@0.5.2":
40 | version "0.5.2"
41 | resolved "https://registry.yarnpkg.com/@angular/tsc-wrapped/-/tsc-wrapped-0.5.2.tgz#2eddf472c467fcb334ea94deddaaa71990c5a482"
42 | dependencies:
43 | tsickle "^0.2"
44 |
45 | "@ngrx/core@^1.2.0":
46 | version "1.2.0"
47 | resolved "https://registry.yarnpkg.com/@ngrx/core/-/core-1.2.0.tgz#882b46abafa2e0e6d887cb71a1b2c2fa3e6d0dc6"
48 |
49 | "@types/jasmine@^2.2.33":
50 | version "2.5.47"
51 | resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-2.5.47.tgz#bbba9bcf0e95e7890c6f4a47394e8bacaa960eb6"
52 |
53 | "@types/node@^6.0.38":
54 | version "6.0.70"
55 | resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.70.tgz#f6e04b859205ee3611849921f09819701dbfa5e8"
56 |
57 | abbrev@1, abbrev@1.0.x:
58 | version "1.0.9"
59 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135"
60 |
61 | accepts@1.3.3:
62 | version "1.3.3"
63 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca"
64 | dependencies:
65 | mime-types "~2.1.11"
66 | negotiator "0.6.1"
67 |
68 | acorn-dynamic-import@^2.0.0:
69 | version "2.0.2"
70 | resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz#c752bd210bef679501b6c6cb7fc84f8f47158cc4"
71 | dependencies:
72 | acorn "^4.0.3"
73 |
74 | acorn@^4.0.3:
75 | version "4.0.11"
76 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.11.tgz#edcda3bd937e7556410d42ed5860f67399c794c0"
77 |
78 | acorn@^5.0.0:
79 | version "5.0.3"
80 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.0.3.tgz#c460df08491463f028ccb82eab3730bf01087b3d"
81 |
82 | after@0.8.2:
83 | version "0.8.2"
84 | resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f"
85 |
86 | ajv-keywords@^1.1.1:
87 | version "1.5.1"
88 | resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c"
89 |
90 | ajv@^4.7.0, ajv@^4.9.1:
91 | version "4.11.7"
92 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.7.tgz#8655a5d86d0824985cc471a1d913fb6729a0ec48"
93 | dependencies:
94 | co "^4.6.0"
95 | json-stable-stringify "^1.0.1"
96 |
97 | align-text@^0.1.1, align-text@^0.1.3:
98 | version "0.1.4"
99 | resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
100 | dependencies:
101 | kind-of "^3.0.2"
102 | longest "^1.0.1"
103 | repeat-string "^1.5.2"
104 |
105 | amdefine@>=0.0.4:
106 | version "1.0.1"
107 | resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
108 |
109 | ansi-regex@^2.0.0:
110 | version "2.1.1"
111 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
112 |
113 | ansi-styles@^2.2.1:
114 | version "2.2.1"
115 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
116 |
117 | anymatch@^1.3.0:
118 | version "1.3.0"
119 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507"
120 | dependencies:
121 | arrify "^1.0.0"
122 | micromatch "^2.1.5"
123 |
124 | aproba@^1.0.3:
125 | version "1.1.1"
126 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.1.tgz#95d3600f07710aa0e9298c726ad5ecf2eacbabab"
127 |
128 | are-we-there-yet@~1.1.2:
129 | version "1.1.2"
130 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz#80e470e95a084794fe1899262c5667c6e88de1b3"
131 | dependencies:
132 | delegates "^1.0.0"
133 | readable-stream "^2.0.0 || ^1.1.13"
134 |
135 | argparse@^1.0.7:
136 | version "1.0.9"
137 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86"
138 | dependencies:
139 | sprintf-js "~1.0.2"
140 |
141 | arr-diff@^2.0.0:
142 | version "2.0.0"
143 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf"
144 | dependencies:
145 | arr-flatten "^1.0.1"
146 |
147 | arr-flatten@^1.0.1:
148 | version "1.0.3"
149 | resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.3.tgz#a274ed85ac08849b6bd7847c4580745dc51adfb1"
150 |
151 | array-find-index@^1.0.1:
152 | version "1.0.2"
153 | resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
154 |
155 | array-slice@^0.2.3:
156 | version "0.2.3"
157 | resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-0.2.3.tgz#dd3cfb80ed7973a75117cdac69b0b99ec86186f5"
158 |
159 | array-union@^1.0.1:
160 | version "1.0.2"
161 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
162 | dependencies:
163 | array-uniq "^1.0.1"
164 |
165 | array-uniq@^1.0.1:
166 | version "1.0.3"
167 | resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
168 |
169 | array-unique@^0.2.1:
170 | version "0.2.1"
171 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
172 |
173 | arraybuffer.slice@0.0.6:
174 | version "0.0.6"
175 | resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz#f33b2159f0532a3f3107a272c0ccfbd1ad2979ca"
176 |
177 | arrify@^1.0.0:
178 | version "1.0.1"
179 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
180 |
181 | asn1.js@^4.0.0:
182 | version "4.9.1"
183 | resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.1.tgz#48ba240b45a9280e94748990ba597d216617fd40"
184 | dependencies:
185 | bn.js "^4.0.0"
186 | inherits "^2.0.1"
187 | minimalistic-assert "^1.0.0"
188 |
189 | asn1@~0.2.3:
190 | version "0.2.3"
191 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86"
192 |
193 | assert-plus@1.0.0, assert-plus@^1.0.0:
194 | version "1.0.0"
195 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
196 |
197 | assert-plus@^0.2.0:
198 | version "0.2.0"
199 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234"
200 |
201 | assert@^1.1.1:
202 | version "1.4.1"
203 | resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91"
204 | dependencies:
205 | util "0.10.3"
206 |
207 | async-each@^1.0.0:
208 | version "1.0.1"
209 | resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d"
210 |
211 | async@1.x, async@^1.4.0:
212 | version "1.5.2"
213 | resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
214 |
215 | async@^2.1.2:
216 | version "2.3.0"
217 | resolved "https://registry.yarnpkg.com/async/-/async-2.3.0.tgz#1013d1051047dd320fe24e494d5c66ecaf6147d9"
218 | dependencies:
219 | lodash "^4.14.0"
220 |
221 | async@~0.2.6:
222 | version "0.2.10"
223 | resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1"
224 |
225 | async@~0.9.0:
226 | version "0.9.2"
227 | resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d"
228 |
229 | asynckit@^0.4.0:
230 | version "0.4.0"
231 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
232 |
233 | awesome-typescript-loader@^3.0.0:
234 | version "3.1.2"
235 | resolved "https://registry.yarnpkg.com/awesome-typescript-loader/-/awesome-typescript-loader-3.1.2.tgz#3df192b91a6285f795ca65e63aad114fbb44f710"
236 | dependencies:
237 | colors "^1.1.2"
238 | enhanced-resolve "^3.1.0"
239 | loader-utils "^1.0.2"
240 | lodash "^4.17.4"
241 | mkdirp "^0.5.1"
242 | object-assign "^4.1.1"
243 | source-map-support "^0.4.11"
244 |
245 | aws-sign2@~0.6.0:
246 | version "0.6.0"
247 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f"
248 |
249 | aws4@^1.2.1:
250 | version "1.6.0"
251 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e"
252 |
253 | backo2@1.0.2:
254 | version "1.0.2"
255 | resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947"
256 |
257 | balanced-match@^0.4.1:
258 | version "0.4.2"
259 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
260 |
261 | base64-arraybuffer@0.1.5:
262 | version "0.1.5"
263 | resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8"
264 |
265 | base64-js@^1.0.2:
266 | version "1.2.0"
267 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1"
268 |
269 | base64id@1.0.0:
270 | version "1.0.0"
271 | resolved "https://registry.yarnpkg.com/base64id/-/base64id-1.0.0.tgz#47688cb99bb6804f0e06d3e763b1c32e57d8e6b6"
272 |
273 | bcrypt-pbkdf@^1.0.0:
274 | version "1.0.1"
275 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d"
276 | dependencies:
277 | tweetnacl "^0.14.3"
278 |
279 | better-assert@~1.0.0:
280 | version "1.0.2"
281 | resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522"
282 | dependencies:
283 | callsite "1.0.0"
284 |
285 | big.js@^3.1.3:
286 | version "3.1.3"
287 | resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978"
288 |
289 | binary-extensions@^1.0.0:
290 | version "1.8.0"
291 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774"
292 |
293 | blob@0.0.4:
294 | version "0.0.4"
295 | resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.4.tgz#bcf13052ca54463f30f9fc7e95b9a47630a94921"
296 |
297 | block-stream@*:
298 | version "0.0.9"
299 | resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
300 | dependencies:
301 | inherits "~2.0.0"
302 |
303 | bluebird@^3.3.0:
304 | version "3.5.0"
305 | resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c"
306 |
307 | bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0:
308 | version "4.11.6"
309 | resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215"
310 |
311 | body-parser@^1.16.1:
312 | version "1.17.1"
313 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.17.1.tgz#75b3bc98ddd6e7e0d8ffe750dfaca5c66993fa47"
314 | dependencies:
315 | bytes "2.4.0"
316 | content-type "~1.0.2"
317 | debug "2.6.1"
318 | depd "~1.1.0"
319 | http-errors "~1.6.1"
320 | iconv-lite "0.4.15"
321 | on-finished "~2.3.0"
322 | qs "6.4.0"
323 | raw-body "~2.2.0"
324 | type-is "~1.6.14"
325 |
326 | boom@2.x.x:
327 | version "2.10.1"
328 | resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f"
329 | dependencies:
330 | hoek "2.x.x"
331 |
332 | brace-expansion@^1.0.0:
333 | version "1.1.7"
334 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.7.tgz#3effc3c50e000531fb720eaff80f0ae8ef23cf59"
335 | dependencies:
336 | balanced-match "^0.4.1"
337 | concat-map "0.0.1"
338 |
339 | braces@^0.1.2:
340 | version "0.1.5"
341 | resolved "https://registry.yarnpkg.com/braces/-/braces-0.1.5.tgz#c085711085291d8b75fdd74eab0f8597280711e6"
342 | dependencies:
343 | expand-range "^0.1.0"
344 |
345 | braces@^1.8.2:
346 | version "1.8.5"
347 | resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
348 | dependencies:
349 | expand-range "^1.8.1"
350 | preserve "^0.2.0"
351 | repeat-element "^1.1.2"
352 |
353 | brorand@^1.0.1:
354 | version "1.1.0"
355 | resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
356 |
357 | browserify-aes@^1.0.0, browserify-aes@^1.0.4:
358 | version "1.0.6"
359 | resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.0.6.tgz#5e7725dbdef1fd5930d4ebab48567ce451c48a0a"
360 | dependencies:
361 | buffer-xor "^1.0.2"
362 | cipher-base "^1.0.0"
363 | create-hash "^1.1.0"
364 | evp_bytestokey "^1.0.0"
365 | inherits "^2.0.1"
366 |
367 | browserify-cipher@^1.0.0:
368 | version "1.0.0"
369 | resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.0.tgz#9988244874bf5ed4e28da95666dcd66ac8fc363a"
370 | dependencies:
371 | browserify-aes "^1.0.4"
372 | browserify-des "^1.0.0"
373 | evp_bytestokey "^1.0.0"
374 |
375 | browserify-des@^1.0.0:
376 | version "1.0.0"
377 | resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.0.tgz#daa277717470922ed2fe18594118a175439721dd"
378 | dependencies:
379 | cipher-base "^1.0.1"
380 | des.js "^1.0.0"
381 | inherits "^2.0.1"
382 |
383 | browserify-rsa@^4.0.0:
384 | version "4.0.1"
385 | resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524"
386 | dependencies:
387 | bn.js "^4.1.0"
388 | randombytes "^2.0.1"
389 |
390 | browserify-sign@^4.0.0:
391 | version "4.0.4"
392 | resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298"
393 | dependencies:
394 | bn.js "^4.1.1"
395 | browserify-rsa "^4.0.0"
396 | create-hash "^1.1.0"
397 | create-hmac "^1.1.2"
398 | elliptic "^6.0.0"
399 | inherits "^2.0.1"
400 | parse-asn1 "^5.0.0"
401 |
402 | browserify-zlib@^0.1.4:
403 | version "0.1.4"
404 | resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d"
405 | dependencies:
406 | pako "~0.2.0"
407 |
408 | buffer-shims@~1.0.0:
409 | version "1.0.0"
410 | resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51"
411 |
412 | buffer-xor@^1.0.2:
413 | version "1.0.3"
414 | resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
415 |
416 | buffer@^4.3.0:
417 | version "4.9.1"
418 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298"
419 | dependencies:
420 | base64-js "^1.0.2"
421 | ieee754 "^1.1.4"
422 | isarray "^1.0.0"
423 |
424 | builtin-modules@^1.0.0:
425 | version "1.1.1"
426 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
427 |
428 | builtin-status-codes@^3.0.0:
429 | version "3.0.0"
430 | resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
431 |
432 | bytes@2.4.0:
433 | version "2.4.0"
434 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz#7d97196f9d5baf7f6935e25985549edd2a6c2339"
435 |
436 | callsite@1.0.0:
437 | version "1.0.0"
438 | resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20"
439 |
440 | camelcase-keys@^2.0.0:
441 | version "2.1.0"
442 | resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
443 | dependencies:
444 | camelcase "^2.0.0"
445 | map-obj "^1.0.0"
446 |
447 | camelcase@^1.0.2:
448 | version "1.2.1"
449 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
450 |
451 | camelcase@^2.0.0:
452 | version "2.1.1"
453 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
454 |
455 | camelcase@^3.0.0:
456 | version "3.0.0"
457 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
458 |
459 | caseless@~0.12.0:
460 | version "0.12.0"
461 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
462 |
463 | center-align@^0.1.1:
464 | version "0.1.3"
465 | resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad"
466 | dependencies:
467 | align-text "^0.1.3"
468 | lazy-cache "^1.0.3"
469 |
470 | chalk@1.1.3:
471 | version "1.1.3"
472 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
473 | dependencies:
474 | ansi-styles "^2.2.1"
475 | escape-string-regexp "^1.0.2"
476 | has-ansi "^2.0.0"
477 | strip-ansi "^3.0.0"
478 | supports-color "^2.0.0"
479 |
480 | chokidar@^1.4.1, chokidar@^1.4.3:
481 | version "1.6.1"
482 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.6.1.tgz#2f4447ab5e96e50fb3d789fd90d4c72e0e4c70c2"
483 | dependencies:
484 | anymatch "^1.3.0"
485 | async-each "^1.0.0"
486 | glob-parent "^2.0.0"
487 | inherits "^2.0.1"
488 | is-binary-path "^1.0.0"
489 | is-glob "^2.0.0"
490 | path-is-absolute "^1.0.0"
491 | readdirp "^2.0.0"
492 | optionalDependencies:
493 | fsevents "^1.0.0"
494 |
495 | cipher-base@^1.0.0, cipher-base@^1.0.1:
496 | version "1.0.3"
497 | resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.3.tgz#eeabf194419ce900da3018c207d212f2a6df0a07"
498 | dependencies:
499 | inherits "^2.0.1"
500 |
501 | cliui@^2.1.0:
502 | version "2.1.0"
503 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
504 | dependencies:
505 | center-align "^0.1.1"
506 | right-align "^0.1.1"
507 | wordwrap "0.0.2"
508 |
509 | cliui@^3.2.0:
510 | version "3.2.0"
511 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"
512 | dependencies:
513 | string-width "^1.0.1"
514 | strip-ansi "^3.0.1"
515 | wrap-ansi "^2.0.0"
516 |
517 | co@^4.6.0:
518 | version "4.6.0"
519 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
520 |
521 | code-point-at@^1.0.0:
522 | version "1.1.0"
523 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
524 |
525 | colors@^1.0.3, colors@^1.1.0, colors@^1.1.2:
526 | version "1.1.2"
527 | resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63"
528 |
529 | combine-lists@^1.0.0:
530 | version "1.0.1"
531 | resolved "https://registry.yarnpkg.com/combine-lists/-/combine-lists-1.0.1.tgz#458c07e09e0d900fc28b70a3fec2dacd1d2cb7f6"
532 | dependencies:
533 | lodash "^4.5.0"
534 |
535 | combined-stream@^1.0.5, combined-stream@~1.0.5:
536 | version "1.0.5"
537 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009"
538 | dependencies:
539 | delayed-stream "~1.0.0"
540 |
541 | component-bind@1.0.0:
542 | version "1.0.0"
543 | resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1"
544 |
545 | component-emitter@1.1.2:
546 | version "1.1.2"
547 | resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.1.2.tgz#296594f2753daa63996d2af08d15a95116c9aec3"
548 |
549 | component-emitter@1.2.1:
550 | version "1.2.1"
551 | resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
552 |
553 | component-inherit@0.0.3:
554 | version "0.0.3"
555 | resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143"
556 |
557 | concat-map@0.0.1:
558 | version "0.0.1"
559 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
560 |
561 | connect@^3.6.0:
562 | version "3.6.0"
563 | resolved "https://registry.yarnpkg.com/connect/-/connect-3.6.0.tgz#f09a4f7dcd17324b663b725c815bdb1c4158a46e"
564 | dependencies:
565 | debug "2.6.1"
566 | finalhandler "1.0.0"
567 | parseurl "~1.3.1"
568 | utils-merge "1.0.0"
569 |
570 | console-browserify@^1.1.0:
571 | version "1.1.0"
572 | resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10"
573 | dependencies:
574 | date-now "^0.1.4"
575 |
576 | console-control-strings@^1.0.0, console-control-strings@~1.1.0:
577 | version "1.1.0"
578 | resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
579 |
580 | constants-browserify@^1.0.0:
581 | version "1.0.0"
582 | resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
583 |
584 | content-type@~1.0.2:
585 | version "1.0.2"
586 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed"
587 |
588 | cookie@0.3.1:
589 | version "0.3.1"
590 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb"
591 |
592 | core-js@^2.2.0, core-js@^2.4.1:
593 | version "2.4.1"
594 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e"
595 |
596 | core-util-is@~1.0.0:
597 | version "1.0.2"
598 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
599 |
600 | cp-file@^3.1.0:
601 | version "3.2.0"
602 | resolved "https://registry.yarnpkg.com/cp-file/-/cp-file-3.2.0.tgz#6f83616254624f0ad58aa4aa8d076f026be7e188"
603 | dependencies:
604 | graceful-fs "^4.1.2"
605 | mkdirp "^0.5.0"
606 | nested-error-stacks "^1.0.1"
607 | object-assign "^4.0.1"
608 | pify "^2.3.0"
609 | pinkie-promise "^2.0.0"
610 | readable-stream "^2.1.4"
611 |
612 | cpy-cli@^1.0.1:
613 | version "1.0.1"
614 | resolved "https://registry.yarnpkg.com/cpy-cli/-/cpy-cli-1.0.1.tgz#67fb5a4a2dec28ca8abff375de4b9e71f6a7561c"
615 | dependencies:
616 | cpy "^4.0.0"
617 | meow "^3.6.0"
618 |
619 | cpy@^4.0.0:
620 | version "4.0.1"
621 | resolved "https://registry.yarnpkg.com/cpy/-/cpy-4.0.1.tgz#b67267eba2f3960ba06a5a61ac94033422833424"
622 | dependencies:
623 | cp-file "^3.1.0"
624 | globby "^4.0.0"
625 | meow "^3.6.0"
626 | nested-error-stacks "^1.0.0"
627 | object-assign "^4.0.1"
628 | pinkie-promise "^2.0.0"
629 |
630 | create-ecdh@^4.0.0:
631 | version "4.0.0"
632 | resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d"
633 | dependencies:
634 | bn.js "^4.1.0"
635 | elliptic "^6.0.0"
636 |
637 | create-hash@^1.1.0, create-hash@^1.1.1:
638 | version "1.1.2"
639 | resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.2.tgz#51210062d7bb7479f6c65bb41a92208b1d61abad"
640 | dependencies:
641 | cipher-base "^1.0.1"
642 | inherits "^2.0.1"
643 | ripemd160 "^1.0.0"
644 | sha.js "^2.3.6"
645 |
646 | create-hmac@^1.1.0, create-hmac@^1.1.2:
647 | version "1.1.4"
648 | resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.4.tgz#d3fb4ba253eb8b3f56e39ea2fbcb8af747bd3170"
649 | dependencies:
650 | create-hash "^1.1.0"
651 | inherits "^2.0.1"
652 |
653 | cryptiles@2.x.x:
654 | version "2.0.5"
655 | resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8"
656 | dependencies:
657 | boom "2.x.x"
658 |
659 | crypto-browserify@^3.11.0:
660 | version "3.11.0"
661 | resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.11.0.tgz#3652a0906ab9b2a7e0c3ce66a408e957a2485522"
662 | dependencies:
663 | browserify-cipher "^1.0.0"
664 | browserify-sign "^4.0.0"
665 | create-ecdh "^4.0.0"
666 | create-hash "^1.1.0"
667 | create-hmac "^1.1.0"
668 | diffie-hellman "^5.0.0"
669 | inherits "^2.0.1"
670 | pbkdf2 "^3.0.3"
671 | public-encrypt "^4.0.0"
672 | randombytes "^2.0.0"
673 |
674 | currently-unhandled@^0.4.1:
675 | version "0.4.1"
676 | resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
677 | dependencies:
678 | array-find-index "^1.0.1"
679 |
680 | custom-event@~1.0.0:
681 | version "1.0.1"
682 | resolved "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425"
683 |
684 | dashdash@^1.12.0:
685 | version "1.14.1"
686 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
687 | dependencies:
688 | assert-plus "^1.0.0"
689 |
690 | date-now@^0.1.4:
691 | version "0.1.4"
692 | resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
693 |
694 | dateformat@^1.0.6:
695 | version "1.0.12"
696 | resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9"
697 | dependencies:
698 | get-stdin "^4.0.1"
699 | meow "^3.3.0"
700 |
701 | debug@2.2.0:
702 | version "2.2.0"
703 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da"
704 | dependencies:
705 | ms "0.7.1"
706 |
707 | debug@2.3.3:
708 | version "2.3.3"
709 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.3.3.tgz#40c453e67e6e13c901ddec317af8986cda9eff8c"
710 | dependencies:
711 | ms "0.7.2"
712 |
713 | debug@2.6.1, debug@^2.2.0:
714 | version "2.6.1"
715 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.1.tgz#79855090ba2c4e3115cc7d8769491d58f0491351"
716 | dependencies:
717 | ms "0.7.2"
718 |
719 | decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2:
720 | version "1.2.0"
721 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
722 |
723 | deep-extend@~0.4.0:
724 | version "0.4.1"
725 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253"
726 |
727 | deep-is@~0.1.3:
728 | version "0.1.3"
729 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
730 |
731 | delayed-stream@~1.0.0:
732 | version "1.0.0"
733 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
734 |
735 | delegates@^1.0.0:
736 | version "1.0.0"
737 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
738 |
739 | depd@1.1.0, depd@~1.1.0:
740 | version "1.1.0"
741 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3"
742 |
743 | des.js@^1.0.0:
744 | version "1.0.0"
745 | resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc"
746 | dependencies:
747 | inherits "^2.0.1"
748 | minimalistic-assert "^1.0.0"
749 |
750 | di@^0.0.1:
751 | version "0.0.1"
752 | resolved "https://registry.yarnpkg.com/di/-/di-0.0.1.tgz#806649326ceaa7caa3306d75d985ea2748ba913c"
753 |
754 | diff@^2.2.1:
755 | version "2.2.3"
756 | resolved "https://registry.yarnpkg.com/diff/-/diff-2.2.3.tgz#60eafd0d28ee906e4e8ff0a52c1229521033bf99"
757 |
758 | diffie-hellman@^5.0.0:
759 | version "5.0.2"
760 | resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.2.tgz#b5835739270cfe26acf632099fded2a07f209e5e"
761 | dependencies:
762 | bn.js "^4.1.0"
763 | miller-rabin "^4.0.0"
764 | randombytes "^2.0.0"
765 |
766 | dom-serialize@^2.2.0:
767 | version "2.2.1"
768 | resolved "https://registry.yarnpkg.com/dom-serialize/-/dom-serialize-2.2.1.tgz#562ae8999f44be5ea3076f5419dcd59eb43ac95b"
769 | dependencies:
770 | custom-event "~1.0.0"
771 | ent "~2.2.0"
772 | extend "^3.0.0"
773 | void-elements "^2.0.0"
774 |
775 | domain-browser@^1.1.1:
776 | version "1.1.7"
777 | resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc"
778 |
779 | ecc-jsbn@~0.1.1:
780 | version "0.1.1"
781 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505"
782 | dependencies:
783 | jsbn "~0.1.0"
784 |
785 | ee-first@1.1.1:
786 | version "1.1.1"
787 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
788 |
789 | elliptic@^6.0.0:
790 | version "6.4.0"
791 | resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df"
792 | dependencies:
793 | bn.js "^4.4.0"
794 | brorand "^1.0.1"
795 | hash.js "^1.0.0"
796 | hmac-drbg "^1.0.0"
797 | inherits "^2.0.1"
798 | minimalistic-assert "^1.0.0"
799 | minimalistic-crypto-utils "^1.0.0"
800 |
801 | emojis-list@^2.0.0:
802 | version "2.1.0"
803 | resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
804 |
805 | encodeurl@~1.0.1:
806 | version "1.0.1"
807 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20"
808 |
809 | engine.io-client@1.8.3:
810 | version "1.8.3"
811 | resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-1.8.3.tgz#1798ed93451246453d4c6f635d7a201fe940d5ab"
812 | dependencies:
813 | component-emitter "1.2.1"
814 | component-inherit "0.0.3"
815 | debug "2.3.3"
816 | engine.io-parser "1.3.2"
817 | has-cors "1.1.0"
818 | indexof "0.0.1"
819 | parsejson "0.0.3"
820 | parseqs "0.0.5"
821 | parseuri "0.0.5"
822 | ws "1.1.2"
823 | xmlhttprequest-ssl "1.5.3"
824 | yeast "0.1.2"
825 |
826 | engine.io-parser@1.3.2:
827 | version "1.3.2"
828 | resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-1.3.2.tgz#937b079f0007d0893ec56d46cb220b8cb435220a"
829 | dependencies:
830 | after "0.8.2"
831 | arraybuffer.slice "0.0.6"
832 | base64-arraybuffer "0.1.5"
833 | blob "0.0.4"
834 | has-binary "0.1.7"
835 | wtf-8 "1.0.0"
836 |
837 | engine.io@1.8.3:
838 | version "1.8.3"
839 | resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-1.8.3.tgz#8de7f97895d20d39b85f88eeee777b2bd42b13d4"
840 | dependencies:
841 | accepts "1.3.3"
842 | base64id "1.0.0"
843 | cookie "0.3.1"
844 | debug "2.3.3"
845 | engine.io-parser "1.3.2"
846 | ws "1.1.2"
847 |
848 | enhanced-resolve@^0.9.0:
849 | version "0.9.1"
850 | resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz#4d6e689b3725f86090927ccc86cd9f1635b89e2e"
851 | dependencies:
852 | graceful-fs "^4.1.2"
853 | memory-fs "^0.2.0"
854 | tapable "^0.1.8"
855 |
856 | enhanced-resolve@^3.0.0, enhanced-resolve@^3.1.0:
857 | version "3.1.0"
858 | resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.1.0.tgz#9f4b626f577245edcf4b2ad83d86e17f4f421dec"
859 | dependencies:
860 | graceful-fs "^4.1.2"
861 | memory-fs "^0.4.0"
862 | object-assign "^4.0.1"
863 | tapable "^0.2.5"
864 |
865 | ent@~2.2.0:
866 | version "2.2.0"
867 | resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d"
868 |
869 | errno@^0.1.3:
870 | version "0.1.4"
871 | resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d"
872 | dependencies:
873 | prr "~0.0.0"
874 |
875 | error-ex@^1.2.0:
876 | version "1.3.1"
877 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc"
878 | dependencies:
879 | is-arrayish "^0.2.1"
880 |
881 | escape-html@~1.0.3:
882 | version "1.0.3"
883 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
884 |
885 | escape-string-regexp@^1.0.2:
886 | version "1.0.5"
887 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
888 |
889 | escodegen@1.8.x:
890 | version "1.8.1"
891 | resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018"
892 | dependencies:
893 | esprima "^2.7.1"
894 | estraverse "^1.9.1"
895 | esutils "^2.0.2"
896 | optionator "^0.8.1"
897 | optionalDependencies:
898 | source-map "~0.2.0"
899 |
900 | esprima@2.7.x, esprima@^2.7.1:
901 | version "2.7.3"
902 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
903 |
904 | esprima@^3.1.1:
905 | version "3.1.3"
906 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
907 |
908 | estraverse@^1.9.1:
909 | version "1.9.3"
910 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44"
911 |
912 | esutils@^2.0.2:
913 | version "2.0.2"
914 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
915 |
916 | eventemitter3@1.x.x:
917 | version "1.2.0"
918 | resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508"
919 |
920 | events@^1.0.0:
921 | version "1.1.1"
922 | resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
923 |
924 | evp_bytestokey@^1.0.0:
925 | version "1.0.0"
926 | resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz#497b66ad9fef65cd7c08a6180824ba1476b66e53"
927 | dependencies:
928 | create-hash "^1.1.1"
929 |
930 | exit@^0.1.2:
931 | version "0.1.2"
932 | resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
933 |
934 | expand-braces@^0.1.1:
935 | version "0.1.2"
936 | resolved "https://registry.yarnpkg.com/expand-braces/-/expand-braces-0.1.2.tgz#488b1d1d2451cb3d3a6b192cfc030f44c5855fea"
937 | dependencies:
938 | array-slice "^0.2.3"
939 | array-unique "^0.2.1"
940 | braces "^0.1.2"
941 |
942 | expand-brackets@^0.1.4:
943 | version "0.1.5"
944 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
945 | dependencies:
946 | is-posix-bracket "^0.1.0"
947 |
948 | expand-range@^0.1.0:
949 | version "0.1.1"
950 | resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-0.1.1.tgz#4cb8eda0993ca56fa4f41fc42f3cbb4ccadff044"
951 | dependencies:
952 | is-number "^0.1.1"
953 | repeat-string "^0.2.2"
954 |
955 | expand-range@^1.8.1:
956 | version "1.8.2"
957 | resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337"
958 | dependencies:
959 | fill-range "^2.1.0"
960 |
961 | extend@^3.0.0, extend@~3.0.0:
962 | version "3.0.0"
963 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4"
964 |
965 | extglob@^0.3.1:
966 | version "0.3.2"
967 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1"
968 | dependencies:
969 | is-extglob "^1.0.0"
970 |
971 | extsprintf@1.0.2:
972 | version "1.0.2"
973 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550"
974 |
975 | fast-levenshtein@~2.0.4:
976 | version "2.0.6"
977 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
978 |
979 | filename-regex@^2.0.0:
980 | version "2.0.0"
981 | resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775"
982 |
983 | fill-range@^2.1.0:
984 | version "2.2.3"
985 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723"
986 | dependencies:
987 | is-number "^2.1.0"
988 | isobject "^2.0.0"
989 | randomatic "^1.1.3"
990 | repeat-element "^1.1.2"
991 | repeat-string "^1.5.2"
992 |
993 | finalhandler@1.0.0:
994 | version "1.0.0"
995 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.0.0.tgz#b5691c2c0912092f18ac23e9416bde5cd7dc6755"
996 | dependencies:
997 | debug "2.6.1"
998 | encodeurl "~1.0.1"
999 | escape-html "~1.0.3"
1000 | on-finished "~2.3.0"
1001 | parseurl "~1.3.1"
1002 | statuses "~1.3.1"
1003 | unpipe "~1.0.0"
1004 |
1005 | find-up@^1.0.0:
1006 | version "1.1.2"
1007 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
1008 | dependencies:
1009 | path-exists "^2.0.0"
1010 | pinkie-promise "^2.0.0"
1011 |
1012 | findup-sync@~0.3.0:
1013 | version "0.3.0"
1014 | resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.3.0.tgz#37930aa5d816b777c03445e1966cc6790a4c0b16"
1015 | dependencies:
1016 | glob "~5.0.0"
1017 |
1018 | for-in@^1.0.1:
1019 | version "1.0.2"
1020 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
1021 |
1022 | for-own@^0.1.4:
1023 | version "0.1.5"
1024 | resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce"
1025 | dependencies:
1026 | for-in "^1.0.1"
1027 |
1028 | forever-agent@~0.6.1:
1029 | version "0.6.1"
1030 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
1031 |
1032 | form-data@~2.1.1:
1033 | version "2.1.4"
1034 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1"
1035 | dependencies:
1036 | asynckit "^0.4.0"
1037 | combined-stream "^1.0.5"
1038 | mime-types "^2.1.12"
1039 |
1040 | fs-access@^1.0.0:
1041 | version "1.0.1"
1042 | resolved "https://registry.yarnpkg.com/fs-access/-/fs-access-1.0.1.tgz#d6a87f262271cefebec30c553407fb995da8777a"
1043 | dependencies:
1044 | null-check "^1.0.0"
1045 |
1046 | fs.realpath@^1.0.0:
1047 | version "1.0.0"
1048 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
1049 |
1050 | fsevents@^1.0.0:
1051 | version "1.1.1"
1052 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.1.tgz#f19fd28f43eeaf761680e519a203c4d0b3d31aff"
1053 | dependencies:
1054 | nan "^2.3.0"
1055 | node-pre-gyp "^0.6.29"
1056 |
1057 | fstream-ignore@^1.0.5:
1058 | version "1.0.5"
1059 | resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105"
1060 | dependencies:
1061 | fstream "^1.0.0"
1062 | inherits "2"
1063 | minimatch "^3.0.0"
1064 |
1065 | fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2:
1066 | version "1.0.11"
1067 | resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171"
1068 | dependencies:
1069 | graceful-fs "^4.1.2"
1070 | inherits "~2.0.0"
1071 | mkdirp ">=0.5 0"
1072 | rimraf "2"
1073 |
1074 | gauge@~2.7.1:
1075 | version "2.7.3"
1076 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.3.tgz#1c23855f962f17b3ad3d0dc7443f304542edfe09"
1077 | dependencies:
1078 | aproba "^1.0.3"
1079 | console-control-strings "^1.0.0"
1080 | has-unicode "^2.0.0"
1081 | object-assign "^4.1.0"
1082 | signal-exit "^3.0.0"
1083 | string-width "^1.0.1"
1084 | strip-ansi "^3.0.1"
1085 | wide-align "^1.1.0"
1086 |
1087 | get-caller-file@^1.0.1:
1088 | version "1.0.2"
1089 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5"
1090 |
1091 | get-stdin@^4.0.1:
1092 | version "4.0.1"
1093 | resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
1094 |
1095 | getpass@^0.1.1:
1096 | version "0.1.6"
1097 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6"
1098 | dependencies:
1099 | assert-plus "^1.0.0"
1100 |
1101 | glob-base@^0.3.0:
1102 | version "0.3.0"
1103 | resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
1104 | dependencies:
1105 | glob-parent "^2.0.0"
1106 | is-glob "^2.0.0"
1107 |
1108 | glob-parent@^2.0.0:
1109 | version "2.0.0"
1110 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28"
1111 | dependencies:
1112 | is-glob "^2.0.0"
1113 |
1114 | glob@^5.0.15, glob@~5.0.0:
1115 | version "5.0.15"
1116 | resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1"
1117 | dependencies:
1118 | inflight "^1.0.4"
1119 | inherits "2"
1120 | minimatch "2 || 3"
1121 | once "^1.3.0"
1122 | path-is-absolute "^1.0.0"
1123 |
1124 | glob@^6.0.1:
1125 | version "6.0.4"
1126 | resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22"
1127 | dependencies:
1128 | inflight "^1.0.4"
1129 | inherits "2"
1130 | minimatch "2 || 3"
1131 | once "^1.3.0"
1132 | path-is-absolute "^1.0.0"
1133 |
1134 | glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.1:
1135 | version "7.1.1"
1136 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
1137 | dependencies:
1138 | fs.realpath "^1.0.0"
1139 | inflight "^1.0.4"
1140 | inherits "2"
1141 | minimatch "^3.0.2"
1142 | once "^1.3.0"
1143 | path-is-absolute "^1.0.0"
1144 |
1145 | globby@^4.0.0:
1146 | version "4.1.0"
1147 | resolved "https://registry.yarnpkg.com/globby/-/globby-4.1.0.tgz#080f54549ec1b82a6c60e631fc82e1211dbe95f8"
1148 | dependencies:
1149 | array-union "^1.0.1"
1150 | arrify "^1.0.0"
1151 | glob "^6.0.1"
1152 | object-assign "^4.0.1"
1153 | pify "^2.0.0"
1154 | pinkie-promise "^2.0.0"
1155 |
1156 | graceful-fs@^4.1.2:
1157 | version "4.1.11"
1158 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
1159 |
1160 | handlebars@^4.0.1:
1161 | version "4.0.6"
1162 | resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.6.tgz#2ce4484850537f9c97a8026d5399b935c4ed4ed7"
1163 | dependencies:
1164 | async "^1.4.0"
1165 | optimist "^0.6.1"
1166 | source-map "^0.4.4"
1167 | optionalDependencies:
1168 | uglify-js "^2.6"
1169 |
1170 | har-schema@^1.0.5:
1171 | version "1.0.5"
1172 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e"
1173 |
1174 | har-validator@~4.2.1:
1175 | version "4.2.1"
1176 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a"
1177 | dependencies:
1178 | ajv "^4.9.1"
1179 | har-schema "^1.0.5"
1180 |
1181 | has-ansi@^2.0.0:
1182 | version "2.0.0"
1183 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
1184 | dependencies:
1185 | ansi-regex "^2.0.0"
1186 |
1187 | has-binary@0.1.7:
1188 | version "0.1.7"
1189 | resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.7.tgz#68e61eb16210c9545a0a5cce06a873912fe1e68c"
1190 | dependencies:
1191 | isarray "0.0.1"
1192 |
1193 | has-cors@1.1.0:
1194 | version "1.1.0"
1195 | resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39"
1196 |
1197 | has-flag@^1.0.0:
1198 | version "1.0.0"
1199 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa"
1200 |
1201 | has-unicode@^2.0.0:
1202 | version "2.0.1"
1203 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
1204 |
1205 | hash.js@^1.0.0, hash.js@^1.0.3:
1206 | version "1.0.3"
1207 | resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.0.3.tgz#1332ff00156c0a0ffdd8236013d07b77a0451573"
1208 | dependencies:
1209 | inherits "^2.0.1"
1210 |
1211 | hawk@~3.1.3:
1212 | version "3.1.3"
1213 | resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4"
1214 | dependencies:
1215 | boom "2.x.x"
1216 | cryptiles "2.x.x"
1217 | hoek "2.x.x"
1218 | sntp "1.x.x"
1219 |
1220 | hmac-drbg@^1.0.0:
1221 | version "1.0.1"
1222 | resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
1223 | dependencies:
1224 | hash.js "^1.0.3"
1225 | minimalistic-assert "^1.0.0"
1226 | minimalistic-crypto-utils "^1.0.1"
1227 |
1228 | hoek@2.x.x:
1229 | version "2.16.3"
1230 | resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed"
1231 |
1232 | hosted-git-info@^2.1.4:
1233 | version "2.4.2"
1234 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.4.2.tgz#0076b9f46a270506ddbaaea56496897460612a67"
1235 |
1236 | http-errors@~1.6.1:
1237 | version "1.6.1"
1238 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.1.tgz#5f8b8ed98aca545656bf572997387f904a722257"
1239 | dependencies:
1240 | depd "1.1.0"
1241 | inherits "2.0.3"
1242 | setprototypeof "1.0.3"
1243 | statuses ">= 1.3.1 < 2"
1244 |
1245 | http-proxy@^1.13.0:
1246 | version "1.16.2"
1247 | resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.16.2.tgz#06dff292952bf64dbe8471fa9df73066d4f37742"
1248 | dependencies:
1249 | eventemitter3 "1.x.x"
1250 | requires-port "1.x.x"
1251 |
1252 | http-signature@~1.1.0:
1253 | version "1.1.1"
1254 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf"
1255 | dependencies:
1256 | assert-plus "^0.2.0"
1257 | jsprim "^1.2.2"
1258 | sshpk "^1.7.0"
1259 |
1260 | https-browserify@0.0.1:
1261 | version "0.0.1"
1262 | resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82"
1263 |
1264 | iconv-lite@0.4.15:
1265 | version "0.4.15"
1266 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb"
1267 |
1268 | ieee754@^1.1.4:
1269 | version "1.1.8"
1270 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"
1271 |
1272 | indent-string@^2.1.0:
1273 | version "2.1.0"
1274 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80"
1275 | dependencies:
1276 | repeating "^2.0.0"
1277 |
1278 | indexof@0.0.1:
1279 | version "0.0.1"
1280 | resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
1281 |
1282 | inflight@^1.0.4:
1283 | version "1.0.6"
1284 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
1285 | dependencies:
1286 | once "^1.3.0"
1287 | wrappy "1"
1288 |
1289 | inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1:
1290 | version "2.0.3"
1291 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
1292 |
1293 | inherits@2.0.1:
1294 | version "2.0.1"
1295 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
1296 |
1297 | ini@~1.3.0:
1298 | version "1.3.4"
1299 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e"
1300 |
1301 | interpret@^1.0.0:
1302 | version "1.0.3"
1303 | resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.3.tgz#cbc35c62eeee73f19ab7b10a801511401afc0f90"
1304 |
1305 | invert-kv@^1.0.0:
1306 | version "1.0.0"
1307 | resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
1308 |
1309 | is-arrayish@^0.2.1:
1310 | version "0.2.1"
1311 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
1312 |
1313 | is-binary-path@^1.0.0:
1314 | version "1.0.1"
1315 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
1316 | dependencies:
1317 | binary-extensions "^1.0.0"
1318 |
1319 | is-buffer@^1.0.2:
1320 | version "1.1.5"
1321 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc"
1322 |
1323 | is-builtin-module@^1.0.0:
1324 | version "1.0.0"
1325 | resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe"
1326 | dependencies:
1327 | builtin-modules "^1.0.0"
1328 |
1329 | is-dotfile@^1.0.0:
1330 | version "1.0.2"
1331 | resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d"
1332 |
1333 | is-equal-shallow@^0.1.3:
1334 | version "0.1.3"
1335 | resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534"
1336 | dependencies:
1337 | is-primitive "^2.0.0"
1338 |
1339 | is-extendable@^0.1.1:
1340 | version "0.1.1"
1341 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
1342 |
1343 | is-extglob@^1.0.0:
1344 | version "1.0.0"
1345 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
1346 |
1347 | is-finite@^1.0.0:
1348 | version "1.0.2"
1349 | resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
1350 | dependencies:
1351 | number-is-nan "^1.0.0"
1352 |
1353 | is-fullwidth-code-point@^1.0.0:
1354 | version "1.0.0"
1355 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
1356 | dependencies:
1357 | number-is-nan "^1.0.0"
1358 |
1359 | is-glob@^2.0.0, is-glob@^2.0.1:
1360 | version "2.0.1"
1361 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
1362 | dependencies:
1363 | is-extglob "^1.0.0"
1364 |
1365 | is-number@^0.1.1:
1366 | version "0.1.1"
1367 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-0.1.1.tgz#69a7af116963d47206ec9bd9b48a14216f1e3806"
1368 |
1369 | is-number@^2.0.2, is-number@^2.1.0:
1370 | version "2.1.0"
1371 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
1372 | dependencies:
1373 | kind-of "^3.0.2"
1374 |
1375 | is-posix-bracket@^0.1.0:
1376 | version "0.1.1"
1377 | resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"
1378 |
1379 | is-primitive@^2.0.0:
1380 | version "2.0.0"
1381 | resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
1382 |
1383 | is-typedarray@~1.0.0:
1384 | version "1.0.0"
1385 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
1386 |
1387 | is-utf8@^0.2.0:
1388 | version "0.2.1"
1389 | resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
1390 |
1391 | isarray@0.0.1:
1392 | version "0.0.1"
1393 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
1394 |
1395 | isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
1396 | version "1.0.0"
1397 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
1398 |
1399 | isbinaryfile@^3.0.0:
1400 | version "3.0.2"
1401 | resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.2.tgz#4a3e974ec0cba9004d3fc6cde7209ea69368a621"
1402 |
1403 | isexe@^2.0.0:
1404 | version "2.0.0"
1405 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
1406 |
1407 | isobject@^2.0.0:
1408 | version "2.1.0"
1409 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
1410 | dependencies:
1411 | isarray "1.0.0"
1412 |
1413 | isstream@~0.1.2:
1414 | version "0.1.2"
1415 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
1416 |
1417 | istanbul-instrumenter-loader@^0.2.0:
1418 | version "0.2.0"
1419 | resolved "https://registry.yarnpkg.com/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-0.2.0.tgz#643e4e5e4e8f9466863a29a977d283ab372c019c"
1420 | dependencies:
1421 | istanbul "0.x.x"
1422 | loader-utils "0.x.x"
1423 | object-assign "4.x.x"
1424 |
1425 | istanbul@0.x.x, istanbul@^0.4.0:
1426 | version "0.4.5"
1427 | resolved "https://registry.yarnpkg.com/istanbul/-/istanbul-0.4.5.tgz#65c7d73d4c4da84d4f3ac310b918fb0b8033733b"
1428 | dependencies:
1429 | abbrev "1.0.x"
1430 | async "1.x"
1431 | escodegen "1.8.x"
1432 | esprima "2.7.x"
1433 | glob "^5.0.15"
1434 | handlebars "^4.0.1"
1435 | js-yaml "3.x"
1436 | mkdirp "0.5.x"
1437 | nopt "3.x"
1438 | once "1.x"
1439 | resolve "1.1.x"
1440 | supports-color "^3.1.0"
1441 | which "^1.1.1"
1442 | wordwrap "^1.0.0"
1443 |
1444 | jasmine-core@~2.5.2:
1445 | version "2.5.2"
1446 | resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.5.2.tgz#6f61bd79061e27f43e6f9355e44b3c6cab6ff297"
1447 |
1448 | jasmine@^2.5.0:
1449 | version "2.5.3"
1450 | resolved "https://registry.yarnpkg.com/jasmine/-/jasmine-2.5.3.tgz#5441f254e1fc2269deb1dfd93e0e57d565ff4d22"
1451 | dependencies:
1452 | exit "^0.1.2"
1453 | glob "^7.0.6"
1454 | jasmine-core "~2.5.2"
1455 |
1456 | jodid25519@^1.0.0:
1457 | version "1.0.2"
1458 | resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967"
1459 | dependencies:
1460 | jsbn "~0.1.0"
1461 |
1462 | js-yaml@3.x:
1463 | version "3.8.3"
1464 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.3.tgz#33a05ec481c850c8875929166fe1beb61c728766"
1465 | dependencies:
1466 | argparse "^1.0.7"
1467 | esprima "^3.1.1"
1468 |
1469 | jsbn@~0.1.0:
1470 | version "0.1.1"
1471 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
1472 |
1473 | json-loader@^0.5.4:
1474 | version "0.5.4"
1475 | resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.4.tgz#8baa1365a632f58a3c46d20175fc6002c96e37de"
1476 |
1477 | json-schema@0.2.3:
1478 | version "0.2.3"
1479 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
1480 |
1481 | json-stable-stringify@^1.0.1:
1482 | version "1.0.1"
1483 | resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
1484 | dependencies:
1485 | jsonify "~0.0.0"
1486 |
1487 | json-stringify-safe@~5.0.1:
1488 | version "5.0.1"
1489 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
1490 |
1491 | json3@3.3.2:
1492 | version "3.3.2"
1493 | resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1"
1494 |
1495 | json5@^0.5.0, json5@^0.5.1:
1496 | version "0.5.1"
1497 | resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
1498 |
1499 | jsonify@~0.0.0:
1500 | version "0.0.0"
1501 | resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
1502 |
1503 | jsprim@^1.2.2:
1504 | version "1.4.0"
1505 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918"
1506 | dependencies:
1507 | assert-plus "1.0.0"
1508 | extsprintf "1.0.2"
1509 | json-schema "0.2.3"
1510 | verror "1.3.6"
1511 |
1512 | karma-chrome-launcher@^2.0.0:
1513 | version "2.0.0"
1514 | resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-2.0.0.tgz#c2790c5a32b15577d0fff5a4d5a2703b3b439c25"
1515 | dependencies:
1516 | fs-access "^1.0.0"
1517 | which "^1.2.1"
1518 |
1519 | karma-coverage@^1.1.1:
1520 | version "1.1.1"
1521 | resolved "https://registry.yarnpkg.com/karma-coverage/-/karma-coverage-1.1.1.tgz#5aff8b39cf6994dc22de4c84362c76001b637cf6"
1522 | dependencies:
1523 | dateformat "^1.0.6"
1524 | istanbul "^0.4.0"
1525 | lodash "^3.8.0"
1526 | minimatch "^3.0.0"
1527 | source-map "^0.5.1"
1528 |
1529 | karma-jasmine@^1.0.2:
1530 | version "1.1.0"
1531 | resolved "https://registry.yarnpkg.com/karma-jasmine/-/karma-jasmine-1.1.0.tgz#22e4c06bf9a182e5294d1f705e3733811b810acf"
1532 |
1533 | karma-mocha-reporter@^2.1.0:
1534 | version "2.2.3"
1535 | resolved "https://registry.yarnpkg.com/karma-mocha-reporter/-/karma-mocha-reporter-2.2.3.tgz#04fdda45a1d9697a73871c7472223c581701ab20"
1536 | dependencies:
1537 | chalk "1.1.3"
1538 |
1539 | karma-sourcemap-loader@^0.3.7:
1540 | version "0.3.7"
1541 | resolved "https://registry.yarnpkg.com/karma-sourcemap-loader/-/karma-sourcemap-loader-0.3.7.tgz#91322c77f8f13d46fed062b042e1009d4c4505d8"
1542 | dependencies:
1543 | graceful-fs "^4.1.2"
1544 |
1545 | karma-webpack@^2.0.0:
1546 | version "2.0.3"
1547 | resolved "https://registry.yarnpkg.com/karma-webpack/-/karma-webpack-2.0.3.tgz#39cebf5ca2580139b27f9ae69b78816b9c82fae6"
1548 | dependencies:
1549 | async "~0.9.0"
1550 | loader-utils "^0.2.5"
1551 | lodash "^3.8.0"
1552 | source-map "^0.1.41"
1553 | webpack-dev-middleware "^1.0.11"
1554 |
1555 | karma@^1.2.0:
1556 | version "1.6.0"
1557 | resolved "https://registry.yarnpkg.com/karma/-/karma-1.6.0.tgz#0e871d4527d5eac56c41d181f03c5c0a7e6dbf3e"
1558 | dependencies:
1559 | bluebird "^3.3.0"
1560 | body-parser "^1.16.1"
1561 | chokidar "^1.4.1"
1562 | colors "^1.1.0"
1563 | combine-lists "^1.0.0"
1564 | connect "^3.6.0"
1565 | core-js "^2.2.0"
1566 | di "^0.0.1"
1567 | dom-serialize "^2.2.0"
1568 | expand-braces "^0.1.1"
1569 | glob "^7.1.1"
1570 | graceful-fs "^4.1.2"
1571 | http-proxy "^1.13.0"
1572 | isbinaryfile "^3.0.0"
1573 | lodash "^3.8.0"
1574 | log4js "^0.6.31"
1575 | mime "^1.3.4"
1576 | minimatch "^3.0.2"
1577 | optimist "^0.6.1"
1578 | qjobs "^1.1.4"
1579 | range-parser "^1.2.0"
1580 | rimraf "^2.6.0"
1581 | safe-buffer "^5.0.1"
1582 | socket.io "1.7.3"
1583 | source-map "^0.5.3"
1584 | tmp "0.0.31"
1585 | useragent "^2.1.12"
1586 |
1587 | kind-of@^3.0.2:
1588 | version "3.1.0"
1589 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47"
1590 | dependencies:
1591 | is-buffer "^1.0.2"
1592 |
1593 | lazy-cache@^1.0.3:
1594 | version "1.0.4"
1595 | resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
1596 |
1597 | lcid@^1.0.0:
1598 | version "1.0.0"
1599 | resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
1600 | dependencies:
1601 | invert-kv "^1.0.0"
1602 |
1603 | levn@~0.3.0:
1604 | version "0.3.0"
1605 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
1606 | dependencies:
1607 | prelude-ls "~1.1.2"
1608 | type-check "~0.3.2"
1609 |
1610 | load-json-file@^1.0.0:
1611 | version "1.1.0"
1612 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
1613 | dependencies:
1614 | graceful-fs "^4.1.2"
1615 | parse-json "^2.2.0"
1616 | pify "^2.0.0"
1617 | pinkie-promise "^2.0.0"
1618 | strip-bom "^2.0.0"
1619 |
1620 | loader-runner@^2.3.0:
1621 | version "2.3.0"
1622 | resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2"
1623 |
1624 | loader-utils@0.x.x, loader-utils@^0.2.16, loader-utils@^0.2.5, loader-utils@^0.2.6, loader-utils@^0.2.7:
1625 | version "0.2.17"
1626 | resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348"
1627 | dependencies:
1628 | big.js "^3.1.3"
1629 | emojis-list "^2.0.0"
1630 | json5 "^0.5.0"
1631 | object-assign "^4.0.1"
1632 |
1633 | loader-utils@^1.0.2:
1634 | version "1.1.0"
1635 | resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd"
1636 | dependencies:
1637 | big.js "^3.1.3"
1638 | emojis-list "^2.0.0"
1639 | json5 "^0.5.0"
1640 |
1641 | lodash@^3.8.0:
1642 | version "3.10.1"
1643 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
1644 |
1645 | lodash@^4.14.0, lodash@^4.17.4, lodash@^4.5.0:
1646 | version "4.17.4"
1647 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
1648 |
1649 | log4js@^0.6.31:
1650 | version "0.6.38"
1651 | resolved "https://registry.yarnpkg.com/log4js/-/log4js-0.6.38.tgz#2c494116695d6fb25480943d3fc872e662a522fd"
1652 | dependencies:
1653 | readable-stream "~1.0.2"
1654 | semver "~4.3.3"
1655 |
1656 | longest@^1.0.1:
1657 | version "1.0.1"
1658 | resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
1659 |
1660 | loud-rejection@^1.0.0:
1661 | version "1.6.0"
1662 | resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f"
1663 | dependencies:
1664 | currently-unhandled "^0.4.1"
1665 | signal-exit "^3.0.0"
1666 |
1667 | lru-cache@2.2.x:
1668 | version "2.2.4"
1669 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.2.4.tgz#6c658619becf14031d0d0b594b16042ce4dc063d"
1670 |
1671 | map-obj@^1.0.0, map-obj@^1.0.1:
1672 | version "1.0.1"
1673 | resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
1674 |
1675 | media-typer@0.3.0:
1676 | version "0.3.0"
1677 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
1678 |
1679 | memory-fs@^0.2.0:
1680 | version "0.2.0"
1681 | resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.2.0.tgz#f2bb25368bc121e391c2520de92969caee0a0290"
1682 |
1683 | memory-fs@^0.4.0, memory-fs@~0.4.1:
1684 | version "0.4.1"
1685 | resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
1686 | dependencies:
1687 | errno "^0.1.3"
1688 | readable-stream "^2.0.1"
1689 |
1690 | meow@^3.3.0, meow@^3.6.0:
1691 | version "3.7.0"
1692 | resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
1693 | dependencies:
1694 | camelcase-keys "^2.0.0"
1695 | decamelize "^1.1.2"
1696 | loud-rejection "^1.0.0"
1697 | map-obj "^1.0.1"
1698 | minimist "^1.1.3"
1699 | normalize-package-data "^2.3.4"
1700 | object-assign "^4.0.1"
1701 | read-pkg-up "^1.0.1"
1702 | redent "^1.0.0"
1703 | trim-newlines "^1.0.0"
1704 |
1705 | micromatch@^2.1.5:
1706 | version "2.3.11"
1707 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565"
1708 | dependencies:
1709 | arr-diff "^2.0.0"
1710 | array-unique "^0.2.1"
1711 | braces "^1.8.2"
1712 | expand-brackets "^0.1.4"
1713 | extglob "^0.3.1"
1714 | filename-regex "^2.0.0"
1715 | is-extglob "^1.0.0"
1716 | is-glob "^2.0.1"
1717 | kind-of "^3.0.2"
1718 | normalize-path "^2.0.1"
1719 | object.omit "^2.0.0"
1720 | parse-glob "^3.0.4"
1721 | regex-cache "^0.4.2"
1722 |
1723 | miller-rabin@^4.0.0:
1724 | version "4.0.0"
1725 | resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.0.tgz#4a62fb1d42933c05583982f4c716f6fb9e6c6d3d"
1726 | dependencies:
1727 | bn.js "^4.0.0"
1728 | brorand "^1.0.1"
1729 |
1730 | mime-db@~1.27.0:
1731 | version "1.27.0"
1732 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1"
1733 |
1734 | mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.15, mime-types@~2.1.7:
1735 | version "2.1.15"
1736 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed"
1737 | dependencies:
1738 | mime-db "~1.27.0"
1739 |
1740 | mime@^1.3.4:
1741 | version "1.3.4"
1742 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53"
1743 |
1744 | minimalistic-assert@^1.0.0:
1745 | version "1.0.0"
1746 | resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3"
1747 |
1748 | minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
1749 | version "1.0.1"
1750 | resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
1751 |
1752 | "minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2:
1753 | version "3.0.3"
1754 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774"
1755 | dependencies:
1756 | brace-expansion "^1.0.0"
1757 |
1758 | minimist@0.0.8, minimist@~0.0.1:
1759 | version "0.0.8"
1760 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
1761 |
1762 | minimist@^1.1.3, minimist@^1.2.0:
1763 | version "1.2.0"
1764 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
1765 |
1766 | mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0:
1767 | version "0.5.1"
1768 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
1769 | dependencies:
1770 | minimist "0.0.8"
1771 |
1772 | ms@0.7.1:
1773 | version "0.7.1"
1774 | resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098"
1775 |
1776 | ms@0.7.2:
1777 | version "0.7.2"
1778 | resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765"
1779 |
1780 | nan@^2.3.0:
1781 | version "2.6.2"
1782 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45"
1783 |
1784 | negotiator@0.6.1:
1785 | version "0.6.1"
1786 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9"
1787 |
1788 | nested-error-stacks@^1.0.0, nested-error-stacks@^1.0.1:
1789 | version "1.0.2"
1790 | resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-1.0.2.tgz#19f619591519f096769a5ba9a86e6eeec823c3cf"
1791 | dependencies:
1792 | inherits "~2.0.1"
1793 |
1794 | node-libs-browser@^2.0.0:
1795 | version "2.0.0"
1796 | resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.0.0.tgz#a3a59ec97024985b46e958379646f96c4b616646"
1797 | dependencies:
1798 | assert "^1.1.1"
1799 | browserify-zlib "^0.1.4"
1800 | buffer "^4.3.0"
1801 | console-browserify "^1.1.0"
1802 | constants-browserify "^1.0.0"
1803 | crypto-browserify "^3.11.0"
1804 | domain-browser "^1.1.1"
1805 | events "^1.0.0"
1806 | https-browserify "0.0.1"
1807 | os-browserify "^0.2.0"
1808 | path-browserify "0.0.0"
1809 | process "^0.11.0"
1810 | punycode "^1.2.4"
1811 | querystring-es3 "^0.2.0"
1812 | readable-stream "^2.0.5"
1813 | stream-browserify "^2.0.1"
1814 | stream-http "^2.3.1"
1815 | string_decoder "^0.10.25"
1816 | timers-browserify "^2.0.2"
1817 | tty-browserify "0.0.0"
1818 | url "^0.11.0"
1819 | util "^0.10.3"
1820 | vm-browserify "0.0.4"
1821 |
1822 | node-pre-gyp@^0.6.29:
1823 | version "0.6.34"
1824 | resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.34.tgz#94ad1c798a11d7fc67381b50d47f8cc18d9799f7"
1825 | dependencies:
1826 | mkdirp "^0.5.1"
1827 | nopt "^4.0.1"
1828 | npmlog "^4.0.2"
1829 | rc "^1.1.7"
1830 | request "^2.81.0"
1831 | rimraf "^2.6.1"
1832 | semver "^5.3.0"
1833 | tar "^2.2.1"
1834 | tar-pack "^3.4.0"
1835 |
1836 | nopt@3.x:
1837 | version "3.0.6"
1838 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
1839 | dependencies:
1840 | abbrev "1"
1841 |
1842 | nopt@^4.0.1:
1843 | version "4.0.1"
1844 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
1845 | dependencies:
1846 | abbrev "1"
1847 | osenv "^0.1.4"
1848 |
1849 | normalize-package-data@^2.3.2, normalize-package-data@^2.3.4:
1850 | version "2.3.6"
1851 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.6.tgz#498fa420c96401f787402ba21e600def9f981fff"
1852 | dependencies:
1853 | hosted-git-info "^2.1.4"
1854 | is-builtin-module "^1.0.0"
1855 | semver "2 || 3 || 4 || 5"
1856 | validate-npm-package-license "^3.0.1"
1857 |
1858 | normalize-path@^2.0.1:
1859 | version "2.1.1"
1860 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
1861 | dependencies:
1862 | remove-trailing-separator "^1.0.1"
1863 |
1864 | npmlog@^4.0.2:
1865 | version "4.0.2"
1866 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f"
1867 | dependencies:
1868 | are-we-there-yet "~1.1.2"
1869 | console-control-strings "~1.1.0"
1870 | gauge "~2.7.1"
1871 | set-blocking "~2.0.0"
1872 |
1873 | null-check@^1.0.0:
1874 | version "1.0.0"
1875 | resolved "https://registry.yarnpkg.com/null-check/-/null-check-1.0.0.tgz#977dffd7176012b9ec30d2a39db5cf72a0439edd"
1876 |
1877 | number-is-nan@^1.0.0:
1878 | version "1.0.1"
1879 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
1880 |
1881 | oauth-sign@~0.8.1:
1882 | version "0.8.2"
1883 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
1884 |
1885 | object-assign@4.1.0:
1886 | version "4.1.0"
1887 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0"
1888 |
1889 | object-assign@4.x.x, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
1890 | version "4.1.1"
1891 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
1892 |
1893 | object-assign@^2.0.0:
1894 | version "2.1.1"
1895 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-2.1.1.tgz#43c36e5d569ff8e4816c4efa8be02d26967c18aa"
1896 |
1897 | object-component@0.0.3:
1898 | version "0.0.3"
1899 | resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291"
1900 |
1901 | object.omit@^2.0.0:
1902 | version "2.0.1"
1903 | resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
1904 | dependencies:
1905 | for-own "^0.1.4"
1906 | is-extendable "^0.1.1"
1907 |
1908 | on-finished@~2.3.0:
1909 | version "2.3.0"
1910 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
1911 | dependencies:
1912 | ee-first "1.1.1"
1913 |
1914 | once@1.x, once@^1.3.0, once@^1.3.3:
1915 | version "1.4.0"
1916 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
1917 | dependencies:
1918 | wrappy "1"
1919 |
1920 | optimist@^0.6.1, optimist@~0.6.0:
1921 | version "0.6.1"
1922 | resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
1923 | dependencies:
1924 | minimist "~0.0.1"
1925 | wordwrap "~0.0.2"
1926 |
1927 | optionator@^0.8.1:
1928 | version "0.8.2"
1929 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
1930 | dependencies:
1931 | deep-is "~0.1.3"
1932 | fast-levenshtein "~2.0.4"
1933 | levn "~0.3.0"
1934 | prelude-ls "~1.1.2"
1935 | type-check "~0.3.2"
1936 | wordwrap "~1.0.0"
1937 |
1938 | options@>=0.0.5:
1939 | version "0.0.6"
1940 | resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f"
1941 |
1942 | os-browserify@^0.2.0:
1943 | version "0.2.1"
1944 | resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.2.1.tgz#63fc4ccee5d2d7763d26bbf8601078e6c2e0044f"
1945 |
1946 | os-homedir@^1.0.0:
1947 | version "1.0.2"
1948 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
1949 |
1950 | os-locale@^1.4.0:
1951 | version "1.4.0"
1952 | resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9"
1953 | dependencies:
1954 | lcid "^1.0.0"
1955 |
1956 | os-tmpdir@^1.0.0, os-tmpdir@~1.0.1:
1957 | version "1.0.2"
1958 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
1959 |
1960 | osenv@^0.1.4:
1961 | version "0.1.4"
1962 | resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644"
1963 | dependencies:
1964 | os-homedir "^1.0.0"
1965 | os-tmpdir "^1.0.0"
1966 |
1967 | pako@~0.2.0:
1968 | version "0.2.9"
1969 | resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75"
1970 |
1971 | parse-asn1@^5.0.0:
1972 | version "5.1.0"
1973 | resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.0.tgz#37c4f9b7ed3ab65c74817b5f2480937fbf97c712"
1974 | dependencies:
1975 | asn1.js "^4.0.0"
1976 | browserify-aes "^1.0.0"
1977 | create-hash "^1.1.0"
1978 | evp_bytestokey "^1.0.0"
1979 | pbkdf2 "^3.0.3"
1980 |
1981 | parse-glob@^3.0.4:
1982 | version "3.0.4"
1983 | resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
1984 | dependencies:
1985 | glob-base "^0.3.0"
1986 | is-dotfile "^1.0.0"
1987 | is-extglob "^1.0.0"
1988 | is-glob "^2.0.0"
1989 |
1990 | parse-json@^2.2.0:
1991 | version "2.2.0"
1992 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
1993 | dependencies:
1994 | error-ex "^1.2.0"
1995 |
1996 | parse5@^2.2.1:
1997 | version "2.2.3"
1998 | resolved "https://registry.yarnpkg.com/parse5/-/parse5-2.2.3.tgz#0c4fc41c1000c5e6b93d48b03f8083837834e9f6"
1999 |
2000 | parsejson@0.0.3:
2001 | version "0.0.3"
2002 | resolved "https://registry.yarnpkg.com/parsejson/-/parsejson-0.0.3.tgz#ab7e3759f209ece99437973f7d0f1f64ae0e64ab"
2003 | dependencies:
2004 | better-assert "~1.0.0"
2005 |
2006 | parseqs@0.0.5:
2007 | version "0.0.5"
2008 | resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d"
2009 | dependencies:
2010 | better-assert "~1.0.0"
2011 |
2012 | parseuri@0.0.5:
2013 | version "0.0.5"
2014 | resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a"
2015 | dependencies:
2016 | better-assert "~1.0.0"
2017 |
2018 | parseurl@~1.3.1:
2019 | version "1.3.1"
2020 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56"
2021 |
2022 | path-browserify@0.0.0:
2023 | version "0.0.0"
2024 | resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a"
2025 |
2026 | path-exists@^2.0.0:
2027 | version "2.1.0"
2028 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
2029 | dependencies:
2030 | pinkie-promise "^2.0.0"
2031 |
2032 | path-is-absolute@^1.0.0:
2033 | version "1.0.1"
2034 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
2035 |
2036 | path-parse@^1.0.5:
2037 | version "1.0.5"
2038 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"
2039 |
2040 | path-type@^1.0.0:
2041 | version "1.1.0"
2042 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
2043 | dependencies:
2044 | graceful-fs "^4.1.2"
2045 | pify "^2.0.0"
2046 | pinkie-promise "^2.0.0"
2047 |
2048 | pbkdf2@^3.0.3:
2049 | version "3.0.9"
2050 | resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.9.tgz#f2c4b25a600058b3c3773c086c37dbbee1ffe693"
2051 | dependencies:
2052 | create-hmac "^1.1.2"
2053 |
2054 | performance-now@^0.2.0:
2055 | version "0.2.0"
2056 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5"
2057 |
2058 | pify@^2.0.0, pify@^2.3.0:
2059 | version "2.3.0"
2060 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
2061 |
2062 | pinkie-promise@^2.0.0:
2063 | version "2.0.1"
2064 | resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
2065 | dependencies:
2066 | pinkie "^2.0.0"
2067 |
2068 | pinkie@^2.0.0:
2069 | version "2.0.4"
2070 | resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
2071 |
2072 | prelude-ls@~1.1.2:
2073 | version "1.1.2"
2074 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
2075 |
2076 | preserve@^0.2.0:
2077 | version "0.2.0"
2078 | resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
2079 |
2080 | process-nextick-args@~1.0.6:
2081 | version "1.0.7"
2082 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
2083 |
2084 | process@^0.11.0:
2085 | version "0.11.9"
2086 | resolved "https://registry.yarnpkg.com/process/-/process-0.11.9.tgz#7bd5ad21aa6253e7da8682264f1e11d11c0318c1"
2087 |
2088 | prr@~0.0.0:
2089 | version "0.0.0"
2090 | resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a"
2091 |
2092 | public-encrypt@^4.0.0:
2093 | version "4.0.0"
2094 | resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6"
2095 | dependencies:
2096 | bn.js "^4.1.0"
2097 | browserify-rsa "^4.0.0"
2098 | create-hash "^1.1.0"
2099 | parse-asn1 "^5.0.0"
2100 | randombytes "^2.0.1"
2101 |
2102 | punycode@1.3.2:
2103 | version "1.3.2"
2104 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
2105 |
2106 | punycode@^1.2.4, punycode@^1.4.1:
2107 | version "1.4.1"
2108 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
2109 |
2110 | qjobs@^1.1.4:
2111 | version "1.1.5"
2112 | resolved "https://registry.yarnpkg.com/qjobs/-/qjobs-1.1.5.tgz#659de9f2cf8dcc27a1481276f205377272382e73"
2113 |
2114 | qs@6.4.0, qs@~6.4.0:
2115 | version "6.4.0"
2116 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233"
2117 |
2118 | querystring-es3@^0.2.0:
2119 | version "0.2.1"
2120 | resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
2121 |
2122 | querystring@0.2.0:
2123 | version "0.2.0"
2124 | resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
2125 |
2126 | randomatic@^1.1.3:
2127 | version "1.1.6"
2128 | resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb"
2129 | dependencies:
2130 | is-number "^2.0.2"
2131 | kind-of "^3.0.2"
2132 |
2133 | randombytes@^2.0.0, randombytes@^2.0.1:
2134 | version "2.0.3"
2135 | resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.3.tgz#674c99760901c3c4112771a31e521dc349cc09ec"
2136 |
2137 | range-parser@^1.0.3, range-parser@^1.2.0:
2138 | version "1.2.0"
2139 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e"
2140 |
2141 | raw-body@~2.2.0:
2142 | version "2.2.0"
2143 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.2.0.tgz#994976cf6a5096a41162840492f0bdc5d6e7fb96"
2144 | dependencies:
2145 | bytes "2.4.0"
2146 | iconv-lite "0.4.15"
2147 | unpipe "1.0.0"
2148 |
2149 | rc@^1.1.7:
2150 | version "1.2.1"
2151 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95"
2152 | dependencies:
2153 | deep-extend "~0.4.0"
2154 | ini "~1.3.0"
2155 | minimist "^1.2.0"
2156 | strip-json-comments "~2.0.1"
2157 |
2158 | read-pkg-up@^1.0.1:
2159 | version "1.0.1"
2160 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
2161 | dependencies:
2162 | find-up "^1.0.0"
2163 | read-pkg "^1.0.0"
2164 |
2165 | read-pkg@^1.0.0:
2166 | version "1.1.0"
2167 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
2168 | dependencies:
2169 | load-json-file "^1.0.0"
2170 | normalize-package-data "^2.3.2"
2171 | path-type "^1.0.0"
2172 |
2173 | "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.1.4, readable-stream@^2.2.6:
2174 | version "2.2.9"
2175 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.9.tgz#cf78ec6f4a6d1eb43d26488cac97f042e74b7fc8"
2176 | dependencies:
2177 | buffer-shims "~1.0.0"
2178 | core-util-is "~1.0.0"
2179 | inherits "~2.0.1"
2180 | isarray "~1.0.0"
2181 | process-nextick-args "~1.0.6"
2182 | string_decoder "~1.0.0"
2183 | util-deprecate "~1.0.1"
2184 |
2185 | readable-stream@~1.0.2:
2186 | version "1.0.34"
2187 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c"
2188 | dependencies:
2189 | core-util-is "~1.0.0"
2190 | inherits "~2.0.1"
2191 | isarray "0.0.1"
2192 | string_decoder "~0.10.x"
2193 |
2194 | readdirp@^2.0.0:
2195 | version "2.1.0"
2196 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78"
2197 | dependencies:
2198 | graceful-fs "^4.1.2"
2199 | minimatch "^3.0.2"
2200 | readable-stream "^2.0.2"
2201 | set-immediate-shim "^1.0.1"
2202 |
2203 | redent@^1.0.0:
2204 | version "1.0.0"
2205 | resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
2206 | dependencies:
2207 | indent-string "^2.1.0"
2208 | strip-indent "^1.0.1"
2209 |
2210 | reflect-metadata@^0.1.2:
2211 | version "0.1.10"
2212 | resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.10.tgz#b4f83704416acad89988c9b15635d47e03b9344a"
2213 |
2214 | regex-cache@^0.4.2:
2215 | version "0.4.3"
2216 | resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145"
2217 | dependencies:
2218 | is-equal-shallow "^0.1.3"
2219 | is-primitive "^2.0.0"
2220 |
2221 | remove-trailing-separator@^1.0.1:
2222 | version "1.0.1"
2223 | resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.0.1.tgz#615ebb96af559552d4bf4057c8436d486ab63cc4"
2224 |
2225 | repeat-element@^1.1.2:
2226 | version "1.1.2"
2227 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a"
2228 |
2229 | repeat-string@^0.2.2:
2230 | version "0.2.2"
2231 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-0.2.2.tgz#c7a8d3236068362059a7e4651fc6884e8b1fb4ae"
2232 |
2233 | repeat-string@^1.5.2:
2234 | version "1.6.1"
2235 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
2236 |
2237 | repeating@^2.0.0:
2238 | version "2.0.1"
2239 | resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
2240 | dependencies:
2241 | is-finite "^1.0.0"
2242 |
2243 | request@^2.81.0:
2244 | version "2.81.0"
2245 | resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0"
2246 | dependencies:
2247 | aws-sign2 "~0.6.0"
2248 | aws4 "^1.2.1"
2249 | caseless "~0.12.0"
2250 | combined-stream "~1.0.5"
2251 | extend "~3.0.0"
2252 | forever-agent "~0.6.1"
2253 | form-data "~2.1.1"
2254 | har-validator "~4.2.1"
2255 | hawk "~3.1.3"
2256 | http-signature "~1.1.0"
2257 | is-typedarray "~1.0.0"
2258 | isstream "~0.1.2"
2259 | json-stringify-safe "~5.0.1"
2260 | mime-types "~2.1.7"
2261 | oauth-sign "~0.8.1"
2262 | performance-now "^0.2.0"
2263 | qs "~6.4.0"
2264 | safe-buffer "^5.0.1"
2265 | stringstream "~0.0.4"
2266 | tough-cookie "~2.3.0"
2267 | tunnel-agent "^0.6.0"
2268 | uuid "^3.0.0"
2269 |
2270 | require-directory@^2.1.1:
2271 | version "2.1.1"
2272 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
2273 |
2274 | require-main-filename@^1.0.1:
2275 | version "1.0.1"
2276 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
2277 |
2278 | requires-port@1.x.x:
2279 | version "1.0.0"
2280 | resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
2281 |
2282 | resolve@1.1.x:
2283 | version "1.1.7"
2284 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
2285 |
2286 | resolve@^1.1.7:
2287 | version "1.3.2"
2288 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.2.tgz#1f0442c9e0cbb8136e87b9305f932f46c7f28235"
2289 | dependencies:
2290 | path-parse "^1.0.5"
2291 |
2292 | right-align@^0.1.1:
2293 | version "0.1.3"
2294 | resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef"
2295 | dependencies:
2296 | align-text "^0.1.1"
2297 |
2298 | rimraf@2, rimraf@^2.4.4, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.0, rimraf@^2.6.1:
2299 | version "2.6.1"
2300 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d"
2301 | dependencies:
2302 | glob "^7.0.5"
2303 |
2304 | ripemd160@^1.0.0:
2305 | version "1.0.1"
2306 | resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-1.0.1.tgz#93a4bbd4942bc574b69a8fa57c71de10ecca7d6e"
2307 |
2308 | rollup@^0.34.13:
2309 | version "0.34.13"
2310 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.34.13.tgz#a211cdde31f96cb39e7cb4e35becb15ddc3efa19"
2311 | dependencies:
2312 | source-map-support "^0.4.0"
2313 |
2314 | rxjs@^5.4.0:
2315 | version "5.4.2"
2316 | resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.4.2.tgz#2a3236fcbf03df57bae06fd6972fd99e5c08fcf7"
2317 | dependencies:
2318 | symbol-observable "^1.0.1"
2319 |
2320 | safe-buffer@^5.0.1:
2321 | version "5.0.1"
2322 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7"
2323 |
2324 | "semver@2 || 3 || 4 || 5", semver@^5.0.1, semver@^5.3.0:
2325 | version "5.3.0"
2326 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
2327 |
2328 | semver@~4.3.3:
2329 | version "4.3.6"
2330 | resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da"
2331 |
2332 | set-blocking@^2.0.0, set-blocking@~2.0.0:
2333 | version "2.0.0"
2334 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
2335 |
2336 | set-immediate-shim@^1.0.1:
2337 | version "1.0.1"
2338 | resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61"
2339 |
2340 | setimmediate@^1.0.4:
2341 | version "1.0.5"
2342 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
2343 |
2344 | setprototypeof@1.0.3:
2345 | version "1.0.3"
2346 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04"
2347 |
2348 | sha.js@^2.3.6:
2349 | version "2.4.8"
2350 | resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.8.tgz#37068c2c476b6baf402d14a49c67f597921f634f"
2351 | dependencies:
2352 | inherits "^2.0.1"
2353 |
2354 | signal-exit@^3.0.0:
2355 | version "3.0.2"
2356 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
2357 |
2358 | sntp@1.x.x:
2359 | version "1.0.9"
2360 | resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198"
2361 | dependencies:
2362 | hoek "2.x.x"
2363 |
2364 | socket.io-adapter@0.5.0:
2365 | version "0.5.0"
2366 | resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz#cb6d4bb8bec81e1078b99677f9ced0046066bb8b"
2367 | dependencies:
2368 | debug "2.3.3"
2369 | socket.io-parser "2.3.1"
2370 |
2371 | socket.io-client@1.7.3:
2372 | version "1.7.3"
2373 | resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-1.7.3.tgz#b30e86aa10d5ef3546601c09cde4765e381da377"
2374 | dependencies:
2375 | backo2 "1.0.2"
2376 | component-bind "1.0.0"
2377 | component-emitter "1.2.1"
2378 | debug "2.3.3"
2379 | engine.io-client "1.8.3"
2380 | has-binary "0.1.7"
2381 | indexof "0.0.1"
2382 | object-component "0.0.3"
2383 | parseuri "0.0.5"
2384 | socket.io-parser "2.3.1"
2385 | to-array "0.1.4"
2386 |
2387 | socket.io-parser@2.3.1:
2388 | version "2.3.1"
2389 | resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.3.1.tgz#dd532025103ce429697326befd64005fcfe5b4a0"
2390 | dependencies:
2391 | component-emitter "1.1.2"
2392 | debug "2.2.0"
2393 | isarray "0.0.1"
2394 | json3 "3.3.2"
2395 |
2396 | socket.io@1.7.3:
2397 | version "1.7.3"
2398 | resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-1.7.3.tgz#b8af9caba00949e568e369f1327ea9be9ea2461b"
2399 | dependencies:
2400 | debug "2.3.3"
2401 | engine.io "1.8.3"
2402 | has-binary "0.1.7"
2403 | object-assign "4.1.0"
2404 | socket.io-adapter "0.5.0"
2405 | socket.io-client "1.7.3"
2406 | socket.io-parser "2.3.1"
2407 |
2408 | source-list-map@^1.1.1:
2409 | version "1.1.1"
2410 | resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-1.1.1.tgz#1a33ac210ca144d1e561f906ebccab5669ff4cb4"
2411 |
2412 | source-map-support@^0.4.0, source-map-support@^0.4.11, source-map-support@^0.4.2:
2413 | version "0.4.14"
2414 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.14.tgz#9d4463772598b86271b4f523f6c1f4e02a7d6aef"
2415 | dependencies:
2416 | source-map "^0.5.6"
2417 |
2418 | source-map@0.1.34:
2419 | version "0.1.34"
2420 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.34.tgz#a7cfe89aec7b1682c3b198d0acfb47d7d090566b"
2421 | dependencies:
2422 | amdefine ">=0.0.4"
2423 |
2424 | source-map@^0.1.41:
2425 | version "0.1.43"
2426 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346"
2427 | dependencies:
2428 | amdefine ">=0.0.4"
2429 |
2430 | source-map@^0.4.4:
2431 | version "0.4.4"
2432 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
2433 | dependencies:
2434 | amdefine ">=0.0.4"
2435 |
2436 | source-map@^0.5.1, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3:
2437 | version "0.5.6"
2438 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412"
2439 |
2440 | source-map@~0.2.0:
2441 | version "0.2.0"
2442 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d"
2443 | dependencies:
2444 | amdefine ">=0.0.4"
2445 |
2446 | spdx-correct@~1.0.0:
2447 | version "1.0.2"
2448 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40"
2449 | dependencies:
2450 | spdx-license-ids "^1.0.2"
2451 |
2452 | spdx-expression-parse@~1.0.0:
2453 | version "1.0.4"
2454 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c"
2455 |
2456 | spdx-license-ids@^1.0.2:
2457 | version "1.2.2"
2458 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57"
2459 |
2460 | sprintf-js@^1.0.3, sprintf-js@~1.0.2:
2461 | version "1.0.3"
2462 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
2463 |
2464 | sshpk@^1.7.0:
2465 | version "1.13.0"
2466 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.0.tgz#ff2a3e4fd04497555fed97b39a0fd82fafb3a33c"
2467 | dependencies:
2468 | asn1 "~0.2.3"
2469 | assert-plus "^1.0.0"
2470 | dashdash "^1.12.0"
2471 | getpass "^0.1.1"
2472 | optionalDependencies:
2473 | bcrypt-pbkdf "^1.0.0"
2474 | ecc-jsbn "~0.1.1"
2475 | jodid25519 "^1.0.0"
2476 | jsbn "~0.1.0"
2477 | tweetnacl "~0.14.0"
2478 |
2479 | "statuses@>= 1.3.1 < 2", statuses@~1.3.1:
2480 | version "1.3.1"
2481 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e"
2482 |
2483 | stream-browserify@^2.0.1:
2484 | version "2.0.1"
2485 | resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db"
2486 | dependencies:
2487 | inherits "~2.0.1"
2488 | readable-stream "^2.0.2"
2489 |
2490 | stream-http@^2.3.1:
2491 | version "2.7.0"
2492 | resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.7.0.tgz#cec1f4e3b494bc4a81b451808970f8b20b4ed5f6"
2493 | dependencies:
2494 | builtin-status-codes "^3.0.0"
2495 | inherits "^2.0.1"
2496 | readable-stream "^2.2.6"
2497 | to-arraybuffer "^1.0.0"
2498 | xtend "^4.0.0"
2499 |
2500 | string-width@^1.0.1, string-width@^1.0.2:
2501 | version "1.0.2"
2502 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
2503 | dependencies:
2504 | code-point-at "^1.0.0"
2505 | is-fullwidth-code-point "^1.0.0"
2506 | strip-ansi "^3.0.0"
2507 |
2508 | string_decoder@^0.10.25, string_decoder@~0.10.x:
2509 | version "0.10.31"
2510 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
2511 |
2512 | string_decoder@~1.0.0:
2513 | version "1.0.0"
2514 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.0.tgz#f06f41157b664d86069f84bdbdc9b0d8ab281667"
2515 | dependencies:
2516 | buffer-shims "~1.0.0"
2517 |
2518 | stringstream@~0.0.4:
2519 | version "0.0.5"
2520 | resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878"
2521 |
2522 | strip-ansi@^3.0.0, strip-ansi@^3.0.1:
2523 | version "3.0.1"
2524 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
2525 | dependencies:
2526 | ansi-regex "^2.0.0"
2527 |
2528 | strip-bom@^2.0.0:
2529 | version "2.0.0"
2530 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
2531 | dependencies:
2532 | is-utf8 "^0.2.0"
2533 |
2534 | strip-indent@^1.0.1:
2535 | version "1.0.1"
2536 | resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2"
2537 | dependencies:
2538 | get-stdin "^4.0.1"
2539 |
2540 | strip-json-comments@^1.0.2:
2541 | version "1.0.4"
2542 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91"
2543 |
2544 | strip-json-comments@~2.0.1:
2545 | version "2.0.1"
2546 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
2547 |
2548 | supports-color@^2.0.0:
2549 | version "2.0.0"
2550 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
2551 |
2552 | supports-color@^3.1.0:
2553 | version "3.2.3"
2554 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
2555 | dependencies:
2556 | has-flag "^1.0.0"
2557 |
2558 | symbol-observable@^1.0.1:
2559 | version "1.0.4"
2560 | resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d"
2561 |
2562 | tapable@^0.1.8:
2563 | version "0.1.10"
2564 | resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.1.10.tgz#29c35707c2b70e50d07482b5d202e8ed446dafd4"
2565 |
2566 | tapable@^0.2.5, tapable@~0.2.5:
2567 | version "0.2.6"
2568 | resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.6.tgz#206be8e188860b514425375e6f1ae89bfb01fd8d"
2569 |
2570 | tar-pack@^3.4.0:
2571 | version "3.4.0"
2572 | resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.0.tgz#23be2d7f671a8339376cbdb0b8fe3fdebf317984"
2573 | dependencies:
2574 | debug "^2.2.0"
2575 | fstream "^1.0.10"
2576 | fstream-ignore "^1.0.5"
2577 | once "^1.3.3"
2578 | readable-stream "^2.1.4"
2579 | rimraf "^2.5.1"
2580 | tar "^2.2.1"
2581 | uid-number "^0.0.6"
2582 |
2583 | tar@^2.2.1:
2584 | version "2.2.1"
2585 | resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1"
2586 | dependencies:
2587 | block-stream "*"
2588 | fstream "^1.0.2"
2589 | inherits "2"
2590 |
2591 | timers-browserify@^2.0.2:
2592 | version "2.0.2"
2593 | resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.2.tgz#ab4883cf597dcd50af211349a00fbca56ac86b86"
2594 | dependencies:
2595 | setimmediate "^1.0.4"
2596 |
2597 | tmp@0.0.31, tmp@0.0.x:
2598 | version "0.0.31"
2599 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7"
2600 | dependencies:
2601 | os-tmpdir "~1.0.1"
2602 |
2603 | to-array@0.1.4:
2604 | version "0.1.4"
2605 | resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890"
2606 |
2607 | to-arraybuffer@^1.0.0:
2608 | version "1.0.1"
2609 | resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
2610 |
2611 | tough-cookie@~2.3.0:
2612 | version "2.3.2"
2613 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a"
2614 | dependencies:
2615 | punycode "^1.4.1"
2616 |
2617 | trim-newlines@^1.0.0:
2618 | version "1.0.0"
2619 | resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
2620 |
2621 | ts-loader@^0.8.2:
2622 | version "0.8.2"
2623 | resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-0.8.2.tgz#7331296d13d5b3105cd905cebca39143eed2b255"
2624 | dependencies:
2625 | arrify "^1.0.0"
2626 | colors "^1.0.3"
2627 | enhanced-resolve "^0.9.0"
2628 | loader-utils "^0.2.6"
2629 | object-assign "^2.0.0"
2630 | semver "^5.0.1"
2631 |
2632 | tsickle@^0.2:
2633 | version "0.2.6"
2634 | resolved "https://registry.yarnpkg.com/tsickle/-/tsickle-0.2.6.tgz#ad4abf92e74ebdf3fb5aa187ca85b02066fe1a1b"
2635 | dependencies:
2636 | minimist "^1.2.0"
2637 | mkdirp "^0.5.1"
2638 | source-map "^0.5.6"
2639 | source-map-support "^0.4.2"
2640 |
2641 | tslint-loader@^2.1.5:
2642 | version "2.1.5"
2643 | resolved "https://registry.yarnpkg.com/tslint-loader/-/tslint-loader-2.1.5.tgz#77abdfd9bf13d7133a6efa4447a1690783c4bb49"
2644 | dependencies:
2645 | loader-utils "^0.2.7"
2646 | mkdirp "^0.5.1"
2647 | object-assign "^4.0.1"
2648 | rimraf "^2.4.4"
2649 | strip-json-comments "^1.0.2"
2650 |
2651 | tslint@^3.15.1:
2652 | version "3.15.1"
2653 | resolved "https://registry.yarnpkg.com/tslint/-/tslint-3.15.1.tgz#da165ca93d8fdc2c086b51165ee1bacb48c98ea5"
2654 | dependencies:
2655 | colors "^1.1.2"
2656 | diff "^2.2.1"
2657 | findup-sync "~0.3.0"
2658 | glob "^7.0.3"
2659 | optimist "~0.6.0"
2660 | resolve "^1.1.7"
2661 | underscore.string "^3.3.4"
2662 |
2663 | tty-browserify@0.0.0:
2664 | version "0.0.0"
2665 | resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
2666 |
2667 | tunnel-agent@^0.6.0:
2668 | version "0.6.0"
2669 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
2670 | dependencies:
2671 | safe-buffer "^5.0.1"
2672 |
2673 | tweetnacl@^0.14.3, tweetnacl@~0.14.0:
2674 | version "0.14.5"
2675 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
2676 |
2677 | type-check@~0.3.2:
2678 | version "0.3.2"
2679 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
2680 | dependencies:
2681 | prelude-ls "~1.1.2"
2682 |
2683 | type-is@~1.6.14:
2684 | version "1.6.15"
2685 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410"
2686 | dependencies:
2687 | media-typer "0.3.0"
2688 | mime-types "~2.1.15"
2689 |
2690 | typescript@^2.4.1:
2691 | version "2.4.1"
2692 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.4.1.tgz#c3ccb16ddaa0b2314de031e7e6fee89e5ba346bc"
2693 |
2694 | uglify-js@^2.6, uglify-js@^2.8.5:
2695 | version "2.8.22"
2696 | resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.22.tgz#d54934778a8da14903fa29a326fb24c0ab51a1a0"
2697 | dependencies:
2698 | source-map "~0.5.1"
2699 | yargs "~3.10.0"
2700 | optionalDependencies:
2701 | uglify-to-browserify "~1.0.0"
2702 |
2703 | uglify-to-browserify@~1.0.0:
2704 | version "1.0.2"
2705 | resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
2706 |
2707 | uglifyjs@^2.4.10:
2708 | version "2.4.10"
2709 | resolved "https://registry.yarnpkg.com/uglifyjs/-/uglifyjs-2.4.10.tgz#632927319fa6a3da3fc91f9773ac27bfe6c3ee92"
2710 | dependencies:
2711 | async "~0.2.6"
2712 | source-map "0.1.34"
2713 | uglify-to-browserify "~1.0.0"
2714 | yargs "~1.3.3"
2715 |
2716 | uid-number@^0.0.6:
2717 | version "0.0.6"
2718 | resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81"
2719 |
2720 | ultron@1.0.x:
2721 | version "1.0.2"
2722 | resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa"
2723 |
2724 | underscore.string@^3.3.4:
2725 | version "3.3.4"
2726 | resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-3.3.4.tgz#2c2a3f9f83e64762fdc45e6ceac65142864213db"
2727 | dependencies:
2728 | sprintf-js "^1.0.3"
2729 | util-deprecate "^1.0.2"
2730 |
2731 | unpipe@1.0.0, unpipe@~1.0.0:
2732 | version "1.0.0"
2733 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
2734 |
2735 | url@^0.11.0:
2736 | version "0.11.0"
2737 | resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"
2738 | dependencies:
2739 | punycode "1.3.2"
2740 | querystring "0.2.0"
2741 |
2742 | useragent@^2.1.12:
2743 | version "2.1.13"
2744 | resolved "https://registry.yarnpkg.com/useragent/-/useragent-2.1.13.tgz#bba43e8aa24d5ceb83c2937473e102e21df74c10"
2745 | dependencies:
2746 | lru-cache "2.2.x"
2747 | tmp "0.0.x"
2748 |
2749 | util-deprecate@^1.0.2, util-deprecate@~1.0.1:
2750 | version "1.0.2"
2751 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
2752 |
2753 | util@0.10.3, util@^0.10.3:
2754 | version "0.10.3"
2755 | resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
2756 | dependencies:
2757 | inherits "2.0.1"
2758 |
2759 | utils-merge@1.0.0:
2760 | version "1.0.0"
2761 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8"
2762 |
2763 | uuid@^3.0.0:
2764 | version "3.0.1"
2765 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1"
2766 |
2767 | validate-npm-package-license@^3.0.1:
2768 | version "3.0.1"
2769 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc"
2770 | dependencies:
2771 | spdx-correct "~1.0.0"
2772 | spdx-expression-parse "~1.0.0"
2773 |
2774 | verror@1.3.6:
2775 | version "1.3.6"
2776 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c"
2777 | dependencies:
2778 | extsprintf "1.0.2"
2779 |
2780 | vm-browserify@0.0.4:
2781 | version "0.0.4"
2782 | resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73"
2783 | dependencies:
2784 | indexof "0.0.1"
2785 |
2786 | void-elements@^2.0.0:
2787 | version "2.0.1"
2788 | resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec"
2789 |
2790 | watchpack@^1.3.1:
2791 | version "1.3.1"
2792 | resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.3.1.tgz#7d8693907b28ce6013e7f3610aa2a1acf07dad87"
2793 | dependencies:
2794 | async "^2.1.2"
2795 | chokidar "^1.4.3"
2796 | graceful-fs "^4.1.2"
2797 |
2798 | webpack-dev-middleware@^1.0.11:
2799 | version "1.10.1"
2800 | resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.10.1.tgz#c6b4cf428139cf1aefbe06a0c00fdb4f8da2f893"
2801 | dependencies:
2802 | memory-fs "~0.4.1"
2803 | mime "^1.3.4"
2804 | path-is-absolute "^1.0.0"
2805 | range-parser "^1.0.3"
2806 |
2807 | webpack-sources@^0.2.3:
2808 | version "0.2.3"
2809 | resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.2.3.tgz#17c62bfaf13c707f9d02c479e0dcdde8380697fb"
2810 | dependencies:
2811 | source-list-map "^1.1.1"
2812 | source-map "~0.5.3"
2813 |
2814 | webpack@^2.1.0-beta.21:
2815 | version "2.4.1"
2816 | resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.4.1.tgz#15a91dbe34966d8a4b99c7d656efd92a2e5a6f6a"
2817 | dependencies:
2818 | acorn "^5.0.0"
2819 | acorn-dynamic-import "^2.0.0"
2820 | ajv "^4.7.0"
2821 | ajv-keywords "^1.1.1"
2822 | async "^2.1.2"
2823 | enhanced-resolve "^3.0.0"
2824 | interpret "^1.0.0"
2825 | json-loader "^0.5.4"
2826 | json5 "^0.5.1"
2827 | loader-runner "^2.3.0"
2828 | loader-utils "^0.2.16"
2829 | memory-fs "~0.4.1"
2830 | mkdirp "~0.5.0"
2831 | node-libs-browser "^2.0.0"
2832 | source-map "^0.5.3"
2833 | supports-color "^3.1.0"
2834 | tapable "~0.2.5"
2835 | uglify-js "^2.8.5"
2836 | watchpack "^1.3.1"
2837 | webpack-sources "^0.2.3"
2838 | yargs "^6.0.0"
2839 |
2840 | which-module@^1.0.0:
2841 | version "1.0.0"
2842 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f"
2843 |
2844 | which@^1.1.1, which@^1.2.1:
2845 | version "1.2.14"
2846 | resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5"
2847 | dependencies:
2848 | isexe "^2.0.0"
2849 |
2850 | wide-align@^1.1.0:
2851 | version "1.1.0"
2852 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad"
2853 | dependencies:
2854 | string-width "^1.0.1"
2855 |
2856 | window-size@0.1.0:
2857 | version "0.1.0"
2858 | resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"
2859 |
2860 | wordwrap@0.0.2:
2861 | version "0.0.2"
2862 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
2863 |
2864 | wordwrap@^1.0.0, wordwrap@~1.0.0:
2865 | version "1.0.0"
2866 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
2867 |
2868 | wordwrap@~0.0.2:
2869 | version "0.0.3"
2870 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
2871 |
2872 | wrap-ansi@^2.0.0:
2873 | version "2.1.0"
2874 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
2875 | dependencies:
2876 | string-width "^1.0.1"
2877 | strip-ansi "^3.0.1"
2878 |
2879 | wrappy@1:
2880 | version "1.0.2"
2881 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
2882 |
2883 | ws@1.1.2:
2884 | version "1.1.2"
2885 | resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.2.tgz#8a244fa052401e08c9886cf44a85189e1fd4067f"
2886 | dependencies:
2887 | options ">=0.0.5"
2888 | ultron "1.0.x"
2889 |
2890 | wtf-8@1.0.0:
2891 | version "1.0.0"
2892 | resolved "https://registry.yarnpkg.com/wtf-8/-/wtf-8-1.0.0.tgz#392d8ba2d0f1c34d1ee2d630f15d0efb68e1048a"
2893 |
2894 | xmlhttprequest-ssl@1.5.3:
2895 | version "1.5.3"
2896 | resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz#185a888c04eca46c3e4070d99f7b49de3528992d"
2897 |
2898 | xtend@^4.0.0:
2899 | version "4.0.1"
2900 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
2901 |
2902 | y18n@^3.2.1:
2903 | version "3.2.1"
2904 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"
2905 |
2906 | yargs-parser@^4.2.0:
2907 | version "4.2.1"
2908 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c"
2909 | dependencies:
2910 | camelcase "^3.0.0"
2911 |
2912 | yargs@^6.0.0:
2913 | version "6.6.0"
2914 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208"
2915 | dependencies:
2916 | camelcase "^3.0.0"
2917 | cliui "^3.2.0"
2918 | decamelize "^1.1.1"
2919 | get-caller-file "^1.0.1"
2920 | os-locale "^1.4.0"
2921 | read-pkg-up "^1.0.1"
2922 | require-directory "^2.1.1"
2923 | require-main-filename "^1.0.1"
2924 | set-blocking "^2.0.0"
2925 | string-width "^1.0.2"
2926 | which-module "^1.0.0"
2927 | y18n "^3.2.1"
2928 | yargs-parser "^4.2.0"
2929 |
2930 | yargs@~1.3.3:
2931 | version "1.3.3"
2932 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-1.3.3.tgz#054de8b61f22eefdb7207059eaef9d6b83fb931a"
2933 |
2934 | yargs@~3.10.0:
2935 | version "3.10.0"
2936 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"
2937 | dependencies:
2938 | camelcase "^1.0.2"
2939 | cliui "^2.1.0"
2940 | decamelize "^1.0.0"
2941 | window-size "0.1.0"
2942 |
2943 | yeast@0.1.2:
2944 | version "0.1.2"
2945 | resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419"
2946 |
2947 | zone.js@^0.7.2:
2948 | version "0.7.8"
2949 | resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.7.8.tgz#4f3fe8834d44597f2639053a0fa438df34fffded"
2950 |
--------------------------------------------------------------------------------