├── example
├── app
│ ├── stock-inventory
│ │ ├── containers
│ │ │ └── stock-inventory
│ │ │ │ ├── stock-inventory.component.scss
│ │ │ │ ├── stock-inventory.validators.ts
│ │ │ │ └── stock-inventory.component.ts
│ │ ├── models
│ │ │ └── product.interface.ts
│ │ ├── components
│ │ │ ├── stock-products
│ │ │ │ ├── stock-products.component.scss
│ │ │ │ └── stock-products.component.ts
│ │ │ ├── stock-branch
│ │ │ │ ├── stock-branch.component.scss
│ │ │ │ └── stock-branch.component.ts
│ │ │ ├── stock-counter
│ │ │ │ ├── stock-counter.component.scss
│ │ │ │ └── stock-counter.component.ts
│ │ │ └── stock-selector
│ │ │ │ ├── stock-selector.component.scss
│ │ │ │ └── stock-selector.component.ts
│ │ ├── services
│ │ │ └── stock-inventory.service.ts
│ │ └── stock-inventory.module.ts
│ ├── app.component.ts
│ ├── main.ts
│ └── app.module.ts
├── index.html
├── img
│ └── logo.svg
└── css
│ └── app.css
├── src
├── utils
│ ├── toArray.js
│ ├── toArray.ts
│ ├── toArray.js.map
│ └── toArray.metadata.json
├── ngxerrors.ts
├── ngxerrors.module.ts
├── package.json
├── ngxerror.directive.ts
├── ngxerrors.directive.ts
└── test
│ └── ngxerrors.spec.ts
├── index.ts
├── rollup.config.js
├── circle.yml
├── .gitignore
├── .editorconfig
├── tsconfig.json
├── .circleci
└── images
│ └── primary
│ └── Dockerfile
├── .github
├── ISSUE_TEMPLATE.md
└── PULL_REQUEST_TEMPLATE.md
├── LICENSE
├── CONTRIBUTING.md
├── karma.conf.js
├── package.json
├── webpack.config.js
├── README.md
└── yarn.lock
/example/app/stock-inventory/containers/stock-inventory/stock-inventory.component.scss:
--------------------------------------------------------------------------------
1 | .stock-inventory {}
--------------------------------------------------------------------------------
/src/utils/toArray.js:
--------------------------------------------------------------------------------
1 | export var toArray = function (value) { return Array.isArray(value) ? value : [value]; };
2 | //# sourceMappingURL=toArray.js.map
--------------------------------------------------------------------------------
/src/utils/toArray.ts:
--------------------------------------------------------------------------------
1 | import { ErrorOptions } from '../ngxerrors';
2 |
3 | export const toArray = (value: ErrorOptions): string[] => Array.isArray(value) ? value : [value];
--------------------------------------------------------------------------------
/index.ts:
--------------------------------------------------------------------------------
1 | export * from './src/ngxerrors';
2 | export * from './src/ngxerror.directive';
3 | export * from './src/ngxerrors.directive';
4 | export * from './src/ngxerrors.module';
5 |
--------------------------------------------------------------------------------
/src/ngxerrors.ts:
--------------------------------------------------------------------------------
1 | import { AbstractControl } from '@angular/forms';
2 |
3 | export type ErrorOptions = string | string[];
4 |
5 | export interface ErrorDetails {
6 | control: AbstractControl,
7 | errorName: string
8 | }
9 |
--------------------------------------------------------------------------------
/example/app/stock-inventory/models/product.interface.ts:
--------------------------------------------------------------------------------
1 | export interface Product {
2 | id: number,
3 | price: number,
4 | name: string
5 | }
6 |
7 | export interface Item {
8 | product_id: number,
9 | quantity: number
10 | }
--------------------------------------------------------------------------------
/src/utils/toArray.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"sources":["toArray.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,IAAM,OAAO,GAAG,UAAC,KAAmB,IAAe,OAAA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,EAAtC,CAAsC,CAAC","file":"toArray.js","sourceRoot":""}
--------------------------------------------------------------------------------
/rollup.config.js:
--------------------------------------------------------------------------------
1 | export default {
2 | entry: 'dist/index.js',
3 | dest: 'dist/bundle/ultimate.ngxerrors.umd.js',
4 | format: 'umd',
5 | exports: 'named',
6 | moduleName: 'ngxerrors',
7 | globals: {
8 | 'typescript': 'ts'
9 | }
10 | };
11 |
--------------------------------------------------------------------------------
/example/app/app.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 | @Component({
3 | selector: 'app-root',
4 | template: `
5 |
6 |
7 |
8 | `
9 | })
10 | export class AppComponent {}
11 |
--------------------------------------------------------------------------------
/circle.yml:
--------------------------------------------------------------------------------
1 | version: 2
2 | jobs:
3 | build:
4 | working_directory: /ngerrors
5 |
6 | docker:
7 | - image: ultimateangular/ngerrors-primary:latest
8 |
9 | steps:
10 | - checkout
11 | - run: yarn install
12 | - run: yarn test
13 |
--------------------------------------------------------------------------------
/src/utils/toArray.metadata.json:
--------------------------------------------------------------------------------
1 | [{"__symbolic":"module","version":3,"metadata":{"toArray":{"__symbolic":"error","message":"Function call not supported","line":2,"character":23}}},{"__symbolic":"module","version":1,"metadata":{"toArray":{"__symbolic":"error","message":"Function call not supported","line":2,"character":23}}}]
--------------------------------------------------------------------------------
/example/app/main.ts:
--------------------------------------------------------------------------------
1 | import 'reflect-metadata';
2 |
3 | import { enableProdMode } from '@angular/core';
4 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
5 | import { AppModule } from './app.module';
6 |
7 | if (process.env.NODE_ENV === 'production') {
8 | enableProdMode();
9 | }
10 |
11 | platformBrowserDynamic().bootstrapModule(AppModule);
12 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Project
2 | .idea
3 | .vscode
4 |
5 | # Node
6 | node_modules
7 |
8 | # macOS
9 | .DS_Store
10 | .AppleDouble
11 | .LSOverride
12 | Icon
13 | ._*
14 | .Spotlight-V100
15 | .Trashes
16 |
17 | ## Windows
18 | Thumbs.db
19 | ehthumbs.db
20 | Desktop.ini
21 | $RECYCLE.BIN/
22 |
23 | # Package Managers
24 | yarn-error.log
25 | npm-debug.log
26 |
27 | # Build
28 | dist
29 |
30 | # Docs
31 | gh-pages
32 |
--------------------------------------------------------------------------------
/src/ngxerrors.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 |
3 | import { NgxErrorsDirective } from './ngxerrors.directive';
4 | import { NgxErrorDirective } from './ngxerror.directive';
5 |
6 | const dependencies = [
7 | NgxErrorsDirective,
8 | NgxErrorDirective
9 | ];
10 |
11 | @NgModule({
12 | declarations: [...dependencies],
13 | exports: [...dependencies]
14 | })
15 | export class NgxErrorsModule {}
--------------------------------------------------------------------------------
/example/app/stock-inventory/components/stock-products/stock-products.component.scss:
--------------------------------------------------------------------------------
1 | .stock-product {
2 | &__content {
3 | display: flex;
4 | justify-content: space-between;
5 | align-items: center;
6 | margin-bottom: 10px;
7 |
8 | button {
9 | flex: 0 0 100px;
10 | margin-left: 30px;
11 | }
12 | stock-counter {
13 | flex: 0 0 50px;
14 | margin-left: 30px;
15 | }
16 | }
17 |
18 | &__name {
19 | flex: 1 0;
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | # EditorConfig helps developers define and maintain consistent
2 | # coding styles between different editors and IDEs
3 | # editorconfig.org
4 |
5 | root = true
6 |
7 | [*]
8 |
9 | # Change these settings to your own preference
10 | indent_style = space
11 | indent_size = 2
12 |
13 | # We recommend you to keep these unchanged
14 | end_of_line = lf
15 | charset = utf-8
16 | trim_trailing_whitespace = true
17 | insert_final_newline = true
18 |
19 | [*.md]
20 | trim_trailing_whitespace = false
21 |
--------------------------------------------------------------------------------
/example/app/app.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { BrowserModule } from '@angular/platform-browser';
3 |
4 | import { StockInventoryModule } from './stock-inventory/stock-inventory.module';
5 |
6 | import { AppComponent } from './app.component';
7 |
8 | @NgModule({
9 | declarations: [
10 | AppComponent
11 | ],
12 | imports: [
13 | BrowserModule,
14 | StockInventoryModule
15 | ],
16 | bootstrap: [
17 | AppComponent
18 | ]
19 | })
20 | export class AppModule {}
21 |
--------------------------------------------------------------------------------
/src/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@ultimate/ngxerrors",
3 | "version": "0.0.0",
4 | "description": "A declarative validation module for reactive forms",
5 | "main": "bundle/ultimate.ngxerrors.umd.js",
6 | "module": "index.js",
7 | "types": "index.d.ts",
8 | "author": "Ultimate Angular",
9 | "license": "MIT",
10 | "repository": {
11 | "url": "https://github.com/UltimateAngular/ngxerrors.git",
12 | "type": "git"
13 | },
14 | "peerDependencies": {
15 | "@angular/forms": "^2.3.1 || ^5.0.0"
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/example/app/stock-inventory/components/stock-branch/stock-branch.component.scss:
--------------------------------------------------------------------------------
1 | :host {
2 | border-bottom: 1px solid #ccc;
3 | margin: 0 0 20px;
4 | padding: 0 0 20px;
5 | display: block;
6 | }
7 | .error {
8 | background: #B52D30;
9 | color: #fff;
10 | font-weight: 500;
11 | font-size: 12px;
12 | text-transform: uppercase;
13 | border-radius: 0 0 3px 3px;
14 | line-height: 1;
15 | padding: 6px 10px;
16 | margin-top: -1px;
17 | }
18 | .errors {
19 | border: 1px solid #B52D30;
20 | }
21 | .no-errors {
22 | border: 1px solid green;
23 | }
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "angularCompilerOptions": {
3 | "genDir": "aot",
4 | "skipTemplateCodegen": true,
5 | "skipMetadataEmit": false
6 | },
7 | "compilerOptions": {
8 | "declaration": true,
9 | "target": "es5",
10 | "module": "es2015",
11 | "moduleResolution": "node",
12 | "sourceMap": true,
13 | "emitDecoratorMetadata": true,
14 | "experimentalDecorators": true,
15 | "outDir": "dist",
16 | "removeComments": false,
17 | "noImplicitAny": false,
18 | "suppressImplicitAnyIndexErrors": true,
19 | "lib": ["dom", "es2015", "es2016"]
20 | },
21 | "files": [
22 | "index.ts"
23 | ]
24 | }
25 |
--------------------------------------------------------------------------------
/.circleci/images/primary/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM markadams/chromium-xvfb-js:latest
2 |
3 | ENV YARN_VERSION 0.22.0
4 |
5 | RUN set -ex \
6 | && for key in \
7 | 6A010C5166006599AA17F08146C2130DFD2497F5 \
8 | ; do \
9 | gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key" || \
10 | gpg --keyserver pgp.mit.edu --recv-keys "$key" || \
11 | gpg --keyserver keyserver.pgp.com --recv-keys "$key" ; \
12 | done \
13 | && curl -fSL -o yarn.js "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-legacy-$YARN_VERSION.js" \
14 | && curl -fSL -o yarn.js.asc "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-legacy-$YARN_VERSION.js.asc" \
15 | && gpg --batch --verify yarn.js.asc yarn.js \
16 | && rm yarn.js.asc \
17 | && mv yarn.js /usr/local/bin/yarn \
18 | && chmod +x /usr/local/bin/yarn
19 |
--------------------------------------------------------------------------------
/example/app/stock-inventory/containers/stock-inventory/stock-inventory.validators.ts:
--------------------------------------------------------------------------------
1 | import { AbstractControl } from '@angular/forms';
2 |
3 | export class StockValidators {
4 | static checkBranch(control: AbstractControl) {
5 | const regexp = /^[a-z]\d{3}$/i;
6 | const valid = regexp.test(control.value);
7 | return valid ? null : { invalidBranch: true };
8 | }
9 | static checkStockExists(control: AbstractControl) {
10 | const stockItem = control.get('stock');
11 | const selector = control.get('selector');
12 |
13 | if (!(stockItem && selector)) return null;
14 |
15 | const exists = stockItem.value.some((stock) => {
16 | return stock.product_id === parseInt(selector.value.product_id, 10);
17 | });
18 |
19 | return exists ? { stockExists: true } : null;
20 |
21 | }
22 | }
--------------------------------------------------------------------------------
/example/app/stock-inventory/components/stock-counter/stock-counter.component.scss:
--------------------------------------------------------------------------------
1 | .stock-counter {
2 | &.focused {
3 | box-shadow: 0 1px 1px rgba(0,0,0,.3);
4 | }
5 | background: rgba(0, 0, 0, 0.05);
6 | border-radius: 3px;
7 | overflow: hidden;
8 | & > div > div {
9 | display: flex;
10 | align-items: center;
11 |
12 | & > div {
13 | display: flex;
14 | flex-direction: column;
15 | }
16 | }
17 |
18 | p {
19 | font-size: 16px;
20 | font-weight: 400;
21 | text-align: center;
22 | width: 50px;
23 | }
24 |
25 | button {
26 | padding: 3px;
27 | border-radius: 0;
28 | line-height: 1;
29 | padding: 3px 7px;
30 | background: #9E61C8;
31 | color: #fff;
32 | font-weight: 500;
33 | &:disabled {
34 | background: rgba(0, 0, 0, 0.1);
35 | color: rgba(0, 0, 0, 0.4);
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | **Is this a feature request or a bug report?**
4 |
5 |
6 | **What's gone wrong?**
7 |
8 |
9 | **What was meant to happen?**
10 |
11 |
12 | **Steps to reproduce**
13 |
14 |
15 | **Other information**
16 |
17 |
--------------------------------------------------------------------------------
/example/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Example
7 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/.github/PULL_REQUEST_TEMPLATE.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | **What are you adding/fixing?**
4 |
5 |
6 | **Have you added tests for your changes?**
7 |
8 |
9 | **Will this need documentation changes?**
10 |
11 |
12 | **Does this introduce a breaking change?**
13 |
14 |
15 | **Other information**
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2017 Ultimate Angular
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 |
--------------------------------------------------------------------------------
/example/app/stock-inventory/services/stock-inventory.service.ts:
--------------------------------------------------------------------------------
1 | import { Injectable } from '@angular/core';
2 | import { Http, Response, URLSearchParams } from '@angular/http';
3 |
4 | import { Observable } from 'rxjs/Observable';
5 | import 'rxjs/add/observable/of';
6 |
7 | import { Product, Item } from '../models/product.interface';
8 |
9 | @Injectable()
10 | export class StockInventoryService {
11 | constructor(
12 | private http: Http
13 | ) {}
14 |
15 | getCartItems(): Observable- {
16 | return Observable.of([
17 | { "product_id": 1, "quantity": 10 },
18 | { "product_id": 3, "quantity": 50 }
19 | ]);
20 | }
21 |
22 | getProducts(): Observable
{
23 | return Observable.of([
24 | { "id": 1, "price": 2800, "name": "MacBook Pro" },
25 | { "id": 2, "price": 50, "name": "USB-C Adaptor" },
26 | { "id": 3, "price": 400, "name": "iPod" },
27 | { "id": 4, "price": 900, "name": "iPhone" },
28 | { "id": 5, "price": 600, "name": "Apple Watch" }
29 | ]);
30 | }
31 |
32 | checkBranchId(id: string): Observable {
33 | return Observable.of(true);
34 | }
35 | }
--------------------------------------------------------------------------------
/example/app/stock-inventory/components/stock-selector/stock-selector.component.scss:
--------------------------------------------------------------------------------
1 | .stock-selector {
2 | padding: 0 0 20px;
3 | margin: 0 0 20px;
4 | border-bottom: 1px solid #ccc;
5 | position: relative;
6 |
7 | &__error {
8 | position: absolute;
9 | background: #B52D30;
10 | color: #fff;
11 | font-weight: 500;
12 | font-size: 12px;
13 | text-transform: uppercase;
14 | border-radius: 3px;
15 | left: 0;
16 | bottom: -10px;
17 | line-height: 1;
18 | padding: 6px 10px;
19 |
20 | &:before {
21 | width: 0;
22 | height: 0;
23 | border-style: solid;
24 | border-width: 0 5px 5px 5px;
25 | border-color: transparent transparent #B52D30 transparent;
26 | content: ' ';
27 | display: block;
28 | position: absolute;
29 | top: -5px;
30 | left: 10px;
31 | }
32 | }
33 |
34 | & > div {
35 | display: flex;
36 | align-items: center;
37 | justify-content: space-between;
38 |
39 | select {
40 | flex: 1 0;
41 | }
42 | button {
43 | flex: 0 0 100px;
44 | margin-left: 30px;
45 | }
46 | stock-counter {
47 | flex: 0 0 50px;
48 | margin-left: 30px;
49 | }
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contributing to @ultimate/ngx-errors
2 |
3 | All contributions are greatly appreciated.
4 |
5 | Please make sure that any contribution you make has an issue for it, and that you link to the issue in your pull request. Before the pull request is merged the issue must have an approved label on it (this will be added if it's an approved feature/fix etc and needs to be done).
6 |
7 | # Submitting an issue
8 |
9 | When you submit an issue, please keep to the pre-filled template, as it will help speed things along when your issue is addressed.
10 |
11 | # Make a change
12 |
13 | To setup `@ultimate/ngx-errors` for development, run the following -
14 |
15 | ```bash
16 | git clone git@github.com:UltimateAngular/ngx-errors.git
17 | cd ngx-errors
18 | yarn install
19 | yarn example
20 | ```
21 |
22 | This will start watching for changes to any source files, and compile/bundle the source. It'll spin up a local web server at http://localhost:3000 where you can test the library against an example form.
23 |
24 | ## Committing and adding a PR
25 |
26 | Once you're ready, commit your changes and submit your PR. All commits should follow [these guidelines](https://github.com/angular/angular/blob/master/CONTRIBUTING.md#commit) (to keep things neat).
27 |
28 | Your PR should keep to the pre-filled template.
29 |
--------------------------------------------------------------------------------
/example/app/stock-inventory/stock-inventory.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { CommonModule } from '@angular/common';
3 | import { ReactiveFormsModule } from '@angular/forms';
4 | import { HttpModule } from '@angular/http';
5 |
6 | import { NgxErrorsModule } from '../../../src/ngxerrors.module';
7 |
8 | import { StockInventoryComponent } from './containers/stock-inventory/stock-inventory.component';
9 |
10 | import { StockBranchComponent } from './components/stock-branch/stock-branch.component';
11 | import { StockProductsComponent } from './components/stock-products/stock-products.component';
12 | import { StockSelectorComponent } from './components/stock-selector/stock-selector.component';
13 | import { StockCounterComponent } from './components/stock-counter/stock-counter.component';
14 | import { StockInventoryService } from './services/stock-inventory.service';
15 |
16 | @NgModule({
17 | declarations: [
18 | StockInventoryComponent,
19 | StockBranchComponent,
20 | StockProductsComponent,
21 | StockSelectorComponent,
22 | StockCounterComponent
23 | ],
24 | providers: [
25 | StockInventoryService
26 | ],
27 | imports: [
28 | CommonModule,
29 | ReactiveFormsModule,
30 | HttpModule,
31 | NgxErrorsModule
32 | ],
33 | exports: [
34 | StockInventoryComponent
35 | ]
36 | })
37 | export class StockInventoryModule {}
38 |
--------------------------------------------------------------------------------
/karma.conf.js:
--------------------------------------------------------------------------------
1 | const path = require('path');
2 | const webpack = require('webpack');
3 |
4 | module.exports = (config) => {
5 | config.set({
6 | browsers: ['Chrome'],
7 | files: [
8 | 'node_modules/reflect-metadata/Reflect.js',
9 | 'node_modules/zone.js/dist/zone.js',
10 | 'node_modules/zone.js/dist/proxy.js',
11 | 'node_modules/zone.js/dist/sync-test.js',
12 | 'node_modules/zone.js/dist/async-test.js',
13 | 'node_modules/zone.js/dist/jasmine-patch.js',
14 | 'node_modules/zone.js/dist/long-stack-trace-zone.js',
15 | { pattern: '**/*.spec.ts', watched: false }
16 | ],
17 | frameworks: ['jasmine'],
18 | mime: { 'text/x-typescript': ['ts'] },
19 | preprocessors: {
20 | '*.js': ['sourcemap'],
21 | '**/*.spec.ts': ['sourcemap', 'webpack']
22 | },
23 | reporters: ['spec'],
24 | webpack: {
25 | devtool: 'sourcemap',
26 | module: {
27 | rules: [
28 | {
29 | test: /\.html$/,
30 | loaders: ['raw-loader']
31 | },
32 | {
33 | test: /\.scss$/,
34 | loaders: ['raw-loader', 'sass-loader']
35 | },
36 | {
37 | test: /\.ts$/,
38 | loaders: ['awesome-typescript-loader', 'angular2-template-loader']
39 | }
40 | ]
41 | },
42 | plugins: [
43 | new webpack.NamedModulesPlugin(),
44 | new webpack.SourceMapDevToolPlugin({
45 | filename: null,
46 | test: /\.(ts|js)($|\?)/i
47 | })
48 | ],
49 | resolve: {
50 | extensions: ['.ts', '.js']
51 | }
52 | }
53 | });
54 | };
55 |
--------------------------------------------------------------------------------
/example/app/stock-inventory/components/stock-products/stock-products.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, Input, Output, EventEmitter } from '@angular/core';
2 | import { FormGroup, FormArray } from '@angular/forms';
3 |
4 | import { Product } from '../../models/product.interface';
5 |
6 | @Component({
7 | selector: 'stock-products',
8 | styleUrls: ['stock-products.component.scss'],
9 | template: `
10 |
11 |
12 |
14 |
15 |
16 |
17 | {{ getProduct(item.value.product_id).name }}
18 |
19 |
20 | {{ getProduct(item.value.product_id).price | currency:'USD':true }}
21 |
22 |
28 |
31 | Remove
32 |
33 |
34 |
35 |
36 |
37 |
38 | `
39 | })
40 | export class StockProductsComponent {
41 | @Input()
42 | parent: FormGroup;
43 |
44 | @Input()
45 | map: Map;
46 |
47 | @Output()
48 | removed = new EventEmitter();
49 |
50 | getProduct(id) {
51 | return this.map.get(id);
52 | }
53 |
54 | onRemove(group, index) {
55 | this.removed.emit({ group, index });
56 | }
57 |
58 | get stocks() {
59 | return (this.parent.get('stock') as FormArray).controls;
60 | }
61 |
62 | }
--------------------------------------------------------------------------------
/example/app/stock-inventory/components/stock-selector/stock-selector.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, Input, Output, EventEmitter } from '@angular/core';
2 | import { FormGroup } from '@angular/forms';
3 |
4 | import { Product } from '../../models/product.interface';
5 |
6 | @Component({
7 | selector: 'stock-selector',
8 | styleUrls: ['stock-selector.component.scss'],
9 | template: `
10 |
11 |
12 |
13 | Select stock
14 |
17 | {{ product.name }}
18 |
19 |
20 |
25 |
26 |
30 | Add stock
31 |
32 |
35 | Item already exists in the stock
36 |
37 |
38 |
39 | `
40 | })
41 | export class StockSelectorComponent {
42 | @Input()
43 | parent: FormGroup;
44 |
45 | @Input()
46 | products: Product[];
47 |
48 | @Output()
49 | added = new EventEmitter();
50 |
51 | get notSelected() {
52 | return (
53 | !this.parent.get('selector.product_id').value
54 | );
55 | }
56 |
57 | get stockExists() {
58 | return (
59 | this.parent.hasError('stockExists') &&
60 | this.parent.get('selector.product_id').dirty
61 | );
62 | }
63 |
64 | onAdd() {
65 | this.added.emit(this.parent.get('selector').value);
66 | this.parent.get('selector').reset({
67 | product_id: '',
68 | quantity: 10
69 | });
70 | }
71 | }
--------------------------------------------------------------------------------
/example/app/stock-inventory/components/stock-branch/stock-branch.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, Input } from '@angular/core';
2 | import { FormGroup } from '@angular/forms';
3 |
4 | @Component({
5 | selector: 'stock-branch',
6 | styleUrls: ['stock-branch.component.scss'],
7 | template: `
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | Branch ID is required
18 |
19 |
20 | Invalid branch code: 1 letter, 3 numbers
21 |
22 |
23 | Unknown branch, please check the ID
24 |
25 |
26 |
27 |
28 |
Errors: {{ myError.hasError('*', ['touched']) | json }}
29 |
No Errors: {{ myError.isValid('required', ['dirty']) | json }}
30 |
31 |
32 |
38 |
39 |
40 |
41 | Field is required
42 |
43 |
44 | Min-length is {{ myError.getError('minlength')?.requiredLength }}
45 |
46 |
47 | Max-length is {{ myError.getError('maxlength')?.requiredLength }}
48 |
49 |
50 |
51 |
52 |
53 | `
54 | })
55 | export class StockBranchComponent {
56 | @Input()
57 | parent: FormGroup;
58 | }
--------------------------------------------------------------------------------
/src/ngxerror.directive.ts:
--------------------------------------------------------------------------------
1 | import { Directive, Input, OnInit, OnDestroy, DoCheck, Inject, HostBinding, forwardRef } from '@angular/core';
2 |
3 | import { Observable } from 'rxjs/Observable';
4 | import { Subject } from 'rxjs/Subject';
5 | import { Subscription } from 'rxjs/Subscription';
6 | import 'rxjs/add/operator/filter';
7 | import 'rxjs/add/operator/map';
8 | import 'rxjs/add/operator/distinctUntilChanged';
9 | import 'rxjs/add/observable/combineLatest';
10 |
11 | import { NgxErrorsDirective } from './ngxerrors.directive';
12 |
13 | import { ErrorOptions } from './ngxerrors';
14 |
15 | import { toArray } from './utils/toArray';
16 |
17 | @Directive({
18 | selector: '[ngxError]'
19 | })
20 | export class NgxErrorDirective implements OnInit, OnDestroy, DoCheck {
21 |
22 | @Input() set ngxError(value: ErrorOptions) {
23 | this.errorNames = toArray(value);
24 | }
25 |
26 | @Input() set when(value: ErrorOptions) {
27 | this.rules = toArray(value);
28 | }
29 |
30 | @HostBinding('hidden')
31 | hidden: boolean = true;
32 |
33 | rules: string[] = [];
34 |
35 | errorNames: string[] = [];
36 |
37 | subscription: Subscription;
38 |
39 | _states: Subject;
40 |
41 | states: Observable;
42 |
43 | constructor(
44 | @Inject(forwardRef(() => NgxErrorsDirective)) private ngxErrors: NgxErrorsDirective
45 | ) { }
46 |
47 | ngOnInit() {
48 |
49 | this._states = new Subject();
50 | this.states = this._states.asObservable().distinctUntilChanged();
51 |
52 | const errors = this.ngxErrors.subject
53 | .filter(Boolean)
54 | .filter(obj => !!~this.errorNames.indexOf(obj.errorName));
55 |
56 | const states = this.states
57 | .map(states => this.rules.every(rule => !!~states.indexOf(rule)));
58 |
59 | this.subscription = Observable.combineLatest(states, errors)
60 | .subscribe(([states, errors]) => {
61 | this.hidden = !(states && errors.control.hasError(errors.errorName));
62 | });
63 |
64 | }
65 |
66 | ngDoCheck() {
67 | this._states.next(
68 | this.rules.filter((rule) => (this.ngxErrors.control as any)[rule])
69 | );
70 | }
71 |
72 | ngOnDestroy() {
73 | this.subscription.unsubscribe();
74 | }
75 |
76 | }
--------------------------------------------------------------------------------
/example/img/logo.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@ultimate/ngxerrors",
3 | "version": "0.0.0",
4 | "description": "A declarative validation module for reactive forms",
5 | "author": "Ultimate Angular",
6 | "license": "MIT",
7 | "repository": {
8 | "url": "https://github.com/UltimateAngular/ngxerrors.git",
9 | "type": "git"
10 | },
11 | "scripts": {
12 | "build": "yarn run clean && yarn run copy && yarn run compile",
13 | "clean": "rimraf dist && mkdir -p dist",
14 | "compile": "yarn run ngc && yarn run rollup",
15 | "copy": "cp src/package.json dist/package.json && cp README.md dist/README.md",
16 | "example": "webpack-dev-server --inline --hot",
17 | "prestart": "yarn run clean && yarn run copy",
18 | "start": "nodemon --exec yarn run compile -e ts --watch src",
19 | "rollup": "rollup -c rollup.config.js >/dev/null 2>&1",
20 | "ngc": "ngc -p tsconfig.json",
21 | "test": "karma start --single-run",
22 | "test:watch": "karma start"
23 | },
24 | "devDependencies": {
25 | "@angular/compiler": "4.1.0",
26 | "@angular/compiler-cli": "4.1.0",
27 | "@types/jasmine": "2.5.46",
28 | "@types/karma": "0.13.34",
29 | "@types/node": "^7.0.12",
30 | "angular2-template-loader": "0.6.2",
31 | "awesome-typescript-loader": "3.1.2",
32 | "file-loader": "0.11.1",
33 | "html-loader": "0.4.5",
34 | "jasmine-core": "2.5.2",
35 | "karma": "1.5.0",
36 | "karma-chrome-launcher": "2.0.0",
37 | "karma-jasmine": "1.1.0",
38 | "karma-sourcemap-loader": "0.3.7",
39 | "karma-spec-reporter": "0.0.28",
40 | "karma-webpack": "2.0.2",
41 | "node-sass": "4.5.2",
42 | "nodemon": "1.11.0",
43 | "raw-loader": "0.5.1",
44 | "rimraf": "2.6.1",
45 | "rollup": "0.41.6",
46 | "rxjs": "5.3.0",
47 | "sass-loader": "6.0.3",
48 | "typescript": "2.3.1",
49 | "webpack": "2.4.1",
50 | "webpack-dev-server": "2.4.5",
51 | "zone.js": "0.8.9"
52 | },
53 | "dependencies": {
54 | "@angular/animations": "4.1.0",
55 | "@angular/common": "4.1.0",
56 | "@angular/core": "4.1.0",
57 | "@angular/forms": "4.1.0",
58 | "@angular/http": "4.1.0",
59 | "@angular/platform-browser": "4.1.0",
60 | "@angular/platform-browser-dynamic": "4.1.0",
61 | "@angular/router": "4.1.0",
62 | "core-js": "2.4.1",
63 | "reflect-metadata": "0.1.10",
64 | "rxjs": "5.3.0",
65 | "tslib": "1.6.1",
66 | "zone.js": "0.8.9"
67 | }
68 | }
69 |
--------------------------------------------------------------------------------
/src/ngxerrors.directive.ts:
--------------------------------------------------------------------------------
1 | import { Directive, Input, OnChanges, OnDestroy, AfterViewInit } from '@angular/core';
2 | import { FormGroupDirective, AbstractControl } from '@angular/forms';
3 |
4 | import { BehaviorSubject } from 'rxjs/BehaviorSubject';
5 |
6 | import { ErrorDetails, ErrorOptions } from './ngxerrors';
7 |
8 | import { toArray } from './utils/toArray';
9 |
10 | @Directive({
11 | selector: '[ngxErrors]',
12 | exportAs: 'ngxErrors'
13 | })
14 | export class NgxErrorsDirective implements OnChanges, OnDestroy, AfterViewInit {
15 |
16 | @Input('ngxErrors')
17 | controlName: string;
18 |
19 | subject = new BehaviorSubject(null);
20 |
21 | control: AbstractControl;
22 |
23 | ready: boolean = false;
24 |
25 | constructor(
26 | private form: FormGroupDirective
27 | ) { }
28 |
29 | get errors() {
30 | if (!this.ready) return;
31 | return this.control.errors;
32 | }
33 |
34 | get hasErrors() {
35 | return !!this.errors;
36 | }
37 |
38 | hasError(name: string, conditions: ErrorOptions): boolean {
39 | return this.checkPropState('invalid', name, conditions);
40 | }
41 |
42 | isValid(name: string, conditions: ErrorOptions): boolean {
43 | return this.checkPropState('valid', name, conditions);
44 | }
45 |
46 | getError(name: string) {
47 | if (!this.ready) return;
48 | return this.control.getError(name);
49 | }
50 |
51 | private checkPropState(prop: string, name: string, conditions: ErrorOptions): boolean {
52 | if (!this.ready) return;
53 | const controlPropsState = (
54 | !conditions || toArray(conditions).every((condition: string) => this.control[condition])
55 | );
56 | if (name.charAt(0) === '*') {
57 | return this.control[prop] && controlPropsState;
58 | }
59 | return (
60 | prop === 'valid' ? !this.control.hasError(name) : this.control.hasError(name) && controlPropsState
61 | );
62 | }
63 |
64 | private checkStatus() {
65 | const control = this.control;
66 | const errors = control.errors;
67 | this.ready = true;
68 | if (!errors) return;
69 | for (const errorName in errors) {
70 | this.subject.next({ control, errorName });
71 | }
72 | }
73 |
74 | ngOnChanges() {
75 | this.control = this.form.control.get(this.controlName);
76 | }
77 |
78 | ngAfterViewInit() {
79 | setTimeout(() => {
80 | this.checkStatus();
81 | this.control.statusChanges.subscribe(this.checkStatus.bind(this));
82 | });
83 | }
84 |
85 | ngOnDestroy() {
86 | this.subject.unsubscribe();
87 | }
88 |
89 | }
--------------------------------------------------------------------------------
/example/css/app.css:
--------------------------------------------------------------------------------
1 | * {
2 | box-sizing: border-box;
3 | -webkit-box-sizing: border-box;
4 | -moz-box-sizing: border-box;
5 | font: 300 15px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
6 | }
7 |
8 | html, body {
9 | height: 100%;
10 | margin: 0;
11 | padding: 0;
12 | background: #fff;
13 | -webkit-font-smoothing: antialiased;
14 | color: #545e6f;
15 | }
16 |
17 | img {
18 | vertical-align: bottom;
19 | }
20 | img a {
21 | border: 0;
22 | }
23 | ul,
24 | ol {
25 | list-style: none;
26 | margin: 0;
27 | padding: 0;
28 | }
29 | a {
30 | color: #9f72e6;
31 | text-decoration: none;
32 | }
33 | input,
34 | button {
35 | outline: 0;
36 | }
37 | input[type=text],
38 | input[type=email],
39 | input[type=number],
40 | input[type=password] {
41 | border: none;
42 | background: #fff;
43 | font-size: 13px;
44 | padding: 6px 30px 6px 10px;
45 | border-radius: 1px;
46 | border: 1px solid #ccc;
47 | }
48 | label {
49 | display: block;
50 | }
51 | button {
52 | background: #9B5FC6;
53 | cursor: pointer;
54 | border: 0;
55 | border-radius: 3px;
56 | padding: 5px 10px;
57 | text-align: center;
58 | color: #fff;
59 | }
60 | button:disabled {
61 | cursor: not-allowed;
62 | background: #b598e4;
63 | }
64 | p {
65 | margin: 5px 0;
66 | }
67 |
68 | body {
69 | padding: 10px;
70 | }
71 |
72 | h3 {
73 | font-size: 22px;
74 | font-weight: 400;
75 | margin: 0;
76 | }
77 | h4 {
78 | font-size: 18px;
79 | font-weight: 300;
80 | margin: 0;
81 | }
82 | input[type="text"] {
83 | display: block;
84 | border: none;
85 | background: #fff;
86 | font-size: 15px;
87 | padding: 6px 30px 6px 10px;
88 | border-radius: 1px;
89 | border: 1px solid #ccc;
90 | margin-top: 10px;
91 | width: 100%;
92 | }
93 | label {
94 | margin-bottom: 20px;
95 | }
96 | h3 {
97 | margin-bottom: 20px;
98 | }
99 | app-root {
100 | width: 500px;
101 | margin: 0 auto;
102 | display: block;
103 | }
104 | select {
105 | -webkit-appearance: none;
106 | text-indent: .01px;
107 | text-overflow: '';
108 | overflow: hidden;
109 | font-family: inherit;
110 | font-size: 14px;
111 | padding: 10px 50px 10px 15px;
112 | border-radius: 0;
113 | color: rgba(0, 0, 0, 0.7);
114 | border: 1px solid rgba(0, 0, 0, 0.1);
115 | outline: none;
116 | background:
117 | linear-gradient(45deg, transparent 50%, rgba(0, 0, 0, 0.7) 50%)
118 | no-repeat calc(100% - 20px) calc(1em + 4px),
119 | linear-gradient(135deg, rgba(0, 0, 0, 0.7) 50%, transparent 50%)
120 | no-repeat calc(100% - 15px) calc(1em + 4px);
121 | background-size: 5px 5px, 5px 5px;
122 | }
123 |
--------------------------------------------------------------------------------
/webpack.config.js:
--------------------------------------------------------------------------------
1 | const path = require('path');
2 | const webpack = require('webpack');
3 | const typescript = require('typescript');
4 |
5 | const plugins = [
6 | new webpack.DefinePlugin({
7 | 'process.env': {
8 | 'NODE_ENV': JSON.stringify(process.env.NODE_ENV)
9 | }
10 | }),
11 | new webpack.optimize.CommonsChunkPlugin({
12 | name: 'vendor',
13 | minChunks: (module) => module.context && /node_modules/.test(module.context)
14 | })
15 | ];
16 |
17 | if (process.env.NODE_ENV === 'production') {
18 | plugins.push(
19 | new webpack.LoaderOptionsPlugin({
20 | minimize: true,
21 | debug: false
22 | }),
23 | new webpack.optimize.UglifyJsPlugin({
24 | sourceMap: true,
25 | beautify: false,
26 | mangle: {
27 | screw_ie8: true
28 | },
29 | compress: {
30 | unused: true,
31 | dead_code: true,
32 | drop_debugger: true,
33 | conditionals: true,
34 | evaluate: true,
35 | drop_console: true,
36 | sequences: true,
37 | booleans: true,
38 | screw_ie8: true,
39 | warnings: false
40 | },
41 | comments: false
42 | })
43 | );
44 | } else {
45 | plugins.push(
46 | new webpack.NamedModulesPlugin(),
47 | new webpack.ContextReplacementPlugin(/angular(\\|\/)core(\\|\/)@angular/, path.resolve(__dirname, './notfound'))
48 | );
49 | }
50 |
51 | module.exports = {
52 | cache: true,
53 | context: __dirname,
54 | devServer: {
55 | contentBase: path.join(__dirname, 'example'),
56 | historyApiFallback: true,
57 | stats: {
58 | chunks: true,
59 | chunkModules: true,
60 | chunkOrigins: true,
61 | errors: true,
62 | errorDetails: true,
63 | hash: true,
64 | timings: true,
65 | modules: true,
66 | warnings: true
67 | },
68 | publicPath: '/build/',
69 | port: 3000
70 | },
71 | devtool: 'sourcemap',
72 | entry: {
73 | app: ['zone.js/dist/zone', './example/app/main.ts']
74 | },
75 | output: {
76 | filename: '[name].js',
77 | chunkFilename: '[name]-chunk.js',
78 | publicPath: '/build/',
79 | path: path.resolve(__dirname, 'example/build')
80 | },
81 | node: {
82 | console: false,
83 | global: true,
84 | process: true,
85 | Buffer: false,
86 | setImmediate: false
87 | },
88 | module: {
89 | rules: [
90 | {
91 | test: /\.html$/,
92 | loader: 'html-loader'
93 | },
94 | {
95 | test: /\.scss$/,
96 | loaders: ['raw-loader', 'sass-loader']
97 | },
98 | {
99 | test: /\.ts$/,
100 | loaders: ['awesome-typescript-loader', 'angular2-template-loader']
101 | },
102 | {
103 | test: /\.(jpe?g|png|gif|svg)$/i,
104 | loader: 'file-loader'
105 | },
106 | ]
107 | },
108 | resolve: {
109 | extensions: ['.ts', '.js']
110 | },
111 | plugins
112 | };
113 |
--------------------------------------------------------------------------------
/example/app/stock-inventory/components/stock-counter/stock-counter.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, Input, forwardRef } from '@angular/core';
2 | import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';
3 |
4 | const COUNTER_CONTROL_ACCESSOR = {
5 | provide: NG_VALUE_ACCESSOR,
6 | useExisting: forwardRef(() => StockCounterComponent),
7 | multi: true
8 | };
9 |
10 | @Component({
11 | selector: 'stock-counter',
12 | providers: [COUNTER_CONTROL_ACCESSOR],
13 | styleUrls: ['stock-counter.component.scss'],
14 | template: `
15 |
18 |
19 |
24 |
{{ value }}
25 |
26 |
30 | +
31 |
32 |
36 | -
37 |
38 |
39 |
40 |
41 |
42 | `
43 | })
44 | export class StockCounterComponent implements ControlValueAccessor {
45 |
46 | private onTouch: Function;
47 | private onModelChange: Function;
48 |
49 | registerOnTouched(fn) {
50 | this.onTouch = fn;
51 | }
52 |
53 | registerOnChange(fn) {
54 | this.onModelChange = fn;
55 | }
56 |
57 | writeValue(value) {
58 | this.value = value || 0;
59 | }
60 |
61 | @Input() step: number = 10;
62 | @Input() min: number = 10;
63 | @Input() max: number = 1000;
64 |
65 | value: number = 10;
66 |
67 | focus: boolean;
68 |
69 | onKeyDown(event: KeyboardEvent) {
70 |
71 | const handlers = {
72 | ArrowDown: () => this.decrement(),
73 | ArrowUp: () => this.increment()
74 | };
75 |
76 | if (handlers[event.code]) {
77 | handlers[event.code]();
78 | event.preventDefault();
79 | event.stopPropagation();
80 | }
81 | this.onTouch();
82 | }
83 |
84 | onBlur(event: FocusEvent) {
85 | this.focus = false;
86 | event.preventDefault();
87 | event.stopPropagation();
88 | this.onTouch();
89 | }
90 | onFocus(event: FocusEvent) {
91 | this.focus = true;
92 | event.preventDefault();
93 | event.stopPropagation();
94 | this.onTouch();
95 | }
96 |
97 | increment() {
98 | if (this.value < this.max) {
99 | this.value = this.value + this.step;
100 | this.onModelChange(this.value);
101 | }
102 | this.onTouch();
103 | }
104 | decrement() {
105 | if (this.value > this.min) {
106 | this.value = this.value - this.step;
107 | this.onModelChange(this.value);
108 | }
109 | this.onTouch();
110 | }
111 | }
--------------------------------------------------------------------------------
/example/app/stock-inventory/containers/stock-inventory/stock-inventory.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, OnInit } from '@angular/core';
2 | import { FormBuilder, FormGroup, FormArray, Validators, AbstractControl } from '@angular/forms';
3 |
4 | import { StockValidators } from './stock-inventory.validators';
5 |
6 | import { Observable } from 'rxjs/Observable';
7 | import 'rxjs/add/observable/forkJoin';
8 | import 'rxjs/add/operator/map';
9 |
10 | import { StockInventoryService } from '../../services/stock-inventory.service';
11 |
12 | import { Product, Item } from '../../models/product.interface';
13 |
14 | @Component({
15 | selector: 'stock-inventory',
16 | styleUrls: ['stock-inventory.component.scss'],
17 | template: `
18 |
53 | `
54 | })
55 | export class StockInventoryComponent implements OnInit {
56 |
57 | products: Product[];
58 |
59 | total: number;
60 |
61 | productMap: Map;
62 |
63 | form = this.fb.group({
64 | store: this.fb.group({
65 | branch: [
66 | '',
67 | [Validators.required, StockValidators.checkBranch],
68 | [this.validateBranch.bind(this)]
69 | ],
70 | code: ['', [Validators.required, Validators.minLength(2), Validators.maxLength(5)]]
71 | }),
72 | selector: this.createStock({}),
73 | stock: this.fb.array([])
74 | }, { validator: StockValidators.checkStockExists });
75 |
76 | constructor(
77 | private fb: FormBuilder,
78 | private stockService: StockInventoryService
79 | ) {}
80 |
81 | ngOnInit() {
82 | const cart = this.stockService.getCartItems();
83 | const products = this.stockService.getProducts();
84 |
85 | Observable
86 | .forkJoin(cart, products)
87 | .subscribe(([cart, products]: [Item[], Product[]]) => {
88 |
89 | const myMap = products
90 | .map<[number, Product]>(product => [product.id, product]);
91 |
92 | this.productMap = new Map(myMap);
93 | this.products = products;
94 | cart.forEach(item => this.addStock(item));
95 |
96 | this.calculateTotal(this.form.get('stock').value);
97 | this.form.get('stock')
98 | .valueChanges.subscribe(value => this.calculateTotal(value));
99 |
100 | });
101 |
102 | }
103 |
104 | validateBranch(control: AbstractControl) {
105 | return this.stockService
106 | .checkBranchId(control.value)
107 | .map((response: boolean) => response ? null : { unknownBranch: true });
108 | }
109 |
110 | calculateTotal(value: Item[]) {
111 | const total = value.reduce((prev, next) => {
112 | return prev + (next.quantity * this.productMap.get(next.product_id).price);
113 | }, 0);
114 | this.total = total;
115 | }
116 |
117 | createStock(stock) {
118 | return this.fb.group({
119 | product_id: parseInt(stock.product_id, 10) || '',
120 | quantity: stock.quantity || 10
121 | });
122 | }
123 |
124 | addStock(stock) {
125 | const control = this.form.get('stock') as FormArray;
126 | control.push(this.createStock(stock));
127 | }
128 |
129 | removeStock({ group, index }: { group: FormGroup, index: number }) {
130 | const control = this.form.get('stock') as FormArray;
131 | control.removeAt(index);
132 | }
133 |
134 | onSubmit() {
135 | console.log('Submit:', this.form.value);
136 | }
137 | }
138 |
--------------------------------------------------------------------------------
/src/test/ngxerrors.spec.ts:
--------------------------------------------------------------------------------
1 | import { ComponentFixture, TestBed } from '@angular/core/testing';
2 | import { BrowserDynamicTestingModule, platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing';
3 | import { Component, DebugElement } from '@angular/core';
4 | import { FormBuilder, FormGroup, Validators, ReactiveFormsModule } from '@angular/forms';
5 |
6 | import { NgxErrorsModule } from '../ngxerrors.module';
7 | import { NgxErrorDirective } from '../ngxerror.directive';
8 |
9 | import { By } from '@angular/platform-browser';
10 |
11 | TestBed.initTestEnvironment(
12 | BrowserDynamicTestingModule,
13 | platformBrowserDynamicTesting()
14 | );
15 |
16 | @Component({
17 | template: `
18 |
43 | `
44 | })
45 | class AppComponent {
46 | form = this.fb.group({
47 | prop: ['', [Validators.required, Validators.minLength(5), Validators.maxLength(10)]]
48 | });
49 | constructor(private fb: FormBuilder) {}
50 | }
51 |
52 | describe('Directives: ngxErrors, ngxError, when', () => {
53 |
54 | let component: AppComponent;
55 | let fixture: ComponentFixture;
56 | let el: DebugElement;
57 |
58 | beforeEach(() => {
59 | TestBed.configureTestingModule({
60 | imports: [
61 | ReactiveFormsModule,
62 | NgxErrorsModule
63 | ],
64 | declarations: [
65 | AppComponent
66 | ]
67 | });
68 |
69 | fixture = TestBed.createComponent(AppComponent);
70 | component = fixture.componentInstance;
71 | el = fixture.debugElement;
72 |
73 | fixture.detectChanges();
74 | });
75 |
76 | it('should hide all ngxError directives on load', () => {
77 |
78 | const elements = el.queryAll(By.directive(NgxErrorDirective));
79 | expect(elements.every((element) => element.nativeElement.hasAttribute('hidden'))).toBe(true);
80 |
81 | });
82 |
83 | it('should show ngxError[required] when required is true and dirty', async (done) => {
84 |
85 | const element = el.queryAll(By.directive(NgxErrorDirective))[0];
86 |
87 | expect(component.form.get('prop').dirty).toBe(false);
88 | component.form.patchValue({ prop: 'ngxErrors' });
89 | component.form.get('prop').markAsDirty();
90 | fixture.detectChanges();
91 | await fixture.whenStable();
92 | expect(component.form.get('prop').dirty).toBe(true);
93 | expect(element.nativeElement.hasAttribute('hidden')).toBe(true);
94 | expect(component.form.get('prop').hasError('required')).toBe(false);
95 |
96 | component.form.patchValue({ prop: null });
97 | fixture.detectChanges();
98 | await fixture.whenStable();
99 | expect(element.nativeElement.hasAttribute('hidden')).toBe(false);
100 | expect(component.form.get('prop').hasError('required')).toBe(true);
101 |
102 | done();
103 |
104 | });
105 |
106 | it('should show ngxError[minlength | maxlength] when either are true, touched and dirty', async (done) => {
107 |
108 | const element = el.queryAll(By.directive(NgxErrorDirective))[1];
109 | expect(component.form.get('prop').dirty).toBe(false);
110 | expect(component.form.get('prop').touched).toBe(false);
111 | component.form.patchValue({ prop: 'ngxErrors' });
112 | component.form.get('prop').markAsDirty();
113 | component.form.get('prop').markAsTouched();
114 | fixture.detectChanges();
115 | await fixture.whenStable();
116 | expect(component.form.get('prop').dirty).toBe(true);
117 | expect(component.form.get('prop').touched).toBe(true);
118 | expect(element.nativeElement.hasAttribute('hidden')).toBe(true);
119 | expect(component.form.get('prop').hasError('minlength')).toBe(false);
120 | expect(component.form.get('prop').hasError('maxlength')).toBe(false);
121 |
122 | component.form.patchValue({ prop: 'ngx' });
123 | fixture.detectChanges();
124 | await fixture.whenStable();
125 | expect(element.nativeElement.hasAttribute('hidden')).toBe(false);
126 | expect(component.form.get('prop').hasError('minlength')).toBe(true);
127 | expect(component.form.get('prop').hasError('maxlength')).toBe(false);
128 |
129 | component.form.patchValue({ prop: 'ngxErrors!!!!!' });
130 | fixture.detectChanges();
131 | await fixture.whenStable();
132 | expect(element.nativeElement.hasAttribute('hidden')).toBe(false);
133 | expect(component.form.get('prop').hasError('minlength')).toBe(false);
134 | expect(component.form.get('prop').hasError('maxlength')).toBe(true);
135 |
136 | done();
137 |
138 | });
139 |
140 | it('should provide a template ref API via ngxErrors exportAs', async (done) => {
141 |
142 | const parse = (name) => JSON.parse(el.query(By.css(name)).nativeElement.textContent);
143 |
144 | await fixture.whenStable();
145 |
146 | fixture.changeDetectorRef.markForCheck();
147 | fixture.detectChanges();
148 | await fixture.whenStable();
149 |
150 | const element = el.query(By.css('input.prop'));
151 | expect(element.nativeElement.classList.contains('requiredVisibleAtRuntime')).toBe(true);
152 | expect(element.nativeElement.classList.contains('requiredVisibleWhenDirty')).toBe(false);
153 | expect(element.nativeElement.classList.contains('requiredVisibleWhenDirtyTouched')).toBe(false);
154 | expect(parse('.errorProp3')).toBe(false);
155 | expect(parse('.errorProp4')).toBe(false);
156 |
157 | component.form.patchValue({ prop: 'ngxErrors' });
158 | component.form.get('prop').markAsDirty();
159 | component.form.get('prop').markAsTouched();
160 | fixture.detectChanges();
161 | await fixture.whenStable();
162 | expect(component.form.get('prop').dirty).toBe(true);
163 | expect(component.form.get('prop').touched).toBe(true);
164 | expect(parse('.errorProp3')).toBe(true);
165 | expect(parse('.errorProp4')).toBe(true);
166 | expect(element.nativeElement.classList.contains('requiredVisibleAtRuntime')).toBe(false);
167 | component.form.patchValue({ prop: '' });
168 | fixture.detectChanges();
169 | await fixture.whenStable();
170 | expect(element.nativeElement.classList.contains('requiredVisibleWhenDirty')).toBe(true);
171 | expect(element.nativeElement.classList.contains('requiredVisibleWhenDirtyTouched')).toBe(true);
172 | expect(parse('.errorProp3')).toBe(false);
173 | expect(parse('.errorProp4')).toBe(false);
174 |
175 | component.form.patchValue({ prop: 'ngx' });
176 | fixture.detectChanges();
177 | await fixture.whenStable();
178 | expect(element.nativeElement.classList.contains('requiredVisibleAtRuntime')).toBe(false);
179 | expect(element.nativeElement.classList.contains('requiredVisibleWhenDirty')).toBe(false);
180 | expect(element.nativeElement.classList.contains('requiredVisibleWhenDirtyTouched')).toBe(false);
181 | expect(element.nativeElement.classList.contains('visibleAnyErrorDirtyTouched')).toBe(true);
182 | expect(component.form.get('prop').hasError('required')).toBe(false);
183 | expect(component.form.get('prop').hasError('minlength')).toBe(true);
184 | expect(component.form.get('prop').hasError('maxlength')).toBe(false);
185 | expect(el.query(By.css('.errorMinLength')).nativeElement.textContent).toContain('5 characters minimum');
186 | expect(parse('.errorProp3')).toBe(false);
187 | expect(parse('.errorProp4')).toBe(true);
188 |
189 | component.form.patchValue({ prop: 'ngxErrors!!!!!' });
190 | fixture.detectChanges();
191 | await fixture.whenStable();
192 | expect(element.nativeElement.classList.contains('requiredVisibleAtRuntime')).toBe(false);
193 | expect(element.nativeElement.classList.contains('requiredVisibleWhenDirty')).toBe(false);
194 | expect(element.nativeElement.classList.contains('requiredVisibleWhenDirtyTouched')).toBe(false);
195 | expect(element.nativeElement.classList.contains('visibleAnyErrorDirtyTouched')).toBe(true);
196 | expect(component.form.get('prop').hasError('required')).toBe(false);
197 | expect(component.form.get('prop').hasError('minlength')).toBe(false);
198 | expect(component.form.get('prop').hasError('maxlength')).toBe(true);
199 | expect(el.query(By.css('.errorMinLength')).nativeElement.textContent).toContain('10 characters maximum');
200 |
201 | expect(parse('.errorProp1').maxlength.requiredLength).toBe(10);
202 | expect(parse('.errorProp1').maxlength.actualLength).toBe(14);
203 | expect(parse('.errorProp2')).toBe(true);
204 | expect(parse('.errorProp3')).toBe(false);
205 | expect(parse('.errorProp4')).toBe(true);
206 |
207 | done();
208 |
209 | });
210 |
211 | });
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | [![Build Status][circle-badge]][circle-badge-url]
2 | [![Dependency Status][david-badge]][david-badge-url]
3 | [![devDependency Status][david-dev-badge]][david-dev-badge-url]
4 | [![npm][npm-badge]][npm-badge-url]
5 |
6 |
7 |
8 | ngx-errors
9 |
10 | A declarative validation errors module for reactive forms.
11 |
12 | ---
13 |
14 |
15 |
16 | ---
17 |
18 |
24 |
25 | ---
26 |
27 | # Overview
28 |
29 | Why use ngx-errors, how to install and use.
30 |
31 | ### What is it?
32 |
33 | Declarative validation error messages for reactive forms.
34 |
35 | Typically you'd do something like this:
36 |
37 | ```js
38 |
39 |
40 |
41 |
42 | Field is required
43 |
44 |
45 | Min length is 5
46 |
47 | ```
48 |
49 | With ngxErrors, we've taken a simple declarative approach that cleans up your templates to make validation easier:
50 |
51 | ```js
52 |
53 |
54 |
55 |
56 |
57 | Field is required
58 |
59 |
60 | Min length is 5
61 |
62 |
63 | ```
64 |
65 | Check out the documentation below for all the syntax we provide.
66 |
67 | ### Installation
68 |
69 | ```bash
70 | yarn add @ultimate/ngxerrors
71 |
72 | # OR
73 |
74 | npm i @ultimate/ngxerrors
75 | ```
76 |
77 | ### Setup
78 |
79 | Just add ngx-errors to your module:
80 |
81 | ```js
82 | import { NgxErrorsModule } from '@ultimate/ngxerrors';
83 |
84 | @NgModule({ imports: [ NgxErrorsModule ] })
85 | ```
86 |
87 | # Documentation
88 |
89 | ### ngxErrors
90 |
91 | The `ngxErrors` directive works by dynamically fetching your FormControl under-the-hood, so simply take your `formControlName` value and pass it into `ngxErrors`:
92 |
93 | ```html
94 |
95 |
96 | // ...
97 |
98 | ```
99 |
100 | This needs to be on a parent container that will encapsulate child `ngxError` directives.
101 |
102 | ### ngxError
103 |
104 | The `ngxError` directive takes either a `string` or `array` as arguments. The argument you pass in corresponds to any active errors exposed on your control, such as "required" or "minlength":
105 |
106 | ```html
107 |
108 |
109 |
110 | Min length is 5
111 |
112 |
113 | ```
114 |
115 | > Note: when using array syntax, `[]` bindings are needed
116 |
117 | Using the array syntax, when any condition in the array is true the error will be shown:
118 |
119 | ```html
120 |
121 |
122 |
123 | Min length is 5, max length is 10
124 |
125 |
126 | ```
127 |
128 | ### ngxError #when
129 |
130 | The `when` directive takes either a `string` or `array` as arguments. It allows you to specify when you wish to display the error based on the control state, such as "dirty" or "touched":
131 |
132 | ```html
133 |
134 |
135 |
136 | Min length is 5
137 |
138 |
139 | ```
140 |
141 | It also comes in array format for multiple rules:
142 |
143 | ```html
144 |
145 |
146 |
147 | Min length is 5
148 |
149 |
150 | ```
151 |
152 | ### Dynamic errors
153 |
154 | You can optionally data-bind and dynamically create validation errors with ngxErrors:
155 |
156 | ```html
157 |
158 |
159 |
160 | {{ error.text }}
161 |
162 |
163 | ```
164 |
165 | With corresponding component class:
166 |
167 | ```js
168 | @Component({...})
169 | export class MyComponent {
170 | errors = [
171 | { name: 'required', text: 'This field is required', rules: ['touched', 'dirty'] },
172 | { name: 'minlength', text: 'Min length is 5', rules: ['dirty'] }
173 | ];
174 | }
175 | ```
176 |
177 | ### Nested FormGroup support
178 |
179 | ngxErrors also supports FormGroups with control names using dot notation:
180 |
181 | ```html
182 |
183 |
184 |
185 |
186 | Min length is 5
187 |
188 |
189 |
190 | ```
191 |
192 | ### Exported Directive API
193 |
194 | ngx-errors exports itself as `ngxErrors`, which means you can access information about your control error states elsewhere in your template using a template reference, such as `#foo`.
195 |
196 | Basic usage:
197 |
198 | ```html
199 |
200 | ```
201 |
202 | #### getError(name: string): any;
203 |
204 | The `getError` method returns the object associated with your error. This can be useful for dynamically displaying error rules.
205 |
206 | > Example: Adds `Min length is 5` when value is less than 5 characters (based on `Validators.minLength(5)`).
207 |
208 | ```html
209 |
210 |
211 |
212 |
213 | Min length should be {{ myError.getError('minlength')?.requiredLength }}
214 |
215 |
216 | ```
217 |
218 | > The error returned is identical to Angular's FormControl API
219 |
220 | #### hasError(name: string, conditions?: string | string[]): boolean;
221 |
222 | The `hasError` method informs you if your control has the given error. This can be useful for styling elsewhere in your template based off the control's error state.
223 |
224 | > Example: Adds `class="required"` when "myError" has the `required` error.
225 |
226 | ```html
227 |
228 |
229 |
230 |
231 |
232 |
233 | Field is required
234 |
235 |
236 | ```
237 |
238 | You can optionally pass in conditions in which to activate the error.
239 |
240 | > Example: Adds `class="required"` when "myError" has the `required` error _and_ the states are `'dirty'` and `'touched'`.
241 |
242 | ```html
243 |
244 |
245 |
246 |
247 |
248 |
249 | Field is required
250 |
251 |
252 | ```
253 |
254 | You can also use the "catch-all" selector to get the state of your entire control's validity, alongside on an optional state collection.
255 |
256 | ```html
257 |
265 |
266 |
267 |
268 | Field is required
269 |
270 |
271 | ```
272 |
273 | #### isValid(name: string, conditions?: string | string[]): boolean;
274 |
275 | The `isValid` method informs you if a your control is valid, or a property is valid. This can be useful for styling elsewhere in your template based off the control's validity state.
276 |
277 | > Example: Adds `class="valid"` when "myError" has no `required` error.
278 |
279 | ```html
280 |
281 |
282 |
283 |
284 |
285 |
286 | Field is required
287 |
288 |
289 | ```
290 |
291 | You can optionally pass in conditions in which to evaluate alongside the property you're checking is valid.
292 |
293 | > Example: Adds `class="valid"` when "myError" has no `required` error _and_ the states are `'dirty'` and `'touched'`.
294 |
295 | ```html
296 |
297 |
298 |
299 |
300 |
301 |
302 | Field is required
303 |
304 |
305 | ```
306 |
307 | You can also use the "catch-all" selector to check if the control is valid, with no specific error properties, alongside on an optional state collection.
308 |
309 | ```html
310 |
318 |
319 |
320 |
321 | Field is required
322 |
323 |
324 | ```
325 |
326 | #### hasErrors: boolean;
327 |
328 | The `hasErrors` property returns `true` if your control has any number of errors. This can be useful for styling elsewhere in your template on a global control level rather than individual errors.
329 |
330 | > Example: Adds `class="errors"` when "myError" has any errors.
331 |
332 | ```html
333 |
334 |
335 |
336 |
337 |
338 |
339 | Field is required
340 |
341 |
342 | Min length is 5
343 |
344 |
345 | ```
346 |
347 | #### errors: { [key: string]: any; };
348 |
349 | The `errors` property returns the object associated with any active errors. This can be used to access any error properties on your control.
350 |
351 | > Example: Adds `Max length is 10, you typed (n)` when value is more than 10 characters (based on `Validators.maxLength(10)`).
352 |
353 | ```html
354 |
355 |
356 |
357 |
...
358 |
...
359 |
360 |
361 |
362 | Max length is 10, you typed {{ myError.errors.maxlength.actualLength }}
363 |
364 | ```
365 |
366 | > The errors returned are identical to Angular's FormControl API
367 |
368 | [circle-badge]: https://circleci.com/gh/UltimateAngular/ngxerrors.svg?style=shield
369 | [circle-badge-url]: https://circleci.com/gh/UltimateAngular/ngxerrors
370 | [david-badge]: https://david-dm.org/UltimateAngular/ngxerrors.svg
371 | [david-badge-url]: https://david-dm.org/UltimateAngular/ngxerrors
372 | [david-dev-badge]: https://david-dm.org/UltimateAngular/ngxerrors/dev-status.svg
373 | [david-dev-badge-url]: https://david-dm.org/UltimateAngular/ngxerrors?type=dev
374 | [npm-badge]: https://img.shields.io/npm/v/@ultimate/ngxerrors.svg
375 | [npm-badge-url]: https://www.npmjs.com/package/@ultimate/ngxerrors
376 |
377 | # Contributing
378 |
379 | Please see the [contributing](CONTRIBUTING.md) guidelines.
380 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@angular/animations@4.1.0":
6 | version "4.1.0"
7 | resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-4.1.0.tgz#97b642aee01b5406e03ec65e499342ba91e2dd38"
8 |
9 | "@angular/common@4.1.0":
10 | version "4.1.0"
11 | resolved "https://registry.yarnpkg.com/@angular/common/-/common-4.1.0.tgz#4370f569e51ddd99963b7f4aa58c1a5dcc5fea52"
12 |
13 | "@angular/compiler-cli@4.1.0":
14 | version "4.1.0"
15 | resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-4.1.0.tgz#727aaada8bfd94285e9818995925048f7fdf1200"
16 | dependencies:
17 | "@angular/tsc-wrapped" "4.1.0"
18 | minimist "^1.2.0"
19 | reflect-metadata "^0.1.2"
20 |
21 | "@angular/compiler@4.1.0":
22 | version "4.1.0"
23 | resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-4.1.0.tgz#be1ade5b6aec81f03c29d52bcb95925a28900dcb"
24 |
25 | "@angular/core@4.1.0":
26 | version "4.1.0"
27 | resolved "https://registry.yarnpkg.com/@angular/core/-/core-4.1.0.tgz#72ec173316879571880c9c483ed6dfc0caab94b0"
28 |
29 | "@angular/forms@4.1.0":
30 | version "4.1.0"
31 | resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-4.1.0.tgz#8eae2a45c4ba064b377f9280e59c012b5dac6b80"
32 |
33 | "@angular/http@4.1.0":
34 | version "4.1.0"
35 | resolved "https://registry.yarnpkg.com/@angular/http/-/http-4.1.0.tgz#7ba0c4d044dee964021b7cf19cb146a2c31577a5"
36 |
37 | "@angular/platform-browser-dynamic@4.1.0":
38 | version "4.1.0"
39 | resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-4.1.0.tgz#0250d82d4abd36be60bb31fc7448ac6e28036690"
40 |
41 | "@angular/platform-browser@4.1.0":
42 | version "4.1.0"
43 | resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-4.1.0.tgz#b981386be1a36f2af7f0679447fd97b7267b25de"
44 |
45 | "@angular/router@4.1.0":
46 | version "4.1.0"
47 | resolved "https://registry.yarnpkg.com/@angular/router/-/router-4.1.0.tgz#dd3563662f95ca3aa3dd9ff13c6ed4bea1d90b06"
48 |
49 | "@angular/tsc-wrapped@4.1.0":
50 | version "4.1.0"
51 | resolved "https://registry.yarnpkg.com/@angular/tsc-wrapped/-/tsc-wrapped-4.1.0.tgz#07cbd61d91adde4c2daf9a41605152952b8832b3"
52 | dependencies:
53 | tsickle "^0.21.0"
54 |
55 | "@types/bluebird@*":
56 | version "3.5.2"
57 | resolved "https://registry.yarnpkg.com/@types/bluebird/-/bluebird-3.5.2.tgz#ecf1104217495e50fe0b588d538146cd6f733b89"
58 |
59 | "@types/express-serve-static-core@*":
60 | version "4.0.44"
61 | resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.0.44.tgz#a1c3bd5d80e93c72fba91a03f5412c47f21d4ae7"
62 | dependencies:
63 | "@types/node" "*"
64 |
65 | "@types/express@*":
66 | version "4.0.35"
67 | resolved "https://registry.yarnpkg.com/@types/express/-/express-4.0.35.tgz#6267c7b60a51fac473467b3c4a02cd1e441805fe"
68 | dependencies:
69 | "@types/express-serve-static-core" "*"
70 | "@types/serve-static" "*"
71 |
72 | "@types/jasmine@2.5.46":
73 | version "2.5.46"
74 | resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-2.5.46.tgz#bb3047a3f40f60dee03f52c3e2d955cd3d5066c8"
75 |
76 | "@types/karma@0.13.34":
77 | version "0.13.34"
78 | resolved "https://registry.yarnpkg.com/@types/karma/-/karma-0.13.34.tgz#0ef9df86d109729d19c7ed17bb36dcbd2731c36a"
79 | dependencies:
80 | "@types/bluebird" "*"
81 | "@types/log4js" "*"
82 | "@types/node" "*"
83 |
84 | "@types/log4js@*":
85 | version "0.0.32"
86 | resolved "https://registry.yarnpkg.com/@types/log4js/-/log4js-0.0.32.tgz#c15621cfa96f92ec6b0cfb49096bdd23cd893c7c"
87 | dependencies:
88 | "@types/express" "*"
89 |
90 | "@types/mime@*":
91 | version "0.0.29"
92 | resolved "https://registry.yarnpkg.com/@types/mime/-/mime-0.0.29.tgz#fbcfd330573b912ef59eeee14602bface630754b"
93 |
94 | "@types/node@*", "@types/node@^7.0.12":
95 | version "7.0.12"
96 | resolved "https://registry.yarnpkg.com/@types/node/-/node-7.0.12.tgz#ae5f67a19c15f752148004db07cbbb372e69efc9"
97 |
98 | "@types/serve-static@*":
99 | version "1.7.31"
100 | resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.7.31.tgz#15456de8d98d6b4cff31be6c6af7492ae63f521a"
101 | dependencies:
102 | "@types/express-serve-static-core" "*"
103 | "@types/mime" "*"
104 |
105 | abbrev@1:
106 | version "1.1.0"
107 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f"
108 |
109 | accepts@1.3.3, accepts@~1.3.3:
110 | version "1.3.3"
111 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca"
112 | dependencies:
113 | mime-types "~2.1.11"
114 | negotiator "0.6.1"
115 |
116 | acorn-dynamic-import@^2.0.0:
117 | version "2.0.2"
118 | resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz#c752bd210bef679501b6c6cb7fc84f8f47158cc4"
119 | dependencies:
120 | acorn "^4.0.3"
121 |
122 | acorn@^4.0.3:
123 | version "4.0.11"
124 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.11.tgz#edcda3bd937e7556410d42ed5860f67399c794c0"
125 |
126 | acorn@^5.0.0:
127 | version "5.0.3"
128 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.0.3.tgz#c460df08491463f028ccb82eab3730bf01087b3d"
129 |
130 | after@0.8.2:
131 | version "0.8.2"
132 | resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f"
133 |
134 | ajv-keywords@^1.1.1:
135 | version "1.5.1"
136 | resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c"
137 |
138 | ajv@^4.7.0, ajv@^4.9.1:
139 | version "4.11.6"
140 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.6.tgz#947e93049790942b2a2d60a8289b28924d39f987"
141 | dependencies:
142 | co "^4.6.0"
143 | json-stable-stringify "^1.0.1"
144 |
145 | align-text@^0.1.1, align-text@^0.1.3:
146 | version "0.1.4"
147 | resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
148 | dependencies:
149 | kind-of "^3.0.2"
150 | longest "^1.0.1"
151 | repeat-string "^1.5.2"
152 |
153 | amdefine@>=0.0.4:
154 | version "1.0.1"
155 | resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
156 |
157 | angular2-template-loader@0.6.2:
158 | version "0.6.2"
159 | resolved "https://registry.yarnpkg.com/angular2-template-loader/-/angular2-template-loader-0.6.2.tgz#c0d44e90fff0fac95e8b23f043acda7fd1c51d7c"
160 | dependencies:
161 | loader-utils "^0.2.15"
162 |
163 | ansi-html@0.0.7:
164 | version "0.0.7"
165 | resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e"
166 |
167 | ansi-regex@^2.0.0:
168 | version "2.1.1"
169 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
170 |
171 | ansi-styles@^2.2.1:
172 | version "2.2.1"
173 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
174 |
175 | anymatch@^1.3.0:
176 | version "1.3.0"
177 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507"
178 | dependencies:
179 | arrify "^1.0.0"
180 | micromatch "^2.1.5"
181 |
182 | aproba@^1.0.3:
183 | version "1.1.1"
184 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.1.tgz#95d3600f07710aa0e9298c726ad5ecf2eacbabab"
185 |
186 | are-we-there-yet@~1.1.2:
187 | version "1.1.2"
188 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz#80e470e95a084794fe1899262c5667c6e88de1b3"
189 | dependencies:
190 | delegates "^1.0.0"
191 | readable-stream "^2.0.0 || ^1.1.13"
192 |
193 | arr-diff@^2.0.0:
194 | version "2.0.0"
195 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf"
196 | dependencies:
197 | arr-flatten "^1.0.1"
198 |
199 | arr-flatten@^1.0.1:
200 | version "1.0.1"
201 | resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.1.tgz#e5ffe54d45e19f32f216e91eb99c8ce892bb604b"
202 |
203 | array-find-index@^1.0.1:
204 | version "1.0.2"
205 | resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
206 |
207 | array-flatten@1.1.1:
208 | version "1.1.1"
209 | resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
210 |
211 | array-slice@^0.2.3:
212 | version "0.2.3"
213 | resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-0.2.3.tgz#dd3cfb80ed7973a75117cdac69b0b99ec86186f5"
214 |
215 | array-unique@^0.2.1:
216 | version "0.2.1"
217 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
218 |
219 | arraybuffer.slice@0.0.6:
220 | version "0.0.6"
221 | resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz#f33b2159f0532a3f3107a272c0ccfbd1ad2979ca"
222 |
223 | arrify@^1.0.0:
224 | version "1.0.1"
225 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
226 |
227 | asn1.js@^4.0.0:
228 | version "4.9.1"
229 | resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.1.tgz#48ba240b45a9280e94748990ba597d216617fd40"
230 | dependencies:
231 | bn.js "^4.0.0"
232 | inherits "^2.0.1"
233 | minimalistic-assert "^1.0.0"
234 |
235 | asn1@~0.2.3:
236 | version "0.2.3"
237 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86"
238 |
239 | assert-plus@1.0.0, assert-plus@^1.0.0:
240 | version "1.0.0"
241 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
242 |
243 | assert-plus@^0.2.0:
244 | version "0.2.0"
245 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234"
246 |
247 | assert@^1.1.1:
248 | version "1.4.1"
249 | resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91"
250 | dependencies:
251 | util "0.10.3"
252 |
253 | ast-types@0.9.6:
254 | version "0.9.6"
255 | resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.6.tgz#102c9e9e9005d3e7e3829bf0c4fa24ee862ee9b9"
256 |
257 | async-each@^1.0.0:
258 | version "1.0.1"
259 | resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d"
260 |
261 | async-foreach@^0.1.3:
262 | version "0.1.3"
263 | resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542"
264 |
265 | async@^1.5.2:
266 | version "1.5.2"
267 | resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
268 |
269 | async@^2.1.2, async@^2.1.5:
270 | version "2.3.0"
271 | resolved "https://registry.yarnpkg.com/async/-/async-2.3.0.tgz#1013d1051047dd320fe24e494d5c66ecaf6147d9"
272 | dependencies:
273 | lodash "^4.14.0"
274 |
275 | async@~0.9.0:
276 | version "0.9.2"
277 | resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d"
278 |
279 | asynckit@^0.4.0:
280 | version "0.4.0"
281 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
282 |
283 | awesome-typescript-loader@3.1.2:
284 | version "3.1.2"
285 | resolved "https://registry.yarnpkg.com/awesome-typescript-loader/-/awesome-typescript-loader-3.1.2.tgz#3df192b91a6285f795ca65e63aad114fbb44f710"
286 | dependencies:
287 | colors "^1.1.2"
288 | enhanced-resolve "^3.1.0"
289 | loader-utils "^1.0.2"
290 | lodash "^4.17.4"
291 | mkdirp "^0.5.1"
292 | object-assign "^4.1.1"
293 | source-map-support "^0.4.11"
294 |
295 | aws-sign2@~0.6.0:
296 | version "0.6.0"
297 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f"
298 |
299 | aws4@^1.2.1:
300 | version "1.6.0"
301 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e"
302 |
303 | backo2@1.0.2:
304 | version "1.0.2"
305 | resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947"
306 |
307 | balanced-match@^0.4.1:
308 | version "0.4.2"
309 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
310 |
311 | base64-arraybuffer@0.1.5:
312 | version "0.1.5"
313 | resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8"
314 |
315 | base64-js@^1.0.2:
316 | version "1.2.0"
317 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1"
318 |
319 | base64id@1.0.0:
320 | version "1.0.0"
321 | resolved "https://registry.yarnpkg.com/base64id/-/base64id-1.0.0.tgz#47688cb99bb6804f0e06d3e763b1c32e57d8e6b6"
322 |
323 | batch@0.5.3:
324 | version "0.5.3"
325 | resolved "https://registry.yarnpkg.com/batch/-/batch-0.5.3.tgz#3f3414f380321743bfc1042f9a83ff1d5824d464"
326 |
327 | bcrypt-pbkdf@^1.0.0:
328 | version "1.0.1"
329 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d"
330 | dependencies:
331 | tweetnacl "^0.14.3"
332 |
333 | better-assert@~1.0.0:
334 | version "1.0.2"
335 | resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522"
336 | dependencies:
337 | callsite "1.0.0"
338 |
339 | big.js@^3.1.3:
340 | version "3.1.3"
341 | resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978"
342 |
343 | binary-extensions@^1.0.0:
344 | version "1.8.0"
345 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774"
346 |
347 | blob@0.0.4:
348 | version "0.0.4"
349 | resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.4.tgz#bcf13052ca54463f30f9fc7e95b9a47630a94921"
350 |
351 | block-stream@*:
352 | version "0.0.9"
353 | resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
354 | dependencies:
355 | inherits "~2.0.0"
356 |
357 | bluebird@^3.3.0:
358 | version "3.5.0"
359 | resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c"
360 |
361 | bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0:
362 | version "4.11.6"
363 | resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215"
364 |
365 | body-parser@^1.16.1:
366 | version "1.17.1"
367 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.17.1.tgz#75b3bc98ddd6e7e0d8ffe750dfaca5c66993fa47"
368 | dependencies:
369 | bytes "2.4.0"
370 | content-type "~1.0.2"
371 | debug "2.6.1"
372 | depd "~1.1.0"
373 | http-errors "~1.6.1"
374 | iconv-lite "0.4.15"
375 | on-finished "~2.3.0"
376 | qs "6.4.0"
377 | raw-body "~2.2.0"
378 | type-is "~1.6.14"
379 |
380 | boom@2.x.x:
381 | version "2.10.1"
382 | resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f"
383 | dependencies:
384 | hoek "2.x.x"
385 |
386 | brace-expansion@^1.0.0:
387 | version "1.1.6"
388 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9"
389 | dependencies:
390 | balanced-match "^0.4.1"
391 | concat-map "0.0.1"
392 |
393 | braces@^0.1.2:
394 | version "0.1.5"
395 | resolved "https://registry.yarnpkg.com/braces/-/braces-0.1.5.tgz#c085711085291d8b75fdd74eab0f8597280711e6"
396 | dependencies:
397 | expand-range "^0.1.0"
398 |
399 | braces@^1.8.2:
400 | version "1.8.5"
401 | resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
402 | dependencies:
403 | expand-range "^1.8.1"
404 | preserve "^0.2.0"
405 | repeat-element "^1.1.2"
406 |
407 | brorand@^1.0.1:
408 | version "1.1.0"
409 | resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
410 |
411 | browserify-aes@^1.0.0, browserify-aes@^1.0.4:
412 | version "1.0.6"
413 | resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.0.6.tgz#5e7725dbdef1fd5930d4ebab48567ce451c48a0a"
414 | dependencies:
415 | buffer-xor "^1.0.2"
416 | cipher-base "^1.0.0"
417 | create-hash "^1.1.0"
418 | evp_bytestokey "^1.0.0"
419 | inherits "^2.0.1"
420 |
421 | browserify-cipher@^1.0.0:
422 | version "1.0.0"
423 | resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.0.tgz#9988244874bf5ed4e28da95666dcd66ac8fc363a"
424 | dependencies:
425 | browserify-aes "^1.0.4"
426 | browserify-des "^1.0.0"
427 | evp_bytestokey "^1.0.0"
428 |
429 | browserify-des@^1.0.0:
430 | version "1.0.0"
431 | resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.0.tgz#daa277717470922ed2fe18594118a175439721dd"
432 | dependencies:
433 | cipher-base "^1.0.1"
434 | des.js "^1.0.0"
435 | inherits "^2.0.1"
436 |
437 | browserify-rsa@^4.0.0:
438 | version "4.0.1"
439 | resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524"
440 | dependencies:
441 | bn.js "^4.1.0"
442 | randombytes "^2.0.1"
443 |
444 | browserify-sign@^4.0.0:
445 | version "4.0.4"
446 | resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298"
447 | dependencies:
448 | bn.js "^4.1.1"
449 | browserify-rsa "^4.0.0"
450 | create-hash "^1.1.0"
451 | create-hmac "^1.1.2"
452 | elliptic "^6.0.0"
453 | inherits "^2.0.1"
454 | parse-asn1 "^5.0.0"
455 |
456 | browserify-zlib@^0.1.4:
457 | version "0.1.4"
458 | resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d"
459 | dependencies:
460 | pako "~0.2.0"
461 |
462 | buffer-shims@~1.0.0:
463 | version "1.0.0"
464 | resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51"
465 |
466 | buffer-xor@^1.0.2:
467 | version "1.0.3"
468 | resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
469 |
470 | buffer@^4.3.0:
471 | version "4.9.1"
472 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298"
473 | dependencies:
474 | base64-js "^1.0.2"
475 | ieee754 "^1.1.4"
476 | isarray "^1.0.0"
477 |
478 | builtin-modules@^1.0.0:
479 | version "1.1.1"
480 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
481 |
482 | builtin-status-codes@^3.0.0:
483 | version "3.0.0"
484 | resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
485 |
486 | bytes@2.3.0:
487 | version "2.3.0"
488 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.3.0.tgz#d5b680a165b6201739acb611542aabc2d8ceb070"
489 |
490 | bytes@2.4.0:
491 | version "2.4.0"
492 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz#7d97196f9d5baf7f6935e25985549edd2a6c2339"
493 |
494 | callsite@1.0.0:
495 | version "1.0.0"
496 | resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20"
497 |
498 | camel-case@3.0.x:
499 | version "3.0.0"
500 | resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73"
501 | dependencies:
502 | no-case "^2.2.0"
503 | upper-case "^1.1.1"
504 |
505 | camelcase-keys@^2.0.0:
506 | version "2.1.0"
507 | resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
508 | dependencies:
509 | camelcase "^2.0.0"
510 | map-obj "^1.0.0"
511 |
512 | camelcase@^1.0.2:
513 | version "1.2.1"
514 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
515 |
516 | camelcase@^2.0.0:
517 | version "2.1.1"
518 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
519 |
520 | camelcase@^3.0.0:
521 | version "3.0.0"
522 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
523 |
524 | caseless@~0.12.0:
525 | version "0.12.0"
526 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
527 |
528 | center-align@^0.1.1:
529 | version "0.1.3"
530 | resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad"
531 | dependencies:
532 | align-text "^0.1.3"
533 | lazy-cache "^1.0.3"
534 |
535 | chalk@^1.0.0, chalk@^1.1.1:
536 | version "1.1.3"
537 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
538 | dependencies:
539 | ansi-styles "^2.2.1"
540 | escape-string-regexp "^1.0.2"
541 | has-ansi "^2.0.0"
542 | strip-ansi "^3.0.0"
543 | supports-color "^2.0.0"
544 |
545 | chokidar@^1.4.1, chokidar@^1.4.3, chokidar@^1.6.0:
546 | version "1.6.1"
547 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.6.1.tgz#2f4447ab5e96e50fb3d789fd90d4c72e0e4c70c2"
548 | dependencies:
549 | anymatch "^1.3.0"
550 | async-each "^1.0.0"
551 | glob-parent "^2.0.0"
552 | inherits "^2.0.1"
553 | is-binary-path "^1.0.0"
554 | is-glob "^2.0.0"
555 | path-is-absolute "^1.0.0"
556 | readdirp "^2.0.0"
557 | optionalDependencies:
558 | fsevents "^1.0.0"
559 |
560 | cipher-base@^1.0.0, cipher-base@^1.0.1:
561 | version "1.0.3"
562 | resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.3.tgz#eeabf194419ce900da3018c207d212f2a6df0a07"
563 | dependencies:
564 | inherits "^2.0.1"
565 |
566 | clean-css@4.0.x:
567 | version "4.0.11"
568 | resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.0.11.tgz#a6d88bffb399420b24298db49d99a1ed067534a8"
569 | dependencies:
570 | source-map "0.5.x"
571 |
572 | cliui@^2.1.0:
573 | version "2.1.0"
574 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
575 | dependencies:
576 | center-align "^0.1.1"
577 | right-align "^0.1.1"
578 | wordwrap "0.0.2"
579 |
580 | cliui@^3.2.0:
581 | version "3.2.0"
582 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"
583 | dependencies:
584 | string-width "^1.0.1"
585 | strip-ansi "^3.0.1"
586 | wrap-ansi "^2.0.0"
587 |
588 | clone-deep@^0.2.4:
589 | version "0.2.4"
590 | resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-0.2.4.tgz#4e73dd09e9fb971cc38670c5dced9c1896481cc6"
591 | dependencies:
592 | for-own "^0.1.3"
593 | is-plain-object "^2.0.1"
594 | kind-of "^3.0.2"
595 | lazy-cache "^1.0.3"
596 | shallow-clone "^0.1.2"
597 |
598 | co@^4.6.0:
599 | version "4.6.0"
600 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
601 |
602 | code-point-at@^1.0.0:
603 | version "1.1.0"
604 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
605 |
606 | colors@^1.1.0, colors@^1.1.2:
607 | version "1.1.2"
608 | resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63"
609 |
610 | combine-lists@^1.0.0:
611 | version "1.0.1"
612 | resolved "https://registry.yarnpkg.com/combine-lists/-/combine-lists-1.0.1.tgz#458c07e09e0d900fc28b70a3fec2dacd1d2cb7f6"
613 | dependencies:
614 | lodash "^4.5.0"
615 |
616 | combined-stream@^1.0.5, combined-stream@~1.0.5:
617 | version "1.0.5"
618 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009"
619 | dependencies:
620 | delayed-stream "~1.0.0"
621 |
622 | commander@2.9.x:
623 | version "2.9.0"
624 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
625 | dependencies:
626 | graceful-readlink ">= 1.0.0"
627 |
628 | component-bind@1.0.0:
629 | version "1.0.0"
630 | resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1"
631 |
632 | component-emitter@1.1.2:
633 | version "1.1.2"
634 | resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.1.2.tgz#296594f2753daa63996d2af08d15a95116c9aec3"
635 |
636 | component-emitter@1.2.1:
637 | version "1.2.1"
638 | resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
639 |
640 | component-inherit@0.0.3:
641 | version "0.0.3"
642 | resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143"
643 |
644 | compressible@~2.0.8:
645 | version "2.0.10"
646 | resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.10.tgz#feda1c7f7617912732b29bf8cf26252a20b9eecd"
647 | dependencies:
648 | mime-db ">= 1.27.0 < 2"
649 |
650 | compression@^1.5.2:
651 | version "1.6.2"
652 | resolved "https://registry.yarnpkg.com/compression/-/compression-1.6.2.tgz#cceb121ecc9d09c52d7ad0c3350ea93ddd402bc3"
653 | dependencies:
654 | accepts "~1.3.3"
655 | bytes "2.3.0"
656 | compressible "~2.0.8"
657 | debug "~2.2.0"
658 | on-headers "~1.0.1"
659 | vary "~1.1.0"
660 |
661 | concat-map@0.0.1:
662 | version "0.0.1"
663 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
664 |
665 | configstore@^1.0.0:
666 | version "1.4.0"
667 | resolved "https://registry.yarnpkg.com/configstore/-/configstore-1.4.0.tgz#c35781d0501d268c25c54b8b17f6240e8a4fb021"
668 | dependencies:
669 | graceful-fs "^4.1.2"
670 | mkdirp "^0.5.0"
671 | object-assign "^4.0.1"
672 | os-tmpdir "^1.0.0"
673 | osenv "^0.1.0"
674 | uuid "^2.0.1"
675 | write-file-atomic "^1.1.2"
676 | xdg-basedir "^2.0.0"
677 |
678 | connect-history-api-fallback@^1.3.0:
679 | version "1.3.0"
680 | resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.3.0.tgz#e51d17f8f0ef0db90a64fdb47de3051556e9f169"
681 |
682 | connect@^3.6.0:
683 | version "3.6.0"
684 | resolved "https://registry.yarnpkg.com/connect/-/connect-3.6.0.tgz#f09a4f7dcd17324b663b725c815bdb1c4158a46e"
685 | dependencies:
686 | debug "2.6.1"
687 | finalhandler "1.0.0"
688 | parseurl "~1.3.1"
689 | utils-merge "1.0.0"
690 |
691 | console-browserify@^1.1.0:
692 | version "1.1.0"
693 | resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10"
694 | dependencies:
695 | date-now "^0.1.4"
696 |
697 | console-control-strings@^1.0.0, console-control-strings@~1.1.0:
698 | version "1.1.0"
699 | resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
700 |
701 | constants-browserify@^1.0.0:
702 | version "1.0.0"
703 | resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
704 |
705 | content-disposition@0.5.2:
706 | version "0.5.2"
707 | resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4"
708 |
709 | content-type@~1.0.2:
710 | version "1.0.2"
711 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed"
712 |
713 | cookie-signature@1.0.6:
714 | version "1.0.6"
715 | resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
716 |
717 | cookie@0.3.1:
718 | version "0.3.1"
719 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb"
720 |
721 | core-js@2.4.1, core-js@^2.2.0:
722 | version "2.4.1"
723 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e"
724 |
725 | core-util-is@~1.0.0:
726 | version "1.0.2"
727 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
728 |
729 | create-ecdh@^4.0.0:
730 | version "4.0.0"
731 | resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d"
732 | dependencies:
733 | bn.js "^4.1.0"
734 | elliptic "^6.0.0"
735 |
736 | create-hash@^1.1.0, create-hash@^1.1.1:
737 | version "1.1.2"
738 | resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.2.tgz#51210062d7bb7479f6c65bb41a92208b1d61abad"
739 | dependencies:
740 | cipher-base "^1.0.1"
741 | inherits "^2.0.1"
742 | ripemd160 "^1.0.0"
743 | sha.js "^2.3.6"
744 |
745 | create-hmac@^1.1.0, create-hmac@^1.1.2:
746 | version "1.1.4"
747 | resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.4.tgz#d3fb4ba253eb8b3f56e39ea2fbcb8af747bd3170"
748 | dependencies:
749 | create-hash "^1.1.0"
750 | inherits "^2.0.1"
751 |
752 | cross-spawn@^3.0.0:
753 | version "3.0.1"
754 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982"
755 | dependencies:
756 | lru-cache "^4.0.1"
757 | which "^1.2.9"
758 |
759 | cryptiles@2.x.x:
760 | version "2.0.5"
761 | resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8"
762 | dependencies:
763 | boom "2.x.x"
764 |
765 | crypto-browserify@^3.11.0:
766 | version "3.11.0"
767 | resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.11.0.tgz#3652a0906ab9b2a7e0c3ce66a408e957a2485522"
768 | dependencies:
769 | browserify-cipher "^1.0.0"
770 | browserify-sign "^4.0.0"
771 | create-ecdh "^4.0.0"
772 | create-hash "^1.1.0"
773 | create-hmac "^1.1.0"
774 | diffie-hellman "^5.0.0"
775 | inherits "^2.0.1"
776 | pbkdf2 "^3.0.3"
777 | public-encrypt "^4.0.0"
778 | randombytes "^2.0.0"
779 |
780 | currently-unhandled@^0.4.1:
781 | version "0.4.1"
782 | resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
783 | dependencies:
784 | array-find-index "^1.0.1"
785 |
786 | custom-event@~1.0.0:
787 | version "1.0.1"
788 | resolved "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425"
789 |
790 | dashdash@^1.12.0:
791 | version "1.14.1"
792 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
793 | dependencies:
794 | assert-plus "^1.0.0"
795 |
796 | date-now@^0.1.4:
797 | version "0.1.4"
798 | resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
799 |
800 | debug@2.2.0, debug@~2.2.0:
801 | version "2.2.0"
802 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da"
803 | dependencies:
804 | ms "0.7.1"
805 |
806 | debug@2.3.3:
807 | version "2.3.3"
808 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.3.3.tgz#40c453e67e6e13c901ddec317af8986cda9eff8c"
809 | dependencies:
810 | ms "0.7.2"
811 |
812 | debug@2.6.1:
813 | version "2.6.1"
814 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.1.tgz#79855090ba2c4e3115cc7d8769491d58f0491351"
815 | dependencies:
816 | ms "0.7.2"
817 |
818 | debug@^2.2.0:
819 | version "2.6.3"
820 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.3.tgz#0f7eb8c30965ec08c72accfa0130c8b79984141d"
821 | dependencies:
822 | ms "0.7.2"
823 |
824 | decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2:
825 | version "1.2.0"
826 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
827 |
828 | deep-extend@~0.4.0:
829 | version "0.4.1"
830 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253"
831 |
832 | delayed-stream@~1.0.0:
833 | version "1.0.0"
834 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
835 |
836 | delegates@^1.0.0:
837 | version "1.0.0"
838 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
839 |
840 | depd@1.1.0, depd@~1.1.0:
841 | version "1.1.0"
842 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3"
843 |
844 | des.js@^1.0.0:
845 | version "1.0.0"
846 | resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc"
847 | dependencies:
848 | inherits "^2.0.1"
849 | minimalistic-assert "^1.0.0"
850 |
851 | destroy@~1.0.4:
852 | version "1.0.4"
853 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
854 |
855 | di@^0.0.1:
856 | version "0.0.1"
857 | resolved "https://registry.yarnpkg.com/di/-/di-0.0.1.tgz#806649326ceaa7caa3306d75d985ea2748ba913c"
858 |
859 | diffie-hellman@^5.0.0:
860 | version "5.0.2"
861 | resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.2.tgz#b5835739270cfe26acf632099fded2a07f209e5e"
862 | dependencies:
863 | bn.js "^4.1.0"
864 | miller-rabin "^4.0.0"
865 | randombytes "^2.0.0"
866 |
867 | dom-serialize@^2.2.0:
868 | version "2.2.1"
869 | resolved "https://registry.yarnpkg.com/dom-serialize/-/dom-serialize-2.2.1.tgz#562ae8999f44be5ea3076f5419dcd59eb43ac95b"
870 | dependencies:
871 | custom-event "~1.0.0"
872 | ent "~2.2.0"
873 | extend "^3.0.0"
874 | void-elements "^2.0.0"
875 |
876 | domain-browser@^1.1.1:
877 | version "1.1.7"
878 | resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc"
879 |
880 | duplexer@~0.1.1:
881 | version "0.1.1"
882 | resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1"
883 |
884 | duplexify@^3.2.0:
885 | version "3.5.0"
886 | resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.5.0.tgz#1aa773002e1578457e9d9d4a50b0ccaaebcbd604"
887 | dependencies:
888 | end-of-stream "1.0.0"
889 | inherits "^2.0.1"
890 | readable-stream "^2.0.0"
891 | stream-shift "^1.0.0"
892 |
893 | ecc-jsbn@~0.1.1:
894 | version "0.1.1"
895 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505"
896 | dependencies:
897 | jsbn "~0.1.0"
898 |
899 | ee-first@1.1.1:
900 | version "1.1.1"
901 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
902 |
903 | elliptic@^6.0.0:
904 | version "6.4.0"
905 | resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df"
906 | dependencies:
907 | bn.js "^4.4.0"
908 | brorand "^1.0.1"
909 | hash.js "^1.0.0"
910 | hmac-drbg "^1.0.0"
911 | inherits "^2.0.1"
912 | minimalistic-assert "^1.0.0"
913 | minimalistic-crypto-utils "^1.0.0"
914 |
915 | emojis-list@^2.0.0:
916 | version "2.1.0"
917 | resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
918 |
919 | encodeurl@~1.0.1:
920 | version "1.0.1"
921 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20"
922 |
923 | end-of-stream@1.0.0:
924 | version "1.0.0"
925 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.0.0.tgz#d4596e702734a93e40e9af864319eabd99ff2f0e"
926 | dependencies:
927 | once "~1.3.0"
928 |
929 | engine.io-client@1.8.3:
930 | version "1.8.3"
931 | resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-1.8.3.tgz#1798ed93451246453d4c6f635d7a201fe940d5ab"
932 | dependencies:
933 | component-emitter "1.2.1"
934 | component-inherit "0.0.3"
935 | debug "2.3.3"
936 | engine.io-parser "1.3.2"
937 | has-cors "1.1.0"
938 | indexof "0.0.1"
939 | parsejson "0.0.3"
940 | parseqs "0.0.5"
941 | parseuri "0.0.5"
942 | ws "1.1.2"
943 | xmlhttprequest-ssl "1.5.3"
944 | yeast "0.1.2"
945 |
946 | engine.io-parser@1.3.2:
947 | version "1.3.2"
948 | resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-1.3.2.tgz#937b079f0007d0893ec56d46cb220b8cb435220a"
949 | dependencies:
950 | after "0.8.2"
951 | arraybuffer.slice "0.0.6"
952 | base64-arraybuffer "0.1.5"
953 | blob "0.0.4"
954 | has-binary "0.1.7"
955 | wtf-8 "1.0.0"
956 |
957 | engine.io@1.8.3:
958 | version "1.8.3"
959 | resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-1.8.3.tgz#8de7f97895d20d39b85f88eeee777b2bd42b13d4"
960 | dependencies:
961 | accepts "1.3.3"
962 | base64id "1.0.0"
963 | cookie "0.3.1"
964 | debug "2.3.3"
965 | engine.io-parser "1.3.2"
966 | ws "1.1.2"
967 |
968 | enhanced-resolve@^3.0.0, enhanced-resolve@^3.1.0:
969 | version "3.1.0"
970 | resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.1.0.tgz#9f4b626f577245edcf4b2ad83d86e17f4f421dec"
971 | dependencies:
972 | graceful-fs "^4.1.2"
973 | memory-fs "^0.4.0"
974 | object-assign "^4.0.1"
975 | tapable "^0.2.5"
976 |
977 | ent@~2.2.0:
978 | version "2.2.0"
979 | resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d"
980 |
981 | errno@^0.1.3:
982 | version "0.1.4"
983 | resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d"
984 | dependencies:
985 | prr "~0.0.0"
986 |
987 | error-ex@^1.2.0:
988 | version "1.3.1"
989 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc"
990 | dependencies:
991 | is-arrayish "^0.2.1"
992 |
993 | es6-promise@^3.0.2:
994 | version "3.3.1"
995 | resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.3.1.tgz#a08cdde84ccdbf34d027a1451bc91d4bcd28a613"
996 |
997 | es6-templates@^0.2.2:
998 | version "0.2.3"
999 | resolved "https://registry.yarnpkg.com/es6-templates/-/es6-templates-0.2.3.tgz#5cb9ac9fb1ded6eb1239342b81d792bbb4078ee4"
1000 | dependencies:
1001 | recast "~0.11.12"
1002 | through "~2.3.6"
1003 |
1004 | escape-html@~1.0.3:
1005 | version "1.0.3"
1006 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
1007 |
1008 | escape-string-regexp@^1.0.2:
1009 | version "1.0.5"
1010 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
1011 |
1012 | esprima@~3.1.0:
1013 | version "3.1.3"
1014 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
1015 |
1016 | etag@~1.8.0:
1017 | version "1.8.0"
1018 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.0.tgz#6f631aef336d6c46362b51764044ce216be3c051"
1019 |
1020 | event-stream@~3.3.0:
1021 | version "3.3.4"
1022 | resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571"
1023 | dependencies:
1024 | duplexer "~0.1.1"
1025 | from "~0"
1026 | map-stream "~0.1.0"
1027 | pause-stream "0.0.11"
1028 | split "0.3"
1029 | stream-combiner "~0.0.4"
1030 | through "~2.3.1"
1031 |
1032 | eventemitter3@1.x.x:
1033 | version "1.2.0"
1034 | resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508"
1035 |
1036 | events@^1.0.0:
1037 | version "1.1.1"
1038 | resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
1039 |
1040 | eventsource@0.1.6:
1041 | version "0.1.6"
1042 | resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-0.1.6.tgz#0acede849ed7dd1ccc32c811bb11b944d4f29232"
1043 | dependencies:
1044 | original ">=0.0.5"
1045 |
1046 | evp_bytestokey@^1.0.0:
1047 | version "1.0.0"
1048 | resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz#497b66ad9fef65cd7c08a6180824ba1476b66e53"
1049 | dependencies:
1050 | create-hash "^1.1.1"
1051 |
1052 | expand-braces@^0.1.1:
1053 | version "0.1.2"
1054 | resolved "https://registry.yarnpkg.com/expand-braces/-/expand-braces-0.1.2.tgz#488b1d1d2451cb3d3a6b192cfc030f44c5855fea"
1055 | dependencies:
1056 | array-slice "^0.2.3"
1057 | array-unique "^0.2.1"
1058 | braces "^0.1.2"
1059 |
1060 | expand-brackets@^0.1.4:
1061 | version "0.1.5"
1062 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
1063 | dependencies:
1064 | is-posix-bracket "^0.1.0"
1065 |
1066 | expand-range@^0.1.0:
1067 | version "0.1.1"
1068 | resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-0.1.1.tgz#4cb8eda0993ca56fa4f41fc42f3cbb4ccadff044"
1069 | dependencies:
1070 | is-number "^0.1.1"
1071 | repeat-string "^0.2.2"
1072 |
1073 | expand-range@^1.8.1:
1074 | version "1.8.2"
1075 | resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337"
1076 | dependencies:
1077 | fill-range "^2.1.0"
1078 |
1079 | express@^4.13.3:
1080 | version "4.15.2"
1081 | resolved "https://registry.yarnpkg.com/express/-/express-4.15.2.tgz#af107fc148504457f2dca9a6f2571d7129b97b35"
1082 | dependencies:
1083 | accepts "~1.3.3"
1084 | array-flatten "1.1.1"
1085 | content-disposition "0.5.2"
1086 | content-type "~1.0.2"
1087 | cookie "0.3.1"
1088 | cookie-signature "1.0.6"
1089 | debug "2.6.1"
1090 | depd "~1.1.0"
1091 | encodeurl "~1.0.1"
1092 | escape-html "~1.0.3"
1093 | etag "~1.8.0"
1094 | finalhandler "~1.0.0"
1095 | fresh "0.5.0"
1096 | merge-descriptors "1.0.1"
1097 | methods "~1.1.2"
1098 | on-finished "~2.3.0"
1099 | parseurl "~1.3.1"
1100 | path-to-regexp "0.1.7"
1101 | proxy-addr "~1.1.3"
1102 | qs "6.4.0"
1103 | range-parser "~1.2.0"
1104 | send "0.15.1"
1105 | serve-static "1.12.1"
1106 | setprototypeof "1.0.3"
1107 | statuses "~1.3.1"
1108 | type-is "~1.6.14"
1109 | utils-merge "1.0.0"
1110 | vary "~1.1.0"
1111 |
1112 | extend@^3.0.0, extend@~3.0.0:
1113 | version "3.0.0"
1114 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4"
1115 |
1116 | extglob@^0.3.1:
1117 | version "0.3.2"
1118 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1"
1119 | dependencies:
1120 | is-extglob "^1.0.0"
1121 |
1122 | extsprintf@1.0.2:
1123 | version "1.0.2"
1124 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550"
1125 |
1126 | fastparse@^1.1.1:
1127 | version "1.1.1"
1128 | resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8"
1129 |
1130 | faye-websocket@^0.10.0:
1131 | version "0.10.0"
1132 | resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4"
1133 | dependencies:
1134 | websocket-driver ">=0.5.1"
1135 |
1136 | faye-websocket@~0.11.0:
1137 | version "0.11.1"
1138 | resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38"
1139 | dependencies:
1140 | websocket-driver ">=0.5.1"
1141 |
1142 | file-loader@0.11.1:
1143 | version "0.11.1"
1144 | resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-0.11.1.tgz#6b328ee1234a729e4e47d36375dd6d35c0e1db84"
1145 | dependencies:
1146 | loader-utils "^1.0.2"
1147 |
1148 | filename-regex@^2.0.0:
1149 | version "2.0.0"
1150 | resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775"
1151 |
1152 | fill-range@^2.1.0:
1153 | version "2.2.3"
1154 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723"
1155 | dependencies:
1156 | is-number "^2.1.0"
1157 | isobject "^2.0.0"
1158 | randomatic "^1.1.3"
1159 | repeat-element "^1.1.2"
1160 | repeat-string "^1.5.2"
1161 |
1162 | finalhandler@1.0.0, finalhandler@~1.0.0:
1163 | version "1.0.0"
1164 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.0.0.tgz#b5691c2c0912092f18ac23e9416bde5cd7dc6755"
1165 | dependencies:
1166 | debug "2.6.1"
1167 | encodeurl "~1.0.1"
1168 | escape-html "~1.0.3"
1169 | on-finished "~2.3.0"
1170 | parseurl "~1.3.1"
1171 | statuses "~1.3.1"
1172 | unpipe "~1.0.0"
1173 |
1174 | find-up@^1.0.0:
1175 | version "1.1.2"
1176 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
1177 | dependencies:
1178 | path-exists "^2.0.0"
1179 | pinkie-promise "^2.0.0"
1180 |
1181 | for-in@^0.1.3:
1182 | version "0.1.8"
1183 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.8.tgz#d8773908e31256109952b1fdb9b3fa867d2775e1"
1184 |
1185 | for-in@^1.0.1:
1186 | version "1.0.2"
1187 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
1188 |
1189 | for-own@^0.1.3, for-own@^0.1.4:
1190 | version "0.1.5"
1191 | resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce"
1192 | dependencies:
1193 | for-in "^1.0.1"
1194 |
1195 | forever-agent@~0.6.1:
1196 | version "0.6.1"
1197 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
1198 |
1199 | form-data@~2.1.1:
1200 | version "2.1.4"
1201 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1"
1202 | dependencies:
1203 | asynckit "^0.4.0"
1204 | combined-stream "^1.0.5"
1205 | mime-types "^2.1.12"
1206 |
1207 | forwarded@~0.1.0:
1208 | version "0.1.0"
1209 | resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.0.tgz#19ef9874c4ae1c297bcf078fde63a09b66a84363"
1210 |
1211 | fresh@0.5.0:
1212 | version "0.5.0"
1213 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.0.tgz#f474ca5e6a9246d6fd8e0953cfa9b9c805afa78e"
1214 |
1215 | from@~0:
1216 | version "0.1.7"
1217 | resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe"
1218 |
1219 | fs-access@^1.0.0:
1220 | version "1.0.1"
1221 | resolved "https://registry.yarnpkg.com/fs-access/-/fs-access-1.0.1.tgz#d6a87f262271cefebec30c553407fb995da8777a"
1222 | dependencies:
1223 | null-check "^1.0.0"
1224 |
1225 | fs.realpath@^1.0.0:
1226 | version "1.0.0"
1227 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
1228 |
1229 | fsevents@^1.0.0:
1230 | version "1.1.1"
1231 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.1.tgz#f19fd28f43eeaf761680e519a203c4d0b3d31aff"
1232 | dependencies:
1233 | nan "^2.3.0"
1234 | node-pre-gyp "^0.6.29"
1235 |
1236 | fstream-ignore@^1.0.5:
1237 | version "1.0.5"
1238 | resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105"
1239 | dependencies:
1240 | fstream "^1.0.0"
1241 | inherits "2"
1242 | minimatch "^3.0.0"
1243 |
1244 | fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2:
1245 | version "1.0.11"
1246 | resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171"
1247 | dependencies:
1248 | graceful-fs "^4.1.2"
1249 | inherits "~2.0.0"
1250 | mkdirp ">=0.5 0"
1251 | rimraf "2"
1252 |
1253 | gauge@~2.7.1:
1254 | version "2.7.3"
1255 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.3.tgz#1c23855f962f17b3ad3d0dc7443f304542edfe09"
1256 | dependencies:
1257 | aproba "^1.0.3"
1258 | console-control-strings "^1.0.0"
1259 | has-unicode "^2.0.0"
1260 | object-assign "^4.1.0"
1261 | signal-exit "^3.0.0"
1262 | string-width "^1.0.1"
1263 | strip-ansi "^3.0.1"
1264 | wide-align "^1.1.0"
1265 |
1266 | gaze@^1.0.0:
1267 | version "1.1.2"
1268 | resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.2.tgz#847224677adb8870d679257ed3388fdb61e40105"
1269 | dependencies:
1270 | globule "^1.0.0"
1271 |
1272 | get-caller-file@^1.0.1:
1273 | version "1.0.2"
1274 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5"
1275 |
1276 | get-stdin@^4.0.1:
1277 | version "4.0.1"
1278 | resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
1279 |
1280 | getpass@^0.1.1:
1281 | version "0.1.6"
1282 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6"
1283 | dependencies:
1284 | assert-plus "^1.0.0"
1285 |
1286 | glob-base@^0.3.0:
1287 | version "0.3.0"
1288 | resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
1289 | dependencies:
1290 | glob-parent "^2.0.0"
1291 | is-glob "^2.0.0"
1292 |
1293 | glob-parent@^2.0.0:
1294 | version "2.0.0"
1295 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28"
1296 | dependencies:
1297 | is-glob "^2.0.0"
1298 |
1299 | glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@~7.1.1:
1300 | version "7.1.1"
1301 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
1302 | dependencies:
1303 | fs.realpath "^1.0.0"
1304 | inflight "^1.0.4"
1305 | inherits "2"
1306 | minimatch "^3.0.2"
1307 | once "^1.3.0"
1308 | path-is-absolute "^1.0.0"
1309 |
1310 | globule@^1.0.0:
1311 | version "1.1.0"
1312 | resolved "https://registry.yarnpkg.com/globule/-/globule-1.1.0.tgz#c49352e4dc183d85893ee825385eb994bb6df45f"
1313 | dependencies:
1314 | glob "~7.1.1"
1315 | lodash "~4.16.4"
1316 | minimatch "~3.0.2"
1317 |
1318 | got@^3.2.0:
1319 | version "3.3.1"
1320 | resolved "https://registry.yarnpkg.com/got/-/got-3.3.1.tgz#e5d0ed4af55fc3eef4d56007769d98192bcb2eca"
1321 | dependencies:
1322 | duplexify "^3.2.0"
1323 | infinity-agent "^2.0.0"
1324 | is-redirect "^1.0.0"
1325 | is-stream "^1.0.0"
1326 | lowercase-keys "^1.0.0"
1327 | nested-error-stacks "^1.0.0"
1328 | object-assign "^3.0.0"
1329 | prepend-http "^1.0.0"
1330 | read-all-stream "^3.0.0"
1331 | timed-out "^2.0.0"
1332 |
1333 | graceful-fs@^4.1.11, graceful-fs@^4.1.2:
1334 | version "4.1.11"
1335 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
1336 |
1337 | "graceful-readlink@>= 1.0.0":
1338 | version "1.0.1"
1339 | resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
1340 |
1341 | handle-thing@^1.2.4:
1342 | version "1.2.5"
1343 | resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-1.2.5.tgz#fd7aad726bf1a5fd16dfc29b2f7a6601d27139c4"
1344 |
1345 | har-schema@^1.0.5:
1346 | version "1.0.5"
1347 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e"
1348 |
1349 | har-validator@~4.2.1:
1350 | version "4.2.1"
1351 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a"
1352 | dependencies:
1353 | ajv "^4.9.1"
1354 | har-schema "^1.0.5"
1355 |
1356 | has-ansi@^2.0.0:
1357 | version "2.0.0"
1358 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
1359 | dependencies:
1360 | ansi-regex "^2.0.0"
1361 |
1362 | has-binary@0.1.7:
1363 | version "0.1.7"
1364 | resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.7.tgz#68e61eb16210c9545a0a5cce06a873912fe1e68c"
1365 | dependencies:
1366 | isarray "0.0.1"
1367 |
1368 | has-cors@1.1.0:
1369 | version "1.1.0"
1370 | resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39"
1371 |
1372 | has-flag@^1.0.0:
1373 | version "1.0.0"
1374 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa"
1375 |
1376 | has-unicode@^2.0.0:
1377 | version "2.0.1"
1378 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
1379 |
1380 | hash.js@^1.0.0, hash.js@^1.0.3:
1381 | version "1.0.3"
1382 | resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.0.3.tgz#1332ff00156c0a0ffdd8236013d07b77a0451573"
1383 | dependencies:
1384 | inherits "^2.0.1"
1385 |
1386 | hawk@~3.1.3:
1387 | version "3.1.3"
1388 | resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4"
1389 | dependencies:
1390 | boom "2.x.x"
1391 | cryptiles "2.x.x"
1392 | hoek "2.x.x"
1393 | sntp "1.x.x"
1394 |
1395 | he@1.1.x:
1396 | version "1.1.1"
1397 | resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd"
1398 |
1399 | hmac-drbg@^1.0.0:
1400 | version "1.0.1"
1401 | resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
1402 | dependencies:
1403 | hash.js "^1.0.3"
1404 | minimalistic-assert "^1.0.0"
1405 | minimalistic-crypto-utils "^1.0.1"
1406 |
1407 | hoek@2.x.x:
1408 | version "2.16.3"
1409 | resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed"
1410 |
1411 | hosted-git-info@^2.1.4:
1412 | version "2.4.1"
1413 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.4.1.tgz#4b0445e41c004a8bd1337773a4ff790ca40318c8"
1414 |
1415 | hpack.js@^2.1.6:
1416 | version "2.1.6"
1417 | resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2"
1418 | dependencies:
1419 | inherits "^2.0.1"
1420 | obuf "^1.0.0"
1421 | readable-stream "^2.0.1"
1422 | wbuf "^1.1.0"
1423 |
1424 | html-entities@^1.2.0:
1425 | version "1.2.0"
1426 | resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.0.tgz#41948caf85ce82fed36e4e6a0ed371a6664379e2"
1427 |
1428 | html-loader@0.4.5:
1429 | version "0.4.5"
1430 | resolved "https://registry.yarnpkg.com/html-loader/-/html-loader-0.4.5.tgz#5fbcd87cd63a5c49a7fce2fe56f425e05729c68c"
1431 | dependencies:
1432 | es6-templates "^0.2.2"
1433 | fastparse "^1.1.1"
1434 | html-minifier "^3.0.1"
1435 | loader-utils "^1.0.2"
1436 | object-assign "^4.1.0"
1437 |
1438 | html-minifier@^3.0.1:
1439 | version "3.4.3"
1440 | resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.4.3.tgz#eb3a7297c804611f470454eeebe0aacc427e424a"
1441 | dependencies:
1442 | camel-case "3.0.x"
1443 | clean-css "4.0.x"
1444 | commander "2.9.x"
1445 | he "1.1.x"
1446 | ncname "1.0.x"
1447 | param-case "2.1.x"
1448 | relateurl "0.2.x"
1449 | uglify-js "~2.8.22"
1450 |
1451 | http-deceiver@^1.2.4:
1452 | version "1.2.7"
1453 | resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87"
1454 |
1455 | http-errors@~1.5.0:
1456 | version "1.5.1"
1457 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.5.1.tgz#788c0d2c1de2c81b9e6e8c01843b6b97eb920750"
1458 | dependencies:
1459 | inherits "2.0.3"
1460 | setprototypeof "1.0.2"
1461 | statuses ">= 1.3.1 < 2"
1462 |
1463 | http-errors@~1.6.1:
1464 | version "1.6.1"
1465 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.1.tgz#5f8b8ed98aca545656bf572997387f904a722257"
1466 | dependencies:
1467 | depd "1.1.0"
1468 | inherits "2.0.3"
1469 | setprototypeof "1.0.3"
1470 | statuses ">= 1.3.1 < 2"
1471 |
1472 | http-proxy-middleware@~0.17.4:
1473 | version "0.17.4"
1474 | resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz#642e8848851d66f09d4f124912846dbaeb41b833"
1475 | dependencies:
1476 | http-proxy "^1.16.2"
1477 | is-glob "^3.1.0"
1478 | lodash "^4.17.2"
1479 | micromatch "^2.3.11"
1480 |
1481 | http-proxy@^1.13.0, http-proxy@^1.16.2:
1482 | version "1.16.2"
1483 | resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.16.2.tgz#06dff292952bf64dbe8471fa9df73066d4f37742"
1484 | dependencies:
1485 | eventemitter3 "1.x.x"
1486 | requires-port "1.x.x"
1487 |
1488 | http-signature@~1.1.0:
1489 | version "1.1.1"
1490 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf"
1491 | dependencies:
1492 | assert-plus "^0.2.0"
1493 | jsprim "^1.2.2"
1494 | sshpk "^1.7.0"
1495 |
1496 | https-browserify@0.0.1:
1497 | version "0.0.1"
1498 | resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82"
1499 |
1500 | iconv-lite@0.4.15:
1501 | version "0.4.15"
1502 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb"
1503 |
1504 | ieee754@^1.1.4:
1505 | version "1.1.8"
1506 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"
1507 |
1508 | ignore-by-default@^1.0.0:
1509 | version "1.0.1"
1510 | resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09"
1511 |
1512 | imurmurhash@^0.1.4:
1513 | version "0.1.4"
1514 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
1515 |
1516 | in-publish@^2.0.0:
1517 | version "2.0.0"
1518 | resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz#e20ff5e3a2afc2690320b6dc552682a9c7fadf51"
1519 |
1520 | indent-string@^2.1.0:
1521 | version "2.1.0"
1522 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80"
1523 | dependencies:
1524 | repeating "^2.0.0"
1525 |
1526 | indexof@0.0.1:
1527 | version "0.0.1"
1528 | resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
1529 |
1530 | infinity-agent@^2.0.0:
1531 | version "2.0.3"
1532 | resolved "https://registry.yarnpkg.com/infinity-agent/-/infinity-agent-2.0.3.tgz#45e0e2ff7a9eb030b27d62b74b3744b7a7ac4216"
1533 |
1534 | inflight@^1.0.4:
1535 | version "1.0.6"
1536 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
1537 | dependencies:
1538 | once "^1.3.0"
1539 | wrappy "1"
1540 |
1541 | inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1:
1542 | version "2.0.3"
1543 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
1544 |
1545 | inherits@2.0.1:
1546 | version "2.0.1"
1547 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
1548 |
1549 | ini@~1.3.0:
1550 | version "1.3.4"
1551 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e"
1552 |
1553 | interpret@^1.0.0:
1554 | version "1.0.2"
1555 | resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.2.tgz#f4f623f0bb7122f15f5717c8e254b8161b5c5b2d"
1556 |
1557 | invert-kv@^1.0.0:
1558 | version "1.0.0"
1559 | resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
1560 |
1561 | ipaddr.js@1.3.0:
1562 | version "1.3.0"
1563 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.3.0.tgz#1e03a52fdad83a8bbb2b25cbf4998b4cffcd3dec"
1564 |
1565 | is-arrayish@^0.2.1:
1566 | version "0.2.1"
1567 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
1568 |
1569 | is-binary-path@^1.0.0:
1570 | version "1.0.1"
1571 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
1572 | dependencies:
1573 | binary-extensions "^1.0.0"
1574 |
1575 | is-buffer@^1.0.2:
1576 | version "1.1.5"
1577 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc"
1578 |
1579 | is-builtin-module@^1.0.0:
1580 | version "1.0.0"
1581 | resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe"
1582 | dependencies:
1583 | builtin-modules "^1.0.0"
1584 |
1585 | is-dotfile@^1.0.0:
1586 | version "1.0.2"
1587 | resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d"
1588 |
1589 | is-equal-shallow@^0.1.3:
1590 | version "0.1.3"
1591 | resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534"
1592 | dependencies:
1593 | is-primitive "^2.0.0"
1594 |
1595 | is-extendable@^0.1.1:
1596 | version "0.1.1"
1597 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
1598 |
1599 | is-extglob@^1.0.0:
1600 | version "1.0.0"
1601 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
1602 |
1603 | is-extglob@^2.1.0:
1604 | version "2.1.1"
1605 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
1606 |
1607 | is-finite@^1.0.0:
1608 | version "1.0.2"
1609 | resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
1610 | dependencies:
1611 | number-is-nan "^1.0.0"
1612 |
1613 | is-fullwidth-code-point@^1.0.0:
1614 | version "1.0.0"
1615 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
1616 | dependencies:
1617 | number-is-nan "^1.0.0"
1618 |
1619 | is-glob@^2.0.0, is-glob@^2.0.1:
1620 | version "2.0.1"
1621 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
1622 | dependencies:
1623 | is-extglob "^1.0.0"
1624 |
1625 | is-glob@^3.1.0:
1626 | version "3.1.0"
1627 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
1628 | dependencies:
1629 | is-extglob "^2.1.0"
1630 |
1631 | is-npm@^1.0.0:
1632 | version "1.0.0"
1633 | resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4"
1634 |
1635 | is-number@^0.1.1:
1636 | version "0.1.1"
1637 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-0.1.1.tgz#69a7af116963d47206ec9bd9b48a14216f1e3806"
1638 |
1639 | is-number@^2.0.2, is-number@^2.1.0:
1640 | version "2.1.0"
1641 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
1642 | dependencies:
1643 | kind-of "^3.0.2"
1644 |
1645 | is-plain-object@^2.0.1:
1646 | version "2.0.1"
1647 | resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.1.tgz#4d7ca539bc9db9b737b8acb612f2318ef92f294f"
1648 | dependencies:
1649 | isobject "^1.0.0"
1650 |
1651 | is-posix-bracket@^0.1.0:
1652 | version "0.1.1"
1653 | resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"
1654 |
1655 | is-primitive@^2.0.0:
1656 | version "2.0.0"
1657 | resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
1658 |
1659 | is-redirect@^1.0.0:
1660 | version "1.0.0"
1661 | resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24"
1662 |
1663 | is-stream@^1.0.0:
1664 | version "1.1.0"
1665 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
1666 |
1667 | is-typedarray@~1.0.0:
1668 | version "1.0.0"
1669 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
1670 |
1671 | is-utf8@^0.2.0:
1672 | version "0.2.1"
1673 | resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
1674 |
1675 | isarray@0.0.1:
1676 | version "0.0.1"
1677 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
1678 |
1679 | isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
1680 | version "1.0.0"
1681 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
1682 |
1683 | isbinaryfile@^3.0.0:
1684 | version "3.0.2"
1685 | resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.2.tgz#4a3e974ec0cba9004d3fc6cde7209ea69368a621"
1686 |
1687 | isexe@^2.0.0:
1688 | version "2.0.0"
1689 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
1690 |
1691 | isobject@^1.0.0:
1692 | version "1.0.2"
1693 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-1.0.2.tgz#f0f9b8ce92dd540fa0740882e3835a2e022ec78a"
1694 |
1695 | isobject@^2.0.0:
1696 | version "2.1.0"
1697 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
1698 | dependencies:
1699 | isarray "1.0.0"
1700 |
1701 | isstream@~0.1.2:
1702 | version "0.1.2"
1703 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
1704 |
1705 | jasmine-core@2.5.2:
1706 | version "2.5.2"
1707 | resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.5.2.tgz#6f61bd79061e27f43e6f9355e44b3c6cab6ff297"
1708 |
1709 | jodid25519@^1.0.0:
1710 | version "1.0.2"
1711 | resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967"
1712 | dependencies:
1713 | jsbn "~0.1.0"
1714 |
1715 | jsbn@~0.1.0:
1716 | version "0.1.1"
1717 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
1718 |
1719 | json-loader@^0.5.4:
1720 | version "0.5.4"
1721 | resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.4.tgz#8baa1365a632f58a3c46d20175fc6002c96e37de"
1722 |
1723 | json-schema@0.2.3:
1724 | version "0.2.3"
1725 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
1726 |
1727 | json-stable-stringify@^1.0.1:
1728 | version "1.0.1"
1729 | resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
1730 | dependencies:
1731 | jsonify "~0.0.0"
1732 |
1733 | json-stringify-safe@~5.0.1:
1734 | version "5.0.1"
1735 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
1736 |
1737 | json3@3.3.2, json3@^3.3.2:
1738 | version "3.3.2"
1739 | resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1"
1740 |
1741 | json5@^0.5.0, json5@^0.5.1:
1742 | version "0.5.1"
1743 | resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
1744 |
1745 | jsonify@~0.0.0:
1746 | version "0.0.0"
1747 | resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
1748 |
1749 | jsprim@^1.2.2:
1750 | version "1.4.0"
1751 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918"
1752 | dependencies:
1753 | assert-plus "1.0.0"
1754 | extsprintf "1.0.2"
1755 | json-schema "0.2.3"
1756 | verror "1.3.6"
1757 |
1758 | karma-chrome-launcher@2.0.0:
1759 | version "2.0.0"
1760 | resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-2.0.0.tgz#c2790c5a32b15577d0fff5a4d5a2703b3b439c25"
1761 | dependencies:
1762 | fs-access "^1.0.0"
1763 | which "^1.2.1"
1764 |
1765 | karma-jasmine@1.1.0:
1766 | version "1.1.0"
1767 | resolved "https://registry.yarnpkg.com/karma-jasmine/-/karma-jasmine-1.1.0.tgz#22e4c06bf9a182e5294d1f705e3733811b810acf"
1768 |
1769 | karma-sourcemap-loader@0.3.7:
1770 | version "0.3.7"
1771 | resolved "https://registry.yarnpkg.com/karma-sourcemap-loader/-/karma-sourcemap-loader-0.3.7.tgz#91322c77f8f13d46fed062b042e1009d4c4505d8"
1772 | dependencies:
1773 | graceful-fs "^4.1.2"
1774 |
1775 | karma-spec-reporter@0.0.28:
1776 | version "0.0.28"
1777 | resolved "https://registry.yarnpkg.com/karma-spec-reporter/-/karma-spec-reporter-0.0.28.tgz#14e047e4d92903a226cd04ee616542fbec98da30"
1778 | dependencies:
1779 | colors "^1.1.2"
1780 |
1781 | karma-webpack@2.0.2:
1782 | version "2.0.2"
1783 | resolved "https://registry.yarnpkg.com/karma-webpack/-/karma-webpack-2.0.2.tgz#bd38350af5645c9644090770939ebe7ce726f864"
1784 | dependencies:
1785 | async "~0.9.0"
1786 | loader-utils "^0.2.5"
1787 | lodash "^3.8.0"
1788 | source-map "^0.1.41"
1789 | webpack-dev-middleware "^1.0.11"
1790 |
1791 | karma@1.5.0:
1792 | version "1.5.0"
1793 | resolved "https://registry.yarnpkg.com/karma/-/karma-1.5.0.tgz#9c4c14f0400bef2c04c8e8e6bff59371025cc009"
1794 | dependencies:
1795 | bluebird "^3.3.0"
1796 | body-parser "^1.16.1"
1797 | chokidar "^1.4.1"
1798 | colors "^1.1.0"
1799 | combine-lists "^1.0.0"
1800 | connect "^3.6.0"
1801 | core-js "^2.2.0"
1802 | di "^0.0.1"
1803 | dom-serialize "^2.2.0"
1804 | expand-braces "^0.1.1"
1805 | glob "^7.1.1"
1806 | graceful-fs "^4.1.2"
1807 | http-proxy "^1.13.0"
1808 | isbinaryfile "^3.0.0"
1809 | lodash "^3.8.0"
1810 | log4js "^0.6.31"
1811 | mime "^1.3.4"
1812 | minimatch "^3.0.0"
1813 | optimist "^0.6.1"
1814 | qjobs "^1.1.4"
1815 | range-parser "^1.2.0"
1816 | rimraf "^2.6.0"
1817 | safe-buffer "^5.0.1"
1818 | socket.io "1.7.3"
1819 | source-map "^0.5.3"
1820 | tmp "0.0.31"
1821 | useragent "^2.1.12"
1822 |
1823 | kind-of@^2.0.1:
1824 | version "2.0.1"
1825 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-2.0.1.tgz#018ec7a4ce7e3a86cb9141be519d24c8faa981b5"
1826 | dependencies:
1827 | is-buffer "^1.0.2"
1828 |
1829 | kind-of@^3.0.2:
1830 | version "3.1.0"
1831 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47"
1832 | dependencies:
1833 | is-buffer "^1.0.2"
1834 |
1835 | latest-version@^1.0.0:
1836 | version "1.0.1"
1837 | resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-1.0.1.tgz#72cfc46e3e8d1be651e1ebb54ea9f6ea96f374bb"
1838 | dependencies:
1839 | package-json "^1.0.0"
1840 |
1841 | lazy-cache@^0.2.3:
1842 | version "0.2.7"
1843 | resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-0.2.7.tgz#7feddf2dcb6edb77d11ef1d117ab5ffdf0ab1b65"
1844 |
1845 | lazy-cache@^1.0.3:
1846 | version "1.0.4"
1847 | resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
1848 |
1849 | lcid@^1.0.0:
1850 | version "1.0.0"
1851 | resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
1852 | dependencies:
1853 | invert-kv "^1.0.0"
1854 |
1855 | load-json-file@^1.0.0:
1856 | version "1.1.0"
1857 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
1858 | dependencies:
1859 | graceful-fs "^4.1.2"
1860 | parse-json "^2.2.0"
1861 | pify "^2.0.0"
1862 | pinkie-promise "^2.0.0"
1863 | strip-bom "^2.0.0"
1864 |
1865 | loader-runner@^2.3.0:
1866 | version "2.3.0"
1867 | resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2"
1868 |
1869 | loader-utils@^0.2.15, loader-utils@^0.2.16, loader-utils@^0.2.5:
1870 | version "0.2.17"
1871 | resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348"
1872 | dependencies:
1873 | big.js "^3.1.3"
1874 | emojis-list "^2.0.0"
1875 | json5 "^0.5.0"
1876 | object-assign "^4.0.1"
1877 |
1878 | loader-utils@^1.0.1, loader-utils@^1.0.2:
1879 | version "1.1.0"
1880 | resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd"
1881 | dependencies:
1882 | big.js "^3.1.3"
1883 | emojis-list "^2.0.0"
1884 | json5 "^0.5.0"
1885 |
1886 | lodash._baseassign@^3.0.0:
1887 | version "3.2.0"
1888 | resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e"
1889 | dependencies:
1890 | lodash._basecopy "^3.0.0"
1891 | lodash.keys "^3.0.0"
1892 |
1893 | lodash._basecopy@^3.0.0:
1894 | version "3.0.1"
1895 | resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36"
1896 |
1897 | lodash._bindcallback@^3.0.0:
1898 | version "3.0.1"
1899 | resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e"
1900 |
1901 | lodash._createassigner@^3.0.0:
1902 | version "3.1.1"
1903 | resolved "https://registry.yarnpkg.com/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz#838a5bae2fdaca63ac22dee8e19fa4e6d6970b11"
1904 | dependencies:
1905 | lodash._bindcallback "^3.0.0"
1906 | lodash._isiterateecall "^3.0.0"
1907 | lodash.restparam "^3.0.0"
1908 |
1909 | lodash._getnative@^3.0.0:
1910 | version "3.9.1"
1911 | resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5"
1912 |
1913 | lodash._isiterateecall@^3.0.0:
1914 | version "3.0.9"
1915 | resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c"
1916 |
1917 | lodash.assign@^3.0.0:
1918 | version "3.2.0"
1919 | resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-3.2.0.tgz#3ce9f0234b4b2223e296b8fa0ac1fee8ebca64fa"
1920 | dependencies:
1921 | lodash._baseassign "^3.0.0"
1922 | lodash._createassigner "^3.0.0"
1923 | lodash.keys "^3.0.0"
1924 |
1925 | lodash.assign@^4.0.3, lodash.assign@^4.0.6, lodash.assign@^4.2.0:
1926 | version "4.2.0"
1927 | resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7"
1928 |
1929 | lodash.clonedeep@^4.3.2:
1930 | version "4.5.0"
1931 | resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
1932 |
1933 | lodash.defaults@^3.1.2:
1934 | version "3.1.2"
1935 | resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-3.1.2.tgz#c7308b18dbf8bc9372d701a73493c61192bd2e2c"
1936 | dependencies:
1937 | lodash.assign "^3.0.0"
1938 | lodash.restparam "^3.0.0"
1939 |
1940 | lodash.isarguments@^3.0.0:
1941 | version "3.1.0"
1942 | resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a"
1943 |
1944 | lodash.isarray@^3.0.0:
1945 | version "3.0.4"
1946 | resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55"
1947 |
1948 | lodash.keys@^3.0.0:
1949 | version "3.1.2"
1950 | resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a"
1951 | dependencies:
1952 | lodash._getnative "^3.0.0"
1953 | lodash.isarguments "^3.0.0"
1954 | lodash.isarray "^3.0.0"
1955 |
1956 | lodash.mergewith@^4.6.0:
1957 | version "4.6.0"
1958 | resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz#150cf0a16791f5903b8891eab154609274bdea55"
1959 |
1960 | lodash.restparam@^3.0.0:
1961 | version "3.6.1"
1962 | resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805"
1963 |
1964 | lodash.tail@^4.1.1:
1965 | version "4.1.1"
1966 | resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664"
1967 |
1968 | lodash@^3.8.0:
1969 | version "3.10.1"
1970 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
1971 |
1972 | lodash@^4.0.0, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.5.0:
1973 | version "4.17.4"
1974 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
1975 |
1976 | lodash@~4.16.4:
1977 | version "4.16.6"
1978 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.6.tgz#d22c9ac660288f3843e16ba7d2b5d06cca27d777"
1979 |
1980 | log4js@^0.6.31:
1981 | version "0.6.38"
1982 | resolved "https://registry.yarnpkg.com/log4js/-/log4js-0.6.38.tgz#2c494116695d6fb25480943d3fc872e662a522fd"
1983 | dependencies:
1984 | readable-stream "~1.0.2"
1985 | semver "~4.3.3"
1986 |
1987 | longest@^1.0.1:
1988 | version "1.0.1"
1989 | resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
1990 |
1991 | loud-rejection@^1.0.0:
1992 | version "1.6.0"
1993 | resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f"
1994 | dependencies:
1995 | currently-unhandled "^0.4.1"
1996 | signal-exit "^3.0.0"
1997 |
1998 | lower-case@^1.1.1:
1999 | version "1.1.4"
2000 | resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"
2001 |
2002 | lowercase-keys@^1.0.0:
2003 | version "1.0.0"
2004 | resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306"
2005 |
2006 | lru-cache@2.2.x:
2007 | version "2.2.4"
2008 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.2.4.tgz#6c658619becf14031d0d0b594b16042ce4dc063d"
2009 |
2010 | lru-cache@^4.0.1:
2011 | version "4.0.2"
2012 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e"
2013 | dependencies:
2014 | pseudomap "^1.0.1"
2015 | yallist "^2.0.0"
2016 |
2017 | map-obj@^1.0.0, map-obj@^1.0.1:
2018 | version "1.0.1"
2019 | resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
2020 |
2021 | map-stream@~0.1.0:
2022 | version "0.1.0"
2023 | resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194"
2024 |
2025 | media-typer@0.3.0:
2026 | version "0.3.0"
2027 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
2028 |
2029 | memory-fs@^0.4.0, memory-fs@~0.4.1:
2030 | version "0.4.1"
2031 | resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
2032 | dependencies:
2033 | errno "^0.1.3"
2034 | readable-stream "^2.0.1"
2035 |
2036 | meow@^3.7.0:
2037 | version "3.7.0"
2038 | resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
2039 | dependencies:
2040 | camelcase-keys "^2.0.0"
2041 | decamelize "^1.1.2"
2042 | loud-rejection "^1.0.0"
2043 | map-obj "^1.0.1"
2044 | minimist "^1.1.3"
2045 | normalize-package-data "^2.3.4"
2046 | object-assign "^4.0.1"
2047 | read-pkg-up "^1.0.1"
2048 | redent "^1.0.0"
2049 | trim-newlines "^1.0.0"
2050 |
2051 | merge-descriptors@1.0.1:
2052 | version "1.0.1"
2053 | resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
2054 |
2055 | methods@~1.1.2:
2056 | version "1.1.2"
2057 | resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
2058 |
2059 | micromatch@^2.1.5, micromatch@^2.3.11:
2060 | version "2.3.11"
2061 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565"
2062 | dependencies:
2063 | arr-diff "^2.0.0"
2064 | array-unique "^0.2.1"
2065 | braces "^1.8.2"
2066 | expand-brackets "^0.1.4"
2067 | extglob "^0.3.1"
2068 | filename-regex "^2.0.0"
2069 | is-extglob "^1.0.0"
2070 | is-glob "^2.0.1"
2071 | kind-of "^3.0.2"
2072 | normalize-path "^2.0.1"
2073 | object.omit "^2.0.0"
2074 | parse-glob "^3.0.4"
2075 | regex-cache "^0.4.2"
2076 |
2077 | miller-rabin@^4.0.0:
2078 | version "4.0.0"
2079 | resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.0.tgz#4a62fb1d42933c05583982f4c716f6fb9e6c6d3d"
2080 | dependencies:
2081 | bn.js "^4.0.0"
2082 | brorand "^1.0.1"
2083 |
2084 | "mime-db@>= 1.27.0 < 2", mime-db@~1.27.0:
2085 | version "1.27.0"
2086 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1"
2087 |
2088 | mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.15, mime-types@~2.1.7:
2089 | version "2.1.15"
2090 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed"
2091 | dependencies:
2092 | mime-db "~1.27.0"
2093 |
2094 | mime@1.3.4, mime@^1.3.4:
2095 | version "1.3.4"
2096 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53"
2097 |
2098 | minimalistic-assert@^1.0.0:
2099 | version "1.0.0"
2100 | resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3"
2101 |
2102 | minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
2103 | version "1.0.1"
2104 | resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
2105 |
2106 | minimatch@^3.0.0, minimatch@^3.0.2, minimatch@~3.0.2:
2107 | version "3.0.3"
2108 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774"
2109 | dependencies:
2110 | brace-expansion "^1.0.0"
2111 |
2112 | minimist@0.0.8, minimist@~0.0.1:
2113 | version "0.0.8"
2114 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
2115 |
2116 | minimist@^1.1.3, minimist@^1.2.0:
2117 | version "1.2.0"
2118 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
2119 |
2120 | mixin-object@^2.0.1:
2121 | version "2.0.1"
2122 | resolved "https://registry.yarnpkg.com/mixin-object/-/mixin-object-2.0.1.tgz#4fb949441dab182540f1fe035ba60e1947a5e57e"
2123 | dependencies:
2124 | for-in "^0.1.3"
2125 | is-extendable "^0.1.1"
2126 |
2127 | mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0:
2128 | version "0.5.1"
2129 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
2130 | dependencies:
2131 | minimist "0.0.8"
2132 |
2133 | ms@0.7.1:
2134 | version "0.7.1"
2135 | resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098"
2136 |
2137 | ms@0.7.2:
2138 | version "0.7.2"
2139 | resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765"
2140 |
2141 | nan@^2.3.0, nan@^2.3.2:
2142 | version "2.6.1"
2143 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.1.tgz#8c84f7b14c96b89f57fbc838012180ec8ca39a01"
2144 |
2145 | ncname@1.0.x:
2146 | version "1.0.0"
2147 | resolved "https://registry.yarnpkg.com/ncname/-/ncname-1.0.0.tgz#5b57ad18b1ca092864ef62b0b1ed8194f383b71c"
2148 | dependencies:
2149 | xml-char-classes "^1.0.0"
2150 |
2151 | negotiator@0.6.1:
2152 | version "0.6.1"
2153 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9"
2154 |
2155 | nested-error-stacks@^1.0.0:
2156 | version "1.0.2"
2157 | resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-1.0.2.tgz#19f619591519f096769a5ba9a86e6eeec823c3cf"
2158 | dependencies:
2159 | inherits "~2.0.1"
2160 |
2161 | no-case@^2.2.0:
2162 | version "2.3.1"
2163 | resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.1.tgz#7aeba1c73a52184265554b7dc03baf720df80081"
2164 | dependencies:
2165 | lower-case "^1.1.1"
2166 |
2167 | node-gyp@^3.3.1:
2168 | version "3.6.0"
2169 | resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.6.0.tgz#7474f63a3a0501161dda0b6341f022f14c423fa6"
2170 | dependencies:
2171 | fstream "^1.0.0"
2172 | glob "^7.0.3"
2173 | graceful-fs "^4.1.2"
2174 | minimatch "^3.0.2"
2175 | mkdirp "^0.5.0"
2176 | nopt "2 || 3"
2177 | npmlog "0 || 1 || 2 || 3 || 4"
2178 | osenv "0"
2179 | request "2"
2180 | rimraf "2"
2181 | semver "~5.3.0"
2182 | tar "^2.0.0"
2183 | which "1"
2184 |
2185 | node-libs-browser@^2.0.0:
2186 | version "2.0.0"
2187 | resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.0.0.tgz#a3a59ec97024985b46e958379646f96c4b616646"
2188 | dependencies:
2189 | assert "^1.1.1"
2190 | browserify-zlib "^0.1.4"
2191 | buffer "^4.3.0"
2192 | console-browserify "^1.1.0"
2193 | constants-browserify "^1.0.0"
2194 | crypto-browserify "^3.11.0"
2195 | domain-browser "^1.1.1"
2196 | events "^1.0.0"
2197 | https-browserify "0.0.1"
2198 | os-browserify "^0.2.0"
2199 | path-browserify "0.0.0"
2200 | process "^0.11.0"
2201 | punycode "^1.2.4"
2202 | querystring-es3 "^0.2.0"
2203 | readable-stream "^2.0.5"
2204 | stream-browserify "^2.0.1"
2205 | stream-http "^2.3.1"
2206 | string_decoder "^0.10.25"
2207 | timers-browserify "^2.0.2"
2208 | tty-browserify "0.0.0"
2209 | url "^0.11.0"
2210 | util "^0.10.3"
2211 | vm-browserify "0.0.4"
2212 |
2213 | node-pre-gyp@^0.6.29:
2214 | version "0.6.34"
2215 | resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.34.tgz#94ad1c798a11d7fc67381b50d47f8cc18d9799f7"
2216 | dependencies:
2217 | mkdirp "^0.5.1"
2218 | nopt "^4.0.1"
2219 | npmlog "^4.0.2"
2220 | rc "^1.1.7"
2221 | request "^2.81.0"
2222 | rimraf "^2.6.1"
2223 | semver "^5.3.0"
2224 | tar "^2.2.1"
2225 | tar-pack "^3.4.0"
2226 |
2227 | node-sass@4.5.2:
2228 | version "4.5.2"
2229 | resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.5.2.tgz#4012fa2bd129b1d6365117e88d9da0500d99da64"
2230 | dependencies:
2231 | async-foreach "^0.1.3"
2232 | chalk "^1.1.1"
2233 | cross-spawn "^3.0.0"
2234 | gaze "^1.0.0"
2235 | get-stdin "^4.0.1"
2236 | glob "^7.0.3"
2237 | in-publish "^2.0.0"
2238 | lodash.assign "^4.2.0"
2239 | lodash.clonedeep "^4.3.2"
2240 | lodash.mergewith "^4.6.0"
2241 | meow "^3.7.0"
2242 | mkdirp "^0.5.1"
2243 | nan "^2.3.2"
2244 | node-gyp "^3.3.1"
2245 | npmlog "^4.0.0"
2246 | request "^2.79.0"
2247 | sass-graph "^2.1.1"
2248 | stdout-stream "^1.4.0"
2249 |
2250 | nodemon@1.11.0:
2251 | version "1.11.0"
2252 | resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-1.11.0.tgz#226c562bd2a7b13d3d7518b49ad4828a3623d06c"
2253 | dependencies:
2254 | chokidar "^1.4.3"
2255 | debug "^2.2.0"
2256 | es6-promise "^3.0.2"
2257 | ignore-by-default "^1.0.0"
2258 | lodash.defaults "^3.1.2"
2259 | minimatch "^3.0.0"
2260 | ps-tree "^1.0.1"
2261 | touch "1.0.0"
2262 | undefsafe "0.0.3"
2263 | update-notifier "0.5.0"
2264 |
2265 | "nopt@2 || 3":
2266 | version "3.0.6"
2267 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
2268 | dependencies:
2269 | abbrev "1"
2270 |
2271 | nopt@^4.0.1:
2272 | version "4.0.1"
2273 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
2274 | dependencies:
2275 | abbrev "1"
2276 | osenv "^0.1.4"
2277 |
2278 | nopt@~1.0.10:
2279 | version "1.0.10"
2280 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee"
2281 | dependencies:
2282 | abbrev "1"
2283 |
2284 | normalize-package-data@^2.3.2, normalize-package-data@^2.3.4:
2285 | version "2.3.6"
2286 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.6.tgz#498fa420c96401f787402ba21e600def9f981fff"
2287 | dependencies:
2288 | hosted-git-info "^2.1.4"
2289 | is-builtin-module "^1.0.0"
2290 | semver "2 || 3 || 4 || 5"
2291 | validate-npm-package-license "^3.0.1"
2292 |
2293 | normalize-path@^2.0.1:
2294 | version "2.1.1"
2295 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
2296 | dependencies:
2297 | remove-trailing-separator "^1.0.1"
2298 |
2299 | "npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2:
2300 | version "4.0.2"
2301 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f"
2302 | dependencies:
2303 | are-we-there-yet "~1.1.2"
2304 | console-control-strings "~1.1.0"
2305 | gauge "~2.7.1"
2306 | set-blocking "~2.0.0"
2307 |
2308 | null-check@^1.0.0:
2309 | version "1.0.0"
2310 | resolved "https://registry.yarnpkg.com/null-check/-/null-check-1.0.0.tgz#977dffd7176012b9ec30d2a39db5cf72a0439edd"
2311 |
2312 | number-is-nan@^1.0.0:
2313 | version "1.0.1"
2314 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
2315 |
2316 | oauth-sign@~0.8.1:
2317 | version "0.8.2"
2318 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
2319 |
2320 | object-assign@4.1.0:
2321 | version "4.1.0"
2322 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0"
2323 |
2324 | object-assign@^3.0.0:
2325 | version "3.0.0"
2326 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2"
2327 |
2328 | object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
2329 | version "4.1.1"
2330 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
2331 |
2332 | object-component@0.0.3:
2333 | version "0.0.3"
2334 | resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291"
2335 |
2336 | object.omit@^2.0.0:
2337 | version "2.0.1"
2338 | resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
2339 | dependencies:
2340 | for-own "^0.1.4"
2341 | is-extendable "^0.1.1"
2342 |
2343 | obuf@^1.0.0, obuf@^1.1.0:
2344 | version "1.1.1"
2345 | resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.1.tgz#104124b6c602c6796881a042541d36db43a5264e"
2346 |
2347 | on-finished@~2.3.0:
2348 | version "2.3.0"
2349 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
2350 | dependencies:
2351 | ee-first "1.1.1"
2352 |
2353 | on-headers@~1.0.1:
2354 | version "1.0.1"
2355 | resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7"
2356 |
2357 | once@^1.3.0, once@^1.3.3:
2358 | version "1.4.0"
2359 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
2360 | dependencies:
2361 | wrappy "1"
2362 |
2363 | once@~1.3.0:
2364 | version "1.3.3"
2365 | resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20"
2366 | dependencies:
2367 | wrappy "1"
2368 |
2369 | opn@4.0.2:
2370 | version "4.0.2"
2371 | resolved "https://registry.yarnpkg.com/opn/-/opn-4.0.2.tgz#7abc22e644dff63b0a96d5ab7f2790c0f01abc95"
2372 | dependencies:
2373 | object-assign "^4.0.1"
2374 | pinkie-promise "^2.0.0"
2375 |
2376 | optimist@^0.6.1:
2377 | version "0.6.1"
2378 | resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
2379 | dependencies:
2380 | minimist "~0.0.1"
2381 | wordwrap "~0.0.2"
2382 |
2383 | options@>=0.0.5:
2384 | version "0.0.6"
2385 | resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f"
2386 |
2387 | original@>=0.0.5:
2388 | version "1.0.0"
2389 | resolved "https://registry.yarnpkg.com/original/-/original-1.0.0.tgz#9147f93fa1696d04be61e01bd50baeaca656bd3b"
2390 | dependencies:
2391 | url-parse "1.0.x"
2392 |
2393 | os-browserify@^0.2.0:
2394 | version "0.2.1"
2395 | resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.2.1.tgz#63fc4ccee5d2d7763d26bbf8601078e6c2e0044f"
2396 |
2397 | os-homedir@^1.0.0:
2398 | version "1.0.2"
2399 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
2400 |
2401 | os-locale@^1.4.0:
2402 | version "1.4.0"
2403 | resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9"
2404 | dependencies:
2405 | lcid "^1.0.0"
2406 |
2407 | os-tmpdir@^1.0.0, os-tmpdir@~1.0.1:
2408 | version "1.0.2"
2409 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
2410 |
2411 | osenv@0, osenv@^0.1.0, osenv@^0.1.4:
2412 | version "0.1.4"
2413 | resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644"
2414 | dependencies:
2415 | os-homedir "^1.0.0"
2416 | os-tmpdir "^1.0.0"
2417 |
2418 | package-json@^1.0.0:
2419 | version "1.2.0"
2420 | resolved "https://registry.yarnpkg.com/package-json/-/package-json-1.2.0.tgz#c8ecac094227cdf76a316874ed05e27cc939a0e0"
2421 | dependencies:
2422 | got "^3.2.0"
2423 | registry-url "^3.0.0"
2424 |
2425 | pako@~0.2.0:
2426 | version "0.2.9"
2427 | resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75"
2428 |
2429 | param-case@2.1.x:
2430 | version "2.1.1"
2431 | resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247"
2432 | dependencies:
2433 | no-case "^2.2.0"
2434 |
2435 | parse-asn1@^5.0.0:
2436 | version "5.1.0"
2437 | resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.0.tgz#37c4f9b7ed3ab65c74817b5f2480937fbf97c712"
2438 | dependencies:
2439 | asn1.js "^4.0.0"
2440 | browserify-aes "^1.0.0"
2441 | create-hash "^1.1.0"
2442 | evp_bytestokey "^1.0.0"
2443 | pbkdf2 "^3.0.3"
2444 |
2445 | parse-glob@^3.0.4:
2446 | version "3.0.4"
2447 | resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
2448 | dependencies:
2449 | glob-base "^0.3.0"
2450 | is-dotfile "^1.0.0"
2451 | is-extglob "^1.0.0"
2452 | is-glob "^2.0.0"
2453 |
2454 | parse-json@^2.2.0:
2455 | version "2.2.0"
2456 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
2457 | dependencies:
2458 | error-ex "^1.2.0"
2459 |
2460 | parsejson@0.0.3:
2461 | version "0.0.3"
2462 | resolved "https://registry.yarnpkg.com/parsejson/-/parsejson-0.0.3.tgz#ab7e3759f209ece99437973f7d0f1f64ae0e64ab"
2463 | dependencies:
2464 | better-assert "~1.0.0"
2465 |
2466 | parseqs@0.0.5:
2467 | version "0.0.5"
2468 | resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d"
2469 | dependencies:
2470 | better-assert "~1.0.0"
2471 |
2472 | parseuri@0.0.5:
2473 | version "0.0.5"
2474 | resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a"
2475 | dependencies:
2476 | better-assert "~1.0.0"
2477 |
2478 | parseurl@~1.3.1:
2479 | version "1.3.1"
2480 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56"
2481 |
2482 | path-browserify@0.0.0:
2483 | version "0.0.0"
2484 | resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a"
2485 |
2486 | path-exists@^2.0.0:
2487 | version "2.1.0"
2488 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
2489 | dependencies:
2490 | pinkie-promise "^2.0.0"
2491 |
2492 | path-is-absolute@^1.0.0:
2493 | version "1.0.1"
2494 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
2495 |
2496 | path-to-regexp@0.1.7:
2497 | version "0.1.7"
2498 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
2499 |
2500 | path-type@^1.0.0:
2501 | version "1.1.0"
2502 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
2503 | dependencies:
2504 | graceful-fs "^4.1.2"
2505 | pify "^2.0.0"
2506 | pinkie-promise "^2.0.0"
2507 |
2508 | pause-stream@0.0.11:
2509 | version "0.0.11"
2510 | resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445"
2511 | dependencies:
2512 | through "~2.3"
2513 |
2514 | pbkdf2@^3.0.3:
2515 | version "3.0.9"
2516 | resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.9.tgz#f2c4b25a600058b3c3773c086c37dbbee1ffe693"
2517 | dependencies:
2518 | create-hmac "^1.1.2"
2519 |
2520 | performance-now@^0.2.0:
2521 | version "0.2.0"
2522 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5"
2523 |
2524 | pify@^2.0.0, pify@^2.3.0:
2525 | version "2.3.0"
2526 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
2527 |
2528 | pinkie-promise@^2.0.0:
2529 | version "2.0.1"
2530 | resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
2531 | dependencies:
2532 | pinkie "^2.0.0"
2533 |
2534 | pinkie@^2.0.0:
2535 | version "2.0.4"
2536 | resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
2537 |
2538 | portfinder@^1.0.9:
2539 | version "1.0.13"
2540 | resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.13.tgz#bb32ecd87c27104ae6ee44b5a3ccbf0ebb1aede9"
2541 | dependencies:
2542 | async "^1.5.2"
2543 | debug "^2.2.0"
2544 | mkdirp "0.5.x"
2545 |
2546 | prepend-http@^1.0.0:
2547 | version "1.0.4"
2548 | resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
2549 |
2550 | preserve@^0.2.0:
2551 | version "0.2.0"
2552 | resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
2553 |
2554 | private@~0.1.5:
2555 | version "0.1.7"
2556 | resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1"
2557 |
2558 | process-nextick-args@~1.0.6:
2559 | version "1.0.7"
2560 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
2561 |
2562 | process@^0.11.0:
2563 | version "0.11.9"
2564 | resolved "https://registry.yarnpkg.com/process/-/process-0.11.9.tgz#7bd5ad21aa6253e7da8682264f1e11d11c0318c1"
2565 |
2566 | proxy-addr@~1.1.3:
2567 | version "1.1.4"
2568 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.4.tgz#27e545f6960a44a627d9b44467e35c1b6b4ce2f3"
2569 | dependencies:
2570 | forwarded "~0.1.0"
2571 | ipaddr.js "1.3.0"
2572 |
2573 | prr@~0.0.0:
2574 | version "0.0.0"
2575 | resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a"
2576 |
2577 | ps-tree@^1.0.1:
2578 | version "1.1.0"
2579 | resolved "https://registry.yarnpkg.com/ps-tree/-/ps-tree-1.1.0.tgz#b421b24140d6203f1ed3c76996b4427b08e8c014"
2580 | dependencies:
2581 | event-stream "~3.3.0"
2582 |
2583 | pseudomap@^1.0.1:
2584 | version "1.0.2"
2585 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
2586 |
2587 | public-encrypt@^4.0.0:
2588 | version "4.0.0"
2589 | resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6"
2590 | dependencies:
2591 | bn.js "^4.1.0"
2592 | browserify-rsa "^4.0.0"
2593 | create-hash "^1.1.0"
2594 | parse-asn1 "^5.0.0"
2595 | randombytes "^2.0.1"
2596 |
2597 | punycode@1.3.2:
2598 | version "1.3.2"
2599 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
2600 |
2601 | punycode@^1.2.4, punycode@^1.4.1:
2602 | version "1.4.1"
2603 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
2604 |
2605 | qjobs@^1.1.4:
2606 | version "1.1.5"
2607 | resolved "https://registry.yarnpkg.com/qjobs/-/qjobs-1.1.5.tgz#659de9f2cf8dcc27a1481276f205377272382e73"
2608 |
2609 | qs@6.4.0, qs@~6.4.0:
2610 | version "6.4.0"
2611 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233"
2612 |
2613 | querystring-es3@^0.2.0:
2614 | version "0.2.1"
2615 | resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
2616 |
2617 | querystring@0.2.0:
2618 | version "0.2.0"
2619 | resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
2620 |
2621 | querystringify@0.0.x:
2622 | version "0.0.4"
2623 | resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-0.0.4.tgz#0cf7f84f9463ff0ae51c4c4b142d95be37724d9c"
2624 |
2625 | randomatic@^1.1.3:
2626 | version "1.1.6"
2627 | resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb"
2628 | dependencies:
2629 | is-number "^2.0.2"
2630 | kind-of "^3.0.2"
2631 |
2632 | randombytes@^2.0.0, randombytes@^2.0.1:
2633 | version "2.0.3"
2634 | resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.3.tgz#674c99760901c3c4112771a31e521dc349cc09ec"
2635 |
2636 | range-parser@^1.0.3, range-parser@^1.2.0, range-parser@~1.2.0:
2637 | version "1.2.0"
2638 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e"
2639 |
2640 | raw-body@~2.2.0:
2641 | version "2.2.0"
2642 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.2.0.tgz#994976cf6a5096a41162840492f0bdc5d6e7fb96"
2643 | dependencies:
2644 | bytes "2.4.0"
2645 | iconv-lite "0.4.15"
2646 | unpipe "1.0.0"
2647 |
2648 | raw-loader@0.5.1:
2649 | version "0.5.1"
2650 | resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-0.5.1.tgz#0c3d0beaed8a01c966d9787bf778281252a979aa"
2651 |
2652 | rc@^1.0.1, rc@^1.1.7:
2653 | version "1.2.1"
2654 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95"
2655 | dependencies:
2656 | deep-extend "~0.4.0"
2657 | ini "~1.3.0"
2658 | minimist "^1.2.0"
2659 | strip-json-comments "~2.0.1"
2660 |
2661 | read-all-stream@^3.0.0:
2662 | version "3.1.0"
2663 | resolved "https://registry.yarnpkg.com/read-all-stream/-/read-all-stream-3.1.0.tgz#35c3e177f2078ef789ee4bfafa4373074eaef4fa"
2664 | dependencies:
2665 | pinkie-promise "^2.0.0"
2666 | readable-stream "^2.0.0"
2667 |
2668 | read-pkg-up@^1.0.1:
2669 | version "1.0.1"
2670 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
2671 | dependencies:
2672 | find-up "^1.0.0"
2673 | read-pkg "^1.0.0"
2674 |
2675 | read-pkg@^1.0.0:
2676 | version "1.1.0"
2677 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
2678 | dependencies:
2679 | load-json-file "^1.0.0"
2680 | normalize-package-data "^2.3.2"
2681 | path-type "^1.0.0"
2682 |
2683 | readable-stream@^2.0.0, "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:
2684 | version "2.2.9"
2685 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.9.tgz#cf78ec6f4a6d1eb43d26488cac97f042e74b7fc8"
2686 | dependencies:
2687 | buffer-shims "~1.0.0"
2688 | core-util-is "~1.0.0"
2689 | inherits "~2.0.1"
2690 | isarray "~1.0.0"
2691 | process-nextick-args "~1.0.6"
2692 | string_decoder "~1.0.0"
2693 | util-deprecate "~1.0.1"
2694 |
2695 | readable-stream@~1.0.2:
2696 | version "1.0.34"
2697 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c"
2698 | dependencies:
2699 | core-util-is "~1.0.0"
2700 | inherits "~2.0.1"
2701 | isarray "0.0.1"
2702 | string_decoder "~0.10.x"
2703 |
2704 | readdirp@^2.0.0:
2705 | version "2.1.0"
2706 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78"
2707 | dependencies:
2708 | graceful-fs "^4.1.2"
2709 | minimatch "^3.0.2"
2710 | readable-stream "^2.0.2"
2711 | set-immediate-shim "^1.0.1"
2712 |
2713 | recast@~0.11.12:
2714 | version "0.11.23"
2715 | resolved "https://registry.yarnpkg.com/recast/-/recast-0.11.23.tgz#451fd3004ab1e4df9b4e4b66376b2a21912462d3"
2716 | dependencies:
2717 | ast-types "0.9.6"
2718 | esprima "~3.1.0"
2719 | private "~0.1.5"
2720 | source-map "~0.5.0"
2721 |
2722 | redent@^1.0.0:
2723 | version "1.0.0"
2724 | resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
2725 | dependencies:
2726 | indent-string "^2.1.0"
2727 | strip-indent "^1.0.1"
2728 |
2729 | reflect-metadata@0.1.10, reflect-metadata@^0.1.2:
2730 | version "0.1.10"
2731 | resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.10.tgz#b4f83704416acad89988c9b15635d47e03b9344a"
2732 |
2733 | regex-cache@^0.4.2:
2734 | version "0.4.3"
2735 | resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145"
2736 | dependencies:
2737 | is-equal-shallow "^0.1.3"
2738 | is-primitive "^2.0.0"
2739 |
2740 | registry-url@^3.0.0:
2741 | version "3.1.0"
2742 | resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942"
2743 | dependencies:
2744 | rc "^1.0.1"
2745 |
2746 | relateurl@0.2.x:
2747 | version "0.2.7"
2748 | resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9"
2749 |
2750 | remove-trailing-separator@^1.0.1:
2751 | version "1.0.1"
2752 | resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.0.1.tgz#615ebb96af559552d4bf4057c8436d486ab63cc4"
2753 |
2754 | repeat-element@^1.1.2:
2755 | version "1.1.2"
2756 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a"
2757 |
2758 | repeat-string@^0.2.2:
2759 | version "0.2.2"
2760 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-0.2.2.tgz#c7a8d3236068362059a7e4651fc6884e8b1fb4ae"
2761 |
2762 | repeat-string@^1.5.2:
2763 | version "1.6.1"
2764 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
2765 |
2766 | repeating@^1.1.2:
2767 | version "1.1.3"
2768 | resolved "https://registry.yarnpkg.com/repeating/-/repeating-1.1.3.tgz#3d4114218877537494f97f77f9785fab810fa4ac"
2769 | dependencies:
2770 | is-finite "^1.0.0"
2771 |
2772 | repeating@^2.0.0:
2773 | version "2.0.1"
2774 | resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
2775 | dependencies:
2776 | is-finite "^1.0.0"
2777 |
2778 | request@2, request@^2.79.0, request@^2.81.0:
2779 | version "2.81.0"
2780 | resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0"
2781 | dependencies:
2782 | aws-sign2 "~0.6.0"
2783 | aws4 "^1.2.1"
2784 | caseless "~0.12.0"
2785 | combined-stream "~1.0.5"
2786 | extend "~3.0.0"
2787 | forever-agent "~0.6.1"
2788 | form-data "~2.1.1"
2789 | har-validator "~4.2.1"
2790 | hawk "~3.1.3"
2791 | http-signature "~1.1.0"
2792 | is-typedarray "~1.0.0"
2793 | isstream "~0.1.2"
2794 | json-stringify-safe "~5.0.1"
2795 | mime-types "~2.1.7"
2796 | oauth-sign "~0.8.1"
2797 | performance-now "^0.2.0"
2798 | qs "~6.4.0"
2799 | safe-buffer "^5.0.1"
2800 | stringstream "~0.0.4"
2801 | tough-cookie "~2.3.0"
2802 | tunnel-agent "^0.6.0"
2803 | uuid "^3.0.0"
2804 |
2805 | require-directory@^2.1.1:
2806 | version "2.1.1"
2807 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
2808 |
2809 | require-main-filename@^1.0.1:
2810 | version "1.0.1"
2811 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
2812 |
2813 | requires-port@1.0.x, requires-port@1.x.x:
2814 | version "1.0.0"
2815 | resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
2816 |
2817 | right-align@^0.1.1:
2818 | version "0.1.3"
2819 | resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef"
2820 | dependencies:
2821 | align-text "^0.1.1"
2822 |
2823 | rimraf@2, rimraf@2.6.1, rimraf@^2.5.1, rimraf@^2.6.0, rimraf@^2.6.1:
2824 | version "2.6.1"
2825 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d"
2826 | dependencies:
2827 | glob "^7.0.5"
2828 |
2829 | ripemd160@^1.0.0:
2830 | version "1.0.1"
2831 | resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-1.0.1.tgz#93a4bbd4942bc574b69a8fa57c71de10ecca7d6e"
2832 |
2833 | rollup@0.41.6:
2834 | version "0.41.6"
2835 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.41.6.tgz#e0d05497877a398c104d816d2733a718a7a94e2a"
2836 | dependencies:
2837 | source-map-support "^0.4.0"
2838 |
2839 | rxjs@5.3.0:
2840 | version "5.3.0"
2841 | resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.3.0.tgz#d88ccbdd46af290cbdb97d5d8055e52453fabe2d"
2842 | dependencies:
2843 | symbol-observable "^1.0.1"
2844 |
2845 | safe-buffer@^5.0.1:
2846 | version "5.0.1"
2847 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7"
2848 |
2849 | sass-graph@^2.1.1:
2850 | version "2.1.2"
2851 | resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.1.2.tgz#965104be23e8103cb7e5f710df65935b317da57b"
2852 | dependencies:
2853 | glob "^7.0.0"
2854 | lodash "^4.0.0"
2855 | yargs "^4.7.1"
2856 |
2857 | sass-loader@6.0.3:
2858 | version "6.0.3"
2859 | resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-6.0.3.tgz#33983b1f90d27ddab0e57d0dac403dce9bc7ecfd"
2860 | dependencies:
2861 | async "^2.1.5"
2862 | clone-deep "^0.2.4"
2863 | loader-utils "^1.0.1"
2864 | lodash.tail "^4.1.1"
2865 | pify "^2.3.0"
2866 |
2867 | select-hose@^2.0.0:
2868 | version "2.0.0"
2869 | resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca"
2870 |
2871 | semver-diff@^2.0.0:
2872 | version "2.1.0"
2873 | resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36"
2874 | dependencies:
2875 | semver "^5.0.3"
2876 |
2877 | "semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.3.0, semver@~5.3.0:
2878 | version "5.3.0"
2879 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
2880 |
2881 | semver@~4.3.3:
2882 | version "4.3.6"
2883 | resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da"
2884 |
2885 | send@0.15.1:
2886 | version "0.15.1"
2887 | resolved "https://registry.yarnpkg.com/send/-/send-0.15.1.tgz#8a02354c26e6f5cca700065f5f0cdeba90ec7b5f"
2888 | dependencies:
2889 | debug "2.6.1"
2890 | depd "~1.1.0"
2891 | destroy "~1.0.4"
2892 | encodeurl "~1.0.1"
2893 | escape-html "~1.0.3"
2894 | etag "~1.8.0"
2895 | fresh "0.5.0"
2896 | http-errors "~1.6.1"
2897 | mime "1.3.4"
2898 | ms "0.7.2"
2899 | on-finished "~2.3.0"
2900 | range-parser "~1.2.0"
2901 | statuses "~1.3.1"
2902 |
2903 | serve-index@^1.7.2:
2904 | version "1.8.0"
2905 | resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.8.0.tgz#7c5d96c13fb131101f93c1c5774f8516a1e78d3b"
2906 | dependencies:
2907 | accepts "~1.3.3"
2908 | batch "0.5.3"
2909 | debug "~2.2.0"
2910 | escape-html "~1.0.3"
2911 | http-errors "~1.5.0"
2912 | mime-types "~2.1.11"
2913 | parseurl "~1.3.1"
2914 |
2915 | serve-static@1.12.1:
2916 | version "1.12.1"
2917 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.12.1.tgz#7443a965e3ced647aceb5639fa06bf4d1bbe0039"
2918 | dependencies:
2919 | encodeurl "~1.0.1"
2920 | escape-html "~1.0.3"
2921 | parseurl "~1.3.1"
2922 | send "0.15.1"
2923 |
2924 | set-blocking@^2.0.0, set-blocking@~2.0.0:
2925 | version "2.0.0"
2926 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
2927 |
2928 | set-immediate-shim@^1.0.1:
2929 | version "1.0.1"
2930 | resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61"
2931 |
2932 | setimmediate@^1.0.4:
2933 | version "1.0.5"
2934 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
2935 |
2936 | setprototypeof@1.0.2:
2937 | version "1.0.2"
2938 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.2.tgz#81a552141ec104b88e89ce383103ad5c66564d08"
2939 |
2940 | setprototypeof@1.0.3:
2941 | version "1.0.3"
2942 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04"
2943 |
2944 | sha.js@^2.3.6:
2945 | version "2.4.8"
2946 | resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.8.tgz#37068c2c476b6baf402d14a49c67f597921f634f"
2947 | dependencies:
2948 | inherits "^2.0.1"
2949 |
2950 | shallow-clone@^0.1.2:
2951 | version "0.1.2"
2952 | resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-0.1.2.tgz#5909e874ba77106d73ac414cfec1ffca87d97060"
2953 | dependencies:
2954 | is-extendable "^0.1.1"
2955 | kind-of "^2.0.1"
2956 | lazy-cache "^0.2.3"
2957 | mixin-object "^2.0.1"
2958 |
2959 | signal-exit@^3.0.0:
2960 | version "3.0.2"
2961 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
2962 |
2963 | slide@^1.1.5:
2964 | version "1.1.6"
2965 | resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707"
2966 |
2967 | sntp@1.x.x:
2968 | version "1.0.9"
2969 | resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198"
2970 | dependencies:
2971 | hoek "2.x.x"
2972 |
2973 | socket.io-adapter@0.5.0:
2974 | version "0.5.0"
2975 | resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz#cb6d4bb8bec81e1078b99677f9ced0046066bb8b"
2976 | dependencies:
2977 | debug "2.3.3"
2978 | socket.io-parser "2.3.1"
2979 |
2980 | socket.io-client@1.7.3:
2981 | version "1.7.3"
2982 | resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-1.7.3.tgz#b30e86aa10d5ef3546601c09cde4765e381da377"
2983 | dependencies:
2984 | backo2 "1.0.2"
2985 | component-bind "1.0.0"
2986 | component-emitter "1.2.1"
2987 | debug "2.3.3"
2988 | engine.io-client "1.8.3"
2989 | has-binary "0.1.7"
2990 | indexof "0.0.1"
2991 | object-component "0.0.3"
2992 | parseuri "0.0.5"
2993 | socket.io-parser "2.3.1"
2994 | to-array "0.1.4"
2995 |
2996 | socket.io-parser@2.3.1:
2997 | version "2.3.1"
2998 | resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.3.1.tgz#dd532025103ce429697326befd64005fcfe5b4a0"
2999 | dependencies:
3000 | component-emitter "1.1.2"
3001 | debug "2.2.0"
3002 | isarray "0.0.1"
3003 | json3 "3.3.2"
3004 |
3005 | socket.io@1.7.3:
3006 | version "1.7.3"
3007 | resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-1.7.3.tgz#b8af9caba00949e568e369f1327ea9be9ea2461b"
3008 | dependencies:
3009 | debug "2.3.3"
3010 | engine.io "1.8.3"
3011 | has-binary "0.1.7"
3012 | object-assign "4.1.0"
3013 | socket.io-adapter "0.5.0"
3014 | socket.io-client "1.7.3"
3015 | socket.io-parser "2.3.1"
3016 |
3017 | sockjs-client@1.1.2:
3018 | version "1.1.2"
3019 | resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.2.tgz#f0212a8550e4c9468c8cceaeefd2e3493c033ad5"
3020 | dependencies:
3021 | debug "^2.2.0"
3022 | eventsource "0.1.6"
3023 | faye-websocket "~0.11.0"
3024 | inherits "^2.0.1"
3025 | json3 "^3.3.2"
3026 | url-parse "^1.1.1"
3027 |
3028 | sockjs@0.3.18:
3029 | version "0.3.18"
3030 | resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.18.tgz#d9b289316ca7df77595ef299e075f0f937eb4207"
3031 | dependencies:
3032 | faye-websocket "^0.10.0"
3033 | uuid "^2.0.2"
3034 |
3035 | source-list-map@^1.1.1:
3036 | version "1.1.1"
3037 | resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-1.1.1.tgz#1a33ac210ca144d1e561f906ebccab5669ff4cb4"
3038 |
3039 | source-map-support@^0.4.0, source-map-support@^0.4.11, source-map-support@^0.4.2:
3040 | version "0.4.14"
3041 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.14.tgz#9d4463772598b86271b4f523f6c1f4e02a7d6aef"
3042 | dependencies:
3043 | source-map "^0.5.6"
3044 |
3045 | source-map@0.5.x, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.0, source-map@~0.5.1, source-map@~0.5.3:
3046 | version "0.5.6"
3047 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412"
3048 |
3049 | source-map@^0.1.41:
3050 | version "0.1.43"
3051 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346"
3052 | dependencies:
3053 | amdefine ">=0.0.4"
3054 |
3055 | spdx-correct@~1.0.0:
3056 | version "1.0.2"
3057 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40"
3058 | dependencies:
3059 | spdx-license-ids "^1.0.2"
3060 |
3061 | spdx-expression-parse@~1.0.0:
3062 | version "1.0.4"
3063 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c"
3064 |
3065 | spdx-license-ids@^1.0.2:
3066 | version "1.2.2"
3067 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57"
3068 |
3069 | spdy-transport@^2.0.15:
3070 | version "2.0.18"
3071 | resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-2.0.18.tgz#43fc9c56be2cccc12bb3e2754aa971154e836ea6"
3072 | dependencies:
3073 | debug "^2.2.0"
3074 | hpack.js "^2.1.6"
3075 | obuf "^1.1.0"
3076 | readable-stream "^2.0.1"
3077 | wbuf "^1.4.0"
3078 |
3079 | spdy@^3.4.1:
3080 | version "3.4.4"
3081 | resolved "https://registry.yarnpkg.com/spdy/-/spdy-3.4.4.tgz#e0406407ca90ff01b553eb013505442649f5a819"
3082 | dependencies:
3083 | debug "^2.2.0"
3084 | handle-thing "^1.2.4"
3085 | http-deceiver "^1.2.4"
3086 | select-hose "^2.0.0"
3087 | spdy-transport "^2.0.15"
3088 |
3089 | split@0.3:
3090 | version "0.3.3"
3091 | resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f"
3092 | dependencies:
3093 | through "2"
3094 |
3095 | sshpk@^1.7.0:
3096 | version "1.11.0"
3097 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.11.0.tgz#2d8d5ebb4a6fab28ffba37fa62a90f4a3ea59d77"
3098 | dependencies:
3099 | asn1 "~0.2.3"
3100 | assert-plus "^1.0.0"
3101 | dashdash "^1.12.0"
3102 | getpass "^0.1.1"
3103 | optionalDependencies:
3104 | bcrypt-pbkdf "^1.0.0"
3105 | ecc-jsbn "~0.1.1"
3106 | jodid25519 "^1.0.0"
3107 | jsbn "~0.1.0"
3108 | tweetnacl "~0.14.0"
3109 |
3110 | "statuses@>= 1.3.1 < 2", statuses@~1.3.1:
3111 | version "1.3.1"
3112 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e"
3113 |
3114 | stdout-stream@^1.4.0:
3115 | version "1.4.0"
3116 | resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.0.tgz#a2c7c8587e54d9427ea9edb3ac3f2cd522df378b"
3117 | dependencies:
3118 | readable-stream "^2.0.1"
3119 |
3120 | stream-browserify@^2.0.1:
3121 | version "2.0.1"
3122 | resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db"
3123 | dependencies:
3124 | inherits "~2.0.1"
3125 | readable-stream "^2.0.2"
3126 |
3127 | stream-combiner@~0.0.4:
3128 | version "0.0.4"
3129 | resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14"
3130 | dependencies:
3131 | duplexer "~0.1.1"
3132 |
3133 | stream-http@^2.3.1:
3134 | version "2.7.0"
3135 | resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.7.0.tgz#cec1f4e3b494bc4a81b451808970f8b20b4ed5f6"
3136 | dependencies:
3137 | builtin-status-codes "^3.0.0"
3138 | inherits "^2.0.1"
3139 | readable-stream "^2.2.6"
3140 | to-arraybuffer "^1.0.0"
3141 | xtend "^4.0.0"
3142 |
3143 | stream-shift@^1.0.0:
3144 | version "1.0.0"
3145 | resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952"
3146 |
3147 | string-length@^1.0.0:
3148 | version "1.0.1"
3149 | resolved "https://registry.yarnpkg.com/string-length/-/string-length-1.0.1.tgz#56970fb1c38558e9e70b728bf3de269ac45adfac"
3150 | dependencies:
3151 | strip-ansi "^3.0.0"
3152 |
3153 | string-width@^1.0.1, string-width@^1.0.2:
3154 | version "1.0.2"
3155 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
3156 | dependencies:
3157 | code-point-at "^1.0.0"
3158 | is-fullwidth-code-point "^1.0.0"
3159 | strip-ansi "^3.0.0"
3160 |
3161 | string_decoder@^0.10.25, string_decoder@~0.10.x:
3162 | version "0.10.31"
3163 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
3164 |
3165 | string_decoder@~1.0.0:
3166 | version "1.0.0"
3167 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.0.tgz#f06f41157b664d86069f84bdbdc9b0d8ab281667"
3168 | dependencies:
3169 | buffer-shims "~1.0.0"
3170 |
3171 | stringstream@~0.0.4:
3172 | version "0.0.5"
3173 | resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878"
3174 |
3175 | strip-ansi@^3.0.0, strip-ansi@^3.0.1:
3176 | version "3.0.1"
3177 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
3178 | dependencies:
3179 | ansi-regex "^2.0.0"
3180 |
3181 | strip-bom@^2.0.0:
3182 | version "2.0.0"
3183 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
3184 | dependencies:
3185 | is-utf8 "^0.2.0"
3186 |
3187 | strip-indent@^1.0.1:
3188 | version "1.0.1"
3189 | resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2"
3190 | dependencies:
3191 | get-stdin "^4.0.1"
3192 |
3193 | strip-json-comments@~2.0.1:
3194 | version "2.0.1"
3195 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
3196 |
3197 | supports-color@^2.0.0:
3198 | version "2.0.0"
3199 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
3200 |
3201 | supports-color@^3.1.0, supports-color@^3.1.1:
3202 | version "3.2.3"
3203 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
3204 | dependencies:
3205 | has-flag "^1.0.0"
3206 |
3207 | symbol-observable@^1.0.1:
3208 | version "1.0.4"
3209 | resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d"
3210 |
3211 | tapable@^0.2.5, tapable@~0.2.5:
3212 | version "0.2.6"
3213 | resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.6.tgz#206be8e188860b514425375e6f1ae89bfb01fd8d"
3214 |
3215 | tar-pack@^3.4.0:
3216 | version "3.4.0"
3217 | resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.0.tgz#23be2d7f671a8339376cbdb0b8fe3fdebf317984"
3218 | dependencies:
3219 | debug "^2.2.0"
3220 | fstream "^1.0.10"
3221 | fstream-ignore "^1.0.5"
3222 | once "^1.3.3"
3223 | readable-stream "^2.1.4"
3224 | rimraf "^2.5.1"
3225 | tar "^2.2.1"
3226 | uid-number "^0.0.6"
3227 |
3228 | tar@^2.0.0, tar@^2.2.1:
3229 | version "2.2.1"
3230 | resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1"
3231 | dependencies:
3232 | block-stream "*"
3233 | fstream "^1.0.2"
3234 | inherits "2"
3235 |
3236 | through@2, through@~2.3, through@~2.3.1, through@~2.3.6:
3237 | version "2.3.8"
3238 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
3239 |
3240 | timed-out@^2.0.0:
3241 | version "2.0.0"
3242 | resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-2.0.0.tgz#f38b0ae81d3747d628001f41dafc652ace671c0a"
3243 |
3244 | timers-browserify@^2.0.2:
3245 | version "2.0.2"
3246 | resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.2.tgz#ab4883cf597dcd50af211349a00fbca56ac86b86"
3247 | dependencies:
3248 | setimmediate "^1.0.4"
3249 |
3250 | tmp@0.0.31, tmp@0.0.x:
3251 | version "0.0.31"
3252 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7"
3253 | dependencies:
3254 | os-tmpdir "~1.0.1"
3255 |
3256 | to-array@0.1.4:
3257 | version "0.1.4"
3258 | resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890"
3259 |
3260 | to-arraybuffer@^1.0.0:
3261 | version "1.0.1"
3262 | resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
3263 |
3264 | touch@1.0.0:
3265 | version "1.0.0"
3266 | resolved "https://registry.yarnpkg.com/touch/-/touch-1.0.0.tgz#449cbe2dbae5a8c8038e30d71fa0ff464947c4de"
3267 | dependencies:
3268 | nopt "~1.0.10"
3269 |
3270 | tough-cookie@~2.3.0:
3271 | version "2.3.2"
3272 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a"
3273 | dependencies:
3274 | punycode "^1.4.1"
3275 |
3276 | trim-newlines@^1.0.0:
3277 | version "1.0.0"
3278 | resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
3279 |
3280 | tsickle@^0.21.0:
3281 | version "0.21.6"
3282 | resolved "https://registry.yarnpkg.com/tsickle/-/tsickle-0.21.6.tgz#53b01b979c5c13fdb13afb3fb958177e5991588d"
3283 | dependencies:
3284 | minimist "^1.2.0"
3285 | mkdirp "^0.5.1"
3286 | source-map "^0.5.6"
3287 | source-map-support "^0.4.2"
3288 |
3289 | tslib@1.6.1:
3290 | version "1.6.1"
3291 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.6.1.tgz#b77b09abc5fa4935e157d838b80e36dad47152c4"
3292 |
3293 | tty-browserify@0.0.0:
3294 | version "0.0.0"
3295 | resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
3296 |
3297 | tunnel-agent@^0.6.0:
3298 | version "0.6.0"
3299 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
3300 | dependencies:
3301 | safe-buffer "^5.0.1"
3302 |
3303 | tweetnacl@^0.14.3, tweetnacl@~0.14.0:
3304 | version "0.14.5"
3305 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
3306 |
3307 | type-is@~1.6.14:
3308 | version "1.6.15"
3309 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410"
3310 | dependencies:
3311 | media-typer "0.3.0"
3312 | mime-types "~2.1.15"
3313 |
3314 | typescript@2.3.1:
3315 | version "2.3.1"
3316 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.3.1.tgz#e3361fb395c6c3f9c69faeeabc9503f8bdecaea1"
3317 |
3318 | uglify-js@^2.8.5, uglify-js@~2.8.22:
3319 | version "2.8.22"
3320 | resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.22.tgz#d54934778a8da14903fa29a326fb24c0ab51a1a0"
3321 | dependencies:
3322 | source-map "~0.5.1"
3323 | yargs "~3.10.0"
3324 | optionalDependencies:
3325 | uglify-to-browserify "~1.0.0"
3326 |
3327 | uglify-to-browserify@~1.0.0:
3328 | version "1.0.2"
3329 | resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
3330 |
3331 | uid-number@^0.0.6:
3332 | version "0.0.6"
3333 | resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81"
3334 |
3335 | ultron@1.0.x:
3336 | version "1.0.2"
3337 | resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa"
3338 |
3339 | undefsafe@0.0.3:
3340 | version "0.0.3"
3341 | resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-0.0.3.tgz#ecca3a03e56b9af17385baac812ac83b994a962f"
3342 |
3343 | unpipe@1.0.0, unpipe@~1.0.0:
3344 | version "1.0.0"
3345 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
3346 |
3347 | update-notifier@0.5.0:
3348 | version "0.5.0"
3349 | resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-0.5.0.tgz#07b5dc2066b3627ab3b4f530130f7eddda07a4cc"
3350 | dependencies:
3351 | chalk "^1.0.0"
3352 | configstore "^1.0.0"
3353 | is-npm "^1.0.0"
3354 | latest-version "^1.0.0"
3355 | repeating "^1.1.2"
3356 | semver-diff "^2.0.0"
3357 | string-length "^1.0.0"
3358 |
3359 | upper-case@^1.1.1:
3360 | version "1.1.3"
3361 | resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598"
3362 |
3363 | url-parse@1.0.x:
3364 | version "1.0.5"
3365 | resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.0.5.tgz#0854860422afdcfefeb6c965c662d4800169927b"
3366 | dependencies:
3367 | querystringify "0.0.x"
3368 | requires-port "1.0.x"
3369 |
3370 | url-parse@^1.1.1:
3371 | version "1.1.8"
3372 | resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.1.8.tgz#7a65b3a8d57a1e86af6b4e2276e34774167c0156"
3373 | dependencies:
3374 | querystringify "0.0.x"
3375 | requires-port "1.0.x"
3376 |
3377 | url@^0.11.0:
3378 | version "0.11.0"
3379 | resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"
3380 | dependencies:
3381 | punycode "1.3.2"
3382 | querystring "0.2.0"
3383 |
3384 | useragent@^2.1.12:
3385 | version "2.1.13"
3386 | resolved "https://registry.yarnpkg.com/useragent/-/useragent-2.1.13.tgz#bba43e8aa24d5ceb83c2937473e102e21df74c10"
3387 | dependencies:
3388 | lru-cache "2.2.x"
3389 | tmp "0.0.x"
3390 |
3391 | util-deprecate@~1.0.1:
3392 | version "1.0.2"
3393 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
3394 |
3395 | util@0.10.3, util@^0.10.3:
3396 | version "0.10.3"
3397 | resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
3398 | dependencies:
3399 | inherits "2.0.1"
3400 |
3401 | utils-merge@1.0.0:
3402 | version "1.0.0"
3403 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8"
3404 |
3405 | uuid@^2.0.1, uuid@^2.0.2:
3406 | version "2.0.3"
3407 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a"
3408 |
3409 | uuid@^3.0.0:
3410 | version "3.0.1"
3411 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1"
3412 |
3413 | validate-npm-package-license@^3.0.1:
3414 | version "3.0.1"
3415 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc"
3416 | dependencies:
3417 | spdx-correct "~1.0.0"
3418 | spdx-expression-parse "~1.0.0"
3419 |
3420 | vary@~1.1.0:
3421 | version "1.1.1"
3422 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.1.tgz#67535ebb694c1d52257457984665323f587e8d37"
3423 |
3424 | verror@1.3.6:
3425 | version "1.3.6"
3426 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c"
3427 | dependencies:
3428 | extsprintf "1.0.2"
3429 |
3430 | vm-browserify@0.0.4:
3431 | version "0.0.4"
3432 | resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73"
3433 | dependencies:
3434 | indexof "0.0.1"
3435 |
3436 | void-elements@^2.0.0:
3437 | version "2.0.1"
3438 | resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec"
3439 |
3440 | watchpack@^1.3.1:
3441 | version "1.3.1"
3442 | resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.3.1.tgz#7d8693907b28ce6013e7f3610aa2a1acf07dad87"
3443 | dependencies:
3444 | async "^2.1.2"
3445 | chokidar "^1.4.3"
3446 | graceful-fs "^4.1.2"
3447 |
3448 | wbuf@^1.1.0, wbuf@^1.4.0:
3449 | version "1.7.2"
3450 | resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.2.tgz#d697b99f1f59512df2751be42769c1580b5801fe"
3451 | dependencies:
3452 | minimalistic-assert "^1.0.0"
3453 |
3454 | webpack-dev-middleware@^1.0.11:
3455 | version "1.10.1"
3456 | resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.10.1.tgz#c6b4cf428139cf1aefbe06a0c00fdb4f8da2f893"
3457 | dependencies:
3458 | memory-fs "~0.4.1"
3459 | mime "^1.3.4"
3460 | path-is-absolute "^1.0.0"
3461 | range-parser "^1.0.3"
3462 |
3463 | webpack-dev-middleware@^1.10.2:
3464 | version "1.10.2"
3465 | resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.10.2.tgz#2e252ce1dfb020dbda1ccb37df26f30ab014dbd1"
3466 | dependencies:
3467 | memory-fs "~0.4.1"
3468 | mime "^1.3.4"
3469 | path-is-absolute "^1.0.0"
3470 | range-parser "^1.0.3"
3471 |
3472 | webpack-dev-server@2.4.5:
3473 | version "2.4.5"
3474 | resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.4.5.tgz#31384ce81136be1080b4b4cde0eb9b90e54ee6cf"
3475 | dependencies:
3476 | ansi-html "0.0.7"
3477 | chokidar "^1.6.0"
3478 | compression "^1.5.2"
3479 | connect-history-api-fallback "^1.3.0"
3480 | express "^4.13.3"
3481 | html-entities "^1.2.0"
3482 | http-proxy-middleware "~0.17.4"
3483 | opn "4.0.2"
3484 | portfinder "^1.0.9"
3485 | serve-index "^1.7.2"
3486 | sockjs "0.3.18"
3487 | sockjs-client "1.1.2"
3488 | spdy "^3.4.1"
3489 | strip-ansi "^3.0.0"
3490 | supports-color "^3.1.1"
3491 | webpack-dev-middleware "^1.10.2"
3492 | yargs "^6.0.0"
3493 |
3494 | webpack-sources@^0.2.3:
3495 | version "0.2.3"
3496 | resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.2.3.tgz#17c62bfaf13c707f9d02c479e0dcdde8380697fb"
3497 | dependencies:
3498 | source-list-map "^1.1.1"
3499 | source-map "~0.5.3"
3500 |
3501 | webpack@2.4.1:
3502 | version "2.4.1"
3503 | resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.4.1.tgz#15a91dbe34966d8a4b99c7d656efd92a2e5a6f6a"
3504 | dependencies:
3505 | acorn "^5.0.0"
3506 | acorn-dynamic-import "^2.0.0"
3507 | ajv "^4.7.0"
3508 | ajv-keywords "^1.1.1"
3509 | async "^2.1.2"
3510 | enhanced-resolve "^3.0.0"
3511 | interpret "^1.0.0"
3512 | json-loader "^0.5.4"
3513 | json5 "^0.5.1"
3514 | loader-runner "^2.3.0"
3515 | loader-utils "^0.2.16"
3516 | memory-fs "~0.4.1"
3517 | mkdirp "~0.5.0"
3518 | node-libs-browser "^2.0.0"
3519 | source-map "^0.5.3"
3520 | supports-color "^3.1.0"
3521 | tapable "~0.2.5"
3522 | uglify-js "^2.8.5"
3523 | watchpack "^1.3.1"
3524 | webpack-sources "^0.2.3"
3525 | yargs "^6.0.0"
3526 |
3527 | websocket-driver@>=0.5.1:
3528 | version "0.6.5"
3529 | resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.6.5.tgz#5cb2556ceb85f4373c6d8238aa691c8454e13a36"
3530 | dependencies:
3531 | websocket-extensions ">=0.1.1"
3532 |
3533 | websocket-extensions@>=0.1.1:
3534 | version "0.1.1"
3535 | resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.1.tgz#76899499c184b6ef754377c2dbb0cd6cb55d29e7"
3536 |
3537 | which-module@^1.0.0:
3538 | version "1.0.0"
3539 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f"
3540 |
3541 | which@1, which@^1.2.1, which@^1.2.9:
3542 | version "1.2.14"
3543 | resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5"
3544 | dependencies:
3545 | isexe "^2.0.0"
3546 |
3547 | wide-align@^1.1.0:
3548 | version "1.1.0"
3549 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad"
3550 | dependencies:
3551 | string-width "^1.0.1"
3552 |
3553 | window-size@0.1.0:
3554 | version "0.1.0"
3555 | resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"
3556 |
3557 | window-size@^0.2.0:
3558 | version "0.2.0"
3559 | resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075"
3560 |
3561 | wordwrap@0.0.2, wordwrap@~0.0.2:
3562 | version "0.0.2"
3563 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
3564 |
3565 | wrap-ansi@^2.0.0:
3566 | version "2.1.0"
3567 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
3568 | dependencies:
3569 | string-width "^1.0.1"
3570 | strip-ansi "^3.0.1"
3571 |
3572 | wrappy@1:
3573 | version "1.0.2"
3574 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
3575 |
3576 | write-file-atomic@^1.1.2:
3577 | version "1.3.1"
3578 | resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.1.tgz#7d45ba32316328dd1ec7d90f60ebc0d845bb759a"
3579 | dependencies:
3580 | graceful-fs "^4.1.11"
3581 | imurmurhash "^0.1.4"
3582 | slide "^1.1.5"
3583 |
3584 | ws@1.1.2:
3585 | version "1.1.2"
3586 | resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.2.tgz#8a244fa052401e08c9886cf44a85189e1fd4067f"
3587 | dependencies:
3588 | options ">=0.0.5"
3589 | ultron "1.0.x"
3590 |
3591 | wtf-8@1.0.0:
3592 | version "1.0.0"
3593 | resolved "https://registry.yarnpkg.com/wtf-8/-/wtf-8-1.0.0.tgz#392d8ba2d0f1c34d1ee2d630f15d0efb68e1048a"
3594 |
3595 | xdg-basedir@^2.0.0:
3596 | version "2.0.0"
3597 | resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-2.0.0.tgz#edbc903cc385fc04523d966a335504b5504d1bd2"
3598 | dependencies:
3599 | os-homedir "^1.0.0"
3600 |
3601 | xml-char-classes@^1.0.0:
3602 | version "1.0.0"
3603 | resolved "https://registry.yarnpkg.com/xml-char-classes/-/xml-char-classes-1.0.0.tgz#64657848a20ffc5df583a42ad8a277b4512bbc4d"
3604 |
3605 | xmlhttprequest-ssl@1.5.3:
3606 | version "1.5.3"
3607 | resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz#185a888c04eca46c3e4070d99f7b49de3528992d"
3608 |
3609 | xtend@^4.0.0:
3610 | version "4.0.1"
3611 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
3612 |
3613 | y18n@^3.2.1:
3614 | version "3.2.1"
3615 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"
3616 |
3617 | yallist@^2.0.0:
3618 | version "2.1.2"
3619 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
3620 |
3621 | yargs-parser@^2.4.1:
3622 | version "2.4.1"
3623 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-2.4.1.tgz#85568de3cf150ff49fa51825f03a8c880ddcc5c4"
3624 | dependencies:
3625 | camelcase "^3.0.0"
3626 | lodash.assign "^4.0.6"
3627 |
3628 | yargs-parser@^4.2.0:
3629 | version "4.2.1"
3630 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c"
3631 | dependencies:
3632 | camelcase "^3.0.0"
3633 |
3634 | yargs@^4.7.1:
3635 | version "4.8.1"
3636 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-4.8.1.tgz#c0c42924ca4aaa6b0e6da1739dfb216439f9ddc0"
3637 | dependencies:
3638 | cliui "^3.2.0"
3639 | decamelize "^1.1.1"
3640 | get-caller-file "^1.0.1"
3641 | lodash.assign "^4.0.3"
3642 | os-locale "^1.4.0"
3643 | read-pkg-up "^1.0.1"
3644 | require-directory "^2.1.1"
3645 | require-main-filename "^1.0.1"
3646 | set-blocking "^2.0.0"
3647 | string-width "^1.0.1"
3648 | which-module "^1.0.0"
3649 | window-size "^0.2.0"
3650 | y18n "^3.2.1"
3651 | yargs-parser "^2.4.1"
3652 |
3653 | yargs@^6.0.0:
3654 | version "6.6.0"
3655 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208"
3656 | dependencies:
3657 | camelcase "^3.0.0"
3658 | cliui "^3.2.0"
3659 | decamelize "^1.1.1"
3660 | get-caller-file "^1.0.1"
3661 | os-locale "^1.4.0"
3662 | read-pkg-up "^1.0.1"
3663 | require-directory "^2.1.1"
3664 | require-main-filename "^1.0.1"
3665 | set-blocking "^2.0.0"
3666 | string-width "^1.0.2"
3667 | which-module "^1.0.0"
3668 | y18n "^3.2.1"
3669 | yargs-parser "^4.2.0"
3670 |
3671 | yargs@~3.10.0:
3672 | version "3.10.0"
3673 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"
3674 | dependencies:
3675 | camelcase "^1.0.2"
3676 | cliui "^2.1.0"
3677 | decamelize "^1.0.0"
3678 | window-size "0.1.0"
3679 |
3680 | yeast@0.1.2:
3681 | version "0.1.2"
3682 | resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419"
3683 |
3684 | zone.js@0.8.9:
3685 | version "0.8.9"
3686 | resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.8.9.tgz#34aaa9a3ec6d0e4acebd1b761adafa590473638b"
3687 |
--------------------------------------------------------------------------------