From a1ad29437a0cef252efed22953b68706ed14fac1 Mon Sep 17 00:00:00 2001 From: xmlking Date: Sun, 7 Oct 2018 13:36:58 -0700 Subject: [PATCH 01/22] feat(api): migrated database from mongodb to postgres --- .deploy/mongodb/README.md | 115 ------------------ .deploy/mongodb/mongodb.tmpl.yml | 106 ---------------- .deploy/postgres/scripts/create_databases.sh | 23 ++++ .deploy/postgres/scripts/keycloak-init.sql | 11 ++ apps/api-e2e/jest.config.js | 18 +++ apps/{api/e2e => api-e2e/src}/app.e2e-spec.ts | 5 +- apps/api-e2e/tsconfig.e2e.json | 10 ++ apps/api-e2e/tslint.json | 30 +++++ apps/api/API-TESTING.md | 4 +- apps/api/README.md | 22 ++-- apps/api/jest.config.js | 4 +- apps/api/nodemon.json | 2 +- apps/api/src/auth/auth.service.ts | 4 +- apps/api/src/auth/user.entity.ts | 32 ++--- apps/api/src/core/core.module.ts | 2 +- apps/api/src/core/crud/crud.controller.ts | 2 +- apps/api/src/core/crud/crud.service.ts | 15 +-- apps/api/src/core/crud/icube.service.ts | 9 ++ .../src/core/entities/audit-base.entity.ts | 7 +- apps/api/src/core/entities/base.entity.ts | 10 +- apps/api/src/core/index.ts | 1 - .../repositories/audit-mongo.repository.ts | 30 ----- apps/api/src/environments/environment.prod.ts | 3 + apps/api/src/environments/environment.ts | 7 ++ .../src/notifications/notification.entity.ts | 2 +- .../src/notifications/notifications.module.ts | 5 +- .../notifications/notifications.repository.ts | 6 - .../notifications/notifications.service.ts | 20 ++- apps/api/src/user/profile/Image.entity.ts | 12 +- apps/api/src/user/profile/profile.entity.ts | 7 +- apps/api/tsconfig.app.json | 11 ++ apps/api/tsconfig.json | 25 ---- apps/api/tsconfig.spec.json | 4 +- apps/api/tslint.json | 82 +++++-------- apps/api/webpack.config.js | 1 + jest.config.nest.js | 10 -- 36 files changed, 221 insertions(+), 436 deletions(-) delete mode 100644 .deploy/mongodb/README.md delete mode 100644 .deploy/mongodb/mongodb.tmpl.yml create mode 100644 .deploy/postgres/scripts/create_databases.sh create mode 100644 .deploy/postgres/scripts/keycloak-init.sql create mode 100644 apps/api-e2e/jest.config.js rename apps/{api/e2e => api-e2e/src}/app.e2e-spec.ts (86%) create mode 100644 apps/api-e2e/tsconfig.e2e.json create mode 100755 apps/api-e2e/tslint.json create mode 100644 apps/api/src/core/crud/icube.service.ts delete mode 100644 apps/api/src/core/repositories/audit-mongo.repository.ts create mode 100644 apps/api/src/environments/environment.prod.ts create mode 100644 apps/api/src/environments/environment.ts delete mode 100644 apps/api/src/notifications/notifications.repository.ts create mode 100644 apps/api/tsconfig.app.json delete mode 100755 apps/api/tsconfig.json mode change 100755 => 100644 apps/api/tsconfig.spec.json delete mode 100644 jest.config.nest.js diff --git a/.deploy/mongodb/README.md b/.deploy/mongodb/README.md deleted file mode 100644 index 05c951401..000000000 --- a/.deploy/mongodb/README.md +++ /dev/null @@ -1,115 +0,0 @@ -MongoDB -======= -Deploying MongoDB on OpenShift Origin - -### Deploy - -#### OpenShift Deployment - -> first time deployment - -> Add storage 50GB with name: `mongodb-data` in OpenShift UI Console - -```bash -# login with ms id -oc login -# oc login https://console.starter-us-west-1.openshift.com -oc project ngx-starter-kit -cd .deploy/mongodb - -# create app (first time deployment) -oc new-app -f mongodb.tmpl.yml -p APPNAME=mongodb -n ngx-starter-kit - -# follow next steps if you want completely delete and deploy. -# delete only deploymentConfig -oc delete all -l app=mongodb -n ngx-starter-kit - -# delete fully -oc delete all,configmap,secret -l app=mongodb -n ngx-starter-kit - -# redeploy -From OpenShift Console UI -Applications > Deployments > ngx-starter-kit > Deploy -``` - -### Use - -#### Prerequisite - -1. mongo shell - ```bash - brew update - # install mongodb locally, required to use mongo shell - brew install mongodb - ``` -2. Install IntelliJ mongodb plugin - ```bash - # port forward so that you can connect local dev tools to MongoDB - # get mongodb pod name with `oc get pods` - oc port-forward 27017:27017 - ``` - -3. with-in this project, configure mongo connetion with IntelliJ Mongo Plugin - ``` - Path to Mongo Shell : /usr/local/bin/mongo - Label : cockpit-on-openshift - server url : localhost:27017 - user database : cockpit - Authentication - username: mdbuser - password: cockpit123 - auth databse: cockpit - auth mechanisum: SCRAM-SHA-1 - - Then test connection - ``` - -4. Install MongoDB Compass Community (recommended) - > [Instructions](https://docs.mongodb.com/compass/master/install/) - -#### Commands - -```bash -# get pod name -oc get pods -n ngx-starter-kit -# ssh to pod -oc rsh mongodb-1-zkgrw -# or port forward -oc port-forward 27017:27017 -# connect locally either with root or mdbuser user -mongo -u "root" -p "cockpit321" --authenticationDatabase "admin" -mongo -u "mdbuser" -p "cockpit123" --authenticationDatabase "cockpit" - -# example commands -use admin -show users -show roles -show dbs - -use cockpit -show users -show roles -show dbs -show collections -db.project.find() -db.project.find( { _id: ObjectId("5b4ac15994802c4e097cc579") } ) -# to fix user.email index -db.user.getIndexes() -db.user.dropIndex("IDX_e12875dfb3b1d92d7d7c5377e2") -``` - -### Backup -#### export -```bash -mongo -u "root" -p "cockpit321" --authenticationDatabase "admin" -mongoexport --db cockpit --collection user --out user.json -``` -#### import -```bash -``` - -### Ref: -* https://github.com/bitnami/bitnami-docker-mongodb -* https://access.redhat.com/articles/1752723 -* https://docs.openshift.org/latest/using_images/db_images/mongodb.html -* https://github.com/debezium/docker-images/blob/master/examples/mongodb/0.9/init-inventory.sh diff --git a/.deploy/mongodb/mongodb.tmpl.yml b/.deploy/mongodb/mongodb.tmpl.yml deleted file mode 100644 index 1fe3f2171..000000000 --- a/.deploy/mongodb/mongodb.tmpl.yml +++ /dev/null @@ -1,106 +0,0 @@ -apiVersion: v1 -kind: Template -metadata: - name: ${APPNAME} - annotations: - tags: "mongodb,template" - description: MongoDB template - -objects: -- kind: Service - apiVersion: v1 - metadata: - name: ${APPNAME} - labels: - app: ${APPNAME} - spec: - ports: - - name: ${APPNAME}-27017-tcp - port: 27017 - protocol: TCP - targetPort: 27017 - selector: - app: ${APPNAME} - -- kind: PersistentVolumeClaim - apiVersion: v1 - metadata: - name: ${APPNAME}-data - spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 50Gi - -- kind: Secret - apiVersion: v1 - metadata: - labels: - app: ${APPNAME} - name: ${APPNAME}-secrets - stringData: - mangodb_password: cockpit123 - mangodb_admin_password: cockpit321 - -- kind: DeploymentConfig - apiVersion: v1 - metadata: - name: ${APPNAME} - labels: - app: ${APPNAME} - spec: - replicas: 1 - strategy: - type: Rolling - triggers: - - type: ConfigChange - selector: - app: ${APPNAME} - template: - metadata: - name: ${APPNAME} - labels: - app: ${APPNAME} - deploymentConfig: ${APPNAME} - spec: - volumes: - - name: ${APPNAME}-volume - persistentVolumeClaim: - claimName: ${APPNAME}-data - containers: - - name: ${APPNAME} - image: ${DOCKERIMAGE} - imagePullPolicy: Always - resources: - limits: - memory: 4G - requests: - memory: 2G - ports: - - containerPort: 27017 - protocol: TCP - env: - - name: MONGODB_ADMIN_PASSWORD - valueFrom: - secretKeyRef: - name: ${APPNAME}-secrets - key: mangodb_admin_password - - name: MONGODB_DATABASE - value: cockpit - - name: MONGODB_PASSWORD - valueFrom: - secretKeyRef: - name: ${APPNAME}-secrets - key: mangodb_password - - name: MONGODB_USER - value: mdbuser - volumeMounts: - name: ${APPNAME}-volume - - mountPath: /var/lib/mongodb/data - -parameters: -- name: APPNAME - value: mongodb -- name: DOCKERIMAGE - value: registry.access.redhat.com/rhscl/mongodb-36-rhel7 diff --git a/.deploy/postgres/scripts/create_databases.sh b/.deploy/postgres/scripts/create_databases.sh new file mode 100644 index 000000000..cc70e676d --- /dev/null +++ b/.deploy/postgres/scripts/create_databases.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +set -e +set -u + +function create_user_and_database() { + local database=$1 + local username=$2 + local password=$3 + echo " Creating user '$username' and database '$database'" + psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL + CREATE ROLE $username WITH PASSWORD '$password' NOSUPERUSER LOGIN; + CREATE DATABASE $database; + GRANT ALL PRIVILEGES ON DATABASE $database TO $username; +EOSQL +} + +if [ -n "$COCKPIT_POSTGRES_DB" ]; then + create_user_and_database $COCKPIT_POSTGRES_DB $COCKPIT_POSTGRES_USER $COCKPIT_POSTGRES_PASSWORD +fi +if [ -n "$KEYCLOAK_POSTGRES_DB" ]; then + create_user_and_database $KEYCLOAK_POSTGRES_DB $KEYCLOAK_POSTGRES_USER $KEYCLOAK_POSTGRES_PASSWORD +fi diff --git a/.deploy/postgres/scripts/keycloak-init.sql b/.deploy/postgres/scripts/keycloak-init.sql new file mode 100644 index 000000000..151657479 --- /dev/null +++ b/.deploy/postgres/scripts/keycloak-init.sql @@ -0,0 +1,11 @@ +-- Keycloak table creation +-- Keycloak database Creation + +-- Create access role for keycloak +CREATE ROLE keycloak WITH PASSWORD 'keycloak123' NOSUPERUSER LOGIN; + +-- Create database for keycloak +CREATE DATABASE keycloak; + +-- Grant all permissions to user keycloak +GRANT ALL ON DATABASE keycloak TO keycloak; diff --git a/apps/api-e2e/jest.config.js b/apps/api-e2e/jest.config.js new file mode 100644 index 000000000..665d81725 --- /dev/null +++ b/apps/api-e2e/jest.config.js @@ -0,0 +1,18 @@ +module.exports = { + name: 'api-e2e', + testRegex: '.spec.ts$', + transform: { + '^.+\\.(ts|js|html)$': 'jest-preset-angular/preprocessor.js', + }, + moduleFileExtensions: ['js', 'json', 'ts'], + collectCoverage: true, + coverageReporters: ['html'], + testEnvironment: 'node', + coverageDirectory: '../../coverage/apps/api-e2e', + globals: { + 'ts-jest': { + tsConfig: "./tsconfig.e2e.json" + } + } +}; + diff --git a/apps/api/e2e/app.e2e-spec.ts b/apps/api-e2e/src/app.e2e-spec.ts similarity index 86% rename from apps/api/e2e/app.e2e-spec.ts rename to apps/api-e2e/src/app.e2e-spec.ts index a06e897b9..d725d4fa4 100755 --- a/apps/api/e2e/app.e2e-spec.ts +++ b/apps/api-e2e/src/app.e2e-spec.ts @@ -1,7 +1,10 @@ import * as request from 'supertest'; import { Test } from '@nestjs/testing'; -import { AppModule } from '../src/app.module'; import { INestApplication } from '@nestjs/common'; +// @ts-ignore +import { AppModule } from '../../api/src/app.module'; + +jest.setTimeout(30000); describe('AppController (e2e)', () => { let app: INestApplication; diff --git a/apps/api-e2e/tsconfig.e2e.json b/apps/api-e2e/tsconfig.e2e.json new file mode 100644 index 000000000..c64269225 --- /dev/null +++ b/apps/api-e2e/tsconfig.e2e.json @@ -0,0 +1,10 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc/apps/api-e2e", + "module": "commonjs", + "target": "es6", + "types": ["jest", "node"] + }, + "include": ["**/*.ts"] +} diff --git a/apps/api-e2e/tslint.json b/apps/api-e2e/tslint.json new file mode 100755 index 000000000..4738f144d --- /dev/null +++ b/apps/api-e2e/tslint.json @@ -0,0 +1,30 @@ +{ + "defaultSeverity": "error", + "extends": ["tslint:recommended"], + "jsRules": { + "no-unused-expression": true + }, + "rules": { + "eofline": false, + "quotemark": [true, "single"], + "indent": false, + "member-access": [false], + "ordered-imports": [false], + "max-line-length": [true, 150], + "member-ordering": [false], + "curly": false, + "interface-name": [false], + "array-type": [false], + "no-console": false, + "no-empty-interface": false, + "no-empty": false, + "arrow-parens": false, + "object-literal-sort-keys": false, + "no-unused-expression": false, + "max-classes-per-file": [false], + "variable-name": [false], + "one-line": [false], + "one-variable-per-declaration": [false] + }, + "rulesDirectory": [] +} diff --git a/apps/api/API-TESTING.md b/apps/api/API-TESTING.md index ca01156c8..e5addc5a5 100644 --- a/apps/api/API-TESTING.md +++ b/apps/api/API-TESTING.md @@ -3,7 +3,9 @@ API Testing ### Database ```bash -mongo -u "mdbuser" -p "cockpit123" --authenticationDatabase "cockpit" +psql -h -p -u +psql -h -p -U -W + ``` ### REST API diff --git a/apps/api/README.md b/apps/api/README.md index 7bc5e61cc..22286f9ab 100755 --- a/apps/api/README.md +++ b/apps/api/README.md @@ -26,17 +26,22 @@ Code Style | [Prettier](https://github.com/prettier/prettier) & [TS-Lint] #### MongoDB > start mongodb ```bash -# start local mongodb -docker-compose up -V mongodb -# stop local mongodb before restart again -docker-compose down -v +# start local postgres +docker-compose up postgres +docker-compose up -V postgres #remove volumes + +# stop local postgres before restart again +docker-compose down +docker-compose down -v #remove volumes ``` -> if error `The container name "/mongodb" is already in use by container`, remove orphan container. +> if error `The container name "/postgres" is already in use by container`, remove orphan container. ```bash docker ps -a docker rm 82be5234c94a ``` +> make sure to delete **dist/apps/api** before running any of the following commands. +> other wish old .js **entity** classes my conflict and cause unexpected bugs. #### Run Dev Mode ```bash @@ -102,13 +107,10 @@ nest g exception auth --dry-run > coverage will be generate in coverage/apps/api ```bash # unit tests -npm run api:test - -# test coverage -npm run api:test:cov +ng test api # e2e tests -npm run api:e2e +ng test api-e2e ``` diff --git a/apps/api/jest.config.js b/apps/api/jest.config.js index f3c2e8b41..87d6d2f4c 100644 --- a/apps/api/jest.config.js +++ b/apps/api/jest.config.js @@ -1,5 +1,5 @@ module.exports = { name: 'api', - preset: '../../jest.config.nest.js', - "coverageDirectory": "../../coverage/apps/api", + preset: '../../jest.config.js', + coverageDirectory: '../../coverage/apps/api' }; diff --git a/apps/api/nodemon.json b/apps/api/nodemon.json index 43853818a..20c7551f8 100755 --- a/apps/api/nodemon.json +++ b/apps/api/nodemon.json @@ -2,5 +2,5 @@ "watch": ["apps/api/src"], "ext": "ts", "ignore": ["apps/api/src/**/*.spec.ts"], - "exec": "ts-node -P apps/api/tsconfig.json -r tsconfig-paths/register apps/api/src/main.ts" + "exec": "ts-node -P apps/api/tsconfig.app.json -r tsconfig-paths/register apps/api/src/main.ts" } diff --git a/apps/api/src/auth/auth.service.ts b/apps/api/src/auth/auth.service.ts index 39ff4aab7..0fe604434 100644 --- a/apps/api/src/auth/auth.service.ts +++ b/apps/api/src/auth/auth.service.ts @@ -1,13 +1,13 @@ import { Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; -import { MongoRepository } from 'typeorm'; +import { Repository } from 'typeorm'; import { CrudService } from '../core'; import { User } from './user.entity'; import { JwtToken } from './interfaces/jwt-token.interface'; @Injectable() export class AuthService extends CrudService { - constructor(@InjectRepository(User) private readonly userRepository: MongoRepository) { + constructor(@InjectRepository(User) private readonly userRepository: Repository) { super(userRepository); } diff --git a/apps/api/src/auth/user.entity.ts b/apps/api/src/auth/user.entity.ts index 20b6700c5..dd24a9ecd 100644 --- a/apps/api/src/auth/user.entity.ts +++ b/apps/api/src/auth/user.entity.ts @@ -9,37 +9,23 @@ export enum AccountSourceType { gitHub, } -@Entity() +@Entity('user') export class User extends Base { @ApiModelProperty({ type: String }) - @IsString() - @IsNotEmpty() - @Index() - @Column() - firstName: string; + @IsString() @IsNotEmpty() + @Index() @Column() firstName: string; @ApiModelProperty({ type: String }) - @IsString() - @IsNotEmpty() - @Index() - @Column() - lastName: string; + @IsString() @IsNotEmpty() + @Index() @Column() lastName: string; @ApiModelProperty({ type: String, minLength: 10, maxLength: 100 }) - @IsEmail() - @IsNotEmpty() - @Index({ unique: true }) - @Column() - email: string; + @IsEmail() @IsNotEmpty() + @Index() @Column() email: string; @ApiModelProperty({ type: String, minLength: 8, maxLength: 20 }) - @IsAscii() - @IsNotEmpty() - @MinLength(8) - @MaxLength(20) - @Index({ unique: true }) - @Column() - userId: string; + @IsAscii() @IsNotEmpty() @MinLength(8) @MaxLength(20) + @Index({ unique: true }) @Column() userId: string; @CreateDateColumn() createdAt?: Date; diff --git a/apps/api/src/core/core.module.ts b/apps/api/src/core/core.module.ts index 108bee564..56b79af1a 100644 --- a/apps/api/src/core/core.module.ts +++ b/apps/api/src/core/core.module.ts @@ -21,7 +21,7 @@ import { RequestContextMiddleware } from './context'; templateDir: process.env.EMAIL_TEMPLATE_DIR, }), TypeOrmModule.forRoot({ - type: 'mongodb', + type: 'postgres', host: process.env.TYPEORM_HOST, port: Number(process.env.TYPEORM_PORT), database: process.env.TYPEORM_DATABASE, diff --git a/apps/api/src/core/crud/crud.controller.ts b/apps/api/src/core/crud/crud.controller.ts index 69f39b950..36eca7ebb 100644 --- a/apps/api/src/core/crud/crud.controller.ts +++ b/apps/api/src/core/crud/crud.controller.ts @@ -1,8 +1,8 @@ import { Get, Post, Put, Delete, Body, Param, HttpStatus } from '@nestjs/common'; import { ApiOperation, ApiResponse } from '@nestjs/swagger'; -import { ICrudService } from './crud.service'; import { Base } from '../entities/base.entity'; import { DeepPartial } from 'typeorm'; +import { ICrudService } from './icube.service'; @ApiResponse({ status: HttpStatus.UNAUTHORIZED, description: 'Unauthorized' }) @ApiResponse({ status: HttpStatus.FORBIDDEN, description: 'Forbidden' }) diff --git a/apps/api/src/core/crud/crud.service.ts b/apps/api/src/core/crud/crud.service.ts index 207278084..6ad6a82e6 100644 --- a/apps/api/src/core/crud/crud.service.ts +++ b/apps/api/src/core/crud/crud.service.ts @@ -1,17 +1,10 @@ import { BadRequestException, NotFoundException } from '@nestjs/common'; -import { DeepPartial, FindManyOptions, FindOneOptions, MongoRepository, UpdateResult, DeleteResult } from 'typeorm'; +import { DeepPartial, FindManyOptions, FindOneOptions, Repository, UpdateResult, DeleteResult } from 'typeorm'; import { Base } from '../entities/base.entity'; - -export interface ICrudService { - getAll(filter?: FindManyOptions): Promise<[T[], number]>; - getOne(id: any | FindOneOptions): Promise; - create(entity: DeepPartial): Promise; - update(id: any, entity: DeepPartial): Promise; - delete(id: any): Promise; -} +import { ICrudService } from './icube.service'; export abstract class CrudService implements ICrudService { - protected constructor(protected readonly repository: MongoRepository) {} + protected constructor(protected readonly repository: Repository) {} public async getAll(filter?: FindManyOptions): Promise<[T[], number]> { const records = await this.repository.findAndCount(filter); @@ -21,7 +14,7 @@ export abstract class CrudService implements ICrudService { return records; } - public async getOne(filter: string | FindOneOptions): Promise { + public async getOne(filter: string ): Promise { const record = await this.repository.findOne(filter); if (!record) { throw new NotFoundException(`The requested record was not found`); diff --git a/apps/api/src/core/crud/icube.service.ts b/apps/api/src/core/crud/icube.service.ts new file mode 100644 index 000000000..e8b4f24f6 --- /dev/null +++ b/apps/api/src/core/crud/icube.service.ts @@ -0,0 +1,9 @@ +import { DeepPartial, FindManyOptions, FindOneOptions } from 'typeorm'; + +export interface ICrudService { + getAll(filter?: FindManyOptions): Promise<[T[], number]>; + getOne(id: any | FindOneOptions): Promise; + create(entity: DeepPartial): Promise; + update(id: any, entity: DeepPartial): Promise; + delete(id: any): Promise; +} diff --git a/apps/api/src/core/entities/audit-base.entity.ts b/apps/api/src/core/entities/audit-base.entity.ts index 30cfda206..bf83f2a35 100644 --- a/apps/api/src/core/entities/audit-base.entity.ts +++ b/apps/api/src/core/entities/audit-base.entity.ts @@ -1,4 +1,4 @@ -import { UpdateDateColumn, CreateDateColumn, ManyToOne, VersionColumn, ObjectIdColumn, ObjectID } from 'typeorm'; +import { UpdateDateColumn, CreateDateColumn, ManyToOne, VersionColumn, PrimaryGeneratedColumn } from 'typeorm'; import { Exclude, Transform } from 'class-transformer'; import toHexString from './toHexString'; import { ApiModelProperty } from '@nestjs/swagger'; @@ -9,9 +9,8 @@ import { User } from '../../auth/user.entity'; export abstract class AuditBase { @ApiModelProperty() - @Transform(toHexString, { toPlainOnly: true }) - @ObjectIdColumn() - id: ObjectID; + @PrimaryGeneratedColumn() + id: number; // @Exclude() @CreateDateColumn() diff --git a/apps/api/src/core/entities/base.entity.ts b/apps/api/src/core/entities/base.entity.ts index 6b4def5f5..b270bf5e5 100644 --- a/apps/api/src/core/entities/base.entity.ts +++ b/apps/api/src/core/entities/base.entity.ts @@ -1,12 +1,8 @@ -import { ObjectID, ObjectIdColumn } from 'typeorm'; - -import { Transform } from 'class-transformer'; -import toHexString from './toHexString'; +import { PrimaryGeneratedColumn } from 'typeorm'; import { ApiModelPropertyOptional } from '@nestjs/swagger'; export abstract class Base { @ApiModelPropertyOptional() - @Transform(toHexString, { toPlainOnly: true }) - @ObjectIdColumn() - id: ObjectID; + @PrimaryGeneratedColumn() + id: number; } diff --git a/apps/api/src/core/index.ts b/apps/api/src/core/index.ts index f366d88ab..6d6f61d7a 100644 --- a/apps/api/src/core/index.ts +++ b/apps/api/src/core/index.ts @@ -2,6 +2,5 @@ export * from './core.module'; export * from './services/base-remote.service'; export * from './entities/base.entity'; export * from './entities/audit-base.entity'; -export * from './repositories/audit-mongo.repository'; export * from './crud/crud.service'; export * from './crud/crud.controller'; diff --git a/apps/api/src/core/repositories/audit-mongo.repository.ts b/apps/api/src/core/repositories/audit-mongo.repository.ts deleted file mode 100644 index d10751ff2..000000000 --- a/apps/api/src/core/repositories/audit-mongo.repository.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { MongoRepository, UpdateResult, DeepPartial, SaveOptions } from 'typeorm'; - -export abstract class AuditMongoRepository extends MongoRepository { - save>(entity: T, options?: SaveOptions): Promise { - const createdCol = this.metadata.createDateColumn ? this.metadata.createDateColumn.propertyPath : null; - const versionCol = this.metadata.versionColumn ? this.metadata.versionColumn.propertyPath : null; - if (createdCol) { - (entity as any)[createdCol] = new Date(); - } - if (versionCol) { - (entity as any)[versionCol] = 1; - } - return super.save(entity, options); - } - - async update(criteria: string, partialEntity: DeepPartial, options?: SaveOptions): Promise { - const updatedCol = this.metadata.updateDateColumn ? this.metadata.updateDateColumn.propertyPath : null; - const versionCol = this.metadata.versionColumn ? this.metadata.versionColumn.propertyPath : null; - if (updatedCol) { - (partialEntity as any)[updatedCol] = new Date(); - } - if (versionCol) { - const found = await super.findOne(criteria); - if (found) { - (partialEntity as any)[versionCol] = found[versionCol] + 1; - } - } - return super.update(criteria, partialEntity, options); - } -} diff --git a/apps/api/src/environments/environment.prod.ts b/apps/api/src/environments/environment.prod.ts new file mode 100644 index 000000000..c9669790b --- /dev/null +++ b/apps/api/src/environments/environment.prod.ts @@ -0,0 +1,3 @@ +export const environment = { + production: true, +}; diff --git a/apps/api/src/environments/environment.ts b/apps/api/src/environments/environment.ts new file mode 100644 index 000000000..da5ad8529 --- /dev/null +++ b/apps/api/src/environments/environment.ts @@ -0,0 +1,7 @@ +// This file can be replaced during build by using the `fileReplacements` array. +// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`. +// The list of file replacements can be found in `angular.json`. + +export const environment = { + production: false, +}; diff --git a/apps/api/src/notifications/notification.entity.ts b/apps/api/src/notifications/notification.entity.ts index 547cee690..55523ccd0 100644 --- a/apps/api/src/notifications/notification.entity.ts +++ b/apps/api/src/notifications/notification.entity.ts @@ -18,7 +18,7 @@ export enum NotificationIcon { code = 'code', } -@Entity() +@Entity('notification') export class Notification extends Base { @ApiModelProperty({ type: String }) @IsString() diff --git a/apps/api/src/notifications/notifications.module.ts b/apps/api/src/notifications/notifications.module.ts index 47e4fb228..08ca2bb96 100644 --- a/apps/api/src/notifications/notifications.module.ts +++ b/apps/api/src/notifications/notifications.module.ts @@ -1,13 +1,14 @@ import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; import { SharedModule } from '../shared'; +import { Notification } from './notification.entity'; import { NotificationsService } from './notifications.service'; import { NotificationsController } from './notifications.controller'; -import { NotificationsRepository } from './notifications.repository'; @Module({ - imports: [SharedModule, TypeOrmModule.forFeature([NotificationsRepository])], + // imports: [SharedModule, TypeOrmModule.forFeature([NotificationsRepository])], + imports: [SharedModule, TypeOrmModule.forFeature([Notification])], providers: [NotificationsService], controllers: [NotificationsController], }) diff --git a/apps/api/src/notifications/notifications.repository.ts b/apps/api/src/notifications/notifications.repository.ts deleted file mode 100644 index ff2f464d0..000000000 --- a/apps/api/src/notifications/notifications.repository.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { AuditMongoRepository } from '../core'; -import { Notification } from './notification.entity'; -import { EntityRepository } from 'typeorm'; - -@EntityRepository(Notification) -export class NotificationsRepository extends AuditMongoRepository {} diff --git a/apps/api/src/notifications/notifications.service.ts b/apps/api/src/notifications/notifications.service.ts index 64e32caec..4e0812a6b 100644 --- a/apps/api/src/notifications/notifications.service.ts +++ b/apps/api/src/notifications/notifications.service.ts @@ -1,17 +1,17 @@ -import { Injectable } from '@nestjs/common'; +import { Injectable, NotFoundException } from '@nestjs/common'; import { CrudService } from '../core'; import { InjectRepository } from '@nestjs/typeorm'; import { Notification } from './notification.entity'; import { User } from '../auth'; import { EventBusGateway } from '../shared'; import { AddNotification, DeleteNotification } from './index'; -import { NotificationsRepository } from './notifications.repository'; +import { Repository } from 'typeorm'; @Injectable() export class NotificationsService extends CrudService { constructor( private readonly eventBus: EventBusGateway, - @InjectRepository(NotificationsRepository) private readonly notificationsRepository: NotificationsRepository, + @InjectRepository(Notification) private readonly notificationsRepository: Repository, ) { super(notificationsRepository); } @@ -26,15 +26,11 @@ export class NotificationsService extends CrudService { } public async getUserNotifications(user: User): Promise<[Notification[], number]> { - const cursor = this.repository.createEntityCursor({ userId: { $in: [user.userId, 'all'] } }); - const count = await cursor.count(false); - return [await cursor.limit(50).toArray(), count]; - - // const records = await this.repository.findAndCount({ userId: user.userId }); - // if (records[1] === 0) { - // throw new NotFoundException(`The requested records were not found`); - // } - // return records[0]; + const records = await this.repository.findAndCount({ userId: user.userId }); + if (records[1] === 0) { + throw new NotFoundException(`The requested records were not found`); + } + return records; } notify(user: User, action: any) { diff --git a/apps/api/src/user/profile/Image.entity.ts b/apps/api/src/user/profile/Image.entity.ts index da7cd3d58..db160f082 100644 --- a/apps/api/src/user/profile/Image.entity.ts +++ b/apps/api/src/user/profile/Image.entity.ts @@ -1,19 +1,19 @@ -import { Entity, Column, PrimaryGeneratedColumn, ObjectID, ObjectIdColumn } from 'typeorm'; +import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm'; // TODO: https://github.com/nicolaspearson/salespal/blob/master/backend/src/controllers/StockImageController.ts // TODO: https://github.com/mkatrenik/assignar // TODO: https://steemit.com/utopian-io/@morningtundra/storing-and-retreiving-images-in-mongodb-with-nodejs -@Entity() +@Entity('image') export class Image { - @ObjectIdColumn() - id: ObjectID; + @PrimaryGeneratedColumn() + id: number; @Column({ length: 200 }) title: string; - @Column({ name: 'image', type: 'binary' }) - image: any; // Buffer; + @Column('bytea') + image: any; @Column() type: ImageType; diff --git a/apps/api/src/user/profile/profile.entity.ts b/apps/api/src/user/profile/profile.entity.ts index 5c5d54fbb..c152ea469 100644 --- a/apps/api/src/user/profile/profile.entity.ts +++ b/apps/api/src/user/profile/profile.entity.ts @@ -1,10 +1,11 @@ -import { Column, Entity } from 'typeorm'; +import { Column, Entity, JoinColumn, OneToOne } from 'typeorm'; import { AuditBase } from '../../core'; import { Image } from './Image.entity'; -@Entity() +@Entity('profile') export class Profile extends AuditBase { - @Column() + @OneToOne(type => Image) + @JoinColumn() profileImage: Image; @Column() diff --git a/apps/api/tsconfig.app.json b/apps/api/tsconfig.app.json new file mode 100644 index 000000000..73ae2470c --- /dev/null +++ b/apps/api/tsconfig.app.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/apps/api", + "module": "commonjs", + "target": "es6", + "types": [] + }, + "exclude": ["**/*.spec.ts"], + "include": ["**/*.ts"] +} diff --git a/apps/api/tsconfig.json b/apps/api/tsconfig.json deleted file mode 100755 index 722400b0a..000000000 --- a/apps/api/tsconfig.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "compilerOptions": { - "module": "commonjs", - "declaration": false, - "noImplicitAny": false, - "removeComments": true, - "noLib": false, - "allowSyntheticDefaultImports": true, - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - "target": "es6", - "sourceMap": true, - "allowJs": true, - "outDir": "../../dist/apps/api", - "baseUrl": "./src" - }, - "include": [ - "src/**/*" - ], - "exclude": [ - "node_modules", - "**/*.spec.ts" - ] -} diff --git a/apps/api/tsconfig.spec.json b/apps/api/tsconfig.spec.json old mode 100755 new mode 100644 index 2779a845c..9c75f18cb --- a/apps/api/tsconfig.spec.json +++ b/apps/api/tsconfig.spec.json @@ -1,6 +1,8 @@ { - "extends": "./tsconfig.json", + "extends": "../../tsconfig.json", "compilerOptions": { + "outDir": "../../dist/out-tsc/apps/api", + "module": "commonjs", "types": ["jest", "node"] }, "include": ["**/*.spec.ts", "**/*.d.ts"] diff --git a/apps/api/tslint.json b/apps/api/tslint.json index b0869d4ad..4738f144d 100755 --- a/apps/api/tslint.json +++ b/apps/api/tslint.json @@ -1,56 +1,30 @@ { - "defaultSeverity": "error", - "extends": [ - "tslint:recommended" - ], - "jsRules": { - "no-unused-expression": true - }, - "rules": { - "eofline": false, - "quotemark": [ - true, - "single" - ], - "indent": false, - "member-access": [ - false - ], - "ordered-imports": [ - false - ], - "max-line-length": [ - true, - 150 - ], - "member-ordering": [ - false - ], - "curly": false, - "interface-name": [ - false - ], - "array-type": [ - false - ], - "no-console": false, - "no-empty-interface": false, - "no-empty": false, - "arrow-parens": false, - "object-literal-sort-keys": false, - "no-unused-expression": false, - "max-classes-per-file": [ - false - ], - "variable-name": [ - false - ], - "one-line": [ - false - ], - "one-variable-per-declaration": [ - false - ] - }, - "rulesDirectory": [] + "defaultSeverity": "error", + "extends": ["tslint:recommended"], + "jsRules": { + "no-unused-expression": true + }, + "rules": { + "eofline": false, + "quotemark": [true, "single"], + "indent": false, + "member-access": [false], + "ordered-imports": [false], + "max-line-length": [true, 150], + "member-ordering": [false], + "curly": false, + "interface-name": [false], + "array-type": [false], + "no-console": false, + "no-empty-interface": false, + "no-empty": false, + "arrow-parens": false, + "object-literal-sort-keys": false, + "no-unused-expression": false, + "max-classes-per-file": [false], + "variable-name": [false], + "one-line": [false], + "one-variable-per-declaration": [false] + }, + "rulesDirectory": [] } diff --git a/apps/api/webpack.config.js b/apps/api/webpack.config.js index 933b57a86..e860fd4fb 100755 --- a/apps/api/webpack.config.js +++ b/apps/api/webpack.config.js @@ -2,6 +2,7 @@ const webpack = require('webpack'); const path = require('path'); const nodeExternals = require('webpack-node-externals'); +console.log(__dirname + "/src") module.exports = { context: __dirname + "/src", entry: ['webpack/hot/poll?1000', './main.hmr.ts'], diff --git a/jest.config.nest.js b/jest.config.nest.js deleted file mode 100644 index be7ebd76c..000000000 --- a/jest.config.nest.js +++ /dev/null @@ -1,10 +0,0 @@ -module.exports = { - "moduleFileExtensions": ["js", "json", "ts"], - "testRegex": ".spec.ts$", - "transform": { - "^.+\\.(t|j)s$": "ts-jest" - }, - collectCoverage: true, - coverageReporters: ['html'], - "testEnvironment": "node" -}; From 779b596870f8826d382088ca6cff9d7900718bb9 Mon Sep 17 00:00:00 2001 From: xmlking Date: Sun, 7 Oct 2018 13:40:43 -0700 Subject: [PATCH 02/22] feat(dependencies): nrwl/nx -> 6.4.0 , rebuild apps/api module with nx node-apps --- .deploy/api/prod.dockerfile | 2 +- .deploy/transporter/README.md | 30 +++---- .deploy/transporter/config/pipeline.js | 10 +-- PLAYBOOK-NEST.md | 3 +- PLAYBOOK.md | 18 ++-- README.md | 2 +- angular.json | 63 +++++++++++-- development.env | 6 +- docker-compose.yml | 85 ++++++++++-------- nx.json | 6 ++ package-lock.json | 117 +++++++++++++++++++++---- package.json | 20 ++--- production.env | 10 +-- test.env | 6 +- 14 files changed, 266 insertions(+), 112 deletions(-) diff --git a/.deploy/api/prod.dockerfile b/.deploy/api/prod.dockerfile index 813a5ab47..2a9d9778c 100644 --- a/.deploy/api/prod.dockerfile +++ b/.deploy/api/prod.dockerfile @@ -18,7 +18,7 @@ RUN npm ci COPY . . -RUN $(npm bin)/tsc -p ./apps/api/tsconfig.json +RUN $(npm bin)/tsc -p ./apps/api/tsconfig.app.json EXPOSE 3000 diff --git a/.deploy/transporter/README.md b/.deploy/transporter/README.md index c1b647ff2..968e46c9a 100644 --- a/.deploy/transporter/README.md +++ b/.deploy/transporter/README.md @@ -3,47 +3,47 @@ Transporter This is a docker image, which includes a `Transporter` application with a predefined, parameterized pipeline definition. -The predefined pipeline migrates the current state of a MongoDB database into Elasticsearch, and then continues with syncing the changes too. +The predefined pipeline migrates the current state of a PostgreSQL database into Elasticsearch, and then continues with syncing the changes too. - +---------+ +-------------+ +---------------+ - | mongodb |---->| transporter |---->| elasticsearch | - +---------+ +-------------+ +---------------+ + +----------+ +-------------+ +---------------+ + | postgres |---->| transporter |---->| elasticsearch | + +----------+ +-------------+ +---------------+ ### Build ```bash -# build mongo-to-es transporter docker image +# build postgres-to-es transporter docker image cd .deploy/transporter -docker build --tag=xmlking/mongo-to-es-transporter:latest . +docker build --tag=xmlking/postgres-to-es-transporter:latest . # Tag -docker tag xmlking/mongo-to-es-transporter:latest xmlking/mongo-to-es-transporter:0.5.2 +docker tag xmlking/postgres-to-es-transporter:latest xmlking/postgres-to-es-transporter:0.5.2 # Push -docker push xmlking/mongo-to-es-transporter:0.5.2 -docker push xmlking/mongo-to-es-transporter:latest +docker push xmlking/postgres-to-es-transporter:0.5.2 +docker push xmlking/postgres-to-es-transporter:latest ``` ### Run The configuration parameters for run: -- `DB_NAME`: The name of the database to transport from MongoDD to ES. +- `DB_NAME`: The name of the database to transport from PostgreSQL to ES. It is also the name of the index will be created on ES. Default: `test`. -- `MONGODB_URI`: The full URI of the MongoDB server, including credentials, if there is any. - Use one of the following formats: `mongodb://:password@host:port` or `mongodb://host:port`. - Default: `mongodb://localhost:27017`. +- `POSTGRES_URI`: The full URI of the PostgreSQL server, including credentials, if there is any. + Use one of the following formats: `postgres://:password@host:port` or `postgres://host:port`. + Default: `postgres://localhost:5432`. - `ELASTICSEARCH_URI`: The full URI of the Elasticsearch server, including credentials if there is any. Use one of the following formats: `http://:password@host:port` or `http://host:port`. Default: `http://localhost:9200`. ```bash - docker run -it --rm xmlking/mongo-to-es-transporter:latest + docker run -it --rm xmlking/postgres-to-es-transporter:latest ``` ### Docker Compose ```bash -docker-compose up mongodb +docker-compose up postgres docker-compose up elasticsearch docker-compose up kibana docker-compose up transporter diff --git a/.deploy/transporter/config/pipeline.js b/.deploy/transporter/config/pipeline.js index 23b88fdbe..5db16f7b6 100644 --- a/.deploy/transporter/config/pipeline.js +++ b/.deploy/transporter/config/pipeline.js @@ -1,5 +1,5 @@ -var source = mongodb({ - "uri": "${MONGODB_URI}/${DB_NAME}?authSource=admin", +var source = postgres({ + "uri": "${POSTGRES_URI}/${DB_NAME}", // "timeout": "30s", // "tail": false, "tail": true, @@ -11,7 +11,7 @@ var source = mongodb({ "bulk": true // "collection_filters": "{}", // "read_preference": "Primary" -}) +}); var sink = elasticsearch({ "uri": "${ELASTICSEARCH_URI}/${DB_NAME}" @@ -19,6 +19,6 @@ var sink = elasticsearch({ // "aws_access_key": "ABCDEF", // used for signing requests to AWS Elasticsearch service // "aws_access_secret": "ABCDEF" // used for signing requests to AWS Elasticsearch service // "parent_id": "elastic_parent" // defaults to "elastic_parent" parent identifier for Elasticsearch -}) +}); -t.Source("source", source, "/.*/").Save("sink", sink, "/.*/") +t.Source("source", source, "/.*/").Save("sink", sink, "/.*/"); diff --git a/PLAYBOOK-NEST.md b/PLAYBOOK-NEST.md index 63609d2cb..fa763e5b1 100644 --- a/PLAYBOOK-NEST.md +++ b/PLAYBOOK-NEST.md @@ -16,8 +16,7 @@ npm install -g @nestjs/cli ### Scaffold Project > adding code dependencies ```bash -nest new api -nest new api "my api" "0.1.0-SNAPSHOT" "Sumanth Chinthagunta " -d +nest new apps/api "my api" "0.1.0-SNAPSHOT" "Sumanth Chinthagunta " -d npm i @nestjs/core @nestjs/common npm i @nestjs/microservices @nestjs/websockets @nestjs/testing @nestjs/typeorm typeorm mongodb diff --git a/PLAYBOOK.md b/PLAYBOOK.md index 92e07ff7d..88f1194b2 100644 --- a/PLAYBOOK.md +++ b/PLAYBOOK.md @@ -9,11 +9,11 @@ Do-it-yourself step-by-step instructions to create this project structure from s | Software | Version | Optional | |-------------------------------|----------|----------| -| Node | v10.7.0 | | +| Node | v10.11.0 | | | NPM | v6.4.0 | | -| Angular CLI | v6.0.8 | | +| Angular CLI | v6.2.4 | | | @nrwl/schematics | v6.4.0 | | -| @nestjs/cli | v5.3.0 | | +| @nestjs/cli | v5.5.0 | | ### Install Prerequisites ```bash @@ -56,7 +56,7 @@ npm remove -g semantic-release-cli npm remove -g commitizen npm install -g @angular/cli -npm install -g @nrwl/schematics@6.4.0-beta.3 +npm install -g @nrwl/schematics npm install -g @nestjs/cli npm install -g semantic-release-cli npm install -g commitizen @@ -95,6 +95,7 @@ cd ngx-starter-kit # setup your workspace to run tests with jest. ng generate jest +# Ref: https://nrwl.io/nx/unit-testing-with-jest # you may have to manually remove karma files (karma.conf.js) and dependencies from package.json # make sure we are up-to-date @@ -106,6 +107,9 @@ ng update --all # generate webapp app ng g app webapp --routing --style=scss --prefix=ngx --unit-test-runner=jest --tags=app-module + +# generate api app +ng g node-app api --framework=express --unit-test-runner=jest --tags=api-module --dry-run ``` #### Dependencies @@ -201,9 +205,9 @@ ng g lib experiments --routing --lazy --prefix=ngx --parent-module=libs/dashb ng g lib widgets --routing --lazy --prefix=ngx --parent-module=libs/dashboard/src/lib/dashboard.module.ts --unit-test-runner=jest --tags=child-module ng g lib grid --routing --lazy --prefix=ngx --parent-module=libs/dashboard/src/lib/dashboard.module.ts --unit-test-runner=jest --tags=child-module -ng g lib animations --nomodule -tags=utils --unit-test-runner=jest --dry-run -ng g lib Tree --nomodule --publishable=true --tags=utils --unit-test-runner=jest --dry-run -ng g lib utils --nomodule --tags=utils --unit-test-runner=jest --dry-run +ng g lib animations --module false -tags=utils --unit-test-runner=jest --dry-run +ng g lib Tree --module false --publishable=true --tags=utils --unit-test-runner=jest --dry-run +ng g lib utils --module false --tags=utils --unit-test-runner=jest --dry-run # add `core` module which will be only inported into root/app module. ng g lib core --prefix=ngx --tags=core-module --unit-test-runner=jest --dry-run diff --git a/README.md b/README.md index 9a7630925..f41adb57e 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ This project was generated with [Angular CLI](https://github.com/angular/angular live [Demo](https://xmlking.github.io/ngx-starter-kit/index.html) -**MANT** (*MongoDB* - *Angular* - *NestJS* - *TypeScript*) Stack +**PANT** (*PostgreSQL* - *Angular* - *NestJS* - *TypeScript*) Stack ## Install diff --git a/angular.json b/angular.json index de44ff30a..6c1375db1 100644 --- a/angular.json +++ b/angular.json @@ -199,14 +199,15 @@ } }, "webapp-e2e": { - "root": "apps/webapp-e2e/", + "root": "apps/webapp-e2e", + "sourceRoot": "apps/webapp-e2e/src", "projectType": "application", "architect": { "e2e": { - "builder": "@angular-devkit/build-angular:protractor", + "builder": "@nrwl/builders:jest", "options": { - "protractorConfig": "apps/webapp-e2e/protractor.conf.js", - "devServerTarget": "webapp:serve" + "jestConfig": "", + "tsConfig": "apps/webapp-e2e/tsconfig.e2e.json" }, "configurations": { "production": { @@ -229,12 +230,41 @@ "root": "apps/api", "sourceRoot": "apps/api/src", "projectType": "application", + "prefix": "api", + "schematics": {}, "architect": { + "build": { + "builder": "@nrwl/builders:node-build", + "options": { + "outputPath": "dist/apps/api", + "main": "apps/api/src/main.ts", + "tsConfig": "apps/api/tsconfig.app.json", + "showCircularDependencies": false + }, + "configurations": { + "production": { + "optimization": true, + "extractLicenses": true, + "fileReplacements": [ + { + "replace": "apps/api/src/environments/environment.ts", + "with": "apps/api/src/environments/environment.prod.ts" + } + ] + } + } + }, + "serve": { + "builder": "@nrwl/builders:node-execute", + "options": { + "buildTarget": "api:build" + } + }, "lint": { "builder": "@angular-devkit/build-angular:tslint", "options": { "tsConfig": [ - "apps/api/tsconfig.json", + "apps/api/tsconfig.app.json", "apps/api/tsconfig.spec.json" ], "exclude": [ @@ -251,6 +281,29 @@ } } }, + "api-e2e": { + "root": "apps/api-e2e", + "sourceRoot": "apps/api-e2e/src", + "projectType": "application", + "architect": { + "test": { + "builder": "@nrwl/builders:jest", + "options": { + "jestConfig": "apps/api-e2e/jest.config.js", + "tsConfig": "apps/api-e2e/tsconfig.e2e.json" + } + }, + "lint": { + "builder": "@angular-devkit/build-angular:tslint", + "options": { + "tsConfig": "apps/api-e2e/tsconfig.e2e.json", + "exclude": [ + "**/node_modules/**" + ] + } + } + } + }, "navigator": { "root": "libs/navigator", "sourceRoot": "libs/navigator/src", diff --git a/development.env b/development.env index 05e00879e..80cd4abb5 100644 --- a/development.env +++ b/development.env @@ -9,11 +9,11 @@ ALLOW_WHITE_LIST=::ffff:127.0.0.1,::1 LOG_LEVEL=debug # DB Connection -TYPEORM_CONNECTION=mongodb +TYPEORM_CONNECTION=postgres TYPEORM_HOST=localhost -TYPEORM_PORT=27017 +TYPEORM_PORT=5432 TYPEORM_DATABASE=cockpit -TYPEORM_USERNAME=mdbuser +TYPEORM_USERNAME=cockpit TYPEORM_PASSWORD=cockpit123 # ORM Config diff --git a/docker-compose.yml b/docker-compose.yml index 3da82257a..4021b06cf 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,27 +8,41 @@ services: environment: KEYCLOAK_USER: admin KEYCLOAK_PASSWORD: admin123 - DB_VENDOR: H2 KEYCLOAK_USER_CACHE_ENABLED: 'false' KEYCLOAK_REALM_CACHE_ENABLED: 'false' + DB_VENDOR: POSTGRES + DB_ADDR: postgres + DB_DATABASE: keycloak + DB_USER: keycloak + DB_PASSWORD: keycloak123 ports: - '9080:9080' - '9444:9443' - '10990:10990' - mongodb: - image: bitnami/mongodb:latest - container_name: mongodb - ports: - - '27017:27017' + depends_on: + - postgres + + postgres: + image: postgres:alpine + container_name: postgres environment: - - MONGODB_REPLICA_SET_MODE=primary - - MONGODB_ROOT_PASSWORD=cockpit321 - - MONGODB_DATABASE=cockpit - - MONGODB_USERNAME=mdbuser - - MONGODB_PASSWORD=cockpit123 - - MONGODB_REPLICA_SET_KEY=replicasetkey123 + POSTGRES_DB: postgres + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres321 + COCKPIT_POSTGRES_DB: cockpit + COCKPIT_POSTGRES_USER: cockpit + COCKPIT_POSTGRES_PASSWORD: cockpit123 + KEYCLOAK_POSTGRES_DB: keycloak + KEYCLOAK_POSTGRES_USER: keycloak + KEYCLOAK_POSTGRES_PASSWORD: keycloak123 + ports: + - '5432:5432' + healthcheck: + test: ['CMD-SHELL', 'psql postgres://$${POSTGRES_USER}:$${POSTGRES_PASSWORD}@localhost:5432/$${POSTGRES_DB} || exit 1'] volumes: - - 'mongodb_primary_data:/bitnami' + - postgres_data:/var/lib/postgresql/data + - .deploy/postgres/scripts/create_databases.sh:/docker-entrypoint-initdb.d/10-create_databases.sh:ro + api: build: context: . @@ -40,7 +54,8 @@ services: ports: - '3000:3000' depends_on: - - mongodb + - postgres + web: build: context: . @@ -59,46 +74,42 @@ services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:6.4.0 container_name: elasticsearch -# ulimits: -# memlock: -# soft: -1 -# hard: -1 -# volumes: -# - esdata1:/usr/share/elasticsearch/data + # ulimits: + # memlock: + # soft: -1 + # hard: -1 + # volumes: + # - esdata1:/usr/share/elasticsearch/data environment: - - discovery.type=single-node + discovery.type: single-node ports: - - '9200:9200' + - '9200:9200' links: - - 'mongodb' + - 'postgres' kibana: image: docker.elastic.co/kibana/kibana:6.4.0 container_name: kibana -# volumes: -# - ./kibana.yml:/usr/share/kibana/config/kibana.yml + # volumes: + # - ./kibana.yml:/usr/share/kibana/config/kibana.yml links: - - 'elasticsearch' + - 'elasticsearch' ports: - - '5601:5601' + - '5601:5601' transporter: - image: xmlking/mongo-to-es-transporter:latest + image: xmlking/postgres-to-es-transporter:latest container_name: transporter environment: DB_NAME: cockpit - MONGODB_URI: "mongodb://root:cockpit321@mongodb:27017" - ELASTICSEARCH_URI: "http://elasticsearch:9200" + MONGODB_URI: 'postgres://postgres:postgres321@postgres:5432' + ELASTICSEARCH_URI: 'http://elasticsearch:9200' links: - - 'mongodb' - - 'elasticsearch' + - 'postgres' + - 'elasticsearch' volumes: uploads: - driver: local + postgres_data: mongodb_primary_data: - driver: local mongodb_secondary_data: - driver: local esdata1: - driver: local esdata2: - driver: local diff --git a/nx.json b/nx.json index e1948792d..96dd909c9 100644 --- a/nx.json +++ b/nx.json @@ -24,6 +24,12 @@ "api-module" ] }, + "api-e2e": { + "tags": [], + "implicitDependencies": [ + "api" + ] + }, "navigator": { "tags": [ "private-module", diff --git a/package-lock.json b/package-lock.json index 12ac0d1cc..8e1a183bc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1359,9 +1359,9 @@ "dev": true }, "@nrwl/builders": { - "version": "6.4.0-beta.3", - "resolved": "https://registry.npmjs.org/@nrwl/builders/-/builders-6.4.0-beta.3.tgz", - "integrity": "sha512-wJyXb5cmS42Kq4ldMzh90GOqzjX51wnCmHlVqiiUNYu/MNrI37sgKT41J7/SQbzy2IHWzgm3QTzvcFDrHfC76A==", + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@nrwl/builders/-/builders-6.4.0.tgz", + "integrity": "sha512-umWQRGTUZ7dbVFhgy5YzL7nkHfGsSgpKZ4amRxMXozirfC8Bu+5eNL5Can753KxQ3p9q3OIyEjAA5CdXHZnkXQ==", "dev": true, "requires": { "@angular-devkit/architect": "~0.8.0", @@ -1609,14 +1609,14 @@ } }, "@nrwl/nx": { - "version": "6.4.0-beta.3", - "resolved": "https://registry.npmjs.org/@nrwl/nx/-/nx-6.4.0-beta.3.tgz", - "integrity": "sha512-1699AkTdl0eiV5qtfajcVdZfqrMZ/sxwOKWIwTsAMF6d/9diRx3TxnDxH9mr519eh5AN8AITn7PuESjfvKTzsg==" + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@nrwl/nx/-/nx-6.4.0.tgz", + "integrity": "sha512-e09hYukjDd9piUj7+CHcJGN1PJNmQ77Wp7qrmSSkY3YOC46SntpDsC9GTwjxaJzw/GXF26LjAms4MVDyty3lnQ==" }, "@nrwl/schematics": { - "version": "6.4.0-beta.3", - "resolved": "https://registry.npmjs.org/@nrwl/schematics/-/schematics-6.4.0-beta.3.tgz", - "integrity": "sha512-CK03IDu9a7DChSQ3x3HnyGU8H1TcDDDI1nmCvc1zgs1Q+pTc9BK08cwkEiEhqSVDj/ZB7ghoBeKG+7WnOK8dcA==", + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@nrwl/schematics/-/schematics-6.4.0.tgz", + "integrity": "sha512-KPE8qDSGsJWbI99osctREgIqjj9pFxKPEqQ36JPtEA4mAWJbR6NUykOpbh2LWl7V/kMSLKGacmOLEOjrrpyKeA==", "dev": true, "requires": { "@types/yargs": "^11.0.0", @@ -5039,6 +5039,11 @@ "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", "dev": true }, + "buffer-writer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-1.0.1.tgz", + "integrity": "sha1-Iqk2kB4wKa/NdUfrRIfOtpejvwg=" + }, "buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", @@ -18959,6 +18964,11 @@ "semver": "^5.1.0" } }, + "packet-reader": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-0.3.1.tgz", + "integrity": "sha1-zWLmCvjX/qinBexP+ZCHHEaHHyc=" + }, "pako": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", @@ -19206,6 +19216,56 @@ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, + "pg": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/pg/-/pg-7.5.0.tgz", + "integrity": "sha512-VFyAnp8xsMZp8nwZnMp7lmU5QcWDOZSI3IDNcWv6pblsiOXis5o7lD7/zzVK1Z1JTBiIDDGQAMbFMkiUzCL59A==", + "requires": { + "buffer-writer": "1.0.1", + "packet-reader": "0.3.1", + "pg-connection-string": "0.1.3", + "pg-pool": "~2.0.3", + "pg-types": "~1.12.1", + "pgpass": "1.x", + "semver": "4.3.2" + }, + "dependencies": { + "semver": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.2.tgz", + "integrity": "sha1-x6BxWKgL7dBSNVt3DYLWZA+AO+c=" + } + } + }, + "pg-connection-string": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-0.1.3.tgz", + "integrity": "sha1-2hhHsglA5C7hSSvq9l1J2RskXfc=" + }, + "pg-pool": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-2.0.3.tgz", + "integrity": "sha1-wCIDLIlJ8xKk+R+2QJzgQHa+Mlc=" + }, + "pg-types": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-1.12.1.tgz", + "integrity": "sha1-1kCH45A7WP+q0nnnWVxSIIoUw9I=", + "requires": { + "postgres-array": "~1.0.0", + "postgres-bytea": "~1.0.0", + "postgres-date": "~1.0.0", + "postgres-interval": "^1.1.0" + } + }, + "pgpass": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.2.tgz", + "integrity": "sha1-Knu0G2BltnkH6R2hsHwYR8h3swY=", + "requires": { + "split": "^1.0.0" + } + }, "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", @@ -19436,6 +19496,29 @@ "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=", "dev": true }, + "postgres-array": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-1.0.3.tgz", + "integrity": "sha512-5wClXrAP0+78mcsNX3/ithQ5exKvCyK5lr5NEEEeGwwM6NJdQgzIJBVxLvRW+huFpX92F2QnZ5CcokH0VhK2qQ==" + }, + "postgres-bytea": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz", + "integrity": "sha1-AntTPAqokOJtFy1Hz5zOzFIazTU=" + }, + "postgres-date": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.3.tgz", + "integrity": "sha1-4tiXAu/bJY/52c7g/pG9BpdSV6g=" + }, + "postgres-interval": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.1.2.tgz", + "integrity": "sha512-fC3xNHeTskCxL1dC8KOtxXt7YeFmlbTYtn7ul8MkVERuTmf7pI4DrkAxcw3kh1fQ9uz4wQmd03a1mRiXUZChfQ==", + "requires": { + "xtend": "^4.0.0" + } + }, "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", @@ -20629,9 +20712,9 @@ } }, "rxjs-tslint-rules": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/rxjs-tslint-rules/-/rxjs-tslint-rules-4.9.0.tgz", - "integrity": "sha512-KvZ8t42xTlStuSPqVMOqrkTnnJlEQNWVr6u/FTSGBFNr85Rrj/yjrXQC41BiAdDJx8k+Tcv4Y4Ufyj/XSRob4w==", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/rxjs-tslint-rules/-/rxjs-tslint-rules-4.10.0.tgz", + "integrity": "sha512-5mjt+gKdnYLMplZfvhwrgXdpGMyzhlyzUWN3KNdu6IOiPzSfPeDXvsThg37l70Lt/JcBP7PBVhHrbuEJjwcpcA==", "dev": true, "requires": { "@phenomnomnominal/tsquery": "^2.0.0", @@ -21900,7 +21983,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", - "dev": true, "requires": { "through": "2" } @@ -23100,8 +23182,7 @@ "through": { "version": "2.3.8", "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" }, "through2": { "version": "2.0.3", @@ -23341,9 +23422,9 @@ "dev": true }, "ts-jest": { - "version": "23.10.3", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-23.10.3.tgz", - "integrity": "sha512-Lgyfw1MYPfqAs1qrFBmqXu8LRrde8ItH70pmp1iQuRbkVXaap7QcaEpN+yiSxuppfvO8rqezVv8wOYZkKhR5wA==", + "version": "23.10.4", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-23.10.4.tgz", + "integrity": "sha512-oV/wBwGUS7olSk/9yWMiSIJWbz5xO4zhftnY3gwv6s4SMg6WHF1m8XZNBvQOKQRiTAexZ9754Z13dxBq3Zgssw==", "dev": true, "requires": { "bs-logger": "0.x", diff --git a/package.json b/package.json index 177f6ec24..4560abbd3 100644 --- a/package.json +++ b/package.json @@ -55,15 +55,15 @@ "api:start:debug": "nodemon --config ./apps/api/nodemon-debug.json", "api:start:prod": "node dist/apps/api/main.js", "api:start:hmr": "node dist/apps/api/server", - "api:prestart:prod": "rimraf dist && tsc -p ./apps/api/tsconfig.json", + "api:prestart:prod": "rimraf dist && tsc -p ./apps/api/tsconfig.app.json", "api:webpack": "webpack --config ./apps/api/webpack.config.js", "// - API Test": "API Testing", "api:test": "jest --projects=apps/api --roots=src", "api:test:watch": "jest --projects=apps/api --roots=src --watch", "api:test:cov": "jest --projects=apps/api --coverage", - "api:test:ci": "jest --projects=apps/api --roots=src --runInBand", - "api:e2e": "jest --projects=apps/api --roots=e2e --forceExit", - "api:e2e:watch": "jest --projects=apps/api --roots=e2e --watch" + "api:test:ci": "jest --projects=apps/api --run-in-band", + "api:e2e": "jest --projects=apps/api-e2e --roots=src --forceExit", + "api:e2e:watch": "jest --projects=apps/api-e2e --roots=src --watch" }, "config": { "commitizen": { @@ -143,7 +143,7 @@ "@ngxs/form-plugin": "^3.2.0", "@ngxs/router-plugin": "^3.2.0", "@ngxs/store": "^3.2.0", - "@nrwl/nx": "^6.4.0-beta.3", + "@nrwl/nx": "^6.4.0", "@trademe/ng-defer-load": "^2.0.0", "@xmlking/jwks-rsa": "^1.4.2", "@xmlking/ngx-knob": "0.0.6", @@ -166,7 +166,6 @@ "filepond-plugin-image-preview": "^3.0.0", "hammerjs": "^2.0.8", "helmet": "^3.13.0", - "mongodb": "^3.1.6", "nest-router": "^1.0.7", "ngx-filepond": "^3.0.0", "ngx-moment": "^3.1.0", @@ -175,6 +174,7 @@ "nodemailer": "^4.6.8", "passport": "^0.4.0", "passport-jwt": "^4.0.0", + "pg": "^7.5.0", "pug": "^2.0.3", "rxjs": "^6.3.3", "screenfull": "^3.3.3", @@ -197,8 +197,8 @@ "@compodoc/compodoc": "^1.1.5", "@nestjs/testing": "^5.3.11", "@ngx-formly/schematics": "5.0.0-beta.5", - "@nrwl/builders": "^6.4.0-beta.3", - "@nrwl/schematics": "^6.4.0-beta.3", + "@nrwl/builders": "^6.4.0", + "@nrwl/schematics": "^6.4.0", "@semantic-release/changelog": "^3.0.0", "@semantic-release/git": "^7.0.4", "@semantic-release/github": "^5.0.6", @@ -228,13 +228,13 @@ "nodemon": "^1.18.4", "prettier": "^1.14.3", "rimraf": "^2.6.2", - "rxjs-tslint-rules": "^4.9.0", + "rxjs-tslint-rules": "^4.10.0", "semantic-release": "^15.9.17", "supertest": "^3.3.0", "testcafe": "^0.22.0", "testcafe-angular-selectors": "^0.3.0", "testcafe-live": "^0.1.3", - "ts-jest": "^23.10.3", + "ts-jest": "^23.10.4", "ts-loader": "^5.2.1", "ts-node": "^7.0.1", "tsconfig-paths": "^3.6.0", diff --git a/production.env b/production.env index 4c8e26e34..c516a37eb 100644 --- a/production.env +++ b/production.env @@ -5,15 +5,15 @@ GLOBAL_PREFIX=/api NODE_TLS_REJECT_UNAUTHORIZED=0 # DB Connection -TYPEORM_CONNECTION=mongodb -TYPEORM_HOST=mongodb -TYPEORM_PORT=27017 +TYPEORM_CONNECTION=postgres +TYPEORM_HOST=postgres +TYPEORM_PORT=5432 TYPEORM_DATABASE=cockpit -TYPEORM_USERNAME=mdbuser +TYPEORM_USERNAME=cockpit TYPEORM_PASSWORD=cockpit123 # ORM Config -TYPEORM_SYNCHRONIZE=true +TYPEORM_SYNCHRONIZE=false TYPEORM_LOGGING=false TYPEORM_ENTITIES=./dist/**/**.entity.js diff --git a/test.env b/test.env index 05e00879e..80cd4abb5 100644 --- a/test.env +++ b/test.env @@ -9,11 +9,11 @@ ALLOW_WHITE_LIST=::ffff:127.0.0.1,::1 LOG_LEVEL=debug # DB Connection -TYPEORM_CONNECTION=mongodb +TYPEORM_CONNECTION=postgres TYPEORM_HOST=localhost -TYPEORM_PORT=27017 +TYPEORM_PORT=5432 TYPEORM_DATABASE=cockpit -TYPEORM_USERNAME=mdbuser +TYPEORM_USERNAME=cockpit TYPEORM_PASSWORD=cockpit123 # ORM Config From 01250dc4f2f5110ba48590bbe735e1bbf465663f Mon Sep 17 00:00:00 2001 From: xmlking Date: Mon, 8 Oct 2018 04:09:09 -0700 Subject: [PATCH 03/22] build(infra): updated keycloak to 4.5.0 --- .deploy/api/README.md | 42 + .deploy/api/api.yml | 61 + .deploy/keycloak/Dockerfile | 2 +- .deploy/keycloak/realm-manual-import.json | 58 +- apps/.gitkeep | 1 - apps/api/API-TESTING.md | 39 +- apps/api/src/environments/environment.prod.ts | 27 + apps/api/src/environments/environment.ts | 29 + apps/api/webpack.config.js | 14 +- apps/api/webpack.config.prod.js | 20 +- apps/webapp/src/environments/environment.ts | 4 +- development.env | 3 +- docker-compose.yml | 17 +- libs/.gitkeep | 0 package-lock.json | 1450 +++++++++++------ package.json | 5 +- production.env | 1 - stories/howto.md | 5 + stories/keycloak.md | 38 +- test.env | 3 +- tsconfig.json | 3 + 21 files changed, 1223 insertions(+), 599 deletions(-) create mode 100644 .deploy/api/api.yml delete mode 100644 apps/.gitkeep delete mode 100644 libs/.gitkeep diff --git a/.deploy/api/README.md b/.deploy/api/README.md index 342824399..89f16d576 100644 --- a/.deploy/api/README.md +++ b/.deploy/api/README.md @@ -66,4 +66,46 @@ oc delete all,configmap,secret -l app=ngx-starter-kit-api -n ngx-starter-kit Applications > Deployments > ngx-starter-kit > Deploy ``` +#### Kubernetes Deployment +> assume you already setup `ngx-starter-kit` context + +> make sure `Env`, docker image `Version` are correct in `api.yml` + +```bash +## view all preset contexts +kubectl config get-contexts +# switch to `ngx-starter-kit` contexts +kubectl config use-context ngx-starter-kit + +## create (first time deployment) +kubectl create -f ./api.yml +kubectl describe deployment api + +## checking +# see logs +kubectl logs -f my-pod +# Once you’ve created a Service of type NodePort, you can use this command to find the NodePort +kubectl get service api --watch +# to get names +kubectl get pod -o wide + +## delete +kubectl delete -f ./api.yml + +## redeploy (new image) +update tag in api.yml and delete and create again. +``` + +#### Kubernetes Commands +```bash +kubectl get deployment -o wide +kubectl get pods -o wide +kubectl get service -o wide + +kubectl exec -it my-pod -- /bin/bash +kubectl logs -f my-pod +kubectl logs my-pod --previous +kubectl logs my-pod -c my-container +``` + diff --git a/.deploy/api/api.yml b/.deploy/api/api.yml new file mode 100644 index 000000000..bcbcdde82 --- /dev/null +++ b/.deploy/api/api.yml @@ -0,0 +1,61 @@ +apiVersion: v1 +kind: Service +metadata: + name: api + namespace: ngx-starter-kit + labels: + app: api +spec: + type: NodePort + ports: + - name: api-3000 + port: 3000 + nodePort: 31442 + protocol: TCP + selector: + app: api + +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: api + namespace: ngx-starter-kit + labels: + app: api +spec: + replicas: 1 + strategy: + type: RollingUpdate + selector: + matchLabels: + app: api + template: + metadata: + name: api + labels: + app: api + spec: + containers: + - name: api + image: xmlking/ngx-starter-kit-api:latest + imagePullPolicy: Always + resources: + limits: + memory: 4G + requests: + memory: 2G + ports: + - containerPort: 3000 + protocol: TCP + env: + - name: TYPEORM_HOST + value: postgres + - name: TYPEORM_PORT + value: '5432' + - name: TYPEORM_DATABASE + value: cockpit + - name: TYPEORM_USERNAME + value: cockpit + - name: TYPEORM_PASSWORD + value: cockpit123 diff --git a/.deploy/keycloak/Dockerfile b/.deploy/keycloak/Dockerfile index db93e7f85..50912f478 100644 --- a/.deploy/keycloak/Dockerfile +++ b/.deploy/keycloak/Dockerfile @@ -1,4 +1,4 @@ -FROM jboss/keycloak-openshift:4.3.0.Final +FROM jboss/keycloak-openshift:4.5.0.Final LABEL maintainer="Sumanth " COPY configuration/* $JBOSS_HOME/standalone/configuration/ diff --git a/.deploy/keycloak/realm-manual-import.json b/.deploy/keycloak/realm-manual-import.json index 0deb7d802..5d2353304 100644 --- a/.deploy/keycloak/realm-manual-import.json +++ b/.deploy/keycloak/realm-manual-import.json @@ -1,17 +1,17 @@ { - "realm": "kubernetes", + "realm": "ngx", "enabled": true, "users": [ { - "username": "kubeadmin", + "username": "ngxadmin", "enabled": true, - "firstName" : "kube", + "firstName" : "ngx", "lastName" : "admin", - "email" : "kubeadmin@kube.com", + "email" : "ngxadmin@kube.com", "credentials": [ { "type": "password", - "value": "kubeadmin" + "value": "ngxadmin" } ], "realmRoles": [ @@ -33,6 +33,54 @@ "realmRoles": [ "ROLE_USER" ] + }, + { + "username": "sumo1", + "enabled": true, + "firstName" : "sumo1", + "lastName" : "demo", + "email" : "sumo1@demo.com", + "credentials": [ + { + "type": "password", + "value": "demo" + } + ], + "realmRoles": [ + "ROLE_USER" + ] + }, + { + "username": "sumo2", + "enabled": true, + "firstName" : "sumo2", + "lastName" : "demo", + "email" : "sumo2@demo.com", + "credentials": [ + { + "type": "password", + "value": "demo" + } + ], + "realmRoles": [ + "ROLE_USER" + ] + }, + { + "username": "sumo3", + "enabled": true, + "firstName" : "sumo3", + "lastName" : "demo", + "email" : "sumo3@demo.com", + "credentials": [ + { + "type": "password", + "value": "demo" + } + ], + "realmRoles": [ + "ROLE_USER" + ] } ], "roles": { diff --git a/apps/.gitkeep b/apps/.gitkeep deleted file mode 100644 index 8b1378917..000000000 --- a/apps/.gitkeep +++ /dev/null @@ -1 +0,0 @@ - diff --git a/apps/api/API-TESTING.md b/apps/api/API-TESTING.md index e5addc5a5..f1bc7803d 100644 --- a/apps/api/API-TESTING.md +++ b/apps/api/API-TESTING.md @@ -102,26 +102,49 @@ curl -v -X POST \ ### token ```bash +OIDC_ISSUER_URL=https://myroute-is360.a3c1.starter-us-west-1.openshiftapps.com/auth/realms/is360 +OIDC_CLIENT=is360ui + USERNAME=sumo PASSWORD=demo -OIDC_BASE_URL=https://keycloak-is360.7e14.starter-us-west-2.openshiftapps.com/auth/realms/is360 -CLIENT_ID=cockpit + +# get URLs +curl $OIDC_ISSUER_URL/.well-known/openid-configuration | jq . +#get certs +curl $OIDC_ISSUER_URL/protocol/openid-connect/certs | jq . # Get tokens -response=$(curl -X POST $OIDC_BASE_URL/protocol/openid-connect/token \ +response=$(curl -X POST $OIDC_ISSUER_URL/protocol/openid-connect/token \ -H "Content-Type: application/x-www-form-urlencoded" \ -d username=$USERNAME \ -d password=$PASSWORD \ - -d client_id=$CLIENT_ID \ + -d client_id=$OIDC_CLIENT \ -d 'grant_type=password' \ -d 'scope=openid') - + access_token=$(echo $response | jq -r '.access_token') echo $access_token curl -X GET \ - http://localhost:3000/api \ - -H "Authorization: Bearer $access_token" \ -| jq . + http://localhost:3000 \ + -H "Authorization: Bearer $access_token" + +curl -X GET \ + http://localhost:3000/api/notifications \ + -H "accept: application/json" \ + -H "Authorization: Bearer $access_token" \ + | jq . + + +# Get User Profile +curl -X POST $OIDC_ISSUER_URL/protocol/openid-connect/userinfo \ + -H "Content-Type: application/x-www-form-urlencoded" \ + -d "access_token=$access_token" | jq . + +# Logout +curl -X POST $OIDC_ISSUER_URL/protocol/openid-connect/logout \ + -H "Content-Type: application/x-www-form-urlencoded" \ + -d client_id=$CLIENT_ID \ + -d "refresh_token=$refresh_token" | jq . ``` diff --git a/apps/api/src/environments/environment.prod.ts b/apps/api/src/environments/environment.prod.ts index c9669790b..9187041cb 100644 --- a/apps/api/src/environments/environment.prod.ts +++ b/apps/api/src/environments/environment.prod.ts @@ -1,3 +1,30 @@ export const environment = { production: true, + + NODE_ENV: 'production', + DOMAIN_URL: 'http://localhost:3000', + PORT: 3000, + GLOBAL_PREFIX: '/api', + NODE_TLS_REJECT_UNAUTHORIZED: 0, + + TYPEORM_CONNECTION: 'postgres', + TYPEORM_HOST: 'postgres', + TYPEORM_PORT: 5432, + TYPEORM_DATABASE: 'cockpit', + TYPEORM_USERNAME: 'cockpit', + TYPEORM_PASSWORD: 'cockpit123', + + TYPEORM_SYNCHRONIZE: false, + TYPEORM_LOGGING: false, + TYPEORM_ENTITIES: './dist/**/**.entity.js', + + // OIDC_ISSUER_URL: 'https://myroute-is360.a3c1.starter-us-west-1.openshiftapps.com/auth/realms/kubernetes', + // OIDC_CLIENT: 'cockpit', + OIDC_ISSUER_URL: 'https://myroute-is360.a3c1.starter-us-west-1.openshiftapps.com/auth/realms/is360', + OIDC_CLIENT: 'is360ui', + + EMAIL_HOST: 'mail.google.com', + EMAIL_PORT: 25, + EMAIL_FROM: '"sumo demo" ', + EMAIL_TEMPLATE_DIR: 'apps/api/email-templates', }; diff --git a/apps/api/src/environments/environment.ts b/apps/api/src/environments/environment.ts index da5ad8529..5a18f3513 100644 --- a/apps/api/src/environments/environment.ts +++ b/apps/api/src/environments/environment.ts @@ -4,4 +4,33 @@ export const environment = { production: false, + NODE_ENV: 'development', + DOMAIN_URL: 'http://localhost:3000', + PORT: 3000, + GLOBAL_PREFIX: '/api', + NODE_TLS_REJECT_UNAUTHORIZED: 0, + ALLOW_WHITE_LIST: '::ffff:127.0.0.1,::1', + + LOG_LEVEL: 'debug', + + TYPEORM_CONNECTION: 'postgres', + TYPEORM_HOST: 'localhost', + TYPEORM_PORT: 5432, + TYPEORM_DATABASE: 'cockpit', + TYPEORM_USERNAME: 'cockpit', + TYPEORM_PASSWORD: 'cockpit123', + + TYPEORM_SYNCHRONIZE: true, + TYPEORM_LOGGING: true, + TYPEORM_ENTITIES: './**/**.entity{.ts,.js}', + + // OIDC_ISSUER_URL: 'https://myroute-is360.a3c1.starter-us-west-1.openshiftapps.com/auth/realms/kubernetes', + // OIDC_CLIENT: 'cockpit', + OIDC_ISSUER_URL: 'https://myroute-is360.a3c1.starter-us-west-1.openshiftapps.com/auth/realms/is360', + OIDC_CLIENT: 'is360ui', + + EMAIL_HOST: 'mail.google.com', + EMAIL_PORT: 25, + EMAIL_FROM: '"sumo demo" ', + EMAIL_TEMPLATE_DIR: 'apps/api/email-templates', }; diff --git a/apps/api/webpack.config.js b/apps/api/webpack.config.js index e860fd4fb..91004989a 100755 --- a/apps/api/webpack.config.js +++ b/apps/api/webpack.config.js @@ -2,9 +2,8 @@ const webpack = require('webpack'); const path = require('path'); const nodeExternals = require('webpack-node-externals'); -console.log(__dirname + "/src") module.exports = { - context: __dirname + "/src", + context: __dirname + '/src', entry: ['webpack/hot/poll?1000', './main.hmr.ts'], watch: true, target: 'node', @@ -17,18 +16,19 @@ module.exports = { rules: [ { test: /\.tsx?$/, - use: 'ts-loader', + loader: 'ts-loader', + options: { + configFile: 'tsconfig.app.json', + }, exclude: /node_modules/, }, ], }, - mode: "development", + mode: 'development', resolve: { extensions: ['.tsx', '.ts', '.js'], }, - plugins: [ - new webpack.HotModuleReplacementPlugin(), - ], + plugins: [new webpack.HotModuleReplacementPlugin()], output: { path: path.join(__dirname, '../../dist/apps/api'), filename: 'server.js', diff --git a/apps/api/webpack.config.prod.js b/apps/api/webpack.config.prod.js index 69ea0de75..c1c723422 100755 --- a/apps/api/webpack.config.prod.js +++ b/apps/api/webpack.config.prod.js @@ -6,15 +6,15 @@ const UglifyJsPlugin = require('uglifyjs-webpack-plugin'); var nodeModules = {}; fs.readdirSync('node_modules') - .filter(function (x) { + .filter(function(x) { return ['.bin'].indexOf(x) === -1; }) - .forEach(function (mod) { + .forEach(function(mod) { nodeModules[mod] = 'commonjs ' + mod; }); module.exports = { - context: __dirname + "/src", + context: __dirname + '/src', entry: ['./main.ts'], target: 'node', output: { @@ -24,19 +24,19 @@ module.exports = { devtool: 'source-map', plugins: [ new UglifyJsPlugin({ - test: /\.js($|\?)/i - }) + test: /\.js($|\?)/i, + }), ], - mode: "production", + mode: 'production', resolve: { // Add `.ts` and `.tsx` as a resolvable extension. - extensions: ['.ts', '.tsx', '.js'] + extensions: ['.ts', '.tsx', '.js'], }, module: { rules: [ // all files with a `.ts` or `.tsx` extension will be handled by `ts-loader` - { test: /\.tsx?$/, loader: 'ts-loader' } - ] + { test: /\.tsx?$/, loader: 'ts-loader' }, + ], }, - externals: nodeModules + externals: nodeModules, }; diff --git a/apps/webapp/src/environments/environment.ts b/apps/webapp/src/environments/environment.ts index bd08fd0ae..9a6a1ea95 100644 --- a/apps/webapp/src/environments/environment.ts +++ b/apps/webapp/src/environments/environment.ts @@ -11,8 +11,8 @@ export const environment = { API_BASE_URL: 'http://localhost:3000/api', WS_EVENT_BUS_URL: 'ws://localhost:3000/eventbus', auth: { - // clientId: 'kube-tenant', - // issuer: 'http://localhost:9080/auth/realms/kubernetes' + // clientId: 'cockpit', + // issuer: 'http://localhost:8080/auth/realms/ngx', clientId: 'is360ui', issuer: 'https://myroute-is360.a3c1.starter-us-west-1.openshiftapps.com/auth/realms/is360', }, diff --git a/development.env b/development.env index 80cd4abb5..65886f0fe 100644 --- a/development.env +++ b/development.env @@ -26,7 +26,8 @@ TYPEORM_ENTITIES=./**/**.entity{.ts,.js} #OIDC_CLIENT=cockpit OIDC_ISSUER_URL=https://myroute-is360.a3c1.starter-us-west-1.openshiftapps.com/auth/realms/is360 OIDC_CLIENT=is360ui -OIDC_PUBLIC_KEY="-----BEGIN RSA PUBLIC KEY-----\nMIIBCgKCAQEA1v/fhCLmITXvaav6g39iT+Wu6KJdRa4dR7Z9PCmK6aq5rDnDLQFr\niMqdHpyD8S/yTSxc8/G8rpk1j6X7IxTAj/dO+vdpINNI9jyhmi/OkT08Bkz0Zw01\npoe+oe1M0RmlczL2ew8XAhHgds78rNaIkSkcQG70F3708qqBNKthQE58eYqvNFVF\nLfg6pk5rTV8cR5NyP+dngaKQJcwJkqKnETVdbHxlTujDg7WtPUv3S+qq+Ctqv4vA\nWqsdy6s2hNFqomiXwVRUEH+AfZMlguQ6IEKoKBvc+BXD7C4L+v1HeONfeQ5khuD7\nrQMpFkMTmCCjNabe/inKELoQi0KI0J2hVQIDAQAB\n-----END RSA PUBLIC KEY-----\n" +#OIDC_ISSUER_URL=http://localhost:8080/auth/realms/ngx +#OIDC_CLIENT=cockpit # Email Config EMAIL_HOST=mail.google.com diff --git a/docker-compose.yml b/docker-compose.yml index 4021b06cf..1e0933a7b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,24 +1,21 @@ version: '3' services: keycloak: - image: xmlking/keycloak-openshift-stateless + image: jboss/keycloak:4.5.0.Final container_name: keycloak - volumes: - - '$PWD/.deploy/keycloak/realm-config:/opt/jboss/keycloak/realm-config' environment: - KEYCLOAK_USER: admin - KEYCLOAK_PASSWORD: admin123 - KEYCLOAK_USER_CACHE_ENABLED: 'false' - KEYCLOAK_REALM_CACHE_ENABLED: 'false' DB_VENDOR: POSTGRES DB_ADDR: postgres DB_DATABASE: keycloak DB_USER: keycloak DB_PASSWORD: keycloak123 + KEYCLOAK_USER: admin + KEYCLOAK_PASSWORD: admin123 + KEYCLOAK_LOGLEVEL: INFO + # Uncomment the line below if you want to specify JDBC parameters. The parameter below is just an example, and it shouldn't be used in production without knowledge. It is highly recommended that you read the PostgreSQL JDBC driver documentation in order to use it. + #JDBC_PARAMS: "ssl=true" ports: - - '9080:9080' - - '9444:9443' - - '10990:10990' + - 8080:8080 depends_on: - postgres diff --git a/libs/.gitkeep b/libs/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/package-lock.json b/package-lock.json index 8e1a183bc..babc7fb22 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2998,22 +2998,22 @@ } }, "@xmlking/jwks-rsa": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@xmlking/jwks-rsa/-/jwks-rsa-1.4.2.tgz", - "integrity": "sha512-s35a2whB318z5cJwmy7lDToegCcQnKmjZCy8859w+kMdFY5WI/cc5rwolv/fQ1NI3H530rhEPrks/0ZeE85TPA==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@xmlking/jwks-rsa/-/jwks-rsa-1.4.3.tgz", + "integrity": "sha512-7yf8zWOl+FIuFQLtS46+bQJL+fse5hvv4FYK9vKxrgFav33hOLB8Pe1McC6JDM4wPSSW09BygAks9SeU+CfkWg==", "requires": { "@types/express-jwt": "0.0.40", - "debug": "^3.1.0", + "debug": "^4.0.1", "limiter": "^1.1.3", "lru-memoizer": "^1.12.0", "ms": "^2.1.1", - "request": "^2.87.0" + "request": "^2.88.0" }, "dependencies": { "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.0.1.tgz", + "integrity": "sha512-K23FHJ/Mt404FSlp6gSZCevIbTMLX0j3fmHhUEhQ3Wq0FMODW3+cUSoLdy1Gx4polAf4t/lphhmHH35BB8cLYw==", "requires": { "ms": "^2.1.1" } @@ -5003,11 +5003,6 @@ "node-int64": "^0.4.0" } }, - "bson": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/bson/-/bson-1.1.0.tgz", - "integrity": "sha512-9Aeai9TacfNtWXOYarkFJRW2CWo+dRon+fuLZYJmvLV3+MiUp0bEI6IAZfXEIg7/Pl/7IWlLaDnhzTsD81etQA==" - }, "btoa-lite": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz", @@ -9086,21 +9081,25 @@ "dependencies": { "abbrev": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "optional": true }, "ansi-regex": { "version": "2.1.1", - "bundled": true + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "aproba": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "optional": true }, "are-we-there-yet": { "version": "1.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", + "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", "optional": true, "requires": { "delegates": "^1.0.0", @@ -9109,11 +9108,13 @@ }, "balanced-match": { "version": "1.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "brace-expansion": { "version": "1.1.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -9121,29 +9122,35 @@ }, "chownr": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", "optional": true }, "code-point-at": { "version": "1.1.0", - "bundled": true + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, "concat-map": { "version": "0.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "console-control-strings": { "version": "1.1.0", - "bundled": true + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" }, "core-util-is": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "optional": true }, "debug": { "version": "2.6.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "optional": true, "requires": { "ms": "2.0.0" @@ -9151,22 +9158,26 @@ }, "deep-extend": { "version": "0.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz", + "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==", "optional": true }, "delegates": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", "optional": true }, "detect-libc": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", "optional": true }, "fs-minipass": { "version": "1.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", + "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", "optional": true, "requires": { "minipass": "^2.2.1" @@ -9174,12 +9185,14 @@ }, "fs.realpath": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "optional": true }, "gauge": { "version": "2.7.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "optional": true, "requires": { "aproba": "^1.0.3", @@ -9194,7 +9207,8 @@ }, "glob": { "version": "7.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "optional": true, "requires": { "fs.realpath": "^1.0.0", @@ -9207,12 +9221,14 @@ }, "has-unicode": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", "optional": true }, "iconv-lite": { "version": "0.4.21", - "bundled": true, + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.21.tgz", + "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==", "optional": true, "requires": { "safer-buffer": "^2.1.0" @@ -9220,7 +9236,8 @@ }, "ignore-walk": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", + "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", "optional": true, "requires": { "minimatch": "^3.0.4" @@ -9228,7 +9245,8 @@ }, "inflight": { "version": "1.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "optional": true, "requires": { "once": "^1.3.0", @@ -9237,39 +9255,46 @@ }, "inherits": { "version": "2.0.3", - "bundled": true + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, "ini": { "version": "1.3.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { "number-is-nan": "^1.0.0" } }, "isarray": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "optional": true }, "minimatch": { "version": "3.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { "version": "0.0.8", - "bundled": true + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" }, "minipass": { "version": "2.2.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.2.4.tgz", + "integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==", "requires": { "safe-buffer": "^5.1.1", "yallist": "^3.0.0" @@ -9277,7 +9302,8 @@ }, "minizlib": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz", + "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", "optional": true, "requires": { "minipass": "^2.2.1" @@ -9285,19 +9311,22 @@ }, "mkdirp": { "version": "0.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "requires": { "minimist": "0.0.8" } }, "ms": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "optional": true }, "needle": { "version": "2.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/needle/-/needle-2.2.0.tgz", + "integrity": "sha512-eFagy6c+TYayorXw/qtAdSvaUpEbBsDwDyxYFgLZ0lTojfH7K+OdBqAF7TAFwDokJaGpubpSGG0wO3iC0XPi8w==", "optional": true, "requires": { "debug": "^2.1.2", @@ -9307,7 +9336,8 @@ }, "node-pre-gyp": { "version": "0.10.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.10.0.tgz", + "integrity": "sha512-G7kEonQLRbcA/mOoFoxvlMrw6Q6dPf92+t/l0DFSMuSlDoWaI9JWIyPwK0jyE1bph//CUEL65/Fz1m2vJbmjQQ==", "optional": true, "requires": { "detect-libc": "^1.0.2", @@ -9324,7 +9354,8 @@ }, "nopt": { "version": "4.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "optional": true, "requires": { "abbrev": "1", @@ -9333,12 +9364,14 @@ }, "npm-bundled": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.3.tgz", + "integrity": "sha512-ByQ3oJ/5ETLyglU2+8dBObvhfWXX8dtPZDMePCahptliFX2iIuhyEszyFk401PZUNQH20vvdW5MLjJxkwU80Ow==", "optional": true }, "npm-packlist": { "version": "1.1.10", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.10.tgz", + "integrity": "sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA==", "optional": true, "requires": { "ignore-walk": "^3.0.1", @@ -9347,7 +9380,8 @@ }, "npmlog": { "version": "4.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "optional": true, "requires": { "are-we-there-yet": "~1.1.2", @@ -9358,33 +9392,39 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, "object-assign": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "optional": true }, "once": { "version": "1.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { "wrappy": "1" } }, "os-homedir": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "optional": true }, "os-tmpdir": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "optional": true }, "osenv": { "version": "0.1.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "optional": true, "requires": { "os-homedir": "^1.0.0", @@ -9393,17 +9433,20 @@ }, "path-is-absolute": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "optional": true }, "process-nextick-args": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", "optional": true }, "rc": { "version": "1.2.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.7.tgz", + "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", "optional": true, "requires": { "deep-extend": "^0.5.1", @@ -9414,14 +9457,16 @@ "dependencies": { "minimist": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "optional": true } } }, "readable-stream": { "version": "2.3.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "optional": true, "requires": { "core-util-is": "~1.0.0", @@ -9435,7 +9480,8 @@ }, "rimraf": { "version": "2.6.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "optional": true, "requires": { "glob": "^7.0.5" @@ -9443,36 +9489,43 @@ }, "safe-buffer": { "version": "5.1.1", - "bundled": true + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" }, "safer-buffer": { "version": "2.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "optional": true }, "sax": { "version": "1.2.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "optional": true }, "semver": { "version": "5.5.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", "optional": true }, "set-blocking": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "optional": true }, "signal-exit": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "optional": true }, "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -9481,7 +9534,8 @@ }, "string_decoder": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "optional": true, "requires": { "safe-buffer": "~5.1.0" @@ -9489,19 +9543,22 @@ }, "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { "ansi-regex": "^2.0.0" } }, "strip-json-comments": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "optional": true }, "tar": { "version": "4.4.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.1.tgz", + "integrity": "sha512-O+v1r9yN4tOsvl90p5HAP4AEqbYhx4036AGMm075fH9F8Qwi3oJ+v4u50FkT/KkvywNGtwkk0zRI+8eYm1X/xg==", "optional": true, "requires": { "chownr": "^1.0.1", @@ -9515,12 +9572,14 @@ }, "util-deprecate": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "optional": true }, "wide-align": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", + "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", "optional": true, "requires": { "string-width": "^1.0.2" @@ -9528,11 +9587,13 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "yallist": { "version": "3.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", + "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=" } } }, @@ -14304,12 +14365,6 @@ "readable-stream": "^2.0.1" } }, - "memory-pager": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.1.0.tgz", - "integrity": "sha512-Mf9OHV/Y7h6YWDxTzX/b4ZZ4oh9NSXblQL8dtPCOomOtZciEHxePR78+uHFLLlsk01A6jVHhHsQZZ/WcIPpnzg==", - "optional": true - }, "memorystream": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", @@ -14577,26 +14632,6 @@ "integrity": "sha1-uVdhLeJgFsmtnrYIfAVFc+USd3k=", "dev": true }, - "mongodb": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.1.6.tgz", - "integrity": "sha512-E5QJuXQoMlT7KyCYqNNMfAkhfQD79AT4F8Xd+6x37OX+8BL17GyXyWvfm6wuyx4wnzCCPoCSLeMeUN2S7dU9yw==", - "requires": { - "mongodb-core": "3.1.5", - "safe-buffer": "^5.1.2" - } - }, - "mongodb-core": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-3.1.5.tgz", - "integrity": "sha512-emT/tM4ZBinqd6RZok+EzDdtN4LjYJIckv71qQVOEFmvXgT5cperZegVmTgox/1cx4XQu6LJ5ZuIwipP/eKdQg==", - "requires": { - "bson": "^1.1.0", - "require_optional": "^1.0.1", - "safe-buffer": "^5.1.2", - "saslprep": "^1.0.0" - } - }, "morgan": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz", @@ -14971,19 +15006,12 @@ } }, "ngx-filepond": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ngx-filepond/-/ngx-filepond-3.0.0.tgz", - "integrity": "sha512-sTsbxKhZU//nEHH7XSGVOAzrNSa6HFPYrRGyAQ5aPUTjg5ux3KFFPpsdOKhpxY2+baH6AJ5nCQ7suAvaDshfCw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/ngx-filepond/-/ngx-filepond-4.0.0.tgz", + "integrity": "sha512-XtP1Z0m+TF9zO6AQylePJCNTk2ML1rZssTPiVmWXBMhsjkgiejXdBiCecgQTZ3GU65aju5lWmjV/0R8s2ZpLjQ==", "requires": { - "filepond": "^2.0.1", + "filepond": "^3.0.2", "tslib": "^1.9.0" - }, - "dependencies": { - "filepond": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/filepond/-/filepond-2.3.1.tgz", - "integrity": "sha512-FnLIWaoBNvpJ67oqlE8+Zwu1pyhdt2HO9XgO8IT13k6Lt7j7IX+F0ZV9BCoRmbV1T40pcKVrlCbo/noaHBbbkA==" - } } }, "ngx-moment": { @@ -15512,7 +15540,8 @@ "dependencies": { "JSONStream": { "version": "1.3.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.4.tgz", + "integrity": "sha512-Y7vfi3I5oMOYIr+WxV8NZxDSwcbNgzdKYsTNInmycOq9bUYwGg9ryu57Wg5NLmCjqdFPNUmpMBo3kSJN9tCbXg==", "dev": true, "requires": { "jsonparse": "^1.2.0", @@ -15521,12 +15550,14 @@ }, "abbrev": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "dev": true }, "agent-base": { "version": "4.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.0.tgz", + "integrity": "sha512-c+R/U5X+2zz2+UCrCFv6odQzJdoqI+YecuhnAJLa1zYaMc13zPfwMwZrr91Pd1DYNo/yPRbiM4WVf9whgwFsIg==", "dev": true, "requires": { "es6-promisify": "^5.0.0" @@ -15534,7 +15565,8 @@ }, "agentkeepalive": { "version": "3.4.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.4.1.tgz", + "integrity": "sha512-MPIwsZU9PP9kOrZpyu2042kYA8Fdt/AedQYkYXucHgF9QoD9dXVp0ypuGnHXSR0hTstBxdt85Xkh4JolYfK5wg==", "dev": true, "requires": { "humanize-ms": "^1.2.1" @@ -15542,7 +15574,8 @@ }, "ajv": { "version": "5.5.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "dev": true, "requires": { "co": "^4.6.0", @@ -15553,7 +15586,8 @@ }, "ansi-align": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", + "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", "dev": true, "requires": { "string-width": "^2.0.0" @@ -15561,12 +15595,14 @@ }, "ansi-regex": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, "ansi-styles": { "version": "3.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "^1.9.0" @@ -15574,27 +15610,32 @@ }, "ansicolors": { "version": "0.3.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", + "integrity": "sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk=", "dev": true }, "ansistyles": { "version": "0.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansistyles/-/ansistyles-0.1.3.tgz", + "integrity": "sha1-XeYEFb2gcbs3EnhUyGT0GyMlRTk=", "dev": true }, "aproba": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true }, "archy": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", "dev": true }, "are-we-there-yet": { "version": "1.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", + "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", "dev": true, "requires": { "delegates": "^1.0.0", @@ -15603,12 +15644,14 @@ }, "asap": { "version": "2.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", "dev": true }, "asn1": { "version": "0.2.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "dev": true, "requires": { "safer-buffer": "~2.1.0" @@ -15616,32 +15659,38 @@ }, "assert-plus": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true }, "asynckit": { "version": "0.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true }, "aws-sign2": { "version": "0.7.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", "dev": true }, "aws4": { "version": "1.8.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", "dev": true }, "balanced-match": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, "bcrypt-pbkdf": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, "optional": true, "requires": { @@ -15650,7 +15699,8 @@ }, "bin-links": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/bin-links/-/bin-links-1.1.2.tgz", + "integrity": "sha512-8eEHVgYP03nILphilltWjeIjMbKyJo3wvp9K816pHbhP301ismzw15mxAAEVQ/USUwcP++1uNrbERbp8lOA6Fg==", "dev": true, "requires": { "bluebird": "^3.5.0", @@ -15662,7 +15712,8 @@ }, "block-stream": { "version": "0.0.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", "dev": true, "requires": { "inherits": "~2.0.0" @@ -15670,12 +15721,14 @@ }, "bluebird": { "version": "3.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", + "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==", "dev": true }, "boxen": { "version": "1.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", + "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", "dev": true, "requires": { "ansi-align": "^2.0.0", @@ -15689,7 +15742,8 @@ }, "brace-expansion": { "version": "1.1.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -15698,32 +15752,38 @@ }, "buffer-from": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.0.0.tgz", + "integrity": "sha512-83apNb8KK0Se60UE1+4Ukbe3HbfELJ6UlI4ldtOGs7So4KD26orJM8hIY9lxdzP+UpItH1Yh/Y8GUvNFWFFRxA==", "dev": true }, "builtin-modules": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", "dev": true }, "builtins": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", + "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=", "dev": true }, "byline": { "version": "5.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", + "integrity": "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=", "dev": true }, "byte-size": { "version": "4.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/byte-size/-/byte-size-4.0.3.tgz", + "integrity": "sha512-JGC3EV2bCzJH/ENSh3afyJrH4vwxbHTuO5ljLoI5+2iJOcEpMgP8T782jH9b5qGxf2mSUIp1lfGnfKNrRHpvVg==", "dev": true }, "cacache": { "version": "11.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.2.0.tgz", + "integrity": "sha512-IFWl6lfK6wSeYCHUXh+N1lY72UDrpyrYQJNIVQf48paDuWbv5RbAtJYf/4gUQFObTCHZwdZ5sI8Iw7nqwP6nlQ==", "dev": true, "requires": { "bluebird": "^3.5.1", @@ -15744,27 +15804,32 @@ }, "call-limit": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/call-limit/-/call-limit-1.1.0.tgz", + "integrity": "sha1-b9YbA/PaQqLNDsK2DwK9DnGZH+o=", "dev": true }, "camelcase": { "version": "4.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true }, "capture-stack-trace": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz", + "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=", "dev": true }, "caseless": { "version": "0.12.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, "chalk": { "version": "2.4.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -15774,17 +15839,20 @@ }, "chownr": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", "dev": true }, "ci-info": { "version": "1.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.4.0.tgz", + "integrity": "sha512-Oqmw2pVfCl8sCL+1QgMywPfdxPJPkC51y4usw0iiE2S9qnEOAqXy8bwl1CpMpnoU39g4iKJTz6QZj+28FvOnjQ==", "dev": true }, "cidr-regex": { "version": "2.0.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/cidr-regex/-/cidr-regex-2.0.9.tgz", + "integrity": "sha512-F7/fBRUU45FnvSPjXdpIrc++WRSBdCiSTlyq4ZNhLKOlHFNWgtzZ0Fd+zrqI/J1j0wmlx/f5ZQDmD2GcbrNcmw==", "dev": true, "requires": { "ip-regex": "^2.1.0" @@ -15792,12 +15860,14 @@ }, "cli-boxes": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", + "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", "dev": true }, "cli-columns": { "version": "3.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/cli-columns/-/cli-columns-3.1.2.tgz", + "integrity": "sha1-ZzLZcpee/CrkRKHwjgj6E5yWoY4=", "dev": true, "requires": { "string-width": "^2.0.0", @@ -15806,7 +15876,8 @@ }, "cli-table3": { "version": "0.5.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.0.tgz", + "integrity": "sha512-c7YHpUyO1SaKaO7kYtxd5NZ8FjAmSK3LpKkuzdwn+2CwpFxBpdoQLm+OAnnCfoEl7onKhN9PKQi1lsHuAIUqGQ==", "dev": true, "requires": { "colors": "^1.1.2", @@ -15816,7 +15887,8 @@ }, "cliui": { "version": "4.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, "requires": { "string-width": "^2.1.1", @@ -15826,12 +15898,14 @@ "dependencies": { "ansi-regex": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, "strip-ansi": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { "ansi-regex": "^3.0.0" @@ -15841,12 +15915,14 @@ }, "clone": { "version": "1.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", "dev": true }, "cmd-shim": { "version": "2.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-2.0.2.tgz", + "integrity": "sha1-b8vamUg6j9FdfTChlspp1oii79s=", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -15855,17 +15931,20 @@ }, "co": { "version": "4.6.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", "dev": true }, "code-point-at": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, "color-convert": { "version": "1.9.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", + "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", "dev": true, "requires": { "color-name": "^1.1.1" @@ -15873,18 +15952,21 @@ }, "color-name": { "version": "1.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "colors": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", "dev": true, "optional": true }, "columnify": { "version": "1.5.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz", + "integrity": "sha1-Rzfd8ce2mop8NAVweC6UfuyOeLs=", "dev": true, "requires": { "strip-ansi": "^3.0.0", @@ -15893,7 +15975,8 @@ }, "combined-stream": { "version": "1.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", + "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "dev": true, "requires": { "delayed-stream": "~1.0.0" @@ -15901,12 +15984,14 @@ }, "concat-map": { "version": "0.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, "concat-stream": { "version": "1.6.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -15917,7 +16002,8 @@ }, "config-chain": { "version": "1.1.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.11.tgz", + "integrity": "sha1-q6CXR9++TD5w52am5BWG4YWfxvI=", "dev": true, "requires": { "ini": "^1.3.4", @@ -15926,7 +16012,8 @@ }, "configstore": { "version": "3.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", + "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", "dev": true, "requires": { "dot-prop": "^4.1.0", @@ -15939,12 +16026,14 @@ }, "console-control-strings": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", "dev": true }, "copy-concurrently": { "version": "1.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", "dev": true, "requires": { "aproba": "^1.1.1", @@ -15957,19 +16046,22 @@ "dependencies": { "iferr": { "version": "0.1.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", "dev": true } } }, "core-util-is": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, "create-error-class": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", + "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "dev": true, "requires": { "capture-stack-trace": "^1.0.0" @@ -15977,7 +16069,8 @@ }, "cross-spawn": { "version": "5.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { "lru-cache": "^4.0.1", @@ -15987,17 +16080,20 @@ }, "crypto-random-string": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", "dev": true }, "cyclist": { "version": "0.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", + "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", "dev": true }, "dashdash": { "version": "1.14.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "requires": { "assert-plus": "^1.0.0" @@ -16005,7 +16101,8 @@ }, "debug": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "requires": { "ms": "2.0.0" @@ -16013,34 +16110,40 @@ "dependencies": { "ms": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } }, "debuglog": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", + "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=", "dev": true }, "decamelize": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, "decode-uri-component": { "version": "0.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", "dev": true }, "deep-extend": { "version": "0.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz", + "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==", "dev": true }, "defaults": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", "dev": true, "requires": { "clone": "^1.0.2" @@ -16048,27 +16151,32 @@ }, "delayed-stream": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", "dev": true }, "delegates": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", "dev": true }, "detect-indent": { "version": "5.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", + "integrity": "sha1-OHHMCmoALow+Wzz38zYmRnXwa50=", "dev": true }, "detect-newline": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", + "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", "dev": true }, "dezalgo": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz", + "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=", "dev": true, "requires": { "asap": "^2.0.0", @@ -16077,7 +16185,8 @@ }, "dot-prop": { "version": "4.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", + "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", "dev": true, "requires": { "is-obj": "^1.0.0" @@ -16085,17 +16194,20 @@ }, "dotenv": { "version": "5.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-5.0.1.tgz", + "integrity": "sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow==", "dev": true }, "duplexer3": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", "dev": true }, "duplexify": { "version": "3.6.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", + "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", "dev": true, "requires": { "end-of-stream": "^1.0.0", @@ -16106,7 +16218,8 @@ }, "ecc-jsbn": { "version": "0.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, "optional": true, "requires": { @@ -16116,12 +16229,14 @@ }, "editor": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/editor/-/editor-1.0.0.tgz", + "integrity": "sha1-YMf4e9YrzGqJT6jM1q+3gjok90I=", "dev": true }, "encoding": { "version": "0.1.12", - "bundled": true, + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "dev": true, "requires": { "iconv-lite": "~0.4.13" @@ -16129,7 +16244,8 @@ }, "end-of-stream": { "version": "1.4.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", "dev": true, "requires": { "once": "^1.4.0" @@ -16137,12 +16253,14 @@ }, "err-code": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=", "dev": true }, "errno": { "version": "0.1.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", "dev": true, "requires": { "prr": "~1.0.1" @@ -16150,12 +16268,14 @@ }, "es6-promise": { "version": "4.2.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz", + "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==", "dev": true }, "es6-promisify": { "version": "5.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", "dev": true, "requires": { "es6-promise": "^4.0.3" @@ -16163,12 +16283,14 @@ }, "escape-string-regexp": { "version": "1.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, "execa": { "version": "0.7.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { "cross-spawn": "^5.0.1", @@ -16182,37 +16304,44 @@ }, "extend": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true }, "extsprintf": { "version": "1.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", "dev": true }, "fast-deep-equal": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", "dev": true }, "fast-json-stable-stringify": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", "dev": true }, "figgy-pudding": { "version": "3.4.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.4.1.tgz", + "integrity": "sha512-j1SAT641cerGuOvoSBoaE9LbSzh1N/E5ufk9oMpOKuyK8MyW3sGg4rh+4qhLmVTEAzipO5XTHYT4gjb6JYLE8g==", "dev": true }, "find-npm-prefix": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-npm-prefix/-/find-npm-prefix-1.0.2.tgz", + "integrity": "sha512-KEftzJ+H90x6pcKtdXZEPsQse8/y/UnvzRKrOSQFprnrGaFuJ62fVkP34Iu2IYuMvyauCyoLTNkJZgrrGA2wkA==", "dev": true }, "find-up": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { "locate-path": "^2.0.0" @@ -16220,7 +16349,8 @@ }, "flush-write-stream": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz", + "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==", "dev": true, "requires": { "inherits": "^2.0.1", @@ -16229,12 +16359,14 @@ }, "forever-agent": { "version": "0.6.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", "dev": true }, "form-data": { "version": "2.3.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", + "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "dev": true, "requires": { "asynckit": "^0.4.0", @@ -16244,7 +16376,8 @@ }, "from2": { "version": "2.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", "dev": true, "requires": { "inherits": "^2.0.1", @@ -16253,7 +16386,8 @@ }, "fs-minipass": { "version": "1.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", + "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", "dev": true, "requires": { "minipass": "^2.2.1" @@ -16261,7 +16395,8 @@ }, "fs-vacuum": { "version": "1.2.10", - "bundled": true, + "resolved": "https://registry.npmjs.org/fs-vacuum/-/fs-vacuum-1.2.10.tgz", + "integrity": "sha1-t2Kb7AekAxolSP35n17PHMizHjY=", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -16271,7 +16406,8 @@ }, "fs-write-stream-atomic": { "version": "1.0.10", - "bundled": true, + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -16282,19 +16418,22 @@ "dependencies": { "iferr": { "version": "0.1.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", "dev": true } } }, "fs.realpath": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, "fstream": { "version": "1.0.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", + "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -16305,7 +16444,8 @@ }, "gauge": { "version": "2.7.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "dev": true, "requires": { "aproba": "^1.0.3", @@ -16320,7 +16460,8 @@ "dependencies": { "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { "code-point-at": "^1.0.0", @@ -16332,12 +16473,14 @@ }, "genfun": { "version": "4.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/genfun/-/genfun-4.0.1.tgz", + "integrity": "sha1-7RAEHy5KfxsKOEZtF6XD4n3x38E=", "dev": true }, "gentle-fs": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/gentle-fs/-/gentle-fs-2.0.1.tgz", + "integrity": "sha512-cEng5+3fuARewXktTEGbwsktcldA+YsnUEaXZwcK/3pjSE1X9ObnTs+/8rYf8s+RnIcQm2D5x3rwpN7Zom8Bew==", "dev": true, "requires": { "aproba": "^1.1.2", @@ -16352,24 +16495,28 @@ "dependencies": { "iferr": { "version": "0.1.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", "dev": true } } }, "get-caller-file": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", "dev": true }, "get-stream": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", "dev": true }, "getpass": { "version": "0.1.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { "assert-plus": "^1.0.0" @@ -16377,7 +16524,8 @@ }, "glob": { "version": "7.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -16390,7 +16538,8 @@ }, "global-dirs": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", "dev": true, "requires": { "ini": "^1.3.4" @@ -16398,7 +16547,8 @@ }, "got": { "version": "6.7.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", + "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", "dev": true, "requires": { "create-error-class": "^3.0.0", @@ -16416,17 +16566,20 @@ }, "graceful-fs": { "version": "4.1.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", "dev": true }, "har-schema": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", "dev": true }, "har-validator": { "version": "5.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz", + "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==", "dev": true, "requires": { "ajv": "^5.3.0", @@ -16435,27 +16588,32 @@ }, "has-flag": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "has-unicode": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", "dev": true }, "hosted-git-info": { "version": "2.7.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", + "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", "dev": true }, "http-cache-semantics": { "version": "3.8.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", "dev": true }, "http-proxy-agent": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", + "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", "dev": true, "requires": { "agent-base": "4", @@ -16464,7 +16622,8 @@ }, "http-signature": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { "assert-plus": "^1.0.0", @@ -16474,7 +16633,8 @@ }, "https-proxy-agent": { "version": "2.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz", + "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==", "dev": true, "requires": { "agent-base": "^4.1.0", @@ -16483,7 +16643,8 @@ }, "humanize-ms": { "version": "1.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", "dev": true, "requires": { "ms": "^2.0.0" @@ -16491,7 +16652,8 @@ }, "iconv-lite": { "version": "0.4.23", - "bundled": true, + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "dev": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" @@ -16499,12 +16661,14 @@ }, "iferr": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/iferr/-/iferr-1.0.2.tgz", + "integrity": "sha512-9AfeLfji44r5TKInjhz3W9DyZI1zR1JAf2hVBMGhddAKPqBsupb89jGfbCTHIGZd6fGZl9WlHdn4AObygyMKwg==", "dev": true }, "ignore-walk": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", + "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", "dev": true, "requires": { "minimatch": "^3.0.4" @@ -16512,17 +16676,20 @@ }, "import-lazy": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", "dev": true }, "imurmurhash": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, "inflight": { "version": "1.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { "once": "^1.3.0", @@ -16531,17 +16698,20 @@ }, "inherits": { "version": "2.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, "ini": { "version": "1.3.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true }, "init-package-json": { "version": "1.10.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-1.10.3.tgz", + "integrity": "sha512-zKSiXKhQveNteyhcj1CoOP8tqp1QuxPIPBl8Bid99DGLFqA1p87M6lNgfjJHSBoWJJlidGOv5rWjyYKEB3g2Jw==", "dev": true, "requires": { "glob": "^7.1.1", @@ -16556,22 +16726,26 @@ }, "invert-kv": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", "dev": true }, "ip": { "version": "1.1.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", "dev": true }, "ip-regex": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", "dev": true }, "is-builtin-module": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { "builtin-modules": "^1.0.0" @@ -16579,7 +16753,8 @@ }, "is-ci": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.1.0.tgz", + "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", "dev": true, "requires": { "ci-info": "^1.0.0" @@ -16587,7 +16762,8 @@ }, "is-cidr": { "version": "2.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-cidr/-/is-cidr-2.0.6.tgz", + "integrity": "sha512-A578p1dV22TgPXn6NCaDAPj6vJvYsBgAzUrAd28a4oldeXJjWqEUuSZOLIW3im51mazOKsoyVp8NU/OItlWacw==", "dev": true, "requires": { "cidr-regex": "^2.0.8" @@ -16595,7 +16771,8 @@ }, "is-fullwidth-code-point": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { "number-is-nan": "^1.0.0" @@ -16603,7 +16780,8 @@ }, "is-installed-globally": { "version": "0.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", + "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", "dev": true, "requires": { "global-dirs": "^0.1.0", @@ -16612,17 +16790,20 @@ }, "is-npm": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", + "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", "dev": true }, "is-obj": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", "dev": true }, "is-path-inside": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { "path-is-inside": "^1.0.1" @@ -16630,73 +16811,87 @@ }, "is-redirect": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", "dev": true }, "is-retry-allowed": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", + "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", "dev": true }, "is-stream": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, "is-typedarray": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", "dev": true }, "isarray": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, "isexe": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, "isstream": { "version": "0.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, "jsbn": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", "dev": true, "optional": true }, "json-parse-better-errors": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "dev": true }, "json-schema": { "version": "0.2.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", "dev": true }, "json-schema-traverse": { "version": "0.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", "dev": true }, "json-stringify-safe": { "version": "5.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, "jsonparse": { "version": "1.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", "dev": true }, "jsprim": { "version": "1.4.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "dev": true, "requires": { "assert-plus": "1.0.0", @@ -16707,7 +16902,8 @@ }, "latest-version": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", + "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", "dev": true, "requires": { "package-json": "^4.0.0" @@ -16715,12 +16911,14 @@ }, "lazy-property": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/lazy-property/-/lazy-property-1.0.0.tgz", + "integrity": "sha1-hN3Es3Bnm6i9TNz6TAa0PVcREUc=", "dev": true }, "lcid": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "dev": true, "requires": { "invert-kv": "^1.0.0" @@ -16728,7 +16926,8 @@ }, "libcipm": { "version": "2.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/libcipm/-/libcipm-2.0.2.tgz", + "integrity": "sha512-9uZ6/LAflVEijksTRq/RX0e+pGA4mr8tND9Cmk2JMg7j2fFUBrs8PpFX2DOAJR/XoxPzz+5h8bkWmtIYLunKAg==", "dev": true, "requires": { "bin-links": "^1.1.2", @@ -16749,7 +16948,8 @@ }, "libnpmhook": { "version": "4.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/libnpmhook/-/libnpmhook-4.0.1.tgz", + "integrity": "sha512-3qqpfqvBD1712WA6iGe0stkG40WwAeoWcujA6BlC0Be1JArQbqwabnEnZ0CRcD05Tf1fPYJYdCbSfcfedEJCOg==", "dev": true, "requires": { "figgy-pudding": "^3.1.0", @@ -16758,7 +16958,8 @@ "dependencies": { "npm-registry-fetch": { "version": "3.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-3.1.1.tgz", + "integrity": "sha512-xBobENeenvjIG8PgQ1dy77AXTI25IbYhmA3DusMIfw/4EL5BaQ5e1V9trkPrqHvyjR3/T0cnH6o0Wt/IzcI5Ag==", "dev": true, "requires": { "bluebird": "^3.5.1", @@ -16772,7 +16973,8 @@ }, "libnpx": { "version": "10.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/libnpx/-/libnpx-10.2.0.tgz", + "integrity": "sha512-X28coei8/XRCt15cYStbLBph+KGhFra4VQhRBPuH/HHMkC5dxM8v24RVgUsvODKCrUZ0eTgiTqJp6zbl0sskQQ==", "dev": true, "requires": { "dotenv": "^5.0.1", @@ -16787,7 +16989,8 @@ }, "locate-path": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { "p-locate": "^2.0.0", @@ -16796,7 +16999,8 @@ }, "lock-verify": { "version": "2.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/lock-verify/-/lock-verify-2.0.2.tgz", + "integrity": "sha512-QNVwK0EGZBS4R3YQ7F1Ox8p41Po9VGl2QG/2GsuvTbkJZYSsPeWHKMbbH6iZMCHWSMww5nrJroZYnGzI4cePuw==", "dev": true, "requires": { "npm-package-arg": "^5.1.2 || 6", @@ -16805,7 +17009,8 @@ }, "lockfile": { "version": "1.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.4.tgz", + "integrity": "sha512-cvbTwETRfsFh4nHsL1eGWapU1XFi5Ot9E85sWAwia7Y7EgB7vfqcZhTKZ+l7hCGxSPoushMv5GKhT5PdLv03WA==", "dev": true, "requires": { "signal-exit": "^3.0.2" @@ -16813,12 +17018,14 @@ }, "lodash._baseindexof": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash._baseindexof/-/lodash._baseindexof-3.1.0.tgz", + "integrity": "sha1-/lK1OhxnYeQmGNZU5KJXie1hgiw=", "dev": true }, "lodash._baseuniq": { "version": "4.6.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz", + "integrity": "sha1-DrtE5FaBSveQXGIS+iybLVG4Qeg=", "dev": true, "requires": { "lodash._createset": "~4.0.0", @@ -16827,17 +17034,20 @@ }, "lodash._bindcallback": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz", + "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=", "dev": true }, "lodash._cacheindexof": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash._cacheindexof/-/lodash._cacheindexof-3.0.2.tgz", + "integrity": "sha1-PcaayCSY0u5ePOVgkbr9Ktx73pI=", "dev": true }, "lodash._createcache": { "version": "3.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash._createcache/-/lodash._createcache-3.1.2.tgz", + "integrity": "sha1-VtagZAF2JeeevKa4AY4XRAvc8JM=", "dev": true, "requires": { "lodash._getnative": "^3.0.0" @@ -16845,52 +17055,62 @@ }, "lodash._createset": { "version": "4.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash._createset/-/lodash._createset-4.0.3.tgz", + "integrity": "sha1-D0ZZ+7CddRlPqeK4imZE02PJ/iY=", "dev": true }, "lodash._getnative": { "version": "3.9.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", "dev": true }, "lodash._root": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", + "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=", "dev": true }, "lodash.clonedeep": { "version": "4.5.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", "dev": true }, "lodash.restparam": { "version": "3.6.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", + "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", "dev": true }, "lodash.union": { "version": "4.6.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", + "integrity": "sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=", "dev": true }, "lodash.uniq": { "version": "4.5.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", "dev": true }, "lodash.without": { "version": "4.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash.without/-/lodash.without-4.4.0.tgz", + "integrity": "sha1-PNRXSgC2e643OpS3SHcmQFB7eqw=", "dev": true }, "lowercase-keys": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", "dev": true }, "lru-cache": { "version": "4.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", + "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "dev": true, "requires": { "pseudomap": "^1.0.2", @@ -16899,7 +17119,8 @@ }, "make-dir": { "version": "1.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "requires": { "pify": "^3.0.0" @@ -16907,7 +17128,8 @@ }, "make-fetch-happen": { "version": "4.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-4.0.1.tgz", + "integrity": "sha512-7R5ivfy9ilRJ1EMKIOziwrns9fGeAD4bAha8EB7BIiBBLHm2KeTUGCrICFt2rbHfzheTLynv50GnNTK1zDTrcQ==", "dev": true, "requires": { "agentkeepalive": "^3.4.1", @@ -16925,12 +17147,14 @@ }, "meant": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/meant/-/meant-1.0.1.tgz", + "integrity": "sha512-UakVLFjKkbbUwNWJ2frVLnnAtbb7D7DsloxRd3s/gDpI8rdv8W5Hp3NaDb+POBI1fQdeussER6NB8vpcRURvlg==", "dev": true }, "mem": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { "mimic-fn": "^1.0.0" @@ -16938,12 +17162,14 @@ }, "mime-db": { "version": "1.35.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", + "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==", "dev": true }, "mime-types": { "version": "2.1.19", - "bundled": true, + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", + "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", "dev": true, "requires": { "mime-db": "~1.35.0" @@ -16951,12 +17177,14 @@ }, "mimic-fn": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true }, "minimatch": { "version": "3.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { "brace-expansion": "^1.1.7" @@ -16964,12 +17192,14 @@ }, "minimist": { "version": "0.0.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true }, "minipass": { "version": "2.3.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.3.tgz", + "integrity": "sha512-/jAn9/tEX4gnpyRATxgHEOV6xbcyxgT7iUnxo9Y3+OB0zX00TgKIv/2FZCf5brBbICcwbLqVv2ImjvWWrQMSYw==", "dev": true, "requires": { "safe-buffer": "^5.1.2", @@ -16978,14 +17208,16 @@ "dependencies": { "yallist": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", + "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=", "dev": true } } }, "minizlib": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz", + "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", "dev": true, "requires": { "minipass": "^2.2.1" @@ -16993,7 +17225,8 @@ }, "mississippi": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", "dev": true, "requires": { "concat-stream": "^1.5.0", @@ -17010,7 +17243,8 @@ }, "mkdirp": { "version": "0.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, "requires": { "minimist": "0.0.8" @@ -17018,7 +17252,8 @@ }, "move-concurrently": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", "dev": true, "requires": { "aproba": "^1.1.1", @@ -17031,17 +17266,20 @@ }, "ms": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", "dev": true }, "mute-stream": { "version": "0.0.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", "dev": true }, "node-fetch-npm": { "version": "2.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz", + "integrity": "sha512-nJIxm1QmAj4v3nfCvEeCrYSoVwXyxLnaPBK5W1W5DGEJwjlKuC2VEUycGw5oxk+4zZahRrB84PUJJgEmhFTDFw==", "dev": true, "requires": { "encoding": "^0.1.11", @@ -17051,7 +17289,8 @@ }, "node-gyp": { "version": "3.8.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", + "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", "dev": true, "requires": { "fstream": "^1.0.0", @@ -17070,7 +17309,8 @@ "dependencies": { "nopt": { "version": "3.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", "dev": true, "requires": { "abbrev": "1" @@ -17078,12 +17318,14 @@ }, "semver": { "version": "5.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", "dev": true }, "tar": { "version": "2.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", "dev": true, "requires": { "block-stream": "*", @@ -17095,7 +17337,8 @@ }, "nopt": { "version": "4.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "dev": true, "requires": { "abbrev": "1", @@ -17104,7 +17347,8 @@ }, "normalize-package-data": { "version": "2.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { "hosted-git-info": "^2.1.4", @@ -17115,7 +17359,8 @@ }, "npm-audit-report": { "version": "1.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-audit-report/-/npm-audit-report-1.3.1.tgz", + "integrity": "sha512-SjTF8ZP4rOu3JiFrTMi4M1CmVo2tni2sP4TzhyCMHwnMGf6XkdGLZKt9cdZ12esKf0mbQqFyU9LtY0SoeahL7g==", "dev": true, "requires": { "cli-table3": "^0.5.0", @@ -17124,17 +17369,20 @@ }, "npm-bundled": { "version": "1.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.5.tgz", + "integrity": "sha512-m/e6jgWu8/v5niCUKQi9qQl8QdeEduFA96xHDDzFGqly0OOjI7c+60KM/2sppfnUU9JJagf+zs+yGhqSOFj71g==", "dev": true }, "npm-cache-filename": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-cache-filename/-/npm-cache-filename-1.0.2.tgz", + "integrity": "sha1-3tMGxbC/yHCp6fr4I7xfKD4FrhE=", "dev": true }, "npm-install-checks": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-3.0.0.tgz", + "integrity": "sha1-1K7N/VGlPjcjt7L5Oy7ijjB7wNc=", "dev": true, "requires": { "semver": "^2.3.0 || 3.x || 4 || 5" @@ -17142,7 +17390,8 @@ }, "npm-lifecycle": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-2.1.0.tgz", + "integrity": "sha512-QbBfLlGBKsktwBZLj6AviHC6Q9Y3R/AY4a2PYSIRhSKSS0/CxRyD/PfxEX6tPeOCXQgMSNdwGeECacstgptc+g==", "dev": true, "requires": { "byline": "^5.0.0", @@ -17157,12 +17406,14 @@ }, "npm-logical-tree": { "version": "1.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-logical-tree/-/npm-logical-tree-1.2.1.tgz", + "integrity": "sha512-AJI/qxDB2PWI4LG1CYN579AY1vCiNyWfkiquCsJWqntRu/WwimVrC8yXeILBFHDwxfOejxewlmnvW9XXjMlYIg==", "dev": true }, "npm-package-arg": { "version": "6.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.0.tgz", + "integrity": "sha512-zYbhP2k9DbJhA0Z3HKUePUgdB1x7MfIfKssC+WLPFMKTBZKpZh5m13PgexJjCq6KW7j17r0jHWcCpxEqnnncSA==", "dev": true, "requires": { "hosted-git-info": "^2.6.0", @@ -17173,7 +17424,8 @@ }, "npm-packlist": { "version": "1.1.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.11.tgz", + "integrity": "sha512-CxKlZ24urLkJk+9kCm48RTQ7L4hsmgSVzEk0TLGPzzyuFxD7VNgy5Sl24tOLMzQv773a/NeJ1ce1DKeacqffEA==", "dev": true, "requires": { "ignore-walk": "^3.0.1", @@ -17182,7 +17434,8 @@ }, "npm-pick-manifest": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-2.1.0.tgz", + "integrity": "sha512-q9zLP8cTr8xKPmMZN3naxp1k/NxVFsjxN6uWuO1tiw9gxg7wZWQ/b5UTfzD0ANw2q1lQxdLKTeCCksq+bPSgbQ==", "dev": true, "requires": { "npm-package-arg": "^6.0.0", @@ -17191,7 +17444,8 @@ }, "npm-profile": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-profile/-/npm-profile-3.0.2.tgz", + "integrity": "sha512-rEJOFR6PbwOvvhGa2YTNOJQKNuc6RovJ6T50xPU7pS9h/zKPNCJ+VHZY2OFXyZvEi+UQYtHRTp8O/YM3tUD20A==", "dev": true, "requires": { "aproba": "^1.1.2 || 2", @@ -17200,7 +17454,8 @@ }, "npm-registry-client": { "version": "8.6.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-registry-client/-/npm-registry-client-8.6.0.tgz", + "integrity": "sha512-Qs6P6nnopig+Y8gbzpeN/dkt+n7IyVd8f45NTMotGk6Qo7GfBmzwYx6jRLoOOgKiMnaQfYxsuyQlD8Mc3guBhg==", "dev": true, "requires": { "concat-stream": "^1.5.2", @@ -17219,12 +17474,14 @@ "dependencies": { "retry": { "version": "0.10.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", + "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=", "dev": true }, "ssri": { "version": "5.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", + "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", "dev": true, "requires": { "safe-buffer": "^5.1.1" @@ -17234,7 +17491,8 @@ }, "npm-registry-fetch": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-1.1.0.tgz", + "integrity": "sha512-XJPIBfMtgaooRtZmuA42xCeLf3tkxdIX0xqRsGWwNrcVvJ9UYFccD7Ho7QWCzvkM3i/QrkUC37Hu0a+vDBmt5g==", "dev": true, "requires": { "bluebird": "^3.5.1", @@ -17247,7 +17505,8 @@ "dependencies": { "cacache": { "version": "10.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", + "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", "dev": true, "requires": { "bluebird": "^3.5.1", @@ -17267,7 +17526,8 @@ "dependencies": { "mississippi": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", + "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", "dev": true, "requires": { "concat-stream": "^1.5.0", @@ -17286,12 +17546,14 @@ }, "figgy-pudding": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-2.0.1.tgz", + "integrity": "sha512-yIJPhIBi/oFdU/P+GSXjmk/rmGjuZkm7A5LTXZxNrEprXJXRK012FiI1BR1Pga+0d/d6taWWD+B5d2ozqaxHig==", "dev": true }, "make-fetch-happen": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-3.0.0.tgz", + "integrity": "sha512-FmWY7gC0mL6Z4N86vE14+m719JKE4H0A+pyiOH18B025gF/C113pyfb4gHDDYP5cqnRMHOz06JGdmffC/SES+w==", "dev": true, "requires": { "agentkeepalive": "^3.4.1", @@ -17309,7 +17571,8 @@ }, "pump": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "requires": { "end-of-stream": "^1.1.0", @@ -17318,12 +17581,14 @@ }, "smart-buffer": { "version": "1.1.15", - "bundled": true, + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz", + "integrity": "sha1-fxFLW2X6s+KjWqd1uxLw0cZJvxY=", "dev": true }, "socks": { "version": "1.1.10", - "bundled": true, + "resolved": "https://registry.npmjs.org/socks/-/socks-1.1.10.tgz", + "integrity": "sha1-W4t/x8jzQcU+0FbpKbe/Tei6e1o=", "dev": true, "requires": { "ip": "^1.1.4", @@ -17332,7 +17597,8 @@ }, "socks-proxy-agent": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-3.0.1.tgz", + "integrity": "sha512-ZwEDymm204mTzvdqyUqOdovVr2YRd2NYskrYrF2LXyZ9qDiMAoFESGK8CRphiO7rtbo2Y757k2Nia3x2hGtalA==", "dev": true, "requires": { "agent-base": "^4.1.0", @@ -17341,7 +17607,8 @@ }, "ssri": { "version": "5.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", + "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", "dev": true, "requires": { "safe-buffer": "^5.1.1" @@ -17351,7 +17618,8 @@ }, "npm-run-path": { "version": "2.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { "path-key": "^2.0.0" @@ -17359,12 +17627,14 @@ }, "npm-user-validate": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-user-validate/-/npm-user-validate-1.0.0.tgz", + "integrity": "sha1-jOyg9c6gTU6TUZ73LQVXp1Ei6VE=", "dev": true }, "npmlog": { "version": "4.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "dev": true, "requires": { "are-we-there-yet": "~1.1.2", @@ -17375,22 +17645,26 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true }, "oauth-sign": { "version": "0.9.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", "dev": true }, "object-assign": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, "once": { "version": "1.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { "wrappy": "1" @@ -17398,17 +17672,20 @@ }, "opener": { "version": "1.5.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.0.tgz", + "integrity": "sha512-MD4s/o61y2slS27zm2s4229V2gAUHX0/e3/XOmY/jsXwhysjjCIHN8lx7gqZCrZk19ym+HjCUWHeMKD7YJtKCQ==", "dev": true }, "os-homedir": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true }, "os-locale": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { "execa": "^0.7.0", @@ -17418,12 +17695,14 @@ }, "os-tmpdir": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true }, "osenv": { "version": "0.1.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "dev": true, "requires": { "os-homedir": "^1.0.0", @@ -17432,12 +17711,14 @@ }, "p-finally": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", "dev": true }, "p-limit": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", + "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", "dev": true, "requires": { "p-try": "^1.0.0" @@ -17445,7 +17726,8 @@ }, "p-locate": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { "p-limit": "^1.1.0" @@ -17453,12 +17735,14 @@ }, "p-try": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true }, "package-json": { "version": "4.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", + "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", "dev": true, "requires": { "got": "^6.7.1", @@ -17469,7 +17753,8 @@ }, "pacote": { "version": "8.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/pacote/-/pacote-8.1.6.tgz", + "integrity": "sha512-wTOOfpaAQNEQNtPEx92x9Y9kRWVu45v583XT8x2oEV2xRB74+xdqMZIeGW4uFvAyZdmSBtye+wKdyyLaT8pcmw==", "dev": true, "requires": { "bluebird": "^3.5.1", @@ -17501,7 +17786,8 @@ }, "parallel-transform": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", + "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", "dev": true, "requires": { "cyclist": "~0.2.2", @@ -17511,52 +17797,62 @@ }, "path-exists": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true }, "path-is-absolute": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, "path-is-inside": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", "dev": true }, "path-key": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true }, "performance-now": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true }, "pify": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true }, "prepend-http": { "version": "1.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", "dev": true }, "process-nextick-args": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", "dev": true }, "promise-inflight": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", "dev": true }, "promise-retry": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz", + "integrity": "sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0=", "dev": true, "requires": { "err-code": "^1.0.0", @@ -17565,14 +17861,16 @@ "dependencies": { "retry": { "version": "0.10.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", + "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=", "dev": true } } }, "promzard": { "version": "0.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz", + "integrity": "sha1-JqXW7ox97kyxIggwWs+5O6OCqe4=", "dev": true, "requires": { "read": "1" @@ -17580,12 +17878,14 @@ }, "proto-list": { "version": "1.2.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", "dev": true }, "protoduck": { "version": "5.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/protoduck/-/protoduck-5.0.0.tgz", + "integrity": "sha512-agsGWD8/RZrS4ga6v82Fxb0RHIS2RZnbsSue6A9/MBRhB/jcqOANAMNrqM9900b8duj+Gx+T/JMy5IowDoO/hQ==", "dev": true, "requires": { "genfun": "^4.0.1" @@ -17593,22 +17893,26 @@ }, "prr": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", "dev": true }, "pseudomap": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, "psl": { "version": "1.1.29", - "bundled": true, + "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", + "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==", "dev": true }, "pump": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, "requires": { "end-of-stream": "^1.1.0", @@ -17617,7 +17921,8 @@ }, "pumpify": { "version": "1.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, "requires": { "duplexify": "^3.6.0", @@ -17627,7 +17932,8 @@ "dependencies": { "pump": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "requires": { "end-of-stream": "^1.1.0", @@ -17638,22 +17944,26 @@ }, "punycode": { "version": "1.4.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", "dev": true }, "qrcode-terminal": { "version": "0.12.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz", + "integrity": "sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ==", "dev": true }, "qs": { "version": "6.5.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", "dev": true }, "query-string": { "version": "6.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.1.0.tgz", + "integrity": "sha512-pNB/Gr8SA8ff8KpUFM36o/WFAlthgaThka5bV19AD9PNTH20Pwq5Zxodif2YyHwrctp6SkL4GqlOot0qR/wGaw==", "dev": true, "requires": { "decode-uri-component": "^0.2.0", @@ -17662,12 +17972,14 @@ }, "qw": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/qw/-/qw-1.0.1.tgz", + "integrity": "sha1-77/cdA+a0FQwRCassYNBLMi5ltQ=", "dev": true }, "rc": { "version": "1.2.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.7.tgz", + "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", "dev": true, "requires": { "deep-extend": "^0.5.1", @@ -17678,14 +17990,16 @@ "dependencies": { "minimist": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true } } }, "read": { "version": "1.0.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", + "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", "dev": true, "requires": { "mute-stream": "~0.0.4" @@ -17693,7 +18007,8 @@ }, "read-cmd-shim": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-1.0.1.tgz", + "integrity": "sha1-LV0Vd4ajfAVdIgd8MsU/gynpHHs=", "dev": true, "requires": { "graceful-fs": "^4.1.2" @@ -17701,7 +18016,8 @@ }, "read-installed": { "version": "4.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/read-installed/-/read-installed-4.0.3.tgz", + "integrity": "sha1-/5uLZ/GH0eTCm5/rMfayI6zRkGc=", "dev": true, "requires": { "debuglog": "^1.0.1", @@ -17715,7 +18031,8 @@ }, "read-package-json": { "version": "2.0.13", - "bundled": true, + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.0.13.tgz", + "integrity": "sha512-/1dZ7TRZvGrYqE0UAfN6qQb5GYBsNcqS1C0tNK601CFOJmtHI7NIGXwetEPU/OtoFHZL3hDxm4rolFFVE9Bnmg==", "dev": true, "requires": { "glob": "^7.1.1", @@ -17727,7 +18044,8 @@ }, "read-package-tree": { "version": "5.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.2.1.tgz", + "integrity": "sha512-2CNoRoh95LxY47LvqrehIAfUVda2JbuFE/HaGYs42bNrGG+ojbw1h3zOcPcQ+1GQ3+rkzNndZn85u1XyZ3UsIA==", "dev": true, "requires": { "debuglog": "^1.0.1", @@ -17739,7 +18057,8 @@ }, "readable-stream": { "version": "2.3.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -17753,7 +18072,8 @@ }, "readdir-scoped-modules": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz", + "integrity": "sha1-n6+jfShr5dksuuve4DDcm19AZ0c=", "dev": true, "requires": { "debuglog": "^1.0.1", @@ -17764,7 +18084,8 @@ }, "registry-auth-token": { "version": "3.3.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", + "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", "dev": true, "requires": { "rc": "^1.1.6", @@ -17773,7 +18094,8 @@ }, "registry-url": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "dev": true, "requires": { "rc": "^1.0.1" @@ -17781,7 +18103,8 @@ }, "request": { "version": "2.88.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", "dev": true, "requires": { "aws-sign2": "~0.7.0", @@ -17808,27 +18131,32 @@ }, "require-directory": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, "require-main-filename": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", "dev": true }, "resolve-from": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, "retry": { "version": "0.12.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", "dev": true }, "rimraf": { "version": "2.6.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { "glob": "^7.0.5" @@ -17836,7 +18164,8 @@ }, "run-queue": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", "dev": true, "requires": { "aproba": "^1.1.1" @@ -17844,22 +18173,26 @@ }, "safe-buffer": { "version": "5.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, "safer-buffer": { "version": "2.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, "semver": { "version": "5.5.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", "dev": true }, "semver-diff": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", + "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "dev": true, "requires": { "semver": "^5.0.3" @@ -17867,12 +18200,14 @@ }, "set-blocking": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, "sha": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/sha/-/sha-2.0.1.tgz", + "integrity": "sha1-YDCCL70smCOUn49y7WQR7lzyWq4=", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -17881,7 +18216,8 @@ }, "shebang-command": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { "shebang-regex": "^1.0.0" @@ -17889,32 +18225,38 @@ }, "shebang-regex": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, "signal-exit": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, "slash": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", "dev": true }, "slide": { "version": "1.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", + "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", "dev": true }, "smart-buffer": { "version": "4.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.0.1.tgz", + "integrity": "sha512-RFqinRVJVcCAL9Uh1oVqE6FZkqsyLiVOYEZ20TqIOjuX7iFVJ+zsbs4RIghnw/pTs7mZvt8ZHhvm1ZUrR4fykg==", "dev": true }, "socks": { "version": "2.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/socks/-/socks-2.2.0.tgz", + "integrity": "sha512-uRKV9uXQ9ytMbGm2+DilS1jB7N3AC0mmusmW5TVWjNuBZjxS8+lX38fasKVY9I4opv/bY/iqTbcpFFaTwpfwRg==", "dev": true, "requires": { "ip": "^1.1.5", @@ -17923,7 +18265,8 @@ }, "socks-proxy-agent": { "version": "4.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.1.tgz", + "integrity": "sha512-Kezx6/VBguXOsEe5oU3lXYyKMi4+gva72TwJ7pQY5JfqUx2nMk7NXA6z/mpNqIlfQjWYVfeuNvQjexiTaTn6Nw==", "dev": true, "requires": { "agent-base": "~4.2.0", @@ -17932,12 +18275,14 @@ }, "sorted-object": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/sorted-object/-/sorted-object-2.0.1.tgz", + "integrity": "sha1-fWMfS9OnmKJK8d/8+/6DM3pd9fw=", "dev": true }, "sorted-union-stream": { "version": "2.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/sorted-union-stream/-/sorted-union-stream-2.1.3.tgz", + "integrity": "sha1-x3lMfgd4gAUv9xqNSi27Sppjisc=", "dev": true, "requires": { "from2": "^1.3.0", @@ -17946,7 +18291,8 @@ "dependencies": { "from2": { "version": "1.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/from2/-/from2-1.3.0.tgz", + "integrity": "sha1-iEE7qqX5pZfP3pIh2GmGzTwGHf0=", "dev": true, "requires": { "inherits": "~2.0.1", @@ -17955,12 +18301,14 @@ }, "isarray": { "version": "0.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", "dev": true }, "readable-stream": { "version": "1.1.14", - "bundled": true, + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -17971,14 +18319,16 @@ }, "string_decoder": { "version": "0.10.31", - "bundled": true, + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", "dev": true } } }, "spdx-correct": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", + "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", @@ -17987,12 +18337,14 @@ }, "spdx-exceptions": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", + "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", "dev": true }, "spdx-expression-parse": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "dev": true, "requires": { "spdx-exceptions": "^2.1.0", @@ -18001,12 +18353,14 @@ }, "spdx-license-ids": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", + "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", "dev": true }, "sshpk": { "version": "1.14.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", + "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", "dev": true, "requires": { "asn1": "~0.2.3", @@ -18022,12 +18376,14 @@ }, "ssri": { "version": "6.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.0.tgz", + "integrity": "sha512-zYOGfVHPhxyzwi8MdtdNyxv3IynWCIM4jYReR48lqu0VngxgH1c+C6CmipRdJ55eVByTJV/gboFEEI7TEQI8DA==", "dev": true }, "stream-each": { "version": "1.2.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.2.tgz", + "integrity": "sha512-mc1dbFhGBxvTM3bIWmAAINbqiuAk9TATcfIQC8P+/+HJefgaiTlMn2dHvkX8qlI12KeYKSQ1Ua9RrIqrn1VPoA==", "dev": true, "requires": { "end-of-stream": "^1.1.0", @@ -18036,7 +18392,8 @@ }, "stream-iterate": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/stream-iterate/-/stream-iterate-1.2.0.tgz", + "integrity": "sha1-K9fHcpbBcCpGSIuK1B95hl7s1OE=", "dev": true, "requires": { "readable-stream": "^2.1.5", @@ -18045,17 +18402,20 @@ }, "stream-shift": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", "dev": true }, "strict-uri-encode": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=", "dev": true }, "string-width": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { "is-fullwidth-code-point": "^2.0.0", @@ -18064,17 +18424,20 @@ "dependencies": { "ansi-regex": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, "strip-ansi": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { "ansi-regex": "^3.0.0" @@ -18084,7 +18447,8 @@ }, "string_decoder": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { "safe-buffer": "~5.1.0" @@ -18092,12 +18456,14 @@ }, "stringify-package": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/stringify-package/-/stringify-package-1.0.0.tgz", + "integrity": "sha512-JIQqiWmLiEozOC0b0BtxZ/AOUtdUZHCBPgqIZ2kSJJqGwgb9neo44XdTHUC4HZSGqi03hOeB7W/E8rAlKnGe9g==", "dev": true }, "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { "ansi-regex": "^2.0.0" @@ -18105,17 +18471,20 @@ }, "strip-eof": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, "strip-json-comments": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true }, "supports-color": { "version": "5.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -18123,7 +18492,8 @@ }, "tar": { "version": "4.4.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.6.tgz", + "integrity": "sha512-tMkTnh9EdzxyfW+6GK6fCahagXsnYk6kE6S9Gr9pjVdys769+laCTbodXDhPAjzVtEBazRgP0gYqOjnk9dQzLg==", "dev": true, "requires": { "chownr": "^1.0.1", @@ -18137,14 +18507,16 @@ "dependencies": { "yallist": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", + "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=", "dev": true } } }, "term-size": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", "dev": true, "requires": { "execa": "^0.7.0" @@ -18152,17 +18524,20 @@ }, "text-table": { "version": "0.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, "through": { "version": "2.3.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, "through2": { "version": "2.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "dev": true, "requires": { "readable-stream": "^2.1.5", @@ -18171,17 +18546,20 @@ }, "timed-out": { "version": "4.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", "dev": true }, "tiny-relative-date": { "version": "1.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/tiny-relative-date/-/tiny-relative-date-1.3.0.tgz", + "integrity": "sha512-MOQHpzllWxDCHHaDno30hhLfbouoYlOI8YlMNtvKe1zXbjEVhbcEovQxvZrPvtiYW630GQDoMMarCnjfyfHA+A==", "dev": true }, "tough-cookie": { "version": "2.4.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", "dev": true, "requires": { "psl": "^1.1.24", @@ -18190,7 +18568,8 @@ }, "tunnel-agent": { "version": "0.6.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "requires": { "safe-buffer": "^5.0.1" @@ -18198,28 +18577,33 @@ }, "tweetnacl": { "version": "0.14.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true, "optional": true }, "typedarray": { "version": "0.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, "uid-number": { "version": "0.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", + "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=", "dev": true }, "umask": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/umask/-/umask-1.1.0.tgz", + "integrity": "sha1-8pzr8B31F5ErtY/5xOUP3o4zMg0=", "dev": true }, "unique-filename": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz", + "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", "dev": true, "requires": { "unique-slug": "^2.0.0" @@ -18227,7 +18611,8 @@ }, "unique-slug": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz", + "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", "dev": true, "requires": { "imurmurhash": "^0.1.4" @@ -18235,7 +18620,8 @@ }, "unique-string": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", "dev": true, "requires": { "crypto-random-string": "^1.0.0" @@ -18243,17 +18629,20 @@ }, "unpipe": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", "dev": true }, "unzip-response": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", + "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", "dev": true }, "update-notifier": { "version": "2.5.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", + "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", "dev": true, "requires": { "boxen": "^1.2.1", @@ -18270,7 +18659,8 @@ }, "url-parse-lax": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "dev": true, "requires": { "prepend-http": "^1.0.1" @@ -18278,22 +18668,26 @@ }, "util-deprecate": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, "util-extend": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/util-extend/-/util-extend-1.0.3.tgz", + "integrity": "sha1-p8IW0mdUUWljeztu3GypEZ4v+T8=", "dev": true }, "uuid": { "version": "3.3.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", "dev": true }, "validate-npm-package-license": { "version": "3.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, "requires": { "spdx-correct": "^3.0.0", @@ -18302,7 +18696,8 @@ }, "validate-npm-package-name": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", + "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", "dev": true, "requires": { "builtins": "^1.0.3" @@ -18310,7 +18705,8 @@ }, "verror": { "version": "1.10.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "requires": { "assert-plus": "^1.0.0", @@ -18320,7 +18716,8 @@ }, "wcwidth": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", "dev": true, "requires": { "defaults": "^1.0.3" @@ -18328,7 +18725,8 @@ }, "which": { "version": "1.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { "isexe": "^2.0.0" @@ -18336,12 +18734,14 @@ }, "which-module": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, "wide-align": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", + "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", "dev": true, "requires": { "string-width": "^1.0.2" @@ -18349,7 +18749,8 @@ "dependencies": { "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { "code-point-at": "^1.0.0", @@ -18361,7 +18762,8 @@ }, "widest-line": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.0.tgz", + "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", "dev": true, "requires": { "string-width": "^2.1.1" @@ -18369,7 +18771,8 @@ }, "worker-farm": { "version": "1.6.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", + "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", "dev": true, "requires": { "errno": "~0.1.7" @@ -18377,7 +18780,8 @@ }, "wrap-ansi": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { "string-width": "^1.0.1", @@ -18386,7 +18790,8 @@ "dependencies": { "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { "code-point-at": "^1.0.0", @@ -18398,12 +18803,14 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "write-file-atomic": { "version": "2.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", + "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "dev": true, "requires": { "graceful-fs": "^4.1.11", @@ -18413,27 +18820,32 @@ }, "xdg-basedir": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", "dev": true }, "xtend": { "version": "4.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", "dev": true }, "y18n": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", "dev": true }, "yallist": { "version": "2.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true }, "yargs": { "version": "11.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz", + "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", "dev": true, "requires": { "cliui": "^4.0.0", @@ -18452,14 +18864,16 @@ "dependencies": { "y18n": { "version": "3.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", "dev": true } } }, "yargs-parser": { "version": "9.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { "camelcase": "^4.1.0" @@ -20388,15 +20802,6 @@ } } }, - "require_optional": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require_optional/-/require_optional-1.0.1.tgz", - "integrity": "sha512-qhM/y57enGWHAe3v/NcwML6a3/vfESLe/sGM2dII+gEO0BpKRUkWZow/tyloNqJyN6kXSl3RyyM8Ll5D/sJP8g==", - "requires": { - "resolve-from": "^2.0.0", - "semver": "^5.1.0" - } - }, "requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", @@ -20443,11 +20848,6 @@ "global-modules": "^0.2.3" } }, - "resolve-from": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", - "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=" - }, "resolve-global": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-0.1.0.tgz", @@ -20797,15 +21197,6 @@ "truncate-utf8-bytes": "^1.0.0" } }, - "saslprep": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.2.tgz", - "integrity": "sha512-4cDsYuAjXssUSjxHKRe4DTZC0agDwsCqcMqtJAQPzC74nJ7LfAJflAtC1Zed5hMzEQKj82d3tuzqdGNRsLJ4Gw==", - "optional": true, - "requires": { - "sparse-bitfield": "^3.0.3" - } - }, "sass-graph": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", @@ -21897,15 +22288,6 @@ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" }, - "sparse-bitfield": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", - "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=", - "optional": true, - "requires": { - "memory-pager": "^1.0.2" - } - }, "spawn-args": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/spawn-args/-/spawn-args-0.2.0.tgz", diff --git a/package.json b/package.json index 4560abbd3..1a86bf7e2 100644 --- a/package.json +++ b/package.json @@ -145,7 +145,7 @@ "@ngxs/store": "^3.2.0", "@nrwl/nx": "^6.4.0", "@trademe/ng-defer-load": "^2.0.0", - "@xmlking/jwks-rsa": "^1.4.2", + "@xmlking/jwks-rsa": "^1.4.3", "@xmlking/ngx-knob": "0.0.6", "angular-in-memory-web-api": "^0.6.1", "angular-oauth2-oidc": "^4.0.3", @@ -158,7 +158,6 @@ "d3": "^4.13.0", "d3-selection-multi": "^1.0.1", "dotenv": "^6.0.0", - "filepond": "^3.0.2", "filepond-plugin-file-encode": "^2.0.0", "filepond-plugin-file-validate-size": "^1.0.4", "filepond-plugin-file-validate-type": "^1.1.0", @@ -167,7 +166,7 @@ "hammerjs": "^2.0.8", "helmet": "^3.13.0", "nest-router": "^1.0.7", - "ngx-filepond": "^3.0.0", + "ngx-filepond": "^4.0.0", "ngx-moment": "^3.1.0", "ngx-page-scroll": "^5.0.0", "ngx-perfect-scrollbar": "^6.3.1", diff --git a/production.env b/production.env index c516a37eb..8455a1219 100644 --- a/production.env +++ b/production.env @@ -22,7 +22,6 @@ TYPEORM_ENTITIES=./dist/**/**.entity.js #OIDC_CLIENT=cockpit OIDC_ISSUER_URL=https://myroute-is360.a3c1.starter-us-west-1.openshiftapps.com/auth/realms/is360 OIDC_CLIENT=is360ui -OIDC_PUBLIC_KEY="-----BEGIN RSA PUBLIC KEY-----\nMIIBCgKCAQEA1v/fhCLmITXvaav6g39iT+Wu6KJdRa4dR7Z9PCmK6aq5rDnDLQFr\niMqdHpyD8S/yTSxc8/G8rpk1j6X7IxTAj/dO+vdpINNI9jyhmi/OkT08Bkz0Zw01\npoe+oe1M0RmlczL2ew8XAhHgds78rNaIkSkcQG70F3708qqBNKthQE58eYqvNFVF\nLfg6pk5rTV8cR5NyP+dngaKQJcwJkqKnETVdbHxlTujDg7WtPUv3S+qq+Ctqv4vA\nWqsdy6s2hNFqomiXwVRUEH+AfZMlguQ6IEKoKBvc+BXD7C4L+v1HeONfeQ5khuD7\nrQMpFkMTmCCjNabe/inKELoQi0KI0J2hVQIDAQAB\n-----END RSA PUBLIC KEY-----\n" # Email Config EMAIL_HOST=mail.google.com diff --git a/stories/howto.md b/stories/howto.md index e5a6db5ea..ec036329b 100644 --- a/stories/howto.md +++ b/stories/howto.md @@ -110,3 +110,8 @@ npm run format:check --base=master --head=HEAD npx nx format:check --base=master --head=HEAD ``` +How to enable debug for node? +```bash +NODE_DEBUG=request npm run api:start:dev +``` + diff --git a/stories/keycloak.md b/stories/keycloak.md index 38c741d4d..d6c44162c 100644 --- a/stories/keycloak.md +++ b/stories/keycloak.md @@ -3,11 +3,11 @@ KeyCloak Pre-configured KeyCloak OpenID Connect server for testing. -* **Realm**: kubernetes -* **Client ID**: kube-tenant +* **Realm**: ngx +* **Client ID**: cockpit * **Accounts**: * *ROLE_ADMIN* - 1. kubeadmin : kubeadmin + 1. ngxadmin : ngxadmin * *ROLE_USER* 1. sumo: demo 2. sumo1: demo @@ -21,8 +21,8 @@ Pre-configured KeyCloak OpenID Connect server for testing. ```json auth: { - clientId: 'kube-tenant', - issuer: 'http://localhost:9080/auth/realms/kubernetes' + clientId: 'cockpit', + issuer: 'http://localhost:9080/auth/realms/ngx' } ``` @@ -44,30 +44,38 @@ docker-compose exec keycloak sh ### Use -http://localhost:9080/ +http://localhost:m080/ > admin: admin +### Setup + +> Do import config. (first time only...) +1. login to keycloak admin console +2. create new realm `ngx` +3. import pre-set [config](../.deploy/keycloak/realm-manual-import.json) + + ### Test ```bash # Environment variable. change as per your server setup -OIDC_BASE_URL=http://localhost:9080/auth/realms/kubernetes -CLIENT_ID=kube-tenant +OIDC_ISSUER_URL=http://localhost:8080/auth/realms/ngx +OIDC_CLIENT=cockpit USERNAME=sumo PASSWORD=demo # get URLs -curl $OIDC_BASE_URL/.well-known/openid-configuration | jq . +curl $OIDC_ISSUER_URL/.well-known/openid-configuration | jq . #get certs -curl $OIDC_BASE_URL/protocol/openid-connect/certs | jq . +curl $OIDC_ISSUER_URL/protocol/openid-connect/certs | jq . # Get tokens -response=$(curl -X POST $OIDC_BASE_URL/protocol/openid-connect/token \ +response=$(curl -X POST $OIDC_ISSUER_URL/protocol/openid-connect/token \ -H "Content-Type: application/x-www-form-urlencoded" \ -d username=$USERNAME \ -d password=$PASSWORD \ - -d client_id=$CLIENT_ID \ + -d client_id=$OIDC_CLIENT \ -d 'grant_type=password' \ -d 'scope=openid') @@ -81,14 +89,14 @@ echo $id_token echo $refresh_token # Get User Profile -curl -X POST $OIDC_BASE_URL/protocol/openid-connect/userinfo \ +curl -X POST $OIDC_ISSUER_URL/protocol/openid-connect/userinfo \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "access_token=$access_token" | jq . # Logout -curl -X POST $OIDC_BASE_URL/protocol/openid-connect/logout \ +curl -X POST $OIDC_ISSUER_URL/protocol/openid-connect/logout \ -H "Content-Type: application/x-www-form-urlencoded" \ - -d client_id=$CLIENT_ID \ + -d client_id=$OIDC_CLIENT \ -d "refresh_token=$refresh_token" | jq . ``` diff --git a/test.env b/test.env index 80cd4abb5..65886f0fe 100644 --- a/test.env +++ b/test.env @@ -26,7 +26,8 @@ TYPEORM_ENTITIES=./**/**.entity{.ts,.js} #OIDC_CLIENT=cockpit OIDC_ISSUER_URL=https://myroute-is360.a3c1.starter-us-west-1.openshiftapps.com/auth/realms/is360 OIDC_CLIENT=is360ui -OIDC_PUBLIC_KEY="-----BEGIN RSA PUBLIC KEY-----\nMIIBCgKCAQEA1v/fhCLmITXvaav6g39iT+Wu6KJdRa4dR7Z9PCmK6aq5rDnDLQFr\niMqdHpyD8S/yTSxc8/G8rpk1j6X7IxTAj/dO+vdpINNI9jyhmi/OkT08Bkz0Zw01\npoe+oe1M0RmlczL2ew8XAhHgds78rNaIkSkcQG70F3708qqBNKthQE58eYqvNFVF\nLfg6pk5rTV8cR5NyP+dngaKQJcwJkqKnETVdbHxlTujDg7WtPUv3S+qq+Ctqv4vA\nWqsdy6s2hNFqomiXwVRUEH+AfZMlguQ6IEKoKBvc+BXD7C4L+v1HeONfeQ5khuD7\nrQMpFkMTmCCjNabe/inKELoQi0KI0J2hVQIDAQAB\n-----END RSA PUBLIC KEY-----\n" +#OIDC_ISSUER_URL=http://localhost:8080/auth/realms/ngx +#OIDC_CLIENT=cockpit # Email Config EMAIL_HOST=mail.google.com diff --git a/tsconfig.json b/tsconfig.json index 0285d7cc0..b6d36a6f6 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -24,6 +24,9 @@ "@env/*": [ "apps/webapp/src/environments/*" ], + "@api-env/*": [ + "apps/api/src/environments/*" + ], "@ngx-starter-kit/core": [ "libs/core/src/index.ts" ], From c93cbebad9fe8891e998c61bf29f78e7955743b4 Mon Sep 17 00:00:00 2001 From: xmlking Date: Tue, 9 Oct 2018 16:24:03 -0700 Subject: [PATCH 04/22] docs(project): updated compodoc docs for project --- docs/changelog.html | 13 + docs/classes/AuditBase.html | 25 +- docs/classes/Base.html | 18 +- docs/classes/CrudController.html | 2 +- docs/classes/CrudService.html | 35 +- docs/classes/Image.html | 18 +- docs/classes/Notification.html | 10 +- docs/classes/Profile.html | 31 +- docs/classes/User.html | 54 +- docs/components/AboutComponent.html | 2 +- docs/components/AccountDetailComponent.html | 2 +- docs/components/AccountEditComponent.html | 6 +- .../components/AccountsGridListComponent.html | 2 +- docs/components/AccountsTableComponent.html | 2 +- .../AdvancedPieChartWidgetComponent.html | 2 +- docs/components/AnimationsComponent.html | 2 +- docs/components/AppComponent.html | 2 +- docs/components/AppConfirmComponent.html | 2 +- .../AudienceOverviewWidgetComponent.html | 2 +- docs/components/BarChartWidgetComponent.html | 2 +- docs/components/BlogComponent.html | 2 +- docs/components/BreadcrumbsComponent.html | 2 +- docs/components/Card.html | 2 +- docs/components/CardContent.html | 2 +- docs/components/CardHeader.html | 2 +- docs/components/ChartWidget.html | 2 +- docs/components/ChartWidgetContent.html | 2 +- docs/components/ChartWidgetHeader.html | 2 +- docs/components/ChatBoxComponent.html | 2 +- docs/components/ChatCardComponent.html | 2 +- docs/components/ClapButtonComponent.html | 2 +- docs/components/ClapComponent.html | 2 +- docs/components/ContextMenuComponent-1.html | 2 +- docs/components/ContextMenuComponent.html | 2 +- docs/components/CounterBubbleComponent.html | 2 +- docs/components/DashboardLayoutComponent.html | 2 +- .../components/DonutChartWidgetComponent.html | 2 +- docs/components/FabComponent.html | 2 +- docs/components/FeaturesComponent.html | 2 +- docs/components/FileUploadComponent.html | 2 +- docs/components/FooterComponent.html | 2 +- .../components/FullscreenToggleComponent.html | 2 +- docs/components/HeaderComponent.html | 2 +- docs/components/HomeLayoutComponent.html | 2 +- docs/components/ImageCompComponent.html | 344 +++ docs/components/ImageComparisonComponent.html | 623 ++++ docs/components/JsonDiffComponent.html | 2 +- docs/components/JsonDiffTreeComponent.html | 2 +- docs/components/KnobDemoComponent.html | 2 +- docs/components/LandingComponent.html | 2 +- docs/components/LedComponent.html | 2 +- docs/components/LedDemoComponent.html | 2 +- docs/components/LineChartWidgetComponent.html | 2 +- docs/components/ListComponent.html | 2 +- docs/components/LoadingOverlayComponent.html | 2 +- docs/components/LoginComponent.html | 14 +- docs/components/MarketWidgetComponent.html | 2 +- docs/components/MenuItemComponent.html | 2 +- docs/components/NotFoundComponent.html | 2 +- docs/components/NotificationsComponent.html | 2 +- docs/components/OverviewComponent.html | 2 +- docs/components/QuickInfoWidgetComponent.html | 2 +- docs/components/QuickpanelComponent.html | 2 +- .../components/QuickpanelToggleComponent.html | 2 +- docs/components/RainbowComponent.html | 2 +- .../RealtimeUsersWidgetComponent.html | 2 +- .../RecentSalesWidgetComponent.html | 2 +- .../RecentSalesWidgetTableComponent.html | 2 +- docs/components/ResizableComponent.html | 2 +- .../SalesSummaryWidgetComponent.html | 2 +- docs/components/ScrollToTopComponent.html | 2 +- docs/components/ScrollbarComponent.html | 2 +- docs/components/SearchBarComponent.html | 2 +- docs/components/SearchComponent.html | 2 +- docs/components/SidenavComponent.html | 2 +- docs/components/SidenavItemComponent.html | 2 +- docs/components/SidenavToggleComponent.html | 2 +- docs/components/StickyTableComponent.html | 2 +- docs/components/SvgViewerComponent.html | 2 +- .../TextToSpeechPreferencesComponent.html | 2 +- docs/components/ThemePickerComponent.html | 2 +- docs/components/ToolbarComponent.html | 2 +- docs/components/TotalCounterComponent.html | 2 +- docs/components/TypingIndicatorComponent.html | 2 +- docs/components/UserMenuComponent.html | 2 +- docs/components/VirtualScrollComponent.html | 2 +- docs/components/WizdashComponent.html | 2 +- docs/coverage.html | 98 +- docs/dependencies.html | 52 +- docs/graph/dependencies.svg | 2504 ++++++++-------- docs/index.html | 5 +- docs/injectables/AuthService.html | 8 +- docs/injectables/NotificationsService.html | 32 +- docs/interfaces/ICrudService.html | 92 +- docs/js/menu-wc.js | 62 +- docs/js/search/search_index.js | 4 +- docs/miscellaneous/variables.html | 281 +- docs/modules.html | 17 + docs/modules/CoreModule.html | 2 +- docs/modules/ExperimentsModule.html | 209 +- .../ExperimentsModule/dependencies.svg | 194 +- docs/modules/GridModule.html | 119 +- docs/modules/GridModule/dependencies.svg | 114 +- docs/modules/ImageComparisonModule.html | 243 ++ .../ImageComparisonModule/dependencies.svg | 66 + docs/modules/NotificationsModule.html | 5 +- docs/overview.html | 2510 +++++++++-------- 107 files changed, 4765 insertions(+), 3193 deletions(-) create mode 100644 docs/components/ImageCompComponent.html create mode 100644 docs/components/ImageComparisonComponent.html create mode 100644 docs/modules/ImageComparisonModule.html create mode 100644 docs/modules/ImageComparisonModule/dependencies.svg diff --git a/docs/changelog.html b/docs/changelog.html index feaa0b153..363c9b96e 100644 --- a/docs/changelog.html +++ b/docs/changelog.html @@ -33,6 +33,19 @@
+

1.1.0 (2018-10-06)

+

Bug Fixes

+
    +
  • docs: excluded some folders for compodoc builds (013710c)
  • +
  • docs: fix compodoc build (5ff3107)
  • +
  • draggable: replaced DraggableModule in favor of CDK DragDropModule (41f729a)
  • +
  • schematics: added Store workspace schematics (c8bba51)
  • +
  • tools: fix workspace-schematic ngxs (1603246)
  • +
+

Features

+
    +
  • components: added image comparison component (4454e1d)
  • +

1.0.4 (2018-09-24)

Performance Improvements

    diff --git a/docs/classes/AuditBase.html b/docs/classes/AuditBase.html index 2e5bd9ca5..17ef9095b 100644 --- a/docs/classes/AuditBase.html +++ b/docs/classes/AuditBase.html @@ -155,7 +155,7 @@

    - + @@ -194,7 +194,7 @@

    - + @@ -216,24 +216,24 @@

    - id: ObjectID + id: number - Type : ObjectID + Type : number - Decorators : ApiModelPropertyTransformObjectIdColumn + Decorators : ApiModelPropertyPrimaryGeneratedColumn - + @@ -273,7 +273,7 @@

    - + @@ -312,7 +312,7 @@

    - + @@ -352,7 +352,7 @@

    - + @@ -371,7 +371,7 @@

    -
    import { UpdateDateColumn, CreateDateColumn, ManyToOne, VersionColumn, ObjectIdColumn, ObjectID } from 'typeorm';
    +        
    import { UpdateDateColumn, CreateDateColumn, ManyToOne, VersionColumn, PrimaryGeneratedColumn } from 'typeorm';
     import { Exclude, Transform } from 'class-transformer';
     import toHexString from './toHexString';
     import { ApiModelProperty } from '@nestjs/swagger';
    @@ -382,9 +382,8 @@ 

    export abstract class AuditBase { @ApiModelProperty() - @Transform(toHexString, { toPlainOnly: true }) - @ObjectIdColumn() - id: ObjectID; + @PrimaryGeneratedColumn() + id: number; // @Exclude() @CreateDateColumn() diff --git a/docs/classes/Base.html b/docs/classes/Base.html index 6f6b33411..b2502aa8d 100644 --- a/docs/classes/Base.html +++ b/docs/classes/Base.html @@ -119,24 +119,24 @@

    - id: ObjectID + id: number - Type : ObjectID + Type : number - Decorators : ApiModelPropertyOptionalTransformObjectIdColumn + Decorators : ApiModelPropertyOptionalPrimaryGeneratedColumn - + @@ -155,17 +155,13 @@

    -
    import { ObjectID, ObjectIdColumn } from 'typeorm';
    -
    -import { Transform } from 'class-transformer';
    -import toHexString from './toHexString';
    +        
    import { PrimaryGeneratedColumn } from 'typeorm';
     import { ApiModelPropertyOptional } from '@nestjs/swagger';
     
     export abstract class Base {
       @ApiModelPropertyOptional()
    -  @Transform(toHexString, { toPlainOnly: true })
    -  @ObjectIdColumn()
    -  id: ObjectID;
    +  @PrimaryGeneratedColumn()
    +  id: number;
     }
     
    diff --git a/docs/classes/CrudController.html b/docs/classes/CrudController.html index 3f0a49373..e7ff718ac 100644 --- a/docs/classes/CrudController.html +++ b/docs/classes/CrudController.html @@ -576,9 +576,9 @@

    import { Get, Post, Put, Delete, Body, Param, HttpStatus } from '@nestjs/common';
     import { ApiOperation, ApiResponse } from '@nestjs/swagger';
    -import { ICrudService } from './crud.service';
     import { Base } from '../entities/base.entity';
     import { DeepPartial } from 'typeorm';
    +import { ICrudService } from './icube.service';
     
     @ApiResponse({ status: HttpStatus.UNAUTHORIZED, description: 'Unauthorized' })
     @ApiResponse({ status: HttpStatus.FORBIDDEN, description: 'Forbidden' })
    diff --git a/docs/classes/CrudService.html b/docs/classes/CrudService.html
    index 55cc56917..6edfef996 100644
    --- a/docs/classes/CrudService.html
    +++ b/docs/classes/CrudService.html
    @@ -133,12 +133,12 @@ 

    Constructor

    Protected - constructor(repository: MongoRepository) + constructor(repository: Repository) - + @@ -159,7 +159,7 @@

    Constructor

    repository - MongoRepository<T> + Repository<T> @@ -207,7 +207,7 @@

    - + @@ -279,7 +279,7 @@

    - + @@ -351,7 +351,7 @@

    - + @@ -416,14 +416,14 @@

    - getOne(filter: string | FindOneOptions) + getOne(filter: string) - + @@ -445,7 +445,7 @@

    filter - string | FindOneOptions<T> + string @@ -495,7 +495,7 @@

    - + @@ -566,19 +566,12 @@

    import { BadRequestException, NotFoundException } from '@nestjs/common';
    -import { DeepPartial, FindManyOptions, FindOneOptions, MongoRepository, UpdateResult, DeleteResult } from 'typeorm';
    +import { DeepPartial, FindManyOptions, FindOneOptions, Repository, UpdateResult, DeleteResult } from 'typeorm';
     import { Base } from '../entities/base.entity';
    -
    -export interface ICrudService<T> {
    -  getAll(filter?: FindManyOptions<T>): Promise<[T[], number]>;
    -  getOne(id: any | FindOneOptions<T>): Promise<T>;
    -  create(entity: DeepPartial<T>): Promise<T>;
    -  update(id: any, entity: DeepPartial<T>): Promise<any>;
    -  delete(id: any): Promise<any>;
    -}
    +import { ICrudService } from './icube.service';
     
     export abstract class CrudService<T extends Base> implements ICrudService<T> {
    -  protected constructor(protected readonly repository: MongoRepository<T>) {}
    +  protected constructor(protected readonly repository: Repository<T>) {}
     
       public async getAll(filter?: FindManyOptions<T>): Promise<[T[], number]> {
         const records = await this.repository.findAndCount(filter);
    @@ -588,7 +581,7 @@ 

    return records; } - public async getOne(filter: string | FindOneOptions<T>): Promise<T> { + public async getOne(filter: string ): Promise<T> { const record = await this.repository.findOne(filter); if (!record) { throw new NotFoundException(`The requested record was not found`); diff --git a/docs/classes/Image.html b/docs/classes/Image.html index 47c079156..e818b400f 100644 --- a/docs/classes/Image.html +++ b/docs/classes/Image.html @@ -128,19 +128,19 @@

    - id: ObjectID + id: number - Type : ObjectID + Type : number - Decorators : ObjectIdColumn + Decorators : PrimaryGeneratedColumn @@ -281,22 +281,22 @@

    -
    import { Entity, Column, PrimaryGeneratedColumn, ObjectID, ObjectIdColumn } from 'typeorm';
    +        
    import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';
     
     // TODO: https://github.com/nicolaspearson/salespal/blob/master/backend/src/controllers/StockImageController.ts
     // TODO: https://github.com/mkatrenik/assignar
     // TODO: https://steemit.com/utopian-io/@morningtundra/storing-and-retreiving-images-in-mongodb-with-nodejs
     
    -@Entity()
    +@Entity('image')
     export class Image {
    -  @ObjectIdColumn()
    -  id: ObjectID;
    +  @PrimaryGeneratedColumn()
    +  id: number;
     
       @Column({ length: 200 })
       title: string;
     
    -  @Column({ name: 'image', type: 'binary' })
    -  image: any; // Buffer;
    +  @Column('bytea')
    +  image: any;
     
       @Column()
       type: ImageType;
    diff --git a/docs/classes/Notification.html b/docs/classes/Notification.html
    index e17b76447..9e40e7509 100644
    --- a/docs/classes/Notification.html
    +++ b/docs/classes/Notification.html
    @@ -381,19 +381,19 @@ 

    - id: ObjectID + id: number - Type : ObjectID + Type : number - Decorators : ApiModelPropertyOptionalTransformObjectIdColumn + Decorators : ApiModelPropertyOptionalPrimaryGeneratedColumn @@ -404,7 +404,7 @@

    -
    Defined in Base:11
    +
    Defined in Base:7
    @@ -443,7 +443,7 @@

    code = 'code', } -@Entity() +@Entity('notification') export class Notification extends Base { @ApiModelProperty({ type: String }) @IsString() diff --git a/docs/classes/Profile.html b/docs/classes/Profile.html index 06acd2449..bf930267c 100644 --- a/docs/classes/Profile.html +++ b/docs/classes/Profile.html @@ -161,12 +161,12 @@

    - Decorators : Column + Decorators : OneToOneJoinColumn - + @@ -205,7 +205,7 @@

    - + @@ -251,7 +251,7 @@

    -
    Defined in AuditBase:18
    +
    Defined in AuditBase:17
    @@ -296,7 +296,7 @@

    -
    Defined in AuditBase:30
    +
    Defined in AuditBase:29
    @@ -318,19 +318,19 @@

    - id: ObjectID + id: number - Type : ObjectID + Type : number - Decorators : ApiModelPropertyTransformObjectIdColumn + Decorators : ApiModelPropertyPrimaryGeneratedColumn @@ -341,7 +341,7 @@

    -
    Defined in AuditBase:14
    +
    Defined in AuditBase:13
    @@ -387,7 +387,7 @@

    -
    Defined in AuditBase:22
    +
    Defined in AuditBase:21
    @@ -432,7 +432,7 @@

    -
    Defined in AuditBase:38
    +
    Defined in AuditBase:37
    @@ -478,7 +478,7 @@

    -
    Defined in AuditBase:42
    +
    Defined in AuditBase:41
    @@ -497,13 +497,14 @@

    -
    import { Column, Entity } from 'typeorm';
    +        
    import { Column, Entity, JoinColumn, OneToOne } from 'typeorm';
     import { AuditBase } from '../../core';
     import { Image } from './Image.entity';
     
    -@Entity()
    +@Entity('profile')
     export class Profile extends AuditBase {
    -  @Column()
    +  @OneToOne(type => Image)
    +  @JoinColumn()
       profileImage: Image;
     
       @Column()
    diff --git a/docs/classes/User.html b/docs/classes/User.html
    index 3a4fe88be..bb3c72279 100644
    --- a/docs/classes/User.html
    +++ b/docs/classes/User.html
    @@ -167,7 +167,7 @@ 

    - + @@ -206,7 +206,7 @@

    - + @@ -245,7 +245,7 @@

    - + @@ -284,7 +284,7 @@

    - + @@ -324,7 +324,7 @@

    - + @@ -363,7 +363,7 @@

    - + @@ -403,7 +403,7 @@

    - + @@ -425,19 +425,19 @@

    - id: ObjectID + id: number - Type : ObjectID + Type : number - Decorators : ApiModelPropertyOptionalTransformObjectIdColumn + Decorators : ApiModelPropertyOptionalPrimaryGeneratedColumn @@ -448,7 +448,7 @@

    -
    Defined in Base:11
    +
    Defined in Base:7
    @@ -478,37 +478,23 @@

    gitHub, } -@Entity() +@Entity('user') export class User extends Base { @ApiModelProperty({ type: String }) - @IsString() - @IsNotEmpty() - @Index() - @Column() - firstName: string; + @IsString() @IsNotEmpty() + @Index() @Column() firstName: string; @ApiModelProperty({ type: String }) - @IsString() - @IsNotEmpty() - @Index() - @Column() - lastName: string; + @IsString() @IsNotEmpty() + @Index() @Column() lastName: string; @ApiModelProperty({ type: String, minLength: 10, maxLength: 100 }) - @IsEmail() - @IsNotEmpty() - @Index({ unique: true }) - @Column() - email: string; + @IsEmail() @IsNotEmpty() + @Index() @Column() email: string; @ApiModelProperty({ type: String, minLength: 8, maxLength: 20 }) - @IsAscii() - @IsNotEmpty() - @MinLength(8) - @MaxLength(20) - @Index({ unique: true }) - @Column() - userId: string; + @IsAscii() @IsNotEmpty() @MinLength(8) @MaxLength(20) + @Index({ unique: true }) @Column() userId: string; @CreateDateColumn() createdAt?: Date; diff --git a/docs/components/AboutComponent.html b/docs/components/AboutComponent.html index 885281a39..d496b8b91 100644 --- a/docs/components/AboutComponent.html +++ b/docs/components/AboutComponent.html @@ -727,7 +727,7 @@

    + + + + + + + + + + + + + + + + + + +

    +
    +

    result-matching ""

    +
      +
      +
      +

      No results matching ""

      +
      +
      +

      + +

      +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/components/ImageComparisonComponent.html b/docs/components/ImageComparisonComponent.html new file mode 100644 index 000000000..9b43aa503 --- /dev/null +++ b/docs/components/ImageComparisonComponent.html @@ -0,0 +1,623 @@ + + + + + + ngx-starter-kit documentation + + + + + + + + + + + + +
      +
      + + +
      +
      + + + + + + + + +
      +

      +

      File

      +

      +

      + libs/image-comparison/src/lib/image-comparison.component.ts +

      + + + +

      +

      Implements

      +

      +

      + AfterViewInit + OnInit +

      + + +
      +

      Metadata

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      encapsulationViewEncapsulation.None
      selectorngx-image-comparison
      styleUrlsimage-comparison.component.scss
      templateUrl./image-comparison.component.html
      +
      + +
      +

      Index

      + + + + + + + + + + + + + + + + + + + + + +
      +
      Properties
      +
      + +
      +
      Methods
      +
      + +
      +
      + +
      +

      Constructor

      + + + + + + + + + + + + + +
      +constructor(startPosition: number, hostElement: ElementRef, renderer: Renderer2) +
      + +
      +
      + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      NameTypeOptional
      startPosition + number + + No +
      hostElement + ElementRef + + No +
      renderer + Renderer2 + + No +
      +
      +
      +
      + + + + + +
      + +

      + Methods +

      + + + + + + + + + + + + + + + + + + + +
      + + + + Private + createImageComparison + + + +
      + + createImageComparison() +
      + +
      + +
      + Returns : any + +
      +
      + + + + + + + + + + + + + + + + + + + +
      + + + + ngAfterViewInit + + + +
      +ngAfterViewInit() +
      + +
      + +
      + Returns : void + +
      +
      + + + + + + + + + + + + + + + + + + + +
      + + + + ngOnInit + + + +
      +ngOnInit() +
      + +
      + +
      + Returns : void + +
      +
      +
      + +
      + +

      + Properties +

      + + + + + + + + + + + + + + + + + + + + +
      + + + + comparisonImages + + + +
      + comparisonImages: QueryList<any> + +
      + Type : QueryList<any> + +
      + Decorators : ContentChildren +
      + +
      + + + + + + + + + + + + + + + + + + + + +
      + + + + Public + Readonly + startPosition + + + +
      + startPosition: number + +
      + Type : number + +
      + Decorators : Attribute +
      + +
      +
      + +
      + + +
      +
      import {
      +  AfterViewInit,
      +  Attribute,
      +  Component,
      +  ContentChildren,
      +  ElementRef,
      +  HostBinding,
      +  Input,
      +  OnInit,
      +  QueryList,
      +  Renderer2,
      +  ViewEncapsulation,
      +} from '@angular/core';
      +import * as ImageComparison from './image-comparison';
      +
      +@Component({
      +  selector: 'ngx-image-comparison',
      +  templateUrl: './image-comparison.component.html',
      +  styleUrls: ['./image-comparison.component.scss'],
      +  encapsulation: ViewEncapsulation.None,
      +})
      +export class ImageComparisonComponent implements AfterViewInit, OnInit {
      +  @ContentChildren('comparisonImage')
      +  comparisonImages: QueryList<any>;
      +
      +  // @Input() startPosition: number;
      +
      +  constructor(
      +    @Attribute('startPosition') public readonly startPosition: number,
      +    private hostElement: ElementRef,
      +    private renderer: Renderer2,
      +  ) {}
      +
      +  ngOnInit() {}
      +
      +  ngAfterViewInit() {
      +    this.comparisonImages.forEach((element: any) => {
      +      this.renderer.addClass(element.nativeElement, 'comparison-image');
      +    });
      +    this.createImageComparison();
      +  }
      +
      +  private createImageComparison(): any {
      +    const comparison = new ImageComparison({
      +      container: this.hostElement.nativeElement,
      +      startPosition: this.startPosition || 50,
      +      data: this.comparisonImages.map((element: any) => {
      +        return {
      +          image: element.nativeElement,
      +          label: element.nativeElement.dataset.label,
      +        };
      +      }),
      +    });
      +  }
      +}
      +
      +
      + +
      +
      <ng-content></ng-content>
      +
      +
      + +
      +
      +
      +
      + Legend +
      +
      +
      Html element +
      +
      +
      Component +
      +
      +
      Html element with directive +
      +
      +
      + + +
      + + + + + + + + + + + + + + + + + + + + +
      +
      +

      result-matching ""

      +
        +
        +
        +

        No results matching ""

        +
        +
        +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/components/JsonDiffComponent.html b/docs/components/JsonDiffComponent.html index 201af48b3..88b659aa4 100644 --- a/docs/components/JsonDiffComponent.html +++ b/docs/components/JsonDiffComponent.html @@ -1579,7 +1579,7 @@

        + + + + +
        +
        + +

        +

        File

        +

        +

        + libs/image-comparison/src/lib/image-comparison.module.ts +

        + + + + +
        +
        +
        +

        Declarations

        + +
        +
        +

        Exports

        + +
        +
        +
        +
        + + +
        +
        import { NgModule } from '@angular/core';
        +import { CommonModule } from '@angular/common';
        +import { ImageComparisonComponent } from './image-comparison.component';
        +
        +@NgModule({
        +  imports: [CommonModule],
        +  declarations: [ImageComparisonComponent],
        +  exports: [ImageComparisonComponent],
        +})
        +export class ImageComparisonModule {}
        +
        +
        +
        + + + + + + + + + + + + + + + +

        +
        +

        result-matching ""

        +
          +
          +
          +

          No results matching ""

          +
          +
          +

        + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/modules/ImageComparisonModule/dependencies.svg b/docs/modules/ImageComparisonModule/dependencies.svg new file mode 100644 index 000000000..2c52e2829 --- /dev/null +++ b/docs/modules/ImageComparisonModule/dependencies.svg @@ -0,0 +1,66 @@ + + + + + + +dependencies + +Legend + +  Declarations + +  Module + +  Bootstrap + +  Providers + +  Exports + +cluster_ImageComparisonModule + + + +cluster_ImageComparisonModule_declarations + + + +cluster_ImageComparisonModule_exports + + + + +ImageComparisonComponent + +ImageComparisonComponent + + + +ImageComparisonModule + +ImageComparisonModule + + + +ImageComparisonComponent->ImageComparisonModule + + + + + +ImageComparisonComponent + +ImageComparisonComponent + + + +ImageComparisonModule->ImageComparisonComponent + + + + + diff --git a/docs/modules/NotificationsModule.html b/docs/modules/NotificationsModule.html index 3f9bbf1a0..d01ccc5c7 100644 --- a/docs/modules/NotificationsModule.html +++ b/docs/modules/NotificationsModule.html @@ -177,13 +177,14 @@

        Importsimport { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; import { SharedModule } from '../shared'; +import { Notification } from './notification.entity'; import { NotificationsService } from './notifications.service'; import { NotificationsController } from './notifications.controller'; -import { NotificationsRepository } from './notifications.repository'; @Module({ - imports: [SharedModule, TypeOrmModule.forFeature([NotificationsRepository])], + // imports: [SharedModule, TypeOrmModule.forFeature([NotificationsRepository])], + imports: [SharedModule, TypeOrmModule.forFeature([Notification])], providers: [NotificationsService], controllers: [NotificationsController], }) diff --git a/docs/overview.html b/docs/overview.html index 5b8b09d58..cdaa4cad0 100644 --- a/docs/overview.html +++ b/docs/overview.html @@ -46,2775 +46,2833 @@ - - + + dependencies - -Legend - -  Declarations - -  Module - -  Bootstrap - -  Providers - -  Exports + +Legend + +  Declarations + +  Module + +  Bootstrap + +  Providers + +  Exports cluster_AppConfirmModule - + cluster_AppConfirmModule_declarations - + cluster_AppConfirmModule_providers - + cluster_AppModule - + cluster_AppModule_declarations - + cluster_AppModule_imports - + cluster_AppModule_bootstrap - + cluster_AuthModule - + cluster_AuthModule_declarations - + cluster_AuthModule_exports - + cluster_AuthModule_providers - + cluster_BreadcrumbsModule - + cluster_BreadcrumbsModule_declarations - + cluster_BreadcrumbsModule_exports - + cluster_ChatBoxModule - + cluster_ChatBoxModule_declarations - + cluster_ChatBoxModule_imports - + cluster_ChatBoxModule_exports - + cluster_ChatBoxModule_providers - + cluster_ChatModule - + cluster_ClapModule - + cluster_ClapModule_declarations - + cluster_ClapModule_exports - + cluster_ContextMenuModule - + cluster_ContextMenuModule_declarations - + cluster_ContextMenuModule_exports - + cluster_CoreModule - + cluster_CoreModule_imports - + cluster_CoreModule_providers - + cluster_DashboardModule - + cluster_DashboardModule_declarations - + cluster_DashboardModule_imports - + cluster_DraggableModule - + cluster_DraggableModule_declarations - + cluster_DraggableModule_exports - + cluster_DraggableModule_providers - + cluster_ExperimentsModule - + cluster_ExperimentsModule_declarations - + - -cluster_GridModule - + +cluster_ExperimentsModule_imports + +cluster_GridModule + + + cluster_GridModule_declarations - + - + cluster_GridModule_providers - + - + cluster_HomeModule - + - + cluster_HomeModule_declarations - + - + cluster_HomeModule_imports - + + + +cluster_ImageComparisonModule + + + +cluster_ImageComparisonModule_declarations + + + +cluster_ImageComparisonModule_exports + - + cluster_JsonDiffModule - + - + cluster_JsonDiffModule_declarations - + - + cluster_JsonDiffModule_exports - + - + cluster_LedModule - + - + cluster_LedModule_declarations - + - + cluster_LedModule_exports - + - + cluster_LoadingOverlayModule - + - + cluster_LoadingOverlayModule_declarations - + - + cluster_LoadingOverlayModule_exports - + - + cluster_MaterialModule - + - + cluster_MaterialModule_exports - + - + cluster_NgxPipesModule - + - + cluster_NgxPipesModule_declarations - + - + cluster_NgxPipesModule_exports - + - + cluster_NotFoundModule - + - + cluster_NotFoundModule_declarations - + - + cluster_NotificationsModule - + - + cluster_NotificationsModule_declarations - + - + cluster_NotificationsModule_exports - + - + cluster_NotificationsModule_providers - + - + cluster_QuickpanelModule - + - + cluster_QuickpanelModule_declarations - + - + cluster_QuickpanelModule_imports - + - + cluster_QuickpanelModule_exports - + - + cluster_ScrollToTopModule - + - + cluster_ScrollToTopModule_declarations - + - + cluster_ScrollToTopModule_exports - + - + cluster_ScrollbarModule - + - + cluster_ScrollbarModule_declarations - + - + cluster_ScrollbarModule_exports - + - + cluster_SharedModule - + - + cluster_SharedModule_declarations - + - + cluster_SharedModule_exports - + - + cluster_SidenavModule - + - + cluster_SidenavModule_declarations - + - + cluster_SidenavModule_exports - + - + cluster_SvgViewerModule - + - + cluster_SvgViewerModule_declarations - + - + cluster_SvgViewerModule_SvgViewerComponent_providers - + - + cluster_SvgViewerModule_exports - + - + cluster_ThemePickerModule - + - + cluster_ThemePickerModule_declarations - + - + cluster_ThemePickerModule_exports - + - + cluster_ThemePickerModule_providers - + - + cluster_ToolbarModule - + - + cluster_ToolbarModule_declarations - + - + cluster_ToolbarModule_exports - + - + cluster_UserModule - + - + cluster_UserModule_providers - + - + cluster_WidgetsModule - + - + cluster_WidgetsModule_declarations - + - + cluster_WidgetsModule_providers - + AppConfirmComponent - -AppConfirmComponent + +AppConfirmComponent AppConfirmModule - -AppConfirmModule + +AppConfirmModule AppConfirmComponent->AppConfirmModule - - + + - + GridModule - -GridModule + +GridModule - + AppConfirmModule->GridModule - - + + AppConfirmService - -AppConfirmService + +AppConfirmService AppConfirmService->AppConfirmModule - - + + AuthModule - -AuthModule + +AuthModule CoreModule - -CoreModule + +CoreModule AuthModule->CoreModule - - + + AppModule - -AppModule + +AppModule AuthModule->AppModule - - + + AuthGuard - -AuthGuard + +AuthGuard AuthModule->AuthGuard - - + + AuthService - -AuthService + +AuthService AuthModule->AuthService - - + + WsAuthGuard - -WsAuthGuard + +WsAuthGuard AuthModule->WsAuthGuard - - + + SharedModule - -SharedModule + +SharedModule - + AuthModule->SharedModule - - + + CoreModule->AppModule - - + + CoreModule->AppModule - - + + NotificationsModule - -NotificationsModule + +NotificationsModule NotificationsModule->AppModule - - + + ToolbarModule - -ToolbarModule + +ToolbarModule - + NotificationsModule->ToolbarModule - - + + - + NotificationsComponent - -NotificationsComponent + +NotificationsComponent - + NotificationsModule->NotificationsComponent - - + + UserModule - -UserModule + +UserModule UserModule->AppModule - - + + AppComponent - -AppComponent + +AppComponent AppModule->AppComponent - - + + AppComponent - -AppComponent + +AppComponent AppComponent->AppModule - - + + AuthService - -AuthService + +AuthService AuthService->AuthModule - - + + AuthService->AuthModule - - + + JwtStrategy - -JwtStrategy + +JwtStrategy JwtStrategy->AuthModule - - + + WsJwtStrategy - -WsJwtStrategy + +WsJwtStrategy WsJwtStrategy->AuthModule - - + + LoginComponent - -LoginComponent + +LoginComponent LoginComponent->AuthModule - - + + ROPCService - -ROPCService + +ROPCService ROPCService->AuthModule - - + + BreadcrumbsComponent - -BreadcrumbsComponent + +BreadcrumbsComponent BreadcrumbsModule - -BreadcrumbsModule + +BreadcrumbsModule BreadcrumbsComponent->BreadcrumbsModule - - + + BreadcrumbsComponent - -BreadcrumbsComponent + +BreadcrumbsComponent BreadcrumbsModule->BreadcrumbsComponent - - + + ChatBoxComponent - -ChatBoxComponent + +ChatBoxComponent ChatBoxModule - -ChatBoxModule + +ChatBoxModule ChatBoxComponent->ChatBoxModule - - + + ChatCardComponent - -ChatCardComponent + +ChatCardComponent ChatCardComponent->ChatBoxModule - - + + TextToSpeechPreferencesComponent - -TextToSpeechPreferencesComponent + +TextToSpeechPreferencesComponent TextToSpeechPreferencesComponent->ChatBoxModule - - + + TypingIndicatorComponent - -TypingIndicatorComponent + +TypingIndicatorComponent TypingIndicatorComponent->ChatBoxModule - - + + ChatBoxComponent - -ChatBoxComponent + +ChatBoxComponent ChatBoxModule->ChatBoxComponent - - + + DashboardModule - -DashboardModule + +DashboardModule ChatBoxModule->DashboardModule - - + + DraggableModule - -DraggableModule + +DraggableModule DraggableModule->ChatBoxModule - - + + DraggableDirective - -DraggableDirective + +DraggableDirective DraggableModule->DraggableDirective - - + + ResizableComponent - -ResizableComponent + +ResizableComponent DraggableModule->ResizableComponent - - - - - -DraggableModule->GridModule - - + + LedModule - -LedModule + +LedModule LedModule->ChatBoxModule - - + + - + ExperimentsModule - -ExperimentsModule + +ExperimentsModule - + LedModule->ExperimentsModule - - + + - + LedComponent - -LedComponent + +LedComponent - + LedModule->LedComponent - - + + ChatService - -ChatService + +ChatService ChatService->ChatBoxModule - - + + ChatModule - -ChatModule + +ChatModule ChatService->ChatModule - - + + NlpService - -NlpService + +NlpService NlpService->ChatBoxModule - - + + SpeechToTextService - -SpeechToTextService + +SpeechToTextService SpeechToTextService->ChatBoxModule - - + + TextToSpeechService - -TextToSpeechService + +TextToSpeechService TextToSpeechService->ChatBoxModule - - + + ClapComponent - -ClapComponent + +ClapComponent ClapModule - -ClapModule + +ClapModule ClapComponent->ClapModule - - + + CounterBubbleComponent - -CounterBubbleComponent + +CounterBubbleComponent CounterBubbleComponent->ClapModule - - + + FabComponent - -FabComponent + +FabComponent FabComponent->ClapModule - - + + TotalCounterComponent - -TotalCounterComponent + +TotalCounterComponent TotalCounterComponent->ClapModule - - + + ClapComponent - -ClapComponent + +ClapComponent ClapModule->ClapComponent - - + + - + ClapModule->ExperimentsModule - - + + ContextMenuComponent - -ContextMenuComponent + +ContextMenuComponent ContextMenuModule - -ContextMenuModule + +ContextMenuModule ContextMenuComponent->ContextMenuModule - - + + ContextMenuComponent->ExperimentsModule - - + + ContextMenuTriggerDirective - -ContextMenuTriggerDirective + +ContextMenuTriggerDirective ContextMenuTriggerDirective->ContextMenuModule - - + + ContextMenuComponent - -ContextMenuComponent + +ContextMenuComponent ContextMenuModule->ContextMenuComponent - - + + ContextMenuTriggerDirective - -ContextMenuTriggerDirective + +ContextMenuTriggerDirective ContextMenuModule->ContextMenuTriggerDirective - - + + - + ContextMenuModule->ExperimentsModule - - + + ConfigModule - -ConfigModule + +ConfigModule ConfigModule->CoreModule - - + + EmailModule - -EmailModule + +EmailModule EmailModule->CoreModule - - + + NavigatorModule - -NavigatorModule + +NavigatorModule NavigatorModule->CoreModule - - + + NgxsWebsocketPluginModule - -NgxsWebsocketPluginModule + +NgxsWebsocketPluginModule NgxsWebsocketPluginModule->CoreModule - - + + ErrorInterceptor - -ErrorInterceptor + +ErrorInterceptor ErrorInterceptor->CoreModule - - + + JwtInterceptor - -JwtInterceptor + +JwtInterceptor JwtInterceptor->CoreModule - - + + DashboardLayoutComponent - -DashboardLayoutComponent + +DashboardLayoutComponent DashboardLayoutComponent->DashboardModule - - + + OverviewComponent - -OverviewComponent + +OverviewComponent OverviewComponent->DashboardModule - - + + RainbowComponent - -RainbowComponent + +RainbowComponent RainbowComponent->DashboardModule - - + + QuickpanelModule - -QuickpanelModule + +QuickpanelModule QuickpanelModule->DashboardModule - - + + - + QuickpanelComponent - -QuickpanelComponent + +QuickpanelComponent - + QuickpanelModule->QuickpanelComponent - - + + - + SharedModule->NotificationsModule - - + + - + SharedModule->NotificationsModule - - + + - + SharedModule->UserModule - - + + SharedModule->DashboardModule - - + + - + SharedModule->ToolbarModule - - + + - + SharedModule->ExperimentsModule - - + + - + SharedModule->GridModule - - + + - + HomeModule - -HomeModule + +HomeModule - + SharedModule->HomeModule - - + + - + EventBusGateway - -EventBusGateway + +EventBusGateway - + SharedModule->EventBusGateway - - + + - + BreadcrumbsModule - -BreadcrumbsModule + +BreadcrumbsModule - + SharedModule->BreadcrumbsModule - - + + - + ClickOutsideDirective - -ClickOutsideDirective + +ClickOutsideDirective - + SharedModule->ClickOutsideDirective - - + + - + MaterialDateModule - -MaterialDateModule + +MaterialDateModule - + SharedModule->MaterialDateModule - - + + - + MaterialModule - -MaterialModule + +MaterialModule - + SharedModule->MaterialModule - - + + - + MinValidatorDirective - -MinValidatorDirective + +MinValidatorDirective - + SharedModule->MinValidatorDirective - - + + - + NgLetDirective - -NgLetDirective + +NgLetDirective - + SharedModule->NgLetDirective - - + + - + WidgetsModule - -WidgetsModule + +WidgetsModule - + SharedModule->WidgetsModule - - + + SidenavModule - -SidenavModule + +SidenavModule SidenavModule->DashboardModule - - + + - + IconSidenavDirective - -IconSidenavDirective + +IconSidenavDirective - + SidenavModule->IconSidenavDirective - - + + - + SidenavComponent - -SidenavComponent + +SidenavComponent - + SidenavModule->SidenavComponent - - + + ToolbarModule->DashboardModule - - + + - + ToolbarComponent - -ToolbarComponent + +ToolbarComponent - + ToolbarModule->ToolbarComponent - - + + DraggableDirective - -DraggableDirective + +DraggableDirective DraggableDirective->DraggableModule - - + + ResizableComponent - -ResizableComponent + +ResizableComponent ResizableComponent->DraggableModule - - + + ResizableState - -ResizableState + +ResizableState ResizableState->DraggableModule - - + + AnimationsComponent - -AnimationsComponent + +AnimationsComponent AnimationsComponent->ExperimentsModule - - + + ClapButtonComponent - -ClapButtonComponent + +ClapButtonComponent ClapButtonComponent->ExperimentsModule - - + + FileUploadComponent - -FileUploadComponent + +FileUploadComponent FileUploadComponent->ExperimentsModule - - + + HammertimeDirective - -HammertimeDirective + +HammertimeDirective HammertimeDirective->ExperimentsModule - - + + - + +ImageCompComponent + +ImageCompComponent + + + +ImageCompComponent->ExperimentsModule + + + + + KnobDemoComponent - -KnobDemoComponent + +KnobDemoComponent - + KnobDemoComponent->ExperimentsModule - - + + - + LedDemoComponent - -LedDemoComponent + +LedDemoComponent - + LedDemoComponent->ExperimentsModule - - + + - + StickyTableComponent - -StickyTableComponent + +StickyTableComponent - + StickyTableComponent->ExperimentsModule - - + + - + VirtualScrollComponent - -VirtualScrollComponent + +VirtualScrollComponent - + VirtualScrollComponent->ExperimentsModule - - + + + + + +ImageComparisonModule + +ImageComparisonModule + + + +ImageComparisonModule->ExperimentsModule + + + + + +ImageComparisonComponent + +ImageComparisonComponent + + + +ImageComparisonModule->ImageComparisonComponent + + - + AccountDetailComponent - -AccountDetailComponent + +AccountDetailComponent - + AccountDetailComponent->GridModule - - + + - + AccountEditComponent - -AccountEditComponent + +AccountEditComponent - + AccountEditComponent->GridModule - - + + - + AccountsGridListComponent - -AccountsGridListComponent + +AccountsGridListComponent - + AccountsGridListComponent->GridModule - - + + - + AccountsTableComponent - -AccountsTableComponent + +AccountsTableComponent - + AccountsTableComponent->GridModule - - + + - + AccountService - -AccountService + +AccountService - + AccountService->GridModule - - + + - + RandomAccountService - -RandomAccountService + +RandomAccountService - + RandomAccountService->GridModule - - + + - + AboutComponent - -AboutComponent + +AboutComponent - + AboutComponent->HomeModule - - + + - + BlogComponent - -BlogComponent + +BlogComponent - + BlogComponent->HomeModule - - + + - + FeaturesComponent - -FeaturesComponent + +FeaturesComponent - + FeaturesComponent->HomeModule - - + + - + FooterComponent - -FooterComponent + +FooterComponent - + FooterComponent->HomeModule - - + + - + HeaderComponent - -HeaderComponent + +HeaderComponent - + HeaderComponent->HomeModule - - + + - + HomeLayoutComponent - -HomeLayoutComponent + +HomeLayoutComponent - + HomeLayoutComponent->HomeModule - - + + - + LandingComponent - -LandingComponent + +LandingComponent - + LandingComponent->HomeModule - - + + - + StickyHeaderDirective - -StickyHeaderDirective + +StickyHeaderDirective - + StickyHeaderDirective->HomeModule - - + + - + ScrollToTopModule - -ScrollToTopModule + +ScrollToTopModule - + ScrollToTopModule->HomeModule - - + + - + ScrollToTopComponent - -ScrollToTopComponent + +ScrollToTopComponent - + ScrollToTopModule->ScrollToTopComponent - - + + - + SvgViewerModule - -SvgViewerModule + +SvgViewerModule - + SvgViewerModule->HomeModule - - + + - + SvgViewerComponent - -SvgViewerComponent + +SvgViewerComponent - + SvgViewerModule->SvgViewerComponent - - + + - + ThemePickerModule - -ThemePickerModule + +ThemePickerModule - + ThemePickerModule->ToolbarModule - - + + - + ThemePickerModule->HomeModule - - + + - + ThemePickerComponent - -ThemePickerComponent + +ThemePickerComponent - + ThemePickerModule->ThemePickerComponent - - + + + + + +ImageComparisonComponent + +ImageComparisonComponent + + + +ImageComparisonComponent->ImageComparisonModule + + - + JsonDiffComponent - -JsonDiffComponent + +JsonDiffComponent - + JsonDiffModule - -JsonDiffModule + +JsonDiffModule - + JsonDiffComponent->JsonDiffModule - - + + - + JsonDiffTreeComponent - -JsonDiffTreeComponent + +JsonDiffTreeComponent - + JsonDiffTreeComponent->JsonDiffModule - - + + - + JsonDiffComponent - -JsonDiffComponent + +JsonDiffComponent - + JsonDiffModule->JsonDiffComponent - - + + - + LedComponent - -LedComponent + +LedComponent - + LedComponent->LedModule - - + + - + LoadingOverlayComponent - -LoadingOverlayComponent + +LoadingOverlayComponent - + LoadingOverlayModule - -LoadingOverlayModule + +LoadingOverlayModule - + LoadingOverlayComponent->LoadingOverlayModule - - + + - + LoadingOverlayComponent - -LoadingOverlayComponent + +LoadingOverlayComponent - + LoadingOverlayModule->LoadingOverlayComponent - - + + - + LoadingOverlayModule->WidgetsModule - - + + - + MatCardModule - -MatCardModule + +MatCardModule - + MaterialModule - -MaterialModule + +MaterialModule - + MaterialModule->QuickpanelModule - - + + - + MaterialModule->MatCardModule - - + + - + CharactersPipe - -CharactersPipe + +CharactersPipe - + NgxPipesModule - -NgxPipesModule + +NgxPipesModule - + CharactersPipe->NgxPipesModule - - + + - + FilterPipe - -FilterPipe + +FilterPipe - + FilterPipe->NgxPipesModule - - + + - + GroupByPipe - -GroupByPipe + +GroupByPipe - + GroupByPipe->NgxPipesModule - - + + - + SafeHtmlPipe - -SafeHtmlPipe + +SafeHtmlPipe - + SafeHtmlPipe->NgxPipesModule - - + + - + WordsPipe - -WordsPipe + +WordsPipe - + WordsPipe->NgxPipesModule - - + + - + CharactersPipe - -CharactersPipe + +CharactersPipe - + NgxPipesModule->CharactersPipe - - + + - + FilterPipe - -FilterPipe + +FilterPipe - + NgxPipesModule->FilterPipe - - + + - + GroupByPipe - -GroupByPipe + +GroupByPipe - + NgxPipesModule->GroupByPipe - - + + - + SafeHtmlPipe - -SafeHtmlPipe + +SafeHtmlPipe - + NgxPipesModule->SafeHtmlPipe - - + + - + WordsPipe - -WordsPipe + +WordsPipe - + NgxPipesModule->WordsPipe - - + + - + NotFoundComponent - -NotFoundComponent + +NotFoundComponent - + NotFoundModule - -NotFoundModule + +NotFoundModule - + NotFoundComponent->NotFoundModule - - + + - + NotificationsService - -NotificationsService + +NotificationsService - + NotificationsService->NotificationsModule - - + + - + NotificationsService->NotificationsModule - - + + - + NotificationsComponent - -NotificationsComponent + +NotificationsComponent - + NotificationsComponent->NotificationsModule - - + + - + QuickpanelComponent - -QuickpanelComponent + +QuickpanelComponent - + QuickpanelComponent->QuickpanelModule - - + + - + ScrollbarModule - -ScrollbarModule + +ScrollbarModule - + ScrollbarModule->QuickpanelModule - - + + - + ScrollbarModule->SidenavModule - - + + - + ScrollbarComponent - -ScrollbarComponent + +ScrollbarComponent - + ScrollbarModule->ScrollbarComponent - - + + - + ScrollbarDirective - -ScrollbarDirective + +ScrollbarDirective - + ScrollbarModule->ScrollbarDirective - - + + - + ScrollbarModule->WidgetsModule - - + + - + ScrollToTopComponent - -ScrollToTopComponent + +ScrollToTopComponent - + ScrollToTopComponent->ScrollToTopModule - - + + - + ScrollbarComponent - -ScrollbarComponent + +ScrollbarComponent - + ScrollbarComponent->ScrollbarModule - - + + - + ScrollbarDirective - -ScrollbarDirective + +ScrollbarDirective - + ScrollbarDirective->ScrollbarModule - - + + - + ClickOutsideDirective - -ClickOutsideDirective + +ClickOutsideDirective - + ClickOutsideDirective->SharedModule - - + + - + MinValidatorDirective - -MinValidatorDirective + +MinValidatorDirective - + MinValidatorDirective->SharedModule - - + + - + NgLetDirective - -NgLetDirective + +NgLetDirective - + NgLetDirective->SharedModule - - + + - + IconSidenavDirective - -IconSidenavDirective + +IconSidenavDirective - + IconSidenavDirective->SidenavModule - - + + - + MenuItemComponent - -MenuItemComponent + +MenuItemComponent - + MenuItemComponent->SidenavModule - - + + - + SidenavComponent - -SidenavComponent + +SidenavComponent - + SidenavComponent->SidenavModule - - + + - + SidenavItemComponent - -SidenavItemComponent + +SidenavItemComponent - + SidenavItemComponent->SidenavModule - - + + - + SvgViewerComponent - -SvgViewerComponent + +SvgViewerComponent - + SvgViewerComponent->SvgViewerModule - - + + - + SvgViewerService - -SvgViewerService + +SvgViewerService - + SvgViewerService->SvgViewerModule - - + + - + SvgViewerService->SvgViewerComponent - - + + - + ThemePickerComponent - -ThemePickerComponent + +ThemePickerComponent - + ThemePickerComponent->ThemePickerModule - - + + - + StyleManagerService - -StyleManagerService + +StyleManagerService - + StyleManagerService->ThemePickerModule - - + + - + ThemeStorageService - -ThemeStorageService + +ThemeStorageService - + ThemeStorageService->ThemePickerModule - - + + - + FullscreenToggleComponent - -FullscreenToggleComponent + +FullscreenToggleComponent - + FullscreenToggleComponent->ToolbarModule - - + + - + QuickpanelToggleComponent - -QuickpanelToggleComponent + +QuickpanelToggleComponent - + QuickpanelToggleComponent->ToolbarModule - - + + - + SearchBarComponent - -SearchBarComponent + +SearchBarComponent - + SearchBarComponent->ToolbarModule - - + + - + SearchComponent - -SearchComponent + +SearchComponent - + SearchComponent->ToolbarModule - - + + - + SidenavToggleComponent - -SidenavToggleComponent + +SidenavToggleComponent - + SidenavToggleComponent->ToolbarModule - - + + - + ToolbarComponent - -ToolbarComponent + +ToolbarComponent - + ToolbarComponent->ToolbarModule - - + + - + UserMenuComponent - -UserMenuComponent + +UserMenuComponent - + UserMenuComponent->ToolbarModule - - + + - + ProfileService - -ProfileService + +ProfileService - + ProfileService->UserModule - - + + - + AdvancedPieChartWidgetComponent - -AdvancedPieChartWidgetComponent + +AdvancedPieChartWidgetComponent - + AdvancedPieChartWidgetComponent->WidgetsModule - - + + - + AspectRatioContentDirective - -AspectRatioContentDirective + +AspectRatioContentDirective - + AspectRatioContentDirective->WidgetsModule - - + + - + AspectRatioDirective - -AspectRatioDirective + +AspectRatioDirective - + AspectRatioDirective->WidgetsModule - - + + - + AudienceOverviewWidgetComponent - -AudienceOverviewWidgetComponent + +AudienceOverviewWidgetComponent - + AudienceOverviewWidgetComponent->WidgetsModule - - + + - + BarChartWidgetComponent - -BarChartWidgetComponent + +BarChartWidgetComponent - + BarChartWidgetComponent->WidgetsModule - - + + - + Card - -Card + +Card - + Card->WidgetsModule - - + + - + CardActions - -CardActions + +CardActions - + CardActions->WidgetsModule - - + + - + CardContent - -CardContent + +CardContent - + CardContent->WidgetsModule - - + + - + CardHeader - -CardHeader + +CardHeader - + CardHeader->WidgetsModule - - + + - + CardHeaderActions - -CardHeaderActions + +CardHeaderActions - + CardHeaderActions->WidgetsModule - - + + - + CardHeaderSubTitle - -CardHeaderSubTitle + +CardHeaderSubTitle - + CardHeaderSubTitle->WidgetsModule - - + + - + CardHeaderTitle - -CardHeaderTitle + +CardHeaderTitle - + CardHeaderTitle->WidgetsModule - - + + - + ChartWidget - -ChartWidget + +ChartWidget - + ChartWidget->WidgetsModule - - + + - + ChartWidgetContent - -ChartWidgetContent + +ChartWidgetContent - + ChartWidgetContent->WidgetsModule - - + + - + ChartWidgetHeader - -ChartWidgetHeader + +ChartWidgetHeader - + ChartWidgetHeader->WidgetsModule - - + + - + ChartWidgetHeaderActions - -ChartWidgetHeaderActions + +ChartWidgetHeaderActions - + ChartWidgetHeaderActions->WidgetsModule - - + + - + ChartWidgetHeaderSubTitle - -ChartWidgetHeaderSubTitle + +ChartWidgetHeaderSubTitle - + ChartWidgetHeaderSubTitle->WidgetsModule - - + + - + ChartWidgetHeaderTitle - -ChartWidgetHeaderTitle + +ChartWidgetHeaderTitle - + ChartWidgetHeaderTitle->WidgetsModule - - + + - + DonutChartWidgetComponent - -DonutChartWidgetComponent + +DonutChartWidgetComponent - + DonutChartWidgetComponent->WidgetsModule - - + + - + LineChartWidgetComponent - -LineChartWidgetComponent + +LineChartWidgetComponent - + LineChartWidgetComponent->WidgetsModule - - + + - + ListComponent - -ListComponent + +ListComponent - + ListComponent->WidgetsModule - - + + - + MarketWidgetComponent - -MarketWidgetComponent + +MarketWidgetComponent - + MarketWidgetComponent->WidgetsModule - - + + - + PageDirective - -PageDirective + +PageDirective - + PageDirective->WidgetsModule - - + + - + PagePaddingDirective - -PagePaddingDirective + +PagePaddingDirective - + PagePaddingDirective->WidgetsModule - - + + - + QuickInfoWidgetComponent - -QuickInfoWidgetComponent + +QuickInfoWidgetComponent - + QuickInfoWidgetComponent->WidgetsModule - - + + - + RealtimeUsersWidgetComponent - -RealtimeUsersWidgetComponent + +RealtimeUsersWidgetComponent - + RealtimeUsersWidgetComponent->WidgetsModule - - + + - + RecentSalesWidgetComponent - -RecentSalesWidgetComponent + +RecentSalesWidgetComponent - + RecentSalesWidgetComponent->WidgetsModule - - + + - + RecentSalesWidgetTableComponent - -RecentSalesWidgetTableComponent + +RecentSalesWidgetTableComponent - + RecentSalesWidgetTableComponent->WidgetsModule - - + + - + SalesSummaryWidgetComponent - -SalesSummaryWidgetComponent + +SalesSummaryWidgetComponent - + SalesSummaryWidgetComponent->WidgetsModule - - + + - + WizdashComponent - -WizdashComponent + +WizdashComponent - + WizdashComponent->WidgetsModule - - + + - + WizdashService - -WizdashService + +WizdashService - + WizdashService->WidgetsModule - - + + @@ -2835,7 +2893,7 @@ @@ -2844,7 +2902,7 @@

        -

        76 Components

        +

        78 Components

        @@ -2884,7 +2942,7 @@

        -

        105 Classes

        +

        103 Classes

        From 7ab7c5d91a2cc3ec724a494d3f50b3444639f99e Mon Sep 17 00:00:00 2001 From: xmlking Date: Tue, 9 Oct 2018 16:30:50 -0700 Subject: [PATCH 05/22] feat(api): added 2nd node-app 'backend' to showcase file upload --- angular.json | 82 +++++++++++++++++++ apps/backend/README.md | 17 ++++ apps/backend/jest.config.js | 5 ++ apps/backend/src/app/.gitkeep | 0 apps/backend/src/assets/.gitkeep | 0 .../src/environments/environment.prod.ts | 3 + apps/backend/src/environments/environment.ts | 7 ++ apps/backend/src/main.ts | 26 ++++++ apps/backend/src/upload.ts | 42 ++++++++++ apps/backend/tsconfig.app.json | 9 ++ apps/backend/tsconfig.spec.json | 9 ++ apps/backend/tslint.json | 4 + libs/models/README.md | 5 ++ libs/models/jest.config.js | 5 ++ libs/models/src/index.ts | 0 libs/models/src/lib/.gitkeep | 0 libs/models/src/test-setup.ts | 1 + libs/models/tsconfig.lib.json | 32 ++++++++ libs/models/tsconfig.spec.json | 10 +++ libs/models/tslint.json | 17 ++++ nx.json | 10 +++ 21 files changed, 284 insertions(+) create mode 100644 apps/backend/README.md create mode 100644 apps/backend/jest.config.js create mode 100644 apps/backend/src/app/.gitkeep create mode 100644 apps/backend/src/assets/.gitkeep create mode 100644 apps/backend/src/environments/environment.prod.ts create mode 100644 apps/backend/src/environments/environment.ts create mode 100644 apps/backend/src/main.ts create mode 100755 apps/backend/src/upload.ts create mode 100644 apps/backend/tsconfig.app.json create mode 100644 apps/backend/tsconfig.spec.json create mode 100644 apps/backend/tslint.json create mode 100644 libs/models/README.md create mode 100644 libs/models/jest.config.js create mode 100644 libs/models/src/index.ts create mode 100644 libs/models/src/lib/.gitkeep create mode 100644 libs/models/src/test-setup.ts create mode 100644 libs/models/tsconfig.lib.json create mode 100644 libs/models/tsconfig.spec.json create mode 100644 libs/models/tslint.json diff --git a/angular.json b/angular.json index 6c1375db1..dc3174615 100644 --- a/angular.json +++ b/angular.json @@ -304,6 +304,88 @@ } } }, + "backend": { + "root": "apps/backend", + "sourceRoot": "apps/backend/src", + "projectType": "application", + "prefix": "backend", + "schematics": {}, + "architect": { + "build": { + "builder": "@nrwl/builders:node-build", + "options": { + "outputPath": "dist/apps/backend", + "main": "apps/backend/src/main.ts", + "tsConfig": "apps/backend/tsconfig.app.json" + }, + "configurations": { + "production": { + "optimization": true, + "extractLicenses": true, + "fileReplacements": [ + { + "replace": "apps/backend/src/environments/environment.ts", + "with": "apps/backend/src/environments/environment.prod.ts" + } + ] + } + } + }, + "serve": { + "builder": "@nrwl/builders:node-execute", + "options": { + "buildTarget": "backend:build" + } + }, + "lint": { + "builder": "@angular-devkit/build-angular:tslint", + "options": { + "tsConfig": [ + "apps/backend/tsconfig.app.json", + "apps/backend/tsconfig.spec.json" + ], + "exclude": [ + "**/node_modules/**" + ] + } + }, + "test": { + "builder": "@nrwl/builders:jest", + "options": { + "jestConfig": "apps/backend/jest.config.js", + "tsConfig": "apps/backend/tsconfig.spec.json" + } + } + } + }, + "models": { + "root": "libs/models", + "sourceRoot": "libs/models/src", + "projectType": "library", + "prefix": "ngx-starter-kit", + "architect": { + "lint": { + "builder": "@angular-devkit/build-angular:tslint", + "options": { + "tsConfig": [ + "libs/models/tsconfig.lib.json", + "libs/models/tsconfig.spec.json" + ], + "exclude": [ + "**/node_modules/**" + ] + } + }, + "test": { + "builder": "@nrwl/builders:jest", + "options": { + "jestConfig": "libs/models/jest.config.js", + "tsConfig": "libs/models/tsconfig.spec.json", + "setupFile": "libs/models/src/test-setup.ts" + } + } + } + }, "navigator": { "root": "libs/navigator", "sourceRoot": "libs/navigator/src", diff --git a/apps/backend/README.md b/apps/backend/README.md new file mode 100644 index 000000000..280c3d45f --- /dev/null +++ b/apps/backend/README.md @@ -0,0 +1,17 @@ +Backend +======= + + + +### Run +```bash + ng serve backend +``` + +Use `Experiments/Upload` UI or postman to test File [upload](https://stackoverflow.com/questions/16015548/tool-for-sending-multipart-form-data-request) +> Uploaded files will be in `dist/apps/backend/uploads/` + + +### Reference +* File Upload + * https://malcoded.com/posts/angular-file-upload-component-with-express diff --git a/apps/backend/jest.config.js b/apps/backend/jest.config.js new file mode 100644 index 000000000..6038febf6 --- /dev/null +++ b/apps/backend/jest.config.js @@ -0,0 +1,5 @@ +module.exports = { + name: 'backend', + preset: '../../jest.config.js', + coverageDirectory: '../../coverage/apps/backend' +}; diff --git a/apps/backend/src/app/.gitkeep b/apps/backend/src/app/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/apps/backend/src/assets/.gitkeep b/apps/backend/src/assets/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/apps/backend/src/environments/environment.prod.ts b/apps/backend/src/environments/environment.prod.ts new file mode 100644 index 000000000..3612073bc --- /dev/null +++ b/apps/backend/src/environments/environment.prod.ts @@ -0,0 +1,3 @@ +export const environment = { + production: true +}; diff --git a/apps/backend/src/environments/environment.ts b/apps/backend/src/environments/environment.ts new file mode 100644 index 000000000..ee37b495d --- /dev/null +++ b/apps/backend/src/environments/environment.ts @@ -0,0 +1,7 @@ +// This file can be replaced during build by using the `fileReplacements` array. +// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`. +// The list of file replacements can be found in `angular.json`. + +export const environment = { + production: false +}; diff --git a/apps/backend/src/main.ts b/apps/backend/src/main.ts new file mode 100644 index 000000000..007efc508 --- /dev/null +++ b/apps/backend/src/main.ts @@ -0,0 +1,26 @@ +import * as express from 'express'; +import upload from './upload'; +import * as cors from 'cors'; + +const app = express(); + +const corsOptions = { + origin: '*', + optionsSuccessStatus: 200 +}; + +app.use(cors(corsOptions)); + +app.post('/upload', upload); + +app.get('/', (req, res) => { + res.send(`Welcome to backend!`); +}); + +const port = 8000; +app.listen(port, (err) => { + if (err) { + console.error(err); + } + console.log(`Listening at http://localhost:${port}`); +}); diff --git a/apps/backend/src/upload.ts b/apps/backend/src/upload.ts new file mode 100755 index 000000000..e2edc2c3e --- /dev/null +++ b/apps/backend/src/upload.ts @@ -0,0 +1,42 @@ +import { IncomingForm } from 'formidable'; + +const path = require('path'); +const fs = require('fs'); +const uploadDir = path.join(path.resolve(__dirname), 'uploads'); + +if (!fs.existsSync(uploadDir)) { + console.log('making uploadDir...'); + fs.mkdirSync(uploadDir); +} + +function setupForm(form) { + form.type = 'multipart'; + form.multiples = true; + form.encoding = 'utf-8'; + form.maxFieldsSize = 52428800; + form.uploadDir = uploadDir; + form.keepExtensions = true; +} + +export default function upload(req, res) { + const form = new IncomingForm(); + + setupForm(form); + + form.on('file', (field, file) => { + // Do something with the file + // e.g. save it to the database + // you can access it using file.path + fs.renameSync(file.path, path.join(form.uploadDir, file.name)); + }); + + form.on('end', () => { + res.status(204).json({'message' : 'success' }); + }); + + form.on('error', (err) => { + console.log('An error has occured: \n' + err); + }); + + form.parse(req); +} diff --git a/apps/backend/tsconfig.app.json b/apps/backend/tsconfig.app.json new file mode 100644 index 000000000..b5ef1f411 --- /dev/null +++ b/apps/backend/tsconfig.app.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc/apps/backend", + "types": [] + }, + "exclude": ["**/*.spec.ts"], + "include": ["**/*.ts"] +} diff --git a/apps/backend/tsconfig.spec.json b/apps/backend/tsconfig.spec.json new file mode 100644 index 000000000..c1f42af98 --- /dev/null +++ b/apps/backend/tsconfig.spec.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc/apps/backend", + "module": "commonjs", + "types": ["jest", "node"] + }, + "include": ["**/*.spec.ts", "**/*.d.ts"] +} diff --git a/apps/backend/tslint.json b/apps/backend/tslint.json new file mode 100644 index 000000000..8e2f21b36 --- /dev/null +++ b/apps/backend/tslint.json @@ -0,0 +1,4 @@ +{ + "extends": "../../tslint.json", + "rules": {} +} diff --git a/libs/models/README.md b/libs/models/README.md new file mode 100644 index 000000000..5bde5755b --- /dev/null +++ b/libs/models/README.md @@ -0,0 +1,5 @@ +Models +======= + +Keep all system wide used models here, that are used in lazy loaded modules. +You might be able to share these models between frontend and backend. diff --git a/libs/models/jest.config.js b/libs/models/jest.config.js new file mode 100644 index 000000000..4dd3f455b --- /dev/null +++ b/libs/models/jest.config.js @@ -0,0 +1,5 @@ +module.exports = { + name: 'models', + preset: '../../jest.config.js', + coverageDirectory: '../../coverage/libs/models' +}; diff --git a/libs/models/src/index.ts b/libs/models/src/index.ts new file mode 100644 index 000000000..e69de29bb diff --git a/libs/models/src/lib/.gitkeep b/libs/models/src/lib/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/libs/models/src/test-setup.ts b/libs/models/src/test-setup.ts new file mode 100644 index 000000000..8d88704e8 --- /dev/null +++ b/libs/models/src/test-setup.ts @@ -0,0 +1 @@ +import 'jest-preset-angular'; diff --git a/libs/models/tsconfig.lib.json b/libs/models/tsconfig.lib.json new file mode 100644 index 000000000..a9ff00407 --- /dev/null +++ b/libs/models/tsconfig.lib.json @@ -0,0 +1,32 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc/libs/models", + "target": "es2015", + "module": "es2015", + "moduleResolution": "node", + "declaration": true, + "sourceMap": true, + "inlineSources": true, + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "importHelpers": true, + "types": [], + "lib": [ + "dom", + "es2015" + ] + }, + "angularCompilerOptions": { + "annotateForClosureCompiler": true, + "skipTemplateCodegen": true, + "strictMetadataEmit": true, + "fullTemplateTypeCheck": true, + "strictInjectionParameters": true, + "enableResourceInlining": true + }, + "exclude": [ + "src/test.ts", + "**/*.spec.ts" + ] +} diff --git a/libs/models/tsconfig.spec.json b/libs/models/tsconfig.spec.json new file mode 100644 index 000000000..b9b236583 --- /dev/null +++ b/libs/models/tsconfig.spec.json @@ -0,0 +1,10 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc/libs/models", + "module": "commonjs", + "types": ["jest", "node"] + }, + "files": ["src/test-setup.ts"], + "include": ["**/*.spec.ts", "**/*.d.ts"] +} diff --git a/libs/models/tslint.json b/libs/models/tslint.json new file mode 100644 index 000000000..f3d338df3 --- /dev/null +++ b/libs/models/tslint.json @@ -0,0 +1,17 @@ +{ + "extends": "../../tslint.json", + "rules": { + "directive-selector": [ + true, + "attribute", + "ngx-starter-kit", + "camelCase" + ], + "component-selector": [ + true, + "element", + "ngx-starter-kit", + "kebab-case" + ] + } +} diff --git a/nx.json b/nx.json index 96dd909c9..0a412340f 100644 --- a/nx.json +++ b/nx.json @@ -30,6 +30,11 @@ "api" ] }, + "backend": { + "tags": [ + "api-module" + ] + }, "navigator": { "tags": [ "private-module", @@ -203,6 +208,11 @@ "tags": [ "public-module" ] + }, + "models": { + "tags": [ + "utils" + ] } } } From 5034b6ed59ec8f697bb2cc4e286fd2c4968f45c9 Mon Sep 17 00:00:00 2001 From: xmlking Date: Tue, 9 Oct 2018 16:32:37 -0700 Subject: [PATCH 06/22] feat(experiments): added new example to showcase flex-layout with grid --- .gitignore | 1 - PLAYBOOK.md | 15 +++- apps/api/README.md | 3 + .../src/environments/environment.mock.ts | 1 + .../src/environments/environment.prod.ts | 1 + apps/webapp/src/environments/environment.ts | 1 + libs/core/src/lib/menu-data.ts | 5 ++ .../lib/components/card/card.component.html | 24 ++++++ .../lib/components/card/card.component.scss | 18 +++++ .../components/card/card.component.spec.ts | 25 ++++++ .../src/lib/components/card/card.component.ts | 12 +++ .../clap-button/clap-button.component.ts | 26 ++++-- .../file-upload/file-upload.component.ts | 23 +++++- .../file-upload/file-upload.service.ts | 19 +++++ .../image-comp/image-comp.component.html | 2 + .../image-comp/image-comp.component.ts | 7 ++ .../knob-demo/knob-demo.component.html | 2 + .../knob-demo/knob-demo.component.ts | 8 ++ .../containers/layout/layout.component.html | 24 ++++++ .../containers/layout/layout.component.scss | 6 ++ .../layout/layout.component.spec.ts | 25 ++++++ .../lib/containers/layout/layout.component.ts | 20 +++++ .../led-demo/led-demo.component.html | 4 +- .../led-demo/led-demo.component.scss | 6 ++ .../containers/led-demo/led-demo.component.ts | 6 ++ .../sticky-table/sticky-table.component.html | 2 + .../sticky-table/sticky-table.component.ts | 7 ++ .../virtual-scroll.component.html | 4 +- .../virtual-scroll.component.ts | 9 ++- .../experiments/src/lib/experiments.module.ts | 9 +++ package-lock.json | 81 +++++++++---------- package.json | 23 +++--- stories/faq.md | 3 + tsconfig.json | 3 + 34 files changed, 355 insertions(+), 70 deletions(-) create mode 100644 libs/experiments/src/lib/components/card/card.component.html create mode 100644 libs/experiments/src/lib/components/card/card.component.scss create mode 100644 libs/experiments/src/lib/components/card/card.component.spec.ts create mode 100644 libs/experiments/src/lib/components/card/card.component.ts create mode 100644 libs/experiments/src/lib/containers/file-upload/file-upload.service.ts create mode 100644 libs/experiments/src/lib/containers/layout/layout.component.html create mode 100644 libs/experiments/src/lib/containers/layout/layout.component.scss create mode 100644 libs/experiments/src/lib/containers/layout/layout.component.spec.ts create mode 100644 libs/experiments/src/lib/containers/layout/layout.component.ts diff --git a/.gitignore b/.gitignore index aabb2d279..6a63372d4 100644 --- a/.gitignore +++ b/.gitignore @@ -44,4 +44,3 @@ Thumbs.db ======= # Local todo -backend diff --git a/PLAYBOOK.md b/PLAYBOOK.md index 88f1194b2..82e0f72d3 100644 --- a/PLAYBOOK.md +++ b/PLAYBOOK.md @@ -108,8 +108,10 @@ ng update --all # generate webapp app ng g app webapp --routing --style=scss --prefix=ngx --unit-test-runner=jest --tags=app-module -# generate api app -ng g node-app api --framework=express --unit-test-runner=jest --tags=api-module --dry-run +# generate api app with nestjs +ng g node-app api --framework=express --unit-test-runner=jest --tags=api-module --dry-run +# generate backend app with express +ng g node-app backend --framework=express --unit-test-runner=jest --tags=api-module --dry-run ``` #### Dependencies @@ -208,6 +210,8 @@ ng g lib grid --routing --lazy --prefix=ngx --parent-module=libs/dashb ng g lib animations --module false -tags=utils --unit-test-runner=jest --dry-run ng g lib Tree --module false --publishable=true --tags=utils --unit-test-runner=jest --dry-run ng g lib utils --module false --tags=utils --unit-test-runner=jest --dry-run +# system wide models +ng g lib models --module false --tags=utils --unit-test-runner=jest --dry-run # add `core` module which will be only inported into root/app module. ng g lib core --prefix=ngx --tags=core-module --unit-test-runner=jest --dry-run @@ -380,16 +384,19 @@ ng g component containers/AccountsGridList --project=grid --dry-run # generate containers, components for `experiments` Module ng g component containers/animations --project=experiments --dry-run -ng g component containers/ContextMenu --project=experiments --dry-run -ng g component containers/FileUpload --project=experiments --dry-run ng g component components/hammerCard --project=experiments --dry-run ng g directive components/Hammertime/Hammertime --project=experiments --dry-run +ng g component containers/ContextMenu --project=experiments --dry-run +ng g component containers/FileUpload --project=experiments --dry-run ng g component containers/virtualScroll --project=experiments --dry-run ng g component containers/StickyTable --project=experiments --dry-run ng g component containers/clapButton --project=experiments -s -t --spec=false --dry-run ng g component containers/knobDemo --project=experiments --dry-run ng g component containers/ledDemo --project=experiments --dry-run ng g component containers/ImageComp --project=experiments --dry-run +ng g component containers/layout --project=experiments --dry-run +ng g component components/card --project=experiments --dry-run + # generate components for `ImageComparison` Module ng g lib ImageComparison --prefix=ngx --tags=public-module --spec=false --publishable=true --dry-run diff --git a/apps/api/README.md b/apps/api/README.md index 22286f9ab..fea825058 100755 --- a/apps/api/README.md +++ b/apps/api/README.md @@ -47,6 +47,9 @@ docker rm 82be5234c94a ```bash # start in watch mode npm run api:start:dev +# to turn on logging for `request` +NODE_DEBUG=request npm run api:start:dev +DEBUG=typeorm:* npm run api:start:dev # start npm run api:start diff --git a/apps/webapp/src/environments/environment.mock.ts b/apps/webapp/src/environments/environment.mock.ts index 71d6299a1..0644c1867 100644 --- a/apps/webapp/src/environments/environment.mock.ts +++ b/apps/webapp/src/environments/environment.mock.ts @@ -5,6 +5,7 @@ export const environment = { production: true, envName: 'mock', + DOCS_BASE_URL: 'http://localhost:8000', API_BASE_URL: 'http://localhost:3000/api', WS_EVENT_BUS_URL: 'ws://localhost:3000/eventbus', auth: { diff --git a/apps/webapp/src/environments/environment.prod.ts b/apps/webapp/src/environments/environment.prod.ts index cd241a63f..0bf90a90b 100644 --- a/apps/webapp/src/environments/environment.prod.ts +++ b/apps/webapp/src/environments/environment.prod.ts @@ -5,6 +5,7 @@ export const environment = { production: true, envName: 'prod', + DOCS_BASE_URL: 'http://localhost:8000', API_BASE_URL: 'http://localhost:3000/api', WS_EVENT_BUS_URL: 'ws://localhost:3000/eventbus', auth: { diff --git a/apps/webapp/src/environments/environment.ts b/apps/webapp/src/environments/environment.ts index 9a6a1ea95..c23dcce32 100644 --- a/apps/webapp/src/environments/environment.ts +++ b/apps/webapp/src/environments/environment.ts @@ -8,6 +8,7 @@ export const environment = { production: false, envName: 'dev', + DOCS_BASE_URL: 'http://localhost:8000', API_BASE_URL: 'http://localhost:3000/api', WS_EVENT_BUS_URL: 'ws://localhost:3000/eventbus', auth: { diff --git a/libs/core/src/lib/menu-data.ts b/libs/core/src/lib/menu-data.ts index d61214f8c..65a5404c6 100644 --- a/libs/core/src/lib/menu-data.ts +++ b/libs/core/src/lib/menu-data.ts @@ -67,6 +67,11 @@ export const defaultMenu: MenuItem[] = [ icon: 'directions', link: '/dashboard/experiments/knob', }, + { + name: 'Layout', + icon: 'apps', + link: '/dashboard/experiments/layout', + }, // { // name: 'Microinteractions', // icon: 'casino', diff --git a/libs/experiments/src/lib/components/card/card.component.html b/libs/experiments/src/lib/components/card/card.component.html new file mode 100644 index 000000000..8ac478868 --- /dev/null +++ b/libs/experiments/src/lib/components/card/card.component.html @@ -0,0 +1,24 @@ +
        + +
        + Header +
        + +
        + Side +
        + +
        + Content +
        + + +
        diff --git a/libs/experiments/src/lib/components/card/card.component.scss b/libs/experiments/src/lib/components/card/card.component.scss new file mode 100644 index 000000000..8c492d640 --- /dev/null +++ b/libs/experiments/src/lib/components/card/card.component.scss @@ -0,0 +1,18 @@ +:host { + display: block; + padding: 32px; + border: 1px solid black; + border-radius: 8px; +} +.header { + background-color: #e3e3e3; +} +.side { + background-color: #e3e3ff; +} +.content { + background-color: #e3ffe3; +} +.footer { + background-color: #ffe3e3; +} diff --git a/libs/experiments/src/lib/components/card/card.component.spec.ts b/libs/experiments/src/lib/components/card/card.component.spec.ts new file mode 100644 index 000000000..e141708ac --- /dev/null +++ b/libs/experiments/src/lib/components/card/card.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { CardComponent } from './card.component'; + +describe('CardComponent', () => { + let component: CardComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ CardComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(CardComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/libs/experiments/src/lib/components/card/card.component.ts b/libs/experiments/src/lib/components/card/card.component.ts new file mode 100644 index 000000000..2041591e6 --- /dev/null +++ b/libs/experiments/src/lib/components/card/card.component.ts @@ -0,0 +1,12 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'ngx-card', + templateUrl: './card.component.html', + styleUrls: ['./card.component.scss'] +}) +export class CardComponent { + + constructor() { } + +} diff --git a/libs/experiments/src/lib/containers/clap-button/clap-button.component.ts b/libs/experiments/src/lib/containers/clap-button/clap-button.component.ts index 6c6debe62..461b895d0 100644 --- a/libs/experiments/src/lib/containers/clap-button/clap-button.component.ts +++ b/libs/experiments/src/lib/containers/clap-button/clap-button.component.ts @@ -1,18 +1,27 @@ import { Component, OnInit } from '@angular/core'; +import { Crumb } from '@ngx-starter-kit/breadcrumbs'; @Component({ selector: 'app-clap-button', template: ` - - + +
        + + +
        `, styles: [ ` :host { + display: block; + padding: 1.5%; + position: relative; + } + .container { min-height: 100vh; display: flex; justify-content: center; @@ -22,6 +31,11 @@ import { Component, OnInit } from '@angular/core'; ], }) export class ClapButtonComponent { + crumbs: ReadonlyArray = [ + { name: 'Dashboard', link: '/dashboard' }, + { name: 'Experiments', link: '/dashboard/experiments' }, + { name: 'Clap Button' }, + ]; userCounter = 0; get totalCounter() { diff --git a/libs/experiments/src/lib/containers/file-upload/file-upload.component.ts b/libs/experiments/src/lib/containers/file-upload/file-upload.component.ts index 1c51cabac..deb564baf 100644 --- a/libs/experiments/src/lib/containers/file-upload/file-upload.component.ts +++ b/libs/experiments/src/lib/containers/file-upload/file-upload.component.ts @@ -1,11 +1,15 @@ import { Component, ViewChild } from '@angular/core'; -import { MatDialog } from '@angular/material'; +import { MatSnackBar } from '@angular/material'; import { Crumb } from '@ngx-starter-kit/breadcrumbs'; +import { FileUploadService } from './file-upload.service'; @Component({ selector: 'ngx-file-upload', templateUrl: './file-upload.component.html', styleUrls: ['./file-upload.component.scss'], + providers: [ + FileUploadService + ] }) export class FileUploadComponent { crumbs: ReadonlyArray = [ @@ -24,6 +28,21 @@ export class FileUploadComponent { const formData = new FormData(); formData.append(fieldName, file, file.name); formData.append(fieldName, JSON.stringify(metadata)); + this.uploadService.uploadFile(file, {}, 'tenant1').subscribe( + data => { + this.myPond.removeFiles(); + this.snackBar.open(`Uploaded Successfully`, '', { + duration: 3000 + }); + }, + err => { + console.error(`File Upload Error: ${err.message}`); + this.snackBar.open(`File Upload Error: ${err.message}`, '', { + duration: 3000 + }); + } + ); + // Progress indicator supported, set progress to 25% of 1 progress(true, 0.25, 1); @@ -102,7 +121,7 @@ export class FileUploadComponent { acceptedFileTypes: 'image/*, application/pdf, application/*, text/plain, text/csv, .vsd', }; - constructor(public dialog: MatDialog) {} + constructor(public snackBar: MatSnackBar, private uploadService: FileUploadService) {} pondHandleInit() { console.log('FilePond has initialised', this.myPond); diff --git a/libs/experiments/src/lib/containers/file-upload/file-upload.service.ts b/libs/experiments/src/lib/containers/file-upload/file-upload.service.ts new file mode 100644 index 000000000..8073d0383 --- /dev/null +++ b/libs/experiments/src/lib/containers/file-upload/file-upload.service.ts @@ -0,0 +1,19 @@ +import { Injectable } from '@angular/core'; +import { HttpClient, HttpHeaders } from '@angular/common/http'; +import { environment } from '@env/environment'; + + +@Injectable() +export class FileUploadService { + baseUrl = environment.DOCS_BASE_URL; + constructor(private httpClient: HttpClient) {} + + uploadFile(file, user, tenantId) { + const formData = new FormData(); + formData.append('file', file); + formData.append('tenant', tenantId); + formData.append('user', user); + const headers = new HttpHeaders(); + return this.httpClient.post(`${this.baseUrl}/upload`, formData, { headers, responseType: 'text' }); + } +} diff --git a/libs/experiments/src/lib/containers/image-comp/image-comp.component.html b/libs/experiments/src/lib/containers/image-comp/image-comp.component.html index 00983066e..9af39ed9b 100644 --- a/libs/experiments/src/lib/containers/image-comp/image-comp.component.html +++ b/libs/experiments/src/lib/containers/image-comp/image-comp.component.html @@ -1,3 +1,5 @@ + + first image second image diff --git a/libs/experiments/src/lib/containers/image-comp/image-comp.component.ts b/libs/experiments/src/lib/containers/image-comp/image-comp.component.ts index 8e8cdb374..02082ff88 100644 --- a/libs/experiments/src/lib/containers/image-comp/image-comp.component.ts +++ b/libs/experiments/src/lib/containers/image-comp/image-comp.component.ts @@ -1,4 +1,5 @@ import { Component, OnInit } from '@angular/core'; +import { Crumb } from '@ngx-starter-kit/breadcrumbs'; @Component({ selector: 'ngx-image-comp', @@ -6,6 +7,12 @@ import { Component, OnInit } from '@angular/core'; styleUrls: ['./image-comp.component.scss'], }) export class ImageCompComponent implements OnInit { + crumbs: ReadonlyArray = [ + { name: 'Dashboard', link: '/dashboard' }, + { name: 'Experiments', link: '/dashboard/experiments' }, + { name: 'Image Comp Demo' }, + ]; + constructor() {} ngOnInit() {} diff --git a/libs/experiments/src/lib/containers/knob-demo/knob-demo.component.html b/libs/experiments/src/lib/containers/knob-demo/knob-demo.component.html index 7fb6e7ef3..788a0d59b 100644 --- a/libs/experiments/src/lib/containers/knob-demo/knob-demo.component.html +++ b/libs/experiments/src/lib/containers/knob-demo/knob-demo.component.html @@ -1,3 +1,5 @@ + +
        diff --git a/libs/experiments/src/lib/containers/knob-demo/knob-demo.component.ts b/libs/experiments/src/lib/containers/knob-demo/knob-demo.component.ts index 588f9edb7..be330d6cb 100644 --- a/libs/experiments/src/lib/containers/knob-demo/knob-demo.component.ts +++ b/libs/experiments/src/lib/containers/knob-demo/knob-demo.component.ts @@ -1,4 +1,5 @@ import { Component, OnInit } from '@angular/core'; +import { Crumb } from '@ngx-starter-kit/breadcrumbs'; @Component({ selector: 'ngx-knob-demo', @@ -6,6 +7,13 @@ import { Component, OnInit } from '@angular/core'; styleUrls: ['./knob-demo.component.scss'], }) export class KnobDemoComponent implements OnInit { + + crumbs: ReadonlyArray = [ + { name: 'Dashboard', link: '/dashboard' }, + { name: 'Experiments', link: '/dashboard/experiments' }, + { name: 'Knob Demo' }, + ]; + value1 = 256; options1 = { startAngle: 30, diff --git a/libs/experiments/src/lib/containers/layout/layout.component.html b/libs/experiments/src/lib/containers/layout/layout.component.html new file mode 100644 index 000000000..87cb50ea2 --- /dev/null +++ b/libs/experiments/src/lib/containers/layout/layout.component.html @@ -0,0 +1,24 @@ + + +
        + + + + +
        + + +
        + +
        +
        + +


        + + + diff --git a/libs/experiments/src/lib/containers/layout/layout.component.scss b/libs/experiments/src/lib/containers/layout/layout.component.scss new file mode 100644 index 000000000..a8f3e9840 --- /dev/null +++ b/libs/experiments/src/lib/containers/layout/layout.component.scss @@ -0,0 +1,6 @@ +:host { + display: block; + padding: 1.5%; + position: relative; +} + diff --git a/libs/experiments/src/lib/containers/layout/layout.component.spec.ts b/libs/experiments/src/lib/containers/layout/layout.component.spec.ts new file mode 100644 index 000000000..c4d6365d7 --- /dev/null +++ b/libs/experiments/src/lib/containers/layout/layout.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { LayoutComponent } from './layout.component'; + +describe('LayoutComponent', () => { + let component: LayoutComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ LayoutComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(LayoutComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/libs/experiments/src/lib/containers/layout/layout.component.ts b/libs/experiments/src/lib/containers/layout/layout.component.ts new file mode 100644 index 000000000..cff1ae496 --- /dev/null +++ b/libs/experiments/src/lib/containers/layout/layout.component.ts @@ -0,0 +1,20 @@ +import { Component, OnInit } from '@angular/core'; +import { Crumb } from '@ngx-starter-kit/breadcrumbs'; + +@Component({ + selector: 'ngx-layout', + templateUrl: './layout.component.html', + styleUrls: ['./layout.component.scss'] +}) +export class LayoutComponent implements OnInit { + crumbs: ReadonlyArray = [ + { name: 'Dashboard', link: '/dashboard' }, + { name: 'Experiments', link: '/dashboard/experiments' }, + { name: 'Layout Demo' }, + ]; + constructor() { } + + ngOnInit() { + } + +} diff --git a/libs/experiments/src/lib/containers/led-demo/led-demo.component.html b/libs/experiments/src/lib/containers/led-demo/led-demo.component.html index 83d9b6383..e71d20c2f 100644 --- a/libs/experiments/src/lib/containers/led-demo/led-demo.component.html +++ b/libs/experiments/src/lib/containers/led-demo/led-demo.component.html @@ -1,4 +1,6 @@ -
        + + +
        diff --git a/libs/experiments/src/lib/containers/led-demo/led-demo.component.scss b/libs/experiments/src/lib/containers/led-demo/led-demo.component.scss index b47455fbb..fd4d740ba 100644 --- a/libs/experiments/src/lib/containers/led-demo/led-demo.component.scss +++ b/libs/experiments/src/lib/containers/led-demo/led-demo.component.scss @@ -1,4 +1,10 @@ :host { + display: block; + padding: 1.5%; + position: relative; +} + +.container { min-height: 100vh; display: flex; justify-content: center; diff --git a/libs/experiments/src/lib/containers/led-demo/led-demo.component.ts b/libs/experiments/src/lib/containers/led-demo/led-demo.component.ts index 6a10b3692..dbaae6587 100644 --- a/libs/experiments/src/lib/containers/led-demo/led-demo.component.ts +++ b/libs/experiments/src/lib/containers/led-demo/led-demo.component.ts @@ -1,4 +1,5 @@ import { Component, OnInit } from '@angular/core'; +import { Crumb } from '@ngx-starter-kit/breadcrumbs'; @Component({ selector: 'ngx-led-demo', @@ -6,6 +7,11 @@ import { Component, OnInit } from '@angular/core'; styleUrls: ['./led-demo.component.scss'], }) export class LedDemoComponent implements OnInit { + crumbs: ReadonlyArray = [ + { name: 'Dashboard', link: '/dashboard' }, + { name: 'Experiments', link: '/dashboard/experiments' }, + { name: 'Led Demo' }, + ]; constructor() {} ngOnInit() {} diff --git a/libs/experiments/src/lib/containers/sticky-table/sticky-table.component.html b/libs/experiments/src/lib/containers/sticky-table/sticky-table.component.html index aa007efd4..6e1cae68c 100644 --- a/libs/experiments/src/lib/containers/sticky-table/sticky-table.component.html +++ b/libs/experiments/src/lib/containers/sticky-table/sticky-table.component.html @@ -1,3 +1,5 @@ + +
        diff --git a/libs/experiments/src/lib/containers/sticky-table/sticky-table.component.ts b/libs/experiments/src/lib/containers/sticky-table/sticky-table.component.ts index c47a020e3..7ee25c4bc 100644 --- a/libs/experiments/src/lib/containers/sticky-table/sticky-table.component.ts +++ b/libs/experiments/src/lib/containers/sticky-table/sticky-table.component.ts @@ -1,5 +1,6 @@ import { AfterViewInit, Component, ViewChild } from '@angular/core'; import { MatPaginator, MatTableDataSource } from '@angular/material'; +import { Crumb } from '@ngx-starter-kit/breadcrumbs'; /* tslint:disable:max-line-length */ const ELEMENT_DATA: Element[] = [ @@ -266,6 +267,12 @@ const ELEMENT_DATA: Element[] = [ styleUrls: ['./sticky-table.component.scss'], }) export class StickyTableComponent implements AfterViewInit { + crumbs: ReadonlyArray = [ + { name: 'Dashboard', link: '/dashboard' }, + { name: 'Experiments', link: '/dashboard/experiments' }, + { name: 'Sticky Table' }, + ]; + displayedColumns = [ 'position', 'name', diff --git a/libs/experiments/src/lib/containers/virtual-scroll/virtual-scroll.component.html b/libs/experiments/src/lib/containers/virtual-scroll/virtual-scroll.component.html index 278ef0746..f9c60f8f6 100644 --- a/libs/experiments/src/lib/containers/virtual-scroll/virtual-scroll.component.html +++ b/libs/experiments/src/lib/containers/virtual-scroll/virtual-scroll.component.html @@ -1,4 +1,5 @@ - + + @@ -8,4 +9,3 @@
        {{state.capital}}
        - diff --git a/libs/experiments/src/lib/containers/virtual-scroll/virtual-scroll.component.ts b/libs/experiments/src/lib/containers/virtual-scroll/virtual-scroll.component.ts index 7967605c0..fc18c3eca 100644 --- a/libs/experiments/src/lib/containers/virtual-scroll/virtual-scroll.component.ts +++ b/libs/experiments/src/lib/containers/virtual-scroll/virtual-scroll.component.ts @@ -1,5 +1,6 @@ import { Component, OnInit, ViewEncapsulation } from '@angular/core'; import { BehaviorSubject } from 'rxjs'; +import { Crumb } from '@ngx-starter-kit/breadcrumbs'; interface State { name: string; @@ -9,10 +10,14 @@ interface State { @Component({ selector: 'ngx-virtual-scroll', templateUrl: './virtual-scroll.component.html', - styleUrls: ['./virtual-scroll.component.scss'], - encapsulation: ViewEncapsulation.None, + styleUrls: ['./virtual-scroll.component.scss'] }) export class VirtualScrollComponent implements OnInit { + crumbs: ReadonlyArray = [ + { name: 'Dashboard', link: '/dashboard' }, + { name: 'Experiments', link: '/dashboard/experiments' }, + { name: 'Virtual Scroll' }, + ]; observableData = new BehaviorSubject([]); states = [ { name: 'Alabama', capital: 'Montgomery' }, diff --git a/libs/experiments/src/lib/experiments.module.ts b/libs/experiments/src/lib/experiments.module.ts index f89c36aa7..a7b91692a 100644 --- a/libs/experiments/src/lib/experiments.module.ts +++ b/libs/experiments/src/lib/experiments.module.ts @@ -25,6 +25,8 @@ import { ImageCompComponent } from './containers/image-comp/image-comp.component import * as FilePondPluginFileValidateType from 'filepond-plugin-file-validate-type'; import * as FilepondPluginFileValidateSize from 'filepond-plugin-file-validate-size'; import * as FilepondPluginImagePreview from 'filepond-plugin-image-preview'; +import { LayoutComponent } from './containers/layout/layout.component'; +import { CardComponent } from './components/card/card.component'; registerPlugin(FilePondPluginFileValidateType, FilepondPluginFileValidateSize, FilepondPluginImagePreview); @@ -87,6 +89,11 @@ registerPlugin(FilePondPluginFileValidateType, FilepondPluginFileValidateSize, F component: ImageCompComponent, data: { animation: 'imagecomp' }, }, + { + path: 'layout', + component: LayoutComponent, + data: { animation: 'layout' }, + }, ]), ], declarations: [ @@ -100,6 +107,8 @@ registerPlugin(FilePondPluginFileValidateType, FilepondPluginFileValidateSize, F KnobDemoComponent, LedDemoComponent, ImageCompComponent, + LayoutComponent, + CardComponent, ], }) export class ExperimentsModule {} diff --git a/package-lock.json b/package-lock.json index babc7fb22..84fca3a54 100644 --- a/package-lock.json +++ b/package-lock.json @@ -205,18 +205,18 @@ } }, "@angular/cdk": { - "version": "7.0.0-rc.0", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-7.0.0-rc.0.tgz", - "integrity": "sha512-lx87ZeP4iF9n+pf+VO1MP1TqxKLDsnICfI803S1CX/hBT2F6zKwcRSp0AtkpjplqxtKOnjuNw8+67O5vk6q2BA==", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-7.0.0-rc.1.tgz", + "integrity": "sha512-JI8j+vxRrBpqIkvUW9TvR9MdlxAodVV0FIreS7boZJaGQa6XuBYfmM9JRhKEZgTg/si8aArxQ4eYh5tdGsUjkA==", "requires": { "parse5": "^5.0.0", "tslib": "^1.7.1" } }, "@angular/cdk-experimental": { - "version": "7.0.0-rc.0", - "resolved": "https://registry.npmjs.org/@angular/cdk-experimental/-/cdk-experimental-7.0.0-rc.0.tgz", - "integrity": "sha512-ZKEAOLiNKvPeG9OC6YI2WjDNyCnQ1saIKYb7u9yHmvur7m06Yj8jF+DjmqJEDXEe5LUZSEfZvtpVga9G0lPbyQ==", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/cdk-experimental/-/cdk-experimental-7.0.0-rc.1.tgz", + "integrity": "sha512-bCoJ1bLsor1S3ScTHMM6jWwpSt2KHQC99/o92pai+OQKQIAjxIexFMYrdYektaiICoEYz45z5kbRjx2uaPkh7w==", "requires": { "tslib": "^1.7.1" } @@ -492,18 +492,18 @@ "dev": true }, "@angular/material": { - "version": "7.0.0-rc.0", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-7.0.0-rc.0.tgz", - "integrity": "sha512-E6YBKUEefYsBxWmJZlBtibTBvNTyVNL1LcZ6IsLrNv6Ye3IHdiMFTrNCImTW03eeVPvGYoEFLv3vRRwtETb6wA==", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-7.0.0-rc.1.tgz", + "integrity": "sha512-4LC3y5ZorNjdF1lEkVN/3zwOEnBwjfWLCY92tA06Kdvs1yENZdu0fGTRwcu9Hz4y+t84sL/KEKC9VjKN3Z7PSg==", "requires": { "parse5": "^5.0.0", "tslib": "^1.7.1" } }, "@angular/material-moment-adapter": { - "version": "7.0.0-rc.0", - "resolved": "https://registry.npmjs.org/@angular/material-moment-adapter/-/material-moment-adapter-7.0.0-rc.0.tgz", - "integrity": "sha512-XMt8Pixqkh70BHs2lJzV8Tv94yaP0tX+esW7ZQ6nXgNx3IEy+1ucckvaYVezT8DHyRn5fXleE2QsMa0brwfIDg==", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/material-moment-adapter/-/material-moment-adapter-7.0.0-rc.1.tgz", + "integrity": "sha512-JYXtxlRT3BL2er3o+v+nHMfTpjPqDI4r10RyGa50LkobO6/PG04eo8NsLrDftn3EpI/jIwT8b4gXurtCqgqlZg==", "requires": { "tslib": "^1.7.1" } @@ -1074,40 +1074,40 @@ } }, "@fortawesome/angular-fontawesome": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@fortawesome/angular-fontawesome/-/angular-fontawesome-0.2.0.tgz", - "integrity": "sha512-iBaH3ulJh+WjaNHqDxoKR6D4udgY+C7FChVSFOv0u7rjdT8wd0ap5YS1QHA82K0dfkUAvlEA4l5wtDtUpG679A==", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@fortawesome/angular-fontawesome/-/angular-fontawesome-0.2.1.tgz", + "integrity": "sha512-B77fIEjq9bgHGncx5sfFuANh6qow6+MLHbU6C7lMIdeLXykkWTWOiPk+CqlmPOYXIpUH1lNaVykgTSqAk65pIw==", "requires": { "tslib": "^1.9.0" } }, "@fortawesome/fontawesome-common-types": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.4.tgz", - "integrity": "sha512-0qbIVm+MzkxMwKDx8V0C7w/6Nk+ZfBseOn2R1YK0f2DQP5pBcOQbu9NmaVaLzbJK6VJb1TuyTf0ZF97rc6iWJQ==" + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.5.tgz", + "integrity": "sha512-hkKASkxINPqAyhYDF9QVtDK02hcleUzGxXnGmFkF/fIJgHaGaI4lVV07OfLsC6KIlgXQfIAAf3PNR2C74HN6xg==" }, "@fortawesome/fontawesome-svg-core": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.4.tgz", - "integrity": "sha512-oGtnwcdhJomoDxbJcy6S0JxK6ItDhJLNOujm+qILPqajJ2a0P/YRomzBbixFjAPquCoyPUlA9g9ejA22P7TKNA==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.5.tgz", + "integrity": "sha512-5q/3JyLg4sxEfk3VxBlBO7Rvl7rLvcEbKrWIGN0Y9xnjkPLIqdP9fgnetjCi3rNzhQjSzTyOgVG0M0I0KabXHw==", "requires": { - "@fortawesome/fontawesome-common-types": "^0.2.4" + "@fortawesome/fontawesome-common-types": "^0.2.5" } }, "@fortawesome/free-brands-svg-icons": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.3.1.tgz", - "integrity": "sha512-CmvAgNVvfBvNFiPLFugmafNzU6t9auy1kGDv+U6Q81XD/QS7FsnJk8pnPftFnaoXJOlpchVNxz31tNjorM3LOQ==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.4.0.tgz", + "integrity": "sha512-X4+m/+Akd4Kt4jAD2tK9WNcm1T5EOnHB6HscX0dJpj6YJJfrGXXBFN5RPxM+9k5qOrWkT3X2eS0PGDK/M4BPKw==", "requires": { - "@fortawesome/fontawesome-common-types": "^0.2.4" + "@fortawesome/fontawesome-common-types": "^0.2.5" } }, "@fortawesome/free-solid-svg-icons": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.3.1.tgz", - "integrity": "sha512-NkiLBFoiHtJ89cPJdM+W6cLvTVKkLh3j9t3MxkXyip0ncdD3lhCunSuzvFcrTHWeETEyoClGd8ZIWrr3HFZ3BA==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.4.0.tgz", + "integrity": "sha512-+9k7KO8wJbUIa88U2s712r5WAxZuFNb2RTE9AASMMb5VYAWsVGfhLAOkDAkI92RDLjN3Y2NK+2vt8A5uNxCuYQ==", "requires": { - "@fortawesome/fontawesome-common-types": "^0.2.4" + "@fortawesome/fontawesome-common-types": "^0.2.5" } }, "@marionebl/sander": { @@ -2605,9 +2605,9 @@ } }, "@types/jest": { - "version": "23.3.3", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-23.3.3.tgz", - "integrity": "sha512-G6EBrbjWDfmIpYu8UcRBOhwtDiYaLj5N5jUR5rx0YvbKxRBhXPZVLUmtfShewSUNKiQwpHavpML69a2WMbIlEQ==", + "version": "23.3.4", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-23.3.4.tgz", + "integrity": "sha512-46jSw0QMerCRkhJZbOwPA0Eb9T1p74HtECsfa0GXdgjkenSGhgvK96w+e2PEPu4GF0/brUK5WQKq/rUQQFyAxA==", "dev": true }, "@types/json5": { @@ -2637,9 +2637,9 @@ "integrity": "sha512-A2TAGbTFdBw9azHbpVd+/FkdW2T6msN1uct1O9bH3vTerEHKZhTXJUQXy+hNq1B0RagfU8U+KBdqiZpxjhOUQA==" }, "@types/node": { - "version": "10.11.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.11.4.tgz", - "integrity": "sha512-ojnbBiKkZFYRfQpmtnnWTMw+rzGp/JiystjluW9jgN3VzRwilXddJ6aGQ9V/7iuDG06SBgn7ozW9k3zcAnYjYQ==" + "version": "10.11.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.11.5.tgz", + "integrity": "sha512-3j1EFLfrjYRHRFjBb+RIXXwr1YGzcfpQVMP39thZa6tMY+JjVgQddPF+hsdV800JqbuLwpwAWclDpbGSAw44vQ==" }, "@types/nodemailer": { "version": "4.6.5", @@ -7528,9 +7528,9 @@ } }, "dotenv": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.0.0.tgz", - "integrity": "sha512-FlWbnhgjtwD+uNLUGHbMykMOYQaTivdHEmYwAKFjn6GKe/CqY0fNae93ZHTd20snh9ZLr8mTzIL9m0APQ1pjQg==" + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.1.0.tgz", + "integrity": "sha512-/veDn2ztgRlB7gKmE3i9f6CmDIyXAy6d5nBq+whO9SLX+Zs1sXEgFLPi+aSuWqUuusMfbi84fT8j34fs1HaYUw==" }, "duplexer": { "version": "0.1.1", @@ -8993,8 +8993,7 @@ "formidable": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz", - "integrity": "sha512-Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg==", - "dev": true + "integrity": "sha512-Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg==" }, "forwarded": { "version": "0.1.2", diff --git a/package.json b/package.json index 1a86bf7e2..a34586b6d 100644 --- a/package.json +++ b/package.json @@ -111,24 +111,24 @@ "private": true, "dependencies": { "@angular/animations": "^6.1.9", - "@angular/cdk": "^7.0.0-rc.0", - "@angular/cdk-experimental": "^7.0.0-rc.0", + "@angular/cdk": "^7.0.0-rc.1", + "@angular/cdk-experimental": "^7.0.0-rc.1", "@angular/common": "^6.1.9", "@angular/compiler": "^6.1.9", "@angular/core": "^6.1.9", "@angular/flex-layout": "^6.0.0-beta.18", "@angular/forms": "^6.1.9", - "@angular/material": "^7.0.0-rc.0", - "@angular/material-moment-adapter": "^7.0.0-rc.0", + "@angular/material": "^7.0.0-rc.1", + "@angular/material-moment-adapter": "^7.0.0-rc.1", "@angular/platform-browser": "^6.1.9", "@angular/platform-browser-dynamic": "^6.1.9", "@angular/pwa": "^0.8.4", "@angular/router": "^6.1.9", "@angular/service-worker": "^6.1.9", - "@fortawesome/angular-fontawesome": "^0.2.0", - "@fortawesome/fontawesome-svg-core": "^1.2.4", - "@fortawesome/free-brands-svg-icons": "^5.3.1", - "@fortawesome/free-solid-svg-icons": "^5.3.1", + "@fortawesome/angular-fontawesome": "^0.2.1", + "@fortawesome/fontawesome-svg-core": "^1.2.5", + "@fortawesome/free-brands-svg-icons": "^5.4.0", + "@fortawesome/free-solid-svg-icons": "^5.4.0", "@nestjs/common": "^5.3.11", "@nestjs/core": "^5.3.11", "@nestjs/elasticsearch": "^0.1.2", @@ -157,12 +157,13 @@ "core-js": "^2.5.7", "d3": "^4.13.0", "d3-selection-multi": "^1.0.1", - "dotenv": "^6.0.0", + "dotenv": "^6.1.0", "filepond-plugin-file-encode": "^2.0.0", "filepond-plugin-file-validate-size": "^1.0.4", "filepond-plugin-file-validate-type": "^1.1.0", "filepond-plugin-image-crop": "^2.0.0", "filepond-plugin-image-preview": "^3.0.0", + "formidable": "^1.2.1", "hammerjs": "^2.0.8", "helmet": "^3.13.0", "nest-router": "^1.0.7", @@ -205,8 +206,8 @@ "@types/dotenv": "^4.0.3", "@types/hammerjs": "^2.0.36", "@types/helmet": "^0.0.42", - "@types/jest": "^23.3.3", - "@types/node": "^10.11.4", + "@types/jest": "^23.3.4", + "@types/node": "^10.11.5", "@types/nodemailer": "^4.6.5", "@types/passport": "0.4.6", "@types/passport-jwt": "^3.0.1", diff --git a/stories/faq.md b/stories/faq.md index 13d4a38f2..9a97f8cb3 100644 --- a/stories/faq.md +++ b/stories/faq.md @@ -34,6 +34,9 @@ type `ng.profiler.timeChangeDetection();` in console. > Refer [here](https://github.com/angular/flex-layout/wiki/Responsive-API) > Refer [here](https://medium.com/@nima_ap/creating-a-responsive-dashboard-in-angular-5-from-scratch-147f6a493d9e) +* How to use flex grid? +> Refer [Flexbox and Grid Layout for Angular Component](https://blog.angularindepth.com/angular-flex-layout-flexbox-and-grid-layout-for-angular-component-6e7c24457b63) + * How implement Progressive Web Applications (PWA) with Service Workers? > Refer [here](https://medium.com/codingthesmartway-com-blog/angular-5-service-worker-b722e571e306) diff --git a/tsconfig.json b/tsconfig.json index b6d36a6f6..210ba01e4 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -27,6 +27,9 @@ "@api-env/*": [ "apps/api/src/environments/*" ], + "@ngx-starter-kit/models": [ + "libs/models/src/index.ts" + ], "@ngx-starter-kit/core": [ "libs/core/src/index.ts" ], From e4c39ef032960b014706937b8273b5451aab227d Mon Sep 17 00:00:00 2001 From: xmlking Date: Wed, 10 Oct 2018 13:28:30 -0700 Subject: [PATCH 07/22] build(dependencies): updated angular to 6.1.10 --- package-lock.json | 164 +++++++++++++++++++++++++--------------------- package.json | 34 +++++----- 2 files changed, 106 insertions(+), 92 deletions(-) diff --git a/package-lock.json b/package-lock.json index 84fca3a54..d5a1b9b3d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -197,9 +197,9 @@ } }, "@angular/animations": { - "version": "6.1.9", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-6.1.9.tgz", - "integrity": "sha512-bPl5fNn4ja1S2Bn4xRT93wYqx0KjvZrX1FjpQltkf9dMmAdVpYj7spy+eYgClAMfZMWv7pa70F+FtSDkWbgRsA==", + "version": "6.1.10", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-6.1.10.tgz", + "integrity": "sha512-dd/lq7kw3uwfHPICan8psu2nthuUpp7PvMLuNIm0XxObZ4oNs0ls6uxKEDPnEkRKoGdiJpvmsyzZZN9ACMPEAA==", "requires": { "tslib": "^1.9.0" } @@ -273,25 +273,25 @@ } }, "@angular/common": { - "version": "6.1.9", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-6.1.9.tgz", - "integrity": "sha512-i35FiFxHC/vBfyYEdprgbedxWuimCbqGSdSQpBUE4jNka80EifG2IAHIk/vAG98z7LSUyo6n7nf6iFDY3GrYZA==", + "version": "6.1.10", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-6.1.10.tgz", + "integrity": "sha512-73xxTSYJNKfiJ7C1Ajg+sz5l8y+blb/vNgHYg7O3yem5zLBnfPpidJ1UGg4W4d2Y+jwUVJbZKh8SKJarqAJVUQ==", "requires": { "tslib": "^1.9.0" } }, "@angular/compiler": { - "version": "6.1.9", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-6.1.9.tgz", - "integrity": "sha512-TY6axB1c7VvYXf+ebFDq3Ej+edgii3CDxew8HnyTFAWeDF2Gh8io1vTYwtdyDka6U53ASaheM1HpiUjzvYH0jQ==", + "version": "6.1.10", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-6.1.10.tgz", + "integrity": "sha512-FPIb2j3zfoBwb6vo/u0gQeu70h8InGlSisBr3xMACs/35/pwB6kbQR+JQiUr0D7k6QApg7AuMkvq8aFNelg0aw==", "requires": { "tslib": "^1.9.0" } }, "@angular/compiler-cli": { - "version": "6.1.9", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-6.1.9.tgz", - "integrity": "sha512-/+Gh/I40KhwcLKiLpzYzZwPm78O2p6zxJxBmJA3gySCtl6iaxXq7wHvc63wa/6ESSvGWW0/WkZAr3m3GECx5Tg==", + "version": "6.1.10", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-6.1.10.tgz", + "integrity": "sha512-GCWdyeNQSnF4RfzO4A0+WHsNEgxKpl5arg4ldLSWMNkj/DrhMD4TnmxhR+IVY+7ieMkUBwpcuWRnjdOdnbmV+w==", "dev": true, "requires": { "chokidar": "^1.4.2", @@ -453,9 +453,9 @@ } }, "@angular/core": { - "version": "6.1.9", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-6.1.9.tgz", - "integrity": "sha512-V4XuBvQtS98guRV0Fq661hG9Ij0+4oWyHvIrnqZckuQ9D1G8NSJyZ/Lfh0kBB1cl+mnGe/J9XN1avW7liswDNQ==", + "version": "6.1.10", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-6.1.10.tgz", + "integrity": "sha512-61l3rIQTVdT45eOf6/fBJIeVmV10mcrxqS4N/1OWkuDT29YSJTZSxGcv8QjAyyutuhcqWWpO6gVRkN07rWmkPg==", "requires": { "tslib": "^1.9.0" } @@ -469,26 +469,26 @@ } }, "@angular/forms": { - "version": "6.1.9", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-6.1.9.tgz", - "integrity": "sha512-gNwTCA0nzUR4LlXWPdfYBA+chq4X9mvOBo46+M44TevNwEsip6iSZKp7no9O5dquALOZ2HpFRuRkPoH4lXuVYA==", + "version": "6.1.10", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-6.1.10.tgz", + "integrity": "sha512-zAPx2kMV1/FbP5DrY472Sd/ze1m+GS6T5ullZCtP392r62p2RkwzDCXieR51YiRJjZj3M6c3AcRND7PWBdXT7A==", "requires": { "tslib": "^1.9.0" } }, "@angular/http": { - "version": "6.1.9", - "resolved": "https://registry.npmjs.org/@angular/http/-/http-6.1.9.tgz", - "integrity": "sha512-Tm6SA7QIKGT4Bb+xlyPG+ZXrwniNwF+/ejsKcBar8xaligW4+R9oo5Ql6t4HpjafkWIPLBEXyxaiVq1nWPyz7g==", + "version": "6.1.10", + "resolved": "https://registry.npmjs.org/@angular/http/-/http-6.1.10.tgz", + "integrity": "sha512-LDsSqyexh8fj23y+G2oSGLWSZVhbxBBo2ehYHnRgH/jlp0pmZVLRaGgUMNSCVtZc1rxLzpEjZjtw+P+qlutAtw==", "dev": true, "requires": { "tslib": "^1.9.0" } }, "@angular/language-service": { - "version": "6.1.9", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-6.1.9.tgz", - "integrity": "sha512-xm3lbJYelyq02iLdS4gpymuHc8WadoPRCYMHW5Ond7kD+05JGt8smYEGOAcjSt0NJrpmkPWnTzlFlXxWYLQNdw==", + "version": "6.1.10", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-6.1.10.tgz", + "integrity": "sha512-nN29Ovomg21eL8acwOSUFAYwWFI1TuFwUgUu37ZssfVQrYdaV+BFx3yv3P0nKU90h3Hp+oIkWHd8U34UYrvBCg==", "dev": true }, "@angular/material": { @@ -509,17 +509,17 @@ } }, "@angular/platform-browser": { - "version": "6.1.9", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-6.1.9.tgz", - "integrity": "sha512-/OpLZxpAQW912DnY4/RX0VLYJJ+TaCWMVP/tg7CBYaPpeJve7GHXfZLSJ1p95RhnSyohTYtdtbHG0NDuG8dgqw==", + "version": "6.1.10", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-6.1.10.tgz", + "integrity": "sha512-CB7pqMwtgb7KjdHDAJlsXcs0rrU+2xQVaoOaqEfJtUrKhtGMLaZh8Qoic5l92SoGattkOw7SYarAOsWlAsVfvw==", "requires": { "tslib": "^1.9.0" } }, "@angular/platform-browser-dynamic": { - "version": "6.1.9", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-6.1.9.tgz", - "integrity": "sha512-PGng7UCrWc5gCNxKo94VSWq0SRdN4jUeTCnX7tEI//Qu+dQPolJkUHPgD9A5UH1pSOEYl/2z+S2bayu+z+9o2w==", + "version": "6.1.10", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-6.1.10.tgz", + "integrity": "sha512-DmBSUyFPoyKqkmBXyJ2CrP1oXDioeoBlPA8lmWUDUv2yBuoHIzIkdY/OkTZbdyu/QYa1hK2Jl9OlfoeoenKddg==", "requires": { "tslib": "^1.9.0" } @@ -543,17 +543,17 @@ } }, "@angular/router": { - "version": "6.1.9", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-6.1.9.tgz", - "integrity": "sha512-FQksj8DiiWiY9o/1Ppq335Lr3d5wW3Odzg3yWC3JgFN37GMdCQxX71TX5ls8JeVspTiOeP9Lty99vDgfIcl+9A==", + "version": "6.1.10", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-6.1.10.tgz", + "integrity": "sha512-tekI3dkdvd65oMoxjjgRA+16uDgPUBWHhYxids6pgO8vobZNtCo8VaVlcDyLUhdmtS5kONELx0iL5E2M0Y2Bag==", "requires": { "tslib": "^1.9.0" } }, "@angular/service-worker": { - "version": "6.1.9", - "resolved": "https://registry.npmjs.org/@angular/service-worker/-/service-worker-6.1.9.tgz", - "integrity": "sha512-tkPmuo1cX0EhVAA8DrucIQkGvae+jz0nFL/FL+tedm1yalrJs2TmUKLvJiIGgzsnBPEEJh8e7F9+7okPtFxrcA==", + "version": "6.1.10", + "resolved": "https://registry.npmjs.org/@angular/service-worker/-/service-worker-6.1.10.tgz", + "integrity": "sha512-S2KYf1sW6LQsWDE6yBBiGWwoF0HqMST/7N+/Vs3cidNlIB9JS+DPNY6kAft+Ta5qheO7KOoZizxz6i1V5/LmLQ==", "requires": { "tslib": "^1.9.0" } @@ -2605,9 +2605,9 @@ } }, "@types/jest": { - "version": "23.3.4", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-23.3.4.tgz", - "integrity": "sha512-46jSw0QMerCRkhJZbOwPA0Eb9T1p74HtECsfa0GXdgjkenSGhgvK96w+e2PEPu4GF0/brUK5WQKq/rUQQFyAxA==", + "version": "23.3.5", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-23.3.5.tgz", + "integrity": "sha512-3LI+vUC3Wju28vbjIjsTKakhMB8HC4l+tMz+Z8WRzVK+kmvezE5jcOvKtBpznWSI5KDLFo+FouUhpTKoekadCA==", "dev": true }, "@types/json5": { @@ -2637,9 +2637,9 @@ "integrity": "sha512-A2TAGbTFdBw9azHbpVd+/FkdW2T6msN1uct1O9bH3vTerEHKZhTXJUQXy+hNq1B0RagfU8U+KBdqiZpxjhOUQA==" }, "@types/node": { - "version": "10.11.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.11.5.tgz", - "integrity": "sha512-3j1EFLfrjYRHRFjBb+RIXXwr1YGzcfpQVMP39thZa6tMY+JjVgQddPF+hsdV800JqbuLwpwAWclDpbGSAw44vQ==" + "version": "10.11.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.11.7.tgz", + "integrity": "sha512-yOxFfkN9xUFLyvWaeYj90mlqTJ41CsQzWKS3gXdOMOyPVacUsymejKxJ4/pMW7exouubuEeZLJawGgcNGYlTeg==" }, "@types/nodemailer": { "version": "4.6.5", @@ -8622,6 +8622,11 @@ "bser": "^2.0.0" } }, + "feature-policy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/feature-policy/-/feature-policy-0.1.0.tgz", + "integrity": "sha512-Sq+O5vUN0wQGOLGKzDXY1xCY6dOPic2ufMEF0xpVHIW+Dr8LocJ7Jhnvo5ZBCXKqWUgmGIqcF5AIJR+Wnq2SQw==" + }, "figlet": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/figlet/-/figlet-1.2.0.tgz", @@ -8667,9 +8672,9 @@ "integrity": "sha512-WyXbZdV47+qKZJPGxSWxUGoOUhBsfFsW9pDORk7IsdvU6veBmmNzsL7HC4HPRQDD4HQQcoadg+cYr4Oh4o/4hQ==" }, "filepond-plugin-file-validate-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/filepond-plugin-file-validate-type/-/filepond-plugin-file-validate-type-1.1.0.tgz", - "integrity": "sha512-EtWdk4cAsFvrkfldJyMN0XwUDAfX6pfDSIusNYSDfH6KDzVZ+ngd+I+P4MVGp8ZnMw5g9mXvuBjLkrZIrm4R6Q==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/filepond-plugin-file-validate-type/-/filepond-plugin-file-validate-type-1.2.0.tgz", + "integrity": "sha512-oXck6wr37TwN1qcb64ktXIsi15Mfqqfd65T9gp5RP2nkXkwXtvgb5q5PANRqNEAYyJv3Od5DfL8m4BzfBXiBtg==" }, "filepond-plugin-image-crop": { "version": "2.0.0", @@ -10430,13 +10435,14 @@ "dev": true }, "helmet": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/helmet/-/helmet-3.13.0.tgz", - "integrity": "sha512-rCYnlbOBkeP6fCo4sXZNu91vIAWlbVgolwnUANtnzPANRf2kJZ2a6yjRnCqG23Tyl2/ExvJ8bDg4xUdNCIWnrw==", + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/helmet/-/helmet-3.14.0.tgz", + "integrity": "sha512-VUOjHxegTX/dIr1KeU4ZrIkP8k0/nKKD6vNBT1LCS2+q5KO1oMFKGMVdMw/pUcxXbn/z8yP9rfyMZSTpxXPPMg==", "requires": { "dns-prefetch-control": "0.1.0", "dont-sniff-mimetype": "1.0.0", "expect-ct": "0.1.1", + "feature-policy": "0.1.0", "frameguard": "3.0.0", "helmet-crossdomain": "0.3.0", "helmet-csp": "2.7.1", @@ -14209,12 +14215,12 @@ "dev": true }, "magic-string": { - "version": "0.22.5", - "resolved": "http://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz", - "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==", + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.1.tgz", + "integrity": "sha512-sCuTz6pYom8Rlt4ISPFn6wuFodbKMIHUMv4Qko9P17dpxb7s52KJTmRuZZqHdGmLCK9AOcDare039nRIcfdkEg==", "dev": true, "requires": { - "vlq": "^0.2.2" + "sourcemap-codec": "^1.4.1" } }, "make-dir": { @@ -14798,9 +14804,9 @@ "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" }, "ng-packagr": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-4.2.0.tgz", - "integrity": "sha512-y1a9DgIMho5bG77WWK/3Tz2Sxe3Vm9zt4c3AMTLFA6+GqukgTHJYwdfcvWzNfi3iPotoAeoMBCKwd5KSOoiU8A==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-4.3.0.tgz", + "integrity": "sha512-hJsZsIgl+1abztxFjaGCRotQAHbqX9gjKit821GX1D1aQr7Is0DmUEjNR2n9IhrhE9lzb0p+SbAjlG+euy0eRQ==", "dev": true, "requires": { "@ngtools/json-schema": "^1.1.0", @@ -14846,14 +14852,22 @@ } }, "browserslist": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.1.2.tgz", - "integrity": "sha512-docXmVcYth9AiW5183dEe2IxnbmpXF4jiM6efGBVRAli/iDSS894Svvjenrv5NPqAJ4dEJULmT4MSvmLG9qoYg==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.2.0.tgz", + "integrity": "sha512-Berls1CHL7qfQz8Lct6QxYA5d2Tvt4doDWHcjvAISybpd+EKZVppNtXgXhaN6SdrPKo7YLTSZuYBs5cYrSWN8w==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30000888", + "caniuse-lite": "^1.0.30000889", "electron-to-chromium": "^1.3.73", "node-releases": "^1.0.0-alpha.12" + }, + "dependencies": { + "caniuse-lite": { + "version": "1.0.30000890", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000890.tgz", + "integrity": "sha512-4NI3s4Y6ROm+SgZN5sLUG4k7nVWQnedis3c/RWkynV5G6cHSY7+a8fwFyn2yoBDE3E6VswhTNNwR3PvzGqlTkg==", + "dev": true + } } }, "find-up": { @@ -20916,9 +20930,9 @@ } }, "rollup": { - "version": "0.66.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.66.2.tgz", - "integrity": "sha512-+rOLjWO170M3Y2jyyGU4ZJuTu1T1KuKNyH+RszHRzQdsuI5TulRbkSM4vlaMnwcxHm4XdgBNZ1mmNzhQIImbiQ==", + "version": "0.66.6", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.66.6.tgz", + "integrity": "sha512-J7/SWanrcb83vfIHqa8+aVVGzy457GcjA6GVZEnD0x2u4OnOd0Q1pCrEoNe8yLwM6z6LZP02zBT2uW0yh5TqOw==", "dev": true, "requires": { "@types/estree": "0.0.39", @@ -20926,15 +20940,15 @@ } }, "rollup-plugin-commonjs": { - "version": "9.1.8", - "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-9.1.8.tgz", - "integrity": "sha512-c3nAfVVyEwbq9OohIeQudfQQdGV9Cl1RE8MUc90fH9UdtCiWAYpI+au3HxGwNf1DdV51HfBjCDbT4fwjsZEUUg==", + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-9.2.0.tgz", + "integrity": "sha512-0RM5U4Vd6iHjL6rLvr3lKBwnPsaVml+qxOGaaNUWN1lSq6S33KhITOfHmvxV3z2vy9Mk4t0g4rNlVaJJsNQPWA==", "dev": true, "requires": { - "estree-walker": "^0.5.1", - "magic-string": "^0.22.4", - "resolve": "^1.5.0", - "rollup-pluginutils": "^2.0.1" + "estree-walker": "^0.5.2", + "magic-string": "^0.25.1", + "resolve": "^1.8.1", + "rollup-pluginutils": "^2.3.3" } }, "rollup-plugin-node-resolve": { @@ -22287,6 +22301,12 @@ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" }, + "sourcemap-codec": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.3.tgz", + "integrity": "sha512-vFrY/x/NdsD7Yc8mpTJXuao9S8lq08Z/kOITHz6b7YbfI9xL8Spe5EvSQUHOI7SbpY8bRPr0U3kKSsPuqEGSfA==", + "dev": true + }, "spawn-args": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/spawn-args/-/spawn-args-0.2.0.tgz", @@ -24701,12 +24721,6 @@ "integrity": "sha512-W+1+N/hdzLpQZEcvz79n2IgUE9pfx6JLdHh3Kh8RGvLL8P1LdJVQmi2OsDcLdY4QVID4OUy+FPelyerX0nJxIQ==", "dev": true }, - "vlq": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", - "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==", - "dev": true - }, "vm-browserify": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", diff --git a/package.json b/package.json index a34586b6d..7dc8b5a7c 100644 --- a/package.json +++ b/package.json @@ -110,21 +110,21 @@ }, "private": true, "dependencies": { - "@angular/animations": "^6.1.9", + "@angular/animations": "^6.1.10", "@angular/cdk": "^7.0.0-rc.1", "@angular/cdk-experimental": "^7.0.0-rc.1", - "@angular/common": "^6.1.9", - "@angular/compiler": "^6.1.9", - "@angular/core": "^6.1.9", + "@angular/common": "^6.1.10", + "@angular/compiler": "^6.1.10", + "@angular/core": "^6.1.10", "@angular/flex-layout": "^6.0.0-beta.18", - "@angular/forms": "^6.1.9", + "@angular/forms": "^6.1.10", "@angular/material": "^7.0.0-rc.1", "@angular/material-moment-adapter": "^7.0.0-rc.1", - "@angular/platform-browser": "^6.1.9", - "@angular/platform-browser-dynamic": "^6.1.9", + "@angular/platform-browser": "^6.1.10", + "@angular/platform-browser-dynamic": "^6.1.10", "@angular/pwa": "^0.8.4", - "@angular/router": "^6.1.9", - "@angular/service-worker": "^6.1.9", + "@angular/router": "^6.1.10", + "@angular/service-worker": "^6.1.10", "@fortawesome/angular-fontawesome": "^0.2.1", "@fortawesome/fontawesome-svg-core": "^1.2.5", "@fortawesome/free-brands-svg-icons": "^5.4.0", @@ -160,12 +160,12 @@ "dotenv": "^6.1.0", "filepond-plugin-file-encode": "^2.0.0", "filepond-plugin-file-validate-size": "^1.0.4", - "filepond-plugin-file-validate-type": "^1.1.0", + "filepond-plugin-file-validate-type": "^1.2.0", "filepond-plugin-image-crop": "^2.0.0", "filepond-plugin-image-preview": "^3.0.0", "formidable": "^1.2.1", "hammerjs": "^2.0.8", - "helmet": "^3.13.0", + "helmet": "^3.14.0", "nest-router": "^1.0.7", "ngx-filepond": "^4.0.0", "ngx-moment": "^3.1.0", @@ -189,9 +189,9 @@ "@angular-devkit/build-angular": "^0.8.4", "@angular-devkit/build-ng-packagr": "^0.8.4", "@angular/cli": "^6.2.4", - "@angular/compiler-cli": "^6.1.9", - "@angular/http": "^6.1.9", - "@angular/language-service": "^6.1.9", + "@angular/compiler-cli": "^6.1.10", + "@angular/http": "^6.1.10", + "@angular/language-service": "^6.1.10", "@commitlint/cli": "^7.2.0", "@commitlint/config-conventional": "^7.1.2", "@compodoc/compodoc": "^1.1.5", @@ -206,8 +206,8 @@ "@types/dotenv": "^4.0.3", "@types/hammerjs": "^2.0.36", "@types/helmet": "^0.0.42", - "@types/jest": "^23.3.4", - "@types/node": "^10.11.5", + "@types/jest": "^23.3.5", + "@types/node": "^10.11.7", "@types/nodemailer": "^4.6.5", "@types/passport": "0.4.6", "@types/passport-jwt": "^3.0.1", @@ -224,7 +224,7 @@ "jest-preset-angular": "6.0.1", "lint-staged": "^7.3.0", "loaders.css": "^0.1.2", - "ng-packagr": "^4.2.0", + "ng-packagr": "^4.3.0", "nodemon": "^1.18.4", "prettier": "^1.14.3", "rimraf": "^2.6.2", From 92f18752b3843509df42fed3bbd959d619fa949c Mon Sep 17 00:00:00 2001 From: xmlking Date: Thu, 11 Oct 2018 06:43:45 -0700 Subject: [PATCH 08/22] build(dependencies): angular upgrade to 7.0.0-rc.1 --- libs/chat-box/src/lib/services/nlp.service.ts | 2 +- package-lock.json | 290 ++++++++++++++---- package.json | 30 +- 3 files changed, 239 insertions(+), 83 deletions(-) diff --git a/libs/chat-box/src/lib/services/nlp.service.ts b/libs/chat-box/src/lib/services/nlp.service.ts index 65704a44f..55b41aa70 100644 --- a/libs/chat-box/src/lib/services/nlp.service.ts +++ b/libs/chat-box/src/lib/services/nlp.service.ts @@ -1,4 +1,4 @@ -import { ApiAiClient, IServerResponse } from 'api-ai-javascript/index.js'; +import { ApiAiClient, IServerResponse } from '@xmlking/api-ai-javascript/index.js'; import { Injectable, Inject } from '@angular/core'; import { DIALOGFLOW_TOKEN } from './inject-tokens'; diff --git a/package-lock.json b/package-lock.json index d5a1b9b3d..0d9ab0545 100644 --- a/package-lock.json +++ b/package-lock.json @@ -132,6 +132,14 @@ "source-map": "^0.5.6", "typescript": "~2.9.2", "webpack-sources": "^1.1.0" + }, + "dependencies": { + "typescript": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz", + "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==", + "dev": true + } } }, "@angular-devkit/build-webpack": { @@ -197,9 +205,9 @@ } }, "@angular/animations": { - "version": "6.1.10", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-6.1.10.tgz", - "integrity": "sha512-dd/lq7kw3uwfHPICan8psu2nthuUpp7PvMLuNIm0XxObZ4oNs0ls6uxKEDPnEkRKoGdiJpvmsyzZZN9ACMPEAA==", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-7.0.0-rc.1.tgz", + "integrity": "sha512-VP3Lui1HyW7kQzdC/kfEw0NiH+VxA81EKMN1iLtDdNoOCpzTcnmjiiPUMtrGOhhhJJXH9y/eQMUOwUcSdKLPZg==", "requires": { "tslib": "^1.9.0" } @@ -273,31 +281,37 @@ } }, "@angular/common": { - "version": "6.1.10", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-6.1.10.tgz", - "integrity": "sha512-73xxTSYJNKfiJ7C1Ajg+sz5l8y+blb/vNgHYg7O3yem5zLBnfPpidJ1UGg4W4d2Y+jwUVJbZKh8SKJarqAJVUQ==", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-7.0.0-rc.1.tgz", + "integrity": "sha512-OXN0lIXDz1SWnuFH+vAM1o/8VoezPxyxk0s2t4TSr4AvwSMRAYL13+IeQcYcxyymuQry7XzFqXyjTVD2kNsoBA==", "requires": { "tslib": "^1.9.0" } }, "@angular/compiler": { - "version": "6.1.10", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-6.1.10.tgz", - "integrity": "sha512-FPIb2j3zfoBwb6vo/u0gQeu70h8InGlSisBr3xMACs/35/pwB6kbQR+JQiUr0D7k6QApg7AuMkvq8aFNelg0aw==", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-7.0.0-rc.1.tgz", + "integrity": "sha512-oCqavxWdx9eDtzW45MTkrTrLSC57MH8/PfY0luwu1R5AaJ9wldifrUCS9ThtpUncSOgZCK9BpJMcywMWhIqvPQ==", "requires": { "tslib": "^1.9.0" } }, "@angular/compiler-cli": { - "version": "6.1.10", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-6.1.10.tgz", - "integrity": "sha512-GCWdyeNQSnF4RfzO4A0+WHsNEgxKpl5arg4ldLSWMNkj/DrhMD4TnmxhR+IVY+7ieMkUBwpcuWRnjdOdnbmV+w==", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-7.0.0-rc.1.tgz", + "integrity": "sha512-eue8bnD1uBYD7UZp1In8THnInoAwidKk5Ibv9aOloxYcx64FH6ca1ABKPdIZd3hNm0zJsR+ItDi2jyN0xK6+5A==", "dev": true, "requires": { + "canonical-path": "0.0.2", "chokidar": "^1.4.2", + "convert-source-map": "^1.5.1", + "dependency-graph": "^0.7.2", + "magic-string": "^0.25.0", "minimist": "^1.2.0", "reflect-metadata": "^0.1.2", - "tsickle": "^0.32.1" + "shelljs": "^0.8.1", + "source-map": "^0.6.1", + "yargs": "9.0.1" }, "dependencies": { "anymatch": { @@ -336,6 +350,12 @@ "repeat-element": "^1.1.2" } }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, "chokidar": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", @@ -353,6 +373,30 @@ "readdirp": "^2.0.0" } }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, "expand-brackets": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", @@ -386,6 +430,15 @@ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", "dev": true }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, "is-glob": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", @@ -404,6 +457,18 @@ "is-buffer": "^1.1.5" } }, + "load-json-file": { + "version": "2.0.0", + "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + } + }, "micromatch": { "version": "2.3.11", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", @@ -431,64 +496,134 @@ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + } + }, + "shelljs": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.2.tgz", + "integrity": "sha512-pRXeNrCA2Wd9itwhvLp5LZQvPJ0wU6bcjaTMywHHGX5XWhVN2nzSu7WV0q+oUY7mGK3mgSkDDzP3MgjqdyIgbQ==", + "dev": true, + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, - "tsickle": { - "version": "0.32.1", - "resolved": "https://registry.npmjs.org/tsickle/-/tsickle-0.32.1.tgz", - "integrity": "sha512-JW9j+W0SaMSZGejIFZBk0AiPfnhljK3oLx5SaqxrJhjlvzFyPml5zqG1/PuScUj6yTe1muEqwk5CnDK0cOZmKw==", + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "yargs": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz", + "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=", "dev": true, "requires": { - "jasmine-diff": "^0.1.3", - "minimist": "^1.2.0", - "mkdirp": "^0.5.1", - "source-map": "^0.6.0", - "source-map-support": "^0.5.0" + "camelcase": "^4.1.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "read-pkg-up": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^7.0.0" + } + }, + "yargs-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", + "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", + "dev": true, + "requires": { + "camelcase": "^4.1.0" } } } }, "@angular/core": { - "version": "6.1.10", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-6.1.10.tgz", - "integrity": "sha512-61l3rIQTVdT45eOf6/fBJIeVmV10mcrxqS4N/1OWkuDT29YSJTZSxGcv8QjAyyutuhcqWWpO6gVRkN07rWmkPg==", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-7.0.0-rc.1.tgz", + "integrity": "sha512-pY7Aul+GOHHoVxbVTv26rFGwl34PKLI31lyC9mH0Eg2Wqq8XIa6XrNePQo4rbU0oO1ZplULSohMk8vVPfpWGpw==", "requires": { "tslib": "^1.9.0" } }, "@angular/flex-layout": { - "version": "6.0.0-beta.18", - "resolved": "https://registry.npmjs.org/@angular/flex-layout/-/flex-layout-6.0.0-beta.18.tgz", - "integrity": "sha512-1Alv3YSIZYp0CTUIESIaSQLoSVyLzuNKPa5bGM/RzOmeSrndm5plVgI9wopGfJUDiwM18R97rq/4XjDvNT/+ig==", + "version": "7.0.0-beta.19", + "resolved": "https://registry.npmjs.org/@angular/flex-layout/-/flex-layout-7.0.0-beta.19.tgz", + "integrity": "sha512-MXq+zZ6/s5/+GsL9fZ42mKL0LjZ/+L0sVU5FaQuSAJ57soLl5QAGWvdxVmROtqcHd3Htp35R49nKSZBJ0nfAjg==", "requires": { "tslib": "^1.7.1" } }, "@angular/forms": { - "version": "6.1.10", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-6.1.10.tgz", - "integrity": "sha512-zAPx2kMV1/FbP5DrY472Sd/ze1m+GS6T5ullZCtP392r62p2RkwzDCXieR51YiRJjZj3M6c3AcRND7PWBdXT7A==", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-7.0.0-rc.1.tgz", + "integrity": "sha512-wEmRMG8vLAcJzvXiFWp9r1fhBH846AwvY6+75fpSz7n9vAgDJSlh/v/k+d+kG5hoIatzmnKWKVF+Zn8mlpd4Ig==", "requires": { "tslib": "^1.9.0" } }, "@angular/http": { - "version": "6.1.10", - "resolved": "https://registry.npmjs.org/@angular/http/-/http-6.1.10.tgz", - "integrity": "sha512-LDsSqyexh8fj23y+G2oSGLWSZVhbxBBo2ehYHnRgH/jlp0pmZVLRaGgUMNSCVtZc1rxLzpEjZjtw+P+qlutAtw==", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/http/-/http-7.0.0-rc.1.tgz", + "integrity": "sha512-B/nQbrs8QcyiqgtHt6nCVy3Rkz/5N7MZCDUpt7skSmqNsXLMe+VnkYUMtayYQdzrk9wu89rzvkQI9WmXxcnQzA==", "dev": true, "requires": { "tslib": "^1.9.0" } }, "@angular/language-service": { - "version": "6.1.10", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-6.1.10.tgz", - "integrity": "sha512-nN29Ovomg21eL8acwOSUFAYwWFI1TuFwUgUu37ZssfVQrYdaV+BFx3yv3P0nKU90h3Hp+oIkWHd8U34UYrvBCg==", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-7.0.0-rc.1.tgz", + "integrity": "sha512-UU3OoNG4lixRKYPQ6bOlxBaKP521hjqvZjGSIMBJjhDOS4V0FwZ6wQfy73hHl522w+x/VX6lyRE3ugvtB555Hg==", "dev": true }, "@angular/material": { @@ -509,17 +644,17 @@ } }, "@angular/platform-browser": { - "version": "6.1.10", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-6.1.10.tgz", - "integrity": "sha512-CB7pqMwtgb7KjdHDAJlsXcs0rrU+2xQVaoOaqEfJtUrKhtGMLaZh8Qoic5l92SoGattkOw7SYarAOsWlAsVfvw==", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-7.0.0-rc.1.tgz", + "integrity": "sha512-P9W+Q9UZoZT+8pg5Id6shc7VXWdJ6YZQAdnxXpp9H2Be5DB6DD5aqsgxSgKNRW1EmQScJHq0EY28vUPGC5idhA==", "requires": { "tslib": "^1.9.0" } }, "@angular/platform-browser-dynamic": { - "version": "6.1.10", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-6.1.10.tgz", - "integrity": "sha512-DmBSUyFPoyKqkmBXyJ2CrP1oXDioeoBlPA8lmWUDUv2yBuoHIzIkdY/OkTZbdyu/QYa1hK2Jl9OlfoeoenKddg==", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-7.0.0-rc.1.tgz", + "integrity": "sha512-LDULj9gdNxlzYjkHcxofSFwhchUT405Hh+8pCMcHxZEa1dtEzXGB8VYEMPc4EipZt3hleMzv6sjP9gL+4zXpeA==", "requires": { "tslib": "^1.9.0" } @@ -543,17 +678,17 @@ } }, "@angular/router": { - "version": "6.1.10", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-6.1.10.tgz", - "integrity": "sha512-tekI3dkdvd65oMoxjjgRA+16uDgPUBWHhYxids6pgO8vobZNtCo8VaVlcDyLUhdmtS5kONELx0iL5E2M0Y2Bag==", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-7.0.0-rc.1.tgz", + "integrity": "sha512-y3hbUhyRIOkHym86CqVkKhCldaXreA13BH1D/dprEfIxgAHBKA/oNZrbGGc20n2+aI+AhSUJjAqnruKwr0dgWw==", "requires": { "tslib": "^1.9.0" } }, "@angular/service-worker": { - "version": "6.1.10", - "resolved": "https://registry.npmjs.org/@angular/service-worker/-/service-worker-6.1.10.tgz", - "integrity": "sha512-S2KYf1sW6LQsWDE6yBBiGWwoF0HqMST/7N+/Vs3cidNlIB9JS+DPNY6kAft+Ta5qheO7KOoZizxz6i1V5/LmLQ==", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/service-worker/-/service-worker-7.0.0-rc.1.tgz", + "integrity": "sha512-BqxgsEmB/RZu5EK7Rnkwm1CabOvdFk4DhydyBLssYOV1faxCqMYVhQ+uLk3FpVVteT1+5sxzWO5ub7bbbUTWQQ==", "requires": { "tslib": "^1.9.0" } @@ -1035,6 +1170,12 @@ "requires": { "ansi-wrap": "^0.1.0" } + }, + "typescript": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz", + "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==", + "dev": true } } }, @@ -1796,6 +1937,13 @@ "@angular-devkit/core": "0.8.4", "@angular-devkit/schematics": "0.8.4", "typescript": ">=2.6.2 <2.10" + }, + "dependencies": { + "typescript": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz", + "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==" + } } }, "@schematics/update": { @@ -2997,6 +3145,11 @@ "@xtuc/long": "4.2.1" } }, + "@xmlking/api-ai-javascript": { + "version": "2.0.0-beta.22", + "resolved": "https://registry.npmjs.org/@xmlking/api-ai-javascript/-/api-ai-javascript-2.0.0-beta.22.tgz", + "integrity": "sha512-XFLYhnGp3hCrDqQZLrjwZERA/QUhyUtYJ/VsYleMtc2D3jkQnaJauGpazwoIDej7cqcAGDJiZrVfz4D+fwPJnA==" + }, "@xmlking/jwks-rsa": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/@xmlking/jwks-rsa/-/jwks-rsa-1.4.3.tgz", @@ -3389,12 +3542,6 @@ "integrity": "sha1-RwI51AxU58Mt2dbrEbw1eOzJA8I=", "dev": true }, - "api-ai-javascript": { - "version": "2.0.0-beta.21", - "resolved": "https://registry.npmjs.org/api-ai-javascript/-/api-ai-javascript-2.0.0-beta.21.tgz", - "integrity": "sha1-Q0ZfaDXcTw4U4DEcC7ZAF/MUi1s=", - "dev": true - }, "app-root-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-2.1.0.tgz", @@ -5247,6 +5394,12 @@ "integrity": "sha512-vftg+5p/lPsQGpnhSo/yBuYL36ai/cyjLvU3dOPJY1kkKrekLWIy8SLm+wzjX0hpCUdFTasC4/ZT7uqw4rKOnQ==", "dev": true }, + "canonical-path": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/canonical-path/-/canonical-path-0.0.2.tgz", + "integrity": "sha1-4x65N6jJPuKgHfGDl5RyGQKHRXQ=", + "dev": true + }, "capture-exit": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz", @@ -7296,6 +7449,12 @@ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" }, + "dependency-graph": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.7.2.tgz", + "integrity": "sha512-KqtH4/EZdtdfWX0p6MGP9jljvxSY6msy/pRUD4jgNwVpv3v1QmNLlsB3LDSSUg79BRVSn7jI1QPRtArGABovAQ==", + "dev": true + }, "deprecate": { "version": "1.0.0", "resolved": "http://registry.npmjs.org/deprecate/-/deprecate-1.0.0.tgz", @@ -11968,15 +12127,6 @@ "resolved": "https://registry.npmjs.org/iterare/-/iterare-0.0.8.tgz", "integrity": "sha1-qWmoCh+/9rePKHdllNe8K9+raq0=" }, - "jasmine-diff": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/jasmine-diff/-/jasmine-diff-0.1.3.tgz", - "integrity": "sha1-k8zC3MQQKMXd1GBlWAdIOfLe6qg=", - "dev": true, - "requires": { - "diff": "^3.2.0" - } - }, "java-properties": { "version": "0.2.10", "resolved": "https://registry.npmjs.org/java-properties/-/java-properties-0.2.10.tgz", @@ -23266,6 +23416,12 @@ "requires": { "os-tmpdir": "~1.0.1" } + }, + "typescript": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz", + "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==", + "dev": true } } }, @@ -24243,9 +24399,9 @@ } }, "typescript": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz", - "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.1.2.tgz", + "integrity": "sha512-gOoGJWbNnFAfP9FlrSV63LYD5DJqYJHG5ky1kOXSl3pCImn4rqWy/flyq1BRd4iChQsoCqjbQaqtmXO4yCVPCA==" }, "uglify-js": { "version": "2.8.29", diff --git a/package.json b/package.json index 7dc8b5a7c..972df8e30 100644 --- a/package.json +++ b/package.json @@ -110,21 +110,21 @@ }, "private": true, "dependencies": { - "@angular/animations": "^6.1.10", + "@angular/animations": "^7.0.0-rc.1", "@angular/cdk": "^7.0.0-rc.1", "@angular/cdk-experimental": "^7.0.0-rc.1", - "@angular/common": "^6.1.10", - "@angular/compiler": "^6.1.10", - "@angular/core": "^6.1.10", - "@angular/flex-layout": "^6.0.0-beta.18", - "@angular/forms": "^6.1.10", + "@angular/common": "^7.0.0-rc.1", + "@angular/compiler": "^7.0.0-rc.1", + "@angular/core": "^7.0.0-rc.1", + "@angular/flex-layout": "^7.0.0-beta.19", + "@angular/forms": "^7.0.0-rc.1", "@angular/material": "^7.0.0-rc.1", "@angular/material-moment-adapter": "^7.0.0-rc.1", - "@angular/platform-browser": "^6.1.10", - "@angular/platform-browser-dynamic": "^6.1.10", + "@angular/platform-browser": "^7.0.0-rc.1", + "@angular/platform-browser-dynamic": "^7.0.0-rc.1", "@angular/pwa": "^0.8.4", - "@angular/router": "^6.1.10", - "@angular/service-worker": "^6.1.10", + "@angular/router": "^7.0.0-rc.1", + "@angular/service-worker": "^7.0.0-rc.1", "@fortawesome/angular-fontawesome": "^0.2.1", "@fortawesome/fontawesome-svg-core": "^1.2.5", "@fortawesome/free-brands-svg-icons": "^5.4.0", @@ -145,6 +145,7 @@ "@ngxs/store": "^3.2.0", "@nrwl/nx": "^6.4.0", "@trademe/ng-defer-load": "^2.0.0", + "@xmlking/api-ai-javascript": "^2.0.0-beta.22", "@xmlking/jwks-rsa": "^1.4.3", "@xmlking/ngx-knob": "0.0.6", "angular-in-memory-web-api": "^0.6.1", @@ -181,7 +182,7 @@ "smooth-scrollbar": "^8.3.1", "socket.io-client": "^2.1.1", "typeorm": "^0.2.7", - "typescript": "^2.9.2", + "typescript": "^3.1.2", "uuid": "^3.3.2", "zone.js": "^0.8.26" }, @@ -189,9 +190,9 @@ "@angular-devkit/build-angular": "^0.8.4", "@angular-devkit/build-ng-packagr": "^0.8.4", "@angular/cli": "^6.2.4", - "@angular/compiler-cli": "^6.1.10", - "@angular/http": "^6.1.10", - "@angular/language-service": "^6.1.10", + "@angular/compiler-cli": "^7.0.0-rc.1", + "@angular/http": "^7.0.0-rc.1", + "@angular/language-service": "^7.0.0-rc.1", "@commitlint/cli": "^7.2.0", "@commitlint/config-conventional": "^7.1.2", "@compodoc/compodoc": "^1.1.5", @@ -215,7 +216,6 @@ "@types/socket.io-client": "^1.4.32", "@types/supertest": "^2.0.6", "angular-cli-ghpages": "^0.5.3", - "api-ai-javascript": "^2.0.0-beta.21", "codelyzer": "^4.5.0", "commitizen": "^3.0.2", "cz-conventional-changelog": "^2.1.0", From 8d68bdcc33341de6599b9c86c109337f637dcbc5 Mon Sep 17 00:00:00 2001 From: xmlking Date: Thu, 11 Oct 2018 07:16:51 -0700 Subject: [PATCH 09/22] fix(features): using proper flex layout grid to render tiles --- apps/webapp/src/environments/base.ts | 3 +- .../features/features.component.html | 83 ++++++++++++------- .../features/features.component.scss | 3 +- 3 files changed, 55 insertions(+), 34 deletions(-) diff --git a/apps/webapp/src/environments/base.ts b/apps/webapp/src/environments/base.ts index 6b93568d7..b23622a97 100644 --- a/apps/webapp/src/environments/base.ts +++ b/apps/webapp/src/environments/base.ts @@ -17,6 +17,7 @@ export default { flexLayout: packageJson.dependencies['@angular/flex-layout'], rxjs: packageJson.dependencies.rxjs, angularCli: packageJson.devDependencies['@angular/cli'], - typescript: packageJson.devDependencies['typescript'], + // typescript: packageJson.devDependencies['typescript'], + typescript: packageJson.dependencies['typescript'], }, }; diff --git a/libs/home/src/lib/containers/features/features.component.html b/libs/home/src/lib/containers/features/features.component.html index 0980e67b1..9fc78f0ec 100644 --- a/libs/home/src/lib/containers/features/features.component.html +++ b/libs/home/src/lib/containers/features/features.component.html @@ -1,9 +1,10 @@
        -

        Features

        +

        Features

        -
        -
        +
        +
        {{versions.angular}}Angular @@ -11,15 +12,17 @@

        Features

        - library_books Docs + library_books + Docs - code Github + code + Github
        -
        +
        {{versions.material}}Angular Material @@ -27,15 +30,17 @@

        Features

        - library_books Docs + library_books + Docs - code Github + code + Github
        -
        +
        {{versions.angularCli}}Angular Cli @@ -43,15 +48,17 @@

        Features

        - library_books Docs + library_books + Docs - code Github + code + Github
        -
        + -
        + -
        +
        {{versions.flexLayout}}Flex-Layout @@ -91,49 +102,59 @@

        Features

        - library_books Docs + library_books + Docs - code Github + code + Github
        -
        +
        - {{versions.typescript}} Typescript + {{versions.typescript}}Typescript Superior developer experience, code completion, refactoring and less bugs - code Github + code + Github - library_books Docs + library_books + Docs
        -
        +
        Themes Flexible theming support for provided and custom components - library_books Docs + library_books + Docs - - redeem Blog + + redeem + Blog
        -
        +
        Lazy loading Faster startup time with lazy loaded feature modules - - library_books Docs + + library_books + Docs diff --git a/libs/home/src/lib/containers/features/features.component.scss b/libs/home/src/lib/containers/features/features.component.scss index 2620d9114..4864f2202 100644 --- a/libs/home/src/lib/containers/features/features.component.scss +++ b/libs/home/src/lib/containers/features/features.component.scss @@ -7,8 +7,6 @@ } mat-card { - margin: 0 0 20px 0; - mat-card-title { position: relative; @@ -21,6 +19,7 @@ mat-card { } } mat-card-subtitle { + padding-top: 8px; min-height: 60px; } From f4f44c961b0aa3dcc8cb163f496b1bb77d1d3c17 Mon Sep 17 00:00:00 2001 From: xmlking Date: Thu, 11 Oct 2018 09:13:52 -0700 Subject: [PATCH 10/22] build(dependencies): updated angular/cli to 7.0.0-rc.2 --- angular.json | 8 +- package-lock.json | 1646 +++++++++++++++++++++++++++++---------------- package.json | 10 +- 3 files changed, 1079 insertions(+), 585 deletions(-) diff --git a/angular.json b/angular.json index dc3174615..3f0080ed5 100644 --- a/angular.json +++ b/angular.json @@ -103,13 +103,13 @@ { "type": "bundle", "name": "main", - "baseline": "1300kb", + "baseline": "1200kb", "maximumError": "20%", "maximumWarning": "10%" }, { "type": "initial", - "baseline": "1.8mb", + "baseline": "1600kb", "maximumError": "20%", "maximumWarning": "10%", "minimumError": "20%", @@ -117,7 +117,7 @@ }, { "type": "allScript", - "baseline": "4.5mb", + "baseline": "4500kb", "maximumError": "20%", "maximumWarning": "10%", "minimumError": "20%", @@ -125,7 +125,7 @@ }, { "type": "all", - "baseline": "10mb", + "baseline": "10000kb", "maximumError": "20%", "maximumWarning": "10%" } diff --git a/package-lock.json b/package-lock.json index 0d9ab0545..ad8bdf76c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,119 +26,294 @@ } }, "@angular-devkit/build-angular": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.8.4.tgz", - "integrity": "sha512-ff4MNIwcmDRcsrNrL9dURR/EAT04nUUfiqAz4LKF9Lyj0dnKkZNn1ff08PO/EVXlgFX97XEfSXv29OhlMSJ40A==", - "dev": true, - "requires": { - "@angular-devkit/architect": "0.8.4", - "@angular-devkit/build-optimizer": "0.8.4", - "@angular-devkit/build-webpack": "0.8.4", - "@angular-devkit/core": "0.8.4", - "@ngtools/webpack": "6.2.4", - "ajv": "~6.4.0", - "autoprefixer": "^8.4.1", - "circular-dependency-plugin": "^5.0.2", - "clean-css": "^4.1.11", - "copy-webpack-plugin": "^4.5.2", - "file-loader": "^1.1.11", - "glob": "^7.0.3", - "html-webpack-plugin": "^3.0.6", - "istanbul": "^0.4.5", - "istanbul-instrumenter-loader": "^3.0.1", - "karma-source-map-support": "^1.2.0", - "less": "^3.7.1", - "less-loader": "^4.1.0", - "license-webpack-plugin": "^1.3.1", - "loader-utils": "^1.1.0", - "mini-css-extract-plugin": "~0.4.0", - "minimatch": "^3.0.4", - "node-sass": "^4.9.3", - "opn": "^5.1.0", - "parse5": "^4.0.0", - "portfinder": "^1.0.13", - "postcss": "^6.0.22", - "postcss-import": "^11.1.0", - "postcss-loader": "^2.1.5", - "postcss-url": "^7.3.2", - "raw-loader": "^0.5.1", - "rxjs": "~6.2.0", - "sass-loader": "^7.1.0", - "semver": "^5.5.0", - "source-map-loader": "^0.2.3", - "source-map-support": "^0.5.0", - "stats-webpack-plugin": "^0.6.2", - "style-loader": "^0.21.0", - "stylus": "^0.54.5", - "stylus-loader": "^3.0.2", - "tree-kill": "^1.2.0", - "uglifyjs-webpack-plugin": "^1.2.5", - "url-loader": "^1.0.1", - "webpack": "^4.15.1", - "webpack-dev-middleware": "^3.1.3", - "webpack-dev-server": "^3.1.4", - "webpack-merge": "^4.1.2", - "webpack-sources": "^1.1.0", - "webpack-subresource-integrity": "^1.1.0-rc.4" + "version": "0.9.0-rc.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.9.0-rc.2.tgz", + "integrity": "sha512-F13nSsdprd/eJNEtJLyDswLQ/kWUjzHiqriD9Aq+pNyIIZYlYPPkkfcu6KL/9fHifHvr9LD19Rf/o9/zgn7wug==", + "dev": true, + "requires": { + "@angular-devkit/architect": "0.9.0-rc.2", + "@angular-devkit/build-optimizer": "0.9.0-rc.2", + "@angular-devkit/build-webpack": "0.9.0-rc.2", + "@angular-devkit/core": "7.0.0-rc.2", + "@ngtools/webpack": "7.0.0-rc.2", + "ajv": "6.5.3", + "autoprefixer": "8.4.1", + "circular-dependency-plugin": "5.0.2", + "clean-css": "4.2.1", + "copy-webpack-plugin": "4.5.2", + "file-loader": "2.0.0", + "glob": "7.1.3", + "istanbul": "0.4.5", + "istanbul-instrumenter-loader": "3.0.1", + "karma-source-map-support": "1.3.0", + "less": "3.8.1", + "less-loader": "4.1.0", + "license-webpack-plugin": "2.0.1", + "loader-utils": "1.1.0", + "mini-css-extract-plugin": "0.4.3", + "minimatch": "3.0.4", + "node-sass": "4.9.3", + "opn": "5.3.0", + "parse5": "4.0.0", + "portfinder": "1.0.17", + "postcss": "6.0.23", + "postcss-import": "11.1.0", + "postcss-loader": "2.1.6", + "raw-loader": "0.5.1", + "rxjs": "6.3.3", + "sass-loader": "7.1.0", + "semver": "5.5.1", + "source-map-loader": "0.2.4", + "source-map-support": "0.5.9", + "speed-measure-webpack-plugin": "^1.2.3", + "stats-webpack-plugin": "0.7.0", + "style-loader": "0.23.0", + "stylus": "0.54.5", + "stylus-loader": "3.0.2", + "terser-webpack-plugin": "1.1.0", + "tree-kill": "1.2.0", + "webpack": "4.19.1", + "webpack-dev-middleware": "3.3.0", + "webpack-dev-server": "3.1.8", + "webpack-merge": "4.1.4", + "webpack-sources": "1.2.0", + "webpack-subresource-integrity": "1.1.0-rc.6" }, "dependencies": { + "@angular-devkit/architect": { + "version": "0.9.0-rc.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.9.0-rc.2.tgz", + "integrity": "sha512-D5vpo03kyBzn0lv6J2M2sC2+xxIo0K7aCKwHv7K0dN2RLPpvHWOTG0Eg+90s7a5OnekiAr9+vhR9vdlGriPBBw==", + "dev": true, + "requires": { + "@angular-devkit/core": "7.0.0-rc.2", + "rxjs": "6.3.3" + } + }, + "@angular-devkit/build-webpack": { + "version": "0.9.0-rc.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.9.0-rc.2.tgz", + "integrity": "sha512-BuSmlaaPx1nPU/HyMkktPHCsNno4laHPQaHJOSVbbkXIkp0p8iCvT1drHuzSpTKHA9jLb2hcVyK3vSc5jt6WUQ==", + "dev": true, + "requires": { + "@angular-devkit/architect": "0.9.0-rc.2", + "@angular-devkit/core": "7.0.0-rc.2", + "rxjs": "6.3.3" + } + }, + "@angular-devkit/core": { + "version": "7.0.0-rc.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.0-rc.2.tgz", + "integrity": "sha512-c2ODPqnc40Wz9Oerjdi3gHa+XBCvGj1rAZd38NdweCSFejUogbppB4MDoKOFuQi7qp+kXfJpXSX4aocDm6T67g==", + "dev": true, + "requires": { + "ajv": "6.5.3", + "chokidar": "2.0.4", + "fast-json-stable-stringify": "2.0.0", + "rxjs": "6.3.3", + "source-map": "0.7.3" + } + }, + "ajv": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", + "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "license-webpack-plugin": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.0.1.tgz", + "integrity": "sha512-XUSJoU+M2w/N5ZdzHm++mFSM2BVKAdnSORXF7nbkpBJVdfi3hiiMpNdiuUR7S4OvsceiXQp1yoBwhiAP+gtC2g==", + "dev": true, + "requires": { + "webpack-sources": "^1.2.0" + } + }, + "opn": { + "version": "5.3.0", + "resolved": "http://registry.npmjs.org/opn/-/opn-5.3.0.tgz", + "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, "parse5": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", "dev": true }, - "rxjs": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.2.2.tgz", - "integrity": "sha512-0MI8+mkKAXZUF9vMrEoPnaoHkfzBPP4IGwUYRJhIRJF6/w3uByO1e91bEHn8zd43RdkTMKiooYKmwz7RH6zfOQ==", + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, "requires": { - "tslib": "^1.9.0" + "punycode": "^2.1.0" + } + }, + "webpack-sources": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.2.0.tgz", + "integrity": "sha512-9BZwxR85dNsjWz3blyxdOhTgtnQvv3OEs5xofI0wPYTwu5kaWxS08UuD1oI7WLBLpRO+ylf0ofnXLXWmGb2WMw==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } } } }, "@angular-devkit/build-ng-packagr": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-ng-packagr/-/build-ng-packagr-0.8.4.tgz", - "integrity": "sha512-N1h7eq/knsb61C0cb6T8LID+Ak/RT7p7K/DcUKv9hrg26BNe2cHR/JuMGCvF120MVzK7nhEj99qyyaYMWb3g9g==", + "version": "0.9.0-rc.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-ng-packagr/-/build-ng-packagr-0.9.0-rc.2.tgz", + "integrity": "sha512-cH3U7qwNcqJH+r4GZHQ3X3zg1gcuN5Fa79tm74x6SSeUHoZoVFilHoviUyFLq6AMY+g8Mox5ehnvH+1bcLdN0A==", "dev": true, "requires": { - "@angular-devkit/architect": "0.8.4", - "@angular-devkit/core": "0.8.4", - "rxjs": "~6.2.0", - "semver": "^5.3.0" + "@angular-devkit/architect": "0.9.0-rc.2", + "@angular-devkit/core": "7.0.0-rc.2", + "rxjs": "6.3.3", + "semver": "5.5.1" }, "dependencies": { - "rxjs": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.2.2.tgz", - "integrity": "sha512-0MI8+mkKAXZUF9vMrEoPnaoHkfzBPP4IGwUYRJhIRJF6/w3uByO1e91bEHn8zd43RdkTMKiooYKmwz7RH6zfOQ==", + "@angular-devkit/architect": { + "version": "0.9.0-rc.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.9.0-rc.2.tgz", + "integrity": "sha512-D5vpo03kyBzn0lv6J2M2sC2+xxIo0K7aCKwHv7K0dN2RLPpvHWOTG0Eg+90s7a5OnekiAr9+vhR9vdlGriPBBw==", "dev": true, "requires": { - "tslib": "^1.9.0" + "@angular-devkit/core": "7.0.0-rc.2", + "rxjs": "6.3.3" + } + }, + "@angular-devkit/core": { + "version": "7.0.0-rc.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.0-rc.2.tgz", + "integrity": "sha512-c2ODPqnc40Wz9Oerjdi3gHa+XBCvGj1rAZd38NdweCSFejUogbppB4MDoKOFuQi7qp+kXfJpXSX4aocDm6T67g==", + "dev": true, + "requires": { + "ajv": "6.5.3", + "chokidar": "2.0.4", + "fast-json-stable-stringify": "2.0.0", + "rxjs": "6.3.3", + "source-map": "0.7.3" + } + }, + "ajv": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", + "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "^2.1.0" } } } }, "@angular-devkit/build-optimizer": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.8.4.tgz", - "integrity": "sha512-pqfB2qrFz5ZEJEP1of8P+knwV/GqoP5trLx247E1nwb512P8aLdHqVbMNgUzZmKxfL2GXO6fmLuuT2aEX93Zbg==", + "version": "0.9.0-rc.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.9.0-rc.2.tgz", + "integrity": "sha512-GFNuV/cUIHLB7W3MDD4n9dFY+mD6nwva8haI882DmA0MGNA6G+eDnBTUMXWtZHVR3yofgOa/7e/XY6cfIKzhag==", "dev": true, "requires": { - "loader-utils": "^1.1.0", - "source-map": "^0.5.6", - "typescript": "~2.9.2", - "webpack-sources": "^1.1.0" + "loader-utils": "1.1.0", + "source-map": "0.5.6", + "typescript": "3.1.1", + "webpack-sources": "1.2.0" }, "dependencies": { + "source-map": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "dev": true + }, "typescript": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz", - "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.1.1.tgz", + "integrity": "sha512-Veu0w4dTc/9wlWNf2jeRInNodKlcdLgemvPsrNpfu5Pq39sgfFjvIIgTsvUHCoLBnMhPoUA+tFxsXjU6VexVRQ==", "dev": true + }, + "webpack-sources": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.2.0.tgz", + "integrity": "sha512-9BZwxR85dNsjWz3blyxdOhTgtnQvv3OEs5xofI0wPYTwu5kaWxS08UuD1oI7WLBLpRO+ylf0ofnXLXWmGb2WMw==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } } } }, @@ -168,6 +343,7 @@ "version": "0.8.4", "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-0.8.4.tgz", "integrity": "sha512-oqMHezbIZMApud9JZDupWaxJeczTA17hLFGJ1qyAaPBRADtjnuguygXLcBLzYYAhzHKstrHwPJ4R1jj3oG28Ow==", + "dev": true, "requires": { "ajv": "~6.4.0", "chokidar": "^2.0.3", @@ -179,6 +355,7 @@ "version": "6.2.2", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.2.2.tgz", "integrity": "sha512-0MI8+mkKAXZUF9vMrEoPnaoHkfzBPP4IGwUYRJhIRJF6/w3uByO1e91bEHn8zd43RdkTMKiooYKmwz7RH6zfOQ==", + "dev": true, "requires": { "tslib": "^1.9.0" } @@ -186,20 +363,58 @@ } }, "@angular-devkit/schematics": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-0.8.4.tgz", - "integrity": "sha512-Wt2JE/PnwtJiy8yCPEKP//1FnCumXiXX3HU/FosWufDtMga3qc2MWFwrNWlm4GCbpfNbBXj0LuJwfcwi27Hhdg==", + "version": "7.0.0-rc.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-7.0.0-rc.2.tgz", + "integrity": "sha512-fzXCkCjBw4mJ+8OG07ss5m6kHLNU3zFeuEDl6UrD0bUnbnyfGPUFTKub33ZaBSKhXV3cVg8mGy+V6j/mJ/PgTw==", "requires": { - "@angular-devkit/core": "0.8.4", - "rxjs": "~6.2.0" + "@angular-devkit/core": "7.0.0-rc.2", + "rxjs": "6.3.3" }, "dependencies": { - "rxjs": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.2.2.tgz", - "integrity": "sha512-0MI8+mkKAXZUF9vMrEoPnaoHkfzBPP4IGwUYRJhIRJF6/w3uByO1e91bEHn8zd43RdkTMKiooYKmwz7RH6zfOQ==", + "@angular-devkit/core": { + "version": "7.0.0-rc.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.0-rc.2.tgz", + "integrity": "sha512-c2ODPqnc40Wz9Oerjdi3gHa+XBCvGj1rAZd38NdweCSFejUogbppB4MDoKOFuQi7qp+kXfJpXSX4aocDm6T67g==", "requires": { - "tslib": "^1.9.0" + "ajv": "6.5.3", + "chokidar": "2.0.4", + "fast-json-stable-stringify": "2.0.0", + "rxjs": "6.3.3", + "source-map": "0.7.3" + } + }, + "ajv": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", + "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==", + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "requires": { + "punycode": "^2.1.0" } } } @@ -230,28 +445,83 @@ } }, "@angular/cli": { - "version": "6.2.4", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-6.2.4.tgz", - "integrity": "sha512-Jl902wCgiV/tI3QM4W6aadEb2LPIS0t30wfAr+ikz7n2V3j3Ovf9iWM0ds4zZMreZfeoz4rCU/4FaKg1UbJvBA==", + "version": "7.0.0-rc.2", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-7.0.0-rc.2.tgz", + "integrity": "sha512-C8jkrTZYQnm1PBV8u9GQ1LBtGqy51DDJvCOugm8VkwhtgTxfANPO1x8sZPvX6bpW821LKbCsZLRfkPOJOvTwQA==", "dev": true, "requires": { - "@angular-devkit/architect": "0.8.4", - "@angular-devkit/core": "0.8.4", - "@angular-devkit/schematics": "0.8.4", - "@schematics/angular": "0.8.4", - "@schematics/update": "0.8.4", - "json-schema-traverse": "^0.4.1", - "opn": "^5.3.0", - "rxjs": "~6.2.0", - "semver": "^5.1.0", - "symbol-observable": "^1.2.0", - "yargs-parser": "^10.0.0" + "@angular-devkit/architect": "0.9.0-rc.2", + "@angular-devkit/core": "7.0.0-rc.2", + "@angular-devkit/schematics": "7.0.0-rc.2", + "@schematics/angular": "7.0.0-rc.2", + "@schematics/update": "0.9.0-rc.2", + "inquirer": "6.2.0", + "opn": "5.3.0", + "rxjs": "6.3.3", + "semver": "5.5.1", + "symbol-observable": "1.2.0" }, "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "@angular-devkit/architect": { + "version": "0.9.0-rc.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.9.0-rc.2.tgz", + "integrity": "sha512-D5vpo03kyBzn0lv6J2M2sC2+xxIo0K7aCKwHv7K0dN2RLPpvHWOTG0Eg+90s7a5OnekiAr9+vhR9vdlGriPBBw==", + "dev": true, + "requires": { + "@angular-devkit/core": "7.0.0-rc.2", + "rxjs": "6.3.3" + } + }, + "@angular-devkit/core": { + "version": "7.0.0-rc.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.0-rc.2.tgz", + "integrity": "sha512-c2ODPqnc40Wz9Oerjdi3gHa+XBCvGj1rAZd38NdweCSFejUogbppB4MDoKOFuQi7qp+kXfJpXSX4aocDm6T67g==", + "dev": true, + "requires": { + "ajv": "6.5.3", + "chokidar": "2.0.4", + "fast-json-stable-stringify": "2.0.0", + "rxjs": "6.3.3", + "source-map": "0.7.3" + } + }, + "@angular-devkit/schematics": { + "version": "7.0.0-rc.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-7.0.0-rc.2.tgz", + "integrity": "sha512-fzXCkCjBw4mJ+8OG07ss5m6kHLNU3zFeuEDl6UrD0bUnbnyfGPUFTKub33ZaBSKhXV3cVg8mGy+V6j/mJ/PgTw==", + "dev": true, + "requires": { + "@angular-devkit/core": "7.0.0-rc.2", + "rxjs": "6.3.3" + } + }, + "@schematics/angular": { + "version": "7.0.0-rc.2", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-7.0.0-rc.2.tgz", + "integrity": "sha512-awy/wt+d2Dqf6iZmqZ3kWFvJ6oeXRrCQ16bD4hwZd00/6UsJ9Wlv1NodJ8LkzDEWZaCBZ4OHPevYZdfX2M77+Q==", + "dev": true, + "requires": { + "@angular-devkit/core": "7.0.0-rc.2", + "@angular-devkit/schematics": "7.0.0-rc.2", + "typescript": "3.1.1" + } + }, + "ajv": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", + "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", "dev": true }, "json-schema-traverse": { @@ -260,22 +530,34 @@ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, - "rxjs": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.2.2.tgz", - "integrity": "sha512-0MI8+mkKAXZUF9vMrEoPnaoHkfzBPP4IGwUYRJhIRJF6/w3uByO1e91bEHn8zd43RdkTMKiooYKmwz7RH6zfOQ==", + "opn": { + "version": "5.3.0", + "resolved": "http://registry.npmjs.org/opn/-/opn-5.3.0.tgz", + "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", "dev": true, "requires": { - "tslib": "^1.9.0" + "is-wsl": "^1.1.0" } }, - "yargs-parser": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", - "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + }, + "typescript": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.1.1.tgz", + "integrity": "sha512-Veu0w4dTc/9wlWNf2jeRInNodKlcdLgemvPsrNpfu5Pq39sgfFjvIIgTsvUHCoLBnMhPoUA+tFxsXjU6VexVRQ==", + "dev": true + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, "requires": { - "camelcase": "^4.1.0" + "punycode": "^2.1.0" } } } @@ -660,20 +942,62 @@ } }, "@angular/pwa": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@angular/pwa/-/pwa-0.8.4.tgz", - "integrity": "sha512-0WZcuEvUeoU5d9ulHAGB1zGDBw/9ANFZgH6niZ3xH8bKw6K7LoT4Cg4oxDm/PyfgZg0lpxAaTQsb26KLrt2tbg==", - "requires": { - "@angular-devkit/core": "0.8.4", - "@angular-devkit/schematics": "0.8.4", - "@schematics/angular": "0.8.4", - "typescript": "~2.6.2" + "version": "0.9.0-rc.2", + "resolved": "https://registry.npmjs.org/@angular/pwa/-/pwa-0.9.0-rc.2.tgz", + "integrity": "sha512-zM85I7CNzMClshOlv4Yd4bEYoOkqAE5uk9vxyLOGUHLI5mGyBn3bZ3Vd9w0oc3ZhkTTSuR2PimoGDbWNtwSydA==", + "requires": { + "@angular-devkit/core": "7.0.0-rc.2", + "@angular-devkit/schematics": "7.0.0-rc.2", + "@schematics/angular": "7.0.0-rc.2", + "parse5-html-rewriting-stream": "5.1.0", + "rxjs": "6.3.3" }, "dependencies": { - "typescript": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.6.2.tgz", - "integrity": "sha1-PFtv1/beCRQmkCfwPAlGdY92c6Q=" + "@angular-devkit/core": { + "version": "7.0.0-rc.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.0-rc.2.tgz", + "integrity": "sha512-c2ODPqnc40Wz9Oerjdi3gHa+XBCvGj1rAZd38NdweCSFejUogbppB4MDoKOFuQi7qp+kXfJpXSX4aocDm6T67g==", + "requires": { + "ajv": "6.5.3", + "chokidar": "2.0.4", + "fast-json-stable-stringify": "2.0.0", + "rxjs": "6.3.3", + "source-map": "0.7.3" + } + }, + "ajv": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", + "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==", + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "requires": { + "punycode": "^2.1.0" + } } } }, @@ -1371,24 +1695,86 @@ "dev": true }, "@ngtools/webpack": { - "version": "6.2.4", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-6.2.4.tgz", - "integrity": "sha512-DQLYU1P733eW6gmHKvIEXUOuqqrdrHrqIh3G2QwHQvhfPP5/TI0A9MKZbftb+jlTk6YeHsTYRfDGObPv8OlvxA==", + "version": "7.0.0-rc.2", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-7.0.0-rc.2.tgz", + "integrity": "sha512-82Db96cThozF0LGnSD6BQAzVbBTD/dYnQxSMIYSXbK1tp+oGiO6ggPypA1wLbze71H1Qf0XeSFg7184MbMFyfw==", "dev": true, "requires": { - "@angular-devkit/core": "0.8.4", - "rxjs": "~6.2.0", - "tree-kill": "^1.0.0", - "webpack-sources": "^1.1.0" + "@angular-devkit/core": "7.0.0-rc.2", + "enhanced-resolve": "4.1.0", + "rxjs": "6.3.3", + "tree-kill": "1.2.0", + "webpack-sources": "1.2.0" }, "dependencies": { - "rxjs": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.2.2.tgz", - "integrity": "sha512-0MI8+mkKAXZUF9vMrEoPnaoHkfzBPP4IGwUYRJhIRJF6/w3uByO1e91bEHn8zd43RdkTMKiooYKmwz7RH6zfOQ==", + "@angular-devkit/core": { + "version": "7.0.0-rc.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.0-rc.2.tgz", + "integrity": "sha512-c2ODPqnc40Wz9Oerjdi3gHa+XBCvGj1rAZd38NdweCSFejUogbppB4MDoKOFuQi7qp+kXfJpXSX4aocDm6T67g==", "dev": true, "requires": { - "tslib": "^1.9.0" + "ajv": "6.5.3", + "chokidar": "2.0.4", + "fast-json-stable-stringify": "2.0.0", + "rxjs": "6.3.3", + "source-map": "0.7.3" + } + }, + "ajv": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", + "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "webpack-sources": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.2.0.tgz", + "integrity": "sha512-9BZwxR85dNsjWz3blyxdOhTgtnQvv3OEs5xofI0wPYTwu5kaWxS08UuD1oI7WLBLpRO+ylf0ofnXLXWmGb2WMw==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } } } @@ -1930,43 +2316,142 @@ } }, "@schematics/angular": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-0.8.4.tgz", - "integrity": "sha512-a85I7I7gYsmHRRnoNsCAa8ZlznIqnFjnOabVO6Z41XjUh57kOeWfLl7BQpd1CubvHu7q+juQXjBu1J+F4H/cOw==", + "version": "7.0.0-rc.2", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-7.0.0-rc.2.tgz", + "integrity": "sha512-awy/wt+d2Dqf6iZmqZ3kWFvJ6oeXRrCQ16bD4hwZd00/6UsJ9Wlv1NodJ8LkzDEWZaCBZ4OHPevYZdfX2M77+Q==", "requires": { - "@angular-devkit/core": "0.8.4", - "@angular-devkit/schematics": "0.8.4", - "typescript": ">=2.6.2 <2.10" + "@angular-devkit/core": "7.0.0-rc.2", + "@angular-devkit/schematics": "7.0.0-rc.2", + "typescript": "3.1.1" }, "dependencies": { + "@angular-devkit/core": { + "version": "7.0.0-rc.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.0-rc.2.tgz", + "integrity": "sha512-c2ODPqnc40Wz9Oerjdi3gHa+XBCvGj1rAZd38NdweCSFejUogbppB4MDoKOFuQi7qp+kXfJpXSX4aocDm6T67g==", + "requires": { + "ajv": "6.5.3", + "chokidar": "2.0.4", + "fast-json-stable-stringify": "2.0.0", + "rxjs": "6.3.3", + "source-map": "0.7.3" + } + }, + "ajv": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", + "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==", + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + }, "typescript": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz", - "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.1.1.tgz", + "integrity": "sha512-Veu0w4dTc/9wlWNf2jeRInNodKlcdLgemvPsrNpfu5Pq39sgfFjvIIgTsvUHCoLBnMhPoUA+tFxsXjU6VexVRQ==" + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "requires": { + "punycode": "^2.1.0" + } } } }, "@schematics/update": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.8.4.tgz", - "integrity": "sha512-iJkJZurP0FV1PPRUBmlrxxdp4JgDnzm573y4WAnleHb5IJlDME79WoGC8wNemxeuHQUMvZbZQrzgmdmzqU83GA==", + "version": "0.9.0-rc.2", + "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.9.0-rc.2.tgz", + "integrity": "sha512-EhL96xGekUwuxxlG4EeGftzDaCbMyC23yikuecZdrM2RQUOePdBs2Np1RSOgrdujhe0kRXM7wLumJ+WYP32mrg==", "dev": true, "requires": { - "@angular-devkit/core": "0.8.4", - "@angular-devkit/schematics": "0.8.4", - "npm-registry-client": "^8.5.1", - "rxjs": "~6.2.0", - "semver": "^5.3.0", - "semver-intersect": "^1.1.2" + "@angular-devkit/core": "7.0.0-rc.2", + "@angular-devkit/schematics": "7.0.0-rc.2", + "npm-registry-client": "8.6.0", + "rxjs": "6.3.3", + "semver": "5.5.1", + "semver-intersect": "1.4.0" }, "dependencies": { - "rxjs": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.2.2.tgz", - "integrity": "sha512-0MI8+mkKAXZUF9vMrEoPnaoHkfzBPP4IGwUYRJhIRJF6/w3uByO1e91bEHn8zd43RdkTMKiooYKmwz7RH6zfOQ==", + "@angular-devkit/core": { + "version": "7.0.0-rc.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.0-rc.2.tgz", + "integrity": "sha512-c2ODPqnc40Wz9Oerjdi3gHa+XBCvGj1rAZd38NdweCSFejUogbppB4MDoKOFuQi7qp+kXfJpXSX4aocDm6T67g==", "dev": true, "requires": { - "tslib": "^1.9.0" + "ajv": "6.5.3", + "chokidar": "2.0.4", + "fast-json-stable-stringify": "2.0.0", + "rxjs": "6.3.3", + "source-map": "0.7.3" + } + }, + "@angular-devkit/schematics": { + "version": "7.0.0-rc.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-7.0.0-rc.2.tgz", + "integrity": "sha512-fzXCkCjBw4mJ+8OG07ss5m6kHLNU3zFeuEDl6UrD0bUnbnyfGPUFTKub33ZaBSKhXV3cVg8mGy+V6j/mJ/PgTw==", + "dev": true, + "requires": { + "@angular-devkit/core": "7.0.0-rc.2", + "rxjs": "6.3.3" + } + }, + "ajv": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", + "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "^2.1.0" } } } @@ -2884,95 +3369,99 @@ "dev": true }, "@webassemblyjs/ast": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.8.tgz", - "integrity": "sha512-dOrtdtEyB8sInpl75yLPNksY4sRl0j/+t6aHyB/YA+ab9hV3Fo7FmG12FHzP+2MvWVAJtDb+6eXR5EZbZJ+uVg==", + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.6.tgz", + "integrity": "sha512-8nkZS48EVsMUU0v6F1LCIOw4RYWLm2plMtbhFTjNgeXmsTNLuU3xTRtnljt9BFQB+iPbLRobkNrCWftWnNC7wQ==", "dev": true, "requires": { - "@webassemblyjs/helper-module-context": "1.7.8", - "@webassemblyjs/helper-wasm-bytecode": "1.7.8", - "@webassemblyjs/wast-parser": "1.7.8" + "@webassemblyjs/helper-module-context": "1.7.6", + "@webassemblyjs/helper-wasm-bytecode": "1.7.6", + "@webassemblyjs/wast-parser": "1.7.6", + "mamacro": "^0.0.3" } }, "@webassemblyjs/floating-point-hex-parser": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.8.tgz", - "integrity": "sha512-kn2zNKGsbql5i56VAgRYkpG+VazqHhQQZQycT2uXAazrAEDs23gy+Odkh5VblybjnwX2/BITkDtNmSO76hdIvQ==", + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.6.tgz", + "integrity": "sha512-VBOZvaOyBSkPZdIt5VBMg3vPWxouuM13dPXGWI1cBh3oFLNcFJ8s9YA7S9l4mPI7+Q950QqOmqj06oa83hNWBA==", "dev": true }, "@webassemblyjs/helper-api-error": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.8.tgz", - "integrity": "sha512-xUwxDXsd1dUKArJEP5wWM5zxgCSwZApSOJyP1XO7M8rNUChUDblcLQ4FpzTpWG2YeylMwMl1MlP5Ztryiz1x4g==", + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.6.tgz", + "integrity": "sha512-SCzhcQWHXfrfMSKcj8zHg1/kL9kb3aa5TN4plc/EREOs5Xop0ci5bdVBApbk2yfVi8aL+Ly4Qpp3/TRAUInjrg==", "dev": true }, "@webassemblyjs/helper-buffer": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.8.tgz", - "integrity": "sha512-WXiIMnuvuwlhWvVOm8xEXU9DnHaa3AgAU0ZPfvY8vO1cSsmYb2WbGbHnMLgs43vXnA7XAob9b56zuZaMkxpCBg==", + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.6.tgz", + "integrity": "sha512-1/gW5NaGsEOZ02fjnFiU8/OEEXU1uVbv2um0pQ9YVL3IHSkyk6xOwokzyqqO1qDZQUAllb+V8irtClPWntbVqw==", "dev": true }, "@webassemblyjs/helper-code-frame": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.8.tgz", - "integrity": "sha512-TLQxyD9qGOIdX5LPQOPo0Ernd88U5rHkFb8WAjeMIeA0sPjCHeVPaGqUGGIXjUcblUkjuDAc07bruCcNHUrHDA==", + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.6.tgz", + "integrity": "sha512-+suMJOkSn9+vEvDvgyWyrJo5vJsWSDXZmJAjtoUq4zS4eqHyXImpktvHOZwXp1XQjO5H+YQwsBgqTQEc0J/5zg==", "dev": true, "requires": { - "@webassemblyjs/wast-printer": "1.7.8" + "@webassemblyjs/wast-printer": "1.7.6" } }, "@webassemblyjs/helper-fsm": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.8.tgz", - "integrity": "sha512-TjK0CnD8hAPkV5mbSp5aWl6SO1+H3WFcjWtixWoy8EMA99YnNzYhpc/WSYWhf7yrhpzkq5tZB0tvLK3Svr3IXA==", + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.6.tgz", + "integrity": "sha512-HCS6KN3wgxUihGBW7WFzEC/o8Eyvk0d56uazusnxXthDPnkWiMv+kGi9xXswL2cvfYfeK5yiM17z2K5BVlwypw==", "dev": true }, "@webassemblyjs/helper-module-context": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.8.tgz", - "integrity": "sha512-uCutAKR7Nm0VsFixcvnB4HhAyHouNbj0Dx1p7eRjFjXGGZ+N7ftTaG1ZbWCasAEbtwGj54LP8+lkBZdTCPmLGg==", - "dev": true + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.6.tgz", + "integrity": "sha512-e8/6GbY7OjLM+6OsN7f2krC2qYVNaSr0B0oe4lWdmq5sL++8dYDD1TFbD1TdAdWMRTYNr/Qq7ovXWzia2EbSjw==", + "dev": true, + "requires": { + "mamacro": "^0.0.3" + } }, "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.8.tgz", - "integrity": "sha512-AdCCE3BMW6V34WYaKUmPgVHa88t2Z14P4/0LjLwuGkI0X6pf7nzp0CehzVVk51cKm2ymVXjl9dCG+gR1yhITIQ==", + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.6.tgz", + "integrity": "sha512-PzYFCb7RjjSdAOljyvLWVqd6adAOabJW+8yRT+NWhXuf1nNZWH+igFZCUK9k7Cx7CsBbzIfXjJc7u56zZgFj9Q==", "dev": true }, "@webassemblyjs/helper-wasm-section": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.8.tgz", - "integrity": "sha512-BkBhYQuzyl4hgTGOKo87Vdw6f9nj8HhI7WYpI0MCC5qFa5ahrAPOGgyETVdnRbv+Rjukl9MxxfDmVcVC435lDg==", + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.6.tgz", + "integrity": "sha512-3GS628ppDPSuwcYlQ7cDCGr4W2n9c4hLzvnRKeuz+lGsJSmc/ADVoYpm1ts2vlB1tGHkjtQMni+yu8mHoMlKlA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-buffer": "1.7.8", - "@webassemblyjs/helper-wasm-bytecode": "1.7.8", - "@webassemblyjs/wasm-gen": "1.7.8" + "@webassemblyjs/ast": "1.7.6", + "@webassemblyjs/helper-buffer": "1.7.6", + "@webassemblyjs/helper-wasm-bytecode": "1.7.6", + "@webassemblyjs/wasm-gen": "1.7.6" } }, "@webassemblyjs/ieee754": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.8.tgz", - "integrity": "sha512-tOarWChdG1a3y1yqCX0JMDKzrat5tQe4pV6K/TX19BcXsBLYxFQOL1DEDa5KG9syeyvCrvZ+i1+Mv1ExngvktQ==", + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.6.tgz", + "integrity": "sha512-V4cIp0ruyw+hawUHwQLn6o2mFEw4t50tk530oKsYXQhEzKR+xNGDxs/SFFuyTO7X3NzEu4usA3w5jzhl2RYyzQ==", "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" } }, "@webassemblyjs/leb128": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.8.tgz", - "integrity": "sha512-GCYeGPgUFWJiZuP4NICbcyUQNxNLJIf476Ei+K+jVuuebtLpfvwkvYT6iTUE7oZYehhkor4Zz2g7SJ/iZaPudQ==", + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.6.tgz", + "integrity": "sha512-ojdlG8WpM394lBow4ncTGJoIVZ4aAtNOWHhfAM7m7zprmkVcKK+2kK5YJ9Bmj6/ketTtOn7wGSHCtMt+LzqgYQ==", "dev": true, "requires": { "@xtuc/long": "4.2.1" } }, "@webassemblyjs/utf8": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.8.tgz", - "integrity": "sha512-9X+f0VV+xNXW2ujfIRSXBJENGE6Qh7bNVKqu3yDjTFB3ar3nsThsGBBKdTG58aXOm2iUH6v28VIf88ymPXODHA==", + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.6.tgz", + "integrity": "sha512-oId+tLxQ+AeDC34ELRYNSqJRaScB0TClUU6KQfpB8rNT6oelYlz8axsPhf6yPTg7PBJ/Z5WcXmUYiHEWgbbHJw==", "dev": true }, "@webassemblyjs/validation": { @@ -3066,82 +3555,83 @@ } }, "@webassemblyjs/wasm-edit": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.8.tgz", - "integrity": "sha512-6D3Hm2gFixrfyx9XjSON4ml1FZTugqpkIz5Awvrou8fnpyprVzcm4X8pyGRtA2Piixjl3DqmX/HB1xdWyE097A==", + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.6.tgz", + "integrity": "sha512-pTNjLO3o41v/Vz9VFLl+I3YLImpCSpodFW77pNoH4agn5I6GgSxXHXtvWDTvYJFty0jSeXZWLEmbaSIRUDlekg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-buffer": "1.7.8", - "@webassemblyjs/helper-wasm-bytecode": "1.7.8", - "@webassemblyjs/helper-wasm-section": "1.7.8", - "@webassemblyjs/wasm-gen": "1.7.8", - "@webassemblyjs/wasm-opt": "1.7.8", - "@webassemblyjs/wasm-parser": "1.7.8", - "@webassemblyjs/wast-printer": "1.7.8" + "@webassemblyjs/ast": "1.7.6", + "@webassemblyjs/helper-buffer": "1.7.6", + "@webassemblyjs/helper-wasm-bytecode": "1.7.6", + "@webassemblyjs/helper-wasm-section": "1.7.6", + "@webassemblyjs/wasm-gen": "1.7.6", + "@webassemblyjs/wasm-opt": "1.7.6", + "@webassemblyjs/wasm-parser": "1.7.6", + "@webassemblyjs/wast-printer": "1.7.6" } }, "@webassemblyjs/wasm-gen": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.8.tgz", - "integrity": "sha512-a7O/wE6eBeVKKUYgpMK7NOHmMADD85rSXLe3CqrWRDwWff5y3cSVbzpN6Qv3z6C4hdkpq9qyij1Ga1kemOZGvQ==", + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.6.tgz", + "integrity": "sha512-mQvFJVumtmRKEUXMohwn8nSrtjJJl6oXwF3FotC5t6e2hlKMh8sIaW03Sck2MDzw9xPogZD7tdP5kjPlbH9EcQ==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-wasm-bytecode": "1.7.8", - "@webassemblyjs/ieee754": "1.7.8", - "@webassemblyjs/leb128": "1.7.8", - "@webassemblyjs/utf8": "1.7.8" + "@webassemblyjs/ast": "1.7.6", + "@webassemblyjs/helper-wasm-bytecode": "1.7.6", + "@webassemblyjs/ieee754": "1.7.6", + "@webassemblyjs/leb128": "1.7.6", + "@webassemblyjs/utf8": "1.7.6" } }, "@webassemblyjs/wasm-opt": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.8.tgz", - "integrity": "sha512-3lbQ0PT81NHCdi1sR/7+SNpZadM4qYcTSr62nFFAA7e5lFwJr14M1Gi+A/Y3PgcDWOHYjsaNGPpPU0H03N6Blg==", + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.6.tgz", + "integrity": "sha512-go44K90fSIsDwRgtHhX14VtbdDPdK2sZQtZqUcMRvTojdozj5tLI0VVJAzLCfz51NOkFXezPeVTAYFqrZ6rI8Q==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-buffer": "1.7.8", - "@webassemblyjs/wasm-gen": "1.7.8", - "@webassemblyjs/wasm-parser": "1.7.8" + "@webassemblyjs/ast": "1.7.6", + "@webassemblyjs/helper-buffer": "1.7.6", + "@webassemblyjs/wasm-gen": "1.7.6", + "@webassemblyjs/wasm-parser": "1.7.6" } }, "@webassemblyjs/wasm-parser": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.8.tgz", - "integrity": "sha512-rZ/zlhp9DHR/05zh1MbAjT2t624sjrPP/OkJCjXqzm7ynH+nIdNcn9Ixc+qzPMFXhIrk0rBoQ3to6sEIvHh9jQ==", + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.6.tgz", + "integrity": "sha512-t1T6TfwNY85pDA/HWPA8kB9xA4sp9ajlRg5W7EKikqrynTyFo+/qDzIpvdkOkOGjlS6d4n4SX59SPuIayR22Yg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-api-error": "1.7.8", - "@webassemblyjs/helper-wasm-bytecode": "1.7.8", - "@webassemblyjs/ieee754": "1.7.8", - "@webassemblyjs/leb128": "1.7.8", - "@webassemblyjs/utf8": "1.7.8" + "@webassemblyjs/ast": "1.7.6", + "@webassemblyjs/helper-api-error": "1.7.6", + "@webassemblyjs/helper-wasm-bytecode": "1.7.6", + "@webassemblyjs/ieee754": "1.7.6", + "@webassemblyjs/leb128": "1.7.6", + "@webassemblyjs/utf8": "1.7.6" } }, "@webassemblyjs/wast-parser": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.8.tgz", - "integrity": "sha512-Q/zrvtUvzWuSiJMcSp90fi6gp2nraiHXjTV2VgAluVdVapM4gy1MQn7akja2p6eSBDQpKJPJ6P4TxRkghRS5dg==", + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.6.tgz", + "integrity": "sha512-1MaWTErN0ziOsNUlLdvwS+NS1QWuI/kgJaAGAMHX8+fMJFgOJDmN/xsG4h/A1Gtf/tz5VyXQciaqHZqp2q0vfg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/floating-point-hex-parser": "1.7.8", - "@webassemblyjs/helper-api-error": "1.7.8", - "@webassemblyjs/helper-code-frame": "1.7.8", - "@webassemblyjs/helper-fsm": "1.7.8", - "@xtuc/long": "4.2.1" + "@webassemblyjs/ast": "1.7.6", + "@webassemblyjs/floating-point-hex-parser": "1.7.6", + "@webassemblyjs/helper-api-error": "1.7.6", + "@webassemblyjs/helper-code-frame": "1.7.6", + "@webassemblyjs/helper-fsm": "1.7.6", + "@xtuc/long": "4.2.1", + "mamacro": "^0.0.3" } }, "@webassemblyjs/wast-printer": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.8.tgz", - "integrity": "sha512-GllIthRtwTxRDAURRNXscu7Napzmdf1jt1gpiZiK/QN4fH0lSGs3OTmvdfsMNP7tqI4B3ZtfaaWRlNIQug6Xyg==", + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.6.tgz", + "integrity": "sha512-vHdHSK1tOetvDcl1IV1OdDeGNe/NDDQ+KzuZHMtqTVP1xO/tZ/IKNpj5BaGk1OYFdsDWQqb31PIwdEyPntOWRQ==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/wast-parser": "1.7.8", + "@webassemblyjs/ast": "1.7.6", + "@webassemblyjs/wast-parser": "1.7.6", "@xtuc/long": "4.2.1" } }, @@ -3316,6 +3806,7 @@ "version": "6.4.0", "resolved": "http://registry.npmjs.org/ajv/-/ajv-6.4.0.tgz", "integrity": "sha1-06/3jpJ3VJdx2vAWTP9ISCt1T8Y=", + "dev": true, "requires": { "fast-deep-equal": "^1.0.0", "fast-json-stable-stringify": "^2.0.0", @@ -3815,16 +4306,16 @@ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" }, "autoprefixer": { - "version": "8.6.5", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-8.6.5.tgz", - "integrity": "sha512-PLWJN3Xo/rycNkx+mp8iBDMTm3FeWe4VmYaZDSqL5QQB9sLsQkG5k8n+LNDFnhh9kdq2K+egL/icpctOmDHwig==", + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-8.4.1.tgz", + "integrity": "sha512-YqUclCBDXUT9Y7aQ8Xv+ja8yhTZYJoMsOD7WS++gZIJLCpCu+gPcKGDlhk6S3WxhLkTcNVdaMZAWys2nzZCH7g==", "dev": true, "requires": { - "browserslist": "^3.2.8", - "caniuse-lite": "^1.0.30000864", + "browserslist": "^3.2.6", + "caniuse-lite": "^1.0.30000832", "normalize-range": "^0.1.2", "num2fraction": "^1.2.2", - "postcss": "^6.0.23", + "postcss": "^6.0.22", "postcss-value-parser": "^3.2.3" } }, @@ -5350,16 +5841,6 @@ "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", "dev": true }, - "camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", - "dev": true, - "requires": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" - } - }, "camelcase": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", @@ -7599,15 +8080,6 @@ "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz", "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=" }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "dev": true, - "requires": { - "utila": "~0.4" - } - }, "dom-serializer": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", @@ -7647,15 +8119,6 @@ "webidl-conversions": "^4.0.2" } }, - "domhandler": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz", - "integrity": "sha1-0mRvXlf2w7qxHPbLBdPArPdBJZQ=", - "dev": true, - "requires": { - "domelementtype": "1" - } - }, "domutils": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", @@ -8786,6 +9249,12 @@ "resolved": "https://registry.npmjs.org/feature-policy/-/feature-policy-0.1.0.tgz", "integrity": "sha512-Sq+O5vUN0wQGOLGKzDXY1xCY6dOPic2ufMEF0xpVHIW+Dr8LocJ7Jhnvo5ZBCXKqWUgmGIqcF5AIJR+Wnq2SQw==" }, + "figgy-pudding": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", + "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", + "dev": true + }, "figlet": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/figlet/-/figlet-1.2.0.tgz", @@ -8800,13 +9269,26 @@ } }, "file-loader": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz", - "integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-2.0.0.tgz", + "integrity": "sha512-YCsBfd1ZGCyonOKLxPiKPdu+8ld9HAaMEvJewzz+b2eTF7uL5Zm/HdBF6FjCrpCMRq25Mi0U1gl4pwn2TlH7hQ==", "dev": true, "requires": { "loader-utils": "^1.0.2", - "schema-utils": "^0.4.5" + "schema-utils": "^1.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } } }, "filename-regex": { @@ -10587,12 +11069,6 @@ "minimalistic-assert": "^1.0.1" } }, - "he": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", - "dev": true - }, "helmet": { "version": "3.14.0", "resolved": "https://registry.npmjs.org/helmet/-/helmet-3.14.0.tgz", @@ -10736,127 +11212,6 @@ "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", "dev": true }, - "html-minifier": { - "version": "3.5.20", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.20.tgz", - "integrity": "sha512-ZmgNLaTp54+HFKkONyLFEfs5dd/ZOtlquKaTnqIWFmx3Av5zG6ZPcV2d0o9XM2fXOTxxIf6eDcwzFFotke/5zA==", - "dev": true, - "requires": { - "camel-case": "3.0.x", - "clean-css": "4.2.x", - "commander": "2.17.x", - "he": "1.1.x", - "param-case": "2.1.x", - "relateurl": "0.2.x", - "uglify-js": "3.4.x" - }, - "dependencies": { - "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "uglify-js": { - "version": "3.4.9", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", - "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==", - "dev": true, - "requires": { - "commander": "~2.17.1", - "source-map": "~0.6.1" - } - } - } - }, - "html-webpack-plugin": { - "version": "3.2.0", - "resolved": "http://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", - "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", - "dev": true, - "requires": { - "html-minifier": "^3.2.3", - "loader-utils": "^0.2.16", - "lodash": "^4.17.3", - "pretty-error": "^2.0.2", - "tapable": "^1.0.0", - "toposort": "^1.0.0", - "util.promisify": "1.0.0" - }, - "dependencies": { - "loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", - "dev": true, - "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0", - "object-assign": "^4.0.1" - } - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - } - } - }, - "htmlparser2": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz", - "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=", - "dev": true, - "requires": { - "domelementtype": "1", - "domhandler": "2.1", - "domutils": "1.1", - "readable-stream": "1.0" - }, - "dependencies": { - "domutils": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.1.6.tgz", - "integrity": "sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU=", - "dev": true, - "requires": { - "domelementtype": "1" - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - } - } - }, "http-auth": { "version": "2.4.11", "resolved": "https://registry.npmjs.org/http-auth/-/http-auth-2.4.11.tgz", @@ -10995,9 +11350,9 @@ } }, "husky": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/husky/-/husky-1.1.1.tgz", - "integrity": "sha512-D8ly8eIZdWzWVG4mh4apaX1PP47uLSaN8CS0RyuuLtHJ20Gt6Ccky5pSecaPsqxNzQj0zon3x6QX/0kCc5/TOQ==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/husky/-/husky-1.1.2.tgz", + "integrity": "sha512-9TdkUpBeEOjz0AnFdUN4i3w8kEbOsVs9/WSeJqWLq2OO6bcKQhVW64Zi+pVd/AMRLpN3QTINb6ZXiELczvdmqQ==", "dev": true, "requires": { "cosmiconfig": "^5.0.6", @@ -14312,12 +14667,6 @@ "signal-exit": "^3.0.0" } }, - "lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", - "dev": true - }, "lowercase-keys": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", @@ -14397,6 +14746,12 @@ "tmpl": "1.0.x" } }, + "mamacro": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", + "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", + "dev": true + }, "map-age-cleaner": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.2.tgz", @@ -15205,15 +15560,6 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, - "no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", - "dev": true, - "requires": { - "lower-case": "^1.1.1" - } - }, "nocache": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/nocache/-/nocache-2.0.0.tgz", @@ -19563,15 +19909,6 @@ "readable-stream": "^2.1.5" } }, - "param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", - "dev": true, - "requires": { - "no-case": "^2.2.0" - } - }, "parent-require": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/parent-require/-/parent-require-1.0.0.tgz", @@ -19653,8 +19990,24 @@ "parse5": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", - "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==", - "optional": true + "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==" + }, + "parse5-html-rewriting-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-5.1.0.tgz", + "integrity": "sha512-hZlaOTHJs4dpC5yFHnOSEMh26ErsqTsLzxKqkuRcUqtiu0kMsBQ9pkgANkECDyoBUhJ3+hvb2DPLsyqbtcS61Q==", + "requires": { + "parse5": "^5.1.0", + "parse5-sax-parser": "^5.1.0" + } + }, + "parse5-sax-parser": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-5.1.0.tgz", + "integrity": "sha512-VEhdEDhBkoSILPmsZ96SoIIUow3hZbtgQsqXw7r8DxxnqsCIO0fwkT9mWgBcf9SPjVUh92liuEprHrrYzXBPWQ==", + "requires": { + "parse5": "^5.1.0" + } }, "parseqs": { "version": "0.0.5", @@ -20054,19 +20407,6 @@ "schema-utils": "^0.4.0" } }, - "postcss-url": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/postcss-url/-/postcss-url-7.3.2.tgz", - "integrity": "sha512-QMV5mA+pCYZQcUEPQkmor9vcPQ2MT+Ipuu8qdi1gVxbNiIiErEGft+eny1ak19qALoBkccS5AHaCaCDzh7b9MA==", - "dev": true, - "requires": { - "mime": "^1.4.1", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.0", - "postcss": "^6.0.1", - "xxhashjs": "^0.2.1" - } - }, "postcss-value-parser": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", @@ -20117,18 +20457,8 @@ "prettier": { "version": "1.14.3", "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.14.3.tgz", - "integrity": "sha512-qZDVnCrnpsRJJq5nSsiHCE3BYMED2OtsI+cmzIzF1QIfqm5ALf8tEJcO27zV1gKNKRPdhjO0dNWnrzssDQ1tFg==", - "dev": true - }, - "pretty-error": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", - "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", - "dev": true, - "requires": { - "renderkid": "^2.0.1", - "utila": "~0.4" - } + "integrity": "sha512-qZDVnCrnpsRJJq5nSsiHCE3BYMED2OtsI+cmzIzF1QIfqm5ALf8tEJcO27zV1gKNKRPdhjO0dNWnrzssDQ1tFg==", + "dev": true }, "pretty-format": { "version": "23.6.0", @@ -20493,9 +20823,9 @@ "dev": true }, "querystringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.0.0.tgz", - "integrity": "sha512-eTPo5t/4bgaMNZxyjWx6N2a6AuE0mq51KWvpc7nU/MAqixcI6v6KrGUKES0HaomdnolQBBXU/++X6/QQ9KL4tw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.0.tgz", + "integrity": "sha512-sluvZZ1YiTLD5jsqZcDmFyV2EwToyXZBfpoVOmktMmW+VEnhgakFHnasVph65fOjGPTWN0Nw3+XQaSeMayr0kg==", "dev": true }, "quick-lru": { @@ -20835,30 +21165,11 @@ } } }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "dev": true - }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" }, - "renderkid": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.2.tgz", - "integrity": "sha512-FsygIxevi1jSiPY9h7vZmBFUbAOcbYm9UwyiLNdVsLRs/5We9Ob5NMPbGYUTWiLq5L+ezlVdE0A8bbME5CWTpg==", - "dev": true, - "requires": { - "css-select": "^1.1.0", - "dom-converter": "~0.2", - "htmlparser2": "~3.3.0", - "strip-ansi": "^3.0.0", - "utila": "^0.4.0" - } - }, "repeat-element": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", @@ -21550,9 +21861,9 @@ "dev": true }, "selfsigned": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.3.tgz", - "integrity": "sha512-vmZenZ+8Al3NLHkWnhBQ0x6BkML1eCP2xEi3JE+f3D9wW9fipD9NNJHYtE9XJM4TsPaHGZJIamrSI6MTg1dU2Q==", + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.4.tgz", + "integrity": "sha512-9AukTiDmHXGXWtWjembZ5NDmVvP2695EtpgbCsxCa68w3c88B+alqbmZ4O3hZ4VWGXeGWzEVdvqgAJD8DQPCDw==", "dev": true, "requires": { "node-forge": "0.7.5" @@ -22530,6 +22841,15 @@ "wbuf": "^1.7.2" } }, + "speed-measure-webpack-plugin": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/speed-measure-webpack-plugin/-/speed-measure-webpack-plugin-1.2.3.tgz", + "integrity": "sha512-p+taQ69VkRUXYMoZOx2nxV/Tz8tt79ahctoZJyJDHWP7fEYvwFNf5Pd73k5kZ6auu0pTsPNLEUwWpM8mCk85Zw==", + "dev": true, + "requires": { + "chalk": "^2.0.1" + } + }, "split": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", @@ -22628,9 +22948,9 @@ } }, "stats-webpack-plugin": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/stats-webpack-plugin/-/stats-webpack-plugin-0.6.2.tgz", - "integrity": "sha1-LFlJtTHgf4eojm6k3PrFOqjHWis=", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/stats-webpack-plugin/-/stats-webpack-plugin-0.7.0.tgz", + "integrity": "sha512-NT0YGhwuQ0EOX+uPhhUcI6/+1Sq/pMzNuSCBVT4GbFl/ac6I/JZefBcjlECNfAb1t3GOx5dEj1Z7x0cAxeeVLQ==", "dev": true, "requires": { "lodash": "^4.17.4" @@ -22853,9 +23173,9 @@ "dev": true }, "style-loader": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.21.0.tgz", - "integrity": "sha512-T+UNsAcl3Yg+BsPKs1vd22Fr8sVT+CJMtzqc6LEw9bbJZb43lm9GoeIfUcDEefBSWC0BhYbcdupV1GtI4DGzxg==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.0.tgz", + "integrity": "sha512-uCcN7XWHkqwGVt7skpInW6IGO1tG6ReyFQ1Cseh0VcN6VdcFQi62aG/2F3Y9ueA8x4IVlfaSUxpmQXQD9QrEuQ==", "dev": true, "requires": { "loader-utils": "^1.1.0", @@ -23066,6 +23386,204 @@ "execa": "^0.7.0" } }, + "terser": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-3.10.0.tgz", + "integrity": "sha512-hNh2WR3YxtKoY7BNSb3+CJ9Xv9bbUuOU9uriIf2F1tiAYNA4rNy2wWuSDV8iKcag27q65KPJ/sPpMWEh6qttgw==", + "dev": true, + "requires": { + "commander": "~2.17.1", + "source-map": "~0.6.1", + "source-map-support": "~0.5.6" + }, + "dependencies": { + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "terser-webpack-plugin": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.1.0.tgz", + "integrity": "sha512-61lV0DSxMAZ8AyZG7/A4a3UPlrbOBo8NIQ4tJzLPAdGOQ+yoNC7l5ijEow27lBAL2humer01KLS6bGIMYQxKoA==", + "dev": true, + "requires": { + "cacache": "^11.0.2", + "find-cache-dir": "^2.0.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^1.4.0", + "source-map": "^0.6.1", + "terser": "^3.8.1", + "webpack-sources": "^1.1.0", + "worker-farm": "^1.5.2" + }, + "dependencies": { + "cacache": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.2.0.tgz", + "integrity": "sha512-IFWl6lfK6wSeYCHUXh+N1lY72UDrpyrYQJNIVQf48paDuWbv5RbAtJYf/4gUQFObTCHZwdZ5sI8Iw7nqwP6nlQ==", + "dev": true, + "requires": { + "bluebird": "^3.5.1", + "chownr": "^1.0.1", + "figgy-pudding": "^3.1.0", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.3", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.2", + "ssri": "^6.0.0", + "unique-filename": "^1.1.0", + "y18n": "^4.0.0" + } + }, + "find-cache-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.0.0.tgz", + "integrity": "sha512-LDUY6V1Xs5eFskUVYtIwatojt6+9xC9Chnlk/jYOOvn3FAFfSaWddxahDGyNHh0b2dMXa6YW2m0tk8TdVaXHlA==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "lru-cache": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", + "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "p-limit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", + "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", + "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "ssri": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + } + } + }, "test-exclude": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.2.3.tgz", @@ -23873,12 +24391,6 @@ "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-0.0.1.tgz", "integrity": "sha1-zu78cXp2xDFvEm0LnbqlXX598Bo=" }, - "toposort": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", - "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", - "dev": true - }, "touch": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", @@ -24638,16 +25150,11 @@ "xdg-basedir": "^3.0.0" } }, - "upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", - "dev": true - }, "uri-js": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-3.0.2.tgz", "integrity": "sha1-+QuFhQf4HepNz7s8TD2/orVX+qo=", + "dev": true, "requires": { "punycode": "^2.1.0" } @@ -24681,36 +25188,6 @@ "integrity": "sha1-TTNA6AfTdzvamZH4MFrNzCpmXSo=", "dev": true }, - "url-loader": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.1.1.tgz", - "integrity": "sha512-vugEeXjyYFBCUOpX+ZuaunbK3QXMKaQ3zUnRfIpRBlGkY7QizCnzyyn2ASfcxsvyU3ef+CJppVywnl3Kgf13Gg==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "mime": "^2.0.3", - "schema-utils": "^1.0.0" - }, - "dependencies": { - "mime": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", - "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", - "dev": true - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } - } - }, "url-parse": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.3.tgz", @@ -24805,12 +25282,6 @@ "object.getownpropertydescriptors": "^2.0.3" } }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", - "dev": true - }, "utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", @@ -25098,15 +25569,15 @@ "dev": true }, "webpack": { - "version": "4.20.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.20.2.tgz", - "integrity": "sha512-75WFUMblcWYcocjSLlXCb71QuGyH7egdBZu50FtBGl2Nso8CK3Ej+J7bTZz2FPFq5l6fzCisD9modB7t30ikuA==", + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.19.1.tgz", + "integrity": "sha512-j7Q/5QqZRqIFXJvC0E59ipLV5Hf6lAnS3ezC3I4HMUybwEDikQBVad5d+IpPtmaQPQArvgUZLXIN6lWijHBn4g==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-module-context": "1.7.8", - "@webassemblyjs/wasm-edit": "1.7.8", - "@webassemblyjs/wasm-parser": "1.7.8", + "@webassemblyjs/ast": "1.7.6", + "@webassemblyjs/helper-module-context": "1.7.6", + "@webassemblyjs/wasm-edit": "1.7.6", + "@webassemblyjs/wasm-parser": "1.7.6", "acorn": "^5.6.2", "acorn-dynamic-import": "^3.0.0", "ajv": "^6.1.0", @@ -25126,7 +25597,7 @@ "tapable": "^1.1.0", "uglifyjs-webpack-plugin": "^1.2.4", "watchpack": "^1.5.0", - "webpack-sources": "^1.3.0" + "webpack-sources": "^1.2.0" }, "dependencies": { "acorn": { @@ -25400,14 +25871,16 @@ } }, "webpack-dev-middleware": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.4.0.tgz", - "integrity": "sha512-Q9Iyc0X9dP9bAsYskAVJ/hmIZZQwf/3Sy4xCAZgL5cUkjZmUZLt4l5HpbST/Pdgjn3u6pE7u5OdGd1apgzRujA==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.3.0.tgz", + "integrity": "sha512-5C5gXtOo1I6+0AEg4UPglYEtu3Rai6l5IiO6aUu65scHXz29dc3oIWMiRwvcNLXgL0HwRkRxa9N02ZjFt4hY8w==", "dev": true, "requires": { + "loud-rejection": "^1.6.0", "memory-fs": "~0.4.1", "mime": "^2.3.1", "range-parser": "^1.0.3", + "url-join": "^4.0.0", "webpack-log": "^2.0.0" }, "dependencies": { @@ -25420,9 +25893,9 @@ } }, "webpack-dev-server": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.1.9.tgz", - "integrity": "sha512-fqPkuNalLuc/hRC2QMkVYJkgNmRvxZQo7ykA2e1XRg/tMJm3qY7ZaD6d89/Fqjxtj9bOrn5wZzLD2n84lJdvWg==", + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.1.8.tgz", + "integrity": "sha512-c+tcJtDqnPdxCAzEEZKdIPmg3i5i7cAHe+B+0xFNK0BlCc2HF/unYccbU7xTgfGc5xxhCztCQzFmsqim+KhI+A==", "dev": true, "requires": { "ansi-html": "0.0.7", @@ -25450,7 +25923,7 @@ "spdy": "^3.4.1", "strip-ansi": "^3.0.0", "supports-color": "^5.1.0", - "webpack-dev-middleware": "3.4.0", + "webpack-dev-middleware": "3.2.0", "webpack-log": "^2.0.0", "yargs": "12.0.2" }, @@ -25503,9 +25976,9 @@ } }, "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -25580,6 +26053,12 @@ "p-is-promise": "^1.1.0" } }, + "mime": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", + "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", + "dev": true + }, "ms": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", @@ -25632,6 +26111,21 @@ "ajv-keywords": "^3.1.0" } }, + "webpack-dev-middleware": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.2.0.tgz", + "integrity": "sha512-YJLMF/96TpKXaEQwaLEo+Z4NDK8aV133ROF6xp9pe3gQoS7sxfpXh4Rv9eC+8vCvWfmDjRQaMSlRPbO+9G6jgA==", + "dev": true, + "requires": { + "loud-rejection": "^1.6.0", + "memory-fs": "~0.4.1", + "mime": "^2.3.1", + "path-is-absolute": "^1.0.0", + "range-parser": "^1.0.3", + "url-join": "^4.0.0", + "webpack-log": "^2.0.0" + } + }, "yargs": { "version": "12.0.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.2.tgz", diff --git a/package.json b/package.json index 972df8e30..421b329cd 100644 --- a/package.json +++ b/package.json @@ -122,7 +122,7 @@ "@angular/material-moment-adapter": "^7.0.0-rc.1", "@angular/platform-browser": "^7.0.0-rc.1", "@angular/platform-browser-dynamic": "^7.0.0-rc.1", - "@angular/pwa": "^0.8.4", + "@angular/pwa": "0.9.0-rc.2", "@angular/router": "^7.0.0-rc.1", "@angular/service-worker": "^7.0.0-rc.1", "@fortawesome/angular-fontawesome": "^0.2.1", @@ -187,9 +187,9 @@ "zone.js": "^0.8.26" }, "devDependencies": { - "@angular-devkit/build-angular": "^0.8.4", - "@angular-devkit/build-ng-packagr": "^0.8.4", - "@angular/cli": "^6.2.4", + "@angular-devkit/build-angular": "0.9.0-rc.2", + "@angular-devkit/build-ng-packagr": "0.9.0-rc.2", + "@angular/cli": "^7.0.0-rc.2", "@angular/compiler-cli": "^7.0.0-rc.1", "@angular/http": "^7.0.0-rc.1", "@angular/language-service": "^7.0.0-rc.1", @@ -219,7 +219,7 @@ "codelyzer": "^4.5.0", "commitizen": "^3.0.2", "cz-conventional-changelog": "^2.1.0", - "husky": "^1.1.1", + "husky": "^1.1.2", "jest": "^23.6.0", "jest-preset-angular": "6.0.1", "lint-staged": "^7.3.0", From e3f7954c1c86115e3c5159613b5515c22f1739f6 Mon Sep 17 00:00:00 2001 From: xmlking Date: Fri, 12 Oct 2018 12:28:23 -0700 Subject: [PATCH 11/22] build(dependencies): updated angular cli dependency --- .deploy/postgres/kube.ts | 17 + PLAYBOOK.md | 8 +- .../accounts-table.component.ts | 2 + package-lock.json | 549 +++++++++++++++--- package.json | 11 +- stories/faq.md | 11 + 6 files changed, 499 insertions(+), 99 deletions(-) create mode 100644 .deploy/postgres/kube.ts diff --git a/.deploy/postgres/kube.ts b/.deploy/postgres/kube.ts new file mode 100644 index 000000000..fb2da3ea1 --- /dev/null +++ b/.deploy/postgres/kube.ts @@ -0,0 +1,17 @@ +const Client = require('kubernetes-client').Client; +const config = require('kubernetes-client').config; + +const client = new Client({ config: config.fromKubeconfig(), version: '1.10' }); + +(async () => { + + try { + const namespaces = await client.api.v1.namespaces.get(); + namespaces.body.items.forEach( (namespace) => { + console.log(namespace.metadata.name); + }); + } catch (error) { + console.log(error); + } + +})(); diff --git a/PLAYBOOK.md b/PLAYBOOK.md index 82e0f72d3..2bcde758f 100644 --- a/PLAYBOOK.md +++ b/PLAYBOOK.md @@ -55,7 +55,7 @@ npm remove -g @nestjs/cli npm remove -g semantic-release-cli npm remove -g commitizen -npm install -g @angular/cli +npm install -g @angular/cli@next npm install -g @nrwl/schematics npm install -g @nestjs/cli npm install -g semantic-release-cli @@ -106,7 +106,9 @@ ng update --all # also run `npm outdated` and update versions in package.json then run `npm install` # generate webapp app -ng g app webapp --routing --style=scss --prefix=ngx --unit-test-runner=jest --tags=app-module +ng g app webapp --routing --style=scss --prefix=ngx --unit-test-runner=jest --tags=app-module +# or with ivy renderer +ng g app webapp1 --routing --style=scss --prefix=ngx --unit-test-runner=jest --tags=app-module --experimental-ivy --dry-run # generate api app with nestjs ng g node-app api --framework=express --unit-test-runner=jest --tags=api-module --dry-run @@ -280,7 +282,7 @@ ng g class notification --type=model --project=notifications --dry-run ng g service notifications --project=notifications --dry-run # generate components for `Quickpanel` Module -ng g lib Quickpanel --prefix=ngx --tags=private-module --unit-test-runner=jest +ng g lib Quickpanel1 --prefix=ngx --tags=private-module --unit-test-runner=jest ng g component Quickpanel --project=quickpanel --flat --dry-run # generate components for `NgxPipes` Module diff --git a/libs/grid/src/lib/containers/accounts-table/accounts-table.component.ts b/libs/grid/src/lib/containers/accounts-table/accounts-table.component.ts index c0d4968fb..628e47775 100644 --- a/libs/grid/src/lib/containers/accounts-table/accounts-table.component.ts +++ b/libs/grid/src/lib/containers/accounts-table/accounts-table.component.ts @@ -14,6 +14,8 @@ import { Navigate } from '@ngxs/router-plugin'; import { Store } from '@ngxs/store'; import { Crumb } from '@ngx-starter-kit/breadcrumbs'; +// TODO: search with facets https://github.com/sfeir-open-source/angular-search-experience +// https://ngx.tools/#/search?q=Go @Component({ selector: 'ngx-accounts-table', templateUrl: '../../../../../shared/src/lib/containers/entity/entity.component.html', diff --git a/package-lock.json b/package-lock.json index ad8bdf76c..d3fe476be 100644 --- a/package-lock.json +++ b/package-lock.json @@ -445,16 +445,16 @@ } }, "@angular/cli": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-7.0.0-rc.2.tgz", - "integrity": "sha512-C8jkrTZYQnm1PBV8u9GQ1LBtGqy51DDJvCOugm8VkwhtgTxfANPO1x8sZPvX6bpW821LKbCsZLRfkPOJOvTwQA==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-7.0.0-rc.3.tgz", + "integrity": "sha512-S1RNniDxpQIGzjyjIibI1OYPN6mEBC93DoKdTLlLLEBqhMfh5dT80Yx4KzZR14CPIiPEqc0vnRWtPt5eHkkrLA==", "dev": true, "requires": { - "@angular-devkit/architect": "0.9.0-rc.2", - "@angular-devkit/core": "7.0.0-rc.2", - "@angular-devkit/schematics": "7.0.0-rc.2", - "@schematics/angular": "7.0.0-rc.2", - "@schematics/update": "0.9.0-rc.2", + "@angular-devkit/architect": "0.9.0-rc.3", + "@angular-devkit/core": "7.0.0-rc.3", + "@angular-devkit/schematics": "7.0.0-rc.3", + "@schematics/angular": "7.0.0-rc.3", + "@schematics/update": "0.9.0-rc.3", "inquirer": "6.2.0", "opn": "5.3.0", "rxjs": "6.3.3", @@ -463,19 +463,19 @@ }, "dependencies": { "@angular-devkit/architect": { - "version": "0.9.0-rc.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.9.0-rc.2.tgz", - "integrity": "sha512-D5vpo03kyBzn0lv6J2M2sC2+xxIo0K7aCKwHv7K0dN2RLPpvHWOTG0Eg+90s7a5OnekiAr9+vhR9vdlGriPBBw==", + "version": "0.9.0-rc.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.9.0-rc.3.tgz", + "integrity": "sha512-9G21dLXbpaAx5pBUgmW3DI6ZjoyEl662EXwLvggxn8DG2Q3v9RBbGnakkKSXlvmlxtT5xiRmS8puFZHffDjaNg==", "dev": true, "requires": { - "@angular-devkit/core": "7.0.0-rc.2", + "@angular-devkit/core": "7.0.0-rc.3", "rxjs": "6.3.3" } }, "@angular-devkit/core": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.0-rc.2.tgz", - "integrity": "sha512-c2ODPqnc40Wz9Oerjdi3gHa+XBCvGj1rAZd38NdweCSFejUogbppB4MDoKOFuQi7qp+kXfJpXSX4aocDm6T67g==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.0-rc.3.tgz", + "integrity": "sha512-xPhx4jCY1B4TLWWAEiUvpEJruIPlSxf8+cz9dFk/AkoDfJPOA21iEJ1Km6FPxkuKchm+W4n25ASDO45rOXhLaA==", "dev": true, "requires": { "ajv": "6.5.3", @@ -486,23 +486,23 @@ } }, "@angular-devkit/schematics": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-7.0.0-rc.2.tgz", - "integrity": "sha512-fzXCkCjBw4mJ+8OG07ss5m6kHLNU3zFeuEDl6UrD0bUnbnyfGPUFTKub33ZaBSKhXV3cVg8mGy+V6j/mJ/PgTw==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-7.0.0-rc.3.tgz", + "integrity": "sha512-Dm+USTvcvgMWl1lfslK9diPtFje1rDBX0bIVPDHaBampxDSHyaQsfAEZxQWInoVB9c9NzjmCEcZoCogwMDoeUg==", "dev": true, "requires": { - "@angular-devkit/core": "7.0.0-rc.2", + "@angular-devkit/core": "7.0.0-rc.3", "rxjs": "6.3.3" } }, "@schematics/angular": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-7.0.0-rc.2.tgz", - "integrity": "sha512-awy/wt+d2Dqf6iZmqZ3kWFvJ6oeXRrCQ16bD4hwZd00/6UsJ9Wlv1NodJ8LkzDEWZaCBZ4OHPevYZdfX2M77+Q==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-7.0.0-rc.3.tgz", + "integrity": "sha512-0sTXtlFlOF4wGgn3NG7DYmOf65wFVG+aZRvYmgqYIvXhqZlx7G0xN9b3+9CmC9+nE2XaD9TAMfN0PEzgFJEE6A==", "dev": true, "requires": { - "@angular-devkit/core": "7.0.0-rc.2", - "@angular-devkit/schematics": "7.0.0-rc.2", + "@angular-devkit/core": "7.0.0-rc.3", + "@angular-devkit/schematics": "7.0.0-rc.3", "typescript": "3.1.1" } }, @@ -1046,21 +1046,23 @@ } }, "@commitlint/cli": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-7.2.0.tgz", - "integrity": "sha512-qFTXZoyi+XFkUXRj1pgcfRw5ao31kPkP/V3c7O8SU52GUVxFo2LM8sFiTF9WEqlgSd7WJA0SGl5tOX/VtCMYEA==", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-7.2.1.tgz", + "integrity": "sha512-PUHWGoQOx8m6ZSpZPSHb+YISFAvW7jiWvCJOQiViKHZC8CLKu4bjyc/AwP8gBte0RsTGAu1ekiitp5Q0NcLGcA==", "dev": true, "requires": { - "@commitlint/format": "^7.2.0", - "@commitlint/lint": "^7.2.0", - "@commitlint/load": "^7.2.0", + "@commitlint/format": "^7.2.1", + "@commitlint/lint": "^7.2.1", + "@commitlint/load": "^7.2.1", "@commitlint/read": "^7.1.2", "babel-polyfill": "6.26.0", "chalk": "2.3.1", "get-stdin": "5.0.1", "lodash.merge": "4.6.1", "lodash.pick": "4.4.0", - "meow": "5.0.0" + "meow": "5.0.0", + "resolve-from": "^4.0.0", + "resolve-global": "^0.1.0" }, "dependencies": { "camelcase": { @@ -1237,9 +1239,9 @@ } }, "@commitlint/format": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-7.2.0.tgz", - "integrity": "sha512-Vx10wFyP3yfE4tq1x0HWb/vqkZc5+79uWak91sARSu5wG5JVzBvQXxfqOhefOKbVqXGKXlP2yXrSq8fM6YUQ3w==", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-7.2.1.tgz", + "integrity": "sha512-1YcL+ZWB8V52oDFQBhSBJjiJOZDt4Vl06O5TkG70BMpre3EQru5KYIN16eEPqfihNw0bj8gSIWcf87Gvh3OrOw==", "dev": true, "requires": { "babel-runtime": "^6.23.0", @@ -1247,29 +1249,29 @@ } }, "@commitlint/is-ignored": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-7.2.0.tgz", - "integrity": "sha512-6HCkLSuh4hms72x0EJp9mt9UXq27MRpZtmf7exhBnYqNyd76vMMA7/nGjdULxldr2xyzlzKNjMbh2lpQRD4aog==", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-7.2.1.tgz", + "integrity": "sha512-3DsEEKRnj8Bv9qImsxWcGf9BwerDnk5Vs+oK6ELzIwkndHaAZLHyATjmaz/rsc+U+DWiVjgKrrw3xvd/UsoazA==", "dev": true, "requires": { - "semver": "5.5.0" + "semver": "5.6.0" }, "dependencies": { "semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", "dev": true } } }, "@commitlint/lint": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-7.2.0.tgz", - "integrity": "sha512-aZAiQggpF638/XmY7EJe5yTEhg4C4GrxWktcdEDMQrRG1phFUPp+AKXBqljDYzrpmptiL9glY3fLO1m5XzA+BA==", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-7.2.1.tgz", + "integrity": "sha512-rM7nUyNUJyuKw1MTwJG/wk4twB5YCAG2wzJMn5NqVpGD/qmLOzlZoBl0+CYmuOsbIRAA2rlEV6KZHBk9tTfAdQ==", "dev": true, "requires": { - "@commitlint/is-ignored": "^7.2.0", + "@commitlint/is-ignored": "^7.2.1", "@commitlint/parse": "^7.1.2", "@commitlint/rules": "^7.2.0", "babel-runtime": "^6.23.0", @@ -1277,9 +1279,9 @@ } }, "@commitlint/load": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-7.2.0.tgz", - "integrity": "sha512-+7rh1jeYhSMj6+zzZVbo5bMnuWx1nL4c5JJdEq3rMQT6ILI169xlL94sPdkz0to6dDmi4yLgC4/kipyLyynriA==", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-7.2.1.tgz", + "integrity": "sha512-FnfmfhPGJqGwILVRznduBejOicNey6p/byfcyxtcBkN2+X96gDuNtqcnGcngCrzPIAgaIrQQcTQDA1/KMtW21A==", "dev": true, "requires": { "@commitlint/execute-rule": "^7.1.2", @@ -1291,14 +1293,6 @@ "lodash.pick": "4.4.0", "lodash.topairs": "4.3.0", "resolve-from": "4.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - } } }, "@commitlint/message": { @@ -1341,14 +1335,6 @@ "require-uncached": "^1.0.3", "resolve-from": "^4.0.0", "resolve-global": "^0.1.0" - }, - "dependencies": { - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - } } }, "@commitlint/rules": { @@ -1547,32 +1533,32 @@ } }, "@fortawesome/fontawesome-common-types": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.5.tgz", - "integrity": "sha512-hkKASkxINPqAyhYDF9QVtDK02hcleUzGxXnGmFkF/fIJgHaGaI4lVV07OfLsC6KIlgXQfIAAf3PNR2C74HN6xg==" + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.6.tgz", + "integrity": "sha512-AoBpRaR7IVaXgF2rh0G6cY+WSQhGqDf+JheJMGoSH0E0YjVIUxwha7Nf0SuwQuSQe1GwxZbuaoPUTXA74cRS3w==" }, "@fortawesome/fontawesome-svg-core": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.5.tgz", - "integrity": "sha512-5q/3JyLg4sxEfk3VxBlBO7Rvl7rLvcEbKrWIGN0Y9xnjkPLIqdP9fgnetjCi3rNzhQjSzTyOgVG0M0I0KabXHw==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.6.tgz", + "integrity": "sha512-784NAqscnUuMZmf7eNSOn2L71VecLQAkEhfyYzTYnh6i+ycxy7tvpw4Ys4wc6RiglKqTddWRkWBZZ9uGAtfoWg==", "requires": { - "@fortawesome/fontawesome-common-types": "^0.2.5" + "@fortawesome/fontawesome-common-types": "^0.2.6" } }, "@fortawesome/free-brands-svg-icons": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.4.0.tgz", - "integrity": "sha512-X4+m/+Akd4Kt4jAD2tK9WNcm1T5EOnHB6HscX0dJpj6YJJfrGXXBFN5RPxM+9k5qOrWkT3X2eS0PGDK/M4BPKw==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.4.1.tgz", + "integrity": "sha512-kt81EOduizFQ8YHURrN1vl230Z8eOu05QysTtZejyJBrMrU1YSDUMNwlP5t8vYZ8VErWx5C1Kqom5OEctDKmrA==", "requires": { - "@fortawesome/fontawesome-common-types": "^0.2.5" + "@fortawesome/fontawesome-common-types": "^0.2.6" } }, "@fortawesome/free-solid-svg-icons": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.4.0.tgz", - "integrity": "sha512-+9k7KO8wJbUIa88U2s712r5WAxZuFNb2RTE9AASMMb5VYAWsVGfhLAOkDAkI92RDLjN3Y2NK+2vt8A5uNxCuYQ==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.4.1.tgz", + "integrity": "sha512-GRYr+T0sAnfjImhDJt6Gko3sW554+/fEUHgDFJonEEFYLbfLyv6Qn5i/VB8nXcJJLgqHbVwIvwH5Ol3IehIjow==", "requires": { - "@fortawesome/fontawesome-common-types": "^0.2.5" + "@fortawesome/fontawesome-common-types": "^0.2.6" } }, "@marionebl/sander": { @@ -2379,13 +2365,13 @@ } }, "@schematics/update": { - "version": "0.9.0-rc.2", - "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.9.0-rc.2.tgz", - "integrity": "sha512-EhL96xGekUwuxxlG4EeGftzDaCbMyC23yikuecZdrM2RQUOePdBs2Np1RSOgrdujhe0kRXM7wLumJ+WYP32mrg==", + "version": "0.9.0-rc.3", + "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.9.0-rc.3.tgz", + "integrity": "sha512-SNww4o97T1Mp9YJZt6sUhNG3s5jqj5Ru+6lpfCSN4dxTjzhIFyGPX60OLMEZvISPnBwXU/hbo9mBEjU6QazpPg==", "dev": true, "requires": { - "@angular-devkit/core": "7.0.0-rc.2", - "@angular-devkit/schematics": "7.0.0-rc.2", + "@angular-devkit/core": "7.0.0-rc.3", + "@angular-devkit/schematics": "7.0.0-rc.3", "npm-registry-client": "8.6.0", "rxjs": "6.3.3", "semver": "5.5.1", @@ -2393,9 +2379,9 @@ }, "dependencies": { "@angular-devkit/core": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.0-rc.2.tgz", - "integrity": "sha512-c2ODPqnc40Wz9Oerjdi3gHa+XBCvGj1rAZd38NdweCSFejUogbppB4MDoKOFuQi7qp+kXfJpXSX4aocDm6T67g==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.0-rc.3.tgz", + "integrity": "sha512-xPhx4jCY1B4TLWWAEiUvpEJruIPlSxf8+cz9dFk/AkoDfJPOA21iEJ1Km6FPxkuKchm+W4n25ASDO45rOXhLaA==", "dev": true, "requires": { "ajv": "6.5.3", @@ -2406,12 +2392,12 @@ } }, "@angular-devkit/schematics": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-7.0.0-rc.2.tgz", - "integrity": "sha512-fzXCkCjBw4mJ+8OG07ss5m6kHLNU3zFeuEDl6UrD0bUnbnyfGPUFTKub33ZaBSKhXV3cVg8mGy+V6j/mJ/PgTw==", + "version": "7.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-7.0.0-rc.3.tgz", + "integrity": "sha512-Dm+USTvcvgMWl1lfslK9diPtFje1rDBX0bIVPDHaBampxDSHyaQsfAEZxQWInoVB9c9NzjmCEcZoCogwMDoeUg==", "dev": true, "requires": { - "@angular-devkit/core": "7.0.0-rc.2", + "@angular-devkit/core": "7.0.0-rc.3", "rxjs": "6.3.3" } }, @@ -3113,6 +3099,12 @@ } } }, + "@sindresorhus/is": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", + "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==", + "dev": true + }, "@trademe/ng-defer-load": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@trademe/ng-defer-load/-/ng-defer-load-2.0.0.tgz", @@ -5295,6 +5287,12 @@ "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=" }, + "base64url": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/base64url/-/base64url-3.0.0.tgz", + "integrity": "sha512-LIVmqIrIWuiqTvn4RzcrwCOuHo2DD6tKmKBPXXlr4p4n4l6BZBkwFTIa3zu1XkX5MbZgro4a6BvPi+n2Mns5Gg==", + "dev": true + }, "basic-auth": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", @@ -5793,6 +5791,46 @@ "unset-value": "^1.0.0" } }, + "cacheable-request": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", + "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", + "dev": true, + "requires": { + "clone-response": "1.0.2", + "get-stream": "3.0.0", + "http-cache-semantics": "3.8.1", + "keyv": "3.0.0", + "lowercase-keys": "1.0.0", + "normalize-url": "2.0.1", + "responselike": "1.0.2" + }, + "dependencies": { + "lowercase-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", + "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=", + "dev": true + }, + "normalize-url": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", + "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", + "dev": true, + "requires": { + "prepend-http": "^2.0.0", + "query-string": "^5.0.1", + "sort-keys": "^2.0.0" + } + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true + } + } + }, "cachedir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.1.0.tgz", @@ -6361,6 +6399,15 @@ "shallow-clone": "^1.0.0" } }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, "closest-file-data": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/closest-file-data/-/closest-file-data-0.1.4.tgz", @@ -7723,6 +7770,15 @@ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, "dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", @@ -9551,6 +9607,15 @@ "integrity": "sha512-Nlic4ZRYxikqnK5rj3YoxDVKGGtUjcNDUtvQ7XsdGLZmMwdUYnXf10o1zcXtzEZTBgc6GxeRpQxV/Wu3WPIIHA==", "dev": true }, + "fluent-openapi": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/fluent-openapi/-/fluent-openapi-0.1.1.tgz", + "integrity": "sha512-JTnCiuaAm66gGuizv4g46MqN1QVldPxySn9DxZ+hCjMaEGFx6ciJhz0iMfS5iv1YKqZo5pBW6qFJ9Zu0jaqvaw==", + "dev": true, + "requires": { + "lodash.merge": "^4.6.1" + } + }, "flush-write-stream": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz", @@ -11008,12 +11073,27 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, + "has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", + "dev": true + }, "has-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", "dev": true }, + "has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "dev": true, + "requires": { + "has-symbol-support-x": "^1.4.1" + } + }, "has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", @@ -11231,6 +11311,12 @@ } } }, + "http-cache-semantics": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", + "dev": true + }, "http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", @@ -12043,6 +12129,12 @@ "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", "dev": true }, + "is-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", + "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=", + "dev": true + }, "is-observable": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz", @@ -12477,6 +12569,16 @@ "handlebars": "^4.0.3" } }, + "isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "dev": true, + "requires": { + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" + } + }, "iterare": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/iterare/-/iterare-0.0.8.tgz", @@ -13649,6 +13751,12 @@ "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", "dev": true }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", + "dev": true + }, "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", @@ -13790,6 +13898,15 @@ "integrity": "sha1-HoBFQlABjbrUw/6USX1uZ7YmnHc=", "dev": true }, + "keyv": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", + "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", + "dev": true, + "requires": { + "json-buffer": "3.0.0" + } + }, "killable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", @@ -13807,6 +13924,18 @@ "integrity": "sha512-77XF9iTllATmG9lSlIv0qdQ2BQ/h9t0bJllHlbvsQ0zUWfU7Yi0S8L5JXzPZgkefIiajLmBJJ4BsMJmqcf7oxQ==", "dev": true }, + "kubernetes-client": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/kubernetes-client/-/kubernetes-client-6.1.0.tgz", + "integrity": "sha512-H4Phnw7zWV3nYzvMqc84DDexr1Da8sRokPWoDLxLuVJSTPnqVuXpAPAWPqNcZzZdm4kWddTfKTjpg8iOYHiDDQ==", + "dev": true, + "requires": { + "fluent-openapi": "0.1.1", + "js-yaml": "^3.10.0", + "openid-client": "^2.0.0", + "request": "^2.83.0" + } + }, "latest-version": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", @@ -14386,6 +14515,12 @@ "integrity": "sha1-+CbJtOKoUR2E46yinbBeGk87cqk=", "dev": true }, + "lodash.clone": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", + "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=", + "dev": true + }, "lodash.clonedeep": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", @@ -14409,11 +14544,29 @@ "integrity": "sha1-ZHYsSGGAglGKw99Mz11YhtriA0c=", "dev": true }, + "lodash.fill": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/lodash.fill/-/lodash.fill-3.4.0.tgz", + "integrity": "sha1-o8dK5kDQU63w3CB5+HIHiOi/74U=", + "dev": true + }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", + "dev": true + }, "lodash.includes": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" }, + "lodash.intersection": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.intersection/-/lodash.intersection-4.4.0.tgz", + "integrity": "sha1-ChG6Yx0OlcI8fy9Mu5ppLtF45wU=", + "dev": true + }, "lodash.isboolean": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", @@ -14480,6 +14633,12 @@ "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" }, + "lodash.partialright": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/lodash.partialright/-/lodash.partialright-4.2.1.tgz", + "integrity": "sha1-ATDYDoM2MmTUAHTzKbij56ihzEs=", + "dev": true + }, "lodash.pick": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", @@ -14547,6 +14706,12 @@ "integrity": "sha1-O23qo31g+xFnE8RsXxfqGQ7EjWQ=", "dev": true }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, "lodash.uniqby": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz", @@ -15003,6 +15168,12 @@ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true + }, "mini-css-extract-plugin": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.3.tgz", @@ -15619,6 +15790,37 @@ "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", "dev": true }, + "node-jose": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-jose/-/node-jose-1.0.0.tgz", + "integrity": "sha512-RE3P8l60Rj9ELrpPmvw6sOQ1hSyYfmQdNUMCa4EN7nCE1ux5JVX+GfXv+mfUTEMhZwNMwxBtI0+X1CKKeukSVQ==", + "dev": true, + "requires": { + "base64url": "^3.0.0", + "es6-promise": "^4.0.5", + "lodash.assign": "^4.0.8", + "lodash.clone": "^4.3.2", + "lodash.fill": "^3.2.2", + "lodash.flatten": "^4.2.0", + "lodash.intersection": "^4.1.2", + "lodash.merge": "^4.3.5", + "lodash.omit": "^4.2.1", + "lodash.partialright": "^4.1.3", + "lodash.pick": "^4.2.0", + "lodash.uniq": "^4.2.1", + "long": "^4.0.0", + "node-forge": "^0.7.1", + "uuid": "^3.0.1" + }, + "dependencies": { + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", + "dev": true + } + } + }, "node-libs-browser": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", @@ -19653,6 +19855,15 @@ "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", "dev": true }, + "oidc-token-hash": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-3.0.1.tgz", + "integrity": "sha512-oLnVSEcNZkw01sB5aFR+2iJmW4oyC1PIMJmd3FMBGDuPTy5ZtEuX5WNhKMRarJIMOq8NiOwIB6eJB9AhgYwBTg==", + "dev": true, + "requires": { + "base64url": "^3.0.0" + } + }, "on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", @@ -19690,6 +19901,74 @@ "integrity": "sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==", "dev": true }, + "openid-client": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-2.4.3.tgz", + "integrity": "sha512-oXaGUbmrnc4SQ7PXycD0Ni8PV5e/IN8/bmq417lzRB7Enf6hjwq+Z06HgA2iPGrel/4H2IUf3de8naxN0dNMYQ==", + "dev": true, + "requires": { + "base64url": "^3.0.0", + "got": "^8.3.2", + "lodash": "^4.17.11", + "lru-cache": "^4.1.3", + "node-jose": "^1.0.0", + "oidc-token-hash": "^3.0.1", + "p-any": "^1.1.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "got": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", + "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", + "dev": true, + "requires": { + "@sindresorhus/is": "^0.7.0", + "cacheable-request": "^2.1.1", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "into-stream": "^3.1.0", + "is-retry-allowed": "^1.1.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "mimic-response": "^1.0.0", + "p-cancelable": "^0.4.0", + "p-timeout": "^2.0.1", + "pify": "^3.0.0", + "safe-buffer": "^5.1.1", + "timed-out": "^4.0.1", + "url-parse-lax": "^3.0.0", + "url-to-options": "^1.0.1" + } + }, + "lru-cache": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", + "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "dev": true, + "requires": { + "prepend-http": "^2.0.0" + } + } + } + }, "opn": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/opn/-/opn-5.4.0.tgz", @@ -19799,6 +20078,21 @@ "os-tmpdir": "^1.0.0" } }, + "p-any": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-any/-/p-any-1.1.0.tgz", + "integrity": "sha512-Ef0tVa4CZ5pTAmKn+Cg3w8ABBXh+hHO1aV8281dKOoUHfX+3tjG2EaFcC+aZyagg9b4EYGsHEjz21DnEE8Og2g==", + "dev": true, + "requires": { + "p-some": "^2.0.0" + } + }, + "p-cancelable": { + "version": "0.4.1", + "resolved": "http://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", + "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==", + "dev": true + }, "p-defer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", @@ -19870,6 +20164,24 @@ } } }, + "p-some": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-some/-/p-some-2.0.1.tgz", + "integrity": "sha1-Zdh8ixVO289SIdFnd4ttLhUPbwY=", + "dev": true, + "requires": { + "aggregate-error": "^1.0.0" + } + }, + "p-timeout": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", + "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", + "dev": true, + "requires": { + "p-finally": "^1.0.0" + } + }, "p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", @@ -20810,6 +21122,25 @@ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" }, + "query-string": { + "version": "5.1.1", + "resolved": "http://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "dev": true, + "requires": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + }, + "dependencies": { + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + } + } + }, "querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", @@ -21322,6 +21653,12 @@ "global-modules": "^0.2.3" } }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, "resolve-global": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-0.1.0.tgz", @@ -21336,6 +21673,15 @@ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "dev": true, + "requires": { + "lowercase-keys": "^1.0.0" + } + }, "restore-cursor": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", @@ -22695,6 +23041,15 @@ } } }, + "sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", + "dev": true, + "requires": { + "is-plain-obj": "^1.0.0" + } + }, "source-list-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", @@ -23048,6 +23403,12 @@ "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=" }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true + }, "string-argv": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.0.2.tgz", @@ -25213,6 +25574,12 @@ "integrity": "sha1-/FZaPMy/93MMd19WQflVV5FDnyE=", "dev": true }, + "url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=", + "dev": true + }, "url2": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/url2/-/url2-0.0.0.tgz", diff --git a/package.json b/package.json index 421b329cd..89929c8be 100644 --- a/package.json +++ b/package.json @@ -126,9 +126,9 @@ "@angular/router": "^7.0.0-rc.1", "@angular/service-worker": "^7.0.0-rc.1", "@fortawesome/angular-fontawesome": "^0.2.1", - "@fortawesome/fontawesome-svg-core": "^1.2.5", - "@fortawesome/free-brands-svg-icons": "^5.4.0", - "@fortawesome/free-solid-svg-icons": "^5.4.0", + "@fortawesome/fontawesome-svg-core": "^1.2.6", + "@fortawesome/free-brands-svg-icons": "^5.4.1", + "@fortawesome/free-solid-svg-icons": "^5.4.1", "@nestjs/common": "^5.3.11", "@nestjs/core": "^5.3.11", "@nestjs/elasticsearch": "^0.1.2", @@ -189,11 +189,11 @@ "devDependencies": { "@angular-devkit/build-angular": "0.9.0-rc.2", "@angular-devkit/build-ng-packagr": "0.9.0-rc.2", - "@angular/cli": "^7.0.0-rc.2", + "@angular/cli": "^7.0.0-rc.3", "@angular/compiler-cli": "^7.0.0-rc.1", "@angular/http": "^7.0.0-rc.1", "@angular/language-service": "^7.0.0-rc.1", - "@commitlint/cli": "^7.2.0", + "@commitlint/cli": "^7.2.1", "@commitlint/config-conventional": "^7.1.2", "@compodoc/compodoc": "^1.1.5", "@nestjs/testing": "^5.3.11", @@ -222,6 +222,7 @@ "husky": "^1.1.2", "jest": "^23.6.0", "jest-preset-angular": "6.0.1", + "kubernetes-client": "^6.1.0", "lint-staged": "^7.3.0", "loaders.css": "^0.1.2", "ng-packagr": "^4.3.0", diff --git a/stories/faq.md b/stories/faq.md index 9a97f8cb3..85a3da229 100644 --- a/stories/faq.md +++ b/stories/faq.md @@ -98,6 +98,10 @@ Total Guide To Dynamic Angular Animations That Can Be Customized At Runtime > Refer [here](https://material.io/guidelines/style/color.html#color-usability) +* how to implement search experience with facets and sort options? + +> Refer [here](https://github.com/sfeir-open-source/angular-search-experience) + * What I get from angular-cli? > Refer [stories](https://github.com/angular/angular-cli/tree/master/docs/documentation/stories) @@ -114,6 +118,13 @@ Total Guide To Dynamic Angular Animations That Can Be Customized At Runtime > Use [shareReplay](https://blog.thoughtram.io/angular/2018/03/05/advanced-caching-with-rxjs.html) +* Angular Performance + +> Refer [here](https://blog.ninja-squad.com/) + +* Angular universal aks SSR +> Refer [here](https://blog.angularindepth.com/creating-an-angular-universal-app-with-the-angular-cli-5ef26c9fd9a5) + * How to configure nginx? > Use [blog](https://medium.freecodecamp.org/an-introduction-to-nginx-for-developers-62179b6a458f) From 3f23a7d8a1c4e3353bac601b4759117059e765ff Mon Sep 17 00:00:00 2001 From: xmlking Date: Sun, 14 Oct 2018 07:08:13 +0100 Subject: [PATCH 12/22] refactor(home): now using `import` instead of `require` to load json using resolveJsonModule tsconfig option sothat we can use import to load json files. also not your have to exclude .json files from tslint by setting lint/options/exclude angular.json --- angular.json | 12 ++++++++---- .../src/lib/components/footer/footer.component.ts | 2 +- package-lock.json | 6 +++--- package.json | 2 +- stories/faq.md | 6 ++++++ tsconfig.json | 1 + 6 files changed, 20 insertions(+), 9 deletions(-) diff --git a/angular.json b/angular.json index 3f0080ed5..e02b3d065 100644 --- a/angular.json +++ b/angular.json @@ -184,7 +184,8 @@ "apps/webapp/tsconfig.spec.json" ], "exclude": [ - "**/node_modules/**" + "**/node_modules/**", + "**/*.json" ] } }, @@ -220,7 +221,8 @@ "options": { "tsConfig": "apps/webapp-e2e/tsconfig.e2e.json", "exclude": [ - "**/node_modules/**" + "**/node_modules/**", + "**/*.json" ] } } @@ -268,7 +270,8 @@ "apps/api/tsconfig.spec.json" ], "exclude": [ - "**/node_modules/**" + "**/node_modules/**", + "**/*.json" ] } }, @@ -508,7 +511,8 @@ "libs/home/tsconfig.spec.json" ], "exclude": [ - "**/node_modules/**" + "**/node_modules/**", + "**/*.json" ] } }, diff --git a/libs/home/src/lib/components/footer/footer.component.ts b/libs/home/src/lib/components/footer/footer.component.ts index bc5a7779a..531c55864 100644 --- a/libs/home/src/lib/components/footer/footer.component.ts +++ b/libs/home/src/lib/components/footer/footer.component.ts @@ -1,6 +1,6 @@ import { Component, OnInit } from '@angular/core'; import { environment } from '@env/environment'; -const { version: appVersion } = require('../../../../../../package.json'); +import { version as appVersion } from '../../../../../../package.json'; @Component({ selector: 'ngx-footer', diff --git a/package-lock.json b/package-lock.json index d3fe476be..19306337d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -25272,9 +25272,9 @@ } }, "typescript": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.1.2.tgz", - "integrity": "sha512-gOoGJWbNnFAfP9FlrSV63LYD5DJqYJHG5ky1kOXSl3pCImn4rqWy/flyq1BRd4iChQsoCqjbQaqtmXO4yCVPCA==" + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.1.3.tgz", + "integrity": "sha512-+81MUSyX+BaSo+u2RbozuQk/UWx6hfG0a5gHu4ANEM4sU96XbuIyAB+rWBW1u70c6a5QuZfuYICn3s2UjuHUpA==" }, "uglify-js": { "version": "2.8.29", diff --git a/package.json b/package.json index 89929c8be..568f2ef39 100644 --- a/package.json +++ b/package.json @@ -182,7 +182,7 @@ "smooth-scrollbar": "^8.3.1", "socket.io-client": "^2.1.1", "typeorm": "^0.2.7", - "typescript": "^3.1.2", + "typescript": "^3.1.3", "uuid": "^3.3.2", "zone.js": "^0.8.26" }, diff --git a/stories/faq.md b/stories/faq.md index 85a3da229..ac8489d80 100644 --- a/stories/faq.md +++ b/stories/faq.md @@ -80,6 +80,12 @@ type `ng.profiler.timeChangeDetection();` in console. > use [NGXS](https://amcdnl.gitbooks.io/ngxs/) > Read [Immer with NGXS](https://blog.angularindepth.com/simple-state-mutations-in-ngxs-with-immer-48b908874a5e) +* Best practices for NgRx Action? + +> Types of Actions: User Actions, Backend Actions, Device Actions + +> Watch [Good Action Hygiene with NgRx Mike Ryan](https://www.youtube.com/watch?v=JmnsEvoy-gY) + * How to implement route animations? > Refer [here](https://angularfirebase.com/snippets/router-transition-animations-with-angular-4/) diff --git a/tsconfig.json b/tsconfig.json index 210ba01e4..a4ba6b284 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -10,6 +10,7 @@ "emitDecoratorMetadata": true, "experimentalDecorators": true, "target": "es5", + "resolveJsonModule": true, "typeRoots": [ "node_modules/@types" ], From 53965c359dcf0daecd84e401244bc5cf570acec9 Mon Sep 17 00:00:00 2001 From: xmlking Date: Wed, 24 Oct 2018 14:32:33 -0700 Subject: [PATCH 13/22] build(dependencies): updated angular and cli to 7.0.x --- PLAYBOOK.md | 4 +- .../src/core/services/base-remote.service.ts | 2 +- libs/auth/src/lib/auth.module.ts | 3 +- libs/core/src/lib/core.module.ts | 10 +- .../src/lib/interceptors/jwt.interceptor.ts | 2 +- package-lock.json | 2293 +++++++---------- package.json | 96 +- stories/faq.md | 1 + 8 files changed, 1054 insertions(+), 1357 deletions(-) diff --git a/PLAYBOOK.md b/PLAYBOOK.md index 2bcde758f..0f0117a93 100644 --- a/PLAYBOOK.md +++ b/PLAYBOOK.md @@ -55,7 +55,7 @@ npm remove -g @nestjs/cli npm remove -g semantic-release-cli npm remove -g commitizen -npm install -g @angular/cli@next +npm install -g @angular/cli npm install -g @nrwl/schematics npm install -g @nestjs/cli npm install -g semantic-release-cli @@ -68,7 +68,7 @@ npm outdated -g --depth=0 # set scss as default css processor ng config -g schematics.@nrwl/schematics:component.styleext scss ng config -g cli.packageManager npm -@ set jest as default TestRunner +# set jest as default TestRunner ng config -g schematics.@nrwl/schematics:library.unitTestRunner jest # check your global defaults more cat ~/.angular-config.json diff --git a/apps/api/src/core/services/base-remote.service.ts b/apps/api/src/core/services/base-remote.service.ts index a4858d81a..b24de07ec 100644 --- a/apps/api/src/core/services/base-remote.service.ts +++ b/apps/api/src/core/services/base-remote.service.ts @@ -1,5 +1,5 @@ import { HttpService } from '@nestjs/common/http'; -import { AxiosError, AxiosResponse } from '@nestjs/common/http/interfaces/axios.interfaces'; +import { AxiosError, AxiosResponse } from 'axios'; import { throwError } from 'rxjs'; import { BadRequestException, diff --git a/libs/auth/src/lib/auth.module.ts b/libs/auth/src/lib/auth.module.ts index fa03c4979..469b86df8 100644 --- a/libs/auth/src/lib/auth.module.ts +++ b/libs/auth/src/lib/auth.module.ts @@ -25,6 +25,7 @@ import { import { ReactiveFormsModule } from '@angular/forms'; import { FlexLayoutModule } from '@angular/flex-layout'; import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; +import { environment } from '@env/environment'; @NgModule({ imports: [ @@ -44,7 +45,7 @@ import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; FontAwesomeModule, OAuthModule.forRoot({ resourceServer: { - allowedUrls: ['http://localhost:8080/auth'], + allowedUrls: [environment.API_BASE_URL, environment.DOCS_BASE_URL], sendAccessToken: true, }, }), diff --git a/libs/core/src/lib/core.module.ts b/libs/core/src/lib/core.module.ts index 5da4fe7f8..ccc08fe13 100644 --- a/libs/core/src/lib/core.module.ts +++ b/libs/core/src/lib/core.module.ts @@ -68,11 +68,11 @@ library.add(faTwitter, faGithub, faGoogle); useClass: ErrorInterceptor, multi: true, }, - { - provide: HTTP_INTERCEPTORS, - useClass: JwtInterceptor, - multi: true, - }, + // { + // provide: HTTP_INTERCEPTORS, + // useClass: JwtInterceptor, + // multi: true, + // }, { provide: APP_INITIALIZER, useFactory: noop, diff --git a/libs/core/src/lib/interceptors/jwt.interceptor.ts b/libs/core/src/lib/interceptors/jwt.interceptor.ts index 35a2fbf77..9097830ea 100644 --- a/libs/core/src/lib/interceptors/jwt.interceptor.ts +++ b/libs/core/src/lib/interceptors/jwt.interceptor.ts @@ -5,7 +5,7 @@ import { Store } from '@ngxs/store'; import { environment } from '@env/environment'; import { OAuthService } from 'angular-oauth2-oidc'; -const allowedUrls = [environment.API_BASE_URL]; +const allowedUrls = [environment.API_BASE_URL, environment.DOCS_BASE_URL]; @Injectable() export class JwtInterceptor implements HttpInterceptor { diff --git a/package-lock.json b/package-lock.json index 19306337d..b84ec90bb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,21 +26,21 @@ } }, "@angular-devkit/build-angular": { - "version": "0.9.0-rc.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.9.0-rc.2.tgz", - "integrity": "sha512-F13nSsdprd/eJNEtJLyDswLQ/kWUjzHiqriD9Aq+pNyIIZYlYPPkkfcu6KL/9fHifHvr9LD19Rf/o9/zgn7wug==", + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.10.2.tgz", + "integrity": "sha512-0bLcql8Hf0W9G4pgMFc5vhRIGPUjLreGt+NiJgGP2SaM8bhWYm2097tybS18hdDi2eVfALpzsSOUYCtAowh4Pw==", "dev": true, "requires": { - "@angular-devkit/architect": "0.9.0-rc.2", - "@angular-devkit/build-optimizer": "0.9.0-rc.2", - "@angular-devkit/build-webpack": "0.9.0-rc.2", - "@angular-devkit/core": "7.0.0-rc.2", - "@ngtools/webpack": "7.0.0-rc.2", + "@angular-devkit/architect": "0.10.2", + "@angular-devkit/build-optimizer": "0.10.2", + "@angular-devkit/build-webpack": "0.10.2", + "@angular-devkit/core": "7.0.2", + "@ngtools/webpack": "7.0.2", "ajv": "6.5.3", "autoprefixer": "8.4.1", "circular-dependency-plugin": "5.0.2", "clean-css": "4.2.1", - "copy-webpack-plugin": "4.5.2", + "copy-webpack-plugin": "4.5.3", "file-loader": "2.0.0", "glob": "7.1.3", "istanbul": "0.4.5", @@ -81,30 +81,30 @@ }, "dependencies": { "@angular-devkit/architect": { - "version": "0.9.0-rc.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.9.0-rc.2.tgz", - "integrity": "sha512-D5vpo03kyBzn0lv6J2M2sC2+xxIo0K7aCKwHv7K0dN2RLPpvHWOTG0Eg+90s7a5OnekiAr9+vhR9vdlGriPBBw==", + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.10.2.tgz", + "integrity": "sha512-jMok3FvXpj1zfI7tPmrMYe9yyBP2qivaBGxJqKa0H5SdwJFdudD+KwQOwamBdqz68WfEfzwvS2YCqE67thak7g==", "dev": true, "requires": { - "@angular-devkit/core": "7.0.0-rc.2", + "@angular-devkit/core": "7.0.2", "rxjs": "6.3.3" } }, "@angular-devkit/build-webpack": { - "version": "0.9.0-rc.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.9.0-rc.2.tgz", - "integrity": "sha512-BuSmlaaPx1nPU/HyMkktPHCsNno4laHPQaHJOSVbbkXIkp0p8iCvT1drHuzSpTKHA9jLb2hcVyK3vSc5jt6WUQ==", + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.10.2.tgz", + "integrity": "sha512-anJQdhDTCoqloMn28+xHDMottBwnPUzzvm996aEOE8ziEHesdTYTR1JU8LeL149+HPFnufqVVkkzn2+lfG0yOg==", "dev": true, "requires": { - "@angular-devkit/architect": "0.9.0-rc.2", - "@angular-devkit/core": "7.0.0-rc.2", + "@angular-devkit/architect": "0.10.2", + "@angular-devkit/core": "7.0.2", "rxjs": "6.3.3" } }, "@angular-devkit/core": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.0-rc.2.tgz", - "integrity": "sha512-c2ODPqnc40Wz9Oerjdi3gHa+XBCvGj1rAZd38NdweCSFejUogbppB4MDoKOFuQi7qp+kXfJpXSX4aocDm6T67g==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.2.tgz", + "integrity": "sha512-liVqobArUfTvf0cZcjr3VI5tnHR+QjzfvC4HFBwIArls6/RxIATqd9GE9mFMWpy17xgVq8N7WmD6bymv1trbfA==", "dev": true, "requires": { "ajv": "6.5.3", @@ -198,31 +198,31 @@ } }, "@angular-devkit/build-ng-packagr": { - "version": "0.9.0-rc.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-ng-packagr/-/build-ng-packagr-0.9.0-rc.2.tgz", - "integrity": "sha512-cH3U7qwNcqJH+r4GZHQ3X3zg1gcuN5Fa79tm74x6SSeUHoZoVFilHoviUyFLq6AMY+g8Mox5ehnvH+1bcLdN0A==", + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-ng-packagr/-/build-ng-packagr-0.10.2.tgz", + "integrity": "sha512-JS+h60gkP3a+z5fWg36wA19inSHZuBtuO3H2K4i722jlcymZp8EcYDR8CsWOAX0DeP1LtCjSWqEnvvZvXhsrag==", "dev": true, "requires": { - "@angular-devkit/architect": "0.9.0-rc.2", - "@angular-devkit/core": "7.0.0-rc.2", + "@angular-devkit/architect": "0.10.2", + "@angular-devkit/core": "7.0.2", "rxjs": "6.3.3", "semver": "5.5.1" }, "dependencies": { "@angular-devkit/architect": { - "version": "0.9.0-rc.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.9.0-rc.2.tgz", - "integrity": "sha512-D5vpo03kyBzn0lv6J2M2sC2+xxIo0K7aCKwHv7K0dN2RLPpvHWOTG0Eg+90s7a5OnekiAr9+vhR9vdlGriPBBw==", + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.10.2.tgz", + "integrity": "sha512-jMok3FvXpj1zfI7tPmrMYe9yyBP2qivaBGxJqKa0H5SdwJFdudD+KwQOwamBdqz68WfEfzwvS2YCqE67thak7g==", "dev": true, "requires": { - "@angular-devkit/core": "7.0.0-rc.2", + "@angular-devkit/core": "7.0.2", "rxjs": "6.3.3" } }, "@angular-devkit/core": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.0-rc.2.tgz", - "integrity": "sha512-c2ODPqnc40Wz9Oerjdi3gHa+XBCvGj1rAZd38NdweCSFejUogbppB4MDoKOFuQi7qp+kXfJpXSX4aocDm6T67g==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.2.tgz", + "integrity": "sha512-liVqobArUfTvf0cZcjr3VI5tnHR+QjzfvC4HFBwIArls6/RxIATqd9GE9mFMWpy17xgVq8N7WmD6bymv1trbfA==", "dev": true, "requires": { "ajv": "6.5.3", @@ -274,14 +274,14 @@ } }, "@angular-devkit/build-optimizer": { - "version": "0.9.0-rc.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.9.0-rc.2.tgz", - "integrity": "sha512-GFNuV/cUIHLB7W3MDD4n9dFY+mD6nwva8haI882DmA0MGNA6G+eDnBTUMXWtZHVR3yofgOa/7e/XY6cfIKzhag==", + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.10.2.tgz", + "integrity": "sha512-vPX3VqpZ6Gu2cSDOAnMxqU/VwQ0isj1iI89DM3E8yJK2D+Sh82WEeGo9rpTEbGps9Y1VOddSRu8M3UXOlSEkdw==", "dev": true, "requires": { "loader-utils": "1.1.0", "source-map": "0.5.6", - "typescript": "3.1.1", + "typescript": "3.1.3", "webpack-sources": "1.2.0" }, "dependencies": { @@ -291,12 +291,6 @@ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", "dev": true }, - "typescript": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.1.1.tgz", - "integrity": "sha512-Veu0w4dTc/9wlWNf2jeRInNodKlcdLgemvPsrNpfu5Pq39sgfFjvIIgTsvUHCoLBnMhPoUA+tFxsXjU6VexVRQ==", - "dev": true - }, "webpack-sources": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.2.0.tgz", @@ -363,18 +357,18 @@ } }, "@angular-devkit/schematics": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-7.0.0-rc.2.tgz", - "integrity": "sha512-fzXCkCjBw4mJ+8OG07ss5m6kHLNU3zFeuEDl6UrD0bUnbnyfGPUFTKub33ZaBSKhXV3cVg8mGy+V6j/mJ/PgTw==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-7.0.2.tgz", + "integrity": "sha512-b+ex7La9ZFxdh1JyuTvjhPKHsyCcXpGG2MQ43QQm0xbR1IigzVv5N2eyvm02rvQK+rY36+rG+FvO+korUeoLhw==", "requires": { - "@angular-devkit/core": "7.0.0-rc.2", + "@angular-devkit/core": "7.0.2", "rxjs": "6.3.3" }, "dependencies": { "@angular-devkit/core": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.0-rc.2.tgz", - "integrity": "sha512-c2ODPqnc40Wz9Oerjdi3gHa+XBCvGj1rAZd38NdweCSFejUogbppB4MDoKOFuQi7qp+kXfJpXSX4aocDm6T67g==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.2.tgz", + "integrity": "sha512-liVqobArUfTvf0cZcjr3VI5tnHR+QjzfvC4HFBwIArls6/RxIATqd9GE9mFMWpy17xgVq8N7WmD6bymv1trbfA==", "requires": { "ajv": "6.5.3", "chokidar": "2.0.4", @@ -420,41 +414,41 @@ } }, "@angular/animations": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-7.0.0-rc.1.tgz", - "integrity": "sha512-VP3Lui1HyW7kQzdC/kfEw0NiH+VxA81EKMN1iLtDdNoOCpzTcnmjiiPUMtrGOhhhJJXH9y/eQMUOwUcSdKLPZg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-7.0.0.tgz", + "integrity": "sha512-IYdryQXdYfPvhJpExLSAr0o9rlUeyVS++a6h/sjqN1dkUt/yJBHLRreuHx8Udvlj2nH70raHJgevk8FwhAkTdA==", "requires": { "tslib": "^1.9.0" } }, "@angular/cdk": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-7.0.0-rc.1.tgz", - "integrity": "sha512-JI8j+vxRrBpqIkvUW9TvR9MdlxAodVV0FIreS7boZJaGQa6XuBYfmM9JRhKEZgTg/si8aArxQ4eYh5tdGsUjkA==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-7.0.1.tgz", + "integrity": "sha512-WCIz2kbNMrEXkGxbHfBMRvjH7sxzp+nBR2gEhBvUEm9Ap/wBIJaTnHOF743D2fEhtW3IgpaYsTDTKiVryOFcQg==", "requires": { "parse5": "^5.0.0", "tslib": "^1.7.1" } }, "@angular/cdk-experimental": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/cdk-experimental/-/cdk-experimental-7.0.0-rc.1.tgz", - "integrity": "sha512-bCoJ1bLsor1S3ScTHMM6jWwpSt2KHQC99/o92pai+OQKQIAjxIexFMYrdYektaiICoEYz45z5kbRjx2uaPkh7w==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@angular/cdk-experimental/-/cdk-experimental-7.0.1.tgz", + "integrity": "sha512-9pDQCNNBt0zOXdA+gTzdY4+WL+VME5aZOE0ODcA5+hXHQyvYInUG8b6lzKL7uKBxj46SOsxeTVaoN2qV6huQEg==", "requires": { "tslib": "^1.7.1" } }, "@angular/cli": { - "version": "7.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-7.0.0-rc.3.tgz", - "integrity": "sha512-S1RNniDxpQIGzjyjIibI1OYPN6mEBC93DoKdTLlLLEBqhMfh5dT80Yx4KzZR14CPIiPEqc0vnRWtPt5eHkkrLA==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-7.0.2.tgz", + "integrity": "sha512-z53fPkdwm+l4yii8+EwJqeYHgDtyTPywe9ZnpeUu4IvIoM5Mffeu+Rlen3sdwb4+7iL3qpLKtwdMosLJwin85w==", "dev": true, "requires": { - "@angular-devkit/architect": "0.9.0-rc.3", - "@angular-devkit/core": "7.0.0-rc.3", - "@angular-devkit/schematics": "7.0.0-rc.3", - "@schematics/angular": "7.0.0-rc.3", - "@schematics/update": "0.9.0-rc.3", + "@angular-devkit/architect": "0.10.2", + "@angular-devkit/core": "7.0.2", + "@angular-devkit/schematics": "7.0.2", + "@schematics/angular": "7.0.2", + "@schematics/update": "0.10.2", "inquirer": "6.2.0", "opn": "5.3.0", "rxjs": "6.3.3", @@ -463,19 +457,19 @@ }, "dependencies": { "@angular-devkit/architect": { - "version": "0.9.0-rc.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.9.0-rc.3.tgz", - "integrity": "sha512-9G21dLXbpaAx5pBUgmW3DI6ZjoyEl662EXwLvggxn8DG2Q3v9RBbGnakkKSXlvmlxtT5xiRmS8puFZHffDjaNg==", + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.10.2.tgz", + "integrity": "sha512-jMok3FvXpj1zfI7tPmrMYe9yyBP2qivaBGxJqKa0H5SdwJFdudD+KwQOwamBdqz68WfEfzwvS2YCqE67thak7g==", "dev": true, "requires": { - "@angular-devkit/core": "7.0.0-rc.3", + "@angular-devkit/core": "7.0.2", "rxjs": "6.3.3" } }, "@angular-devkit/core": { - "version": "7.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.0-rc.3.tgz", - "integrity": "sha512-xPhx4jCY1B4TLWWAEiUvpEJruIPlSxf8+cz9dFk/AkoDfJPOA21iEJ1Km6FPxkuKchm+W4n25ASDO45rOXhLaA==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.2.tgz", + "integrity": "sha512-liVqobArUfTvf0cZcjr3VI5tnHR+QjzfvC4HFBwIArls6/RxIATqd9GE9mFMWpy17xgVq8N7WmD6bymv1trbfA==", "dev": true, "requires": { "ajv": "6.5.3", @@ -485,27 +479,6 @@ "source-map": "0.7.3" } }, - "@angular-devkit/schematics": { - "version": "7.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-7.0.0-rc.3.tgz", - "integrity": "sha512-Dm+USTvcvgMWl1lfslK9diPtFje1rDBX0bIVPDHaBampxDSHyaQsfAEZxQWInoVB9c9NzjmCEcZoCogwMDoeUg==", - "dev": true, - "requires": { - "@angular-devkit/core": "7.0.0-rc.3", - "rxjs": "6.3.3" - } - }, - "@schematics/angular": { - "version": "7.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-7.0.0-rc.3.tgz", - "integrity": "sha512-0sTXtlFlOF4wGgn3NG7DYmOf65wFVG+aZRvYmgqYIvXhqZlx7G0xN9b3+9CmC9+nE2XaD9TAMfN0PEzgFJEE6A==", - "dev": true, - "requires": { - "@angular-devkit/core": "7.0.0-rc.3", - "@angular-devkit/schematics": "7.0.0-rc.3", - "typescript": "3.1.1" - } - }, "ajv": { "version": "6.5.3", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", @@ -545,12 +518,6 @@ "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", "dev": true }, - "typescript": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.1.1.tgz", - "integrity": "sha512-Veu0w4dTc/9wlWNf2jeRInNodKlcdLgemvPsrNpfu5Pq39sgfFjvIIgTsvUHCoLBnMhPoUA+tFxsXjU6VexVRQ==", - "dev": true - }, "uri-js": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", @@ -563,25 +530,25 @@ } }, "@angular/common": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-7.0.0-rc.1.tgz", - "integrity": "sha512-OXN0lIXDz1SWnuFH+vAM1o/8VoezPxyxk0s2t4TSr4AvwSMRAYL13+IeQcYcxyymuQry7XzFqXyjTVD2kNsoBA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-7.0.0.tgz", + "integrity": "sha512-jp6MA6EOq/a1m+F0c1aZC345pAYYYFpN1m7GMM91JlqkjzJMhyYVk+Bod9xQOEWadcpY+RFudG+jRsPCMO8bvQ==", "requires": { "tslib": "^1.9.0" } }, "@angular/compiler": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-7.0.0-rc.1.tgz", - "integrity": "sha512-oCqavxWdx9eDtzW45MTkrTrLSC57MH8/PfY0luwu1R5AaJ9wldifrUCS9ThtpUncSOgZCK9BpJMcywMWhIqvPQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-7.0.0.tgz", + "integrity": "sha512-4fkohfGyG1BEpeYenOartuJmduyZ/R3XQx46hDDiR/9A8/Go4qLGkgr9Bd/JL/gPIR1XAHH9D5ii2sh+28ZEmA==", "requires": { "tslib": "^1.9.0" } }, "@angular/compiler-cli": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-7.0.0-rc.1.tgz", - "integrity": "sha512-eue8bnD1uBYD7UZp1In8THnInoAwidKk5Ibv9aOloxYcx64FH6ca1ABKPdIZd3hNm0zJsR+ItDi2jyN0xK6+5A==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-7.0.0.tgz", + "integrity": "sha512-fj5ixB4X3BsUnUukFx+dK5z2KkO7lCx5vlbUT2GOMbGCG43dIH6JKUfy5HbpCodLsJHG0gRgZZuY7/k+pbzS+g==", "dev": true, "requires": { "canonical-path": "0.0.2", @@ -870,9 +837,9 @@ } }, "@angular/core": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-7.0.0-rc.1.tgz", - "integrity": "sha512-pY7Aul+GOHHoVxbVTv26rFGwl34PKLI31lyC9mH0Eg2Wqq8XIa6XrNePQo4rbU0oO1ZplULSohMk8vVPfpWGpw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-7.0.0.tgz", + "integrity": "sha512-DjVyWNGBWKEeBvxeXy8FGBNlnr/W/tNygOZEd6/uCktcXTG4DNyNQrWuNZUKEpr7RuIT3YVMj+UNwgTq0jB/9g==", "requires": { "tslib": "^1.9.0" } @@ -886,77 +853,76 @@ } }, "@angular/forms": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-7.0.0-rc.1.tgz", - "integrity": "sha512-wEmRMG8vLAcJzvXiFWp9r1fhBH846AwvY6+75fpSz7n9vAgDJSlh/v/k+d+kG5hoIatzmnKWKVF+Zn8mlpd4Ig==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-7.0.0.tgz", + "integrity": "sha512-rTg1UHq9gHR6zY3Kkip1KCm/YTck/rlR8CvVFIMwF0bdQxUCT51SXVn58nXts9yDaieABcGaQHNkQn1mARslgw==", "requires": { "tslib": "^1.9.0" } }, "@angular/http": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/http/-/http-7.0.0-rc.1.tgz", - "integrity": "sha512-B/nQbrs8QcyiqgtHt6nCVy3Rkz/5N7MZCDUpt7skSmqNsXLMe+VnkYUMtayYQdzrk9wu89rzvkQI9WmXxcnQzA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@angular/http/-/http-7.0.0.tgz", + "integrity": "sha512-gHMVKosbhXu+2sXccR1fnKpaJBtZioneW+jpG6CW3oo6f4L5FXnGGx/lqYLsgKFM8yHiOs6OXqvuHh8wYEjayA==", "dev": true, "requires": { "tslib": "^1.9.0" } }, "@angular/language-service": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-7.0.0-rc.1.tgz", - "integrity": "sha512-UU3OoNG4lixRKYPQ6bOlxBaKP521hjqvZjGSIMBJjhDOS4V0FwZ6wQfy73hHl522w+x/VX6lyRE3ugvtB555Hg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-7.0.0.tgz", + "integrity": "sha512-JlBAXvKrXCCdFc9AnQRaMDl9c0qmASagmmbEX+fuxJbcyqtsUF2y/15Hy5UUmmA+ldZ+mwAoX/naPZZrFSP2rw==", "dev": true }, "@angular/material": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-7.0.0-rc.1.tgz", - "integrity": "sha512-4LC3y5ZorNjdF1lEkVN/3zwOEnBwjfWLCY92tA06Kdvs1yENZdu0fGTRwcu9Hz4y+t84sL/KEKC9VjKN3Z7PSg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-7.0.1.tgz", + "integrity": "sha512-/gf2G+/W/SB/54Q+EDKWfaDFuj403XYMSY3IcFJmuR4H8KkDtDr6bM9/HrRpYWNIlrVwOrKE9ByeoFzm5yDmvA==", "requires": { - "parse5": "^5.0.0", "tslib": "^1.7.1" } }, "@angular/material-moment-adapter": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/material-moment-adapter/-/material-moment-adapter-7.0.0-rc.1.tgz", - "integrity": "sha512-JYXtxlRT3BL2er3o+v+nHMfTpjPqDI4r10RyGa50LkobO6/PG04eo8NsLrDftn3EpI/jIwT8b4gXurtCqgqlZg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@angular/material-moment-adapter/-/material-moment-adapter-7.0.1.tgz", + "integrity": "sha512-dPsws6t04LBqxufSbkk9MuAJuXFZ/K5dnbkZU7nerZrk7ZcLMzgg/OLGlE8sVJkEV/gVqWB2rLgwOS0+kniMMg==", "requires": { "tslib": "^1.7.1" } }, "@angular/platform-browser": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-7.0.0-rc.1.tgz", - "integrity": "sha512-P9W+Q9UZoZT+8pg5Id6shc7VXWdJ6YZQAdnxXpp9H2Be5DB6DD5aqsgxSgKNRW1EmQScJHq0EY28vUPGC5idhA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-7.0.0.tgz", + "integrity": "sha512-XyvL30d6meJ+SXlOmdR+sxoLdSvkQdmVNvpdvUzAHC/EqwA/byg4V3bTe5lpZmypclgFCjkGoTsz6uOnnwlQhw==", "requires": { "tslib": "^1.9.0" } }, "@angular/platform-browser-dynamic": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-7.0.0-rc.1.tgz", - "integrity": "sha512-LDULj9gdNxlzYjkHcxofSFwhchUT405Hh+8pCMcHxZEa1dtEzXGB8VYEMPc4EipZt3hleMzv6sjP9gL+4zXpeA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-7.0.0.tgz", + "integrity": "sha512-lH2KuH+Em1y/mTOE6yTJmsOxYkMbYKzKLP9gYzc9vZu3er1df6Jx6jxefeBmAr9v+kNCLnpnHWHz2y4GzAesJA==", "requires": { "tslib": "^1.9.0" } }, "@angular/pwa": { - "version": "0.9.0-rc.2", - "resolved": "https://registry.npmjs.org/@angular/pwa/-/pwa-0.9.0-rc.2.tgz", - "integrity": "sha512-zM85I7CNzMClshOlv4Yd4bEYoOkqAE5uk9vxyLOGUHLI5mGyBn3bZ3Vd9w0oc3ZhkTTSuR2PimoGDbWNtwSydA==", + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@angular/pwa/-/pwa-0.10.2.tgz", + "integrity": "sha512-/1ILY/FXe8iLQq5pfZlxBIX0HJkcMdi7q0q63258EZavM0fqG3uc6Twd3NMa4QW3pRCpwjPVfDFB+NnKQH9oFg==", "requires": { - "@angular-devkit/core": "7.0.0-rc.2", - "@angular-devkit/schematics": "7.0.0-rc.2", - "@schematics/angular": "7.0.0-rc.2", + "@angular-devkit/core": "7.0.2", + "@angular-devkit/schematics": "7.0.2", + "@schematics/angular": "7.0.2", "parse5-html-rewriting-stream": "5.1.0", "rxjs": "6.3.3" }, "dependencies": { "@angular-devkit/core": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.0-rc.2.tgz", - "integrity": "sha512-c2ODPqnc40Wz9Oerjdi3gHa+XBCvGj1rAZd38NdweCSFejUogbppB4MDoKOFuQi7qp+kXfJpXSX4aocDm6T67g==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.2.tgz", + "integrity": "sha512-liVqobArUfTvf0cZcjr3VI5tnHR+QjzfvC4HFBwIArls6/RxIATqd9GE9mFMWpy17xgVq8N7WmD6bymv1trbfA==", "requires": { "ajv": "6.5.3", "chokidar": "2.0.4", @@ -1002,17 +968,17 @@ } }, "@angular/router": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-7.0.0-rc.1.tgz", - "integrity": "sha512-y3hbUhyRIOkHym86CqVkKhCldaXreA13BH1D/dprEfIxgAHBKA/oNZrbGGc20n2+aI+AhSUJjAqnruKwr0dgWw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-7.0.0.tgz", + "integrity": "sha512-BK6Ho/7ckldFKc724piuPuMX0HPYXD8SUfwNj6yc0wgzDxdWzSmZj/xPEYll2pGNIA9x8Tg1NQKCD+kp1WXngw==", "requires": { "tslib": "^1.9.0" } }, "@angular/service-worker": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/service-worker/-/service-worker-7.0.0-rc.1.tgz", - "integrity": "sha512-BqxgsEmB/RZu5EK7Rnkwm1CabOvdFk4DhydyBLssYOV1faxCqMYVhQ+uLk3FpVVteT1+5sxzWO5ub7bbbUTWQQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@angular/service-worker/-/service-worker-7.0.0.tgz", + "integrity": "sha512-GFdT7EYLrLhW/Y+eAqPJzZvnz3VNrciStdplnesh+a6zPcoyOc09dMSF7vuDrtxUGY+J0kp0gNS4IEEhdoVoFQ==", "requires": { "tslib": "^1.9.0" } @@ -1525,9 +1491,9 @@ } }, "@fortawesome/angular-fontawesome": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@fortawesome/angular-fontawesome/-/angular-fontawesome-0.2.1.tgz", - "integrity": "sha512-B77fIEjq9bgHGncx5sfFuANh6qow6+MLHbU6C7lMIdeLXykkWTWOiPk+CqlmPOYXIpUH1lNaVykgTSqAk65pIw==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@fortawesome/angular-fontawesome/-/angular-fontawesome-0.3.0.tgz", + "integrity": "sha512-wXvyPI7GidoNiqeMz2re9iemUMFH4zBmuv94CfXlaanQ8+kMP/fYs/k69PLVN1KsebQY4kRA9GHmc1U1ndBkJg==", "requires": { "tslib": "^1.9.0" } @@ -1583,11 +1549,11 @@ } }, "@nestjs/common": { - "version": "5.3.11", - "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-5.3.11.tgz", - "integrity": "sha512-uRDBqP63mngk2CKQMWxDg234G2UUJokb0wNjblI80tvB7nxGWYg7yc3t7RrVxz2njCaOPJasBb58VOokDkqp1Q==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-5.4.0.tgz", + "integrity": "sha512-hC1TIZDbJBq2ESfwBNC0UqTVA6ZKTOLgAfOumqXU7HZMfeR7FIvNDJIX3aKOOjlcf8TwefkQ2nW26SKFxxhX+g==", "requires": { - "axios": "0.17.1", + "axios": "0.18.0", "cli-color": "1.2.0", "deprecate": "1.0.0", "multer": "1.3.0", @@ -1595,9 +1561,9 @@ } }, "@nestjs/core": { - "version": "5.3.11", - "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-5.3.11.tgz", - "integrity": "sha512-yXwlw0efo/yZR5rDNqHT9vBLLl7srQsFqwHbKDjEvxQI7+J5qTtLy0i2eGZVEYvJA8JrX0zyaUkPD/Lj0yTJAQ==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-5.4.0.tgz", + "integrity": "sha512-GJkZ2tDhjAFZ1vuxXah8ooWBITO6I4IjPuzHtFh7apxrUEc/nZcmtGcSVNGyVZfdlacfg58WkjN5NAZaGPyWhA==", "requires": { "@nuxtjs/opencollective": "0.1.0", "body-parser": "1.18.3", @@ -1621,9 +1587,9 @@ } }, "@nestjs/microservices": { - "version": "5.3.11", - "resolved": "https://registry.npmjs.org/@nestjs/microservices/-/microservices-5.3.11.tgz", - "integrity": "sha512-XD5rRI94PR7VkLtFBXNJUfxo9sxXOVW52UGyoXpCEspLZRtMbEDIqN+4mofSxLoBZO2KaiyizFDRz9eg7n+9xA==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@nestjs/microservices/-/microservices-5.4.0.tgz", + "integrity": "sha512-IMF80CHbFwsqWnHjHBJ9gSGMU56tmQI7DKSRgx21I9ZkKvXtUtV2DWTkO1P+BgDIebk9wEI08C9XK1eYB91Oug==", "requires": { "iterare": "0.0.8", "json-socket": "^0.2.1", @@ -1648,9 +1614,9 @@ } }, "@nestjs/testing": { - "version": "5.3.11", - "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-5.3.11.tgz", - "integrity": "sha512-0Hbv30ygDfQkac7lKLTymxwo8QG2Xv4IsMn4gpI9+mSoEa9GLiCPlhiGuPtj5NTqR1VPEbFyvJaEuIIULId77g==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-5.4.0.tgz", + "integrity": "sha512-goZk+ACEUxu8MG2xRlqYPW8SkIX74Xn4G3ozUsdkapTBR60XG1DpNucuWSISePS+ytaUKaaaRKARgbXx417DIw==", "dev": true, "requires": { "deprecate": "1.0.0", @@ -1666,9 +1632,9 @@ } }, "@nestjs/websockets": { - "version": "5.3.11", - "resolved": "https://registry.npmjs.org/@nestjs/websockets/-/websockets-5.3.11.tgz", - "integrity": "sha512-4fuu1iLuB1DxiitCr/e2zG877hyt3/e5255NlImFULrO2dwJtXkNfmA4rwZc/CiJvzP6kBYR9R+OugYxR4bldA==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@nestjs/websockets/-/websockets-5.4.0.tgz", + "integrity": "sha512-AnfkddRjkAkUKJme5SkTTL4bgucJnowgkt18z8vi5l+zyscmoZBf1jCjkXGsi88g6EuPg1bbHUtU8RNfCRVtnQ==", "requires": { "iterare": "0.0.8", "socket.io": "^2.1.1" @@ -1681,12 +1647,12 @@ "dev": true }, "@ngtools/webpack": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-7.0.0-rc.2.tgz", - "integrity": "sha512-82Db96cThozF0LGnSD6BQAzVbBTD/dYnQxSMIYSXbK1tp+oGiO6ggPypA1wLbze71H1Qf0XeSFg7184MbMFyfw==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-7.0.2.tgz", + "integrity": "sha512-xEZEsZZgwmL/sCv3hAbZVgf+wVB7UzPcTkyprzD2K+2zFivCDd43uYAOdlrOnihCoEIpwnPTn69urjopMqmcjg==", "dev": true, "requires": { - "@angular-devkit/core": "7.0.0-rc.2", + "@angular-devkit/core": "7.0.2", "enhanced-resolve": "4.1.0", "rxjs": "6.3.3", "tree-kill": "1.2.0", @@ -1694,9 +1660,9 @@ }, "dependencies": { "@angular-devkit/core": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.0-rc.2.tgz", - "integrity": "sha512-c2ODPqnc40Wz9Oerjdi3gHa+XBCvGj1rAZd38NdweCSFejUogbppB4MDoKOFuQi7qp+kXfJpXSX4aocDm6T67g==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.2.tgz", + "integrity": "sha512-liVqobArUfTvf0cZcjr3VI5tnHR+QjzfvC4HFBwIArls6/RxIATqd9GE9mFMWpy17xgVq8N7WmD6bymv1trbfA==", "dev": true, "requires": { "ajv": "6.5.3", @@ -1766,17 +1732,17 @@ } }, "@ngx-formly/core": { - "version": "5.0.0-beta.11", - "resolved": "https://registry.npmjs.org/@ngx-formly/core/-/core-5.0.0-beta.11.tgz", - "integrity": "sha512-Sl8y3hugw39woCeOfF315Yb49tNX/Z9aBYQYSEyK3FFGe7AYJbcXWSx/uW67qIyeOOmRnOz+E59LrXdNw1/rWA==", + "version": "5.0.0-beta.12", + "resolved": "https://registry.npmjs.org/@ngx-formly/core/-/core-5.0.0-beta.12.tgz", + "integrity": "sha512-klYu77HO6175/b0VjuHdou7MI5phMcDU5+IWdVnNZsPxvxzGIrH9BWBA7CuBD74rNzEZRdk/uBr+ToiO5BCk7g==", "requires": { "tslib": "^1.7.1" } }, "@ngx-formly/material": { - "version": "5.0.0-beta.11", - "resolved": "https://registry.npmjs.org/@ngx-formly/material/-/material-5.0.0-beta.11.tgz", - "integrity": "sha512-UL7cTCNP4qR2DiBvZ6Fd6HFvXG8jh/yDx++7YJIQ3E6xTFta0Q7yJwN8FwBrjF6ZI6SVqZ9SrO9sydNi+HveOQ==", + "version": "5.0.0-beta.12", + "resolved": "https://registry.npmjs.org/@ngx-formly/material/-/material-5.0.0-beta.12.tgz", + "integrity": "sha512-bpmYvFI+0s4GWrlTIwx3JDYQL+LtiU8PIdBeZY/E4At6IxrkAxk6gATDb+UgcIhIRGrhlF9lZCz2EgpUDor8sg==", "requires": { "tslib": "^1.9.0" } @@ -2088,6 +2054,19 @@ "tslib": "^1.9.0" } }, + "ts-loader": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-5.2.1.tgz", + "integrity": "sha512-KC0cOvsFVyxBlg5h9jvaMlIL2tNsyQLvT2/OvIlO0AMUBJ4iXTtOfaDEqvmqv2lM/icekQfDsP2PsYBCDHpuOQ==", + "dev": true, + "requires": { + "chalk": "^2.3.0", + "enhanced-resolve": "^4.0.0", + "loader-utils": "^1.0.2", + "micromatch": "^3.1.4", + "semver": "^5.0.1" + } + }, "webpack": { "version": "4.9.2", "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.9.2.tgz", @@ -2250,9 +2229,9 @@ } }, "@octokit/rest": { - "version": "15.12.1", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-15.12.1.tgz", - "integrity": "sha512-Nn3o2iVHHWNbw8MSOWTa67/6N1e7muaDWVMWr3FXUDSlMzB3lXlr6EdO1hwfUzpmZAkNc1rFN4y0tuy38gtd+A==", + "version": "15.15.1", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-15.15.1.tgz", + "integrity": "sha512-TnuzjE880qbknEFAVqEr3VeOcE0yXo0kJEW+EK8TASpzMbykKCydei6WUmDSV3bq7aI+llkMrBYes1kIjpU7fA==", "dev": true, "requires": { "before-after-hook": "^1.1.0", @@ -2267,9 +2246,9 @@ }, "dependencies": { "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -2302,19 +2281,19 @@ } }, "@schematics/angular": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-7.0.0-rc.2.tgz", - "integrity": "sha512-awy/wt+d2Dqf6iZmqZ3kWFvJ6oeXRrCQ16bD4hwZd00/6UsJ9Wlv1NodJ8LkzDEWZaCBZ4OHPevYZdfX2M77+Q==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-7.0.2.tgz", + "integrity": "sha512-EMYo3CguVFqpVkXPlyXdyMaPA3LIDDfHtrjc4kAkb+yLorTsKETTWoVFwOzG7xoF3uIG+inkeKr/MzU0OejrUw==", "requires": { - "@angular-devkit/core": "7.0.0-rc.2", - "@angular-devkit/schematics": "7.0.0-rc.2", - "typescript": "3.1.1" + "@angular-devkit/core": "7.0.2", + "@angular-devkit/schematics": "7.0.2", + "typescript": "3.1.3" }, "dependencies": { "@angular-devkit/core": { - "version": "7.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.0-rc.2.tgz", - "integrity": "sha512-c2ODPqnc40Wz9Oerjdi3gHa+XBCvGj1rAZd38NdweCSFejUogbppB4MDoKOFuQi7qp+kXfJpXSX4aocDm6T67g==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.2.tgz", + "integrity": "sha512-liVqobArUfTvf0cZcjr3VI5tnHR+QjzfvC4HFBwIArls6/RxIATqd9GE9mFMWpy17xgVq8N7WmD6bymv1trbfA==", "requires": { "ajv": "6.5.3", "chokidar": "2.0.4", @@ -2349,11 +2328,6 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" }, - "typescript": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.1.1.tgz", - "integrity": "sha512-Veu0w4dTc/9wlWNf2jeRInNodKlcdLgemvPsrNpfu5Pq39sgfFjvIIgTsvUHCoLBnMhPoUA+tFxsXjU6VexVRQ==" - }, "uri-js": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", @@ -2365,13 +2339,13 @@ } }, "@schematics/update": { - "version": "0.9.0-rc.3", - "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.9.0-rc.3.tgz", - "integrity": "sha512-SNww4o97T1Mp9YJZt6sUhNG3s5jqj5Ru+6lpfCSN4dxTjzhIFyGPX60OLMEZvISPnBwXU/hbo9mBEjU6QazpPg==", + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.10.2.tgz", + "integrity": "sha512-/U/HlA/1DRmN2rj/P5htxEWDiMyJE/pa/gGbG2z0IBabOaGsMfEDHPqqXphpB2+03lc2tmC+B19j6pHKtgXZUg==", "dev": true, "requires": { - "@angular-devkit/core": "7.0.0-rc.3", - "@angular-devkit/schematics": "7.0.0-rc.3", + "@angular-devkit/core": "7.0.2", + "@angular-devkit/schematics": "7.0.2", "npm-registry-client": "8.6.0", "rxjs": "6.3.3", "semver": "5.5.1", @@ -2379,9 +2353,9 @@ }, "dependencies": { "@angular-devkit/core": { - "version": "7.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.0-rc.3.tgz", - "integrity": "sha512-xPhx4jCY1B4TLWWAEiUvpEJruIPlSxf8+cz9dFk/AkoDfJPOA21iEJ1Km6FPxkuKchm+W4n25ASDO45rOXhLaA==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.2.tgz", + "integrity": "sha512-liVqobArUfTvf0cZcjr3VI5tnHR+QjzfvC4HFBwIArls6/RxIATqd9GE9mFMWpy17xgVq8N7WmD6bymv1trbfA==", "dev": true, "requires": { "ajv": "6.5.3", @@ -2391,16 +2365,6 @@ "source-map": "0.7.3" } }, - "@angular-devkit/schematics": { - "version": "7.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-7.0.0-rc.3.tgz", - "integrity": "sha512-Dm+USTvcvgMWl1lfslK9diPtFje1rDBX0bIVPDHaBampxDSHyaQsfAEZxQWInoVB9c9NzjmCEcZoCogwMDoeUg==", - "dev": true, - "requires": { - "@angular-devkit/core": "7.0.0-rc.3", - "rxjs": "6.3.3" - } - }, "ajv": { "version": "6.5.3", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", @@ -2443,9 +2407,9 @@ } }, "@semantic-release/changelog": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@semantic-release/changelog/-/changelog-3.0.0.tgz", - "integrity": "sha512-d577qELFMc98WSbXIErQJHRHJSx1j1PqaxEb62d/g9DnRNgaT/JZ7l1c13LtEvWQzwekuGeVb3sk/y8w4nqBHw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@semantic-release/changelog/-/changelog-3.0.1.tgz", + "integrity": "sha512-N3lWwS3SUQmjBI/IoxwfQwPHAeQgYkvM63nzBpYkp2DXQ9zdLs5ZYpD1oln//wWCKVSIY2tPDs7KD4LVVh6u5Q==", "dev": true, "requires": { "@semantic-release/error": "^2.1.0", @@ -2455,9 +2419,9 @@ } }, "@semantic-release/commit-analyzer": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-6.0.1.tgz", - "integrity": "sha512-ENCRn1tm1D08CCBnIPsID8GjboWT6E97s0Lk3XrpAh+IMx615uAU1X2FoXyOGGc6zmqp9Ff4s8KECd/GjMcodQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-6.1.0.tgz", + "integrity": "sha512-2lb+t6muGenI86mYGpZYOgITx9L3oZYF697tJoqXeQEk0uw0fm+OkkOuDTBA3Oax9ftoNIrCKv9bwgYvxrbM6w==", "dev": true, "requires": { "conventional-changelog-angular": "^5.0.0", @@ -2511,9 +2475,9 @@ } }, "debug": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.0.1.tgz", - "integrity": "sha512-K23FHJ/Mt404FSlp6gSZCevIbTMLX0j3fmHhUEhQ3Wq0FMODW3+cUSoLdy1Gx4polAf4t/lphhmHH35BB8cLYw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz", + "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==", "dev": true, "requires": { "ms": "^2.1.1" @@ -2640,9 +2604,9 @@ "dev": true }, "@semantic-release/git": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/@semantic-release/git/-/git-7.0.4.tgz", - "integrity": "sha512-/kdHnetgogIC/W5CDYQ1xmxy+4KQG7MqkgnqcPi4dj8tXCJrmVy9XAR2LySUhRTtnDniLq0H29DsD9HW5x+PKQ==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/@semantic-release/git/-/git-7.0.5.tgz", + "integrity": "sha512-90TDMAQw9S5BXjygpEb8zdwLCnUmP5G2GfKHUvmFapFNh3UsI1AJljEUe5hJh/GOuHiyBD/whnCMYExsp8a34Q==", "dev": true, "requires": { "@semantic-release/error": "^2.1.0", @@ -2671,9 +2635,9 @@ } }, "debug": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.0.1.tgz", - "integrity": "sha512-K23FHJ/Mt404FSlp6gSZCevIbTMLX0j3fmHhUEhQ3Wq0FMODW3+cUSoLdy1Gx4polAf4t/lphhmHH35BB8cLYw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz", + "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==", "dev": true, "requires": { "ms": "^2.1.1" @@ -2737,9 +2701,9 @@ } }, "@semantic-release/github": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-5.0.6.tgz", - "integrity": "sha512-SE+ldpvwUMGHPiUjtebsNfTRDnnf8P/paQZ+dvxmGJ6UAuLaQLr4y3DvApg3m57+lkaYALkfB1FGnK9zKycHig==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-5.2.0.tgz", + "integrity": "sha512-w2EQjCWrNVOD1P2uPFOWQh8cVVc+N2l+DMLa4opFN4fc5TRDO1En0WA1S76JbQBn+fXp5uYQFt+KTGsVatg2OA==", "dev": true, "requires": { "@octokit/rest": "^15.2.0", @@ -2762,9 +2726,9 @@ }, "dependencies": { "debug": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.0.1.tgz", - "integrity": "sha512-K23FHJ/Mt404FSlp6gSZCevIbTMLX0j3fmHhUEhQ3Wq0FMODW3+cUSoLdy1Gx4polAf4t/lphhmHH35BB8cLYw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz", + "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==", "dev": true, "requires": { "ms": "^2.1.1" @@ -2800,9 +2764,9 @@ } }, "@semantic-release/npm": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-5.0.4.tgz", - "integrity": "sha512-ExGXP9GnM2hqUIgTnp6sXKB1G0Yh+fuLftmIopq5KHBWj34Wd2YbM/3iLkXXnAP1YZ9YCp7hsAdsR014ctbwHg==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-5.0.5.tgz", + "integrity": "sha512-BZpdRo4r3UD3ilyb01xckfc5/57fBQVn4P0iMnjOR4/9heRKJUcywsSJQL/RfxMOJpGUlT//2TpdiiSKV2d1OQ==", "dev": true, "requires": { "@semantic-release/error": "^2.2.0", @@ -2898,9 +2862,9 @@ } }, "@semantic-release/release-notes-generator": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-7.0.2.tgz", - "integrity": "sha512-fomHrGq/gfZIAQYZk0MLRwfQ8d+DbTcI3kuO1hU2L0fDJYKHZHuPmKnsfVa5KoNdVVPHx878D/ojgyStRqhc9g==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-7.1.1.tgz", + "integrity": "sha512-UbF0aU/RHeOW38jYcOPJFEqqxq01zKuaT54cdzyaci3cH8jfocR7YaPevtx7PTnwmha54ukuT+JQ9vBViYPTZw==", "dev": true, "requires": { "conventional-changelog-angular": "^5.0.0", @@ -2911,7 +2875,7 @@ "get-stream": "^4.0.0", "git-url-parse": "^10.0.1", "import-from": "^2.1.0", - "into-stream": "^3.1.0", + "into-stream": "^4.0.0", "lodash": "^4.17.4" }, "dependencies": { @@ -2958,9 +2922,9 @@ } }, "debug": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.0.1.tgz", - "integrity": "sha512-K23FHJ/Mt404FSlp6gSZCevIbTMLX0j3fmHhUEhQ3Wq0FMODW3+cUSoLdy1Gx4polAf4t/lphhmHH35BB8cLYw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz", + "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==", "dev": true, "requires": { "ms": "^2.1.1" @@ -2981,6 +2945,16 @@ "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", "dev": true }, + "into-stream": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-4.0.0.tgz", + "integrity": "sha512-i29KNyE5r0Y/UQzcQ0IbZO1MYJ53Jn0EcFRZPj5FzWKYH17kDFEOwuA+3jroymOI06SW1dEDnly9A1CAreC5dg==", + "dev": true, + "requires": { + "from2": "^2.1.1", + "p-is-promise": "^2.0.0" + } + }, "load-json-file": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", @@ -3028,6 +3002,12 @@ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", "dev": true }, + "p-is-promise": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.0.0.tgz", + "integrity": "sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg==", + "dev": true + }, "parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", @@ -3230,9 +3210,9 @@ } }, "@types/jest": { - "version": "23.3.5", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-23.3.5.tgz", - "integrity": "sha512-3LI+vUC3Wju28vbjIjsTKakhMB8HC4l+tMz+Z8WRzVK+kmvezE5jcOvKtBpznWSI5KDLFo+FouUhpTKoekadCA==", + "version": "23.3.7", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-23.3.7.tgz", + "integrity": "sha512-N0p6mHrS0RHC3A9hHN4QH1RM2fGSb2E8rt6ONEK5xKSnyKtn/JAhr1VritkCn6cdyDBephVB80THqJGWzK8FAw==", "dev": true }, "@types/json5": { @@ -3262,9 +3242,9 @@ "integrity": "sha512-A2TAGbTFdBw9azHbpVd+/FkdW2T6msN1uct1O9bH3vTerEHKZhTXJUQXy+hNq1B0RagfU8U+KBdqiZpxjhOUQA==" }, "@types/node": { - "version": "10.11.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.11.7.tgz", - "integrity": "sha512-yOxFfkN9xUFLyvWaeYj90mlqTJ41CsQzWKS3gXdOMOyPVacUsymejKxJ4/pMW7exouubuEeZLJawGgcNGYlTeg==" + "version": "10.12.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.0.tgz", + "integrity": "sha512-3TUHC3jsBAB7qVRGxT6lWyYo2v96BMmD2PTcl47H25Lu7UXtFH/2qqmKiVrnel6Ne//0TFYf6uvNX+HW2FRkLQ==" }, "@types/nodemailer": { "version": "4.6.5", @@ -3903,9 +3883,9 @@ "integrity": "sha512-6Fls8XE3UC8NoydpcC82hY3KSRU4dXbGFjs3w+XLReL+Ry8zLeBHb/CZ9F+Kbg1yBH+eKamzd0vLr0+df+yC5g==" }, "angular-oauth2-oidc": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/angular-oauth2-oidc/-/angular-oauth2-oidc-4.0.3.tgz", - "integrity": "sha512-ouVrv/wwE8troSaL0H5/vzFhc2Ly4Awi/sTo1o9X0kAKt7VKkQZOGih7/ifNAEGxLuR41US8m8XNByeS4SiArQ==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/angular-oauth2-oidc/-/angular-oauth2-oidc-5.0.2.tgz", + "integrity": "sha512-jtOv4IWEjSFfBHVE4seWGWT/ZfWJ95QJ1JaFhVVGJEF64ibGuPwV3ztwTOUl98QHi/Yg4PXXDAisb31JnIbxBw==", "requires": { "jsrsasign": "^8.0.12", "tslib": "^1.9.0" @@ -3921,9 +3901,9 @@ } }, "ansi-colors": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.1.0.tgz", - "integrity": "sha512-hTv1qPdi+sVEk3jYsdjox5nQI0C9HTbjKShbCdYLKb1LOfNbb7wsF4d7OEKIZoxIHx02tSp3m94jcPW2EfMjmA==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.1.tgz", + "integrity": "sha512-Xt+zb6nqgvV9SWAVp0EG3lRsHcbq5DDgqjPPz6pwgtj6RKz65zGXMNa82oJfOSBA/to6GmRP7Dr+6o+kbApTzQ==", "dev": true }, "ansi-cyan": { @@ -4322,11 +4302,11 @@ "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" }, "axios": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.17.1.tgz", - "integrity": "sha1-LY4+XQvb1zJ/kbyBT1xXZg+Bgk0=", + "version": "0.18.0", + "resolved": "http://registry.npmjs.org/axios/-/axios-0.18.0.tgz", + "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", "requires": { - "follow-redirects": "^1.2.5", + "follow-redirects": "^1.3.0", "is-buffer": "^1.1.5" } }, @@ -5432,9 +5412,9 @@ "dev": true }, "bottleneck": { - "version": "2.11.2", - "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.11.2.tgz", - "integrity": "sha512-rC2HVbtSaTgFsrnW3nkODmSHSGewyGVGeIN1HlOsFhgiRu0hrJqQu1m1icRYlc1L7Jg4Sz62bj/2EynY5HcqMA==", + "version": "2.12.2", + "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.12.2.tgz", + "integrity": "sha512-9HrCO+5MJ0wmendPQSWaA9myojLavaEbkwZbsEjNK83nWPfkhFZN+5cYLhRKu1lRqn36cjO5r3qMJ7/JUN5hQQ==", "dev": true }, "bowser": { @@ -5994,9 +5974,9 @@ "dev": true }, "chart.js": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-2.7.2.tgz", - "integrity": "sha512-90wl3V9xRZ8tnMvMlpcW+0Yg13BelsGS9P9t0ClaDxv/hdypHDr/YAGf+728m11P5ljwyB0ZHfPKCapZFqSqYA==", + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-2.7.3.tgz", + "integrity": "sha512-3+7k/DbR92m6BsMUYP6M0dMsMVZpMnwkUyNSAbqolHKsbIzH2Q4LWVEHHYq7v0fmEV8whXE0DrjANulw9j2K5g==", "requires": { "chartjs-color": "^2.1.0", "moment": "^2.10.2" @@ -6169,9 +6149,9 @@ "dev": true }, "class-transformer": { - "version": "0.1.9", - "resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.1.9.tgz", - "integrity": "sha512-KV0IteiRl95OZ9UzbuPj8RhckuHA4JTC+Q+ZbKTYPsmvB0GgPRG7JBEXiVhBq/U050OVRku4N5t0rSMHw8vDWw==" + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.1.10.tgz", + "integrity": "sha512-QiNdUxEvTBiUtc0KiapGVHhgaqGQVEhOfL9UEBnb9xRfcwmDJT5ijIDwcwJUTwXaT/kGvZZB4JCGsiuR5adX6g==" }, "class-utils": { "version": "0.3.6", @@ -6525,9 +6505,9 @@ "integrity": "sha512-6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ==" }, "commitizen": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/commitizen/-/commitizen-3.0.2.tgz", - "integrity": "sha512-E+Wixgc7s4koMDl98wnwoSerHt0pvWBdPygP7+q2TfC/DHDbGvCYFbhtS+c+bhYNpR4D9lW9rRY6mFmT63Blgg==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/commitizen/-/commitizen-3.0.4.tgz", + "integrity": "sha512-djR5F7RBsGALyUEm/B1H/85nsN4L1F5DhWN+9/efSwqHDSyhw2MK6MF2VRuD26PUqGkQbcUlYO61btkTWjcjVw==", "dev": true, "requires": { "cachedir": "2.1.0", @@ -6715,9 +6695,9 @@ "dev": true }, "consola": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/consola/-/consola-1.4.3.tgz", - "integrity": "sha512-PIbVeO9JVVeJ9eY2n8PrkL+hXBGnmaD5x4yJxp2K9nWR7zgtAzRn7rmWxu/d0Iyyr92v8s5AM0qax6xQZ5rSeQ==", + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/consola/-/consola-1.4.4.tgz", + "integrity": "sha512-6ZCi6LpbwGml3g8C8iXIuSf9yZAWoRAXodcHxBWRVvy42uKe4z7AG4JB4v46LEmgtPXv2rIqR6wVD+sxixDD/A==", "requires": { "chalk": "^2.3.2", "figures": "^2.0.0", @@ -7126,9 +7106,9 @@ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" }, "copy-webpack-plugin": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.5.2.tgz", - "integrity": "sha512-zmC33E8FFSq3AbflTvqvPvBo621H36Afsxlui91d+QyZxPIuXghfnTsa1CuqiAaCPgJoSUWfTFbKJnadZpKEbQ==", + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.5.3.tgz", + "integrity": "sha512-VKCiNXQcc8zyznaepXfKpCH2cZD+/j3T3B+gsFY97P7qMlEsj34wr/sI9OCG7QPUUh7gAHVx3q8Q1rdQIDM4bA==", "dev": true, "requires": { "cacache": "^10.0.4", @@ -7415,56 +7395,57 @@ } }, "d3": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/d3/-/d3-4.13.0.tgz", - "integrity": "sha512-l8c4+0SldjVKLaE2WG++EQlqD7mh/dmQjvi2L2lKPadAVC+TbJC4ci7Uk9bRi+To0+ansgsS0iWfPjD7DBy+FQ==", - "requires": { - "d3-array": "1.2.1", - "d3-axis": "1.0.8", - "d3-brush": "1.0.4", - "d3-chord": "1.0.4", - "d3-collection": "1.0.4", - "d3-color": "1.0.3", - "d3-dispatch": "1.0.3", - "d3-drag": "1.2.1", - "d3-dsv": "1.0.8", - "d3-ease": "1.0.3", - "d3-force": "1.1.0", - "d3-format": "1.2.2", - "d3-geo": "1.9.1", - "d3-hierarchy": "1.1.5", - "d3-interpolate": "1.1.6", - "d3-path": "1.0.5", - "d3-polygon": "1.0.3", - "d3-quadtree": "1.0.3", - "d3-queue": "3.0.7", - "d3-random": "1.1.0", - "d3-request": "1.0.6", - "d3-scale": "1.0.7", - "d3-selection": "1.3.0", - "d3-shape": "1.2.0", - "d3-time": "1.0.8", - "d3-time-format": "2.1.1", - "d3-timer": "1.0.7", - "d3-transition": "1.1.1", - "d3-voronoi": "1.1.2", - "d3-zoom": "1.7.1" + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/d3/-/d3-5.7.0.tgz", + "integrity": "sha512-8KEIfx+dFm8PlbJN9PI0suazrZ41QcaAufsKE9PRcqYPWLngHIyWJZX96n6IQKePGgeSu0l7rtlueSSNq8Zc3g==", + "requires": { + "d3-array": "1", + "d3-axis": "1", + "d3-brush": "1", + "d3-chord": "1", + "d3-collection": "1", + "d3-color": "1", + "d3-contour": "1", + "d3-dispatch": "1", + "d3-drag": "1", + "d3-dsv": "1", + "d3-ease": "1", + "d3-fetch": "1", + "d3-force": "1", + "d3-format": "1", + "d3-geo": "1", + "d3-hierarchy": "1", + "d3-interpolate": "1", + "d3-path": "1", + "d3-polygon": "1", + "d3-quadtree": "1", + "d3-random": "1", + "d3-scale": "2", + "d3-scale-chromatic": "1", + "d3-selection": "1", + "d3-shape": "1", + "d3-time": "1", + "d3-time-format": "2", + "d3-timer": "1", + "d3-transition": "1", + "d3-voronoi": "1", + "d3-zoom": "1" } }, "d3-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.1.tgz", - "integrity": "sha512-CyINJQ0SOUHojDdFDH4JEM0552vCR1utGyLHegJHyYH0JyCpSeTPxi4OBqHMA2jJZq4NH782LtaJWBImqI/HBw==" + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz", + "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==" }, "d3-axis": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-1.0.8.tgz", - "integrity": "sha1-MacFoLU15ldZ3hQXOjGTMTfxjvo=" + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-1.0.12.tgz", + "integrity": "sha512-ejINPfPSNdGFKEOAtnBtdkpr24c4d4jsei6Lg98mxf424ivoDP2956/5HDpIAtmHo85lqT4pruy+zEgvRUBqaQ==" }, "d3-brush": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-1.0.4.tgz", - "integrity": "sha1-AMLyOAGfJPbAoZSibUGhUw/+e8Q=", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-1.0.6.tgz", + "integrity": "sha512-lGSiF5SoSqO5/mYGD5FAeGKKS62JdA1EV7HPrU2b5rTX4qEJJtpjaGLJngjnkewQy7UnGstnFd3168wpf5z76w==", "requires": { "d3-dispatch": "1", "d3-drag": "1", @@ -7474,42 +7455,50 @@ } }, "d3-chord": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-1.0.4.tgz", - "integrity": "sha1-fexPC6iG9xP+ERxF92NBT290yiw=", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-1.0.6.tgz", + "integrity": "sha512-JXA2Dro1Fxw9rJe33Uv+Ckr5IrAa74TlfDEhE/jfLOaXegMQFQTAgAw9WnZL8+HxVBRXaRGCkrNU7pJeylRIuA==", "requires": { "d3-array": "1", "d3-path": "1" } }, "d3-collection": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/d3-collection/-/d3-collection-1.0.4.tgz", - "integrity": "sha1-NC39EoN8kJdPM/HMCnha6lcNzcI=" + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/d3-collection/-/d3-collection-1.0.7.tgz", + "integrity": "sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==" }, "d3-color": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.0.3.tgz", "integrity": "sha1-vHZD/KjlOoNH4vva/6I2eWtYUJs=" }, + "d3-contour": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-1.3.2.tgz", + "integrity": "sha512-hoPp4K/rJCu0ladiH6zmJUEz6+u3lgR+GSm/QdM2BBvDraU39Vr7YdDCicJcxP1z8i9B/2dJLgDC1NcvlF8WCg==", + "requires": { + "d3-array": "^1.1.1" + } + }, "d3-dispatch": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.3.tgz", "integrity": "sha1-RuFJHqqbWMNY/OW+TovtYm54cfg=" }, "d3-drag": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-1.2.1.tgz", - "integrity": "sha512-Cg8/K2rTtzxzrb0fmnYOUeZHvwa4PHzwXOLZZPwtEs2SKLLKLXeYwZKBB+DlOxUvFmarOnmt//cU4+3US2lyyQ==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-1.2.3.tgz", + "integrity": "sha512-8S3HWCAg+ilzjJsNtWW1Mutl74Nmzhb9yU6igspilaJzeZVFktmY6oO9xOh5TDk+BM2KrNFjttZNoJJmDnkjkg==", "requires": { "d3-dispatch": "1", "d3-selection": "1" } }, "d3-dsv": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.0.8.tgz", - "integrity": "sha512-IVCJpQ+YGe3qu6odkPQI0KPqfxkhbP/oM1XhhE/DFiYmcXKfCRub4KXyiuehV1d4drjWVXHUWx4gHqhdZb6n/A==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.0.10.tgz", + "integrity": "sha512-vqklfpxmtO2ZER3fq/B33R/BIz3A1PV0FaZRuFM8w6jLo7sUX1BZDh73fPlr0s327rzq4H6EN1q9U+eCBCSN8g==", "requires": { "commander": "2", "iconv-lite": "0.4", @@ -7521,10 +7510,18 @@ "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.3.tgz", "integrity": "sha1-aL+8NJM4o4DETYrMT7wzBKotjA4=" }, + "d3-fetch": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-1.1.2.tgz", + "integrity": "sha512-S2loaQCV/ZeyTyIF2oP8D1K9Z4QizUzW7cWeAOAS4U88qOt3Ucf6GsmgthuYSdyB2HyEm4CeGvkQxWsmInsIVA==", + "requires": { + "d3-dsv": "1" + } + }, "d3-force": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-1.1.0.tgz", - "integrity": "sha512-2HVQz3/VCQs0QeRNZTYb7GxoUCeb6bOzMp/cGcLa87awY9ZsPvXOGeZm0iaGBjXic6I1ysKwMn+g+5jSAdzwcg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-1.1.2.tgz", + "integrity": "sha512-p1vcHAUF1qH7yR+e8ip7Bs61AHjLeKkIn8Z2gzwU2lwEf2wkSpWdjXG0axudTHsVFnYGlMkFaEsVy2l8tAg1Gw==", "requires": { "d3-collection": "1", "d3-dispatch": "1", @@ -7533,22 +7530,22 @@ } }, "d3-format": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.2.2.tgz", - "integrity": "sha512-zH9CfF/3C8zUI47nsiKfD0+AGDEuM8LwBIP7pBVpyR4l/sKkZqITmMtxRp04rwBrlshIZ17XeFAaovN3++wzkw==" + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.3.2.tgz", + "integrity": "sha512-Z18Dprj96ExragQ0DeGi+SYPQ7pPfRMtUXtsg/ChVIKNBCzjO8XYJvRTC1usblx52lqge56V5ect+frYTQc8WQ==" }, "d3-geo": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.9.1.tgz", - "integrity": "sha512-l9wL/cEQkyZQYXw3xbmLsH3eQ5ij+icNfo4r0GrLa5rOCZR/e/3am45IQ0FvQ5uMsv+77zBRunLc9ufTWSQYFA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.11.1.tgz", + "integrity": "sha512-GsG7x9G9sykseLviOVSJ3h5yjw0ItLopOtuDQKUt1TRklEegCw5WAmnIpYYiCkSH/QgUMleAeE2xZK38Qb+1+Q==", "requires": { "d3-array": "1" } }, "d3-hierarchy": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.5.tgz", - "integrity": "sha1-ochFxC+Eoga88cAcAQmOpN2qeiY=" + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.8.tgz", + "integrity": "sha512-L+GHMSZNwTpiq4rt9GEsNcpLa4M96lXMR8M/nMG9p5hBE0jy6C+3hWtyZMenPQdwla249iJy7Nx0uKt3n+u9+w==" }, "d3-interpolate": { "version": "1.1.6", @@ -7559,55 +7556,47 @@ } }, "d3-path": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.5.tgz", - "integrity": "sha1-JB6xhJvZ6egCHA0KeZ+KDo5EF2Q=" + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.7.tgz", + "integrity": "sha512-q0cW1RpvA5c5ma2rch62mX8AYaiLX0+bdaSM2wxSU9tXjU4DNvkx9qiUvjkuWCj3p22UO/hlPivujqMiR9PDzA==" }, "d3-polygon": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-1.0.3.tgz", - "integrity": "sha1-FoiOkCZGCTPysXllKtN4Ik04LGI=" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-1.0.5.tgz", + "integrity": "sha512-RHhh1ZUJZfhgoqzWWuRhzQJvO7LavchhitSTHGu9oj6uuLFzYZVeBzaWTQ2qSO6bz2w55RMoOCf0MsLCDB6e0w==" }, "d3-quadtree": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-1.0.3.tgz", - "integrity": "sha1-rHmH4+I/6AWpkPKOG1DTj8uCJDg=" - }, - "d3-queue": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/d3-queue/-/d3-queue-3.0.7.tgz", - "integrity": "sha1-yTouVLQXwJWRKdfXP2z31Ckudhg=" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-1.0.5.tgz", + "integrity": "sha512-U2tjwDFbZ75JRAg8A+cqMvqPg1G3BE7UTJn3h8DHjY/pnsAfWdbJKgyfcy7zKjqGtLAmI0q8aDSeG1TVIKRaHQ==" }, "d3-random": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-1.1.0.tgz", - "integrity": "sha1-ZkLlBsb6OmSFldKyRpeIqNElKdM=" - }, - "d3-request": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/d3-request/-/d3-request-1.0.6.tgz", - "integrity": "sha512-FJj8ySY6GYuAJHZMaCQ83xEYE4KbkPkmxZ3Hu6zA1xxG2GD+z6P+Lyp+zjdsHf0xEbp2xcluDI50rCS855EQ6w==", - "requires": { - "d3-collection": "1", - "d3-dispatch": "1", - "d3-dsv": "1", - "xmlhttprequest": "1" - } + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-1.1.2.tgz", + "integrity": "sha512-6AK5BNpIFqP+cx/sreKzNjWbwZQCSUatxq+pPRmFIQaWuoD+NrbVWw7YWpHiXpCQ/NanKdtGDuB+VQcZDaEmYQ==" }, "d3-scale": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-1.0.7.tgz", - "integrity": "sha512-KvU92czp2/qse5tUfGms6Kjig0AhHOwkzXG0+PqIJB3ke0WUv088AHMZI0OssO9NCkXt4RP8yju9rpH8aGB7Lw==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-2.1.2.tgz", + "integrity": "sha512-bESpd64ylaKzCDzvULcmHKZTlzA/6DGSVwx7QSDj/EnX9cpSevsdiwdHFYI9ouo9tNBbV3v5xztHS2uFeOzh8Q==", "requires": { "d3-array": "^1.2.0", "d3-collection": "1", - "d3-color": "1", "d3-format": "1", "d3-interpolate": "1", "d3-time": "1", "d3-time-format": "2" } }, + "d3-scale-chromatic": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-1.3.3.tgz", + "integrity": "sha512-BWTipif1CimXcYfT02LKjAyItX5gKiwxuPRgr4xM58JwlLocWbjPLI7aMEjkcoOQXMkYsmNsvv3d2yl/OKuHHw==", + "requires": { + "d3-color": "1", + "d3-interpolate": "1" + } + }, "d3-selection": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.3.0.tgz", @@ -7623,22 +7612,22 @@ } }, "d3-shape": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.2.0.tgz", - "integrity": "sha1-RdAVOPBkuv0F6j1tLLdI/YxB93c=", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.2.2.tgz", + "integrity": "sha512-hUGEozlKecFZ2bOSNt7ENex+4Tk9uc/m0TtTEHBvitCBxUNjhzm5hS2GrrVRD/ae4IylSmxGeqX5tWC2rASMlQ==", "requires": { "d3-path": "1" } }, "d3-time": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.0.8.tgz", - "integrity": "sha512-YRZkNhphZh3KcnBfitvF3c6E0JOFGikHZ4YqD+Lzv83ZHn1/u6yGenRU1m+KAk9J1GnZMnKcrtfvSktlA1DXNQ==" + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.0.10.tgz", + "integrity": "sha512-hF+NTLCaJHF/JqHN5hE8HVGAXPStEq6/omumPE/SxyHVrR7/qQxusFDo0t0c/44+sCGHthC7yNGFZIEgju0P8g==" }, "d3-time-format": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.1.1.tgz", - "integrity": "sha512-8kAkymq2WMfzW7e+s/IUNAtN/y3gZXGRrdGfo6R8NKPAA85UBTxZg5E61bR6nLwjPjj4d3zywSQe1CkYLPFyrw==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.1.3.tgz", + "integrity": "sha512-6k0a2rZryzGm5Ihx+aFMuO1GgelgIz+7HhB4PH4OEndD5q2zGn1mDfRdNrulspOfR6JXkb2sThhDK41CSK85QA==", "requires": { "d3-time": "1" } @@ -7662,14 +7651,14 @@ } }, "d3-voronoi": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/d3-voronoi/-/d3-voronoi-1.1.2.tgz", - "integrity": "sha1-Fodmfo8TotFYyAwUgMWinLDYlzw=" + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/d3-voronoi/-/d3-voronoi-1.1.4.tgz", + "integrity": "sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==" }, "d3-zoom": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-1.7.1.tgz", - "integrity": "sha512-sZHQ55DGq5BZBFGnRshUT8tm2sfhPHFnOlmPbbwTkAoPeVdRTkB4Xsf9GCY0TSHrTD8PeJPZGmP/TpGicwJDJQ==", + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-1.7.3.tgz", + "integrity": "sha512-xEBSwFx5Z9T3/VrwDkMt+mr0HCzv7XjpGURJ8lWmIC8wxe32L39eWHIasEe/e7Ox8MPU4p1hvH8PKN2olLzIBg==", "requires": { "d3-dispatch": "1", "d3-drag": "1", @@ -9312,9 +9301,9 @@ "dev": true }, "figlet": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/figlet/-/figlet-1.2.0.tgz", - "integrity": "sha1-bEZTc3j6tkkUa1phQ92gGbQwtBA=" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/figlet/-/figlet-1.2.1.tgz", + "integrity": "sha512-qc8gycfnnfOmfvPl7Fi3JeTbcvdmbZkckyUVGGAM02je7Ookvu+bBfKy1I4FKqTsQHCs3ARJ76ip/k98r+OQuQ==" }, "figures": { "version": "2.0.0", @@ -9364,9 +9353,9 @@ "integrity": "sha512-B2S5gWUg/ZALHAvZksVqIqLI2VEi+3fReN+puhtjwvvXc6A7p2pZ+n/hLq7FuESh27n8/Eq3CNQ1KFtiKcRZyg==" }, "filepond-plugin-file-validate-size": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filepond-plugin-file-validate-size/-/filepond-plugin-file-validate-size-1.0.4.tgz", - "integrity": "sha512-WyXbZdV47+qKZJPGxSWxUGoOUhBsfFsW9pDORk7IsdvU6veBmmNzsL7HC4HPRQDD4HQQcoadg+cYr4Oh4o/4hQ==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filepond-plugin-file-validate-size/-/filepond-plugin-file-validate-size-2.0.0.tgz", + "integrity": "sha512-1CjMWN64mnLznP8z3Zc/2GRkF9w3mtAamfv6THVVOicUuUvWfbAPzKQAwTn8Be+voYzXtQ++dhCuU7pRDeY6nw==" }, "filepond-plugin-file-validate-type": { "version": "1.2.0", @@ -9379,9 +9368,9 @@ "integrity": "sha512-cGkyepmbqI1H8B5pTk1SDCP5KRXZf0dDiA9LxdpPP1y5k+JGm8eIu1ZydmIVJHygOkyAZLvpEV7g0i83eLi6gw==" }, "filepond-plugin-image-preview": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/filepond-plugin-image-preview/-/filepond-plugin-image-preview-3.0.0.tgz", - "integrity": "sha512-UfcXa0GRvg1++lAcUSdbVpqETqiPBg9uedQ1b7kwyI0d5y/ZTh1z4R1BD0gxCYmWU7ddIUtrPOTmY4p6mXYImg==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/filepond-plugin-image-preview/-/filepond-plugin-image-preview-3.1.1.tgz", + "integrity": "sha512-LRU2YKLUn0efphJgQkjip6jQTjyg6TNalA4d9cK/UPLwrQKyJdsyTla9wqhuh2PVq2z5r8QH5mfMu8OHRs0esA==" }, "fileset": { "version": "2.0.3", @@ -10648,19 +10637,19 @@ } }, "git-up": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/git-up/-/git-up-2.0.10.tgz", - "integrity": "sha512-2v4UN3qV2RGypD9QpmUjpk+4+RlYpW8GFuiZqQnKmvei08HsFPd0RfbDvEhnE4wBvnYs8ORVtYpOFuuCEmBVBw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/git-up/-/git-up-2.1.0.tgz", + "integrity": "sha512-MJgwfcSd9qxgDyEYpRU/CDxNpUadrK80JHuEQDG4Urn0m7tpSOgCBrtiSIa9S9KH8Tbuo/TN8SSQmJBvsw1HkA==", "dev": true, "requires": { "is-ssh": "^1.3.0", - "parse-url": "^1.3.0" + "parse-url": "^3.0.2" } }, "git-url-parse": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-10.0.1.tgz", - "integrity": "sha512-Tq2u8UPXc/FawC/dO8bvh8jcck0Lkor5OhuZvmVSeyJGRucDBfw9y2zy/GNCx28lMYh1N12IzPwDexjUNFyAeg==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-10.1.0.tgz", + "integrity": "sha512-goZOORAtFjU1iG+4zZgWq+N7It09PqS3Xsy43ZwhP5unDD0tTSmXTpqULHodMdJXGejm3COwXIhIRT6Z8DYVZQ==", "dev": true, "requires": { "git-up": "^2.0.0" @@ -11203,9 +11192,9 @@ } }, "highlight.js": { - "version": "9.12.0", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.12.0.tgz", - "integrity": "sha1-5tnb5Xy+/mB1HwKvM2GVhwyQwB4=" + "version": "9.13.1", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.13.1.tgz", + "integrity": "sha512-Sc28JNQNDzaH6PORtRLMvif9RSn1mYuOoX3omVjnb0+HbpPygU2ALBI0R/wsiqCb4/fcp07Gdo8g+fhtFrQl6A==" }, "hmac-drbg": { "version": "1.0.1", @@ -11411,9 +11400,9 @@ }, "dependencies": { "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -13925,15 +13914,29 @@ "dev": true }, "kubernetes-client": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/kubernetes-client/-/kubernetes-client-6.1.0.tgz", - "integrity": "sha512-H4Phnw7zWV3nYzvMqc84DDexr1Da8sRokPWoDLxLuVJSTPnqVuXpAPAWPqNcZzZdm4kWddTfKTjpg8iOYHiDDQ==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/kubernetes-client/-/kubernetes-client-6.3.0.tgz", + "integrity": "sha512-Eb72it5nb4go4NSaq5DdzdU7hq2zzyAHcRq2FOvEXvU0wCVqOGs48YSg1BTbXWob20oqvIO0aFp6MoOIcVXERw==", "dev": true, "requires": { + "deepmerge": "^2.1.1", "fluent-openapi": "0.1.1", "js-yaml": "^3.10.0", - "openid-client": "^2.0.0", - "request": "^2.83.0" + "openid-client": "^2.4.4", + "qs": "^6.5.2", + "request": "^2.88.0", + "ws": "^6.0.0" + }, + "dependencies": { + "ws": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.0.tgz", + "integrity": "sha512-H3dGVdGvW2H8bnYpIDc3u3LH8Wue3Qh+Zto6aXXFzvESkTVT6rAfKR6tR/+coaUvxs8yHtmNV0uioBF62ZGSTg==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + } } }, "latest-version": { @@ -15480,9 +15483,9 @@ "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" }, "ng-packagr": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-4.3.0.tgz", - "integrity": "sha512-hJsZsIgl+1abztxFjaGCRotQAHbqX9gjKit821GX1D1aQr7Is0DmUEjNR2n9IhrhE9lzb0p+SbAjlG+euy0eRQ==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-4.4.0.tgz", + "integrity": "sha512-dLpC/kmQsdbkL96ZclGjNRhq/J4MwpPKwPYNom74lvXqFC2jbbT/fnwmxX9WKXjvE8MEGsg2D2x8MsRURiNscg==", "dev": true, "requires": { "@ngtools/json-schema": "^1.1.0", @@ -15505,6 +15508,7 @@ "rimraf": "^2.6.1", "rollup": "^0.66.0", "rollup-plugin-commonjs": "^9.1.3", + "rollup-plugin-json": "^3.1.0", "rollup-plugin-node-resolve": "^3.0.0", "rollup-plugin-sourcemaps": "^0.4.2", "rxjs": "^6.0.0", @@ -15514,38 +15518,42 @@ }, "dependencies": { "autoprefixer": { - "version": "9.1.5", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.1.5.tgz", - "integrity": "sha512-kk4Zb6RUc58ld7gdosERHMF3DzIYJc2fp5sX46qEsGXQQy5bXsu8qyLjoxuY1NuQ/cJuCYnx99BfjwnRggrYIw==", + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.3.1.tgz", + "integrity": "sha512-DY9gOh8z3tnCbJ13JIWaeQsoYncTGdsrgCceBaQSIL4nvdrLxgbRSBPevg2XbX7u4QCSfLheSJEEIUUSlkbx6Q==", "dev": true, "requires": { - "browserslist": "^4.1.0", - "caniuse-lite": "^1.0.30000884", + "browserslist": "^4.3.3", + "caniuse-lite": "^1.0.30000898", "normalize-range": "^0.1.2", "num2fraction": "^1.2.2", - "postcss": "^7.0.2", - "postcss-value-parser": "^3.2.3" + "postcss": "^7.0.5", + "postcss-value-parser": "^3.3.1" } }, "browserslist": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.2.0.tgz", - "integrity": "sha512-Berls1CHL7qfQz8Lct6QxYA5d2Tvt4doDWHcjvAISybpd+EKZVppNtXgXhaN6SdrPKo7YLTSZuYBs5cYrSWN8w==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.3.3.tgz", + "integrity": "sha512-6h84UD1mmHeuQ9IucX6yzBc+KBYcBBTLYt2CXtY7GYCra6iE5kOm7oM+zuGw/0tjGtbJxjm58OvxSBmogEMCRQ==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30000889", - "electron-to-chromium": "^1.3.73", - "node-releases": "^1.0.0-alpha.12" - }, - "dependencies": { - "caniuse-lite": { - "version": "1.0.30000890", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000890.tgz", - "integrity": "sha512-4NI3s4Y6ROm+SgZN5sLUG4k7nVWQnedis3c/RWkynV5G6cHSY7+a8fwFyn2yoBDE3E6VswhTNNwR3PvzGqlTkg==", - "dev": true - } + "caniuse-lite": "^1.0.30000898", + "electron-to-chromium": "^1.3.81", + "node-releases": "^1.0.0-alpha.15" } }, + "caniuse-lite": { + "version": "1.0.30000898", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000898.tgz", + "integrity": "sha512-ytlTZqO4hYe4rNAJhMynUAIUI33jsP2Bb1two/9OVC39wZjPZ8exIO0eCLw5mqAtegOGiGF0kkTWTn3B02L+mw==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.81", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.81.tgz", + "integrity": "sha512-+rym2xtzwPWmoi8AYRrCdW65QOT0vfUHjZb5mjgh0VLyj31pGM3CpP3znKhQNBzQaWujR/KEl/mfC2lnKYgADA==", + "dev": true + }, "find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", @@ -15577,12 +15585,6 @@ "path-exists": "^3.0.0" } }, - "mime": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", - "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", - "dev": true - }, "p-limit": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", @@ -15628,18 +15630,11 @@ "supports-color": "^5.5.0" } }, - "postcss-url": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/postcss-url/-/postcss-url-8.0.0.tgz", - "integrity": "sha512-E2cbOQ5aii2zNHh8F6fk1cxls7QVFZjLPSrqvmiza8OuXLzIpErij8BDS5Y3STPfJgpIMNCPEr8JlKQWEoozUw==", - "dev": true, - "requires": { - "mime": "^2.3.1", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.0", - "postcss": "^7.0.2", - "xxhashjs": "^0.2.1" - } + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true }, "read-pkg": { "version": "3.0.0", @@ -15884,9 +15879,9 @@ } }, "node-releases": { - "version": "1.0.0-alpha.12", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.0.0-alpha.12.tgz", - "integrity": "sha512-VPB4rTPqpVyWKBHbSa4YPFme3+8WHsOSpvbp0Mfj0bWsC8TEjt4HQrLl1hsBDELlp1nB4lflSgSuGTYiuyaP7Q==", + "version": "1.0.0-alpha.15", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.0.0-alpha.15.tgz", + "integrity": "sha512-hKG6hd/g6a9OV/ARt2qrxbRhe/4WEMFohTLOB9PNyTYvvI59gICZFzt9/mMgpYUTts06qXlN8H6UjfbIRdnW8A==", "dev": true, "requires": { "semver": "^5.3.0" @@ -16251,8 +16246,7 @@ "dependencies": { "JSONStream": { "version": "1.3.4", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.4.tgz", - "integrity": "sha512-Y7vfi3I5oMOYIr+WxV8NZxDSwcbNgzdKYsTNInmycOq9bUYwGg9ryu57Wg5NLmCjqdFPNUmpMBo3kSJN9tCbXg==", + "bundled": true, "dev": true, "requires": { "jsonparse": "^1.2.0", @@ -16261,14 +16255,12 @@ }, "abbrev": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "bundled": true, "dev": true }, "agent-base": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.0.tgz", - "integrity": "sha512-c+R/U5X+2zz2+UCrCFv6odQzJdoqI+YecuhnAJLa1zYaMc13zPfwMwZrr91Pd1DYNo/yPRbiM4WVf9whgwFsIg==", + "bundled": true, "dev": true, "requires": { "es6-promisify": "^5.0.0" @@ -16276,8 +16268,7 @@ }, "agentkeepalive": { "version": "3.4.1", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.4.1.tgz", - "integrity": "sha512-MPIwsZU9PP9kOrZpyu2042kYA8Fdt/AedQYkYXucHgF9QoD9dXVp0ypuGnHXSR0hTstBxdt85Xkh4JolYfK5wg==", + "bundled": true, "dev": true, "requires": { "humanize-ms": "^1.2.1" @@ -16285,8 +16276,7 @@ }, "ajv": { "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "bundled": true, "dev": true, "requires": { "co": "^4.6.0", @@ -16297,8 +16287,7 @@ }, "ansi-align": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", - "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", + "bundled": true, "dev": true, "requires": { "string-width": "^2.0.0" @@ -16306,14 +16295,12 @@ }, "ansi-regex": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "bundled": true, "dev": true }, "ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "bundled": true, "dev": true, "requires": { "color-convert": "^1.9.0" @@ -16321,32 +16308,27 @@ }, "ansicolors": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", - "integrity": "sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk=", + "bundled": true, "dev": true }, "ansistyles": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ansistyles/-/ansistyles-0.1.3.tgz", - "integrity": "sha1-XeYEFb2gcbs3EnhUyGT0GyMlRTk=", + "bundled": true, "dev": true }, "aproba": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "bundled": true, "dev": true }, "archy": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "bundled": true, "dev": true }, "are-we-there-yet": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", - "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", + "bundled": true, "dev": true, "requires": { "delegates": "^1.0.0", @@ -16355,14 +16337,12 @@ }, "asap": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "bundled": true, "dev": true }, "asn1": { "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "bundled": true, "dev": true, "requires": { "safer-buffer": "~2.1.0" @@ -16370,38 +16350,32 @@ }, "assert-plus": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "bundled": true, "dev": true }, "asynckit": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "bundled": true, "dev": true }, "aws-sign2": { "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "bundled": true, "dev": true }, "aws4": { "version": "1.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", + "bundled": true, "dev": true }, "balanced-match": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "bundled": true, "dev": true }, "bcrypt-pbkdf": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -16410,8 +16384,7 @@ }, "bin-links": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/bin-links/-/bin-links-1.1.2.tgz", - "integrity": "sha512-8eEHVgYP03nILphilltWjeIjMbKyJo3wvp9K816pHbhP301ismzw15mxAAEVQ/USUwcP++1uNrbERbp8lOA6Fg==", + "bundled": true, "dev": true, "requires": { "bluebird": "^3.5.0", @@ -16423,8 +16396,7 @@ }, "block-stream": { "version": "0.0.9", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "bundled": true, "dev": true, "requires": { "inherits": "~2.0.0" @@ -16432,14 +16404,12 @@ }, "bluebird": { "version": "3.5.1", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", - "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==", + "bundled": true, "dev": true }, "boxen": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", - "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", + "bundled": true, "dev": true, "requires": { "ansi-align": "^2.0.0", @@ -16453,8 +16423,7 @@ }, "brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "bundled": true, "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -16463,38 +16432,32 @@ }, "buffer-from": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.0.0.tgz", - "integrity": "sha512-83apNb8KK0Se60UE1+4Ukbe3HbfELJ6UlI4ldtOGs7So4KD26orJM8hIY9lxdzP+UpItH1Yh/Y8GUvNFWFFRxA==", + "bundled": true, "dev": true }, "builtin-modules": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "bundled": true, "dev": true }, "builtins": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", - "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=", + "bundled": true, "dev": true }, "byline": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", - "integrity": "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=", + "bundled": true, "dev": true }, "byte-size": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/byte-size/-/byte-size-4.0.3.tgz", - "integrity": "sha512-JGC3EV2bCzJH/ENSh3afyJrH4vwxbHTuO5ljLoI5+2iJOcEpMgP8T782jH9b5qGxf2mSUIp1lfGnfKNrRHpvVg==", + "bundled": true, "dev": true }, "cacache": { "version": "11.2.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.2.0.tgz", - "integrity": "sha512-IFWl6lfK6wSeYCHUXh+N1lY72UDrpyrYQJNIVQf48paDuWbv5RbAtJYf/4gUQFObTCHZwdZ5sI8Iw7nqwP6nlQ==", + "bundled": true, "dev": true, "requires": { "bluebird": "^3.5.1", @@ -16515,32 +16478,27 @@ }, "call-limit": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/call-limit/-/call-limit-1.1.0.tgz", - "integrity": "sha1-b9YbA/PaQqLNDsK2DwK9DnGZH+o=", + "bundled": true, "dev": true }, "camelcase": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "bundled": true, "dev": true }, "capture-stack-trace": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz", - "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=", + "bundled": true, "dev": true }, "caseless": { "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "bundled": true, "dev": true }, "chalk": { "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "bundled": true, "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -16550,20 +16508,17 @@ }, "chownr": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", - "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", + "bundled": true, "dev": true }, "ci-info": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.4.0.tgz", - "integrity": "sha512-Oqmw2pVfCl8sCL+1QgMywPfdxPJPkC51y4usw0iiE2S9qnEOAqXy8bwl1CpMpnoU39g4iKJTz6QZj+28FvOnjQ==", + "bundled": true, "dev": true }, "cidr-regex": { "version": "2.0.9", - "resolved": "https://registry.npmjs.org/cidr-regex/-/cidr-regex-2.0.9.tgz", - "integrity": "sha512-F7/fBRUU45FnvSPjXdpIrc++WRSBdCiSTlyq4ZNhLKOlHFNWgtzZ0Fd+zrqI/J1j0wmlx/f5ZQDmD2GcbrNcmw==", + "bundled": true, "dev": true, "requires": { "ip-regex": "^2.1.0" @@ -16571,14 +16526,12 @@ }, "cli-boxes": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", - "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", + "bundled": true, "dev": true }, "cli-columns": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/cli-columns/-/cli-columns-3.1.2.tgz", - "integrity": "sha1-ZzLZcpee/CrkRKHwjgj6E5yWoY4=", + "bundled": true, "dev": true, "requires": { "string-width": "^2.0.0", @@ -16587,8 +16540,7 @@ }, "cli-table3": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.0.tgz", - "integrity": "sha512-c7YHpUyO1SaKaO7kYtxd5NZ8FjAmSK3LpKkuzdwn+2CwpFxBpdoQLm+OAnnCfoEl7onKhN9PKQi1lsHuAIUqGQ==", + "bundled": true, "dev": true, "requires": { "colors": "^1.1.2", @@ -16598,8 +16550,7 @@ }, "cliui": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "bundled": true, "dev": true, "requires": { "string-width": "^2.1.1", @@ -16609,14 +16560,12 @@ "dependencies": { "ansi-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "bundled": true, "dev": true }, "strip-ansi": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "bundled": true, "dev": true, "requires": { "ansi-regex": "^3.0.0" @@ -16626,14 +16575,12 @@ }, "clone": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "bundled": true, "dev": true }, "cmd-shim": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-2.0.2.tgz", - "integrity": "sha1-b8vamUg6j9FdfTChlspp1oii79s=", + "bundled": true, "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -16642,20 +16589,17 @@ }, "co": { "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "bundled": true, "dev": true }, "code-point-at": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "bundled": true, "dev": true }, "color-convert": { "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", - "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", + "bundled": true, "dev": true, "requires": { "color-name": "^1.1.1" @@ -16663,21 +16607,18 @@ }, "color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "bundled": true, "dev": true }, "colors": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "bundled": true, "dev": true, "optional": true }, "columnify": { "version": "1.5.4", - "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz", - "integrity": "sha1-Rzfd8ce2mop8NAVweC6UfuyOeLs=", + "bundled": true, "dev": true, "requires": { "strip-ansi": "^3.0.0", @@ -16686,8 +16627,7 @@ }, "combined-stream": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", - "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", + "bundled": true, "dev": true, "requires": { "delayed-stream": "~1.0.0" @@ -16695,14 +16635,12 @@ }, "concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "bundled": true, "dev": true }, "concat-stream": { "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "bundled": true, "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -16713,8 +16651,7 @@ }, "config-chain": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.11.tgz", - "integrity": "sha1-q6CXR9++TD5w52am5BWG4YWfxvI=", + "bundled": true, "dev": true, "requires": { "ini": "^1.3.4", @@ -16723,8 +16660,7 @@ }, "configstore": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", - "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", + "bundled": true, "dev": true, "requires": { "dot-prop": "^4.1.0", @@ -16737,14 +16673,12 @@ }, "console-control-strings": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "bundled": true, "dev": true }, "copy-concurrently": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "bundled": true, "dev": true, "requires": { "aproba": "^1.1.1", @@ -16757,22 +16691,19 @@ "dependencies": { "iferr": { "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "bundled": true, "dev": true } } }, "core-util-is": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "bundled": true, "dev": true }, "create-error-class": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", - "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", + "bundled": true, "dev": true, "requires": { "capture-stack-trace": "^1.0.0" @@ -16780,8 +16711,7 @@ }, "cross-spawn": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "bundled": true, "dev": true, "requires": { "lru-cache": "^4.0.1", @@ -16791,20 +16721,17 @@ }, "crypto-random-string": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", - "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", + "bundled": true, "dev": true }, "cyclist": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", - "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", + "bundled": true, "dev": true }, "dashdash": { "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "bundled": true, "dev": true, "requires": { "assert-plus": "^1.0.0" @@ -16812,8 +16739,7 @@ }, "debug": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "bundled": true, "dev": true, "requires": { "ms": "2.0.0" @@ -16821,40 +16747,34 @@ "dependencies": { "ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "bundled": true, "dev": true } } }, "debuglog": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", - "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=", + "bundled": true, "dev": true }, "decamelize": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "bundled": true, "dev": true }, "decode-uri-component": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "bundled": true, "dev": true }, "deep-extend": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz", - "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==", + "bundled": true, "dev": true }, "defaults": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "bundled": true, "dev": true, "requires": { "clone": "^1.0.2" @@ -16862,32 +16782,27 @@ }, "delayed-stream": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "bundled": true, "dev": true }, "delegates": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "bundled": true, "dev": true }, "detect-indent": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", - "integrity": "sha1-OHHMCmoALow+Wzz38zYmRnXwa50=", + "bundled": true, "dev": true }, "detect-newline": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", - "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", + "bundled": true, "dev": true }, "dezalgo": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz", - "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=", + "bundled": true, "dev": true, "requires": { "asap": "^2.0.0", @@ -16896,8 +16811,7 @@ }, "dot-prop": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", - "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", + "bundled": true, "dev": true, "requires": { "is-obj": "^1.0.0" @@ -16905,20 +16819,17 @@ }, "dotenv": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-5.0.1.tgz", - "integrity": "sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow==", + "bundled": true, "dev": true }, "duplexer3": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "bundled": true, "dev": true }, "duplexify": { "version": "3.6.0", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", - "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", + "bundled": true, "dev": true, "requires": { "end-of-stream": "^1.0.0", @@ -16929,8 +16840,7 @@ }, "ecc-jsbn": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -16940,14 +16850,12 @@ }, "editor": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/editor/-/editor-1.0.0.tgz", - "integrity": "sha1-YMf4e9YrzGqJT6jM1q+3gjok90I=", + "bundled": true, "dev": true }, "encoding": { "version": "0.1.12", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "bundled": true, "dev": true, "requires": { "iconv-lite": "~0.4.13" @@ -16955,8 +16863,7 @@ }, "end-of-stream": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "bundled": true, "dev": true, "requires": { "once": "^1.4.0" @@ -16964,14 +16871,12 @@ }, "err-code": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=", + "bundled": true, "dev": true }, "errno": { "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "bundled": true, "dev": true, "requires": { "prr": "~1.0.1" @@ -16979,14 +16884,12 @@ }, "es6-promise": { "version": "4.2.4", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz", - "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==", + "bundled": true, "dev": true }, "es6-promisify": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "bundled": true, "dev": true, "requires": { "es6-promise": "^4.0.3" @@ -16994,14 +16897,12 @@ }, "escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "bundled": true, "dev": true }, "execa": { "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "bundled": true, "dev": true, "requires": { "cross-spawn": "^5.0.1", @@ -17015,44 +16916,37 @@ }, "extend": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "bundled": true, "dev": true }, "extsprintf": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "bundled": true, "dev": true }, "fast-deep-equal": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "bundled": true, "dev": true }, "fast-json-stable-stringify": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "bundled": true, "dev": true }, "figgy-pudding": { "version": "3.4.1", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.4.1.tgz", - "integrity": "sha512-j1SAT641cerGuOvoSBoaE9LbSzh1N/E5ufk9oMpOKuyK8MyW3sGg4rh+4qhLmVTEAzipO5XTHYT4gjb6JYLE8g==", + "bundled": true, "dev": true }, "find-npm-prefix": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/find-npm-prefix/-/find-npm-prefix-1.0.2.tgz", - "integrity": "sha512-KEftzJ+H90x6pcKtdXZEPsQse8/y/UnvzRKrOSQFprnrGaFuJ62fVkP34Iu2IYuMvyauCyoLTNkJZgrrGA2wkA==", + "bundled": true, "dev": true }, "find-up": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "bundled": true, "dev": true, "requires": { "locate-path": "^2.0.0" @@ -17060,8 +16954,7 @@ }, "flush-write-stream": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz", - "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==", + "bundled": true, "dev": true, "requires": { "inherits": "^2.0.1", @@ -17070,14 +16963,12 @@ }, "forever-agent": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "bundled": true, "dev": true }, "form-data": { "version": "2.3.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", - "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "bundled": true, "dev": true, "requires": { "asynckit": "^0.4.0", @@ -17087,8 +16978,7 @@ }, "from2": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "bundled": true, "dev": true, "requires": { "inherits": "^2.0.1", @@ -17097,8 +16987,7 @@ }, "fs-minipass": { "version": "1.2.5", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", - "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", + "bundled": true, "dev": true, "requires": { "minipass": "^2.2.1" @@ -17106,8 +16995,7 @@ }, "fs-vacuum": { "version": "1.2.10", - "resolved": "https://registry.npmjs.org/fs-vacuum/-/fs-vacuum-1.2.10.tgz", - "integrity": "sha1-t2Kb7AekAxolSP35n17PHMizHjY=", + "bundled": true, "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -17117,8 +17005,7 @@ }, "fs-write-stream-atomic": { "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "bundled": true, "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -17129,22 +17016,19 @@ "dependencies": { "iferr": { "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "bundled": true, "dev": true } } }, "fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "bundled": true, "dev": true }, "fstream": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", - "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "bundled": true, "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -17155,8 +17039,7 @@ }, "gauge": { "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "bundled": true, "dev": true, "requires": { "aproba": "^1.0.3", @@ -17171,8 +17054,7 @@ "dependencies": { "string-width": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "bundled": true, "dev": true, "requires": { "code-point-at": "^1.0.0", @@ -17184,14 +17066,12 @@ }, "genfun": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/genfun/-/genfun-4.0.1.tgz", - "integrity": "sha1-7RAEHy5KfxsKOEZtF6XD4n3x38E=", + "bundled": true, "dev": true }, "gentle-fs": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/gentle-fs/-/gentle-fs-2.0.1.tgz", - "integrity": "sha512-cEng5+3fuARewXktTEGbwsktcldA+YsnUEaXZwcK/3pjSE1X9ObnTs+/8rYf8s+RnIcQm2D5x3rwpN7Zom8Bew==", + "bundled": true, "dev": true, "requires": { "aproba": "^1.1.2", @@ -17206,28 +17086,24 @@ "dependencies": { "iferr": { "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "bundled": true, "dev": true } } }, "get-caller-file": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "bundled": true, "dev": true }, "get-stream": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "bundled": true, "dev": true }, "getpass": { "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "bundled": true, "dev": true, "requires": { "assert-plus": "^1.0.0" @@ -17235,8 +17111,7 @@ }, "glob": { "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "bundled": true, "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -17249,8 +17124,7 @@ }, "global-dirs": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", - "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", + "bundled": true, "dev": true, "requires": { "ini": "^1.3.4" @@ -17258,8 +17132,7 @@ }, "got": { "version": "6.7.1", - "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", - "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "bundled": true, "dev": true, "requires": { "create-error-class": "^3.0.0", @@ -17277,20 +17150,17 @@ }, "graceful-fs": { "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "bundled": true, "dev": true }, "har-schema": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "bundled": true, "dev": true }, "har-validator": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz", - "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==", + "bundled": true, "dev": true, "requires": { "ajv": "^5.3.0", @@ -17299,32 +17169,27 @@ }, "has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "bundled": true, "dev": true }, "has-unicode": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "bundled": true, "dev": true }, "hosted-git-info": { "version": "2.7.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", - "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", + "bundled": true, "dev": true }, "http-cache-semantics": { "version": "3.8.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", - "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", + "bundled": true, "dev": true }, "http-proxy-agent": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", - "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", + "bundled": true, "dev": true, "requires": { "agent-base": "4", @@ -17333,8 +17198,7 @@ }, "http-signature": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "bundled": true, "dev": true, "requires": { "assert-plus": "^1.0.0", @@ -17344,8 +17208,7 @@ }, "https-proxy-agent": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz", - "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==", + "bundled": true, "dev": true, "requires": { "agent-base": "^4.1.0", @@ -17354,8 +17217,7 @@ }, "humanize-ms": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", + "bundled": true, "dev": true, "requires": { "ms": "^2.0.0" @@ -17363,8 +17225,7 @@ }, "iconv-lite": { "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "bundled": true, "dev": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" @@ -17372,14 +17233,12 @@ }, "iferr": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-1.0.2.tgz", - "integrity": "sha512-9AfeLfji44r5TKInjhz3W9DyZI1zR1JAf2hVBMGhddAKPqBsupb89jGfbCTHIGZd6fGZl9WlHdn4AObygyMKwg==", + "bundled": true, "dev": true }, "ignore-walk": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", - "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", + "bundled": true, "dev": true, "requires": { "minimatch": "^3.0.4" @@ -17387,20 +17246,17 @@ }, "import-lazy": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "bundled": true, "dev": true }, "imurmurhash": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "bundled": true, "dev": true }, "inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "bundled": true, "dev": true, "requires": { "once": "^1.3.0", @@ -17409,20 +17265,17 @@ }, "inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "bundled": true, "dev": true }, "ini": { "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "bundled": true, "dev": true }, "init-package-json": { "version": "1.10.3", - "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-1.10.3.tgz", - "integrity": "sha512-zKSiXKhQveNteyhcj1CoOP8tqp1QuxPIPBl8Bid99DGLFqA1p87M6lNgfjJHSBoWJJlidGOv5rWjyYKEB3g2Jw==", + "bundled": true, "dev": true, "requires": { "glob": "^7.1.1", @@ -17437,26 +17290,22 @@ }, "invert-kv": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "bundled": true, "dev": true }, "ip": { "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "bundled": true, "dev": true }, "ip-regex": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "bundled": true, "dev": true }, "is-builtin-module": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "bundled": true, "dev": true, "requires": { "builtin-modules": "^1.0.0" @@ -17464,8 +17313,7 @@ }, "is-ci": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.1.0.tgz", - "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", + "bundled": true, "dev": true, "requires": { "ci-info": "^1.0.0" @@ -17473,8 +17321,7 @@ }, "is-cidr": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/is-cidr/-/is-cidr-2.0.6.tgz", - "integrity": "sha512-A578p1dV22TgPXn6NCaDAPj6vJvYsBgAzUrAd28a4oldeXJjWqEUuSZOLIW3im51mazOKsoyVp8NU/OItlWacw==", + "bundled": true, "dev": true, "requires": { "cidr-regex": "^2.0.8" @@ -17482,8 +17329,7 @@ }, "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "bundled": true, "dev": true, "requires": { "number-is-nan": "^1.0.0" @@ -17491,8 +17337,7 @@ }, "is-installed-globally": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", - "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", + "bundled": true, "dev": true, "requires": { "global-dirs": "^0.1.0", @@ -17501,20 +17346,17 @@ }, "is-npm": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", - "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", + "bundled": true, "dev": true }, "is-obj": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "bundled": true, "dev": true }, "is-path-inside": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "bundled": true, "dev": true, "requires": { "path-is-inside": "^1.0.1" @@ -17522,87 +17364,73 @@ }, "is-redirect": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", - "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", + "bundled": true, "dev": true }, "is-retry-allowed": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", - "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", + "bundled": true, "dev": true }, "is-stream": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "bundled": true, "dev": true }, "is-typedarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "bundled": true, "dev": true }, "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "bundled": true, "dev": true }, "isexe": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "bundled": true, "dev": true }, "isstream": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "bundled": true, "dev": true }, "jsbn": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "bundled": true, "dev": true, "optional": true }, "json-parse-better-errors": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "bundled": true, "dev": true }, "json-schema": { "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "bundled": true, "dev": true }, "json-schema-traverse": { "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "bundled": true, "dev": true }, "json-stringify-safe": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "bundled": true, "dev": true }, "jsonparse": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "bundled": true, "dev": true }, "jsprim": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "bundled": true, "dev": true, "requires": { "assert-plus": "1.0.0", @@ -17613,8 +17441,7 @@ }, "latest-version": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", - "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", + "bundled": true, "dev": true, "requires": { "package-json": "^4.0.0" @@ -17622,14 +17449,12 @@ }, "lazy-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lazy-property/-/lazy-property-1.0.0.tgz", - "integrity": "sha1-hN3Es3Bnm6i9TNz6TAa0PVcREUc=", + "bundled": true, "dev": true }, "lcid": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "bundled": true, "dev": true, "requires": { "invert-kv": "^1.0.0" @@ -17637,8 +17462,7 @@ }, "libcipm": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/libcipm/-/libcipm-2.0.2.tgz", - "integrity": "sha512-9uZ6/LAflVEijksTRq/RX0e+pGA4mr8tND9Cmk2JMg7j2fFUBrs8PpFX2DOAJR/XoxPzz+5h8bkWmtIYLunKAg==", + "bundled": true, "dev": true, "requires": { "bin-links": "^1.1.2", @@ -17659,8 +17483,7 @@ }, "libnpmhook": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/libnpmhook/-/libnpmhook-4.0.1.tgz", - "integrity": "sha512-3qqpfqvBD1712WA6iGe0stkG40WwAeoWcujA6BlC0Be1JArQbqwabnEnZ0CRcD05Tf1fPYJYdCbSfcfedEJCOg==", + "bundled": true, "dev": true, "requires": { "figgy-pudding": "^3.1.0", @@ -17669,8 +17492,7 @@ "dependencies": { "npm-registry-fetch": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-3.1.1.tgz", - "integrity": "sha512-xBobENeenvjIG8PgQ1dy77AXTI25IbYhmA3DusMIfw/4EL5BaQ5e1V9trkPrqHvyjR3/T0cnH6o0Wt/IzcI5Ag==", + "bundled": true, "dev": true, "requires": { "bluebird": "^3.5.1", @@ -17684,8 +17506,7 @@ }, "libnpx": { "version": "10.2.0", - "resolved": "https://registry.npmjs.org/libnpx/-/libnpx-10.2.0.tgz", - "integrity": "sha512-X28coei8/XRCt15cYStbLBph+KGhFra4VQhRBPuH/HHMkC5dxM8v24RVgUsvODKCrUZ0eTgiTqJp6zbl0sskQQ==", + "bundled": true, "dev": true, "requires": { "dotenv": "^5.0.1", @@ -17700,8 +17521,7 @@ }, "locate-path": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "bundled": true, "dev": true, "requires": { "p-locate": "^2.0.0", @@ -17710,8 +17530,7 @@ }, "lock-verify": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lock-verify/-/lock-verify-2.0.2.tgz", - "integrity": "sha512-QNVwK0EGZBS4R3YQ7F1Ox8p41Po9VGl2QG/2GsuvTbkJZYSsPeWHKMbbH6iZMCHWSMww5nrJroZYnGzI4cePuw==", + "bundled": true, "dev": true, "requires": { "npm-package-arg": "^5.1.2 || 6", @@ -17720,8 +17539,7 @@ }, "lockfile": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.4.tgz", - "integrity": "sha512-cvbTwETRfsFh4nHsL1eGWapU1XFi5Ot9E85sWAwia7Y7EgB7vfqcZhTKZ+l7hCGxSPoushMv5GKhT5PdLv03WA==", + "bundled": true, "dev": true, "requires": { "signal-exit": "^3.0.2" @@ -17729,14 +17547,12 @@ }, "lodash._baseindexof": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lodash._baseindexof/-/lodash._baseindexof-3.1.0.tgz", - "integrity": "sha1-/lK1OhxnYeQmGNZU5KJXie1hgiw=", + "bundled": true, "dev": true }, "lodash._baseuniq": { "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz", - "integrity": "sha1-DrtE5FaBSveQXGIS+iybLVG4Qeg=", + "bundled": true, "dev": true, "requires": { "lodash._createset": "~4.0.0", @@ -17745,20 +17561,17 @@ }, "lodash._bindcallback": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz", - "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=", + "bundled": true, "dev": true }, "lodash._cacheindexof": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/lodash._cacheindexof/-/lodash._cacheindexof-3.0.2.tgz", - "integrity": "sha1-PcaayCSY0u5ePOVgkbr9Ktx73pI=", + "bundled": true, "dev": true }, "lodash._createcache": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lodash._createcache/-/lodash._createcache-3.1.2.tgz", - "integrity": "sha1-VtagZAF2JeeevKa4AY4XRAvc8JM=", + "bundled": true, "dev": true, "requires": { "lodash._getnative": "^3.0.0" @@ -17766,62 +17579,52 @@ }, "lodash._createset": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/lodash._createset/-/lodash._createset-4.0.3.tgz", - "integrity": "sha1-D0ZZ+7CddRlPqeK4imZE02PJ/iY=", + "bundled": true, "dev": true }, "lodash._getnative": { "version": "3.9.1", - "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", - "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", + "bundled": true, "dev": true }, "lodash._root": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", - "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=", + "bundled": true, "dev": true }, "lodash.clonedeep": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "bundled": true, "dev": true }, "lodash.restparam": { "version": "3.6.1", - "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", - "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", + "bundled": true, "dev": true }, "lodash.union": { "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", - "integrity": "sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=", + "bundled": true, "dev": true }, "lodash.uniq": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "bundled": true, "dev": true }, "lodash.without": { "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.without/-/lodash.without-4.4.0.tgz", - "integrity": "sha1-PNRXSgC2e643OpS3SHcmQFB7eqw=", + "bundled": true, "dev": true }, "lowercase-keys": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "bundled": true, "dev": true }, "lru-cache": { "version": "4.1.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", - "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", + "bundled": true, "dev": true, "requires": { "pseudomap": "^1.0.2", @@ -17830,8 +17633,7 @@ }, "make-dir": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "bundled": true, "dev": true, "requires": { "pify": "^3.0.0" @@ -17839,8 +17641,7 @@ }, "make-fetch-happen": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-4.0.1.tgz", - "integrity": "sha512-7R5ivfy9ilRJ1EMKIOziwrns9fGeAD4bAha8EB7BIiBBLHm2KeTUGCrICFt2rbHfzheTLynv50GnNTK1zDTrcQ==", + "bundled": true, "dev": true, "requires": { "agentkeepalive": "^3.4.1", @@ -17858,14 +17659,12 @@ }, "meant": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/meant/-/meant-1.0.1.tgz", - "integrity": "sha512-UakVLFjKkbbUwNWJ2frVLnnAtbb7D7DsloxRd3s/gDpI8rdv8W5Hp3NaDb+POBI1fQdeussER6NB8vpcRURvlg==", + "bundled": true, "dev": true }, "mem": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "bundled": true, "dev": true, "requires": { "mimic-fn": "^1.0.0" @@ -17873,14 +17672,12 @@ }, "mime-db": { "version": "1.35.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", - "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==", + "bundled": true, "dev": true }, "mime-types": { "version": "2.1.19", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", - "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", + "bundled": true, "dev": true, "requires": { "mime-db": "~1.35.0" @@ -17888,14 +17685,12 @@ }, "mimic-fn": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "bundled": true, "dev": true }, "minimatch": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "bundled": true, "dev": true, "requires": { "brace-expansion": "^1.1.7" @@ -17903,14 +17698,12 @@ }, "minimist": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "bundled": true, "dev": true }, "minipass": { "version": "2.3.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.3.tgz", - "integrity": "sha512-/jAn9/tEX4gnpyRATxgHEOV6xbcyxgT7iUnxo9Y3+OB0zX00TgKIv/2FZCf5brBbICcwbLqVv2ImjvWWrQMSYw==", + "bundled": true, "dev": true, "requires": { "safe-buffer": "^5.1.2", @@ -17919,16 +17712,14 @@ "dependencies": { "yallist": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", - "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=", + "bundled": true, "dev": true } } }, "minizlib": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz", - "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", + "bundled": true, "dev": true, "requires": { "minipass": "^2.2.1" @@ -17936,8 +17727,7 @@ }, "mississippi": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "bundled": true, "dev": true, "requires": { "concat-stream": "^1.5.0", @@ -17954,8 +17744,7 @@ }, "mkdirp": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "bundled": true, "dev": true, "requires": { "minimist": "0.0.8" @@ -17963,8 +17752,7 @@ }, "move-concurrently": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "bundled": true, "dev": true, "requires": { "aproba": "^1.1.1", @@ -17977,20 +17765,17 @@ }, "ms": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "bundled": true, "dev": true }, "mute-stream": { "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "bundled": true, "dev": true }, "node-fetch-npm": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz", - "integrity": "sha512-nJIxm1QmAj4v3nfCvEeCrYSoVwXyxLnaPBK5W1W5DGEJwjlKuC2VEUycGw5oxk+4zZahRrB84PUJJgEmhFTDFw==", + "bundled": true, "dev": true, "requires": { "encoding": "^0.1.11", @@ -18000,8 +17785,7 @@ }, "node-gyp": { "version": "3.8.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", - "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "bundled": true, "dev": true, "requires": { "fstream": "^1.0.0", @@ -18020,8 +17804,7 @@ "dependencies": { "nopt": { "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "bundled": true, "dev": true, "requires": { "abbrev": "1" @@ -18029,14 +17812,12 @@ }, "semver": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "bundled": true, "dev": true }, "tar": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", - "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "bundled": true, "dev": true, "requires": { "block-stream": "*", @@ -18048,8 +17829,7 @@ }, "nopt": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "bundled": true, "dev": true, "requires": { "abbrev": "1", @@ -18058,8 +17838,7 @@ }, "normalize-package-data": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "bundled": true, "dev": true, "requires": { "hosted-git-info": "^2.1.4", @@ -18070,8 +17849,7 @@ }, "npm-audit-report": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/npm-audit-report/-/npm-audit-report-1.3.1.tgz", - "integrity": "sha512-SjTF8ZP4rOu3JiFrTMi4M1CmVo2tni2sP4TzhyCMHwnMGf6XkdGLZKt9cdZ12esKf0mbQqFyU9LtY0SoeahL7g==", + "bundled": true, "dev": true, "requires": { "cli-table3": "^0.5.0", @@ -18080,20 +17858,17 @@ }, "npm-bundled": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.5.tgz", - "integrity": "sha512-m/e6jgWu8/v5niCUKQi9qQl8QdeEduFA96xHDDzFGqly0OOjI7c+60KM/2sppfnUU9JJagf+zs+yGhqSOFj71g==", + "bundled": true, "dev": true }, "npm-cache-filename": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/npm-cache-filename/-/npm-cache-filename-1.0.2.tgz", - "integrity": "sha1-3tMGxbC/yHCp6fr4I7xfKD4FrhE=", + "bundled": true, "dev": true }, "npm-install-checks": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-3.0.0.tgz", - "integrity": "sha1-1K7N/VGlPjcjt7L5Oy7ijjB7wNc=", + "bundled": true, "dev": true, "requires": { "semver": "^2.3.0 || 3.x || 4 || 5" @@ -18101,8 +17876,7 @@ }, "npm-lifecycle": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-2.1.0.tgz", - "integrity": "sha512-QbBfLlGBKsktwBZLj6AviHC6Q9Y3R/AY4a2PYSIRhSKSS0/CxRyD/PfxEX6tPeOCXQgMSNdwGeECacstgptc+g==", + "bundled": true, "dev": true, "requires": { "byline": "^5.0.0", @@ -18117,14 +17891,12 @@ }, "npm-logical-tree": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/npm-logical-tree/-/npm-logical-tree-1.2.1.tgz", - "integrity": "sha512-AJI/qxDB2PWI4LG1CYN579AY1vCiNyWfkiquCsJWqntRu/WwimVrC8yXeILBFHDwxfOejxewlmnvW9XXjMlYIg==", + "bundled": true, "dev": true }, "npm-package-arg": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.0.tgz", - "integrity": "sha512-zYbhP2k9DbJhA0Z3HKUePUgdB1x7MfIfKssC+WLPFMKTBZKpZh5m13PgexJjCq6KW7j17r0jHWcCpxEqnnncSA==", + "bundled": true, "dev": true, "requires": { "hosted-git-info": "^2.6.0", @@ -18135,8 +17907,7 @@ }, "npm-packlist": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.11.tgz", - "integrity": "sha512-CxKlZ24urLkJk+9kCm48RTQ7L4hsmgSVzEk0TLGPzzyuFxD7VNgy5Sl24tOLMzQv773a/NeJ1ce1DKeacqffEA==", + "bundled": true, "dev": true, "requires": { "ignore-walk": "^3.0.1", @@ -18145,8 +17916,7 @@ }, "npm-pick-manifest": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-2.1.0.tgz", - "integrity": "sha512-q9zLP8cTr8xKPmMZN3naxp1k/NxVFsjxN6uWuO1tiw9gxg7wZWQ/b5UTfzD0ANw2q1lQxdLKTeCCksq+bPSgbQ==", + "bundled": true, "dev": true, "requires": { "npm-package-arg": "^6.0.0", @@ -18155,8 +17925,7 @@ }, "npm-profile": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/npm-profile/-/npm-profile-3.0.2.tgz", - "integrity": "sha512-rEJOFR6PbwOvvhGa2YTNOJQKNuc6RovJ6T50xPU7pS9h/zKPNCJ+VHZY2OFXyZvEi+UQYtHRTp8O/YM3tUD20A==", + "bundled": true, "dev": true, "requires": { "aproba": "^1.1.2 || 2", @@ -18165,8 +17934,7 @@ }, "npm-registry-client": { "version": "8.6.0", - "resolved": "https://registry.npmjs.org/npm-registry-client/-/npm-registry-client-8.6.0.tgz", - "integrity": "sha512-Qs6P6nnopig+Y8gbzpeN/dkt+n7IyVd8f45NTMotGk6Qo7GfBmzwYx6jRLoOOgKiMnaQfYxsuyQlD8Mc3guBhg==", + "bundled": true, "dev": true, "requires": { "concat-stream": "^1.5.2", @@ -18185,14 +17953,12 @@ "dependencies": { "retry": { "version": "0.10.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", - "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=", + "bundled": true, "dev": true }, "ssri": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", - "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", + "bundled": true, "dev": true, "requires": { "safe-buffer": "^5.1.1" @@ -18202,8 +17968,7 @@ }, "npm-registry-fetch": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-1.1.0.tgz", - "integrity": "sha512-XJPIBfMtgaooRtZmuA42xCeLf3tkxdIX0xqRsGWwNrcVvJ9UYFccD7Ho7QWCzvkM3i/QrkUC37Hu0a+vDBmt5g==", + "bundled": true, "dev": true, "requires": { "bluebird": "^3.5.1", @@ -18216,8 +17981,7 @@ "dependencies": { "cacache": { "version": "10.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", - "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", + "bundled": true, "dev": true, "requires": { "bluebird": "^3.5.1", @@ -18237,8 +18001,7 @@ "dependencies": { "mississippi": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", - "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", + "bundled": true, "dev": true, "requires": { "concat-stream": "^1.5.0", @@ -18257,14 +18020,12 @@ }, "figgy-pudding": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-2.0.1.tgz", - "integrity": "sha512-yIJPhIBi/oFdU/P+GSXjmk/rmGjuZkm7A5LTXZxNrEprXJXRK012FiI1BR1Pga+0d/d6taWWD+B5d2ozqaxHig==", + "bundled": true, "dev": true }, "make-fetch-happen": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-3.0.0.tgz", - "integrity": "sha512-FmWY7gC0mL6Z4N86vE14+m719JKE4H0A+pyiOH18B025gF/C113pyfb4gHDDYP5cqnRMHOz06JGdmffC/SES+w==", + "bundled": true, "dev": true, "requires": { "agentkeepalive": "^3.4.1", @@ -18282,8 +18043,7 @@ }, "pump": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "bundled": true, "dev": true, "requires": { "end-of-stream": "^1.1.0", @@ -18292,14 +18052,12 @@ }, "smart-buffer": { "version": "1.1.15", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz", - "integrity": "sha1-fxFLW2X6s+KjWqd1uxLw0cZJvxY=", + "bundled": true, "dev": true }, "socks": { "version": "1.1.10", - "resolved": "https://registry.npmjs.org/socks/-/socks-1.1.10.tgz", - "integrity": "sha1-W4t/x8jzQcU+0FbpKbe/Tei6e1o=", + "bundled": true, "dev": true, "requires": { "ip": "^1.1.4", @@ -18308,8 +18066,7 @@ }, "socks-proxy-agent": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-3.0.1.tgz", - "integrity": "sha512-ZwEDymm204mTzvdqyUqOdovVr2YRd2NYskrYrF2LXyZ9qDiMAoFESGK8CRphiO7rtbo2Y757k2Nia3x2hGtalA==", + "bundled": true, "dev": true, "requires": { "agent-base": "^4.1.0", @@ -18318,8 +18075,7 @@ }, "ssri": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", - "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", + "bundled": true, "dev": true, "requires": { "safe-buffer": "^5.1.1" @@ -18329,8 +18085,7 @@ }, "npm-run-path": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "bundled": true, "dev": true, "requires": { "path-key": "^2.0.0" @@ -18338,14 +18093,12 @@ }, "npm-user-validate": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/npm-user-validate/-/npm-user-validate-1.0.0.tgz", - "integrity": "sha1-jOyg9c6gTU6TUZ73LQVXp1Ei6VE=", + "bundled": true, "dev": true }, "npmlog": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "bundled": true, "dev": true, "requires": { "are-we-there-yet": "~1.1.2", @@ -18356,26 +18109,22 @@ }, "number-is-nan": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "bundled": true, "dev": true }, "oauth-sign": { "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "bundled": true, "dev": true }, "object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "bundled": true, "dev": true }, "once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "bundled": true, "dev": true, "requires": { "wrappy": "1" @@ -18383,20 +18132,17 @@ }, "opener": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.0.tgz", - "integrity": "sha512-MD4s/o61y2slS27zm2s4229V2gAUHX0/e3/XOmY/jsXwhysjjCIHN8lx7gqZCrZk19ym+HjCUWHeMKD7YJtKCQ==", + "bundled": true, "dev": true }, "os-homedir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "bundled": true, "dev": true }, "os-locale": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "bundled": true, "dev": true, "requires": { "execa": "^0.7.0", @@ -18406,14 +18152,12 @@ }, "os-tmpdir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "bundled": true, "dev": true }, "osenv": { "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "bundled": true, "dev": true, "requires": { "os-homedir": "^1.0.0", @@ -18422,14 +18166,12 @@ }, "p-finally": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "bundled": true, "dev": true }, "p-limit": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", - "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", + "bundled": true, "dev": true, "requires": { "p-try": "^1.0.0" @@ -18437,8 +18179,7 @@ }, "p-locate": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "bundled": true, "dev": true, "requires": { "p-limit": "^1.1.0" @@ -18446,14 +18187,12 @@ }, "p-try": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "bundled": true, "dev": true }, "package-json": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", - "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", + "bundled": true, "dev": true, "requires": { "got": "^6.7.1", @@ -18464,8 +18203,7 @@ }, "pacote": { "version": "8.1.6", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-8.1.6.tgz", - "integrity": "sha512-wTOOfpaAQNEQNtPEx92x9Y9kRWVu45v583XT8x2oEV2xRB74+xdqMZIeGW4uFvAyZdmSBtye+wKdyyLaT8pcmw==", + "bundled": true, "dev": true, "requires": { "bluebird": "^3.5.1", @@ -18497,8 +18235,7 @@ }, "parallel-transform": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", - "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", + "bundled": true, "dev": true, "requires": { "cyclist": "~0.2.2", @@ -18508,62 +18245,52 @@ }, "path-exists": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "bundled": true, "dev": true }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "bundled": true, "dev": true }, "path-is-inside": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "bundled": true, "dev": true }, "path-key": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "bundled": true, "dev": true }, "performance-now": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "bundled": true, "dev": true }, "pify": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "bundled": true, "dev": true }, "prepend-http": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "bundled": true, "dev": true }, "process-nextick-args": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "bundled": true, "dev": true }, "promise-inflight": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "bundled": true, "dev": true }, "promise-retry": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz", - "integrity": "sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0=", + "bundled": true, "dev": true, "requires": { "err-code": "^1.0.0", @@ -18572,16 +18299,14 @@ "dependencies": { "retry": { "version": "0.10.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", - "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=", + "bundled": true, "dev": true } } }, "promzard": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz", - "integrity": "sha1-JqXW7ox97kyxIggwWs+5O6OCqe4=", + "bundled": true, "dev": true, "requires": { "read": "1" @@ -18589,14 +18314,12 @@ }, "proto-list": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", + "bundled": true, "dev": true }, "protoduck": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/protoduck/-/protoduck-5.0.0.tgz", - "integrity": "sha512-agsGWD8/RZrS4ga6v82Fxb0RHIS2RZnbsSue6A9/MBRhB/jcqOANAMNrqM9900b8duj+Gx+T/JMy5IowDoO/hQ==", + "bundled": true, "dev": true, "requires": { "genfun": "^4.0.1" @@ -18604,26 +18327,22 @@ }, "prr": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "bundled": true, "dev": true }, "pseudomap": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "bundled": true, "dev": true }, "psl": { "version": "1.1.29", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", - "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==", + "bundled": true, "dev": true }, "pump": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "bundled": true, "dev": true, "requires": { "end-of-stream": "^1.1.0", @@ -18632,8 +18351,7 @@ }, "pumpify": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "bundled": true, "dev": true, "requires": { "duplexify": "^3.6.0", @@ -18643,8 +18361,7 @@ "dependencies": { "pump": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "bundled": true, "dev": true, "requires": { "end-of-stream": "^1.1.0", @@ -18655,26 +18372,22 @@ }, "punycode": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "bundled": true, "dev": true }, "qrcode-terminal": { "version": "0.12.0", - "resolved": "https://registry.npmjs.org/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz", - "integrity": "sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ==", + "bundled": true, "dev": true }, "qs": { "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "bundled": true, "dev": true }, "query-string": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.1.0.tgz", - "integrity": "sha512-pNB/Gr8SA8ff8KpUFM36o/WFAlthgaThka5bV19AD9PNTH20Pwq5Zxodif2YyHwrctp6SkL4GqlOot0qR/wGaw==", + "bundled": true, "dev": true, "requires": { "decode-uri-component": "^0.2.0", @@ -18683,14 +18396,12 @@ }, "qw": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/qw/-/qw-1.0.1.tgz", - "integrity": "sha1-77/cdA+a0FQwRCassYNBLMi5ltQ=", + "bundled": true, "dev": true }, "rc": { "version": "1.2.7", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.7.tgz", - "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", + "bundled": true, "dev": true, "requires": { "deep-extend": "^0.5.1", @@ -18701,16 +18412,14 @@ "dependencies": { "minimist": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "bundled": true, "dev": true } } }, "read": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", - "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", + "bundled": true, "dev": true, "requires": { "mute-stream": "~0.0.4" @@ -18718,8 +18427,7 @@ }, "read-cmd-shim": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-1.0.1.tgz", - "integrity": "sha1-LV0Vd4ajfAVdIgd8MsU/gynpHHs=", + "bundled": true, "dev": true, "requires": { "graceful-fs": "^4.1.2" @@ -18727,8 +18435,7 @@ }, "read-installed": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/read-installed/-/read-installed-4.0.3.tgz", - "integrity": "sha1-/5uLZ/GH0eTCm5/rMfayI6zRkGc=", + "bundled": true, "dev": true, "requires": { "debuglog": "^1.0.1", @@ -18742,8 +18449,7 @@ }, "read-package-json": { "version": "2.0.13", - "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.0.13.tgz", - "integrity": "sha512-/1dZ7TRZvGrYqE0UAfN6qQb5GYBsNcqS1C0tNK601CFOJmtHI7NIGXwetEPU/OtoFHZL3hDxm4rolFFVE9Bnmg==", + "bundled": true, "dev": true, "requires": { "glob": "^7.1.1", @@ -18755,8 +18461,7 @@ }, "read-package-tree": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.2.1.tgz", - "integrity": "sha512-2CNoRoh95LxY47LvqrehIAfUVda2JbuFE/HaGYs42bNrGG+ojbw1h3zOcPcQ+1GQ3+rkzNndZn85u1XyZ3UsIA==", + "bundled": true, "dev": true, "requires": { "debuglog": "^1.0.1", @@ -18768,8 +18473,7 @@ }, "readable-stream": { "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "bundled": true, "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -18783,8 +18487,7 @@ }, "readdir-scoped-modules": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz", - "integrity": "sha1-n6+jfShr5dksuuve4DDcm19AZ0c=", + "bundled": true, "dev": true, "requires": { "debuglog": "^1.0.1", @@ -18795,8 +18498,7 @@ }, "registry-auth-token": { "version": "3.3.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", - "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", + "bundled": true, "dev": true, "requires": { "rc": "^1.1.6", @@ -18805,8 +18507,7 @@ }, "registry-url": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", - "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", + "bundled": true, "dev": true, "requires": { "rc": "^1.0.1" @@ -18814,8 +18515,7 @@ }, "request": { "version": "2.88.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", - "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "bundled": true, "dev": true, "requires": { "aws-sign2": "~0.7.0", @@ -18842,32 +18542,27 @@ }, "require-directory": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "bundled": true, "dev": true }, "require-main-filename": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "bundled": true, "dev": true }, "resolve-from": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "bundled": true, "dev": true }, "retry": { "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "bundled": true, "dev": true }, "rimraf": { "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "bundled": true, "dev": true, "requires": { "glob": "^7.0.5" @@ -18875,8 +18570,7 @@ }, "run-queue": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "bundled": true, "dev": true, "requires": { "aproba": "^1.1.1" @@ -18884,26 +18578,22 @@ }, "safe-buffer": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "bundled": true, "dev": true }, "safer-buffer": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "bundled": true, "dev": true }, "semver": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "bundled": true, "dev": true }, "semver-diff": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", - "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", + "bundled": true, "dev": true, "requires": { "semver": "^5.0.3" @@ -18911,14 +18601,12 @@ }, "set-blocking": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "bundled": true, "dev": true }, "sha": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/sha/-/sha-2.0.1.tgz", - "integrity": "sha1-YDCCL70smCOUn49y7WQR7lzyWq4=", + "bundled": true, "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -18927,8 +18615,7 @@ }, "shebang-command": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "bundled": true, "dev": true, "requires": { "shebang-regex": "^1.0.0" @@ -18936,38 +18623,32 @@ }, "shebang-regex": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "bundled": true, "dev": true }, "signal-exit": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "bundled": true, "dev": true }, "slash": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "bundled": true, "dev": true }, "slide": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", - "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", + "bundled": true, "dev": true }, "smart-buffer": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.0.1.tgz", - "integrity": "sha512-RFqinRVJVcCAL9Uh1oVqE6FZkqsyLiVOYEZ20TqIOjuX7iFVJ+zsbs4RIghnw/pTs7mZvt8ZHhvm1ZUrR4fykg==", + "bundled": true, "dev": true }, "socks": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.2.0.tgz", - "integrity": "sha512-uRKV9uXQ9ytMbGm2+DilS1jB7N3AC0mmusmW5TVWjNuBZjxS8+lX38fasKVY9I4opv/bY/iqTbcpFFaTwpfwRg==", + "bundled": true, "dev": true, "requires": { "ip": "^1.1.5", @@ -18976,8 +18657,7 @@ }, "socks-proxy-agent": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.1.tgz", - "integrity": "sha512-Kezx6/VBguXOsEe5oU3lXYyKMi4+gva72TwJ7pQY5JfqUx2nMk7NXA6z/mpNqIlfQjWYVfeuNvQjexiTaTn6Nw==", + "bundled": true, "dev": true, "requires": { "agent-base": "~4.2.0", @@ -18986,14 +18666,12 @@ }, "sorted-object": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/sorted-object/-/sorted-object-2.0.1.tgz", - "integrity": "sha1-fWMfS9OnmKJK8d/8+/6DM3pd9fw=", + "bundled": true, "dev": true }, "sorted-union-stream": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/sorted-union-stream/-/sorted-union-stream-2.1.3.tgz", - "integrity": "sha1-x3lMfgd4gAUv9xqNSi27Sppjisc=", + "bundled": true, "dev": true, "requires": { "from2": "^1.3.0", @@ -19002,8 +18680,7 @@ "dependencies": { "from2": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-1.3.0.tgz", - "integrity": "sha1-iEE7qqX5pZfP3pIh2GmGzTwGHf0=", + "bundled": true, "dev": true, "requires": { "inherits": "~2.0.1", @@ -19012,14 +18689,12 @@ }, "isarray": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "bundled": true, "dev": true }, "readable-stream": { "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "bundled": true, "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -19030,16 +18705,14 @@ }, "string_decoder": { "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "bundled": true, "dev": true } } }, "spdx-correct": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", - "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", + "bundled": true, "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", @@ -19048,14 +18721,12 @@ }, "spdx-exceptions": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", - "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", + "bundled": true, "dev": true }, "spdx-expression-parse": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "bundled": true, "dev": true, "requires": { "spdx-exceptions": "^2.1.0", @@ -19064,14 +18735,12 @@ }, "spdx-license-ids": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", - "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", + "bundled": true, "dev": true }, "sshpk": { "version": "1.14.2", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", - "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", + "bundled": true, "dev": true, "requires": { "asn1": "~0.2.3", @@ -19087,14 +18756,12 @@ }, "ssri": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.0.tgz", - "integrity": "sha512-zYOGfVHPhxyzwi8MdtdNyxv3IynWCIM4jYReR48lqu0VngxgH1c+C6CmipRdJ55eVByTJV/gboFEEI7TEQI8DA==", + "bundled": true, "dev": true }, "stream-each": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.2.tgz", - "integrity": "sha512-mc1dbFhGBxvTM3bIWmAAINbqiuAk9TATcfIQC8P+/+HJefgaiTlMn2dHvkX8qlI12KeYKSQ1Ua9RrIqrn1VPoA==", + "bundled": true, "dev": true, "requires": { "end-of-stream": "^1.1.0", @@ -19103,8 +18770,7 @@ }, "stream-iterate": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/stream-iterate/-/stream-iterate-1.2.0.tgz", - "integrity": "sha1-K9fHcpbBcCpGSIuK1B95hl7s1OE=", + "bundled": true, "dev": true, "requires": { "readable-stream": "^2.1.5", @@ -19113,20 +18779,17 @@ }, "stream-shift": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", - "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "bundled": true, "dev": true }, "strict-uri-encode": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", - "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=", + "bundled": true, "dev": true }, "string-width": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "bundled": true, "dev": true, "requires": { "is-fullwidth-code-point": "^2.0.0", @@ -19135,20 +18798,17 @@ "dependencies": { "ansi-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "bundled": true, "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "bundled": true, "dev": true }, "strip-ansi": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "bundled": true, "dev": true, "requires": { "ansi-regex": "^3.0.0" @@ -19158,8 +18818,7 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "bundled": true, "dev": true, "requires": { "safe-buffer": "~5.1.0" @@ -19167,14 +18826,12 @@ }, "stringify-package": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stringify-package/-/stringify-package-1.0.0.tgz", - "integrity": "sha512-JIQqiWmLiEozOC0b0BtxZ/AOUtdUZHCBPgqIZ2kSJJqGwgb9neo44XdTHUC4HZSGqi03hOeB7W/E8rAlKnGe9g==", + "bundled": true, "dev": true }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "bundled": true, "dev": true, "requires": { "ansi-regex": "^2.0.0" @@ -19182,20 +18839,17 @@ }, "strip-eof": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "bundled": true, "dev": true }, "strip-json-comments": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "bundled": true, "dev": true }, "supports-color": { "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "bundled": true, "dev": true, "requires": { "has-flag": "^3.0.0" @@ -19203,8 +18857,7 @@ }, "tar": { "version": "4.4.6", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.6.tgz", - "integrity": "sha512-tMkTnh9EdzxyfW+6GK6fCahagXsnYk6kE6S9Gr9pjVdys769+laCTbodXDhPAjzVtEBazRgP0gYqOjnk9dQzLg==", + "bundled": true, "dev": true, "requires": { "chownr": "^1.0.1", @@ -19218,16 +18871,14 @@ "dependencies": { "yallist": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", - "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=", + "bundled": true, "dev": true } } }, "term-size": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", - "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "bundled": true, "dev": true, "requires": { "execa": "^0.7.0" @@ -19235,20 +18886,17 @@ }, "text-table": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "bundled": true, "dev": true }, "through": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "bundled": true, "dev": true }, "through2": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", - "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "bundled": true, "dev": true, "requires": { "readable-stream": "^2.1.5", @@ -19257,20 +18905,17 @@ }, "timed-out": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", + "bundled": true, "dev": true }, "tiny-relative-date": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/tiny-relative-date/-/tiny-relative-date-1.3.0.tgz", - "integrity": "sha512-MOQHpzllWxDCHHaDno30hhLfbouoYlOI8YlMNtvKe1zXbjEVhbcEovQxvZrPvtiYW630GQDoMMarCnjfyfHA+A==", + "bundled": true, "dev": true }, "tough-cookie": { "version": "2.4.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", - "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "bundled": true, "dev": true, "requires": { "psl": "^1.1.24", @@ -19279,8 +18924,7 @@ }, "tunnel-agent": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "bundled": true, "dev": true, "requires": { "safe-buffer": "^5.0.1" @@ -19288,33 +18932,28 @@ }, "tweetnacl": { "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "bundled": true, "dev": true, "optional": true }, "typedarray": { "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "bundled": true, "dev": true }, "uid-number": { "version": "0.0.6", - "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", - "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=", + "bundled": true, "dev": true }, "umask": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/umask/-/umask-1.1.0.tgz", - "integrity": "sha1-8pzr8B31F5ErtY/5xOUP3o4zMg0=", + "bundled": true, "dev": true }, "unique-filename": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz", - "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", + "bundled": true, "dev": true, "requires": { "unique-slug": "^2.0.0" @@ -19322,8 +18961,7 @@ }, "unique-slug": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz", - "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", + "bundled": true, "dev": true, "requires": { "imurmurhash": "^0.1.4" @@ -19331,8 +18969,7 @@ }, "unique-string": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", - "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "bundled": true, "dev": true, "requires": { "crypto-random-string": "^1.0.0" @@ -19340,20 +18977,17 @@ }, "unpipe": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "bundled": true, "dev": true }, "unzip-response": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", - "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", + "bundled": true, "dev": true }, "update-notifier": { "version": "2.5.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", - "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", + "bundled": true, "dev": true, "requires": { "boxen": "^1.2.1", @@ -19370,8 +19004,7 @@ }, "url-parse-lax": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "bundled": true, "dev": true, "requires": { "prepend-http": "^1.0.1" @@ -19379,26 +19012,22 @@ }, "util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "bundled": true, "dev": true }, "util-extend": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/util-extend/-/util-extend-1.0.3.tgz", - "integrity": "sha1-p8IW0mdUUWljeztu3GypEZ4v+T8=", + "bundled": true, "dev": true }, "uuid": { "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "bundled": true, "dev": true }, "validate-npm-package-license": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "bundled": true, "dev": true, "requires": { "spdx-correct": "^3.0.0", @@ -19407,8 +19036,7 @@ }, "validate-npm-package-name": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", - "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", + "bundled": true, "dev": true, "requires": { "builtins": "^1.0.3" @@ -19416,8 +19044,7 @@ }, "verror": { "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "bundled": true, "dev": true, "requires": { "assert-plus": "^1.0.0", @@ -19427,8 +19054,7 @@ }, "wcwidth": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "bundled": true, "dev": true, "requires": { "defaults": "^1.0.3" @@ -19436,8 +19062,7 @@ }, "which": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "bundled": true, "dev": true, "requires": { "isexe": "^2.0.0" @@ -19445,14 +19070,12 @@ }, "which-module": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "bundled": true, "dev": true }, "wide-align": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", - "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", + "bundled": true, "dev": true, "requires": { "string-width": "^1.0.2" @@ -19460,8 +19083,7 @@ "dependencies": { "string-width": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "bundled": true, "dev": true, "requires": { "code-point-at": "^1.0.0", @@ -19473,8 +19095,7 @@ }, "widest-line": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.0.tgz", - "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", + "bundled": true, "dev": true, "requires": { "string-width": "^2.1.1" @@ -19482,8 +19103,7 @@ }, "worker-farm": { "version": "1.6.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", - "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", + "bundled": true, "dev": true, "requires": { "errno": "~0.1.7" @@ -19491,8 +19111,7 @@ }, "wrap-ansi": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "bundled": true, "dev": true, "requires": { "string-width": "^1.0.1", @@ -19501,8 +19120,7 @@ "dependencies": { "string-width": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "bundled": true, "dev": true, "requires": { "code-point-at": "^1.0.0", @@ -19514,14 +19132,12 @@ }, "wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "bundled": true, "dev": true }, "write-file-atomic": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", - "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", + "bundled": true, "dev": true, "requires": { "graceful-fs": "^4.1.11", @@ -19531,32 +19147,27 @@ }, "xdg-basedir": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", - "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", + "bundled": true, "dev": true }, "xtend": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "bundled": true, "dev": true }, "y18n": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "bundled": true, "dev": true }, "yallist": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "bundled": true, "dev": true }, "yargs": { "version": "11.0.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz", - "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", + "bundled": true, "dev": true, "requires": { "cliui": "^4.0.0", @@ -19575,16 +19186,14 @@ "dependencies": { "y18n": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "bundled": true, "dev": true } } }, "yargs-parser": { "version": "9.0.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", - "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "bundled": true, "dev": true, "requires": { "camelcase": "^4.1.0" @@ -19902,9 +19511,9 @@ "dev": true }, "openid-client": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-2.4.3.tgz", - "integrity": "sha512-oXaGUbmrnc4SQ7PXycD0Ni8PV5e/IN8/bmq417lzRB7Enf6hjwq+Z06HgA2iPGrel/4H2IUf3de8naxN0dNMYQ==", + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-2.4.4.tgz", + "integrity": "sha512-jyiIXip2ONPC0sSJkLrP7fPh+al1IAUTGNGzhB4bWWZaxAdcTzRXKHSx4RUMe6W9DTHX9MMbqv22lNi+qnWuuQ==", "dev": true, "requires": { "base64url": "^3.0.0", @@ -19913,8 +19522,7 @@ "lru-cache": "^4.1.3", "node-jose": "^1.0.0", "oidc-token-hash": "^3.0.1", - "p-any": "^1.1.0", - "uuid": "^3.3.2" + "p-any": "^1.1.0" }, "dependencies": { "got": { @@ -20289,14 +19897,65 @@ "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", "dev": true }, + "parse-path": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-3.0.4.tgz", + "integrity": "sha512-wP70vtwv2DyrM2YoA7ZHVv4zIXa4P7dGgHlj+VwyXNDduLLVJ7NMY1zsFxjUUJ3DAwJLupGb1H5gMDDiNlJaxw==", + "dev": true, + "requires": { + "is-ssh": "^1.3.0", + "protocols": "^1.4.0" + } + }, "parse-url": { - "version": "1.3.11", - "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-1.3.11.tgz", - "integrity": "sha1-V8FUKKuKiSsfQ4aWRccR0OFEtVQ=", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-3.0.2.tgz", + "integrity": "sha1-YCeHpwY6eV1yuGcxl1BecvYGEL4=", "dev": true, "requires": { "is-ssh": "^1.3.0", + "normalize-url": "^1.9.1", + "parse-path": "^3.0.1", "protocols": "^1.4.0" + }, + "dependencies": { + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "dev": true, + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true, + "requires": { + "is-plain-obj": "^1.0.0" + } + } } }, "parse5": { @@ -20719,10 +20378,48 @@ "schema-utils": "^0.4.0" } }, + "postcss-url": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/postcss-url/-/postcss-url-8.0.0.tgz", + "integrity": "sha512-E2cbOQ5aii2zNHh8F6fk1cxls7QVFZjLPSrqvmiza8OuXLzIpErij8BDS5Y3STPfJgpIMNCPEr8JlKQWEoozUw==", + "dev": true, + "requires": { + "mime": "^2.3.1", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.0", + "postcss": "^7.0.2", + "xxhashjs": "^0.2.1" + }, + "dependencies": { + "mime": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", + "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", + "dev": true + }, + "postcss": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.5.tgz", + "integrity": "sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.5.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, "postcss-value-parser": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", - "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true }, "postgres-array": { @@ -21758,6 +21455,15 @@ "rollup-pluginutils": "^2.3.3" } }, + "rollup-plugin-json": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-json/-/rollup-plugin-json-3.1.0.tgz", + "integrity": "sha512-BlYk5VspvGpjz7lAwArVzBXR60JK+4EKtPkCHouAWg39obk9S61hZYJDBfMK+oitPdoe11i69TlxKlMQNFC/Uw==", + "dev": true, + "requires": { + "rollup-pluginutils": "^2.3.1" + } + }, "rollup-plugin-node-resolve": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.4.0.tgz", @@ -22216,16 +21922,16 @@ } }, "semantic-release": { - "version": "15.9.17", - "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-15.9.17.tgz", - "integrity": "sha512-Z+LAJBuPD2pcPpRdF0zC9bwHeZkNUqgENEkWzuFdcpocA0FmFZVLMPcdZGR1+jVOjD1yiLli3MMCFYrpegIxTg==", + "version": "15.10.5", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-15.10.5.tgz", + "integrity": "sha512-VrAiPxUc1DhqD7iDeIF2qRwZVC33MRHVFC/duiZuO0nDOQ4225pyx4O17o8VYWjMRyH7wFppJgdYD98u5IznRg==", "dev": true, "requires": { - "@semantic-release/commit-analyzer": "^6.0.0", + "@semantic-release/commit-analyzer": "^6.1.0", "@semantic-release/error": "^2.2.0", - "@semantic-release/github": "^5.0.0", - "@semantic-release/npm": "^5.0.1", - "@semantic-release/release-notes-generator": "^7.0.0", + "@semantic-release/github": "^5.1.0", + "@semantic-release/npm": "^5.0.5", + "@semantic-release/release-notes-generator": "^7.1.0", "aggregate-error": "^1.0.0", "cosmiconfig": "^5.0.1", "debug": "^4.0.0", @@ -22298,9 +22004,9 @@ } }, "debug": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.0.1.tgz", - "integrity": "sha512-K23FHJ/Mt404FSlp6gSZCevIbTMLX0j3fmHhUEhQ3Wq0FMODW3+cUSoLdy1Gx4polAf4t/lphhmHH35BB8cLYw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz", + "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==", "dev": true, "requires": { "ms": "^2.1.1" @@ -22507,12 +22213,6 @@ "read-pkg": "^3.0.0" } }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", @@ -23748,9 +23448,9 @@ } }, "terser": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.10.0.tgz", - "integrity": "sha512-hNh2WR3YxtKoY7BNSb3+CJ9Xv9bbUuOU9uriIf2F1tiAYNA4rNy2wWuSDV8iKcag27q65KPJ/sPpMWEh6qttgw==", + "version": "3.10.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-3.10.2.tgz", + "integrity": "sha512-+QrFoqBImmsQGB4c/HvaqgZynmbNvNBwoBxuu7fYXtq5EEtlLUzph+WimDj+xMkuqawXPMl2lgCIz81CdXvt+w==", "dev": true, "requires": { "commander": "~2.17.1", @@ -24631,9 +24331,9 @@ } }, "thunky": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.2.tgz", - "integrity": "sha1-qGLgGOP7HqLsP85dVWBc9X8kc3E=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.3.tgz", + "integrity": "sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow==", "dev": true }, "time-limit-promise": { @@ -24900,9 +24600,9 @@ } }, "ts-loader": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-5.2.1.tgz", - "integrity": "sha512-KC0cOvsFVyxBlg5h9jvaMlIL2tNsyQLvT2/OvIlO0AMUBJ4iXTtOfaDEqvmqv2lM/icekQfDsP2PsYBCDHpuOQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-5.2.2.tgz", + "integrity": "sha512-vM/TrEKXBqRYq5yLatsXyKFnYSpv53klmGtrILGlNqcMsxPVi8+e4yr1Agbu9oMZepx/4szDVn5QpFo83IQdQg==", "dev": true, "requires": { "chalk": "^2.3.0", @@ -25031,9 +24731,9 @@ } }, "tsickle": { - "version": "0.33.0", - "resolved": "https://registry.npmjs.org/tsickle/-/tsickle-0.33.0.tgz", - "integrity": "sha512-ww4jhOaKhHHjZzs+dm381hffl1GOHhfA3LgbSoHMogWKm5mazpglVhMl1zJrSzOdhYHlZvrT7hRWCbGptzIpSA==", + "version": "0.33.1", + "resolved": "https://registry.npmjs.org/tsickle/-/tsickle-0.33.1.tgz", + "integrity": "sha512-SpW2G3PvDGs4a5sMXPlWnCWHWRviWjSlI3U0734e3fU3U39VAE0NPr8M3W1cuL/OU/YXheYipGeEwtIJ5k0NHQ==", "dev": true, "requires": { "minimist": "^1.2.0", @@ -25177,9 +24877,9 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, "typeorm": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/typeorm/-/typeorm-0.2.7.tgz", - "integrity": "sha512-D7JxOBSqBiLAPu/M/4v15J++3klAWcv5WvYgrfl0iaaGObZJ/8UXm3oTpOtQUHfwJO9Cja8JMiwT9G7dyvwrxg==", + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/typeorm/-/typeorm-0.2.8.tgz", + "integrity": "sha512-MvMwi3Qd1nTBMZsohOy9Pb7eHFXY+YRtPdG90ayfPeC7z2DJXE0gOF8zAKUlxLy1+Dyyq/tOQS+LY/4/6yI/3A==", "requires": { "app-root-path": "^2.0.1", "buffer": "^5.1.0", @@ -25217,9 +24917,9 @@ } }, "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "requires": { "ms": "^2.1.1" } @@ -25976,9 +25676,9 @@ } }, "webpack-bundle-analyzer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.0.2.tgz", - "integrity": "sha512-cZG4wSQtKrSpk5RJ33dxiaAyo8bP0V+JvycAyIDFEiDIhw4LHhhVKhn40YT1w6TR9E4scHA00LnIoBtTA13Mow==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.0.3.tgz", + "integrity": "sha512-naLWiRfmtH4UJgtUktRTLw6FdoZJ2RvCR9ePbwM9aRMsS/KjFerkPZG9epEvXRAw5d5oPdrs9+3p+afNjxW8Xw==", "dev": true, "requires": { "acorn": "^5.7.3", @@ -26002,9 +25702,9 @@ "dev": true }, "ws": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.0.0.tgz", - "integrity": "sha512-c2UlYcAZp1VS8AORtpq6y4RJIkJ9dQz18W32SpR/qXGfLDZ2jU4y4wKvvZwqbi7U6gxFQTeE+urMbXU/tsDy4w==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.0.tgz", + "integrity": "sha512-H3dGVdGvW2H8bnYpIDc3u3LH8Wue3Qh+Zto6aXXFzvESkTVT6rAfKR6tR/+coaUvxs8yHtmNV0uioBF62ZGSTg==", "dev": true, "requires": { "async-limiter": "~1.0.0" @@ -26829,11 +26529,6 @@ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" }, - "xmlhttprequest": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", - "integrity": "sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw=" - }, "xmlhttprequest-ssl": { "version": "1.5.5", "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", diff --git a/package.json b/package.json index 568f2ef39..355d3b560 100644 --- a/package.json +++ b/package.json @@ -110,35 +110,35 @@ }, "private": true, "dependencies": { - "@angular/animations": "^7.0.0-rc.1", - "@angular/cdk": "^7.0.0-rc.1", - "@angular/cdk-experimental": "^7.0.0-rc.1", - "@angular/common": "^7.0.0-rc.1", - "@angular/compiler": "^7.0.0-rc.1", - "@angular/core": "^7.0.0-rc.1", + "@angular/animations": "^7.0.0", + "@angular/cdk": "^7.0.1", + "@angular/cdk-experimental": "^7.0.1", + "@angular/common": "^7.0.0", + "@angular/compiler": "^7.0.0", + "@angular/core": "^7.0.0", "@angular/flex-layout": "^7.0.0-beta.19", - "@angular/forms": "^7.0.0-rc.1", - "@angular/material": "^7.0.0-rc.1", - "@angular/material-moment-adapter": "^7.0.0-rc.1", - "@angular/platform-browser": "^7.0.0-rc.1", - "@angular/platform-browser-dynamic": "^7.0.0-rc.1", - "@angular/pwa": "0.9.0-rc.2", - "@angular/router": "^7.0.0-rc.1", - "@angular/service-worker": "^7.0.0-rc.1", - "@fortawesome/angular-fontawesome": "^0.2.1", + "@angular/forms": "^7.0.0", + "@angular/material": "^7.0.1", + "@angular/material-moment-adapter": "^7.0.1", + "@angular/platform-browser": "^7.0.0", + "@angular/platform-browser-dynamic": "^7.0.0", + "@angular/pwa": "0.10.2", + "@angular/router": "^7.0.0", + "@angular/service-worker": "^7.0.0", + "@fortawesome/angular-fontawesome": "^0.3.0", "@fortawesome/fontawesome-svg-core": "^1.2.6", "@fortawesome/free-brands-svg-icons": "^5.4.1", "@fortawesome/free-solid-svg-icons": "^5.4.1", - "@nestjs/common": "^5.3.11", - "@nestjs/core": "^5.3.11", + "@nestjs/common": "^5.4.0", + "@nestjs/core": "^5.4.0", "@nestjs/elasticsearch": "^0.1.2", - "@nestjs/microservices": "^5.3.11", + "@nestjs/microservices": "^5.4.0", "@nestjs/passport": "^5.1.0", "@nestjs/swagger": "^2.5.1", "@nestjs/typeorm": "^5.2.2", - "@nestjs/websockets": "^5.3.11", - "@ngx-formly/core": "^5.0.0-beta.11", - "@ngx-formly/material": "^5.0.0-beta.11", + "@nestjs/websockets": "^5.4.0", + "@ngx-formly/core": "^5.0.0-beta.12", + "@ngx-formly/material": "^5.0.0-beta.12", "@ngxs/devtools-plugin": "^3.2.0", "@ngxs/form-plugin": "^3.2.0", "@ngxs/router-plugin": "^3.2.0", @@ -149,21 +149,21 @@ "@xmlking/jwks-rsa": "^1.4.3", "@xmlking/ngx-knob": "0.0.6", "angular-in-memory-web-api": "^0.6.1", - "angular-oauth2-oidc": "^4.0.3", - "chart.js": "^2.7.2", + "angular-oauth2-oidc": "^5.0.2", + "chart.js": "^2.7.3", "chart.piecelabel.js": "^0.15.0", - "class-transformer": "^0.1.9", + "class-transformer": "^0.1.10", "class-validator": "^0.9.1", "cls-hooked": "^4.2.2", "core-js": "^2.5.7", - "d3": "^4.13.0", + "d3": "^5.7.0", "d3-selection-multi": "^1.0.1", "dotenv": "^6.1.0", "filepond-plugin-file-encode": "^2.0.0", - "filepond-plugin-file-validate-size": "^1.0.4", + "filepond-plugin-file-validate-size": "^2.0.0", "filepond-plugin-file-validate-type": "^1.2.0", "filepond-plugin-image-crop": "^2.0.0", - "filepond-plugin-image-preview": "^3.0.0", + "filepond-plugin-image-preview": "^3.1.1", "formidable": "^1.2.1", "hammerjs": "^2.0.8", "helmet": "^3.14.0", @@ -181,34 +181,34 @@ "screenfull": "^3.3.3", "smooth-scrollbar": "^8.3.1", "socket.io-client": "^2.1.1", - "typeorm": "^0.2.7", + "typeorm": "^0.2.8", "typescript": "^3.1.3", "uuid": "^3.3.2", "zone.js": "^0.8.26" }, "devDependencies": { - "@angular-devkit/build-angular": "0.9.0-rc.2", - "@angular-devkit/build-ng-packagr": "0.9.0-rc.2", - "@angular/cli": "^7.0.0-rc.3", - "@angular/compiler-cli": "^7.0.0-rc.1", - "@angular/http": "^7.0.0-rc.1", - "@angular/language-service": "^7.0.0-rc.1", + "@angular-devkit/build-angular": "0.10.2", + "@angular-devkit/build-ng-packagr": "0.10.2", + "@angular/cli": "^7.0.2", + "@angular/compiler-cli": "^7.0.0", + "@angular/http": "^7.0.0", + "@angular/language-service": "^7.0.0", "@commitlint/cli": "^7.2.1", "@commitlint/config-conventional": "^7.1.2", "@compodoc/compodoc": "^1.1.5", - "@nestjs/testing": "^5.3.11", + "@nestjs/testing": "^5.4.0", "@ngx-formly/schematics": "5.0.0-beta.5", "@nrwl/builders": "^6.4.0", "@nrwl/schematics": "^6.4.0", - "@semantic-release/changelog": "^3.0.0", - "@semantic-release/git": "^7.0.4", - "@semantic-release/github": "^5.0.6", - "@semantic-release/npm": "^5.0.4", + "@semantic-release/changelog": "^3.0.1", + "@semantic-release/git": "^7.0.5", + "@semantic-release/github": "^5.2.0", + "@semantic-release/npm": "^5.0.5", "@types/dotenv": "^4.0.3", "@types/hammerjs": "^2.0.36", "@types/helmet": "^0.0.42", - "@types/jest": "^23.3.5", - "@types/node": "^10.11.7", + "@types/jest": "^23.3.7", + "@types/node": "^10.12.0", "@types/nodemailer": "^4.6.5", "@types/passport": "0.4.6", "@types/passport-jwt": "^3.0.1", @@ -217,33 +217,33 @@ "@types/supertest": "^2.0.6", "angular-cli-ghpages": "^0.5.3", "codelyzer": "^4.5.0", - "commitizen": "^3.0.2", + "commitizen": "^3.0.4", "cz-conventional-changelog": "^2.1.0", "husky": "^1.1.2", "jest": "^23.6.0", "jest-preset-angular": "6.0.1", - "kubernetes-client": "^6.1.0", + "kubernetes-client": "^6.3.0", "lint-staged": "^7.3.0", "loaders.css": "^0.1.2", - "ng-packagr": "^4.3.0", + "ng-packagr": "^4.4.0", "nodemon": "^1.18.4", "prettier": "^1.14.3", "rimraf": "^2.6.2", "rxjs-tslint-rules": "^4.10.0", - "semantic-release": "^15.9.17", + "semantic-release": "^15.10.5", "supertest": "^3.3.0", "testcafe": "^0.22.0", "testcafe-angular-selectors": "^0.3.0", "testcafe-live": "^0.1.3", "ts-jest": "^23.10.4", - "ts-loader": "^5.2.1", + "ts-loader": "^5.2.2", "ts-node": "^7.0.1", "tsconfig-paths": "^3.6.0", - "tsickle": ">=0.33.0", + "tsickle": ">=0.33.1", "tslib": "^1.9.3", "tslint": "^5.11.0", "tslint-config-prettier": "^1.15.0", - "webpack-bundle-analyzer": "^3.0.2", + "webpack-bundle-analyzer": "^3.0.3", "webpack-cli": "^3.1.2", "webpack-node-externals": "^1.7.2" } diff --git a/stories/faq.md b/stories/faq.md index ac8489d80..10abfc122 100644 --- a/stories/faq.md +++ b/stories/faq.md @@ -200,6 +200,7 @@ in this project, we are demonstrating how to secure UI and backend APIs using fo https://github.com/manfredsteyer/angular-oauth2-oidc https://github.com/damienbod/angular-auth-oidc-client +https://github.com/jeroenheijmans/sample-auth0-angular-oauth2-oidc https://github.com/mauriciovigolo/keycloak-angular https://github.com/ssilvert/keycloak-schematic/wiki https://symbiotics.co.za/integrating-keycloak-with-an-angular-4-web-application-part-2/ From 3a2bd619dcf75540a26278cca2ed33697ca70a1d Mon Sep 17 00:00:00 2001 From: xmlking Date: Thu, 25 Oct 2018 16:19:21 -0700 Subject: [PATCH 14/22] style(polish): added dev proxy settings --- angular.json | 21 +-- apps/webapp/src/polyfills.ts | 4 - libs/auth/src/lib/auth.service.ts | 6 +- .../experiments/src/lib/experiments.module.ts | 2 - .../src/lib/RxSocketioSubject.ts | 4 +- package-lock.json | 157 ++++++++++-------- package.json | 27 ++- proxy.conf.js | 82 +++++++-- 8 files changed, 182 insertions(+), 121 deletions(-) diff --git a/angular.json b/angular.json index e02b3d065..102baba38 100644 --- a/angular.json +++ b/angular.json @@ -80,16 +80,14 @@ { "type": "bundle", "name": "polyfills", - "baseline": "60kb", + "baseline": "40kb", "maximumError": "20%", - "maximumWarning": "10%", - "minimumError": "20%", - "minimumWarning": "10%" + "maximumWarning": "10%" }, { "type": "bundle", "name": "vendor", - "baseline": "1000kb", + "baseline": "1mb", "maximumError": "20%", "maximumWarning": "10%" }, @@ -103,21 +101,18 @@ { "type": "bundle", "name": "main", - "baseline": "1200kb", + "baseline": "1.2mb", "maximumError": "20%", "maximumWarning": "10%" }, { "type": "initial", - "baseline": "1600kb", - "maximumError": "20%", - "maximumWarning": "10%", - "minimumError": "20%", - "minimumWarning": "10%" + "maximumWarning": "2mb", + "maximumError": "5mb" }, { "type": "allScript", - "baseline": "4500kb", + "baseline": "4.5mb", "maximumError": "20%", "maximumWarning": "10%", "minimumError": "20%", @@ -125,7 +120,7 @@ }, { "type": "all", - "baseline": "10000kb", + "baseline": "10mb", "maximumError": "20%", "maximumWarning": "10%" } diff --git a/apps/webapp/src/polyfills.ts b/apps/webapp/src/polyfills.ts index d652ded3d..a9d0a6351 100644 --- a/apps/webapp/src/polyfills.ts +++ b/apps/webapp/src/polyfills.ts @@ -40,10 +40,6 @@ /** IE10 and IE11 requires the following for the Reflect API. */ // import 'core-js/es6/reflect'; -/** Evergreen browsers require these. **/ -// Used for reflect-metadata in JIT. If you use AOT (and only Angular decorators), you can remove. -import 'core-js/es7/reflect'; - /** * Web Animations `@angular/platform-browser/animations` * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari. diff --git a/libs/auth/src/lib/auth.service.ts b/libs/auth/src/lib/auth.service.ts index 0abbbfc25..6ea704411 100644 --- a/libs/auth/src/lib/auth.service.ts +++ b/libs/auth/src/lib/auth.service.ts @@ -1,15 +1,14 @@ import { Injectable } from '@angular/core'; import { OAuthService } from 'angular-oauth2-oidc'; import { HttpClient, HttpErrorResponse } from '@angular/common/http'; -import { Observable, Subscription } from 'rxjs'; -import { catchError, filter, mergeMap } from 'rxjs/operators'; +import { Observable, Subscription , throwError } from 'rxjs'; +import { catchError, filter, mergeMap, tap } from 'rxjs/operators'; import { AuthMode, Logout, LogoutSuccess } from './auth.actions'; import { Store, Select } from '@ngxs/store'; import { ROPCService } from './ropc.service'; import { LoginComponent } from './components/login/login.component'; import { MatDialog } from '@angular/material'; import { Router } from '@angular/router'; -import { throwError } from 'rxjs'; import { AuthState, AuthStateModel } from './auth.state'; import { fromPromise } from 'rxjs/internal/observable/fromPromise'; import { OAuthEvent } from 'angular-oauth2-oidc/events'; @@ -101,6 +100,7 @@ export class AuthService { // for Password Flow this._refresher = this.oauthService.events .pipe( + tap(e => { console.log(`sumo: type: $e.type, `, e); }), filter((e: OAuthEvent) => e.type === 'token_expires'), mergeMap(_ => fromPromise(this.oauthService.refreshToken())), catchError((error: HttpErrorResponse) => { diff --git a/libs/experiments/src/lib/experiments.module.ts b/libs/experiments/src/lib/experiments.module.ts index a7b91692a..573220e3b 100644 --- a/libs/experiments/src/lib/experiments.module.ts +++ b/libs/experiments/src/lib/experiments.module.ts @@ -1,7 +1,6 @@ import { NgModule } from '@angular/core'; import { RouterModule } from '@angular/router'; import { FilePondModule, registerPlugin } from 'ngx-filepond'; -import { ScrollingModule as ExperimentalScrollingModule } from '@angular/cdk-experimental/scrolling'; import { ScrollingModule } from '@angular/cdk/scrolling'; import { KnobModule } from '@xmlking/ngx-knob'; @@ -35,7 +34,6 @@ registerPlugin(FilePondPluginFileValidateType, FilepondPluginFileValidateSize, F SharedModule, FilePondModule, ContextMenuModule, - ExperimentalScrollingModule, ScrollingModule, ClapModule, LedModule, diff --git a/libs/socketio-plugin/src/lib/RxSocketioSubject.ts b/libs/socketio-plugin/src/lib/RxSocketioSubject.ts index 59c42677e..99d38663c 100644 --- a/libs/socketio-plugin/src/lib/RxSocketioSubject.ts +++ b/libs/socketio-plugin/src/lib/RxSocketioSubject.ts @@ -1,9 +1,7 @@ -import { NextObserver, Observable, Observer, Subscriber, Subscription } from 'rxjs'; +import { NextObserver, Observable, Observer, Subscriber, Subscription , Subject } from 'rxjs'; import { AnonymousSubject } from 'rxjs/internal/Subject'; import * as io from 'socket.io-client'; import ConnectOpts = SocketIOClient.ConnectOpts; -import { Subject } from 'rxjs'; -import { ReplaySubject } from 'rxjs/src/internal/ReplaySubject'; // TODO https://github.com/arjitkhullar/ocr/blob/master/src/app/socket.service.ts diff --git a/package-lock.json b/package-lock.json index b84ec90bb..43b0fd5b6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -414,9 +414,9 @@ } }, "@angular/animations": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-7.0.0.tgz", - "integrity": "sha512-IYdryQXdYfPvhJpExLSAr0o9rlUeyVS++a6h/sjqN1dkUt/yJBHLRreuHx8Udvlj2nH70raHJgevk8FwhAkTdA==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-7.0.1.tgz", + "integrity": "sha512-gRirN4Maduh198VhpI1cLoWCtD/BTQT4lPuwiVkHYaradiwEqPlyE+EP/4QZRmFZH+BqwvjS+FYtICznE668Cg==", "requires": { "tslib": "^1.9.0" } @@ -430,25 +430,17 @@ "tslib": "^1.7.1" } }, - "@angular/cdk-experimental": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@angular/cdk-experimental/-/cdk-experimental-7.0.1.tgz", - "integrity": "sha512-9pDQCNNBt0zOXdA+gTzdY4+WL+VME5aZOE0ODcA5+hXHQyvYInUG8b6lzKL7uKBxj46SOsxeTVaoN2qV6huQEg==", - "requires": { - "tslib": "^1.7.1" - } - }, "@angular/cli": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-7.0.2.tgz", - "integrity": "sha512-z53fPkdwm+l4yii8+EwJqeYHgDtyTPywe9ZnpeUu4IvIoM5Mffeu+Rlen3sdwb4+7iL3qpLKtwdMosLJwin85w==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-7.0.3.tgz", + "integrity": "sha512-la1Jktl9qGqGLXDy43lTU1D8KkN0zAohD9mOq4ilgNigzpedXFbzsGXJdWv7xVBMG51M6uhw3HWuFprQmbwgIw==", "dev": true, "requires": { - "@angular-devkit/architect": "0.10.2", - "@angular-devkit/core": "7.0.2", - "@angular-devkit/schematics": "7.0.2", - "@schematics/angular": "7.0.2", - "@schematics/update": "0.10.2", + "@angular-devkit/architect": "0.10.3", + "@angular-devkit/core": "7.0.3", + "@angular-devkit/schematics": "7.0.3", + "@schematics/angular": "7.0.3", + "@schematics/update": "0.10.3", "inquirer": "6.2.0", "opn": "5.3.0", "rxjs": "6.3.3", @@ -457,19 +449,19 @@ }, "dependencies": { "@angular-devkit/architect": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.10.2.tgz", - "integrity": "sha512-jMok3FvXpj1zfI7tPmrMYe9yyBP2qivaBGxJqKa0H5SdwJFdudD+KwQOwamBdqz68WfEfzwvS2YCqE67thak7g==", + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.10.3.tgz", + "integrity": "sha512-6isM3knVRsdS3RTh43cwgOpvp5EIm5OswQuimNru+7uP8qhOBDQdRTd/w/HthmHylKPsEFPqEo1l2KoZCCSwvw==", "dev": true, "requires": { - "@angular-devkit/core": "7.0.2", + "@angular-devkit/core": "7.0.3", "rxjs": "6.3.3" } }, "@angular-devkit/core": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.2.tgz", - "integrity": "sha512-liVqobArUfTvf0cZcjr3VI5tnHR+QjzfvC4HFBwIArls6/RxIATqd9GE9mFMWpy17xgVq8N7WmD6bymv1trbfA==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.3.tgz", + "integrity": "sha512-Yp0AhTuJbp0VwCHTmUOANrKZNQxTD/F49jPmSCBa/VMYMIoU/sUIiHVNdwzfcFnMoExGoXYah0kutBxgNIG3OA==", "dev": true, "requires": { "ajv": "6.5.3", @@ -479,6 +471,27 @@ "source-map": "0.7.3" } }, + "@angular-devkit/schematics": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-7.0.3.tgz", + "integrity": "sha512-FhfPvn5hBCNSj39qLgVaSwa6Zl0qt3Uyw4B9M+Kv01/FFc9xrowldzNT4QRxBjjWbr6DssEP+tYQCPV3Ouwx5w==", + "dev": true, + "requires": { + "@angular-devkit/core": "7.0.3", + "rxjs": "6.3.3" + } + }, + "@schematics/angular": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-7.0.3.tgz", + "integrity": "sha512-x367+yMZIyGL+XWcSELsjyv2x0sZWlEd/5uEGalFqH2Q8ViXkTnXWek7TzzGjt+APM8WfF2JUbrmb8yxZ2g99Q==", + "dev": true, + "requires": { + "@angular-devkit/core": "7.0.3", + "@angular-devkit/schematics": "7.0.3", + "typescript": "3.1.3" + } + }, "ajv": { "version": "6.5.3", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", @@ -530,25 +543,25 @@ } }, "@angular/common": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-7.0.0.tgz", - "integrity": "sha512-jp6MA6EOq/a1m+F0c1aZC345pAYYYFpN1m7GMM91JlqkjzJMhyYVk+Bod9xQOEWadcpY+RFudG+jRsPCMO8bvQ==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-7.0.1.tgz", + "integrity": "sha512-QnGwwM6+OLuzu0VZvzQMPENJQgOMmcjZC1vxWu5y62fPI3BsTDYaePOAEN6mfY8R09J90FmF2IXXC5DN/el0Ug==", "requires": { "tslib": "^1.9.0" } }, "@angular/compiler": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-7.0.0.tgz", - "integrity": "sha512-4fkohfGyG1BEpeYenOartuJmduyZ/R3XQx46hDDiR/9A8/Go4qLGkgr9Bd/JL/gPIR1XAHH9D5ii2sh+28ZEmA==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-7.0.1.tgz", + "integrity": "sha512-X/q51ZAFd0GBJyuZTOKpieyePhlNBAfYCPRi57S2BpxG6i9QjjeM+sPwzjsMmU1P6Qyt/pPpVG738mLocPvdpA==", "requires": { "tslib": "^1.9.0" } }, "@angular/compiler-cli": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-7.0.0.tgz", - "integrity": "sha512-fj5ixB4X3BsUnUukFx+dK5z2KkO7lCx5vlbUT2GOMbGCG43dIH6JKUfy5HbpCodLsJHG0gRgZZuY7/k+pbzS+g==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-7.0.1.tgz", + "integrity": "sha512-WXl2bDoAYWsxwjuIrY34eNZ6Ph4fUff2eK+ZPnkm5zSud1ZlC0zqcG//ccoLqS4Bly3He2obSJ+8SaQjzsqK1g==", "dev": true, "requires": { "canonical-path": "0.0.2", @@ -837,9 +850,9 @@ } }, "@angular/core": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-7.0.0.tgz", - "integrity": "sha512-DjVyWNGBWKEeBvxeXy8FGBNlnr/W/tNygOZEd6/uCktcXTG4DNyNQrWuNZUKEpr7RuIT3YVMj+UNwgTq0jB/9g==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-7.0.1.tgz", + "integrity": "sha512-u/3Xx+tIddVC1wANjK1F102uG8fQrNd4Y9nlz3vtKcnFX66b2SQlnjWd18L8FmzYtzaI44RxSWWTPQB0eTx1xw==", "requires": { "tslib": "^1.9.0" } @@ -853,26 +866,26 @@ } }, "@angular/forms": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-7.0.0.tgz", - "integrity": "sha512-rTg1UHq9gHR6zY3Kkip1KCm/YTck/rlR8CvVFIMwF0bdQxUCT51SXVn58nXts9yDaieABcGaQHNkQn1mARslgw==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-7.0.1.tgz", + "integrity": "sha512-AjpPe3cg2S3hfp9p5IGvvoXt7tqhHnz8V6f7BWR+cp6Jxn0OBpBt8a+5AXIiUZ+X+9CtDVJZXMyiTfZwUhbvIw==", "requires": { "tslib": "^1.9.0" } }, "@angular/http": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@angular/http/-/http-7.0.0.tgz", - "integrity": "sha512-gHMVKosbhXu+2sXccR1fnKpaJBtZioneW+jpG6CW3oo6f4L5FXnGGx/lqYLsgKFM8yHiOs6OXqvuHh8wYEjayA==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@angular/http/-/http-7.0.1.tgz", + "integrity": "sha512-3W5k5cSj9qj8jVU1EgtGKCxVcP1SH/LB5X34oVjtIEZBAESC8ZT1sYr+AvZLFs8Bw0EmqzQJ/hA2PziUZ2jsUw==", "dev": true, "requires": { "tslib": "^1.9.0" } }, "@angular/language-service": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-7.0.0.tgz", - "integrity": "sha512-JlBAXvKrXCCdFc9AnQRaMDl9c0qmASagmmbEX+fuxJbcyqtsUF2y/15Hy5UUmmA+ldZ+mwAoX/naPZZrFSP2rw==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-7.0.1.tgz", + "integrity": "sha512-RtGG0YDWUXD06xwKIEN8vECHV4zKGzIpjzoxNYSNjR1KLXQUElMfQFEx79kmlKbcRt7I+g8c2wGzFnqjopCpeQ==", "dev": true }, "@angular/material": { @@ -892,17 +905,17 @@ } }, "@angular/platform-browser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-7.0.0.tgz", - "integrity": "sha512-XyvL30d6meJ+SXlOmdR+sxoLdSvkQdmVNvpdvUzAHC/EqwA/byg4V3bTe5lpZmypclgFCjkGoTsz6uOnnwlQhw==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-7.0.1.tgz", + "integrity": "sha512-rGD9c6GN1oDdwy2FkcGKV11Pj3BFKGvnKByawv3S7DutrSgSF4LO529CFiGD0eMTCh2C/yzufC8pXngPj/XHUA==", "requires": { "tslib": "^1.9.0" } }, "@angular/platform-browser-dynamic": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-7.0.0.tgz", - "integrity": "sha512-lH2KuH+Em1y/mTOE6yTJmsOxYkMbYKzKLP9gYzc9vZu3er1df6Jx6jxefeBmAr9v+kNCLnpnHWHz2y4GzAesJA==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-7.0.1.tgz", + "integrity": "sha512-9pn+1lSxXXq6swrlAHlyufcy7sGolQklyrHm79kr6RXnl/hwEvxuFZQ+ki3bihdcUt9sgu3uPrw4I0a5TtzGhQ==", "requires": { "tslib": "^1.9.0" } @@ -968,17 +981,17 @@ } }, "@angular/router": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-7.0.0.tgz", - "integrity": "sha512-BK6Ho/7ckldFKc724piuPuMX0HPYXD8SUfwNj6yc0wgzDxdWzSmZj/xPEYll2pGNIA9x8Tg1NQKCD+kp1WXngw==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-7.0.1.tgz", + "integrity": "sha512-1HhTsbwZYxXLgfd6g9Ok2UQjtRBttSaBkWdRM5hbisl3nMnnNOGEMF/B4/UrRQ7phqbUw4eKniUcZm/7UbK7EA==", "requires": { "tslib": "^1.9.0" } }, "@angular/service-worker": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@angular/service-worker/-/service-worker-7.0.0.tgz", - "integrity": "sha512-GFdT7EYLrLhW/Y+eAqPJzZvnz3VNrciStdplnesh+a6zPcoyOc09dMSF7vuDrtxUGY+J0kp0gNS4IEEhdoVoFQ==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@angular/service-worker/-/service-worker-7.0.1.tgz", + "integrity": "sha512-0gVCEEbV0GAZKFkLc/9oSNSzTeaB3oXUM3iskDdIM0542lRWMeOZXKV+UJHhVrJ2rJ4nB+cdN/Te7Yd0zPOZ8g==", "requires": { "tslib": "^1.9.0" } @@ -2339,13 +2352,13 @@ } }, "@schematics/update": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.10.2.tgz", - "integrity": "sha512-/U/HlA/1DRmN2rj/P5htxEWDiMyJE/pa/gGbG2z0IBabOaGsMfEDHPqqXphpB2+03lc2tmC+B19j6pHKtgXZUg==", + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.10.3.tgz", + "integrity": "sha512-ExL2+qeQERihsYSJnOvIk10z1uWdh848bLla5Tb1SfH8Qwd16mmFhlBb4p6plK6/jL2zf9FndjV6dVwZ8iyOkA==", "dev": true, "requires": { - "@angular-devkit/core": "7.0.2", - "@angular-devkit/schematics": "7.0.2", + "@angular-devkit/core": "7.0.3", + "@angular-devkit/schematics": "7.0.3", "npm-registry-client": "8.6.0", "rxjs": "6.3.3", "semver": "5.5.1", @@ -2353,9 +2366,9 @@ }, "dependencies": { "@angular-devkit/core": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.2.tgz", - "integrity": "sha512-liVqobArUfTvf0cZcjr3VI5tnHR+QjzfvC4HFBwIArls6/RxIATqd9GE9mFMWpy17xgVq8N7WmD6bymv1trbfA==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.3.tgz", + "integrity": "sha512-Yp0AhTuJbp0VwCHTmUOANrKZNQxTD/F49jPmSCBa/VMYMIoU/sUIiHVNdwzfcFnMoExGoXYah0kutBxgNIG3OA==", "dev": true, "requires": { "ajv": "6.5.3", @@ -2365,6 +2378,16 @@ "source-map": "0.7.3" } }, + "@angular-devkit/schematics": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-7.0.3.tgz", + "integrity": "sha512-FhfPvn5hBCNSj39qLgVaSwa6Zl0qt3Uyw4B9M+Kv01/FFc9xrowldzNT4QRxBjjWbr6DssEP+tYQCPV3Ouwx5w==", + "dev": true, + "requires": { + "@angular-devkit/core": "7.0.3", + "rxjs": "6.3.3" + } + }, "ajv": { "version": "6.5.3", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", diff --git a/package.json b/package.json index 355d3b560..b2acd6ed4 100644 --- a/package.json +++ b/package.json @@ -110,21 +110,20 @@ }, "private": true, "dependencies": { - "@angular/animations": "^7.0.0", + "@angular/animations": "^7.0.1", "@angular/cdk": "^7.0.1", - "@angular/cdk-experimental": "^7.0.1", - "@angular/common": "^7.0.0", - "@angular/compiler": "^7.0.0", - "@angular/core": "^7.0.0", + "@angular/common": "^7.0.1", + "@angular/compiler": "^7.0.1", + "@angular/core": "^7.0.1", "@angular/flex-layout": "^7.0.0-beta.19", - "@angular/forms": "^7.0.0", + "@angular/forms": "^7.0.1", "@angular/material": "^7.0.1", "@angular/material-moment-adapter": "^7.0.1", - "@angular/platform-browser": "^7.0.0", - "@angular/platform-browser-dynamic": "^7.0.0", + "@angular/platform-browser": "^7.0.1", + "@angular/platform-browser-dynamic": "^7.0.1", "@angular/pwa": "0.10.2", - "@angular/router": "^7.0.0", - "@angular/service-worker": "^7.0.0", + "@angular/router": "^7.0.1", + "@angular/service-worker": "^7.0.1", "@fortawesome/angular-fontawesome": "^0.3.0", "@fortawesome/fontawesome-svg-core": "^1.2.6", "@fortawesome/free-brands-svg-icons": "^5.4.1", @@ -189,10 +188,10 @@ "devDependencies": { "@angular-devkit/build-angular": "0.10.2", "@angular-devkit/build-ng-packagr": "0.10.2", - "@angular/cli": "^7.0.2", - "@angular/compiler-cli": "^7.0.0", - "@angular/http": "^7.0.0", - "@angular/language-service": "^7.0.0", + "@angular/cli": "^7.0.3", + "@angular/compiler-cli": "^7.0.1", + "@angular/http": "^7.0.1", + "@angular/language-service": "^7.0.1", "@commitlint/cli": "^7.2.1", "@commitlint/config-conventional": "^7.1.2", "@compodoc/compodoc": "^1.1.5", diff --git a/proxy.conf.js b/proxy.conf.js index bf35c6f9a..8644857c3 100644 --- a/proxy.conf.js +++ b/proxy.conf.js @@ -1,20 +1,72 @@ -const PROXY_CONFIG = { - "/auth/realms": { - "target": "https://myroute-is360.a3c1.starter-us-west-1.openshiftapps.com", - "secure": false, - "logLevel": "debug", - // "changeOrigin": true, +const rewriteFn = (path, req) => { + switch (true) { + case path.startsWith('/back1/api'): + return path.replace('/back1/api', '/api'); + case path.startsWith('/back1/api2'): + return path.replace('/back1/api2', '/api2'); + case path.startsWith('/back2/api'): + return path.replace('/back2/api', '/api'); + case path.startsWith('/back2/api2'): + return path.replace('/back2/api2', '/api2'); + default: + return path; + } +}; + +const PROXY_CONFIG = [ + { + context: [ + "/auth/realms" + ], + 'target': 'https://myroute-is360.a3c1.starter-us-west-1.openshiftapps.com', + 'secure': false, + 'logLevel': 'debug', + // 'changeOrigin': true, }, - "/get": { - "target": "https://httpbin.org", - "secure": false, - "logLevel": "debug", - "changeOrigin": true + { + context: [ + "/get" + ], + 'target': 'https://httpbin.org', + 'secure': false, + 'logLevel': 'debug', + 'changeOrigin': true, }, - "/api": { - "target": "http://localhost:3000", - "secure": false + { + context: [ + "/api" + ], + 'target': 'http://localhost:3000', + 'secure': false + }, + { + context: [ + "/back1/api", + "/back1/api2", + ], + 'target': 'https://prod-back1-api.sumo.com:3001', + 'secure': false, + 'logLevel': 'debug', + "pathRewrite": rewriteFn, + 'onProxyReq': function (proxyReq, req, res) { + proxyReq.setHeader('Authorization', 'Bearer ' + 'my_backend1_api_key'); + }, + 'changeOrigin': true, + }, + { + context: [ + "/back2/api", + "/back2/api2", + ], + 'target': 'https://prod-back2-api.sumo.com:3002', + 'secure': false, + 'logLevel': 'debug', + "pathRewrite": rewriteFn, + 'onProxyReq': function (proxyReq, req, res) { + proxyReq.setHeader('Authorization', 'Bearer ' + 'my_backend2_api_key'); + }, + 'changeOrigin': true, } -}; +]; module.exports = PROXY_CONFIG; From 6f337c52d7e149474b1791713b1ab997e31467ef Mon Sep 17 00:00:00 2001 From: xmlking Date: Thu, 25 Oct 2018 20:21:25 -0700 Subject: [PATCH 15/22] feat(app): Automatically set pageTitle from route data --- apps/webapp/src/app/app.component.ts | 5 ++- apps/webapp/src/app/app.module.ts | 2 +- .../src/lib/services/page-title.service.ts | 38 ++++++++++++------- .../dashboard-layout.component.ts | 5 +-- libs/dashboard/src/lib/dashboard.module.ts | 8 ++-- .../experiments/src/lib/experiments.module.ts | 20 +++++----- libs/grid/src/lib/grid.module.ts | 6 +-- .../src/lib/containers/blog/blog.component.ts | 4 +- .../home-layout/home-layout.component.ts | 9 +---- .../containers/landing/landing.component.ts | 9 +---- libs/home/src/lib/home.module.ts | 10 ++--- 11 files changed, 57 insertions(+), 59 deletions(-) diff --git a/apps/webapp/src/app/app.component.ts b/apps/webapp/src/app/app.component.ts index 4dc5449ad..c2260f6c0 100644 --- a/apps/webapp/src/app/app.component.ts +++ b/apps/webapp/src/app/app.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, ViewEncapsulation } from '@angular/core'; -import { ServiceWorkerService } from '@ngx-starter-kit/core'; +import { PageTitleService, ServiceWorkerService } from '@ngx-starter-kit/core'; import { Meta, Title } from '@angular/platform-browser'; @Component({ @@ -9,7 +9,8 @@ import { Meta, Title } from '@angular/platform-browser'; encapsulation: ViewEncapsulation.None, }) export class AppComponent implements OnInit { - constructor(private sw: ServiceWorkerService, public meta: Meta) { + // HINT: keep PageTitleService injected here, so that, it get initialized during bootstrap + constructor(private sw: ServiceWorkerService, public meta: Meta, private pageTitleService: PageTitleService) { meta.addTags([ { charset: 'UTF-8' }, { name: 'description', content: 'NGX Starter Kit' }, diff --git a/apps/webapp/src/app/app.module.ts b/apps/webapp/src/app/app.module.ts index 2b90383e3..62345e8c7 100644 --- a/apps/webapp/src/app/app.module.ts +++ b/apps/webapp/src/app/app.module.ts @@ -28,7 +28,7 @@ export class MyHammerConfig extends HammerGestureConfig { { path: '', redirectTo: 'home', pathMatch: 'full' }, { path: 'home', loadChildren: '@ngx-starter-kit/home#HomeModule', data: { preload: true } }, { path: 'dashboard', loadChildren: '@ngx-starter-kit/dashboard#DashboardModule', data: { preload: true } }, - { path: '404', loadChildren: '@ngx-starter-kit/not-found#NotFoundModule' }, + { path: '404', loadChildren: '@ngx-starter-kit/not-found#NotFoundModule', data: { title: '404' } }, // 404 should be last { path: '**', redirectTo: '404', pathMatch: 'full' }, ], diff --git a/libs/core/src/lib/services/page-title.service.ts b/libs/core/src/lib/services/page-title.service.ts index 6f7933880..83fa2ddcf 100644 --- a/libs/core/src/lib/services/page-title.service.ts +++ b/libs/core/src/lib/services/page-title.service.ts @@ -1,6 +1,9 @@ import { Injectable } from '@angular/core'; import { Title } from '@angular/platform-browser'; +import { ActivatedRouteSnapshot, NavigationEnd, Router, RouterState } from '@angular/router'; +import { filter } from 'rxjs/operators'; +declare var ga: any; /** * Service responsible for setting the title that appears above the home and dashboard pages. */ @@ -9,21 +12,30 @@ import { Title } from '@angular/platform-browser'; }) export class PageTitleService { private readonly defaultTitle; - private _title = ''; + public titleSet: Set; - get title(): string { - return this._title; - } + constructor(private router: Router, private bodyTitle: Title) { + this.defaultTitle = bodyTitle.getTitle() || 'WebApp'; - set title(title: string) { - this._title = title; - if (title !== '') { - title = `${title} |`; - } - this.bodyTitle.setTitle(`${title} ${this.defaultTitle}`); - } + // Automatically set pageTitle from route data + router.events + .pipe(filter((event: any) => event instanceof NavigationEnd)) + .subscribe((n: NavigationEnd) => { + const titleSet = new Set(); + let root = this.router.routerState.snapshot.root; + do { + root = root.children[0]; + if (root.data['title']) { + titleSet.add(root.data['title']); + } + } while (root.children.length > 0); - constructor(private bodyTitle: Title) { - this.defaultTitle = bodyTitle.getTitle() || 'WebApp'; + this.titleSet = titleSet; + bodyTitle.setTitle(`${Array.from(titleSet).reverse().join(' | ')} | ${this.defaultTitle}`); + + ga('send', 'pageview', n.urlAfterRedirects); + }); } + } + diff --git a/libs/dashboard/src/lib/containers/dashboard-layout/dashboard-layout.component.ts b/libs/dashboard/src/lib/containers/dashboard-layout/dashboard-layout.component.ts index ddff42671..609cf74f8 100644 --- a/libs/dashboard/src/lib/containers/dashboard-layout/dashboard-layout.component.ts +++ b/libs/dashboard/src/lib/containers/dashboard-layout/dashboard-layout.component.ts @@ -7,7 +7,6 @@ import { Actions, Store } from '@ngxs/store'; import { ConnectWebSocket, DisconnectWebSocket } from '@ngx-starter-kit/socketio-plugin'; import { OAuthService } from 'angular-oauth2-oidc'; import { environment } from '@env/environment'; -import { PageTitleService } from '@ngx-starter-kit/core'; @Component({ selector: 'ngx-dashboard-layout', @@ -33,12 +32,10 @@ export class DashboardLayoutComponent implements OnInit, OnDestroy { private store: Store, private actions$: Actions, private media: ObservableMedia, - private oauthService: OAuthService, - private pageTitleService: PageTitleService, + private oauthService: OAuthService ) {} ngOnInit() { - this.pageTitleService.title = 'Dashboard'; this._mediaSubscription = this.media.subscribe((change: MediaChange) => { const isMobile = change.mqAlias === 'xs' || change.mqAlias === 'sm'; diff --git a/libs/dashboard/src/lib/dashboard.module.ts b/libs/dashboard/src/lib/dashboard.module.ts index 3e53249ae..0859e5cca 100644 --- a/libs/dashboard/src/lib/dashboard.module.ts +++ b/libs/dashboard/src/lib/dashboard.module.ts @@ -29,7 +29,7 @@ import { environment } from '@env/environment'; path: '', component: DashboardLayoutComponent, canActivate: [AuthGuard], - data: { animation: 'dashboard' }, + data: { title: 'Dashboard', animation: 'dashboard' }, children: [ { path: 'overview', @@ -39,17 +39,17 @@ import { environment } from '@env/environment'; { path: '', loadChildren: '@ngx-starter-kit/widgets#WidgetsModule', - data: { animation: 'overview', preload: true }, + data: { title: 'Widgets', animation: 'overview', preload: true }, }, { path: 'grid', loadChildren: '@ngx-starter-kit/grid#GridModule', - data: { animation: 'grid', preload: true }, + data: { title: 'Grid', animation: 'grid', preload: true }, }, { path: 'experiments', loadChildren: '@ngx-starter-kit/experiments#ExperimentsModule', - data: { animation: 'experiments' }, + data: { title: 'Experiments', animation: 'experiments' }, }, ], }, diff --git a/libs/experiments/src/lib/experiments.module.ts b/libs/experiments/src/lib/experiments.module.ts index 573220e3b..967db364c 100644 --- a/libs/experiments/src/lib/experiments.module.ts +++ b/libs/experiments/src/lib/experiments.module.ts @@ -45,52 +45,52 @@ registerPlugin(FilePondPluginFileValidateType, FilepondPluginFileValidateSize, F { path: 'animations', component: AnimationsComponent, - data: { animations: 'animations' }, + data: { title: 'Animations', animations: 'animations' }, }, { path: 'file-upload', component: FileUploadComponent, - data: { animation: 'file-upload' }, + data: { title: 'File Upload', animation: 'file-upload' }, }, { path: 'context-menu', component: ContextMenuComponent, - data: { animation: 'context-menu' }, + data: { title: 'Context Menu', animation: 'context-menu' }, }, { path: 'virtual-scroll', component: VirtualScrollComponent, - data: { animation: 'virtual-scroll' }, + data: { title: 'Virtual Scroll', animation: 'virtual-scroll' }, }, { path: 'table', component: StickyTableComponent, - data: { animation: 'sticky-table' }, + data: { title: 'Sticky Table', animation: 'sticky-table' }, }, { path: 'clap', component: ClapButtonComponent, - data: { animation: 'clap' }, + data: { title: 'Clap', animation: 'clap' }, }, { path: 'led', component: LedDemoComponent, - data: { animation: 'led' }, + data: { title: 'Led', animation: 'led' }, }, { path: 'knob', component: KnobDemoComponent, - data: { animation: 'Knob' }, + data: { title: 'Knob', animation: 'Knob' }, }, { path: 'image-comp', component: ImageCompComponent, - data: { animation: 'imagecomp' }, + data: { title: 'ImageComp', animation: 'imagecomp' }, }, { path: 'layout', component: LayoutComponent, - data: { animation: 'layout' }, + data: { title: 'Layout', animation: 'layout' }, }, ]), ], diff --git a/libs/grid/src/lib/grid.module.ts b/libs/grid/src/lib/grid.module.ts index 465d175cb..86d13c0df 100644 --- a/libs/grid/src/lib/grid.module.ts +++ b/libs/grid/src/lib/grid.module.ts @@ -23,10 +23,10 @@ import { AccountEditComponent } from './components/account-edit/account-edit.com { path: 'crud-table', component: AccountsTableComponent, - data: { animation: 'accounts-table' }, - children: [{ path: ':id', component: AccountDetailComponent, data: { animation: 'account-detail' } }], + data: { title: 'Accounts Table', animation: 'accounts-table' }, + children: [{ path: ':id', component: AccountDetailComponent, data: { title: 'Account Detail', animation: 'account-detail' } }], }, - { path: 'grid-list', component: AccountsGridListComponent, data: { animation: 'accounts-grid-list' } }, + { path: 'grid-list', component: AccountsGridListComponent, data: { title: 'Accounts Grid List', animation: 'accounts-grid-list' } }, ]), ], declarations: [AccountsTableComponent, AccountsGridListComponent, AccountDetailComponent, AccountEditComponent], diff --git a/libs/home/src/lib/containers/blog/blog.component.ts b/libs/home/src/lib/containers/blog/blog.component.ts index fe2a4a03b..b498e79fc 100644 --- a/libs/home/src/lib/containers/blog/blog.component.ts +++ b/libs/home/src/lib/containers/blog/blog.component.ts @@ -5,8 +5,6 @@ import { Component, OnInit } from '@angular/core'; templateUrl: './blog.component.html', styleUrls: ['./blog.component.scss'], }) -export class BlogComponent implements OnInit { +export class BlogComponent { constructor() {} - - ngOnInit() {} } diff --git a/libs/home/src/lib/containers/home-layout/home-layout.component.ts b/libs/home/src/lib/containers/home-layout/home-layout.component.ts index f057f85ce..ffa095395 100644 --- a/libs/home/src/lib/containers/home-layout/home-layout.component.ts +++ b/libs/home/src/lib/containers/home-layout/home-layout.component.ts @@ -1,6 +1,5 @@ import { Component, OnInit } from '@angular/core'; import { routerTransition } from '@ngx-starter-kit/animations'; -import { PageTitleService } from '@ngx-starter-kit/core'; @Component({ selector: 'ngx-home-layout', @@ -8,10 +7,6 @@ import { PageTitleService } from '@ngx-starter-kit/core'; styleUrls: ['./home-layout.component.scss'], animations: [routerTransition], }) -export class HomeLayoutComponent implements OnInit { - constructor(private pageTitleService: PageTitleService) {} - - ngOnInit() { - this.pageTitleService.title = 'Home'; - } +export class HomeLayoutComponent { + constructor() {} } diff --git a/libs/home/src/lib/containers/landing/landing.component.ts b/libs/home/src/lib/containers/landing/landing.component.ts index b3e08a29f..22920ac1f 100644 --- a/libs/home/src/lib/containers/landing/landing.component.ts +++ b/libs/home/src/lib/containers/landing/landing.component.ts @@ -1,15 +1,10 @@ import { Component, OnInit } from '@angular/core'; -import { PageTitleService } from '@ngx-starter-kit/core'; @Component({ selector: 'ngx-landing', templateUrl: './landing.component.html', styleUrls: ['./landing.component.scss'], }) -export class LandingComponent implements OnInit { - constructor(private pageTitleService: PageTitleService) {} - - ngOnInit(): void { - this.pageTitleService.title = 'Landing Page'; - } +export class LandingComponent { + constructor() {} } diff --git a/libs/home/src/lib/home.module.ts b/libs/home/src/lib/home.module.ts index c4848901c..38af6bf5f 100644 --- a/libs/home/src/lib/home.module.ts +++ b/libs/home/src/lib/home.module.ts @@ -24,27 +24,27 @@ import { StickyHeaderDirective } from './components/header/sticky-header.directi { path: '', component: HomeLayoutComponent, - data: { animation: 'home' }, + data: { title: 'Home', animation: 'home' }, children: [ { path: '', component: LandingComponent, - data: { animation: 'home' }, + data: { title: 'Landing', animation: 'home' }, }, { path: 'blog', component: BlogComponent, - data: { animation: 'blog' }, + data: { title: 'Blog', animation: 'blog' }, }, { path: 'about', component: AboutComponent, - data: { animation: 'about' }, + data: { title: 'About', animation: 'about' }, }, { path: 'features', component: FeaturesComponent, - data: { animation: 'features' }, + data: { title: 'Features', animation: 'features' }, }, ], }, From f23cf27fe4fc340fb94c071f852f59d2782af1e5 Mon Sep 17 00:00:00 2001 From: xmlking Date: Thu, 25 Oct 2018 20:24:40 -0700 Subject: [PATCH 16/22] style(app): format code --- apps/api/src/auth/user.entity.ts | 30 ++++++++++++----- apps/api/src/core/crud/crud.service.ts | 2 +- .../src/environments/environment.prod.ts | 2 +- apps/backend/src/environments/environment.ts | 2 +- apps/backend/src/main.ts | 4 +-- apps/backend/src/upload.ts | 4 +-- apps/webapp/src/styles/fu/_var.scss | 13 ++++---- libs/animations/src/lib/route.animation.ts | 27 +++++++++++++++- libs/auth/src/lib/auth.service.ts | 6 ++-- .../lib/services/speech-to-text.service.ts | 2 +- .../src/lib/services/page-title.service.ts | 32 +++++++++---------- .../dashboard-layout.component.ts | 3 +- .../components/card/card.component.spec.ts | 5 ++- .../src/lib/components/card/card.component.ts | 6 ++-- .../file-upload/file-upload.component.ts | 11 +++---- .../file-upload/file-upload.service.ts | 1 - .../knob-demo/knob-demo.component.ts | 1 - .../containers/layout/layout.component.scss | 1 - .../layout/layout.component.spec.ts | 5 ++- .../lib/containers/layout/layout.component.ts | 8 ++--- .../virtual-scroll.component.ts | 2 +- libs/grid/src/lib/grid.module.ts | 14 ++++++-- .../src/lib/RxSocketioSubject.ts | 2 +- stories/faq.md | 12 +++---- 24 files changed, 116 insertions(+), 79 deletions(-) diff --git a/apps/api/src/auth/user.entity.ts b/apps/api/src/auth/user.entity.ts index dd24a9ecd..881d9396e 100644 --- a/apps/api/src/auth/user.entity.ts +++ b/apps/api/src/auth/user.entity.ts @@ -12,20 +12,34 @@ export enum AccountSourceType { @Entity('user') export class User extends Base { @ApiModelProperty({ type: String }) - @IsString() @IsNotEmpty() - @Index() @Column() firstName: string; + @IsString() + @IsNotEmpty() + @Index() + @Column() + firstName: string; @ApiModelProperty({ type: String }) - @IsString() @IsNotEmpty() - @Index() @Column() lastName: string; + @IsString() + @IsNotEmpty() + @Index() + @Column() + lastName: string; @ApiModelProperty({ type: String, minLength: 10, maxLength: 100 }) - @IsEmail() @IsNotEmpty() - @Index() @Column() email: string; + @IsEmail() + @IsNotEmpty() + @Index() + @Column() + email: string; @ApiModelProperty({ type: String, minLength: 8, maxLength: 20 }) - @IsAscii() @IsNotEmpty() @MinLength(8) @MaxLength(20) - @Index({ unique: true }) @Column() userId: string; + @IsAscii() + @IsNotEmpty() + @MinLength(8) + @MaxLength(20) + @Index({ unique: true }) + @Column() + userId: string; @CreateDateColumn() createdAt?: Date; diff --git a/apps/api/src/core/crud/crud.service.ts b/apps/api/src/core/crud/crud.service.ts index 6ad6a82e6..2768ca145 100644 --- a/apps/api/src/core/crud/crud.service.ts +++ b/apps/api/src/core/crud/crud.service.ts @@ -14,7 +14,7 @@ export abstract class CrudService implements ICrudService { return records; } - public async getOne(filter: string ): Promise { + public async getOne(filter: string): Promise { const record = await this.repository.findOne(filter); if (!record) { throw new NotFoundException(`The requested record was not found`); diff --git a/apps/backend/src/environments/environment.prod.ts b/apps/backend/src/environments/environment.prod.ts index 3612073bc..c9669790b 100644 --- a/apps/backend/src/environments/environment.prod.ts +++ b/apps/backend/src/environments/environment.prod.ts @@ -1,3 +1,3 @@ export const environment = { - production: true + production: true, }; diff --git a/apps/backend/src/environments/environment.ts b/apps/backend/src/environments/environment.ts index ee37b495d..da5ad8529 100644 --- a/apps/backend/src/environments/environment.ts +++ b/apps/backend/src/environments/environment.ts @@ -3,5 +3,5 @@ // The list of file replacements can be found in `angular.json`. export const environment = { - production: false + production: false, }; diff --git a/apps/backend/src/main.ts b/apps/backend/src/main.ts index 007efc508..7c7e5ecac 100644 --- a/apps/backend/src/main.ts +++ b/apps/backend/src/main.ts @@ -6,7 +6,7 @@ const app = express(); const corsOptions = { origin: '*', - optionsSuccessStatus: 200 + optionsSuccessStatus: 200, }; app.use(cors(corsOptions)); @@ -18,7 +18,7 @@ app.get('/', (req, res) => { }); const port = 8000; -app.listen(port, (err) => { +app.listen(port, err => { if (err) { console.error(err); } diff --git a/apps/backend/src/upload.ts b/apps/backend/src/upload.ts index e2edc2c3e..31710c842 100755 --- a/apps/backend/src/upload.ts +++ b/apps/backend/src/upload.ts @@ -31,10 +31,10 @@ export default function upload(req, res) { }); form.on('end', () => { - res.status(204).json({'message' : 'success' }); + res.status(204).json({ message: 'success' }); }); - form.on('error', (err) => { + form.on('error', err => { console.log('An error has occured: \n' + err); }); diff --git a/apps/webapp/src/styles/fu/_var.scss b/apps/webapp/src/styles/fu/_var.scss index df5fd6443..ad193c877 100755 --- a/apps/webapp/src/styles/fu/_var.scss +++ b/apps/webapp/src/styles/fu/_var.scss @@ -54,8 +54,7 @@ $config: mat-typography-config( $body-1: mat-typography-level(14px, 22px, 400), $caption: mat-typography-level(13px, 22px, 400), $button: mat-typography-level(14px, 14px, 500), - // Line-height must be unit-less fraction of the font-size. - $input: mat-typography-level(16px, 1.125, 400) + // Line-height must be unit-less fraction of the font-size. $input: mat-typography-level(16px, 1.125, 400), ); /** @@ -130,15 +129,15 @@ $footer-z-index: 700; // Sidenav Toolbar -$sidenav-toolbar-background: #272B35; +$sidenav-toolbar-background: #272b35; $sidenav-toolbar-height: $toolbar-height; $sidenav-toolbar-elevation: $elevation; // Sidenav -$sidenav-color: #A7A9AE; +$sidenav-color: #a7a9ae; -$sidenav-background: #2B303B; +$sidenav-background: #2b303b; $sidenav-background-hover: darken($sidenav-background, 4); $sidenav-background-active: $sidenav-background-hover; @@ -185,7 +184,9 @@ $sidenav-item-padding-left-level5: $sidenav-item-padding-left-level4 + 8px; $sidenav-item-padding-left-level6: $sidenav-item-padding-left-level5 + 8px; $sidenav-width: 270px; // If you change this, you also need to adjust the animations in sidenav.component.ts -$sidenav-collapsed-width: ($sidenav-item-padding-left + $sidenav-item-padding-right + $sidenav-item-icon-font-size); // If you change this, you also need to adjust the animations in sidenav.component.ts +$sidenav-collapsed-width: ( + $sidenav-item-padding-left + $sidenav-item-padding-right + $sidenav-item-icon-font-size +); // If you change this, you also need to adjust the animations in sidenav.component.ts $sidenav-z-index: 1000; /** diff --git a/libs/animations/src/lib/route.animation.ts b/libs/animations/src/lib/route.animation.ts index 1c0b36721..516b9c4f5 100644 --- a/libs/animations/src/lib/route.animation.ts +++ b/libs/animations/src/lib/route.animation.ts @@ -1,4 +1,4 @@ -import { trigger, animate, transition, style, query } from '@angular/animations'; +import { trigger, transition, state, group, query, style, animate, animateChild } from '@angular/animations'; export const routeAnimation = trigger('routeAnimation', [ transition('* <=> *', [ @@ -45,3 +45,28 @@ export const routeAnimation2 = trigger('routeAnimation', [ ), ]), ]); + +export const hierarchicalRouteAnimation = trigger('routeAnimation', [ + transition('1 => 2, 2 => 3', [ + style({ height: '!' }), + query(':enter', style({ transform: 'translateX(100%)' })), + query(':enter, :leave', style({ position: 'absolute', top: 0, left: 0, right: 0 })), + // animate the leave page away + group([ + query(':leave', [animate('0.3s cubic-bezier(.35,0,.25,1)', style({ transform: 'translateX(-100%)' }))]), + // and now reveal the enter + query(':enter', animate('0.3s cubic-bezier(.35,0,.25,1)', style({ transform: 'translateX(0)' }))), + ]), + ]), + transition('3 => 2, 2 => 1', [ + style({ height: '!' }), + query(':enter', style({ transform: 'translateX(-100%)' })), + query(':enter, :leave', style({ position: 'absolute', top: 0, left: 0, right: 0 })), + // animate the leave page away + group([ + query(':leave', [animate('0.3s cubic-bezier(.35,0,.25,1)', style({ transform: 'translateX(100%)' }))]), + // and now reveal the enter + query(':enter', animate('0.3s cubic-bezier(.35,0,.25,1)', style({ transform: 'translateX(0)' }))), + ]), + ]), +]); diff --git a/libs/auth/src/lib/auth.service.ts b/libs/auth/src/lib/auth.service.ts index 6ea704411..fcca6d67f 100644 --- a/libs/auth/src/lib/auth.service.ts +++ b/libs/auth/src/lib/auth.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@angular/core'; import { OAuthService } from 'angular-oauth2-oidc'; import { HttpClient, HttpErrorResponse } from '@angular/common/http'; -import { Observable, Subscription , throwError } from 'rxjs'; +import { Observable, Subscription, throwError } from 'rxjs'; import { catchError, filter, mergeMap, tap } from 'rxjs/operators'; import { AuthMode, Logout, LogoutSuccess } from './auth.actions'; import { Store, Select } from '@ngxs/store'; @@ -100,7 +100,9 @@ export class AuthService { // for Password Flow this._refresher = this.oauthService.events .pipe( - tap(e => { console.log(`sumo: type: $e.type, `, e); }), + tap(e => { + console.log(`sumo: type: $e.type, `, e); + }), filter((e: OAuthEvent) => e.type === 'token_expires'), mergeMap(_ => fromPromise(this.oauthService.refreshToken())), catchError((error: HttpErrorResponse) => { diff --git a/libs/chat-box/src/lib/services/speech-to-text.service.ts b/libs/chat-box/src/lib/services/speech-to-text.service.ts index 0c8074eb6..ea3abb96f 100644 --- a/libs/chat-box/src/lib/services/speech-to-text.service.ts +++ b/libs/chat-box/src/lib/services/speech-to-text.service.ts @@ -51,7 +51,7 @@ export class SpeechToTextService { this.speechRecognition.onnomatch = (err: any): void => { console.log('No Match'); - reject('I didn\'t recognise your question.'); + reject("I didn't recognise your question."); }; this.speechRecognition.onerror = (err: any): void => { diff --git a/libs/core/src/lib/services/page-title.service.ts b/libs/core/src/lib/services/page-title.service.ts index 83fa2ddcf..68840df38 100644 --- a/libs/core/src/lib/services/page-title.service.ts +++ b/libs/core/src/lib/services/page-title.service.ts @@ -18,24 +18,24 @@ export class PageTitleService { this.defaultTitle = bodyTitle.getTitle() || 'WebApp'; // Automatically set pageTitle from route data - router.events - .pipe(filter((event: any) => event instanceof NavigationEnd)) - .subscribe((n: NavigationEnd) => { - const titleSet = new Set(); - let root = this.router.routerState.snapshot.root; - do { - root = root.children[0]; - if (root.data['title']) { - titleSet.add(root.data['title']); - } - } while (root.children.length > 0); + router.events.pipe(filter((event: any) => event instanceof NavigationEnd)).subscribe((n: NavigationEnd) => { + const titleSet = new Set(); + let root = this.router.routerState.snapshot.root; + do { + root = root.children[0]; + if (root.data['title']) { + titleSet.add(root.data['title']); + } + } while (root.children.length > 0); - this.titleSet = titleSet; - bodyTitle.setTitle(`${Array.from(titleSet).reverse().join(' | ')} | ${this.defaultTitle}`); + this.titleSet = titleSet; + bodyTitle.setTitle( + `${Array.from(titleSet) + .reverse() + .join(' | ')} | ${this.defaultTitle}`, + ); - ga('send', 'pageview', n.urlAfterRedirects); + ga('send', 'pageview', n.urlAfterRedirects); }); } - } - diff --git a/libs/dashboard/src/lib/containers/dashboard-layout/dashboard-layout.component.ts b/libs/dashboard/src/lib/containers/dashboard-layout/dashboard-layout.component.ts index 609cf74f8..1a2ed08bd 100644 --- a/libs/dashboard/src/lib/containers/dashboard-layout/dashboard-layout.component.ts +++ b/libs/dashboard/src/lib/containers/dashboard-layout/dashboard-layout.component.ts @@ -32,11 +32,10 @@ export class DashboardLayoutComponent implements OnInit, OnDestroy { private store: Store, private actions$: Actions, private media: ObservableMedia, - private oauthService: OAuthService + private oauthService: OAuthService, ) {} ngOnInit() { - this._mediaSubscription = this.media.subscribe((change: MediaChange) => { const isMobile = change.mqAlias === 'xs' || change.mqAlias === 'sm'; diff --git a/libs/experiments/src/lib/components/card/card.component.spec.ts b/libs/experiments/src/lib/components/card/card.component.spec.ts index e141708ac..11112728b 100644 --- a/libs/experiments/src/lib/components/card/card.component.spec.ts +++ b/libs/experiments/src/lib/components/card/card.component.spec.ts @@ -8,9 +8,8 @@ describe('CardComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ CardComponent ] - }) - .compileComponents(); + declarations: [CardComponent], + }).compileComponents(); })); beforeEach(() => { diff --git a/libs/experiments/src/lib/components/card/card.component.ts b/libs/experiments/src/lib/components/card/card.component.ts index 2041591e6..139b29a41 100644 --- a/libs/experiments/src/lib/components/card/card.component.ts +++ b/libs/experiments/src/lib/components/card/card.component.ts @@ -3,10 +3,8 @@ import { Component } from '@angular/core'; @Component({ selector: 'ngx-card', templateUrl: './card.component.html', - styleUrls: ['./card.component.scss'] + styleUrls: ['./card.component.scss'], }) export class CardComponent { - - constructor() { } - + constructor() {} } diff --git a/libs/experiments/src/lib/containers/file-upload/file-upload.component.ts b/libs/experiments/src/lib/containers/file-upload/file-upload.component.ts index deb564baf..af8652bd0 100644 --- a/libs/experiments/src/lib/containers/file-upload/file-upload.component.ts +++ b/libs/experiments/src/lib/containers/file-upload/file-upload.component.ts @@ -7,9 +7,7 @@ import { FileUploadService } from './file-upload.service'; selector: 'ngx-file-upload', templateUrl: './file-upload.component.html', styleUrls: ['./file-upload.component.scss'], - providers: [ - FileUploadService - ] + providers: [FileUploadService], }) export class FileUploadComponent { crumbs: ReadonlyArray = [ @@ -32,18 +30,17 @@ export class FileUploadComponent { data => { this.myPond.removeFiles(); this.snackBar.open(`Uploaded Successfully`, '', { - duration: 3000 + duration: 3000, }); }, err => { console.error(`File Upload Error: ${err.message}`); this.snackBar.open(`File Upload Error: ${err.message}`, '', { - duration: 3000 + duration: 3000, }); - } + }, ); - // Progress indicator supported, set progress to 25% of 1 progress(true, 0.25, 1); diff --git a/libs/experiments/src/lib/containers/file-upload/file-upload.service.ts b/libs/experiments/src/lib/containers/file-upload/file-upload.service.ts index 8073d0383..e5d7a7669 100644 --- a/libs/experiments/src/lib/containers/file-upload/file-upload.service.ts +++ b/libs/experiments/src/lib/containers/file-upload/file-upload.service.ts @@ -2,7 +2,6 @@ import { Injectable } from '@angular/core'; import { HttpClient, HttpHeaders } from '@angular/common/http'; import { environment } from '@env/environment'; - @Injectable() export class FileUploadService { baseUrl = environment.DOCS_BASE_URL; diff --git a/libs/experiments/src/lib/containers/knob-demo/knob-demo.component.ts b/libs/experiments/src/lib/containers/knob-demo/knob-demo.component.ts index be330d6cb..59b3d436b 100644 --- a/libs/experiments/src/lib/containers/knob-demo/knob-demo.component.ts +++ b/libs/experiments/src/lib/containers/knob-demo/knob-demo.component.ts @@ -7,7 +7,6 @@ import { Crumb } from '@ngx-starter-kit/breadcrumbs'; styleUrls: ['./knob-demo.component.scss'], }) export class KnobDemoComponent implements OnInit { - crumbs: ReadonlyArray = [ { name: 'Dashboard', link: '/dashboard' }, { name: 'Experiments', link: '/dashboard/experiments' }, diff --git a/libs/experiments/src/lib/containers/layout/layout.component.scss b/libs/experiments/src/lib/containers/layout/layout.component.scss index a8f3e9840..77f2e0917 100644 --- a/libs/experiments/src/lib/containers/layout/layout.component.scss +++ b/libs/experiments/src/lib/containers/layout/layout.component.scss @@ -3,4 +3,3 @@ padding: 1.5%; position: relative; } - diff --git a/libs/experiments/src/lib/containers/layout/layout.component.spec.ts b/libs/experiments/src/lib/containers/layout/layout.component.spec.ts index c4d6365d7..f9afb632a 100644 --- a/libs/experiments/src/lib/containers/layout/layout.component.spec.ts +++ b/libs/experiments/src/lib/containers/layout/layout.component.spec.ts @@ -8,9 +8,8 @@ describe('LayoutComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ LayoutComponent ] - }) - .compileComponents(); + declarations: [LayoutComponent], + }).compileComponents(); })); beforeEach(() => { diff --git a/libs/experiments/src/lib/containers/layout/layout.component.ts b/libs/experiments/src/lib/containers/layout/layout.component.ts index cff1ae496..8d6cc033c 100644 --- a/libs/experiments/src/lib/containers/layout/layout.component.ts +++ b/libs/experiments/src/lib/containers/layout/layout.component.ts @@ -4,7 +4,7 @@ import { Crumb } from '@ngx-starter-kit/breadcrumbs'; @Component({ selector: 'ngx-layout', templateUrl: './layout.component.html', - styleUrls: ['./layout.component.scss'] + styleUrls: ['./layout.component.scss'], }) export class LayoutComponent implements OnInit { crumbs: ReadonlyArray = [ @@ -12,9 +12,7 @@ export class LayoutComponent implements OnInit { { name: 'Experiments', link: '/dashboard/experiments' }, { name: 'Layout Demo' }, ]; - constructor() { } - - ngOnInit() { - } + constructor() {} + ngOnInit() {} } diff --git a/libs/experiments/src/lib/containers/virtual-scroll/virtual-scroll.component.ts b/libs/experiments/src/lib/containers/virtual-scroll/virtual-scroll.component.ts index fc18c3eca..3c72750f8 100644 --- a/libs/experiments/src/lib/containers/virtual-scroll/virtual-scroll.component.ts +++ b/libs/experiments/src/lib/containers/virtual-scroll/virtual-scroll.component.ts @@ -10,7 +10,7 @@ interface State { @Component({ selector: 'ngx-virtual-scroll', templateUrl: './virtual-scroll.component.html', - styleUrls: ['./virtual-scroll.component.scss'] + styleUrls: ['./virtual-scroll.component.scss'], }) export class VirtualScrollComponent implements OnInit { crumbs: ReadonlyArray = [ diff --git a/libs/grid/src/lib/grid.module.ts b/libs/grid/src/lib/grid.module.ts index 86d13c0df..a0b4797a8 100644 --- a/libs/grid/src/lib/grid.module.ts +++ b/libs/grid/src/lib/grid.module.ts @@ -24,9 +24,19 @@ import { AccountEditComponent } from './components/account-edit/account-edit.com path: 'crud-table', component: AccountsTableComponent, data: { title: 'Accounts Table', animation: 'accounts-table' }, - children: [{ path: ':id', component: AccountDetailComponent, data: { title: 'Account Detail', animation: 'account-detail' } }], + children: [ + { + path: ':id', + component: AccountDetailComponent, + data: { title: 'Account Detail', animation: 'account-detail' }, + }, + ], + }, + { + path: 'grid-list', + component: AccountsGridListComponent, + data: { title: 'Accounts Grid List', animation: 'accounts-grid-list' }, }, - { path: 'grid-list', component: AccountsGridListComponent, data: { title: 'Accounts Grid List', animation: 'accounts-grid-list' } }, ]), ], declarations: [AccountsTableComponent, AccountsGridListComponent, AccountDetailComponent, AccountEditComponent], diff --git a/libs/socketio-plugin/src/lib/RxSocketioSubject.ts b/libs/socketio-plugin/src/lib/RxSocketioSubject.ts index 99d38663c..46226e7ef 100644 --- a/libs/socketio-plugin/src/lib/RxSocketioSubject.ts +++ b/libs/socketio-plugin/src/lib/RxSocketioSubject.ts @@ -1,4 +1,4 @@ -import { NextObserver, Observable, Observer, Subscriber, Subscription , Subject } from 'rxjs'; +import { NextObserver, Observable, Observer, Subscriber, Subscription, Subject } from 'rxjs'; import { AnonymousSubject } from 'rxjs/internal/Subject'; import * as io from 'socket.io-client'; import ConnectOpts = SocketIOClient.ConnectOpts; diff --git a/stories/faq.md b/stories/faq.md index 10abfc122..f1c037072 100644 --- a/stories/faq.md +++ b/stories/faq.md @@ -1,12 +1,6 @@ HOW TO ====== - -* What is new in Angular 6.1? - -> Refer [here](https://blog.ninja-squad.com/2018/07/26/what-is-new-angular-6.1/) -> Refer [here](https://blog.ninja-squad.com/2018/07/27/angular-cli-6.1/) - * How do I use this template projects? > Add your own app along with `default` app and use shared modules in `libs`. once you are conferable , then you can delete demo `default` app @@ -49,7 +43,8 @@ type `ng.profiler.timeChangeDetection();` in console. 2. Component styles 3. Theme styles -* Here can I learn Nx Workspace/monoreops? +* WTF is monorepo? +> Read [Advantages of monorepos](https://danluu.com/monorepo/) > Refer [here](http://blog.ng-book.com/getting-started-with-nx-the-nrwl-extensions-for-angular/) > Refer [here](https://www.youtube.com/watch?v=0N589xX2ZQw) > Refer [here](https://github.com/nrwl/nx-examples) @@ -69,6 +64,9 @@ type `ng.profiler.timeChangeDetection();` in console. > Read [The ultimate guide to proper use of animation in UX](https://uxdesign.cc/the-ultimate-guide-to-proper-use-of-animation-in-ux-10bd98614fa9) > Read [Microinteractions: small details matter](https://uxdesign.cc/microinteractions-detailed-design-9113c88946d0) +* Animations +> Read [Hierarchical Route Animations](https://fluin.io/blog/hierarchical-route-animations) + * Why I Prefer NGXS over NGRX > Read [NGXS vs NGRX](https://blog.singular.uk/why-i-prefer-ngxs-over-ngrx-df727cd868b5?gi=405262c5a9c5) From 8f4e7ec025ceabeddd559869285cb3f371bca42b Mon Sep 17 00:00:00 2001 From: xmlking Date: Sun, 28 Oct 2018 15:21:39 -0700 Subject: [PATCH 17/22] feat(ngx-utils): ngx-utils module replace ngx-pipes --- apps/webapp/src/styles/fu/_var.scss | 7 +- .../src/lib/breadcrumbs.service.ts | 8 - .../state/custom-router-state.serializer.ts | 25 +++ libs/ngx-pipes/jest.config.js | 5 - libs/ngx-pipes/ng-package.json | 8 - libs/ngx-pipes/package.json | 9 - libs/ngx-pipes/src/index.ts | 1 - .../src/lib/ngx-pipes.module.spec.ts | 7 - libs/ngx-pipes/src/lib/ngx-pipes.module.ts | 16 -- libs/ngx-utils/README.md | 4 + libs/ngx-utils/jest.config.js | 5 + .../ng-package.json} | 2 +- libs/ngx-utils/package.json | 8 + libs/ngx-utils/src/index.ts | 4 + .../src/lib/decorators/index.ts} | 0 libs/ngx-utils/src/lib/directives/index.ts | 2 + .../ng-let/ng-let.directive.spec.ts | 119 +++++++++++ .../directives/ng-let}/ng-let.directive.ts | 10 +- .../lib/directives/ng-let/ng-let.module.ts | 12 ++ .../router-link-match.directive.spec.ts | 188 ++++++++++++++++++ .../router-link-match.directive.ts | 83 ++++++++ .../router-link-match.module.ts | 12 ++ libs/ngx-utils/src/lib/operators/index.ts | 2 + .../ngx-utils/src/lib/operators/pluck.spec.ts | 56 ++++++ libs/ngx-utils/src/lib/operators/pluck.ts | 47 +++++ .../src/lib/operators/untilDestroy.spec.ts | 84 ++++++++ .../src/lib/operators/untilDestroy.ts | 48 +++++ .../src/lib/pipes/helper/filter.pipe.spec.ts | 8 + .../src/lib/pipes}/helper/filter.pipe.ts | 0 .../lib/pipes/helper/group-by.pipe.spec.ts | 8 + .../src/lib/pipes}/helper/group-by.pipe.ts | 0 .../src/lib/pipes/helper/helper.module.ts | 14 ++ .../lib/pipes/helper/safe-html.pipe.spec.ts | 27 +++ .../src/lib/pipes/helper/safe-html.pipe.ts} | 4 +- libs/ngx-utils/src/lib/pipes/index.ts | 2 + .../pipes}/truncate/characters.pipe.spec.ts | 0 .../lib/pipes}/truncate/characters.pipe.ts | 0 .../src/lib/pipes/truncate/truncate.module.ts | 13 ++ .../lib/pipes}/truncate/words.pipe.spec.ts | 0 .../src/lib/pipes}/truncate/words.pipe.ts | 0 .../src/test-setup.ts | 0 .../tsconfig.lib.json | 7 +- .../tsconfig.spec.json | 2 +- libs/{ngx-pipes => ngx-utils}/tslint.json | 4 +- libs/shared/README.md | 2 + 45 files changed, 791 insertions(+), 72 deletions(-) delete mode 100644 libs/breadcrumbs/src/lib/breadcrumbs.service.ts create mode 100644 libs/core/src/lib/state/custom-router-state.serializer.ts delete mode 100644 libs/ngx-pipes/jest.config.js delete mode 100644 libs/ngx-pipes/ng-package.json delete mode 100644 libs/ngx-pipes/package.json delete mode 100644 libs/ngx-pipes/src/index.ts delete mode 100644 libs/ngx-pipes/src/lib/ngx-pipes.module.spec.ts delete mode 100644 libs/ngx-pipes/src/lib/ngx-pipes.module.ts create mode 100644 libs/ngx-utils/README.md create mode 100644 libs/ngx-utils/jest.config.js rename libs/{ngx-pipes/ng-package.prod.json => ngx-utils/ng-package.json} (75%) create mode 100644 libs/ngx-utils/package.json create mode 100644 libs/ngx-utils/src/index.ts rename libs/{ngx-pipes/README.md => ngx-utils/src/lib/decorators/index.ts} (100%) create mode 100644 libs/ngx-utils/src/lib/directives/index.ts create mode 100644 libs/ngx-utils/src/lib/directives/ng-let/ng-let.directive.spec.ts rename libs/{shared/src/lib/directives => ngx-utils/src/lib/directives/ng-let}/ng-let.directive.ts (55%) create mode 100644 libs/ngx-utils/src/lib/directives/ng-let/ng-let.module.ts create mode 100644 libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.directive.spec.ts create mode 100644 libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.directive.ts create mode 100644 libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.module.ts create mode 100644 libs/ngx-utils/src/lib/operators/index.ts create mode 100644 libs/ngx-utils/src/lib/operators/pluck.spec.ts create mode 100644 libs/ngx-utils/src/lib/operators/pluck.ts create mode 100644 libs/ngx-utils/src/lib/operators/untilDestroy.spec.ts create mode 100644 libs/ngx-utils/src/lib/operators/untilDestroy.ts create mode 100644 libs/ngx-utils/src/lib/pipes/helper/filter.pipe.spec.ts rename libs/{ngx-pipes/src/lib => ngx-utils/src/lib/pipes}/helper/filter.pipe.ts (100%) create mode 100644 libs/ngx-utils/src/lib/pipes/helper/group-by.pipe.spec.ts rename libs/{ngx-pipes/src/lib => ngx-utils/src/lib/pipes}/helper/group-by.pipe.ts (100%) create mode 100644 libs/ngx-utils/src/lib/pipes/helper/helper.module.ts create mode 100644 libs/ngx-utils/src/lib/pipes/helper/safe-html.pipe.spec.ts rename libs/{ngx-pipes/src/lib/helper/saft-html.pipe.ts => ngx-utils/src/lib/pipes/helper/safe-html.pipe.ts} (72%) create mode 100644 libs/ngx-utils/src/lib/pipes/index.ts rename libs/{ngx-pipes/src/lib => ngx-utils/src/lib/pipes}/truncate/characters.pipe.spec.ts (100%) rename libs/{ngx-pipes/src/lib => ngx-utils/src/lib/pipes}/truncate/characters.pipe.ts (100%) create mode 100644 libs/ngx-utils/src/lib/pipes/truncate/truncate.module.ts rename libs/{ngx-pipes/src/lib => ngx-utils/src/lib/pipes}/truncate/words.pipe.spec.ts (100%) rename libs/{ngx-pipes/src/lib => ngx-utils/src/lib/pipes}/truncate/words.pipe.ts (100%) rename libs/{ngx-pipes => ngx-utils}/src/test-setup.ts (100%) rename libs/{ngx-pipes => ngx-utils}/tsconfig.lib.json (81%) rename libs/{ngx-pipes => ngx-utils}/tsconfig.spec.json (79%) rename libs/{ngx-pipes => ngx-utils}/tslint.json (85%) create mode 100644 libs/shared/README.md diff --git a/apps/webapp/src/styles/fu/_var.scss b/apps/webapp/src/styles/fu/_var.scss index ad193c877..d4c625aff 100755 --- a/apps/webapp/src/styles/fu/_var.scss +++ b/apps/webapp/src/styles/fu/_var.scss @@ -54,7 +54,8 @@ $config: mat-typography-config( $body-1: mat-typography-level(14px, 22px, 400), $caption: mat-typography-level(13px, 22px, 400), $button: mat-typography-level(14px, 14px, 500), - // Line-height must be unit-less fraction of the font-size. $input: mat-typography-level(16px, 1.125, 400), + // Line-height must be unit-less fraction of the font-size. + $input: mat-typography-level(16px, 1.125, 400) ); /** @@ -184,9 +185,7 @@ $sidenav-item-padding-left-level5: $sidenav-item-padding-left-level4 + 8px; $sidenav-item-padding-left-level6: $sidenav-item-padding-left-level5 + 8px; $sidenav-width: 270px; // If you change this, you also need to adjust the animations in sidenav.component.ts -$sidenav-collapsed-width: ( - $sidenav-item-padding-left + $sidenav-item-padding-right + $sidenav-item-icon-font-size -); // If you change this, you also need to adjust the animations in sidenav.component.ts +$sidenav-collapsed-width: ($sidenav-item-padding-left + $sidenav-item-padding-right + $sidenav-item-icon-font-size); // If you change this, you also need to adjust the animations in sidenav.component.ts $sidenav-z-index: 1000; /** diff --git a/libs/breadcrumbs/src/lib/breadcrumbs.service.ts b/libs/breadcrumbs/src/lib/breadcrumbs.service.ts deleted file mode 100644 index 273094027..000000000 --- a/libs/breadcrumbs/src/lib/breadcrumbs.service.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Injectable } from '@angular/core'; - -@Injectable({ - providedIn: 'root', -}) -export class BreadcrumbsService { - constructor() {} -} diff --git a/libs/core/src/lib/state/custom-router-state.serializer.ts b/libs/core/src/lib/state/custom-router-state.serializer.ts new file mode 100644 index 000000000..29f8a0df0 --- /dev/null +++ b/libs/core/src/lib/state/custom-router-state.serializer.ts @@ -0,0 +1,25 @@ +import { Params, RouterStateSnapshot } from '@angular/router'; +import { NgxsModule } from '@ngxs/store'; +import { NgxsRouterPluginModule, RouterStateSerializer } from '@ngxs/router-plugin'; + +export interface RouterStateParams { + url: string; + params: Params; + queryParams: Params; +} + +// Map the router snapshot to { url, params, queryParams } +export class CustomRouterStateSerializer implements RouterStateSerializer { + serialize(routerState: RouterStateSnapshot): RouterStateParams { + const { + url, + root: { queryParams }, + } = routerState; + let { root: route } = routerState; + while (route.firstChild) { + route = route.firstChild; + } + const { params } = route; + return { url, params, queryParams }; + } +} diff --git a/libs/ngx-pipes/jest.config.js b/libs/ngx-pipes/jest.config.js deleted file mode 100644 index b9c5a9857..000000000 --- a/libs/ngx-pipes/jest.config.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = { - name: 'ngx-pipes', - preset: '../../jest.config.js', - coverageDirectory: '../../coverage/libs/ngx-pipes' -}; diff --git a/libs/ngx-pipes/ng-package.json b/libs/ngx-pipes/ng-package.json deleted file mode 100644 index 9476b4889..000000000 --- a/libs/ngx-pipes/ng-package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "$schema": "../../node_modules/ng-packagr/ng-package.schema.json", - "dest": "../../dist/libs/ngx-pipes", - "deleteDestPath": false, - "lib": { - "entryFile": "src/index.ts" - } -} diff --git a/libs/ngx-pipes/package.json b/libs/ngx-pipes/package.json deleted file mode 100644 index fded4111d..000000000 --- a/libs/ngx-pipes/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "ngx-pipes", - "version": "0.0.1", - "peerDependencies": { - "@angular/common": "^6.0.0-rc.0 || ^6.0.0", - "@angular/core": "^6.0.0-rc.0 || ^6.0.0" - } -} - diff --git a/libs/ngx-pipes/src/index.ts b/libs/ngx-pipes/src/index.ts deleted file mode 100644 index 3302459f1..000000000 --- a/libs/ngx-pipes/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './lib/ngx-pipes.module'; diff --git a/libs/ngx-pipes/src/lib/ngx-pipes.module.spec.ts b/libs/ngx-pipes/src/lib/ngx-pipes.module.spec.ts deleted file mode 100644 index cf20995b6..000000000 --- a/libs/ngx-pipes/src/lib/ngx-pipes.module.spec.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { NgxPipesModule } from './ngx-pipes.module'; - -describe('NgxPipesModule', () => { - it('should work', () => { - expect(new NgxPipesModule()).toBeDefined(); - }); -}); diff --git a/libs/ngx-pipes/src/lib/ngx-pipes.module.ts b/libs/ngx-pipes/src/lib/ngx-pipes.module.ts deleted file mode 100644 index 9ed69fc10..000000000 --- a/libs/ngx-pipes/src/lib/ngx-pipes.module.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; -import { CharactersPipe } from './truncate/characters.pipe'; -import { WordsPipe } from './truncate/words.pipe'; -import { SafeHtmlPipe } from './helper/saft-html.pipe'; -import { FilterPipe } from './helper/filter.pipe'; -import { GroupByPipe } from './helper/group-by.pipe'; - -export const PIPES = [CharactersPipe, WordsPipe, SafeHtmlPipe, FilterPipe, GroupByPipe]; - -@NgModule({ - imports: [CommonModule], - declarations: [PIPES], - exports: [PIPES], -}) -export class NgxPipesModule {} diff --git a/libs/ngx-utils/README.md b/libs/ngx-utils/README.md new file mode 100644 index 000000000..cac419fb7 --- /dev/null +++ b/libs/ngx-utils/README.md @@ -0,0 +1,4 @@ +ngx-utils +========= + +same as `@ngrx-utils/store` without dependency on `@ngrx/store` diff --git a/libs/ngx-utils/jest.config.js b/libs/ngx-utils/jest.config.js new file mode 100644 index 000000000..239c58ff2 --- /dev/null +++ b/libs/ngx-utils/jest.config.js @@ -0,0 +1,5 @@ +module.exports = { + name: 'ngx-utils', + preset: '../../jest.config.js', + coverageDirectory: '../../coverage/libs/ngx-utils' +}; diff --git a/libs/ngx-pipes/ng-package.prod.json b/libs/ngx-utils/ng-package.json similarity index 75% rename from libs/ngx-pipes/ng-package.prod.json rename to libs/ngx-utils/ng-package.json index 2fac30618..2099fb48d 100644 --- a/libs/ngx-pipes/ng-package.prod.json +++ b/libs/ngx-utils/ng-package.json @@ -1,6 +1,6 @@ { "$schema": "../../node_modules/ng-packagr/ng-package.schema.json", - "dest": "../../dist/libs/ngx-pipes", + "dest": "../../dist/libs/ngx-utils", "lib": { "entryFile": "src/index.ts" } diff --git a/libs/ngx-utils/package.json b/libs/ngx-utils/package.json new file mode 100644 index 000000000..c1a6106ca --- /dev/null +++ b/libs/ngx-utils/package.json @@ -0,0 +1,8 @@ +{ + "name": "ngx-utils", + "version": "0.0.1", + "peerDependencies": { + "@angular/common": "^7.0.0", + "@angular/core": "^7.0.0" + } +} diff --git a/libs/ngx-utils/src/index.ts b/libs/ngx-utils/src/index.ts new file mode 100644 index 000000000..e1d97ad7c --- /dev/null +++ b/libs/ngx-utils/src/index.ts @@ -0,0 +1,4 @@ +// export * from './lib/decorators/index'; +export * from './lib/directives/index'; +export * from './lib/operators/index'; +export * from './lib/pipes/index'; diff --git a/libs/ngx-pipes/README.md b/libs/ngx-utils/src/lib/decorators/index.ts similarity index 100% rename from libs/ngx-pipes/README.md rename to libs/ngx-utils/src/lib/decorators/index.ts diff --git a/libs/ngx-utils/src/lib/directives/index.ts b/libs/ngx-utils/src/lib/directives/index.ts new file mode 100644 index 000000000..e293d169d --- /dev/null +++ b/libs/ngx-utils/src/lib/directives/index.ts @@ -0,0 +1,2 @@ +export * from './ng-let/ng-let.module'; +export * from './router-link-match/router-link-match.module'; diff --git a/libs/ngx-utils/src/lib/directives/ng-let/ng-let.directive.spec.ts b/libs/ngx-utils/src/lib/directives/ng-let/ng-let.directive.spec.ts new file mode 100644 index 000000000..e04f3b573 --- /dev/null +++ b/libs/ngx-utils/src/lib/directives/ng-let/ng-let.directive.spec.ts @@ -0,0 +1,119 @@ +import { CommonModule } from '@angular/common'; +import { Component, NgModule, ViewChild } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { Observable, of } from 'rxjs'; +import { NgLetDirective } from './ng-let.directive'; +import { NgLetModule } from './ng-let.module'; + +@Component({ + template: '', + selector: 'sand-test' +}) +class TestComponent { + @ViewChild(NgLetDirective) ngLetDirective: NgLetDirective; + test$: Observable; + test = 10; + nestedTest = 20; + functionTest = (a: number, b: number) => a + b; +} + +@NgModule({ + declarations: [TestComponent], + imports: [NgLetModule, CommonModule], + exports: [NgLetModule, TestComponent] +}) +class TestModule {} + +describe('ngLet directive', () => { + let fixture: ComponentFixture; + function getComponent(): TestComponent { + return fixture.componentInstance; + } + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [TestModule] + }); + }); + + afterEach(() => { + fixture = null!; + }); + + it('should create NgLetModule', () => { + expect(new NgLetModule()).toBeTruthy(); + }); + + it('should work in a template attribute', async(() => { + const template = 'hello{{ i }}'; + fixture = createTestComponent(template); + getComponent().test = 7; + fixture.detectChanges(); + expect(fixture.debugElement.queryAll(By.css('span')).length).toEqual(1); + expect(fixture.nativeElement.textContent).toBe('hello7'); + })); + + it('should work on a template element', async(() => { + const template = 'hello{{ i }}'; + fixture = createTestComponent(template); + getComponent().test = 5; + fixture.detectChanges(); + expect(fixture.nativeElement.textContent).toBe('hello5'); + })); + + it('should handle nested ngLet correctly', async(() => { + const template = + '
        hello{{ i + k }}
        '; + + fixture = createTestComponent(template); + + getComponent().test = 3; + getComponent().nestedTest = 5; + fixture.detectChanges(); + expect(fixture.debugElement.queryAll(By.css('span')).length).toEqual(1); + expect(fixture.nativeElement.textContent).toBe('hello8'); + })); + + it('should update several nodes', async(() => { + const template = + 'helloNumber{{ i }}' + + 'helloFunction{{ j }}'; + + fixture = createTestComponent(template); + + getComponent().test = 4; + fixture.detectChanges(); + expect(fixture.debugElement.queryAll(By.css('span')).length).toEqual(2); + expect(fixture.nativeElement.textContent).toContain('helloNumber5helloFunction13'); + })); + + it('should work on async pipe', async(() => { + const template = 'helloAsync{{ t }}'; + + fixture = createTestComponent(template); + + getComponent().test$ = of(15); + fixture.detectChanges(); + expect(fixture.debugElement.queryAll(By.css('span')).length).toEqual(1); + expect(fixture.nativeElement.textContent).toContain('helloAsync15'); + })); + + it('should accept input', async(() => { + const template = 'hello{{ i }}'; + + fixture = createTestComponent(template); + fixture.detectChanges(); + + expect(getComponent().ngLetDirective).toBeTruthy(); + getComponent().ngLetDirective.ngLet = 21; + fixture.detectChanges(); + expect(fixture.nativeElement.textContent).toContain('hello21'); + })); +}); + +function createTestComponent(template: string): ComponentFixture { + return TestBed.overrideComponent(TestComponent, { set: { template } }).createComponent( + TestComponent + ); +} diff --git a/libs/shared/src/lib/directives/ng-let.directive.ts b/libs/ngx-utils/src/lib/directives/ng-let/ng-let.directive.ts similarity index 55% rename from libs/shared/src/lib/directives/ng-let.directive.ts rename to libs/ngx-utils/src/lib/directives/ng-let/ng-let.directive.ts index f7093e035..640714879 100644 --- a/libs/shared/src/lib/directives/ng-let.directive.ts +++ b/libs/ngx-utils/src/lib/directives/ng-let/ng-let.directive.ts @@ -1,4 +1,4 @@ -import { NgModule, Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core'; +import { NgModule, Directive, Input, TemplateRef, ViewContainerRef, OnInit } from '@angular/core'; export class NgLetContext { $implicit: any = null; @@ -8,7 +8,7 @@ export class NgLetContext { @Directive({ selector: '[ngLet]', }) -export class NgLetDirective { +export class NgLetDirective implements OnInit { private _context = new NgLetContext(); @Input() @@ -16,7 +16,9 @@ export class NgLetDirective { this._context.$implicit = this._context.ngLet = value; } - constructor(_vcr: ViewContainerRef, _templateRef: TemplateRef) { - _vcr.createEmbeddedView(_templateRef, this._context); + constructor(private _vcr: ViewContainerRef, private _templateRef: TemplateRef) {} + + ngOnInit() { + this._vcr.createEmbeddedView(this._templateRef, this._context); } } diff --git a/libs/ngx-utils/src/lib/directives/ng-let/ng-let.module.ts b/libs/ngx-utils/src/lib/directives/ng-let/ng-let.module.ts new file mode 100644 index 000000000..6e7323434 --- /dev/null +++ b/libs/ngx-utils/src/lib/directives/ng-let/ng-let.module.ts @@ -0,0 +1,12 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { NgLetDirective } from './ng-let.directive'; + +@NgModule({ + imports: [ + CommonModule + ], + declarations: [NgLetDirective], + exports: [NgLetDirective] +}) +export class NgLetModule { } diff --git a/libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.directive.spec.ts b/libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.directive.spec.ts new file mode 100644 index 000000000..4971df93d --- /dev/null +++ b/libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.directive.spec.ts @@ -0,0 +1,188 @@ +import { Component, ViewChild } from '@angular/core'; +import { ComponentFixture, fakeAsync, inject, TestBed, tick } from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { Router } from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { RouterLinkMatchDirective } from './router-link-match.directive'; +import { RouterLinkMatchModule } from './router-link-match.module'; + +describe('RouterLinkMatchDirective', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [Test2Component, Test1Component, Test3Component, Test4Component, RootComponent], + imports: [ + RouterLinkMatchModule, + RouterTestingModule.withRoutes([ + { path: 'test1', component: Test1Component }, + { path: 'test2', component: Test2Component } + ]) + ] + }); + }); + + it( + 'should add class to element when route is match', + fakeAsync( + inject([Router], (router: Router) => { + const fixture = createRoot(router, RootComponent); + router.navigateByUrl('/test1'); + advance(fixture); + + const el = fixture.debugElement.query(By.directive(Test1Component)); + const aTag = el.query(By.css('a')); + expect(aTag.nativeElement.classList.contains('test1-class')).toBe(true); + }) + ) + ); + + it( + 'should add class to element including origin classes when route is match', + fakeAsync( + inject([Router], (router: Router) => { + const fixture = createRoot(router, RootComponent); + router.navigateByUrl('/test2'); + advance(fixture); + + const el = fixture.debugElement.query(By.directive(Test2Component)); + const aTag = el.query(By.css('a')); + expect(aTag.nativeElement.classList.contains('test2-class')).toBe(true); + expect(aTag.nativeElement.classList.contains('origin-class')).toBe(true); + }) + ) + ); + + it( + 'should remove classes when url not match', + fakeAsync( + inject([Router], (router: Router) => { + const fixture = createRoot(router, RootComponent); + router.navigateByUrl('/test1'); + advance(fixture); + + const el = fixture.debugElement.query(By.directive(Test3Component)); + const aTag = el.query(By.css('a')); + expect(aTag.nativeElement.classList.contains('test1-class')).toBe(true); + + router.navigateByUrl('/test2'); + advance(fixture); + + expect(aTag.nativeElement.classList.contains('test1-class')).toBe(false); + expect(aTag.nativeElement.classList.contains('test2-class')).toBe(true); + }) + ) + ); + + it( + 'should throw error when receive wrong type of value input', + fakeAsync( + inject([Router], (router: Router) => { + const fixture = createRoot(router, RootComponent); + router.navigateByUrl('/test1'); + advance(fixture); + const el = fixture.debugElement.query(By.directive(Test4Component)); + const comp: Test4Component = el.componentInstance; + comp.test4 = true; + expect(() => fixture.detectChanges()).toThrowError(); + }) + ) + ); + + it( + 'should throw error when value of key in @Input is not non-empty string', + fakeAsync( + inject([Router], (router: Router) => { + const fixture = createRoot(router, RootComponent); + advance(fixture); + + const el = fixture.debugElement.query(By.directive(Test4Component)); + const comp: Test4Component = el.componentInstance; + comp.test4 = { 'test-class': '' }; + expect(true).toBe(true); + // expect(() => fixture.detectChanges()).toThrowError(); + }) + ) + ); + + it( + 'should not call update class when there are no change in routerLinkMatch input', + fakeAsync( + inject([Router], (router: Router) => { + const fixture = createRoot(router, RootComponent); + router.navigateByUrl('/test1'); + advance(fixture); + + const el = fixture.debugElement.query(By.directive(Test4Component)); + const comp: Test4Component = el.componentInstance; + + spyOn(comp.active, 'ngOnChanges'); + comp.other = false; + fixture.detectChanges(); + expect(comp.active.ngOnChanges).not.toHaveBeenCalled(); + }) + ) + ); +}); + +@Component({ + template: ` + Test1 + `, + selector: 'test-1' +}) +class Test1Component {} + +@Component({ + template: ` + Test2 + `, + selector: 'test-2' +}) +class Test2Component {} + +@Component({ + template: `Test3`, + selector: 'test-3' +}) +class Test3Component {} + +@Component({ + template: ` + Test4 + `, + selector: 'test-4' +}) +class Test4Component { + test4: any = { + 'test4-class': 'test1' + }; + + @ViewChild(RouterLinkMatchDirective) active: RouterLinkMatchDirective; + + other: any; +} + +@Component({ + selector: 'root-cmp', + template: `` +}) +class RootComponent {} + +function advance(fixture: ComponentFixture): void { + tick(); + fixture.detectChanges(); +} + +function createRoot(router: Router, type: any): ComponentFixture { + const f = TestBed.createComponent(type); + advance(f); + router.initialNavigation(); + advance(f); + return f; +} diff --git a/libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.directive.ts b/libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.directive.ts new file mode 100644 index 000000000..741955f8d --- /dev/null +++ b/libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.directive.ts @@ -0,0 +1,83 @@ +import { Directive, ElementRef, Input, OnChanges, OnDestroy, Renderer2, SimpleChanges } from '@angular/core'; +import { NavigationEnd, Router } from '@angular/router'; +import { combineLatest, Subject } from 'rxjs'; +import { filter, map } from 'rxjs/operators'; + +import { untilDestroy } from '../../operators'; + +export interface MatchExp { + [classes: string]: string; +} + +@Directive({ + selector: '[routerLinkMatch]', +}) +export class RouterLinkMatchDirective implements OnDestroy, OnChanges { + private _curRoute: string; + private _matchExp: MatchExp; + private _onChangesHook = new Subject(); + + @Input('routerLinkMatch') + set routerLinkMatch(v: MatchExp) { + if (v && typeof v === 'object') { + this._matchExp = v; + } else { + throw new TypeError( + `Unexpected type '${typeof v}' of value for ` + `input of routerLinkMatch directive, expected 'object'`, + ); + } + } + + constructor(router: Router, private _renderer: Renderer2, private _ngEl: ElementRef) { + combineLatest(router.events, this._onChangesHook) + .pipe( + map(([e]) => e), + filter(e => e instanceof NavigationEnd), + untilDestroy(this), + ) + .subscribe(e => { + this._curRoute = (e as NavigationEnd).urlAfterRedirects; + + this._updateClass(this._matchExp); + }); + } + + ngOnChanges(changes: SimpleChanges) { + if (changes['routerLinkMatch']) { + this._onChangesHook.next(changes['routerLinkMatch'].currentValue); + } + } + + private _updateClass(v: MatchExp): void { + Object.keys(v).forEach(cls => { + if (v[cls] && typeof v[cls] === 'string') { + const regexp = new RegExp(v[cls]); + if (this._curRoute.match(regexp)) { + this._toggleClass(cls, true); + } else { + this._toggleClass(cls, false); + } + } else { + throw new TypeError( + `Could not convert match value to Regular Expression. ` + + `Unexpected type '${typeof v[cls]}' for value of key '${cls}' ` + + `in routerLinkMatch directive match expression, expected 'non-empty string'`, + ); + } + }); + } + + private _toggleClass(classes: string, enabled: boolean): void { + classes = classes.trim(); + + classes.split(/\s+/g).forEach(cls => { + if (enabled) { + this._renderer.addClass(this._ngEl.nativeElement, cls); + } else { + this._renderer.removeClass(this._ngEl.nativeElement, cls); + } + }); + } + + ngOnDestroy() {} +} diff --git a/libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.module.ts b/libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.module.ts new file mode 100644 index 000000000..355d41fa9 --- /dev/null +++ b/libs/ngx-utils/src/lib/directives/router-link-match/router-link-match.module.ts @@ -0,0 +1,12 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { RouterLinkMatchDirective } from './router-link-match.directive'; + +@NgModule({ + imports: [ + CommonModule + ], + declarations: [RouterLinkMatchDirective], + exports: [RouterLinkMatchDirective] +}) +export class RouterLinkMatchModule { } diff --git a/libs/ngx-utils/src/lib/operators/index.ts b/libs/ngx-utils/src/lib/operators/index.ts new file mode 100644 index 000000000..06bb44769 --- /dev/null +++ b/libs/ngx-utils/src/lib/operators/index.ts @@ -0,0 +1,2 @@ +export { untilDestroy, destroy$ as ɵdestroy$ } from './untilDestroy'; +export * from './pluck'; diff --git a/libs/ngx-utils/src/lib/operators/pluck.spec.ts b/libs/ngx-utils/src/lib/operators/pluck.spec.ts new file mode 100644 index 000000000..19f978c96 --- /dev/null +++ b/libs/ngx-utils/src/lib/operators/pluck.spec.ts @@ -0,0 +1,56 @@ +import { of } from 'rxjs'; +import { pluck } from './pluck'; + +describe('pluck', () => { + const obj = { a: { b: true, c: { d: false, e: { f: 5 } } }, g: 5, h: 'hello', i: { j: [2] } }; + + it('should pluck prop from plain object', () => { + of({ a: { b: { c: true } } }) + .pipe(pluck('a', 'b', 'c')) + .subscribe(c => { + expect(c).toBe(true); + }); + + of(obj) + .pipe(pluck('a')) + .subscribe(a => { + expect(a).toEqual(obj.a); + }); + + of(obj) + .pipe(pluck('i', 'j')) + .subscribe(j => { + expect(j).toContain(2); + }); + }); + + it('should pluck prop from object with multi type prop', () => { + of(obj) + .pipe(pluck('a', 'b')) + .subscribe(b => { + expect(b).toBe(true); + }); + + of(obj) + .pipe(pluck('a', 'c', 'd')) + .subscribe(d => { + expect(d).toBe(false); + }); + }); + + it('should allow maximum 4 props to pluck', () => { + of(obj) + .pipe(pluck('a', 'c', 'e', 'f')) + .subscribe(f => { + expect(f).toBe(5); + }); + }); + + it('should work with multi pluck', () => { + of(obj) + .pipe(pluck('a'), pluck('c'), pluck('d')) + .subscribe(d => { + expect(d).toBe(false); + }); + }); +}); diff --git a/libs/ngx-utils/src/lib/operators/pluck.ts b/libs/ngx-utils/src/lib/operators/pluck.ts new file mode 100644 index 000000000..2f43eba91 --- /dev/null +++ b/libs/ngx-utils/src/lib/operators/pluck.ts @@ -0,0 +1,47 @@ +import { OperatorFunction } from 'rxjs'; +import { pluck as plucker } from 'rxjs/operators'; + +/** + * Strong typed pluck function to replace + * rxjs/operators/pluck + * + * Accept max 4 properties name + */ +export function pluck(s1: B): OperatorFunction; +export function pluck( + s1: B, + s2: C +): OperatorFunction; +export function pluck( + s1: B, + s2: C, + s3: D +): OperatorFunction; +export function pluck< + A, + B extends keyof A, + C extends keyof A[B], + D extends keyof A[B][C], + E extends keyof A[B][C][D] + >(s1: B, s2: C, s3: D, s4: E): OperatorFunction; +export function pluck< + A, + B extends keyof A, + C extends keyof A[B], + D extends keyof A[B][C], + E extends keyof A[B][C][D], + F extends keyof A[B][C][D][E] + >(s1: B, s2: C, s3: D, s4: E, s5: F): OperatorFunction; +export function pluck< + A, + B extends keyof A, + C extends keyof A[B], + D extends keyof A[B][C], + E extends keyof A[B][C][D], + F extends keyof A[B][C][D][E], + G extends keyof A[B][C][D][E][F] + >(s1: B, s2: C, s3: D, s4: E, s5: F, s6: G): OperatorFunction; +export function pluck(...props: string[]): OperatorFunction; +export function pluck(...props: string[]): OperatorFunction { + return plucker(...props); +} diff --git a/libs/ngx-utils/src/lib/operators/untilDestroy.spec.ts b/libs/ngx-utils/src/lib/operators/untilDestroy.spec.ts new file mode 100644 index 000000000..eff27a733 --- /dev/null +++ b/libs/ngx-utils/src/lib/operators/untilDestroy.spec.ts @@ -0,0 +1,84 @@ +import { Component, NgModule, OnDestroy } from '@angular/core'; +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { Subject, Subscription } from 'rxjs'; +import { untilDestroy, ɵdestroy$ as destroy$ } from './'; +import { NgLetModule } from '../directives/ng-let/ng-let.module'; + +@Component({ + template: '', + selector: 'sand-test' +}) +class TestComponent implements OnDestroy { + test$ = new Subject(); + test = 10; + sub: Subscription; + + constructor() { + this.sub = this.test$.pipe(untilDestroy(this)).subscribe(a => (this.test = a)); + } + + ngOnDestroy() {} +} + +@NgModule({ + declarations: [TestComponent], + imports: [NgLetModule] +}) +class TestModule {} + +describe('untilDestroy', () => { + let fixture: ComponentFixture; + let instance: TestComponent; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [TestComponent] + }); + }); + + it('should unsubscribe when component is destroyed', () => { + fixture = TestBed.createComponent(TestComponent); + instance = fixture.componentInstance; + fixture.detectChanges(); + instance.test$.next(2); + fixture.detectChanges(); + + expect(instance.test).toBe(2); + + instance.ngOnDestroy(); + fixture.detectChanges(); + instance.test$.next(3); + + expect(instance.test).toBe(2); + expect(instance.sub.closed).toBe(true); + }); + + it('should throw error when component does not implement OnDestroy', () => { + class ErrorComponent { + test$ = new Subject(); + test = 10; + sub: Subscription; + + constructor() { + this.sub = this.test$.pipe(untilDestroy(this)).subscribe(a => (this.test = a)); + } + } + expect(() => new ErrorComponent()).toThrowError( + 'untilDestroy operator needs the component to have an ngOnDestroy method' + ); + }); + + it('should ensure symbol $destroy on component', () => { + class Test2Component implements OnDestroy { + test$ = new Subject(); + constructor() { + this.test$.pipe(untilDestroy(this)).subscribe(); + } + ngOnDestroy() {} + } + + const testComp = new Test2Component(); + const symbols = Object.getOwnPropertySymbols(testComp); + expect(symbols).toContain(destroy$); + }); +}); diff --git a/libs/ngx-utils/src/lib/operators/untilDestroy.ts b/libs/ngx-utils/src/lib/operators/untilDestroy.ts new file mode 100644 index 000000000..20c5111a3 --- /dev/null +++ b/libs/ngx-utils/src/lib/operators/untilDestroy.ts @@ -0,0 +1,48 @@ +import { MonoTypeOperatorFunction, Observable } from 'rxjs'; +import { takeUntil } from 'rxjs/operators'; + +// create a symbol identify the observable I add to +// the component so it doesn't conflict with anything. +// I need this so I'm able to add the desired behaviour to the component. +export const destroy$ = Symbol('destroy$'); + +/** + * An operator that takes until destroy it takes a components this a parameter + * returns a pipeable RxJS operator. + */ +export const untilDestroy = (component: any): MonoTypeOperatorFunction => { + if (component[destroy$] === undefined) { + // only hookup each component once. + addDestroyObservableToComponent(component); + } + + // pipe in the takeUntil destroy$ and return the source unaltered + return takeUntil(component[destroy$]); +}; + +/** + * @internal + */ +export function addDestroyObservableToComponent(component: any) { + component[destroy$] = new Observable(observer => { + // keep track of the original destroy function, + // the user might do something in there + const orignalDestroy = component.ngOnDestroy; + if (orignalDestroy == null) { + // Angular does not support dynamic added destroy methods + // so make sure there is one. + throw new Error('untilDestroy operator needs the component to have an ngOnDestroy method'); + } + // replace the ngOndestroy + component.ngOnDestroy = () => { + // fire off the destroy observable + observer.next(); + // complete the observable + observer.complete(); + // and at last, call the original destroy + orignalDestroy.call(component); + }; + // return cleanup function. + return (_: any) => (component[destroy$] = undefined); + }); +} diff --git a/libs/ngx-utils/src/lib/pipes/helper/filter.pipe.spec.ts b/libs/ngx-utils/src/lib/pipes/helper/filter.pipe.spec.ts new file mode 100644 index 000000000..1427de361 --- /dev/null +++ b/libs/ngx-utils/src/lib/pipes/helper/filter.pipe.spec.ts @@ -0,0 +1,8 @@ +import { FilterPipe } from './filter.pipe'; + +describe('FilterPipe', () => { + it('create an instance', () => { + const pipe = new FilterPipe(); + expect(pipe).toBeTruthy(); + }); +}); diff --git a/libs/ngx-pipes/src/lib/helper/filter.pipe.ts b/libs/ngx-utils/src/lib/pipes/helper/filter.pipe.ts similarity index 100% rename from libs/ngx-pipes/src/lib/helper/filter.pipe.ts rename to libs/ngx-utils/src/lib/pipes/helper/filter.pipe.ts diff --git a/libs/ngx-utils/src/lib/pipes/helper/group-by.pipe.spec.ts b/libs/ngx-utils/src/lib/pipes/helper/group-by.pipe.spec.ts new file mode 100644 index 000000000..ebd3bd033 --- /dev/null +++ b/libs/ngx-utils/src/lib/pipes/helper/group-by.pipe.spec.ts @@ -0,0 +1,8 @@ +import { GroupByPipe } from './group-by.pipe'; + +describe('GroupByPipe', () => { + it('create an instance', () => { + const pipe = new GroupByPipe(); + expect(pipe).toBeTruthy(); + }); +}); diff --git a/libs/ngx-pipes/src/lib/helper/group-by.pipe.ts b/libs/ngx-utils/src/lib/pipes/helper/group-by.pipe.ts similarity index 100% rename from libs/ngx-pipes/src/lib/helper/group-by.pipe.ts rename to libs/ngx-utils/src/lib/pipes/helper/group-by.pipe.ts diff --git a/libs/ngx-utils/src/lib/pipes/helper/helper.module.ts b/libs/ngx-utils/src/lib/pipes/helper/helper.module.ts new file mode 100644 index 000000000..96fb98405 --- /dev/null +++ b/libs/ngx-utils/src/lib/pipes/helper/helper.module.ts @@ -0,0 +1,14 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FilterPipe } from './filter.pipe'; +import { GroupByPipe } from './group-by.pipe'; +import { SafeHtmlPipe } from './safe-html.pipe'; + +@NgModule({ + imports: [ + CommonModule + ], + declarations: [FilterPipe, GroupByPipe, SafeHtmlPipe], + exports: [FilterPipe, GroupByPipe, SafeHtmlPipe] +}) +export class HelperModule { } diff --git a/libs/ngx-utils/src/lib/pipes/helper/safe-html.pipe.spec.ts b/libs/ngx-utils/src/lib/pipes/helper/safe-html.pipe.spec.ts new file mode 100644 index 000000000..891ab5ef2 --- /dev/null +++ b/libs/ngx-utils/src/lib/pipes/helper/safe-html.pipe.spec.ts @@ -0,0 +1,27 @@ +import { TestBed, inject } from '@angular/core/testing'; +import { BrowserModule, DomSanitizer } from '@angular/platform-browser'; +import { SafeHtmlPipe } from './safe-html.pipe'; + + describe('SafeHtmlPipe', () => { + beforeEach(() => { + TestBed + .configureTestingModule({ + imports: [ + BrowserModule + ] + }); + }); + + it('create an instance', inject([DomSanitizer], (domSanitizer: DomSanitizer) => { + const pipe = new SafeHtmlPipe(domSanitizer); + expect(pipe).toBeTruthy(); + })); + + it('should create a safehtml construct', inject([DomSanitizer], (domSanitizer: DomSanitizer) => { + const pipe = new SafeHtmlPipe(domSanitizer); + const html = ''; + const output = pipe.transform(html); + expect(output).toBeDefined(); + expect(output.constructor.name).toEqual('SafeHtmlImpl'); + })); +}); diff --git a/libs/ngx-pipes/src/lib/helper/saft-html.pipe.ts b/libs/ngx-utils/src/lib/pipes/helper/safe-html.pipe.ts similarity index 72% rename from libs/ngx-pipes/src/lib/helper/saft-html.pipe.ts rename to libs/ngx-utils/src/lib/pipes/helper/safe-html.pipe.ts index b0e66474e..2f895a0f0 100644 --- a/libs/ngx-pipes/src/lib/helper/saft-html.pipe.ts +++ b/libs/ngx-utils/src/lib/pipes/helper/safe-html.pipe.ts @@ -4,7 +4,7 @@ import { DomSanitizer } from '@angular/platform-browser'; @Pipe({ name: 'safeHtml' }) export class SafeHtmlPipe implements PipeTransform { constructor(private sanitizer: DomSanitizer) {} - transform(style) { - return this.sanitizer.bypassSecurityTrustHtml(style); + transform(value: any, args?: any) { + return this.sanitizer.bypassSecurityTrustHtml(value); } } diff --git a/libs/ngx-utils/src/lib/pipes/index.ts b/libs/ngx-utils/src/lib/pipes/index.ts new file mode 100644 index 000000000..b229db0b3 --- /dev/null +++ b/libs/ngx-utils/src/lib/pipes/index.ts @@ -0,0 +1,2 @@ +export * from './helper/helper.module'; +export * from './truncate/truncate.module'; diff --git a/libs/ngx-pipes/src/lib/truncate/characters.pipe.spec.ts b/libs/ngx-utils/src/lib/pipes/truncate/characters.pipe.spec.ts similarity index 100% rename from libs/ngx-pipes/src/lib/truncate/characters.pipe.spec.ts rename to libs/ngx-utils/src/lib/pipes/truncate/characters.pipe.spec.ts diff --git a/libs/ngx-pipes/src/lib/truncate/characters.pipe.ts b/libs/ngx-utils/src/lib/pipes/truncate/characters.pipe.ts similarity index 100% rename from libs/ngx-pipes/src/lib/truncate/characters.pipe.ts rename to libs/ngx-utils/src/lib/pipes/truncate/characters.pipe.ts diff --git a/libs/ngx-utils/src/lib/pipes/truncate/truncate.module.ts b/libs/ngx-utils/src/lib/pipes/truncate/truncate.module.ts new file mode 100644 index 000000000..0c94508dc --- /dev/null +++ b/libs/ngx-utils/src/lib/pipes/truncate/truncate.module.ts @@ -0,0 +1,13 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { CharactersPipe } from './characters.pipe'; +import { WordsPipe } from './words.pipe'; + +@NgModule({ + imports: [ + CommonModule + ], + declarations: [CharactersPipe, WordsPipe], + exports: [CharactersPipe, WordsPipe] +}) +export class TruncateModule { } diff --git a/libs/ngx-pipes/src/lib/truncate/words.pipe.spec.ts b/libs/ngx-utils/src/lib/pipes/truncate/words.pipe.spec.ts similarity index 100% rename from libs/ngx-pipes/src/lib/truncate/words.pipe.spec.ts rename to libs/ngx-utils/src/lib/pipes/truncate/words.pipe.spec.ts diff --git a/libs/ngx-pipes/src/lib/truncate/words.pipe.ts b/libs/ngx-utils/src/lib/pipes/truncate/words.pipe.ts similarity index 100% rename from libs/ngx-pipes/src/lib/truncate/words.pipe.ts rename to libs/ngx-utils/src/lib/pipes/truncate/words.pipe.ts diff --git a/libs/ngx-pipes/src/test-setup.ts b/libs/ngx-utils/src/test-setup.ts similarity index 100% rename from libs/ngx-pipes/src/test-setup.ts rename to libs/ngx-utils/src/test-setup.ts diff --git a/libs/ngx-pipes/tsconfig.lib.json b/libs/ngx-utils/tsconfig.lib.json similarity index 81% rename from libs/ngx-pipes/tsconfig.lib.json rename to libs/ngx-utils/tsconfig.lib.json index 96268c24a..551b04405 100644 --- a/libs/ngx-pipes/tsconfig.lib.json +++ b/libs/ngx-utils/tsconfig.lib.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "../../dist/out-tsc/libs/ngx-pipes", + "outDir": "../../dist/out-tsc/libs/ngx-utils", "target": "es2015", "module": "es2015", "moduleResolution": "node", @@ -14,7 +14,7 @@ "types": [], "lib": [ "dom", - "es2015" + "es2018" ] }, "angularCompilerOptions": { @@ -23,8 +23,7 @@ "strictMetadataEmit": true, "fullTemplateTypeCheck": true, "strictInjectionParameters": true, - "flatModuleId": "AUTOGENERATED", - "flatModuleOutFile": "AUTOGENERATED" + "enableResourceInlining": true }, "exclude": [ "src/test.ts", diff --git a/libs/ngx-pipes/tsconfig.spec.json b/libs/ngx-utils/tsconfig.spec.json similarity index 79% rename from libs/ngx-pipes/tsconfig.spec.json rename to libs/ngx-utils/tsconfig.spec.json index fbf0525fc..710554419 100644 --- a/libs/ngx-pipes/tsconfig.spec.json +++ b/libs/ngx-utils/tsconfig.spec.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "../../dist/out-tsc/libs/ngx-pipes", + "outDir": "../../dist/out-tsc/libs/ngx-utils", "module": "commonjs", "types": ["jest", "node"] }, diff --git a/libs/ngx-pipes/tslint.json b/libs/ngx-utils/tslint.json similarity index 85% rename from libs/ngx-pipes/tslint.json rename to libs/ngx-utils/tslint.json index 239f078cf..f30e0930d 100644 --- a/libs/ngx-pipes/tslint.json +++ b/libs/ngx-utils/tslint.json @@ -4,13 +4,13 @@ "directive-selector": [ true, "attribute", - "ngx", + ["", "ngx"], "camelCase" ], "component-selector": [ true, "element", - "ngx", + ["", "ngx"], "kebab-case" ] } diff --git a/libs/shared/README.md b/libs/shared/README.md new file mode 100644 index 000000000..7b04a69ed --- /dev/null +++ b/libs/shared/README.md @@ -0,0 +1,2 @@ +Shared Utils +============ From b4d7bf0af90fc2b2bc28675a81b27aea7bd1b6a3 Mon Sep 17 00:00:00 2001 From: xmlking Date: Sun, 28 Oct 2018 15:27:21 -0700 Subject: [PATCH 18/22] fix(angular 7 upgrade. fix package.json peerDependencies): --- PLAYBOOK.md | 28 +- angular.json | 75 ++-- libs/app-confirm/package.json | 6 +- libs/breadcrumbs/package.json | 6 +- libs/chat-box/package.json | 6 +- libs/clap/package.json | 6 +- libs/context-menu/package.json | 6 +- libs/draggable/package.json | 6 +- libs/image-comparison/package.json | 4 +- libs/json-diff/package.json | 6 +- libs/led/package.json | 6 +- libs/loading-overlay/package.json | 6 +- libs/notifications/package.json | 6 +- libs/scroll-to-top/package.json | 6 +- libs/scrollbar/package.json | 6 +- libs/socketio-plugin/package.json | 4 +- libs/svg-viewer/package.json | 6 +- libs/theme-picker/package.json | 6 +- libs/tree/package.json | 6 +- nx.json | 11 +- package-lock.json | 569 +++++++++++++---------------- package.json | 36 +- stories/faq.md | 2 + tsconfig.json | 9 +- 24 files changed, 387 insertions(+), 441 deletions(-) diff --git a/PLAYBOOK.md b/PLAYBOOK.md index 0f0117a93..2b04ffe4b 100644 --- a/PLAYBOOK.md +++ b/PLAYBOOK.md @@ -197,6 +197,14 @@ npm i -D husky@next npm i -D lint-staged ``` +> update 3rd party modules/schematics +```bash +ng update @angular/core +ng update @angular/material --force +ng update @angular/pwa +ng update @ngx-formly/schematics --ui-theme=material +``` + #### Generate Artifacts > Add `--dry-run` option to following commands to see which artifacts will be created, without actually creating them. ```bash @@ -285,11 +293,6 @@ ng g service notifications --project=notifications --dry-run ng g lib Quickpanel1 --prefix=ngx --tags=private-module --unit-test-runner=jest ng g component Quickpanel --project=quickpanel --flat --dry-run -# generate components for `NgxPipes` Module -ng g lib NgxPipes --prefix=ngx --tags=public-module --publishable=true --unit-test-runner=jest -ng g pipe truncate/Characters --project=ngx-pipes --dry-run -ng g pipe truncate/Words --project=ngx-pipes --dry-run - # generate components for `LoadingOverlay` Module ng g lib LoadingOverlay --prefix=ngx --tags=public-module --publishable=true --unit-test-runner=jest ng g component LoadingOverlay --project=loading-overlay --flat --dry-run @@ -334,6 +337,21 @@ ng g component components/counterBubble --project=clap -s -t --spec=false --fl ng g component components/totalCounter --project=clap -s -t --spec=false --flat --dry-run ng g component components/fab --project=clap -s -t --spec=false --flat --dry-run +# generate components for `ngx-utils` Module +ng g lib ngxUtils --prefix=ngx --tags=public-module,utils --module false --publishable=true --unit-test-runner=jest +ng g module pipes/truncate --project=ngx-utils --spec=false --dry-run +ng g pipe pipes/truncate/Characters --project=ngx-utils --module=truncate --export --dry-run +ng g pipe pipes/truncate/Words --project=ngx-utils --module=truncate --export --dry-run +ng g module pipes/helper --project=ngx-utils --spec=false --dry-run +ng g pipe pipes/helper/filter --project=ngx-utils --module=helper --export --dry-run +ng g pipe pipes/helper/groupBy --project=ngx-utils --module=helper --export --dry-run +ng g pipe pipes/helper/safeHtml --project=ngx-utils --module=helper --export --dry-run +ng g module directives/ngLet --project=ngx-utils --spec=false --dry-run +ng g directive directives/ng-let/ngLet --selector=ngLet --project=ngx-utils --module=ng-let --export --dry-run +ng g module directives/routerLinkMatch --project=ngx-utils --spec=false --dry-run +ng g directive directives/router-link-match/RouterLinkMatch --selector=routerLinkMatch --project=ngx-utils --module=router-link-match --export --dry-run + + # generate components for `toolbar` Module ng g lib toolbar --prefix=ngx --tags=private-module --unit-test-runner=jest --dry-run ng g component toolbar --project=toolbar --flat --dry-run diff --git a/angular.json b/angular.json index 102baba38..51c292462 100644 --- a/angular.json +++ b/angular.json @@ -1081,46 +1081,6 @@ } } }, - "ngx-pipes": { - "root": "libs/ngx-pipes", - "sourceRoot": "libs/ngx-pipes/src", - "projectType": "library", - "prefix": "ngx", - "architect": { - "build": { - "builder": "@angular-devkit/build-ng-packagr:build", - "options": { - "tsConfig": "libs/ngx-pipes/tsconfig.lib.json", - "project": "libs/ngx-pipes/ng-package.json" - }, - "configurations": { - "production": { - "project": "libs/ngx-pipes/ng-package.prod.json" - } - } - }, - "lint": { - "builder": "@angular-devkit/build-angular:tslint", - "options": { - "tsConfig": [ - "libs/ngx-pipes/tsconfig.lib.json", - "libs/ngx-pipes/tsconfig.spec.json" - ], - "exclude": [ - "**/node_modules/**" - ] - } - }, - "test": { - "builder": "@nrwl/builders:jest", - "options": { - "jestConfig": "libs/ngx-pipes/jest.config.js", - "tsConfig": "libs/ngx-pipes/tsconfig.spec.json", - "setupFile": "libs/ngx-pipes/src/test-setup.ts" - } - } - } - }, "svg-viewer": { "root": "libs/svg-viewer", "sourceRoot": "libs/svg-viewer/src", @@ -1552,6 +1512,41 @@ } } } + }, + "ngx-utils": { + "root": "libs/ngx-utils", + "sourceRoot": "libs/ngx-utils/src", + "projectType": "library", + "prefix": "ngx", + "architect": { + "build": { + "builder": "@angular-devkit/build-ng-packagr:build", + "options": { + "tsConfig": "libs/ngx-utils/tsconfig.lib.json", + "project": "libs/ngx-utils/ng-package.json" + } + }, + "lint": { + "builder": "@angular-devkit/build-angular:tslint", + "options": { + "tsConfig": [ + "libs/ngx-utils/tsconfig.lib.json", + "libs/ngx-utils/tsconfig.spec.json" + ], + "exclude": [ + "**/node_modules/**" + ] + } + }, + "test": { + "builder": "@nrwl/builders:jest", + "options": { + "jestConfig": "libs/ngx-utils/jest.config.js", + "tsConfig": "libs/ngx-utils/tsconfig.spec.json", + "setupFile": "libs/ngx-utils/src/test-setup.ts" + } + } + } } }, "schematics": { diff --git a/libs/app-confirm/package.json b/libs/app-confirm/package.json index 20466e4c2..670b48d00 100644 --- a/libs/app-confirm/package.json +++ b/libs/app-confirm/package.json @@ -2,7 +2,7 @@ "name": "app-confirm", "version": "0.0.1", "peerDependencies": { - "@angular/common": "^6.0.0-rc.0 || ^6.0.0", - "@angular/core": "^6.0.0-rc.0 || ^6.0.0" + "@angular/common": "^7.0.0", + "@angular/core": "^7.0.0" } -} \ No newline at end of file +} diff --git a/libs/breadcrumbs/package.json b/libs/breadcrumbs/package.json index 0a9900503..12c33bb42 100644 --- a/libs/breadcrumbs/package.json +++ b/libs/breadcrumbs/package.json @@ -2,7 +2,7 @@ "name": "breadcrumbs", "version": "0.0.1", "peerDependencies": { - "@angular/common": "^6.0.0-rc.0 || ^6.0.0", - "@angular/core": "^6.0.0-rc.0 || ^6.0.0" + "@angular/common": "^7.0.0", + "@angular/core": "^7.0.0" } -} \ No newline at end of file +} diff --git a/libs/chat-box/package.json b/libs/chat-box/package.json index 54429421c..a2f7509f9 100644 --- a/libs/chat-box/package.json +++ b/libs/chat-box/package.json @@ -2,7 +2,7 @@ "name": "chat-box", "version": "0.0.1", "peerDependencies": { - "@angular/common": "^6.0.0-rc.0 || ^6.0.0", - "@angular/core": "^6.0.0-rc.0 || ^6.0.0" + "@angular/common": "^7.0.0", + "@angular/core": "^7.0.0" } -} \ No newline at end of file +} diff --git a/libs/clap/package.json b/libs/clap/package.json index a5b5e05d9..e60db9531 100644 --- a/libs/clap/package.json +++ b/libs/clap/package.json @@ -2,7 +2,7 @@ "name": "clap", "version": "0.0.1", "peerDependencies": { - "@angular/common": "^6.0.0-rc.0 || ^6.0.0", - "@angular/core": "^6.0.0-rc.0 || ^6.0.0" + "@angular/common": "^7.0.0", + "@angular/core": "^7.0.0" } -} \ No newline at end of file +} diff --git a/libs/context-menu/package.json b/libs/context-menu/package.json index 9183163b6..f8dd7aaa4 100644 --- a/libs/context-menu/package.json +++ b/libs/context-menu/package.json @@ -2,7 +2,7 @@ "name": "context-menu", "version": "0.0.1", "peerDependencies": { - "@angular/common": "^6.0.0-rc.0 || ^6.0.0", - "@angular/core": "^6.0.0-rc.0 || ^6.0.0" + "@angular/common": "^7.0.0", + "@angular/core": "^7.0.0" } -} \ No newline at end of file +} diff --git a/libs/draggable/package.json b/libs/draggable/package.json index 1600330af..c79e1198f 100644 --- a/libs/draggable/package.json +++ b/libs/draggable/package.json @@ -2,7 +2,7 @@ "name": "draggable", "version": "0.0.1", "peerDependencies": { - "@angular/common": "^6.0.0-rc.0 || ^6.0.0", - "@angular/core": "^6.0.0-rc.0 || ^6.0.0" + "@angular/common": "^7.0.0", + "@angular/core": "^7.0.0" } -} \ No newline at end of file +} diff --git a/libs/image-comparison/package.json b/libs/image-comparison/package.json index f5505dfe0..e9c85d477 100644 --- a/libs/image-comparison/package.json +++ b/libs/image-comparison/package.json @@ -2,7 +2,7 @@ "name": "image-comparison", "version": "0.0.1", "peerDependencies": { - "@angular/common": "^6.0.0-rc.0 || ^6.0.0", - "@angular/core": "^6.0.0-rc.0 || ^6.0.0" + "@angular/common": "^7.0.0", + "@angular/core": "^7.0.0" } } diff --git a/libs/json-diff/package.json b/libs/json-diff/package.json index a62402e29..a009dbc5c 100644 --- a/libs/json-diff/package.json +++ b/libs/json-diff/package.json @@ -2,7 +2,7 @@ "name": "json-diff", "version": "0.0.1", "peerDependencies": { - "@angular/common": "^6.0.0-rc.0 || ^6.0.0", - "@angular/core": "^6.0.0-rc.0 || ^6.0.0" + "@angular/common": "^7.0.0", + "@angular/core": "^7.0.0" } -} \ No newline at end of file +} diff --git a/libs/led/package.json b/libs/led/package.json index 2c39f7761..91e8f8b5f 100644 --- a/libs/led/package.json +++ b/libs/led/package.json @@ -2,7 +2,7 @@ "name": "led", "version": "0.0.1", "peerDependencies": { - "@angular/common": "^6.0.0-rc.0 || ^6.0.0", - "@angular/core": "^6.0.0-rc.0 || ^6.0.0" + "@angular/common": "^7.0.0", + "@angular/core": "^7.0.0" } -} \ No newline at end of file +} diff --git a/libs/loading-overlay/package.json b/libs/loading-overlay/package.json index 7bbdf9b70..ef2dc4887 100644 --- a/libs/loading-overlay/package.json +++ b/libs/loading-overlay/package.json @@ -2,7 +2,7 @@ "name": "loading-overlay", "version": "0.0.1", "peerDependencies": { - "@angular/common": "^6.0.0-rc.0 || ^6.0.0", - "@angular/core": "^6.0.0-rc.0 || ^6.0.0" + "@angular/common": "^7.0.0", + "@angular/core": "^7.0.0" } -} \ No newline at end of file +} diff --git a/libs/notifications/package.json b/libs/notifications/package.json index a96a04806..5928ce0a9 100644 --- a/libs/notifications/package.json +++ b/libs/notifications/package.json @@ -2,7 +2,7 @@ "name": "notifications", "version": "0.0.1", "peerDependencies": { - "@angular/common": "^6.0.0-rc.0 || ^6.0.0", - "@angular/core": "^6.0.0-rc.0 || ^6.0.0" + "@angular/common": "^7.0.0", + "@angular/core": "^7.0.0" } -} \ No newline at end of file +} diff --git a/libs/scroll-to-top/package.json b/libs/scroll-to-top/package.json index 01b947852..18951a16c 100644 --- a/libs/scroll-to-top/package.json +++ b/libs/scroll-to-top/package.json @@ -2,7 +2,7 @@ "name": "scroll-to-top", "version": "0.0.1", "peerDependencies": { - "@angular/common": "^6.0.0-rc.0 || ^6.0.0", - "@angular/core": "^6.0.0-rc.0 || ^6.0.0" + "@angular/common": "^7.0.0", + "@angular/core": "^7.0.0" } -} \ No newline at end of file +} diff --git a/libs/scrollbar/package.json b/libs/scrollbar/package.json index 5afb848d1..4a6eeb672 100644 --- a/libs/scrollbar/package.json +++ b/libs/scrollbar/package.json @@ -2,7 +2,7 @@ "name": "scrollbar", "version": "0.0.1", "peerDependencies": { - "@angular/common": "^6.0.0-rc.0 || ^6.0.0", - "@angular/core": "^6.0.0-rc.0 || ^6.0.0" + "@angular/common": "^7.0.0", + "@angular/core": "^7.0.0" } -} \ No newline at end of file +} diff --git a/libs/socketio-plugin/package.json b/libs/socketio-plugin/package.json index 2a326d7be..5a77c4cb1 100644 --- a/libs/socketio-plugin/package.json +++ b/libs/socketio-plugin/package.json @@ -2,8 +2,8 @@ "name": "socketio-plugin", "version": "0.0.1", "peerDependencies": { - "@angular/common": "^6.0.0-rc.0 || ^6.0.0", - "@angular/core": "^6.0.0-rc.0 || ^6.0.0", + "@angular/common": "^7.0.0", + "@angular/core": "^7.0.0", "socket.io-client": "^2.1.1" } } diff --git a/libs/svg-viewer/package.json b/libs/svg-viewer/package.json index 0a4ad8c51..e62c2b4cf 100644 --- a/libs/svg-viewer/package.json +++ b/libs/svg-viewer/package.json @@ -2,7 +2,7 @@ "name": "svg-viewer", "version": "0.0.1", "peerDependencies": { - "@angular/common": "^6.0.0-rc.0 || ^6.0.0", - "@angular/core": "^6.0.0-rc.0 || ^6.0.0" + "@angular/common": "^7.0.0", + "@angular/core": "^7.0.0" } -} \ No newline at end of file +} diff --git a/libs/theme-picker/package.json b/libs/theme-picker/package.json index eac1bfa69..6cfd63957 100644 --- a/libs/theme-picker/package.json +++ b/libs/theme-picker/package.json @@ -2,7 +2,7 @@ "name": "theme-picker", "version": "0.0.1", "peerDependencies": { - "@angular/common": "^6.0.0-rc.0 || ^6.0.0", - "@angular/core": "^6.0.0-rc.0 || ^6.0.0" + "@angular/common": "^7.0.0", + "@angular/core": "^7.0.0" } -} \ No newline at end of file +} diff --git a/libs/tree/package.json b/libs/tree/package.json index ac0a85f8d..0b47370fe 100644 --- a/libs/tree/package.json +++ b/libs/tree/package.json @@ -2,7 +2,7 @@ "name": "tree", "version": "0.0.1", "peerDependencies": { - "@angular/common": "^6.0.0-rc.0 || ^6.0.0", - "@angular/core": "^6.0.0-rc.0 || ^6.0.0" + "@angular/common": "^7.0.0", + "@angular/core": "^7.0.0" } -} \ No newline at end of file +} diff --git a/nx.json b/nx.json index 0a412340f..35fe0b76f 100644 --- a/nx.json +++ b/nx.json @@ -144,11 +144,6 @@ "private-module" ] }, - "ngx-pipes": { - "tags": [ - "public-module" - ] - }, "svg-viewer": { "tags": [ "public-module" @@ -213,6 +208,12 @@ "tags": [ "utils" ] + }, + "ngx-utils": { + "tags": [ + "public-module", + "utils" + ] } } } diff --git a/package-lock.json b/package-lock.json index 43b0fd5b6..9f7a10727 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,21 +26,21 @@ } }, "@angular-devkit/build-angular": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.10.2.tgz", - "integrity": "sha512-0bLcql8Hf0W9G4pgMFc5vhRIGPUjLreGt+NiJgGP2SaM8bhWYm2097tybS18hdDi2eVfALpzsSOUYCtAowh4Pw==", + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.10.3.tgz", + "integrity": "sha512-gV/mLAckS1jaXfuAEaO7p9LqcMrVSmwC2ad85J/unJMqkkxTk7S9TgMe8/A3LIOJ1oZyIKniz/Q30JL092EqRA==", "dev": true, "requires": { - "@angular-devkit/architect": "0.10.2", - "@angular-devkit/build-optimizer": "0.10.2", - "@angular-devkit/build-webpack": "0.10.2", - "@angular-devkit/core": "7.0.2", - "@ngtools/webpack": "7.0.2", + "@angular-devkit/architect": "0.10.3", + "@angular-devkit/build-optimizer": "0.10.3", + "@angular-devkit/build-webpack": "0.10.3", + "@angular-devkit/core": "7.0.3", + "@ngtools/webpack": "7.0.3", "ajv": "6.5.3", - "autoprefixer": "8.4.1", + "autoprefixer": "9.1.5", "circular-dependency-plugin": "5.0.2", "clean-css": "4.2.1", - "copy-webpack-plugin": "4.5.3", + "copy-webpack-plugin": "4.5.4", "file-loader": "2.0.0", "glob": "7.1.3", "istanbul": "0.4.5", @@ -48,7 +48,7 @@ "karma-source-map-support": "1.3.0", "less": "3.8.1", "less-loader": "4.1.0", - "license-webpack-plugin": "2.0.1", + "license-webpack-plugin": "2.0.2", "loader-utils": "1.1.0", "mini-css-extract-plugin": "0.4.3", "minimatch": "3.0.4", @@ -56,9 +56,9 @@ "opn": "5.3.0", "parse5": "4.0.0", "portfinder": "1.0.17", - "postcss": "6.0.23", - "postcss-import": "11.1.0", - "postcss-loader": "2.1.6", + "postcss": "7.0.5", + "postcss-import": "12.0.0", + "postcss-loader": "3.0.0", "raw-loader": "0.5.1", "rxjs": "6.3.3", "sass-loader": "7.1.0", @@ -81,30 +81,30 @@ }, "dependencies": { "@angular-devkit/architect": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.10.2.tgz", - "integrity": "sha512-jMok3FvXpj1zfI7tPmrMYe9yyBP2qivaBGxJqKa0H5SdwJFdudD+KwQOwamBdqz68WfEfzwvS2YCqE67thak7g==", + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.10.3.tgz", + "integrity": "sha512-6isM3knVRsdS3RTh43cwgOpvp5EIm5OswQuimNru+7uP8qhOBDQdRTd/w/HthmHylKPsEFPqEo1l2KoZCCSwvw==", "dev": true, "requires": { - "@angular-devkit/core": "7.0.2", + "@angular-devkit/core": "7.0.3", "rxjs": "6.3.3" } }, "@angular-devkit/build-webpack": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.10.2.tgz", - "integrity": "sha512-anJQdhDTCoqloMn28+xHDMottBwnPUzzvm996aEOE8ziEHesdTYTR1JU8LeL149+HPFnufqVVkkzn2+lfG0yOg==", + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.10.3.tgz", + "integrity": "sha512-2uZselfqpxnPbV9d2dRCgl4lJjD1xemNpRijxFIuxeXvadqTPkHA0YuUkX7CTajtwSWy3Cs69StL87b9gYFLSA==", "dev": true, "requires": { - "@angular-devkit/architect": "0.10.2", - "@angular-devkit/core": "7.0.2", + "@angular-devkit/architect": "0.10.3", + "@angular-devkit/core": "7.0.3", "rxjs": "6.3.3" } }, "@angular-devkit/core": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.2.tgz", - "integrity": "sha512-liVqobArUfTvf0cZcjr3VI5tnHR+QjzfvC4HFBwIArls6/RxIATqd9GE9mFMWpy17xgVq8N7WmD6bymv1trbfA==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.3.tgz", + "integrity": "sha512-Yp0AhTuJbp0VwCHTmUOANrKZNQxTD/F49jPmSCBa/VMYMIoU/sUIiHVNdwzfcFnMoExGoXYah0kutBxgNIG3OA==", "dev": true, "requires": { "ajv": "6.5.3", @@ -139,9 +139,9 @@ "dev": true }, "license-webpack-plugin": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.0.1.tgz", - "integrity": "sha512-XUSJoU+M2w/N5ZdzHm++mFSM2BVKAdnSORXF7nbkpBJVdfi3hiiMpNdiuUR7S4OvsceiXQp1yoBwhiAP+gtC2g==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.0.2.tgz", + "integrity": "sha512-GsomZw5VoT20ST8qH2tOjBgbyhn6Pgs9M94g0mbvfBIV1VXufm1iKY+4dbgfTObj1Mp6nSRE3Zf74deOZr0KwA==", "dev": true, "requires": { "webpack-sources": "^1.2.0" @@ -198,31 +198,31 @@ } }, "@angular-devkit/build-ng-packagr": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-ng-packagr/-/build-ng-packagr-0.10.2.tgz", - "integrity": "sha512-JS+h60gkP3a+z5fWg36wA19inSHZuBtuO3H2K4i722jlcymZp8EcYDR8CsWOAX0DeP1LtCjSWqEnvvZvXhsrag==", + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-ng-packagr/-/build-ng-packagr-0.10.3.tgz", + "integrity": "sha512-6KhavrMdUqplfpuI1kqoMnfOENXclEbFWIQ1Q0gi3Sz8HbyF8Ma7JXEHXlGzn6GvVqajtAjJUq5SLe1o45NSqg==", "dev": true, "requires": { - "@angular-devkit/architect": "0.10.2", - "@angular-devkit/core": "7.0.2", + "@angular-devkit/architect": "0.10.3", + "@angular-devkit/core": "7.0.3", "rxjs": "6.3.3", "semver": "5.5.1" }, "dependencies": { "@angular-devkit/architect": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.10.2.tgz", - "integrity": "sha512-jMok3FvXpj1zfI7tPmrMYe9yyBP2qivaBGxJqKa0H5SdwJFdudD+KwQOwamBdqz68WfEfzwvS2YCqE67thak7g==", + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.10.3.tgz", + "integrity": "sha512-6isM3knVRsdS3RTh43cwgOpvp5EIm5OswQuimNru+7uP8qhOBDQdRTd/w/HthmHylKPsEFPqEo1l2KoZCCSwvw==", "dev": true, "requires": { - "@angular-devkit/core": "7.0.2", + "@angular-devkit/core": "7.0.3", "rxjs": "6.3.3" } }, "@angular-devkit/core": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.2.tgz", - "integrity": "sha512-liVqobArUfTvf0cZcjr3VI5tnHR+QjzfvC4HFBwIArls6/RxIATqd9GE9mFMWpy17xgVq8N7WmD6bymv1trbfA==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.3.tgz", + "integrity": "sha512-Yp0AhTuJbp0VwCHTmUOANrKZNQxTD/F49jPmSCBa/VMYMIoU/sUIiHVNdwzfcFnMoExGoXYah0kutBxgNIG3OA==", "dev": true, "requires": { "ajv": "6.5.3", @@ -274,9 +274,9 @@ } }, "@angular-devkit/build-optimizer": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.10.2.tgz", - "integrity": "sha512-vPX3VqpZ6Gu2cSDOAnMxqU/VwQ0isj1iI89DM3E8yJK2D+Sh82WEeGo9rpTEbGps9Y1VOddSRu8M3UXOlSEkdw==", + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.10.3.tgz", + "integrity": "sha512-NgsS0kdUh/Op9+Kzbq0X6AsTV/BgpVtiF5UxZjdWVQgPPOdur5V9PkpRn9odey+06S/wDTE/UzPmT3qKXTQVHw==", "dev": true, "requires": { "loader-utils": "1.1.0", @@ -357,18 +357,18 @@ } }, "@angular-devkit/schematics": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-7.0.2.tgz", - "integrity": "sha512-b+ex7La9ZFxdh1JyuTvjhPKHsyCcXpGG2MQ43QQm0xbR1IigzVv5N2eyvm02rvQK+rY36+rG+FvO+korUeoLhw==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-7.0.3.tgz", + "integrity": "sha512-FhfPvn5hBCNSj39qLgVaSwa6Zl0qt3Uyw4B9M+Kv01/FFc9xrowldzNT4QRxBjjWbr6DssEP+tYQCPV3Ouwx5w==", "requires": { - "@angular-devkit/core": "7.0.2", + "@angular-devkit/core": "7.0.3", "rxjs": "6.3.3" }, "dependencies": { "@angular-devkit/core": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.2.tgz", - "integrity": "sha512-liVqobArUfTvf0cZcjr3VI5tnHR+QjzfvC4HFBwIArls6/RxIATqd9GE9mFMWpy17xgVq8N7WmD6bymv1trbfA==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.3.tgz", + "integrity": "sha512-Yp0AhTuJbp0VwCHTmUOANrKZNQxTD/F49jPmSCBa/VMYMIoU/sUIiHVNdwzfcFnMoExGoXYah0kutBxgNIG3OA==", "requires": { "ajv": "6.5.3", "chokidar": "2.0.4", @@ -422,9 +422,9 @@ } }, "@angular/cdk": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-7.0.1.tgz", - "integrity": "sha512-WCIz2kbNMrEXkGxbHfBMRvjH7sxzp+nBR2gEhBvUEm9Ap/wBIJaTnHOF743D2fEhtW3IgpaYsTDTKiVryOFcQg==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-7.0.2.tgz", + "integrity": "sha512-MAugJsjQ3ye2RX7vNjd9IN1c7enAxJaCz9UZBFuzfo/pNxvjaEObFmF2NUKyU1DctknqjyOzZYYg0e+bBxrBbQ==", "requires": { "parse5": "^5.0.0", "tslib": "^1.7.1" @@ -889,17 +889,17 @@ "dev": true }, "@angular/material": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-7.0.1.tgz", - "integrity": "sha512-/gf2G+/W/SB/54Q+EDKWfaDFuj403XYMSY3IcFJmuR4H8KkDtDr6bM9/HrRpYWNIlrVwOrKE9ByeoFzm5yDmvA==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-7.0.2.tgz", + "integrity": "sha512-zJ9nw+RwfRtkrifpafc9bM5HLPpbSmtYXkO3a2GSiE83jocdiC9wzpdmyhdJ/wvRoMyVmsx5vdQSqaFh03jhjA==", "requires": { "tslib": "^1.7.1" } }, "@angular/material-moment-adapter": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@angular/material-moment-adapter/-/material-moment-adapter-7.0.1.tgz", - "integrity": "sha512-dPsws6t04LBqxufSbkk9MuAJuXFZ/K5dnbkZU7nerZrk7ZcLMzgg/OLGlE8sVJkEV/gVqWB2rLgwOS0+kniMMg==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@angular/material-moment-adapter/-/material-moment-adapter-7.0.2.tgz", + "integrity": "sha512-vMlaa06apA10s2umyTupudfTudUHx3oJGv9nUsN5mgE8m548oTah3d15G5QGVj8z1wXagniRdIQR+4e8IoWnTQ==", "requires": { "tslib": "^1.7.1" } @@ -921,21 +921,21 @@ } }, "@angular/pwa": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/@angular/pwa/-/pwa-0.10.2.tgz", - "integrity": "sha512-/1ILY/FXe8iLQq5pfZlxBIX0HJkcMdi7q0q63258EZavM0fqG3uc6Twd3NMa4QW3pRCpwjPVfDFB+NnKQH9oFg==", + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@angular/pwa/-/pwa-0.10.3.tgz", + "integrity": "sha512-DPd13yjigx9k/9Eq/kWjxCtTt9L3ZLIlFSCGc3+KBNEoyRxO3rSGxnEpDCee1aa9HG942My1Mvj3nnRh0mzDIA==", "requires": { - "@angular-devkit/core": "7.0.2", - "@angular-devkit/schematics": "7.0.2", - "@schematics/angular": "7.0.2", + "@angular-devkit/core": "7.0.3", + "@angular-devkit/schematics": "7.0.3", + "@schematics/angular": "7.0.3", "parse5-html-rewriting-stream": "5.1.0", "rxjs": "6.3.3" }, "dependencies": { "@angular-devkit/core": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.2.tgz", - "integrity": "sha512-liVqobArUfTvf0cZcjr3VI5tnHR+QjzfvC4HFBwIArls6/RxIATqd9GE9mFMWpy17xgVq8N7WmD6bymv1trbfA==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.3.tgz", + "integrity": "sha512-Yp0AhTuJbp0VwCHTmUOANrKZNQxTD/F49jPmSCBa/VMYMIoU/sUIiHVNdwzfcFnMoExGoXYah0kutBxgNIG3OA==", "requires": { "ajv": "6.5.3", "chokidar": "2.0.4", @@ -1512,32 +1512,32 @@ } }, "@fortawesome/fontawesome-common-types": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.6.tgz", - "integrity": "sha512-AoBpRaR7IVaXgF2rh0G6cY+WSQhGqDf+JheJMGoSH0E0YjVIUxwha7Nf0SuwQuSQe1GwxZbuaoPUTXA74cRS3w==" + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.7.tgz", + "integrity": "sha512-lFgL3Kqfwk8WS66pkBx5rpd7IQuo8UuahZXH9iuV9UrPK8eDzLccCYopnhTUgsz7+aJpMpqjVyv/N/11j5TtVw==" }, "@fortawesome/fontawesome-svg-core": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.6.tgz", - "integrity": "sha512-784NAqscnUuMZmf7eNSOn2L71VecLQAkEhfyYzTYnh6i+ycxy7tvpw4Ys4wc6RiglKqTddWRkWBZZ9uGAtfoWg==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.7.tgz", + "integrity": "sha512-lkysL+BqfeggO+rAew3WFHJNImB47NBQrEfD32gXaS3MYkEdo1YkGkQ6/4hfY4Dt7rJfSseeUIYqMB8eEHD9JQ==", "requires": { - "@fortawesome/fontawesome-common-types": "^0.2.6" + "@fortawesome/fontawesome-common-types": "^0.2.7" } }, "@fortawesome/free-brands-svg-icons": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.4.1.tgz", - "integrity": "sha512-kt81EOduizFQ8YHURrN1vl230Z8eOu05QysTtZejyJBrMrU1YSDUMNwlP5t8vYZ8VErWx5C1Kqom5OEctDKmrA==", + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.4.2.tgz", + "integrity": "sha512-Pb1D/VWa/L0W+/LfZqQJ3I3tf96Q/nDwinkMfL+pJF+gBTSc7UZR0U2fkmDRWjSDzrPggkMPkVUZMkimOnPQ3w==", "requires": { - "@fortawesome/fontawesome-common-types": "^0.2.6" + "@fortawesome/fontawesome-common-types": "^0.2.7" } }, "@fortawesome/free-solid-svg-icons": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.4.1.tgz", - "integrity": "sha512-GRYr+T0sAnfjImhDJt6Gko3sW554+/fEUHgDFJonEEFYLbfLyv6Qn5i/VB8nXcJJLgqHbVwIvwH5Ol3IehIjow==", + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.4.2.tgz", + "integrity": "sha512-emie9CsLZPLVPH1adR3MNGNlm0GSVvEuUbZkQr0uXSp+Q9SZL0/OF6ava3DCKkwDbjn3jDKPchOraj0Vkuat6Q==", "requires": { - "@fortawesome/fontawesome-common-types": "^0.2.6" + "@fortawesome/fontawesome-common-types": "^0.2.7" } }, "@marionebl/sander": { @@ -1660,12 +1660,12 @@ "dev": true }, "@ngtools/webpack": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-7.0.2.tgz", - "integrity": "sha512-xEZEsZZgwmL/sCv3hAbZVgf+wVB7UzPcTkyprzD2K+2zFivCDd43uYAOdlrOnihCoEIpwnPTn69urjopMqmcjg==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-7.0.3.tgz", + "integrity": "sha512-8vllt35aCARPF8LJ3YfVpqTG39/vDLtY8+8LZqUKnOIlX9F0uzuQl86pmKoIAyk6sLPkR0SpaMGwYDunVjzxRQ==", "dev": true, "requires": { - "@angular-devkit/core": "7.0.2", + "@angular-devkit/core": "7.0.3", "enhanced-resolve": "4.1.0", "rxjs": "6.3.3", "tree-kill": "1.2.0", @@ -1673,9 +1673,9 @@ }, "dependencies": { "@angular-devkit/core": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.2.tgz", - "integrity": "sha512-liVqobArUfTvf0cZcjr3VI5tnHR+QjzfvC4HFBwIArls6/RxIATqd9GE9mFMWpy17xgVq8N7WmD6bymv1trbfA==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.3.tgz", + "integrity": "sha512-Yp0AhTuJbp0VwCHTmUOANrKZNQxTD/F49jPmSCBa/VMYMIoU/sUIiHVNdwzfcFnMoExGoXYah0kutBxgNIG3OA==", "dev": true, "requires": { "ajv": "6.5.3", @@ -1745,17 +1745,17 @@ } }, "@ngx-formly/core": { - "version": "5.0.0-beta.12", - "resolved": "https://registry.npmjs.org/@ngx-formly/core/-/core-5.0.0-beta.12.tgz", - "integrity": "sha512-klYu77HO6175/b0VjuHdou7MI5phMcDU5+IWdVnNZsPxvxzGIrH9BWBA7CuBD74rNzEZRdk/uBr+ToiO5BCk7g==", + "version": "5.0.0-beta.13", + "resolved": "https://registry.npmjs.org/@ngx-formly/core/-/core-5.0.0-beta.13.tgz", + "integrity": "sha512-41355Da8POCQ+ZIyFugjsZjjSW3p20XwO4uiKAJwFVRJlVMMsbOu6yb3JZmpbbWg6bhMx5bt+5TT0ch/b9gvvA==", "requires": { "tslib": "^1.7.1" } }, "@ngx-formly/material": { - "version": "5.0.0-beta.12", - "resolved": "https://registry.npmjs.org/@ngx-formly/material/-/material-5.0.0-beta.12.tgz", - "integrity": "sha512-bpmYvFI+0s4GWrlTIwx3JDYQL+LtiU8PIdBeZY/E4At6IxrkAxk6gATDb+UgcIhIRGrhlF9lZCz2EgpUDor8sg==", + "version": "5.0.0-beta.13", + "resolved": "https://registry.npmjs.org/@ngx-formly/material/-/material-5.0.0-beta.13.tgz", + "integrity": "sha512-25y9F1BMZvJO9svYieyHoAxz82T8ce2heaq/nbpNBTjwV+l9eG55mF82r3F1CAJjI7Xf7rzm98ph+O2nFGmaig==", "requires": { "tslib": "^1.9.0" } @@ -2294,19 +2294,19 @@ } }, "@schematics/angular": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-7.0.2.tgz", - "integrity": "sha512-EMYo3CguVFqpVkXPlyXdyMaPA3LIDDfHtrjc4kAkb+yLorTsKETTWoVFwOzG7xoF3uIG+inkeKr/MzU0OejrUw==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-7.0.3.tgz", + "integrity": "sha512-x367+yMZIyGL+XWcSELsjyv2x0sZWlEd/5uEGalFqH2Q8ViXkTnXWek7TzzGjt+APM8WfF2JUbrmb8yxZ2g99Q==", "requires": { - "@angular-devkit/core": "7.0.2", - "@angular-devkit/schematics": "7.0.2", + "@angular-devkit/core": "7.0.3", + "@angular-devkit/schematics": "7.0.3", "typescript": "3.1.3" }, "dependencies": { "@angular-devkit/core": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.2.tgz", - "integrity": "sha512-liVqobArUfTvf0cZcjr3VI5tnHR+QjzfvC4HFBwIArls6/RxIATqd9GE9mFMWpy17xgVq8N7WmD6bymv1trbfA==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.3.tgz", + "integrity": "sha512-Yp0AhTuJbp0VwCHTmUOANrKZNQxTD/F49jPmSCBa/VMYMIoU/sUIiHVNdwzfcFnMoExGoXYah0kutBxgNIG3OA==", "requires": { "ajv": "6.5.3", "chokidar": "2.0.4", @@ -2724,12 +2724,12 @@ } }, "@semantic-release/github": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-5.2.0.tgz", - "integrity": "sha512-w2EQjCWrNVOD1P2uPFOWQh8cVVc+N2l+DMLa4opFN4fc5TRDO1En0WA1S76JbQBn+fXp5uYQFt+KTGsVatg2OA==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-5.2.1.tgz", + "integrity": "sha512-EVh5MCMOSl5WfOIum+k7fb7ZaDBcZAepPvtMrJOn8HKa9MERK6PgT76OKro+tReWjT1PnGiaKjofjyRC4BhN6Q==", "dev": true, "requires": { - "@octokit/rest": "^15.2.0", + "@octokit/rest": "^15.13.1", "@semantic-release/error": "^2.2.0", "aggregate-error": "^1.0.0", "bottleneck": "^2.0.1", @@ -2885,9 +2885,9 @@ } }, "@semantic-release/release-notes-generator": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-7.1.1.tgz", - "integrity": "sha512-UbF0aU/RHeOW38jYcOPJFEqqxq01zKuaT54cdzyaci3cH8jfocR7YaPevtx7PTnwmha54ukuT+JQ9vBViYPTZw==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-7.1.2.tgz", + "integrity": "sha512-dpI2dWmr3r5cLHhwzU6WfrnoAdAghJ3oqkk5MGieW02w+Su2y8bscuQlb0lOkb7nVnI2cAOgbXQy7feAcrWwgw==", "dev": true, "requires": { "conventional-changelog-angular": "^5.0.0", @@ -2896,7 +2896,6 @@ "conventional-commits-parser": "^3.0.0", "debug": "^4.0.0", "get-stream": "^4.0.0", - "git-url-parse": "^10.0.1", "import-from": "^2.1.0", "into-stream": "^4.0.0", "lodash": "^4.17.4" @@ -3233,9 +3232,9 @@ } }, "@types/jest": { - "version": "23.3.7", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-23.3.7.tgz", - "integrity": "sha512-N0p6mHrS0RHC3A9hHN4QH1RM2fGSb2E8rt6ONEK5xKSnyKtn/JAhr1VritkCn6cdyDBephVB80THqJGWzK8FAw==", + "version": "23.3.8", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-23.3.8.tgz", + "integrity": "sha512-OKDxB/7woaQfUKkj+7+Zo3PmAxAYAy+SNwOwFhnYAc8JTaPhGOv8SC6QQg5D9+Giprhx/DzoKbJIpV9799VV0g==", "dev": true }, "@types/json5": { @@ -3254,9 +3253,9 @@ } }, "@types/lodash": { - "version": "4.14.116", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.116.tgz", - "integrity": "sha512-lRnAtKnxMXcYYXqOiotTmJd74uawNWuPnsnPrrO7HiFuE3npE2iQhfABatbYDyxTNqZNuXzcKGhw37R7RjBFLg==", + "version": "4.14.117", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.117.tgz", + "integrity": "sha512-xyf2m6tRbz8qQKcxYZa7PA4SllYcay+eh25DN3jmNYY6gSTL7Htc/bttVdkqj2wfJGbeWlQiX8pIyJpKU+tubw==", "dev": true }, "@types/mime": { @@ -4301,16 +4300,16 @@ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" }, "autoprefixer": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-8.4.1.tgz", - "integrity": "sha512-YqUclCBDXUT9Y7aQ8Xv+ja8yhTZYJoMsOD7WS++gZIJLCpCu+gPcKGDlhk6S3WxhLkTcNVdaMZAWys2nzZCH7g==", + "version": "9.1.5", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.1.5.tgz", + "integrity": "sha512-kk4Zb6RUc58ld7gdosERHMF3DzIYJc2fp5sX46qEsGXQQy5bXsu8qyLjoxuY1NuQ/cJuCYnx99BfjwnRggrYIw==", "dev": true, "requires": { - "browserslist": "^3.2.6", - "caniuse-lite": "^1.0.30000832", + "browserslist": "^4.1.0", + "caniuse-lite": "^1.0.30000884", "normalize-range": "^0.1.2", "num2fraction": "^1.2.2", - "postcss": "^6.0.22", + "postcss": "^7.0.2", "postcss-value-parser": "^3.2.3" } }, @@ -5088,6 +5087,18 @@ "browserslist": "^3.2.6", "invariant": "^2.2.2", "semver": "^5.3.0" + }, + "dependencies": { + "browserslist": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", + "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30000844", + "electron-to-chromium": "^1.3.47" + } + } } }, "babel-preset-flow": { @@ -5615,13 +5626,14 @@ } }, "browserslist": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", - "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.3.3.tgz", + "integrity": "sha512-6h84UD1mmHeuQ9IucX6yzBc+KBYcBBTLYt2CXtY7GYCra6iE5kOm7oM+zuGw/0tjGtbJxjm58OvxSBmogEMCRQ==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30000844", - "electron-to-chromium": "^1.3.47" + "caniuse-lite": "^1.0.30000898", + "electron-to-chromium": "^1.3.81", + "node-releases": "^1.0.0-alpha.15" } }, "bs-logger": { @@ -5911,9 +5923,9 @@ "integrity": "sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs=" }, "caniuse-lite": { - "version": "1.0.30000888", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000888.tgz", - "integrity": "sha512-vftg+5p/lPsQGpnhSo/yBuYL36ai/cyjLvU3dOPJY1kkKrekLWIy8SLm+wzjX0hpCUdFTasC4/ZT7uqw4rKOnQ==", + "version": "1.0.30000899", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000899.tgz", + "integrity": "sha512-enC3zKfUCJxxwvUIsBkbHd54CtJw1KtIWvrK0JZxWD/fEN2knHaai45lndJ4xXAkyRAPyk60J3yagkKDWhfeMA==", "dev": true }, "canonical-path": { @@ -5962,14 +5974,17 @@ } }, "chai": { - "version": "3.5.0", - "resolved": "http://registry.npmjs.org/chai/-/chai-3.5.0.tgz", - "integrity": "sha1-TQJjewZ/6Vi9v906QOxW/vc3Mkc=", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", + "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==", "dev": true, "requires": { - "assertion-error": "^1.0.1", - "deep-eql": "^0.1.3", - "type-detect": "^1.0.0" + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^3.0.1", + "get-func-name": "^2.0.0", + "pathval": "^1.1.0", + "type-detect": "^4.0.5" } }, "chalk": { @@ -6037,6 +6052,12 @@ "color-name": "^1.0.0" } }, + "check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", + "dev": true + }, "check-types": { "version": "7.4.0", "resolved": "https://registry.npmjs.org/check-types/-/check-types-7.4.0.tgz", @@ -7129,9 +7150,9 @@ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" }, "copy-webpack-plugin": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.5.3.tgz", - "integrity": "sha512-VKCiNXQcc8zyznaepXfKpCH2cZD+/j3T3B+gsFY97P7qMlEsj34wr/sI9OCG7QPUUh7gAHVx3q8Q1rdQIDM4bA==", + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.5.4.tgz", + "integrity": "sha512-0lstlEyj74OAtYMrDxlNZsU7cwFijAI3Ofz2fD6Mpo9r4xCv4yegfa3uHIKvZY1NSuOtE9nvG6TAhJ+uz9gDaQ==", "dev": true, "requires": { "cacache": "^10.0.4", @@ -7798,20 +7819,12 @@ "dev": true }, "deep-eql": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz", - "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", + "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", "dev": true, "requires": { - "type-detect": "0.1.1" - }, - "dependencies": { - "type-detect": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz", - "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=", - "dev": true - } + "type-detect": "^4.0.0" } }, "deep-equal": { @@ -8335,9 +8348,9 @@ } }, "electron-to-chromium": { - "version": "1.3.73", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.73.tgz", - "integrity": "sha512-6PIg7v9zRoVGh6EheRF8h6Plti+3Yo/qtHobS4/Htyt53DNHmKKGFqSae1AIk0k1S4gCQvt7I2WgpbuZNcDY+g==", + "version": "1.3.82", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.82.tgz", + "integrity": "sha512-NI4nB2IWGcU4JVT1AE8kBb/dFor4zjLHMLsOROPahppeHrR0FG5uslxMmkp/thO1MvPjM2xhlKoY29/I60s0ew==", "dev": true }, "elegant-spinner": { @@ -10394,6 +10407,12 @@ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" }, + "get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "dev": true + }, "get-own-enumerable-property-symbols": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-2.0.1.tgz", @@ -10659,25 +10678,6 @@ } } }, - "git-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/git-up/-/git-up-2.1.0.tgz", - "integrity": "sha512-MJgwfcSd9qxgDyEYpRU/CDxNpUadrK80JHuEQDG4Urn0m7tpSOgCBrtiSIa9S9KH8Tbuo/TN8SSQmJBvsw1HkA==", - "dev": true, - "requires": { - "is-ssh": "^1.3.0", - "parse-url": "^3.0.2" - } - }, - "git-url-parse": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-10.1.0.tgz", - "integrity": "sha512-goZOORAtFjU1iG+4zZgWq+N7It09PqS3Xsy43ZwhP5unDD0tTSmXTpqULHodMdJXGejm3COwXIhIRT6Z8DYVZQ==", - "dev": true, - "requires": { - "git-up": "^2.0.0" - } - }, "glob": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", @@ -12246,15 +12246,6 @@ "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", "dev": true }, - "is-ssh": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.0.tgz", - "integrity": "sha1-6+oRaaJhTaOSpjdANmw84EnY3/Y=", - "dev": true, - "requires": { - "protocols": "^1.1.0" - } - }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -15333,10 +15324,10 @@ "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz", "integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y=" }, - "moment-duration-format": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/moment-duration-format/-/moment-duration-format-2.2.2.tgz", - "integrity": "sha1-uVdhLeJgFsmtnrYIfAVFc+USd3k=", + "moment-duration-format-commonjs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/moment-duration-format-commonjs/-/moment-duration-format-commonjs-1.0.0.tgz", + "integrity": "sha512-MVFR4hIh4jfuwSCPBEE5CCwn3refvTsxK/Yv/DpKJ6YcNnCimlVJ6DQeTJG1KVQPw1o8m3tkbHE9gVjivyv9iA==", "dev": true }, "morgan": { @@ -15449,9 +15440,9 @@ "integrity": "sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA==" }, "nanoid": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-1.2.6.tgz", - "integrity": "sha512-um9vXiM407BaRbBNa0aKPzFBSD2fDbVmmA9TzCWWlxZvEBzTbixM7ss6GDS4G/cNMYeZSNFx5SzAgWoG1uHU9g==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-1.3.1.tgz", + "integrity": "sha512-wSBw7t+JVjQAY8q89BhrTaBTMdoPGbZP8qQqidQHL76oeaFJ9i+c6SKKHP2l/DmzLP43eeV6JkM3f5Mb6saH8Q==", "dev": true }, "nanomatch": { @@ -15735,9 +15726,9 @@ "integrity": "sha512-YJYwaAypcBOD52ISxyD4TMfbhrhS5I99JJImOqQau9S+xNKDcXUUKPk0Il65RA/ThVChK0sR7cxOrpv0S9HplA==" }, "ngx-perfect-scrollbar": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/ngx-perfect-scrollbar/-/ngx-perfect-scrollbar-6.3.1.tgz", - "integrity": "sha512-kgHT0A1pDnZO5CxB4TOwflHb1Q152wZ3Nec0Zf7d29bgA1kAFl6oK8wFmYtGWeaFNhSCExus6TOq3sWN3xRQig==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/ngx-perfect-scrollbar/-/ngx-perfect-scrollbar-7.0.0.tgz", + "integrity": "sha512-r6GfdT0Yc2QA0Fpf7Di8xLqN1tJCzkp//q3TL3d5b/17dJHoP7ngyiNVZs5T6koQYtPBknk1ME3l6jAv2aUVGQ==", "requires": { "perfect-scrollbar": "^1.4.0", "resize-observer-polyfill": "^1.4.0" @@ -16066,12 +16057,12 @@ "integrity": "sha512-A3s7EM/426OBIZbLHXq2KkgvmKbn2Xga4m4G+ZUA4IaZvG8PcZXrFh+2E4VaS2o+emhuUVRnzKN2YmpkXQ9qwA==" }, "nodemon": { - "version": "1.18.4", - "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-1.18.4.tgz", - "integrity": "sha512-hyK6vl65IPnky/ee+D3IWvVGgJa/m3No2/Xc/3wanS6Ce1MWjCzH6NnhPJ/vZM+6JFym16jtHx51lmCMB9HDtg==", + "version": "1.18.5", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-1.18.5.tgz", + "integrity": "sha512-8806dC8dfBlbxQmqNOSEeay/qlbddKvFzxIGNxnPtxUlTtH77xsrC66RnA3M47HCSgMgE5bj+U586o50RowXBg==", "dev": true, "requires": { - "chokidar": "^2.0.2", + "chokidar": "^2.0.4", "debug": "^3.1.0", "ignore-by-default": "^1.0.1", "minimatch": "^3.0.4", @@ -16084,9 +16075,9 @@ }, "dependencies": { "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -19920,67 +19911,6 @@ "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", "dev": true }, - "parse-path": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-3.0.4.tgz", - "integrity": "sha512-wP70vtwv2DyrM2YoA7ZHVv4zIXa4P7dGgHlj+VwyXNDduLLVJ7NMY1zsFxjUUJ3DAwJLupGb1H5gMDDiNlJaxw==", - "dev": true, - "requires": { - "is-ssh": "^1.3.0", - "protocols": "^1.4.0" - } - }, - "parse-url": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-3.0.2.tgz", - "integrity": "sha1-YCeHpwY6eV1yuGcxl1BecvYGEL4=", - "dev": true, - "requires": { - "is-ssh": "^1.3.0", - "normalize-url": "^1.9.1", - "parse-path": "^3.0.1", - "protocols": "^1.4.0" - }, - "dependencies": { - "normalize-url": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", - "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", - "dev": true, - "requires": { - "object-assign": "^4.0.1", - "prepend-http": "^1.0.0", - "query-string": "^4.1.0", - "sort-keys": "^1.0.0" - } - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "query-string": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", - "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", - "dev": true, - "requires": { - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, - "sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", - "dev": true, - "requires": { - "is-plain-obj": "^1.0.0" - } - } - } - }, "parse5": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", @@ -20103,6 +20033,12 @@ "pify": "^3.0.0" } }, + "pathval": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", + "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", + "dev": true + }, "pause": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", @@ -20141,9 +20077,9 @@ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, "pg": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/pg/-/pg-7.5.0.tgz", - "integrity": "sha512-VFyAnp8xsMZp8nwZnMp7lmU5QcWDOZSI3IDNcWv6pblsiOXis5o7lD7/zzVK1Z1JTBiIDDGQAMbFMkiUzCL59A==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/pg/-/pg-7.6.0.tgz", + "integrity": "sha512-INUjsobS7O0Slad6fVlSSSVpMd5wozwtdSrWL5/JfEGYCWtPwgka0uQOf2KCo7QbWUmwefcuNQtzijeztDquQg==", "requires": { "buffer-writer": "1.0.1", "packet-reader": "0.3.1", @@ -20349,14 +20285,14 @@ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" }, "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.5.tgz", + "integrity": "sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ==", "dev": true, "requires": { "chalk": "^2.4.1", "source-map": "^0.6.1", - "supports-color": "^5.4.0" + "supports-color": "^5.5.0" }, "dependencies": { "source-map": { @@ -20368,12 +20304,12 @@ } }, "postcss-import": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-11.1.0.tgz", - "integrity": "sha512-5l327iI75POonjxkXgdRCUS+AlzAdBx4pOvMEhTKTCjb1p8IEeVR9yx3cPbmN7LIWJLbfnIXxAhoB4jpD0c/Cw==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-12.0.0.tgz", + "integrity": "sha512-3KqKRZcaZAvxbY8DVLdd81tG5uKzbUQuiWIvy0o0fzEC42bKacqPYFWbfCQyw6L4LWUaqPz/idvIdbhpgQ32eQ==", "dev": true, "requires": { - "postcss": "^6.0.1", + "postcss": "^7.0.1", "postcss-value-parser": "^3.2.3", "read-cache": "^1.0.0", "resolve": "^1.1.7" @@ -20390,15 +20326,28 @@ } }, "postcss-loader": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-2.1.6.tgz", - "integrity": "sha512-hgiWSc13xVQAq25cVw80CH0l49ZKlAnU1hKPOdRrNj89bokRr/bZF2nT+hebPPF9c9xs8c3gw3Fr2nxtmXYnNg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", + "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", "dev": true, "requires": { "loader-utils": "^1.1.0", - "postcss": "^6.0.0", + "postcss": "^7.0.0", "postcss-load-config": "^2.0.0", - "schema-utils": "^0.4.0" + "schema-utils": "^1.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } } }, "postcss-url": { @@ -20560,12 +20509,6 @@ "sisteransi": "^0.1.1" } }, - "protocols": { - "version": "1.4.6", - "resolved": "https://registry.npmjs.org/protocols/-/protocols-1.4.6.tgz", - "integrity": "sha1-+LsmPqG1/Xp2BNJri+Ob13Z4v4o=", - "dev": true - }, "proxy-addr": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", @@ -21945,16 +21888,16 @@ } }, "semantic-release": { - "version": "15.10.5", - "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-15.10.5.tgz", - "integrity": "sha512-VrAiPxUc1DhqD7iDeIF2qRwZVC33MRHVFC/duiZuO0nDOQ4225pyx4O17o8VYWjMRyH7wFppJgdYD98u5IznRg==", + "version": "15.10.6", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-15.10.6.tgz", + "integrity": "sha512-xoeCHLeSPdjGAj9kSFcQWcdO896+LU99rkTmeLGbAvIqXJP5Fns1efKWKSIcZhAoM8F9sDoWc7HWpGCHqyHZ1w==", "dev": true, "requires": { "@semantic-release/commit-analyzer": "^6.1.0", "@semantic-release/error": "^2.2.0", "@semantic-release/github": "^5.1.0", "@semantic-release/npm": "^5.0.5", - "@semantic-release/release-notes-generator": "^7.1.0", + "@semantic-release/release-notes-generator": "^7.1.2", "aggregate-error": "^1.0.0", "cosmiconfig": "^5.0.1", "debug": "^4.0.0", @@ -21964,7 +21907,6 @@ "find-versions": "^2.0.0", "get-stream": "^4.0.0", "git-log-parser": "^1.2.0", - "git-url-parse": "^10.0.1", "hook-std": "^1.1.0", "hosted-git-info": "^2.7.1", "lodash": "^4.17.4", @@ -23471,9 +23413,9 @@ } }, "terser": { - "version": "3.10.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.10.2.tgz", - "integrity": "sha512-+QrFoqBImmsQGB4c/HvaqgZynmbNvNBwoBxuu7fYXtq5EEtlLUzph+WimDj+xMkuqawXPMl2lgCIz81CdXvt+w==", + "version": "3.10.3", + "resolved": "https://registry.npmjs.org/terser/-/terser-3.10.3.tgz", + "integrity": "sha512-uyL5hwDICjnv49JANhZvQYLikt/HADWNbUFsKQpZ/i+JSOkL2T4V7WUpW7S/5QGZceVq2x0HRVhEQQuW2ZpX6g==", "dev": true, "requires": { "commander": "~2.17.1", @@ -23779,9 +23721,9 @@ } }, "testcafe": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/testcafe/-/testcafe-0.22.0.tgz", - "integrity": "sha512-pcuNjSYqiHNZG10xZJN9qlhzOhf/F4DZTZuC7fU2ASzRolpT4ScmhAIpuUGFYPGvc+L9vh/ATI4B6GEIHX69Eg==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/testcafe/-/testcafe-0.23.0.tgz", + "integrity": "sha512-/i1EfmhLdKoivs1MuJqY0V0lS4GTYakwr++SoxOruja5RlvWaeNosB9/Tv9b9y9wDAqufAP+Fdx0RQpujl7fYA==", "dev": true, "requires": { "async-exit-hook": "^1.1.2", @@ -23796,7 +23738,7 @@ "bin-v8-flags-filter": "^1.1.2", "callsite": "^1.0.0", "callsite-record": "^4.0.0", - "chai": "^3.0.0", + "chai": "^4.1.2", "chalk": "^1.1.0", "chrome-emulated-devices-list": "^0.1.0", "chrome-remote-interface": "^0.25.3", @@ -23816,10 +23758,10 @@ "is-glob": "^2.0.1", "lodash": "^4.17.10", "log-update-async-hook": "^2.0.2", + "make-dir": "^1.3.0", "map-reverse": "^1.0.1", - "mkdirp": "^0.5.1", "moment": "^2.10.3", - "moment-duration-format": "^2.2.2", + "moment-duration-format-commonjs": "^1.0.0", "mustache": "^2.1.2", "nanoid": "^1.0.1", "node-version": "^1.0.0", @@ -23839,7 +23781,7 @@ "source-map-support": "^0.5.5", "strip-bom": "^2.0.0", "testcafe-browser-tools": "1.6.5", - "testcafe-hammerhead": "14.2.6", + "testcafe-hammerhead": "14.3.1", "testcafe-legacy-api": "3.1.8", "testcafe-reporter-json": "^2.1.0", "testcafe-reporter-list": "^2.1.0", @@ -23998,12 +23940,6 @@ } } }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", @@ -24076,9 +24012,9 @@ } }, "testcafe-hammerhead": { - "version": "14.2.6", - "resolved": "https://registry.npmjs.org/testcafe-hammerhead/-/testcafe-hammerhead-14.2.6.tgz", - "integrity": "sha512-UV0rV3cPQnc6Ku/YUf6mf4nGWSx3n0oBcyLmh2UdqZwAPhfneL+KZlAw5DVadoT/i/4Hq0rrcNMB6U93lFhi/w==", + "version": "14.3.1", + "resolved": "https://registry.npmjs.org/testcafe-hammerhead/-/testcafe-hammerhead-14.3.1.tgz", + "integrity": "sha512-MFo4sd7BxqKMYo5eiUiYL6FcVRe01SR8BPTYEI1IYqaQuVJfpUMmeQie4/KOocaoRN+3MPnCkbWN5yfrASSOcQ==", "dev": true, "requires": { "bowser": "1.6.0", @@ -24103,8 +24039,7 @@ "semver": "5.5.0", "tough-cookie": "2.3.3", "tunnel-agent": "0.6.0", - "webauth": "^1.1.0", - "yakaa": "1.0.1" + "webauth": "^1.1.0" }, "dependencies": { "iconv-lite": { @@ -24859,9 +24794,9 @@ } }, "type-detect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz", - "integrity": "sha1-diIXzAbbJY7EiQihKY6LlRIejqI=", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true }, "type-is": { @@ -26582,12 +26517,6 @@ "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" }, - "yakaa": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/yakaa/-/yakaa-1.0.1.tgz", - "integrity": "sha1-PsqucvPQidpYCJQDEmIEzsdy5go=", - "dev": true - }, "yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", diff --git a/package.json b/package.json index b2acd6ed4..632338d1d 100644 --- a/package.json +++ b/package.json @@ -111,23 +111,23 @@ "private": true, "dependencies": { "@angular/animations": "^7.0.1", - "@angular/cdk": "^7.0.1", + "@angular/cdk": "^7.0.2", "@angular/common": "^7.0.1", "@angular/compiler": "^7.0.1", "@angular/core": "^7.0.1", "@angular/flex-layout": "^7.0.0-beta.19", "@angular/forms": "^7.0.1", - "@angular/material": "^7.0.1", - "@angular/material-moment-adapter": "^7.0.1", + "@angular/material": "^7.0.2", + "@angular/material-moment-adapter": "^7.0.2", "@angular/platform-browser": "^7.0.1", "@angular/platform-browser-dynamic": "^7.0.1", - "@angular/pwa": "0.10.2", + "@angular/pwa": "0.10.3", "@angular/router": "^7.0.1", "@angular/service-worker": "^7.0.1", "@fortawesome/angular-fontawesome": "^0.3.0", - "@fortawesome/fontawesome-svg-core": "^1.2.6", - "@fortawesome/free-brands-svg-icons": "^5.4.1", - "@fortawesome/free-solid-svg-icons": "^5.4.1", + "@fortawesome/fontawesome-svg-core": "^1.2.7", + "@fortawesome/free-brands-svg-icons": "^5.4.2", + "@fortawesome/free-solid-svg-icons": "^5.4.2", "@nestjs/common": "^5.4.0", "@nestjs/core": "^5.4.0", "@nestjs/elasticsearch": "^0.1.2", @@ -136,8 +136,8 @@ "@nestjs/swagger": "^2.5.1", "@nestjs/typeorm": "^5.2.2", "@nestjs/websockets": "^5.4.0", - "@ngx-formly/core": "^5.0.0-beta.12", - "@ngx-formly/material": "^5.0.0-beta.12", + "@ngx-formly/core": "^5.0.0-beta.13", + "@ngx-formly/material": "^5.0.0-beta.13", "@ngxs/devtools-plugin": "^3.2.0", "@ngxs/form-plugin": "^3.2.0", "@ngxs/router-plugin": "^3.2.0", @@ -170,11 +170,11 @@ "ngx-filepond": "^4.0.0", "ngx-moment": "^3.1.0", "ngx-page-scroll": "^5.0.0", - "ngx-perfect-scrollbar": "^6.3.1", + "ngx-perfect-scrollbar": "^7.0.0", "nodemailer": "^4.6.8", "passport": "^0.4.0", "passport-jwt": "^4.0.0", - "pg": "^7.5.0", + "pg": "^7.6.0", "pug": "^2.0.3", "rxjs": "^6.3.3", "screenfull": "^3.3.3", @@ -186,8 +186,8 @@ "zone.js": "^0.8.26" }, "devDependencies": { - "@angular-devkit/build-angular": "0.10.2", - "@angular-devkit/build-ng-packagr": "0.10.2", + "@angular-devkit/build-angular": "0.10.3", + "@angular-devkit/build-ng-packagr": "0.10.3", "@angular/cli": "^7.0.3", "@angular/compiler-cli": "^7.0.1", "@angular/http": "^7.0.1", @@ -201,12 +201,12 @@ "@nrwl/schematics": "^6.4.0", "@semantic-release/changelog": "^3.0.1", "@semantic-release/git": "^7.0.5", - "@semantic-release/github": "^5.2.0", + "@semantic-release/github": "^5.2.1", "@semantic-release/npm": "^5.0.5", "@types/dotenv": "^4.0.3", "@types/hammerjs": "^2.0.36", "@types/helmet": "^0.0.42", - "@types/jest": "^23.3.7", + "@types/jest": "^23.3.8", "@types/node": "^10.12.0", "@types/nodemailer": "^4.6.5", "@types/passport": "0.4.6", @@ -225,13 +225,13 @@ "lint-staged": "^7.3.0", "loaders.css": "^0.1.2", "ng-packagr": "^4.4.0", - "nodemon": "^1.18.4", + "nodemon": "^1.18.5", "prettier": "^1.14.3", "rimraf": "^2.6.2", "rxjs-tslint-rules": "^4.10.0", - "semantic-release": "^15.10.5", + "semantic-release": "^15.10.6", "supertest": "^3.3.0", - "testcafe": "^0.22.0", + "testcafe": "^0.23.0", "testcafe-angular-selectors": "^0.3.0", "testcafe-live": "^0.1.3", "ts-jest": "^23.10.4", diff --git a/stories/faq.md b/stories/faq.md index f1c037072..42473eb54 100644 --- a/stories/faq.md +++ b/stories/faq.md @@ -33,6 +33,7 @@ type `ng.profiler.timeChangeDetection();` in console. * How implement Progressive Web Applications (PWA) with Service Workers? > Refer [here](https://medium.com/codingthesmartway-com-blog/angular-5-service-worker-b722e571e306) +> Read [Building a Search-Engine Optimized PWA with Angular](https://blog.bitsrc.io/building-an-search-engine-optimized-pwa-with-angular-part-2-4473aed90c14) * How to keep footers at the bottom of the page? > Refer [here](http://matthewjamestaylor.com/blog/keeping-footers-at-the-bottom-of-the-page) @@ -140,6 +141,7 @@ Total Guide To Dynamic Angular Animations That Can Be Customized At Runtime semantic-release is a fully automated library/system for versioning, changelog generation, git tagging, and publishing to the npm registry. > [refer](https://blog.greenkeeper.io/introduction-to-semantic-release-33f73b117c8) +> Refer [Angular DevOps](https://blog.angularindepth.com/the-angular-devops-series-semantically-release-your-angular-library-7d78afb4c845) > Watch Automating Releases with [semantic-release](https://egghead.io/lessons/javascript-automating-releases-with-semantic-release) > Read [enforcing commit conventions](https://adrianperez.codes/enforcing-commit-conventions/) > Read [automate package releases](https://medium.com/@schalkneethling/automate-package-releases-with-semantic-release-and-commitizen-d7d4c337f04f) diff --git a/tsconfig.json b/tsconfig.json index a4ba6b284..fe769663f 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -16,7 +16,8 @@ ], "lib": [ "es2017", - "dom" + "dom", + "esnext.array" ], "paths": { "@ngx-starter-kit/*": [ @@ -97,9 +98,6 @@ "@ngx-starter-kit/quickpanel": [ "libs/quickpanel/src/index.ts" ], - "@ngx-starter-kit/ngx-pipes": [ - "libs/ngx-pipes/src/index.ts" - ], "@ngx-starter-kit/svg-viewer": [ "libs/svg-viewer/src/index.ts" ], @@ -141,6 +139,9 @@ ], "@ngx-starter-kit/image-comparison": [ "libs/image-comparison/src/index.ts" + ], + "@ngx-starter-kit/ngx-utils": [ + "libs/ngx-utils/src/index.ts" ] } }, From 1e569e898135ba7c5e913f2c0aa5e3114e94ba3d Mon Sep 17 00:00:00 2001 From: xmlking Date: Sun, 28 Oct 2018 15:31:02 -0700 Subject: [PATCH 19/22] feat(ngx-utils): using new untilDestroy --- .../src/lib/context-menu-trigger.directive.ts | 19 ++++++------------- .../draggable/draggable.directive.ts | 13 +++++-------- .../header/sticky-header.directive.ts | 14 ++++++-------- .../lib/containers/about/about.component.ts | 13 +++++-------- .../src/lib/scroll-to-top.component.ts | 16 ++++++---------- libs/sidenav/src/lib/sidenav.component.ts | 11 ++++------- 6 files changed, 32 insertions(+), 54 deletions(-) diff --git a/libs/context-menu/src/lib/context-menu-trigger.directive.ts b/libs/context-menu/src/lib/context-menu-trigger.directive.ts index 02568ee27..abada3b41 100644 --- a/libs/context-menu/src/lib/context-menu-trigger.directive.ts +++ b/libs/context-menu/src/lib/context-menu-trigger.directive.ts @@ -11,7 +11,7 @@ import { import { Overlay } from '@angular/cdk/overlay'; import { TemplatePortal } from '@angular/cdk/portal'; import { Subject, fromEvent } from 'rxjs'; -import { takeUntil } from 'rxjs/operators'; +import { untilDestroy } from '@ngx-starter-kit/ngx-utils'; @Directive({ selector: '[contextMenu]', @@ -22,17 +22,8 @@ export class ContextMenuTriggerDirective implements OnDestroy { @Input() contextMenu: TemplateRef; - private _destroy$: Subject; - constructor(private _overlay: Overlay, private _elementRef: ElementRef, private _vcr: ViewContainerRef) {} - ngOnDestroy() { - if (this._destroy$) { - this._destroy$.next(); - this._destroy$.complete(); - } - } - @HostListener('contextmenu', ['$event']) onContextMenu(event: MouseEvent) { event.preventDefault(); @@ -54,10 +45,12 @@ export class ContextMenuTriggerDirective implements OnDestroy { const templatePortal = new TemplatePortal(this.contextMenu, this._vcr); overlayRef.attach(templatePortal); - this._destroy$ = new Subject(); - fromEvent(document, 'click') - .pipe(takeUntil(this._destroy$)) + /** Automatically unsubscribe on destroy */ + .pipe(untilDestroy(this)) .subscribe(() => overlayRef.detach()); } + + /** Must have */ + ngOnDestroy() {} } diff --git a/libs/draggable/src/lib/directives/draggable/draggable.directive.ts b/libs/draggable/src/lib/directives/draggable/draggable.directive.ts index 295e1404e..3bd03c051 100644 --- a/libs/draggable/src/lib/directives/draggable/draggable.directive.ts +++ b/libs/draggable/src/lib/directives/draggable/draggable.directive.ts @@ -1,6 +1,7 @@ import { AfterViewInit, Directive, ElementRef, HostBinding, Input, NgZone, OnDestroy } from '@angular/core'; -import { fromEvent, merge, Subject } from 'rxjs'; +import { fromEvent, merge } from 'rxjs'; import { map, switchMap, takeUntil } from 'rxjs/operators'; +import { untilDestroy } from '@ngx-starter-kit/ngx-utils'; @Directive({ selector: '[draggable]', @@ -20,8 +21,6 @@ export class DraggableDirective implements AfterViewInit, OnDestroy { private delta = { x: 0, y: 0 }; private offset = { x: 0, y: 0 }; - private destroy$ = new Subject(); - constructor(private elementRef: ElementRef, private zone: NgZone) {} public ngAfterViewInit(): void { @@ -32,9 +31,7 @@ export class DraggableDirective implements AfterViewInit, OnDestroy { this.setupEvents(); } - public ngOnDestroy(): void { - this.destroy$.next(); - } + ngOnDestroy() {} private setupEvents() { this.zone.runOutsideAngular(() => { @@ -80,7 +77,7 @@ export class DraggableDirective implements AfterViewInit, OnDestroy { takeUntil(end$), ); }), - takeUntil(this.destroy$), + untilDestroy(this), ); drag$.subscribe(() => { @@ -91,7 +88,7 @@ export class DraggableDirective implements AfterViewInit, OnDestroy { this.translate(); }); - end$.pipe(takeUntil(this.destroy$)).subscribe(() => { + end$.pipe(untilDestroy(this)).subscribe(() => { this.offset.x += this.delta.x; this.offset.y += this.delta.y; this.delta = { x: 0, y: 0 }; diff --git a/libs/home/src/lib/components/header/sticky-header.directive.ts b/libs/home/src/lib/components/header/sticky-header.directive.ts index e80403b25..602600cba 100644 --- a/libs/home/src/lib/components/header/sticky-header.directive.ts +++ b/libs/home/src/lib/components/header/sticky-header.directive.ts @@ -1,8 +1,9 @@ import { animate, AnimationBuilder, AnimationMetadata, AnimationPlayer, style } from '@angular/animations'; import { AfterViewInit, Directive, ElementRef, OnDestroy } from '@angular/core'; -import { fromEvent, Subject } from 'rxjs'; -import { distinctUntilChanged, filter, map, pairwise, share, takeUntil, throttleTime } from 'rxjs/operators'; +import { fromEvent } from 'rxjs'; +import { distinctUntilChanged, filter, map, pairwise, share, throttleTime } from 'rxjs/operators'; +import { untilDestroy } from '@ngx-starter-kit/ngx-utils'; enum Direction { Up = 'Up', @@ -13,7 +14,7 @@ enum Direction { selector: '[stickyHeader]', }) export class StickyHeaderDirective implements AfterViewInit, OnDestroy { - private _destroyed$ = new Subject(); + player: AnimationPlayer; set show(show: boolean) { @@ -55,7 +56,7 @@ export class StickyHeaderDirective implements AfterViewInit, OnDestroy { map(([y1, y2]): Direction => (y2 < y1 ? Direction.Up : Direction.Down)), distinctUntilChanged(), share(), - takeUntil(this._destroyed$), + untilDestroy(this), ); const goingUp$ = scroll$.pipe(filter(direction => direction === Direction.Up)); @@ -66,8 +67,5 @@ export class StickyHeaderDirective implements AfterViewInit, OnDestroy { goingDown$.subscribe(() => (this.show = false)); } - ngOnDestroy() { - this._destroyed$.next(); - this._destroyed$.complete(); - } + ngOnDestroy() {} } diff --git a/libs/home/src/lib/containers/about/about.component.ts b/libs/home/src/lib/containers/about/about.component.ts index 5069f3e64..d73df7c67 100644 --- a/libs/home/src/lib/containers/about/about.component.ts +++ b/libs/home/src/lib/containers/about/about.component.ts @@ -1,9 +1,10 @@ import { AfterViewInit, Component, ElementRef, OnDestroy, OnInit, ViewChild } from '@angular/core'; import { ROUTE_ANIMATIONS_ELEMENTS } from '@ngx-starter-kit/animations'; +import { fromEvent, Subscription } from 'rxjs'; +import { debounceTime, distinctUntilChanged, map } from 'rxjs/operators'; +import { untilDestroy } from '@ngx-starter-kit/ngx-utils'; // import * as Trianglify from 'trianglify'; declare var Trianglify: any; -import { fromEvent, Subject, Subscription } from 'rxjs'; -import { map, debounceTime, distinctUntilChanged, takeUntil } from 'rxjs/operators'; @Component({ selector: 'ngx-about', @@ -11,8 +12,6 @@ import { map, debounceTime, distinctUntilChanged, takeUntil } from 'rxjs/operato styleUrls: ['./about.component.scss'], }) export class AboutComponent implements OnInit, OnDestroy, AfterViewInit { - private _destroyed = new Subject(); - routeAnimationsElements = ROUTE_ANIMATIONS_ELEMENTS; @ViewChild('trianglify') trianglifyCanvasRef: ElementRef; @@ -26,7 +25,7 @@ export class AboutComponent implements OnInit, OnDestroy, AfterViewInit { debounceTime(100), map(event => [(event.target).innerWidth, (event.target).innerHeight]), distinctUntilChanged(), - takeUntil(this._destroyed), + untilDestroy(this), ) .subscribe(res => { // setTimeout(() => {this.renderCanvas() }, 1000) @@ -34,9 +33,7 @@ export class AboutComponent implements OnInit, OnDestroy, AfterViewInit { }); } - ngOnDestroy() { - this._destroyed.next(); - } + ngOnDestroy() {} ngAfterViewInit() { setTimeout(() => { diff --git a/libs/scroll-to-top/src/lib/scroll-to-top.component.ts b/libs/scroll-to-top/src/lib/scroll-to-top.component.ts index 48b292ff5..1c957ca64 100644 --- a/libs/scroll-to-top/src/lib/scroll-to-top.component.ts +++ b/libs/scroll-to-top/src/lib/scroll-to-top.component.ts @@ -1,9 +1,10 @@ import { AfterViewInit, Component, Inject, OnDestroy } from '@angular/core'; import { DOCUMENT } from '@angular/common'; import { scrollFabAnimation } from '@ngx-starter-kit/animations'; -import { PageScrollConfig, PageScrollService, PageScrollInstance } from 'ngx-page-scroll'; -import { map, tap, distinctUntilChanged, throttleTime, takeUntil, share } from 'rxjs/operators'; -import { BehaviorSubject, fromEvent, Subject } from 'rxjs'; +import { PageScrollInstance, PageScrollService } from 'ngx-page-scroll'; +import { distinctUntilChanged, map, share, tap, throttleTime } from 'rxjs/operators'; +import { BehaviorSubject, fromEvent } from 'rxjs'; +import { untilDestroy } from '@ngx-starter-kit/ngx-utils'; enum ShowStatus { show = 'show', @@ -17,8 +18,6 @@ enum ShowStatus { animations: [scrollFabAnimation], }) export class ScrollToTopComponent implements AfterViewInit, OnDestroy { - private _destroyed$ = new Subject(); - private _stateSubject = new BehaviorSubject(ShowStatus.hide); state$ = this._stateSubject.asObservable(); @@ -41,15 +40,12 @@ export class ScrollToTopComponent implements AfterViewInit, OnDestroy { distinctUntilChanged(), share(), tap(state => this._stateSubject.next(state)), - takeUntil(this._destroyed$), + untilDestroy(this), ); scroll$.subscribe(); } - ngOnDestroy() { - this._destroyed$.next(); - this._destroyed$.complete(); - } + ngOnDestroy() {} scrollToTop() { this.pageScrollService.start(this.pageScrollInstance); diff --git a/libs/sidenav/src/lib/sidenav.component.ts b/libs/sidenav/src/lib/sidenav.component.ts index e85a54d05..e08bd9231 100644 --- a/libs/sidenav/src/lib/sidenav.component.ts +++ b/libs/sidenav/src/lib/sidenav.component.ts @@ -12,8 +12,8 @@ import { Observable, Subject, Subscription } from 'rxjs'; import { MatSnackBar, MatSnackBarConfig } from '@angular/material'; import { MenuItem, MenuService, SidenavState } from '@ngx-starter-kit/navigator'; +import { untilDestroy } from '@ngx-starter-kit/ngx-utils'; // import { sidenavAnimation } from '@ngx-starter-kit/animations'; -import { takeUntil } from 'rxjs/operators'; @Component({ selector: 'ngx-sidenav', @@ -35,11 +35,11 @@ export class SidenavComponent implements OnInit, OnDestroy { ) {} ngOnInit() { - this.menuService.items$.pipe(takeUntil(this._destroyed$)).subscribe((items: MenuItem[]) => { + this.menuService.items$.pipe(untilDestroy(this)).subscribe((items: MenuItem[]) => { this.items = items; }); - // this.router.events.pipe(takeUntil(this._destroyed$)) + // this.router.events.pipe(untilDestroy(this)) // .subscribe(event => { // if (event instanceof NavigationEnd) { // this.menuService.setCurrentlyOpenByRoute(event.url); @@ -51,10 +51,7 @@ export class SidenavComponent implements OnInit, OnDestroy { // }); } - ngOnDestroy() { - this._destroyed$.next(); - this._destroyed$.complete(); - } + ngOnDestroy() {} toggleIconSidenav() { setTimeout(() => { From a3dddab10ed926ce3c6a3b0de5a71760f232832f Mon Sep 17 00:00:00 2001 From: xmlking Date: Sun, 28 Oct 2018 15:33:58 -0700 Subject: [PATCH 20/22] fix(ngx-utils): using ngx-utils --- libs/ngx-utils/README.md | 4 +++- .../src/lib/containers/entity/entity.component.ts | 15 ++++++--------- libs/shared/src/lib/shared.module.ts | 6 ++++-- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/libs/ngx-utils/README.md b/libs/ngx-utils/README.md index cac419fb7..a73cdd2e2 100644 --- a/libs/ngx-utils/README.md +++ b/libs/ngx-utils/README.md @@ -1,4 +1,6 @@ ngx-utils ========= -same as `@ngrx-utils/store` without dependency on `@ngrx/store` +same as [@ngrx-utils/store](https://github.com/ngrx-utils/ngrx-utils) without dependency on `@ngrx/store` + +**Pipes:** filter, group-by, safeHtml diff --git a/libs/shared/src/lib/containers/entity/entity.component.ts b/libs/shared/src/lib/containers/entity/entity.component.ts index 11971dce3..10f683dbf 100644 --- a/libs/shared/src/lib/containers/entity/entity.component.ts +++ b/libs/shared/src/lib/containers/entity/entity.component.ts @@ -3,15 +3,15 @@ import { MatPaginator, MatSort, MatTableDataSource } from '@angular/material'; import { EntityService } from './entity.service'; import { Entity, EntityColumnDef } from './entity.model'; -import { concatMap, filter, map, takeUntil } from 'rxjs/operators'; -import { Observable, Subject } from 'rxjs'; +import { concatMap, filter, map } from 'rxjs/operators'; +import { Observable } from 'rxjs'; import { EntityFormComponent } from './entity-form.component'; import { ComponentType } from '@angular/cdk/portal/typings/portal'; import { SelectionChange, SelectionModel } from '@angular/cdk/collections'; +import { untilDestroy } from '@ngx-starter-kit/ngx-utils'; export abstract class EntitiesComponent> implements OnInit, OnDestroy, AfterViewInit { - protected _destroy$ = new Subject(); dataSource = new MatTableDataSource([]); selection = new SelectionModel(false, []); @@ -57,7 +57,7 @@ export abstract class EntitiesComponent) => sc.added.length > 0), filter(_ => this.selection.selected.length > this.maxSelectable), - takeUntil(this._destroy$), + untilDestroy(this), ) .subscribe(_ => this.selection.deselect(this.selection.selected.shift())); } @@ -72,10 +72,7 @@ export abstract class EntitiesComponent Date: Sun, 28 Oct 2018 15:38:55 -0700 Subject: [PATCH 21/22] feat(animations): added new hierarchical Route Animation added new hierarchical Animation, now using CustomRouterStateSerializer to extract breadcrumbs and anumation depth from route config --- apps/api/tsconfig.app.json | 2 +- apps/backend/tsconfig.app.json | 2 +- apps/webapp/src/app/app.module.ts | 2 +- libs/animations/src/lib/route.animation.ts | 36 +++++++------------ libs/core/src/index.ts | 1 + libs/core/src/lib/core.module.ts | 7 +++- .../src/lib/services/page-title.service.ts | 27 +++++--------- .../state/custom-router-state.serializer.ts | 23 +++++++----- .../dashboard-layout.component.html | 5 +-- .../dashboard-layout.component.ts | 17 +++++++-- libs/dashboard/src/lib/dashboard.module.ts | 8 ++--- .../experiments/src/lib/experiments.module.ts | 22 ++++++------ libs/grid/src/lib/grid.module.ts | 13 +++---- .../src/lib/services/account.service.spec.ts | 2 +- 14 files changed, 86 insertions(+), 81 deletions(-) diff --git a/apps/api/tsconfig.app.json b/apps/api/tsconfig.app.json index 73ae2470c..9bb954ba8 100644 --- a/apps/api/tsconfig.app.json +++ b/apps/api/tsconfig.app.json @@ -4,7 +4,7 @@ "outDir": "../../dist/apps/api", "module": "commonjs", "target": "es6", - "types": [] + "types": ["node"] }, "exclude": ["**/*.spec.ts"], "include": ["**/*.ts"] diff --git a/apps/backend/tsconfig.app.json b/apps/backend/tsconfig.app.json index b5ef1f411..38afccadf 100644 --- a/apps/backend/tsconfig.app.json +++ b/apps/backend/tsconfig.app.json @@ -2,7 +2,7 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": "../../dist/out-tsc/apps/backend", - "types": [] + "types": ["node"] }, "exclude": ["**/*.spec.ts"], "include": ["**/*.ts"] diff --git a/apps/webapp/src/app/app.module.ts b/apps/webapp/src/app/app.module.ts index 62345e8c7..8ed2f9eec 100644 --- a/apps/webapp/src/app/app.module.ts +++ b/apps/webapp/src/app/app.module.ts @@ -28,7 +28,7 @@ export class MyHammerConfig extends HammerGestureConfig { { path: '', redirectTo: 'home', pathMatch: 'full' }, { path: 'home', loadChildren: '@ngx-starter-kit/home#HomeModule', data: { preload: true } }, { path: 'dashboard', loadChildren: '@ngx-starter-kit/dashboard#DashboardModule', data: { preload: true } }, - { path: '404', loadChildren: '@ngx-starter-kit/not-found#NotFoundModule', data: { title: '404' } }, + { path: '404', loadChildren: '@ngx-starter-kit/not-found#NotFoundModule', data: { title: '404', preload: false } }, // 404 should be last { path: '**', redirectTo: '404', pathMatch: 'full' }, ], diff --git a/libs/animations/src/lib/route.animation.ts b/libs/animations/src/lib/route.animation.ts index 516b9c4f5..0fc54f5be 100644 --- a/libs/animations/src/lib/route.animation.ts +++ b/libs/animations/src/lib/route.animation.ts @@ -32,41 +32,29 @@ export const routeAnimation = trigger('routeAnimation', [ ]), ]); -export const routeAnimation2 = trigger('routeAnimation', [ - transition('void => *', [ - style({ - opacity: 0, - }), - animate( - '400ms 150ms ease-in-out', - style({ - opacity: 1, - }), - ), - ]), -]); - export const hierarchicalRouteAnimation = trigger('routeAnimation', [ - transition('1 => 2, 2 => 3', [ + transition(':increment', [ style({ height: '!' }), - query(':enter', style({ transform: 'translateX(100%)' })), - query(':enter, :leave', style({ position: 'absolute', top: 0, left: 0, right: 0 })), + query(':enter', style({ transform: 'translateX(100%)' }), {optional: true}), + query(':enter, :leave', style({ position: 'absolute', top: 0, left: 0, right: 0 }), {optional: true}), // animate the leave page away group([ - query(':leave', [animate('0.3s cubic-bezier(.35,0,.25,1)', style({ transform: 'translateX(-100%)' }))]), + query(':leave', [animate('0.3s cubic-bezier(.35,0,.25,1)', style({ transform: 'translateX(-100%)' }))], {optional: true}), // and now reveal the enter - query(':enter', animate('0.3s cubic-bezier(.35,0,.25,1)', style({ transform: 'translateX(0)' }))), + query(':enter', animate('0.3s cubic-bezier(.35,0,.25,1)', style({ transform: 'translateX(0)' })), {optional: true}), + // query('@fadeAnimation', animateChild(), {optional: true}), ]), ]), - transition('3 => 2, 2 => 1', [ + transition(':decrement', [ style({ height: '!' }), - query(':enter', style({ transform: 'translateX(-100%)' })), - query(':enter, :leave', style({ position: 'absolute', top: 0, left: 0, right: 0 })), + query(':enter', style({ transform: 'translateX(-100%)' }), {optional: true}), + query(':enter, :leave', style({ position: 'absolute', top: 0, left: 0, right: 0 }), {optional: true}), // animate the leave page away group([ - query(':leave', [animate('0.3s cubic-bezier(.35,0,.25,1)', style({ transform: 'translateX(100%)' }))]), + query(':leave', [animate('0.3s cubic-bezier(.35,0,.25,1)', style({ transform: 'translateX(100%)' }))], {optional: true}), // and now reveal the enter - query(':enter', animate('0.3s cubic-bezier(.35,0,.25,1)', style({ transform: 'translateX(0)' }))), + query(':enter', animate('0.3s cubic-bezier(.35,0,.25,1)', style({ transform: 'translateX(0)' })), {optional: true}), + // query('@fadeAnimation', animateChild() , {optional: true}), ]), ]), ]); diff --git a/libs/core/src/index.ts b/libs/core/src/index.ts index 91606ff75..c90ea2c32 100644 --- a/libs/core/src/index.ts +++ b/libs/core/src/index.ts @@ -3,3 +3,4 @@ export { PageTitleService } from './lib/services/page-title.service'; export { ServiceWorkerService } from './lib/services/service-worker.service'; export { MediaQueryService } from './lib/services/media-query.service'; export { DeepLinkService } from './lib/services/deep-link.service'; +export { RouterStateData} from './lib/state/custom-router-state.serializer'; diff --git a/libs/core/src/lib/core.module.ts b/libs/core/src/lib/core.module.ts index ccc08fe13..b63a3aaed 100644 --- a/libs/core/src/lib/core.module.ts +++ b/libs/core/src/lib/core.module.ts @@ -7,7 +7,7 @@ import { NgxsModule } from '@ngxs/store'; import { NgxsFormPluginModule } from '@ngxs/form-plugin'; import { NgxPageScrollModule } from 'ngx-page-scroll'; import { NgxsReduxDevtoolsPluginModule } from '@ngxs/devtools-plugin'; -import { NgxsRouterPluginModule } from '@ngxs/router-plugin'; +import { NgxsRouterPluginModule, RouterStateSerializer } from '@ngxs/router-plugin'; import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; import { library } from '@fortawesome/fontawesome-svg-core'; import { faTwitter, faGithub, faGoogle } from '@fortawesome/free-brands-svg-icons'; @@ -22,6 +22,7 @@ import { PreferenceState } from './state/preference.state'; import { InMemoryDataService } from './services/in-memory-data.service'; import { ErrorInterceptor } from './interceptors/error.interceptor'; import { JwtInterceptor } from './interceptors/jwt.interceptor'; +import { CustomRouterStateSerializer } from './state/custom-router-state.serializer'; // Noop handler for factory function export function noop() { @@ -79,6 +80,10 @@ library.add(faTwitter, faGithub, faGoogle); deps: [EventBus], multi: true, }, + { + provide: RouterStateSerializer, + useClass: CustomRouterStateSerializer, + }, ], }) export class CoreModule { diff --git a/libs/core/src/lib/services/page-title.service.ts b/libs/core/src/lib/services/page-title.service.ts index 68840df38..3cd030d07 100644 --- a/libs/core/src/lib/services/page-title.service.ts +++ b/libs/core/src/lib/services/page-title.service.ts @@ -1,7 +1,8 @@ import { Injectable } from '@angular/core'; import { Title } from '@angular/platform-browser'; -import { ActivatedRouteSnapshot, NavigationEnd, Router, RouterState } from '@angular/router'; -import { filter } from 'rxjs/operators'; +import { Store } from '@ngxs/store'; +import { RouterState } from '@ngxs/router-plugin'; +import { RouterStateData } from '../state/custom-router-state.serializer'; declare var ga: any; /** @@ -12,30 +13,20 @@ declare var ga: any; }) export class PageTitleService { private readonly defaultTitle; - public titleSet: Set; - constructor(private router: Router, private bodyTitle: Title) { + constructor(private store: Store, private bodyTitle: Title) { this.defaultTitle = bodyTitle.getTitle() || 'WebApp'; - // Automatically set pageTitle from route data - router.events.pipe(filter((event: any) => event instanceof NavigationEnd)).subscribe((n: NavigationEnd) => { - const titleSet = new Set(); - let root = this.router.routerState.snapshot.root; - do { - root = root.children[0]; - if (root.data['title']) { - titleSet.add(root.data['title']); - } - } while (root.children.length > 0); - - this.titleSet = titleSet; + // Automatically set pageTitle from router state data + store.select(RouterState.state).subscribe((routerStateData: RouterStateData) => { + console.log(routerStateData); bodyTitle.setTitle( - `${Array.from(titleSet) + `${Array.from(routerStateData.breadcrumbs.keys()) .reverse() .join(' | ')} | ${this.defaultTitle}`, ); - ga('send', 'pageview', n.urlAfterRedirects); + ga('send', 'pageview', routerStateData.url); }); } } diff --git a/libs/core/src/lib/state/custom-router-state.serializer.ts b/libs/core/src/lib/state/custom-router-state.serializer.ts index 29f8a0df0..b0a05bf19 100644 --- a/libs/core/src/lib/state/custom-router-state.serializer.ts +++ b/libs/core/src/lib/state/custom-router-state.serializer.ts @@ -1,25 +1,32 @@ -import { Params, RouterStateSnapshot } from '@angular/router'; -import { NgxsModule } from '@ngxs/store'; -import { NgxsRouterPluginModule, RouterStateSerializer } from '@ngxs/router-plugin'; +import { Params, RouterStateSnapshot, UrlSegment } from '@angular/router'; +import { RouterStateSerializer } from '@ngxs/router-plugin'; -export interface RouterStateParams { +export interface RouterStateData { url: string; params: Params; queryParams: Params; + breadcrumbs: Map; + data: any; } -// Map the router snapshot to { url, params, queryParams } -export class CustomRouterStateSerializer implements RouterStateSerializer { - serialize(routerState: RouterStateSnapshot): RouterStateParams { +// Map the router snapshot to { url, params, queryParams, titleSet } +export class CustomRouterStateSerializer implements RouterStateSerializer { + serialize(routerState: RouterStateSnapshot): RouterStateData { const { url, root: { queryParams }, } = routerState; let { root: route } = routerState; + + const breadcrumbs = new Map(); while (route.firstChild) { route = route.firstChild; + if (route.data['title']) { + breadcrumbs.set(route.data['title'], route.pathFromRoot.flatMap(segment => segment.url).join('/')); + } } const { params } = route; - return { url, params, queryParams }; + const { data } = route; + return { url, params, queryParams, breadcrumbs, data }; } } diff --git a/libs/dashboard/src/lib/containers/dashboard-layout/dashboard-layout.component.html b/libs/dashboard/src/lib/containers/dashboard-layout/dashboard-layout.component.html index c8af8675f..46e948bef 100644 --- a/libs/dashboard/src/lib/containers/dashboard-layout/dashboard-layout.component.html +++ b/libs/dashboard/src/lib/containers/dashboard-layout/dashboard-layout.component.html @@ -13,8 +13,9 @@ -
        - +
        + +
        diff --git a/libs/dashboard/src/lib/containers/dashboard-layout/dashboard-layout.component.ts b/libs/dashboard/src/lib/containers/dashboard-layout/dashboard-layout.component.ts index 1a2ed08bd..f9d711dae 100644 --- a/libs/dashboard/src/lib/containers/dashboard-layout/dashboard-layout.component.ts +++ b/libs/dashboard/src/lib/containers/dashboard-layout/dashboard-layout.component.ts @@ -2,17 +2,20 @@ import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core'; import { Subscription } from 'rxjs'; import { MediaChange, ObservableMedia } from '@angular/flex-layout'; import { NavigationEnd, Router } from '@angular/router'; -import { routeAnimation } from '@ngx-starter-kit/animations'; +import { routeAnimation, hierarchicalRouteAnimation } from '@ngx-starter-kit/animations'; import { Actions, Store } from '@ngxs/store'; import { ConnectWebSocket, DisconnectWebSocket } from '@ngx-starter-kit/socketio-plugin'; import { OAuthService } from 'angular-oauth2-oidc'; import { environment } from '@env/environment'; +import { RouterState } from '@ngxs/router-plugin'; +import { map } from 'rxjs/operators'; @Component({ selector: 'ngx-dashboard-layout', templateUrl: './dashboard-layout.component.html', styleUrls: ['./dashboard-layout.component.scss'], animations: [routeAnimation], + // animations: [hierarchicalRouteAnimation], // encapsulation: ViewEncapsulation.None }) export class DashboardLayoutComponent implements OnInit, OnDestroy { @@ -26,6 +29,8 @@ export class DashboardLayoutComponent implements OnInit, OnDestroy { sidenavOpen = true; sidenavMode = 'side'; isMobile = false; + crumbs$; + depth$; constructor( private router: Router, @@ -36,6 +41,12 @@ export class DashboardLayoutComponent implements OnInit, OnDestroy { ) {} ngOnInit() { + this.crumbs$ = this.store + .select(RouterState.state) + .pipe(map(state => Array.from(state.breadcrumbs, ([key, value]) => ({ name: key, link: '/' + value })))); + + this.depth$ = this.store.select(RouterState.state).pipe(map(state => state.data.depth)); + this._mediaSubscription = this.media.subscribe((change: MediaChange) => { const isMobile = change.mqAlias === 'xs' || change.mqAlias === 'sm'; @@ -70,8 +81,8 @@ export class DashboardLayoutComponent implements OnInit, OnDestroy { this.store.dispatch(new DisconnectWebSocket()); } - getRouteAnimation(outlet) { - return outlet.activatedRouteData['animation'] || 'one'; + getRouteDepth(outlet) { + return outlet.activatedRouteData['depth'] || 1; // return outlet.isActivated ? outlet.activatedRoute : '' } } diff --git a/libs/dashboard/src/lib/dashboard.module.ts b/libs/dashboard/src/lib/dashboard.module.ts index 0859e5cca..dbe02d352 100644 --- a/libs/dashboard/src/lib/dashboard.module.ts +++ b/libs/dashboard/src/lib/dashboard.module.ts @@ -29,7 +29,7 @@ import { environment } from '@env/environment'; path: '', component: DashboardLayoutComponent, canActivate: [AuthGuard], - data: { title: 'Dashboard', animation: 'dashboard' }, + data: { title: 'Dashboard', depth: 1 }, children: [ { path: 'overview', @@ -39,17 +39,17 @@ import { environment } from '@env/environment'; { path: '', loadChildren: '@ngx-starter-kit/widgets#WidgetsModule', - data: { title: 'Widgets', animation: 'overview', preload: true }, + data: { title: 'Widgets', preload: true }, }, { path: 'grid', loadChildren: '@ngx-starter-kit/grid#GridModule', - data: { title: 'Grid', animation: 'grid', preload: true }, + data: { title: 'Grid', depth: 2, preload: false }, }, { path: 'experiments', loadChildren: '@ngx-starter-kit/experiments#ExperimentsModule', - data: { title: 'Experiments', animation: 'experiments' }, + data: { title: 'Experiments', depth: 2, preload: false }, }, ], }, diff --git a/libs/experiments/src/lib/experiments.module.ts b/libs/experiments/src/lib/experiments.module.ts index 967db364c..c9e70cbf4 100644 --- a/libs/experiments/src/lib/experiments.module.ts +++ b/libs/experiments/src/lib/experiments.module.ts @@ -41,56 +41,56 @@ registerPlugin(FilePondPluginFileValidateType, FilepondPluginFileValidateSize, F ImageComparisonModule, RouterModule.forChild([ /* {path: '', pathMatch: 'full', component: InsertYourComponentHere} */ - { path: '', redirectTo: 'animations', pathMatch: 'full', data: { animation: 'experiments' } }, + { path: '', redirectTo: 'animations', pathMatch: 'full' }, { path: 'animations', component: AnimationsComponent, - data: { title: 'Animations', animations: 'animations' }, + data: { title: 'Animations', depth: 2 }, }, { path: 'file-upload', component: FileUploadComponent, - data: { title: 'File Upload', animation: 'file-upload' }, + data: { title: 'File Upload', depth: 3 }, }, { path: 'context-menu', component: ContextMenuComponent, - data: { title: 'Context Menu', animation: 'context-menu' }, + data: { title: 'Context Menu', depth: 3 }, }, { path: 'virtual-scroll', component: VirtualScrollComponent, - data: { title: 'Virtual Scroll', animation: 'virtual-scroll' }, + data: { title: 'Virtual Scroll', depth: 3 }, }, { path: 'table', component: StickyTableComponent, - data: { title: 'Sticky Table', animation: 'sticky-table' }, + data: { title: 'Sticky Table', depth: 3 }, }, { path: 'clap', component: ClapButtonComponent, - data: { title: 'Clap', animation: 'clap' }, + data: { title: 'Clap', depth: 3 }, }, { path: 'led', component: LedDemoComponent, - data: { title: 'Led', animation: 'led' }, + data: { title: 'Led', depth: 3 }, }, { path: 'knob', component: KnobDemoComponent, - data: { title: 'Knob', animation: 'Knob' }, + data: { title: 'Knob', depth: 3 }, }, { path: 'image-comp', component: ImageCompComponent, - data: { title: 'ImageComp', animation: 'imagecomp' }, + data: { title: 'ImageComp', depth: 3 }, }, { path: 'layout', component: LayoutComponent, - data: { title: 'Layout', animation: 'layout' }, + data: { title: 'Layout', depth: 3 }, }, ]), ], diff --git a/libs/grid/src/lib/grid.module.ts b/libs/grid/src/lib/grid.module.ts index a0b4797a8..9a5f63f07 100644 --- a/libs/grid/src/lib/grid.module.ts +++ b/libs/grid/src/lib/grid.module.ts @@ -3,7 +3,7 @@ import { RouterModule } from '@angular/router'; import { SharedModule } from '@ngx-starter-kit/shared'; import { AppConfirmModule } from '@ngx-starter-kit/app-confirm'; import { DragDropModule } from '@angular/cdk/drag-drop'; -import { NgxPipesModule } from '@ngx-starter-kit/ngx-pipes'; +import { TruncateModule, HelperModule } from '@ngx-starter-kit/ngx-utils'; import { AccountsGridListComponent } from './containers/accounts-grid-list/accounts-grid-list.component'; import { AccountsTableComponent } from './containers/accounts-table/accounts-table.component'; import { AccountService } from './services/account.service'; @@ -16,26 +16,27 @@ import { AccountEditComponent } from './components/account-edit/account-edit.com SharedModule, DragDropModule, AppConfirmModule, - NgxPipesModule, + TruncateModule, + HelperModule, RouterModule.forChild([ /* {path: '', pathMatch: 'full', component: InsertYourComponentHere} */ - { path: '', redirectTo: 'crud-table', pathMatch: 'full', data: { animation: 'grid' } }, + { path: '', redirectTo: 'crud-table', pathMatch: 'full' }, { path: 'crud-table', component: AccountsTableComponent, - data: { title: 'Accounts Table', animation: 'accounts-table' }, + data: { title: 'Accounts', depth: 2 }, children: [ { path: ':id', component: AccountDetailComponent, - data: { title: 'Account Detail', animation: 'account-detail' }, + data: { title: 'Account Detail'}, }, ], }, { path: 'grid-list', component: AccountsGridListComponent, - data: { title: 'Accounts Grid List', animation: 'accounts-grid-list' }, + data: { title: 'Accounts Grid-List', depth: 3 }, }, ]), ], diff --git a/libs/grid/src/lib/services/account.service.spec.ts b/libs/grid/src/lib/services/account.service.spec.ts index dd417b62d..992796a85 100644 --- a/libs/grid/src/lib/services/account.service.spec.ts +++ b/libs/grid/src/lib/services/account.service.spec.ts @@ -9,7 +9,7 @@ describe('AccountService', () => { }); }); - it('should be created', inject([Account1Service], (service: Account1Service) => { + it('should be created', inject([AccountService], (service: AccountService) => { expect(service).toBeTruthy(); })); }); From 22df1d1fcf4b47e215a190d4ff4260985a8764cd Mon Sep 17 00:00:00 2001 From: xmlking Date: Sun, 28 Oct 2018 15:54:11 -0700 Subject: [PATCH 22/22] build(dependencies): upgraded nrwl/nx to 7.0.0 --- package-lock.json | 2430 +++++++++++++-------------------------------- package.json | 6 +- 2 files changed, 691 insertions(+), 1745 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9f7a10727..1ff95a4a7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,24 +5,13 @@ "requires": true, "dependencies": { "@angular-devkit/architect": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.8.4.tgz", - "integrity": "sha512-Xg/HgFgE3zu1jwI6quCRaGQK0dWyaK2GOYp2n1a+yQ8E+yngQqFW1EsdQE9L8EV1XtVL8njunZ/oOEL/KI6Oxw==", + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.10.3.tgz", + "integrity": "sha512-6isM3knVRsdS3RTh43cwgOpvp5EIm5OswQuimNru+7uP8qhOBDQdRTd/w/HthmHylKPsEFPqEo1l2KoZCCSwvw==", "dev": true, "requires": { - "@angular-devkit/core": "0.8.4", - "rxjs": "~6.2.0" - }, - "dependencies": { - "rxjs": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.2.2.tgz", - "integrity": "sha512-0MI8+mkKAXZUF9vMrEoPnaoHkfzBPP4IGwUYRJhIRJF6/w3uByO1e91bEHn8zd43RdkTMKiooYKmwz7RH6zfOQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - } + "@angular-devkit/core": "7.0.3", + "rxjs": "6.3.3" } }, "@angular-devkit/build-angular": { @@ -80,120 +69,17 @@ "webpack-subresource-integrity": "1.1.0-rc.6" }, "dependencies": { - "@angular-devkit/architect": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.10.3.tgz", - "integrity": "sha512-6isM3knVRsdS3RTh43cwgOpvp5EIm5OswQuimNru+7uP8qhOBDQdRTd/w/HthmHylKPsEFPqEo1l2KoZCCSwvw==", - "dev": true, - "requires": { - "@angular-devkit/core": "7.0.3", - "rxjs": "6.3.3" - } - }, - "@angular-devkit/build-webpack": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.10.3.tgz", - "integrity": "sha512-2uZselfqpxnPbV9d2dRCgl4lJjD1xemNpRijxFIuxeXvadqTPkHA0YuUkX7CTajtwSWy3Cs69StL87b9gYFLSA==", - "dev": true, - "requires": { - "@angular-devkit/architect": "0.10.3", - "@angular-devkit/core": "7.0.3", - "rxjs": "6.3.3" - } - }, - "@angular-devkit/core": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.3.tgz", - "integrity": "sha512-Yp0AhTuJbp0VwCHTmUOANrKZNQxTD/F49jPmSCBa/VMYMIoU/sUIiHVNdwzfcFnMoExGoXYah0kutBxgNIG3OA==", - "dev": true, - "requires": { - "ajv": "6.5.3", - "chokidar": "2.0.4", - "fast-json-stable-stringify": "2.0.0", - "rxjs": "6.3.3", - "source-map": "0.7.3" - } - }, - "ajv": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", - "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "license-webpack-plugin": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.0.2.tgz", - "integrity": "sha512-GsomZw5VoT20ST8qH2tOjBgbyhn6Pgs9M94g0mbvfBIV1VXufm1iKY+4dbgfTObj1Mp6nSRE3Zf74deOZr0KwA==", - "dev": true, - "requires": { - "webpack-sources": "^1.2.0" - } - }, - "opn": { - "version": "5.3.0", - "resolved": "http://registry.npmjs.org/opn/-/opn-5.3.0.tgz", - "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", - "dev": true, - "requires": { - "is-wsl": "^1.1.0" - } - }, "parse5": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", "dev": true }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "semver": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz", + "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==", "dev": true - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "webpack-sources": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.2.0.tgz", - "integrity": "sha512-9BZwxR85dNsjWz3blyxdOhTgtnQvv3OEs5xofI0wPYTwu5kaWxS08UuD1oI7WLBLpRO+ylf0ofnXLXWmGb2WMw==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } } } }, @@ -209,67 +95,11 @@ "semver": "5.5.1" }, "dependencies": { - "@angular-devkit/architect": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.10.3.tgz", - "integrity": "sha512-6isM3knVRsdS3RTh43cwgOpvp5EIm5OswQuimNru+7uP8qhOBDQdRTd/w/HthmHylKPsEFPqEo1l2KoZCCSwvw==", - "dev": true, - "requires": { - "@angular-devkit/core": "7.0.3", - "rxjs": "6.3.3" - } - }, - "@angular-devkit/core": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.3.tgz", - "integrity": "sha512-Yp0AhTuJbp0VwCHTmUOANrKZNQxTD/F49jPmSCBa/VMYMIoU/sUIiHVNdwzfcFnMoExGoXYah0kutBxgNIG3OA==", - "dev": true, - "requires": { - "ajv": "6.5.3", - "chokidar": "2.0.4", - "fast-json-stable-stringify": "2.0.0", - "rxjs": "6.3.3", - "source-map": "0.7.3" - } - }, - "ajv": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", - "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "semver": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz", + "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==", "dev": true - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } } } }, @@ -290,70 +120,30 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", "dev": true - }, - "webpack-sources": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.2.0.tgz", - "integrity": "sha512-9BZwxR85dNsjWz3blyxdOhTgtnQvv3OEs5xofI0wPYTwu5kaWxS08UuD1oI7WLBLpRO+ylf0ofnXLXWmGb2WMw==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } } } }, "@angular-devkit/build-webpack": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.8.4.tgz", - "integrity": "sha512-T1RZusHSpVvorrYVySKDANQSP7vbpyQknpkL+xjiA8DG9Ep/TJbSRuETFFLdyYjPoXvQrXm8d3+twBrZposVdw==", + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.10.3.tgz", + "integrity": "sha512-2uZselfqpxnPbV9d2dRCgl4lJjD1xemNpRijxFIuxeXvadqTPkHA0YuUkX7CTajtwSWy3Cs69StL87b9gYFLSA==", "dev": true, "requires": { - "@angular-devkit/architect": "0.8.4", - "@angular-devkit/core": "0.8.4", - "rxjs": "~6.2.0" - }, - "dependencies": { - "rxjs": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.2.2.tgz", - "integrity": "sha512-0MI8+mkKAXZUF9vMrEoPnaoHkfzBPP4IGwUYRJhIRJF6/w3uByO1e91bEHn8zd43RdkTMKiooYKmwz7RH6zfOQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - } + "@angular-devkit/architect": "0.10.3", + "@angular-devkit/core": "7.0.3", + "rxjs": "6.3.3" } }, "@angular-devkit/core": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-0.8.4.tgz", - "integrity": "sha512-oqMHezbIZMApud9JZDupWaxJeczTA17hLFGJ1qyAaPBRADtjnuguygXLcBLzYYAhzHKstrHwPJ4R1jj3oG28Ow==", - "dev": true, + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.3.tgz", + "integrity": "sha512-Yp0AhTuJbp0VwCHTmUOANrKZNQxTD/F49jPmSCBa/VMYMIoU/sUIiHVNdwzfcFnMoExGoXYah0kutBxgNIG3OA==", "requires": { - "ajv": "~6.4.0", - "chokidar": "^2.0.3", - "rxjs": "~6.2.0", - "source-map": "^0.5.6" - }, - "dependencies": { - "rxjs": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.2.2.tgz", - "integrity": "sha512-0MI8+mkKAXZUF9vMrEoPnaoHkfzBPP4IGwUYRJhIRJF6/w3uByO1e91bEHn8zd43RdkTMKiooYKmwz7RH6zfOQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - } + "ajv": "6.5.3", + "chokidar": "2.0.4", + "fast-json-stable-stringify": "2.0.0", + "rxjs": "6.3.3", + "source-map": "0.7.3" } }, "@angular-devkit/schematics": { @@ -363,54 +153,6 @@ "requires": { "@angular-devkit/core": "7.0.3", "rxjs": "6.3.3" - }, - "dependencies": { - "@angular-devkit/core": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.3.tgz", - "integrity": "sha512-Yp0AhTuJbp0VwCHTmUOANrKZNQxTD/F49jPmSCBa/VMYMIoU/sUIiHVNdwzfcFnMoExGoXYah0kutBxgNIG3OA==", - "requires": { - "ajv": "6.5.3", - "chokidar": "2.0.4", - "fast-json-stable-stringify": "2.0.0", - "rxjs": "6.3.3", - "source-map": "0.7.3" - } - }, - "ajv": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", - "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==", - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "requires": { - "punycode": "^2.1.0" - } - } } }, "@angular/animations": { @@ -448,97 +190,11 @@ "symbol-observable": "1.2.0" }, "dependencies": { - "@angular-devkit/architect": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.10.3.tgz", - "integrity": "sha512-6isM3knVRsdS3RTh43cwgOpvp5EIm5OswQuimNru+7uP8qhOBDQdRTd/w/HthmHylKPsEFPqEo1l2KoZCCSwvw==", - "dev": true, - "requires": { - "@angular-devkit/core": "7.0.3", - "rxjs": "6.3.3" - } - }, - "@angular-devkit/core": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.3.tgz", - "integrity": "sha512-Yp0AhTuJbp0VwCHTmUOANrKZNQxTD/F49jPmSCBa/VMYMIoU/sUIiHVNdwzfcFnMoExGoXYah0kutBxgNIG3OA==", - "dev": true, - "requires": { - "ajv": "6.5.3", - "chokidar": "2.0.4", - "fast-json-stable-stringify": "2.0.0", - "rxjs": "6.3.3", - "source-map": "0.7.3" - } - }, - "@angular-devkit/schematics": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-7.0.3.tgz", - "integrity": "sha512-FhfPvn5hBCNSj39qLgVaSwa6Zl0qt3Uyw4B9M+Kv01/FFc9xrowldzNT4QRxBjjWbr6DssEP+tYQCPV3Ouwx5w==", - "dev": true, - "requires": { - "@angular-devkit/core": "7.0.3", - "rxjs": "6.3.3" - } - }, - "@schematics/angular": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-7.0.3.tgz", - "integrity": "sha512-x367+yMZIyGL+XWcSELsjyv2x0sZWlEd/5uEGalFqH2Q8ViXkTnXWek7TzzGjt+APM8WfF2JUbrmb8yxZ2g99Q==", - "dev": true, - "requires": { - "@angular-devkit/core": "7.0.3", - "@angular-devkit/schematics": "7.0.3", - "typescript": "3.1.3" - } - }, - "ajv": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", - "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "opn": { - "version": "5.3.0", - "resolved": "http://registry.npmjs.org/opn/-/opn-5.3.0.tgz", - "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", - "dev": true, - "requires": { - "is-wsl": "^1.1.0" - } - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "semver": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz", + "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==", "dev": true - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } } } }, @@ -769,7 +425,7 @@ }, "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, @@ -794,17 +450,6 @@ "read-pkg": "^2.0.0" } }, - "shelljs": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.2.tgz", - "integrity": "sha512-pRXeNrCA2Wd9itwhvLp5LZQvPJ0wU6bcjaTMywHHGX5XWhVN2nzSu7WV0q+oUY7mGK3mgSkDDzP3MgjqdyIgbQ==", - "dev": true, - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -930,54 +575,6 @@ "@schematics/angular": "7.0.3", "parse5-html-rewriting-stream": "5.1.0", "rxjs": "6.3.3" - }, - "dependencies": { - "@angular-devkit/core": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.3.tgz", - "integrity": "sha512-Yp0AhTuJbp0VwCHTmUOANrKZNQxTD/F49jPmSCBa/VMYMIoU/sUIiHVNdwzfcFnMoExGoXYah0kutBxgNIG3OA==", - "requires": { - "ajv": "6.5.3", - "chokidar": "2.0.4", - "fast-json-stable-stringify": "2.0.0", - "rxjs": "6.3.3", - "source-map": "0.7.3" - } - }, - "ajv": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", - "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==", - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "requires": { - "punycode": "^2.1.0" - } - } } }, "@angular/router": { @@ -1160,6 +757,12 @@ "strip-indent": "^2.0.0" } }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, "strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", @@ -1234,14 +837,6 @@ "dev": true, "requires": { "semver": "5.6.0" - }, - "dependencies": { - "semver": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", - "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", - "dev": true - } } }, "@commitlint/lint": { @@ -1272,6 +867,14 @@ "lodash.pick": "4.4.0", "lodash.topairs": "4.3.0", "resolve-from": "4.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + } } }, "@commitlint/message": { @@ -1314,6 +917,14 @@ "require-uncached": "^1.0.3", "resolve-from": "^4.0.0", "resolve-global": "^0.1.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + } } }, "@commitlint/rules": { @@ -1638,110 +1249,38 @@ }, "@nestjs/typeorm": { "version": "5.2.2", - "resolved": "https://registry.npmjs.org/@nestjs/typeorm/-/typeorm-5.2.2.tgz", - "integrity": "sha512-D1xtTYFn+Pbf0yEY+mj3m3AwSyr+J8PW5UPYDLTGTR6gbLQvgOM/R+TddIgU0M0C/jxsvSXEVsVPtWaG6SIlzw==", - "requires": { - "uuid": "3.3.2" - } - }, - "@nestjs/websockets": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@nestjs/websockets/-/websockets-5.4.0.tgz", - "integrity": "sha512-AnfkddRjkAkUKJme5SkTTL4bgucJnowgkt18z8vi5l+zyscmoZBf1jCjkXGsi88g6EuPg1bbHUtU8RNfCRVtnQ==", - "requires": { - "iterare": "0.0.8", - "socket.io": "^2.1.1" - } - }, - "@ngtools/json-schema": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@ngtools/json-schema/-/json-schema-1.1.0.tgz", - "integrity": "sha1-w6DFRNYjkqzCgTpCyKDcb1j4aSI=", - "dev": true - }, - "@ngtools/webpack": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-7.0.3.tgz", - "integrity": "sha512-8vllt35aCARPF8LJ3YfVpqTG39/vDLtY8+8LZqUKnOIlX9F0uzuQl86pmKoIAyk6sLPkR0SpaMGwYDunVjzxRQ==", - "dev": true, - "requires": { - "@angular-devkit/core": "7.0.3", - "enhanced-resolve": "4.1.0", - "rxjs": "6.3.3", - "tree-kill": "1.2.0", - "webpack-sources": "1.2.0" - }, - "dependencies": { - "@angular-devkit/core": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.3.tgz", - "integrity": "sha512-Yp0AhTuJbp0VwCHTmUOANrKZNQxTD/F49jPmSCBa/VMYMIoU/sUIiHVNdwzfcFnMoExGoXYah0kutBxgNIG3OA==", - "dev": true, - "requires": { - "ajv": "6.5.3", - "chokidar": "2.0.4", - "fast-json-stable-stringify": "2.0.0", - "rxjs": "6.3.3", - "source-map": "0.7.3" - } - }, - "ajv": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", - "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "webpack-sources": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.2.0.tgz", - "integrity": "sha512-9BZwxR85dNsjWz3blyxdOhTgtnQvv3OEs5xofI0wPYTwu5kaWxS08UuD1oI7WLBLpRO+ylf0ofnXLXWmGb2WMw==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - } + "resolved": "https://registry.npmjs.org/@nestjs/typeorm/-/typeorm-5.2.2.tgz", + "integrity": "sha512-D1xtTYFn+Pbf0yEY+mj3m3AwSyr+J8PW5UPYDLTGTR6gbLQvgOM/R+TddIgU0M0C/jxsvSXEVsVPtWaG6SIlzw==", + "requires": { + "uuid": "3.3.2" + } + }, + "@nestjs/websockets": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@nestjs/websockets/-/websockets-5.4.0.tgz", + "integrity": "sha512-AnfkddRjkAkUKJme5SkTTL4bgucJnowgkt18z8vi5l+zyscmoZBf1jCjkXGsi88g6EuPg1bbHUtU8RNfCRVtnQ==", + "requires": { + "iterare": "0.0.8", + "socket.io": "^2.1.1" + } + }, + "@ngtools/json-schema": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@ngtools/json-schema/-/json-schema-1.1.0.tgz", + "integrity": "sha1-w6DFRNYjkqzCgTpCyKDcb1j4aSI=", + "dev": true + }, + "@ngtools/webpack": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-7.0.3.tgz", + "integrity": "sha512-8vllt35aCARPF8LJ3YfVpqTG39/vDLtY8+8LZqUKnOIlX9F0uzuQl86pmKoIAyk6sLPkR0SpaMGwYDunVjzxRQ==", + "dev": true, + "requires": { + "@angular-devkit/core": "7.0.3", + "enhanced-resolve": "4.1.0", + "rxjs": "6.3.3", + "tree-kill": "1.2.0", + "webpack-sources": "1.2.0" } }, "@ngx-formly/core": { @@ -1804,11 +1343,50 @@ "typescript": ">=2.6.2 <2.8" } }, + "ajv": { + "version": "6.4.0", + "resolved": "http://registry.npmjs.org/ajv/-/ajv-6.4.0.tgz", + "integrity": "sha1-06/3jpJ3VJdx2vAWTP9ISCt1T8Y=", + "dev": true, + "requires": { + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0", + "uri-js": "^3.0.2" + } + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, "typescript": { "version": "2.7.2", "resolved": "http://registry.npmjs.org/typescript/-/typescript-2.7.2.tgz", "integrity": "sha512-p5TCYZDAO0m4G344hD+wx/LATebLWZNkkh2asWUFqSsD2OrDNhbAHuSjobrmsUmdzjJjEeZVU9g1h3O6vpstnw==", "dev": true + }, + "uri-js": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-3.0.2.tgz", + "integrity": "sha1-+QuFhQf4HepNz7s8TD2/orVX+qo=", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } } } }, @@ -1851,220 +1429,28 @@ "dev": true }, "@nrwl/builders": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@nrwl/builders/-/builders-6.4.0.tgz", - "integrity": "sha512-umWQRGTUZ7dbVFhgy5YzL7nkHfGsSgpKZ4amRxMXozirfC8Bu+5eNL5Can753KxQ3p9q3OIyEjAA5CdXHZnkXQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@nrwl/builders/-/builders-7.0.0.tgz", + "integrity": "sha512-+bwFim5EgV5xUF3SBPHvGQmwDOcxYU+uFUP9n/JGKCuqjHv7CimBrjRydIX8wfuXvAPV6oo/V4TuxNl/nud3rw==", "dev": true, "requires": { - "@angular-devkit/architect": "~0.8.0", - "@angular-devkit/build-webpack": "~0.8.0", + "@angular-devkit/architect": "~0.10.1", + "@angular-devkit/build-webpack": "~0.10.1", "fork-ts-checker-webpack-plugin": "0.4.9", "license-webpack-plugin": "^1.4.0", - "rxjs": "6.2.2", + "rxjs": "6.3.3", "ts-loader": "5.2.1", - "webpack": "4.9.2", + "webpack": "4.19.1", "webpack-node-externals": "1.7.2" }, "dependencies": { - "@webassemblyjs/ast": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.4.3.tgz", - "integrity": "sha512-S6npYhPcTHDYe9nlsKa9CyWByFi8Vj8HovcAgtmMAQZUOczOZbQ8CnwMYKYC5HEZzxEE+oY0jfQk4cVlI3J59Q==", - "dev": true, - "requires": { - "@webassemblyjs/helper-wasm-bytecode": "1.4.3", - "@webassemblyjs/wast-parser": "1.4.3", - "debug": "^3.1.0", - "webassemblyjs": "1.4.3" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.4.3.tgz", - "integrity": "sha512-3zTkSFswwZOPNHnzkP9ONq4bjJSeKVMcuahGXubrlLmZP8fmTIJ58dW7h/zOVWiFSuG2em3/HH3BlCN7wyu9Rw==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.4.3.tgz", - "integrity": "sha512-e8+KZHh+RV8MUvoSRtuT1sFXskFnWG9vbDy47Oa166xX+l0dD5sERJ21g5/tcH8Yo95e9IN3u7Jc3NbhnUcSkw==", - "dev": true, - "requires": { - "debug": "^3.1.0" - } - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.4.3.tgz", - "integrity": "sha512-9FgHEtNsZQYaKrGCtsjswBil48Qp1agrzRcPzCbQloCoaTbOXLJ9IRmqT+uEZbenpULLRNFugz3I4uw18hJM8w==", - "dev": true, - "requires": { - "@webassemblyjs/wast-printer": "1.4.3" - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.4.3.tgz", - "integrity": "sha512-JINY76U+702IRf7ePukOt037RwmtH59JHvcdWbTTyHi18ixmQ+uOuNhcdCcQHTquDAH35/QgFlp3Y9KqtyJsCQ==", - "dev": true - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.4.3.tgz", - "integrity": "sha512-I7bS+HaO0K07Io89qhJv+z1QipTpuramGwUSDkwEaficbSvCcL92CUZEtgykfNtk5wb0CoLQwWlmXTwGbNZUeQ==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.4.3.tgz", - "integrity": "sha512-p0yeeO/h2r30PyjnJX9xXSR6EDcvJd/jC6xa/Pxg4lpfcNi7JUswOpqDToZQ55HMMVhXDih/yqkaywHWGLxqyQ==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.4.3", - "@webassemblyjs/helper-buffer": "1.4.3", - "@webassemblyjs/helper-wasm-bytecode": "1.4.3", - "@webassemblyjs/wasm-gen": "1.4.3", - "debug": "^3.1.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.4.3.tgz", - "integrity": "sha512-4u0LJLSPzuRDWHwdqsrThYn+WqMFVqbI2ltNrHvZZkzFPO8XOZ0HFQ5eVc4jY/TNHgXcnwrHjONhPGYuuf//KQ==", - "dev": true, - "requires": { - "leb": "^0.3.0" - } - }, - "@webassemblyjs/wasm-edit": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.4.3.tgz", - "integrity": "sha512-qzuwUn771PV6/LilqkXcS0ozJYAeY/OKbXIWU3a8gexuqb6De2p4ya/baBeH5JQ2WJdfhWhSvSbu86Vienttpw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.4.3", - "@webassemblyjs/helper-buffer": "1.4.3", - "@webassemblyjs/helper-wasm-bytecode": "1.4.3", - "@webassemblyjs/helper-wasm-section": "1.4.3", - "@webassemblyjs/wasm-gen": "1.4.3", - "@webassemblyjs/wasm-opt": "1.4.3", - "@webassemblyjs/wasm-parser": "1.4.3", - "@webassemblyjs/wast-printer": "1.4.3", - "debug": "^3.1.0" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.4.3.tgz", - "integrity": "sha512-eR394T8dHZfpLJ7U/Z5pFSvxl1L63JdREebpv9gYc55zLhzzdJPAuxjBYT4XqevUdW67qU2s0nNA3kBuNJHbaQ==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.4.3", - "@webassemblyjs/helper-wasm-bytecode": "1.4.3", - "@webassemblyjs/leb128": "1.4.3" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.4.3.tgz", - "integrity": "sha512-7Gp+nschuKiDuAL1xmp4Xz0rgEbxioFXw4nCFYEmy+ytynhBnTeGc9W9cB1XRu1w8pqRU2lbj2VBBA4cL5Z2Kw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.4.3", - "@webassemblyjs/helper-buffer": "1.4.3", - "@webassemblyjs/wasm-gen": "1.4.3", - "@webassemblyjs/wasm-parser": "1.4.3", - "debug": "^3.1.0" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.4.3.tgz", - "integrity": "sha512-KXBjtlwA3BVukR/yWHC9GF+SCzBcgj0a7lm92kTOaa4cbjaTaa47bCjXw6cX4SGQpkncB9PU2hHGYVyyI7wFRg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.4.3", - "@webassemblyjs/helper-wasm-bytecode": "1.4.3", - "@webassemblyjs/leb128": "1.4.3", - "@webassemblyjs/wasm-parser": "1.4.3", - "webassemblyjs": "1.4.3" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.4.3.tgz", - "integrity": "sha512-QhCsQzqV0CpsEkRYyTzQDilCNUZ+5j92f+g35bHHNqS22FppNTywNFfHPq8ZWZfYCgbectc+PoghD+xfzVFh1Q==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.4.3", - "@webassemblyjs/floating-point-hex-parser": "1.4.3", - "@webassemblyjs/helper-code-frame": "1.4.3", - "@webassemblyjs/helper-fsm": "1.4.3", - "long": "^3.2.0", - "webassemblyjs": "1.4.3" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.4.3.tgz", - "integrity": "sha512-EgXk4anf8jKmuZJsqD8qy5bz2frEQhBvZruv+bqwNoLWUItjNSFygk8ywL3JTEz9KtxTlAmqTXNrdD1d9gNDtg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.4.3", - "@webassemblyjs/wast-parser": "1.4.3", - "long": "^3.2.0" - } - }, - "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", - "dev": true - }, - "chrome-trace-event": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-0.1.3.tgz", - "integrity": "sha512-sjndyZHrrWiu4RY7AkHgjn80GfAM2ZSzUkZLV/Js59Ldmh6JDThf0SUmOHU53rFu2rVxxfCzJ30Ukcfch3Gb/A==", - "dev": true - }, - "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "eslint-scope": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.3.tgz", - "integrity": "sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", - "dev": true - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "rxjs": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.2.2.tgz", - "integrity": "sha512-0MI8+mkKAXZUF9vMrEoPnaoHkfzBPP4IGwUYRJhIRJF6/w3uByO1e91bEHn8zd43RdkTMKiooYKmwz7RH6zfOQ==", + "license-webpack-plugin": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-1.5.0.tgz", + "integrity": "sha512-Of/H79rZqm2aeg4RnP9SMSh19qkKemoLT5VaJV58uH5AxeYWEcBgGFs753JEJ/Hm6BPvQVfIlrrjoBwYj8p7Tw==", "dev": true, "requires": { - "tslib": "^1.9.0" + "ejs": "^2.5.7" } }, "ts-loader": { @@ -2079,49 +1465,18 @@ "micromatch": "^3.1.4", "semver": "^5.0.1" } - }, - "webpack": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.9.2.tgz", - "integrity": "sha512-jlWrCrJDU3sdWFprel6jHH8esN2C++Q8ehedRo74u7MWLTUJn9SD7RSgsCTEZCSRpVpMascDylAqPoldauOMfA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.4.3", - "@webassemblyjs/wasm-edit": "1.4.3", - "@webassemblyjs/wasm-parser": "1.4.3", - "acorn": "^5.0.0", - "acorn-dynamic-import": "^3.0.0", - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0", - "chrome-trace-event": "^0.1.1", - "enhanced-resolve": "^4.0.0", - "eslint-scope": "^3.7.1", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.3.0", - "loader-utils": "^1.1.0", - "memory-fs": "~0.4.1", - "micromatch": "^3.1.8", - "mkdirp": "~0.5.0", - "neo-async": "^2.5.0", - "node-libs-browser": "^2.0.0", - "schema-utils": "^0.4.4", - "tapable": "^1.0.0", - "uglifyjs-webpack-plugin": "^1.2.4", - "watchpack": "^1.5.0", - "webpack-sources": "^1.0.1" - } } } }, "@nrwl/nx": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@nrwl/nx/-/nx-6.4.0.tgz", - "integrity": "sha512-e09hYukjDd9piUj7+CHcJGN1PJNmQ77Wp7qrmSSkY3YOC46SntpDsC9GTwjxaJzw/GXF26LjAms4MVDyty3lnQ==" + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@nrwl/nx/-/nx-7.0.0.tgz", + "integrity": "sha512-im6ywRKVv2/rCt6U5SF4JVeo5VIkd5WbPQMAIYTFy1nXtW4n50gHfYZj7n03+0S6Dkmkqrcu19ScsWF5QLM17A==" }, "@nrwl/schematics": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@nrwl/schematics/-/schematics-6.4.0.tgz", - "integrity": "sha512-KPE8qDSGsJWbI99osctREgIqjj9pFxKPEqQ36JPtEA4mAWJbR6NUykOpbh2LWl7V/kMSLKGacmOLEOjrrpyKeA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@nrwl/schematics/-/schematics-7.0.0.tgz", + "integrity": "sha512-qVXzsl9UqtvkURA1Tj/yvecqU9qFnqGrYl2QrbmAWiNBMqB6xQ/w3wyG5xLGU3KNFCaVqAL+QeF5+guZFFcM3Q==", "dev": true, "requires": { "@types/yargs": "^11.0.0", @@ -2221,7 +1576,7 @@ }, "yargs-parser": { "version": "10.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.0.0.tgz", + "resolved": "http://registry.npmjs.org/yargs-parser/-/yargs-parser-10.0.0.tgz", "integrity": "sha512-+DHejWujTVYeMHLff8U96rLc4uE4Emncoftvn5AjhB1Jw1pWxLzgBUT/WYbPrHmy6YPEBTZQx5myHhVcuuu64g==", "dev": true, "requires": { @@ -2301,54 +1656,6 @@ "@angular-devkit/core": "7.0.3", "@angular-devkit/schematics": "7.0.3", "typescript": "3.1.3" - }, - "dependencies": { - "@angular-devkit/core": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.3.tgz", - "integrity": "sha512-Yp0AhTuJbp0VwCHTmUOANrKZNQxTD/F49jPmSCBa/VMYMIoU/sUIiHVNdwzfcFnMoExGoXYah0kutBxgNIG3OA==", - "requires": { - "ajv": "6.5.3", - "chokidar": "2.0.4", - "fast-json-stable-stringify": "2.0.0", - "rxjs": "6.3.3", - "source-map": "0.7.3" - } - }, - "ajv": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", - "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==", - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "requires": { - "punycode": "^2.1.0" - } - } } }, "@schematics/update": { @@ -2365,67 +1672,11 @@ "semver-intersect": "1.4.0" }, "dependencies": { - "@angular-devkit/core": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.0.3.tgz", - "integrity": "sha512-Yp0AhTuJbp0VwCHTmUOANrKZNQxTD/F49jPmSCBa/VMYMIoU/sUIiHVNdwzfcFnMoExGoXYah0kutBxgNIG3OA==", - "dev": true, - "requires": { - "ajv": "6.5.3", - "chokidar": "2.0.4", - "fast-json-stable-stringify": "2.0.0", - "rxjs": "6.3.3", - "source-map": "0.7.3" - } - }, - "@angular-devkit/schematics": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-7.0.3.tgz", - "integrity": "sha512-FhfPvn5hBCNSj39qLgVaSwa6Zl0qt3Uyw4B9M+Kv01/FFc9xrowldzNT4QRxBjjWbr6DssEP+tYQCPV3Ouwx5w==", - "dev": true, - "requires": { - "@angular-devkit/core": "7.0.3", - "rxjs": "6.3.3" - } - }, - "ajv": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", - "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "semver": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz", + "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==", "dev": true - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } } } }, @@ -3150,7 +2401,7 @@ }, "@types/dotenv": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/dotenv/-/dotenv-4.0.3.tgz", + "resolved": "http://registry.npmjs.org/@types/dotenv/-/dotenv-4.0.3.tgz", "integrity": "sha512-mmhpINC/HcLGQK5ikFJlLXINVvcxhlrV+ZOUJSN7/ottYl+8X4oSXzS9lBtDkmWAl96EGyGyLrNvk9zqdSH8Fw==", "dev": true, "requires": { @@ -3158,9 +2409,9 @@ } }, "@types/elasticsearch": { - "version": "5.0.26", - "resolved": "https://registry.npmjs.org/@types/elasticsearch/-/elasticsearch-5.0.26.tgz", - "integrity": "sha512-SyNqeVTxWmegueOAYoTD9RahSIwBAAB6Lcuh4ZsYCidrtvP+cIuIMRLXFhmirB7sLkkWqQNWtt/GofEz96gi3Q==" + "version": "5.0.28", + "resolved": "https://registry.npmjs.org/@types/elasticsearch/-/elasticsearch-5.0.28.tgz", + "integrity": "sha512-hM9Rs1trCkthBz1z9UwAJKQ4/ZaNnKbKB2Utf4iuY91OssLMUHzXZP8mBrkUif4kp/bNOPt6w92L9YmL2nSMuA==" }, "@types/error-stack-parser": { "version": "1.3.18", @@ -3176,7 +2427,7 @@ }, "@types/events": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@types/events/-/events-1.2.0.tgz", + "resolved": "http://registry.npmjs.org/@types/events/-/events-1.2.0.tgz", "integrity": "sha512-KEIlhXnIutzKwRbQkGWb/I4HFqBuUykAdHgDED6xqwXJfONCjF5VoE0cXEiurh3XauygxzeDzgtXUqvLkxFzzA==" }, "@types/express": { @@ -3191,7 +2442,7 @@ }, "@types/express-jwt": { "version": "0.0.40", - "resolved": "https://registry.npmjs.org/@types/express-jwt/-/express-jwt-0.0.40.tgz", + "resolved": "http://registry.npmjs.org/@types/express-jwt/-/express-jwt-0.0.40.tgz", "integrity": "sha512-evWX8LOl2VKtsLAU9fOODLfMjWTBfHqXQmQ8r1myaWmA48piOKHbjCjosSl7PraehkPhQonkLwfM5XfKZNYJLQ==", "requires": { "@types/express": "*", @@ -3239,7 +2490,7 @@ }, "@types/json5": { "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "resolved": "http://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", "dev": true }, @@ -3454,99 +2705,9 @@ }, "@webassemblyjs/utf8": { "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.6.tgz", - "integrity": "sha512-oId+tLxQ+AeDC34ELRYNSqJRaScB0TClUU6KQfpB8rNT6oelYlz8axsPhf6yPTg7PBJ/Z5WcXmUYiHEWgbbHJw==", - "dev": true - }, - "@webassemblyjs/validation": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@webassemblyjs/validation/-/validation-1.4.3.tgz", - "integrity": "sha512-R+rRMKfhd9mq0rj2mhU9A9NKI2l/Rw65vIYzz4lui7eTKPcCu1l7iZNi4b9Gen8D42Sqh/KGiaQNk/x5Tn/iBQ==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.4.3" - }, - "dependencies": { - "@webassemblyjs/ast": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.4.3.tgz", - "integrity": "sha512-S6npYhPcTHDYe9nlsKa9CyWByFi8Vj8HovcAgtmMAQZUOczOZbQ8CnwMYKYC5HEZzxEE+oY0jfQk4cVlI3J59Q==", - "dev": true, - "requires": { - "@webassemblyjs/helper-wasm-bytecode": "1.4.3", - "@webassemblyjs/wast-parser": "1.4.3", - "debug": "^3.1.0", - "webassemblyjs": "1.4.3" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.4.3.tgz", - "integrity": "sha512-3zTkSFswwZOPNHnzkP9ONq4bjJSeKVMcuahGXubrlLmZP8fmTIJ58dW7h/zOVWiFSuG2em3/HH3BlCN7wyu9Rw==", - "dev": true - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.4.3.tgz", - "integrity": "sha512-9FgHEtNsZQYaKrGCtsjswBil48Qp1agrzRcPzCbQloCoaTbOXLJ9IRmqT+uEZbenpULLRNFugz3I4uw18hJM8w==", - "dev": true, - "requires": { - "@webassemblyjs/wast-printer": "1.4.3" - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.4.3.tgz", - "integrity": "sha512-JINY76U+702IRf7ePukOt037RwmtH59JHvcdWbTTyHi18ixmQ+uOuNhcdCcQHTquDAH35/QgFlp3Y9KqtyJsCQ==", - "dev": true - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.4.3.tgz", - "integrity": "sha512-I7bS+HaO0K07Io89qhJv+z1QipTpuramGwUSDkwEaficbSvCcL92CUZEtgykfNtk5wb0CoLQwWlmXTwGbNZUeQ==", - "dev": true - }, - "@webassemblyjs/wast-parser": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.4.3.tgz", - "integrity": "sha512-QhCsQzqV0CpsEkRYyTzQDilCNUZ+5j92f+g35bHHNqS22FppNTywNFfHPq8ZWZfYCgbectc+PoghD+xfzVFh1Q==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.4.3", - "@webassemblyjs/floating-point-hex-parser": "1.4.3", - "@webassemblyjs/helper-code-frame": "1.4.3", - "@webassemblyjs/helper-fsm": "1.4.3", - "long": "^3.2.0", - "webassemblyjs": "1.4.3" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.4.3.tgz", - "integrity": "sha512-EgXk4anf8jKmuZJsqD8qy5bz2frEQhBvZruv+bqwNoLWUItjNSFygk8ywL3JTEz9KtxTlAmqTXNrdD1d9gNDtg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.4.3", - "@webassemblyjs/wast-parser": "1.4.3", - "long": "^3.2.0" - } - }, - "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - } - } + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.6.tgz", + "integrity": "sha512-oId+tLxQ+AeDC34ELRYNSqJRaScB0TClUU6KQfpB8rNT6oelYlz8axsPhf6yPTg7PBJ/Z5WcXmUYiHEWgbbHJw==", + "dev": true }, "@webassemblyjs/wasm-edit": { "version": "1.7.6", @@ -3648,9 +2809,9 @@ }, "dependencies": { "debug": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.0.1.tgz", - "integrity": "sha512-K23FHJ/Mt404FSlp6gSZCevIbTMLX0j3fmHhUEhQ3Wq0FMODW3+cUSoLdy1Gx4polAf4t/lphhmHH35BB8cLYw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz", + "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==", "requires": { "ms": "^2.1.1" } @@ -3683,9 +2844,9 @@ "dev": true }, "JSONStream": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.4.tgz", - "integrity": "sha512-Y7vfi3I5oMOYIr+WxV8NZxDSwcbNgzdKYsTNInmycOq9bUYwGg9ryu57Wg5NLmCjqdFPNUmpMBo3kSJN9tCbXg==", + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", "dev": true, "requires": { "jsonparse": "^1.2.0", @@ -3771,9 +2932,9 @@ } }, "agentkeepalive": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.5.1.tgz", - "integrity": "sha512-Cte/sTY9/XcygXjJ0q58v//SnEQ7ViWExKyJpLJlLqomDbQyMLh6Is4KuWJ/wmxzhiwkGRple7Gqv1zf6Syz5w==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.5.2.tgz", + "integrity": "sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==", "requires": { "humanize-ms": "^1.2.1" } @@ -3797,15 +2958,14 @@ } }, "ajv": { - "version": "6.4.0", - "resolved": "http://registry.npmjs.org/ajv/-/ajv-6.4.0.tgz", - "integrity": "sha1-06/3jpJ3VJdx2vAWTP9ISCt1T8Y=", - "dev": true, + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.3.tgz", + "integrity": "sha512-LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==", "requires": { - "fast-deep-equal": "^1.0.0", + "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0", - "uri-js": "^3.0.2" + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, "ajv-errors": { @@ -4395,6 +3555,14 @@ "private": "^0.1.8", "slash": "^1.0.0", "source-map": "^0.5.7" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } } }, "babel-generator": { @@ -4411,6 +3579,14 @@ "lodash": "^4.17.4", "source-map": "^0.5.7", "trim-right": "^1.0.1" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } } }, "babel-helper-bindify-decorators": { @@ -5160,6 +4336,12 @@ "source-map-support": "^0.4.15" }, "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, "source-map-support": { "version": "0.4.18", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", @@ -5326,7 +4508,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "optional": true, "requires": { "tweetnacl": "^0.14.3" } @@ -5376,7 +4557,7 @@ }, "blob": { "version": "0.0.4", - "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", + "resolved": "http://registry.npmjs.org/blob/-/blob-0.0.4.tgz", "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=" }, "block-stream": { @@ -5626,14 +4807,14 @@ } }, "browserslist": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.3.3.tgz", - "integrity": "sha512-6h84UD1mmHeuQ9IucX6yzBc+KBYcBBTLYt2CXtY7GYCra6iE5kOm7oM+zuGw/0tjGtbJxjm58OvxSBmogEMCRQ==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.3.4.tgz", + "integrity": "sha512-u5iz+ijIMUlmV8blX82VGFrB9ecnUg5qEt55CMZ/YJEhha+d8qpBfOFuutJ6F/VKRXjZoD33b6uvarpPxcl3RA==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30000898", - "electron-to-chromium": "^1.3.81", - "node-releases": "^1.0.0-alpha.15" + "caniuse-lite": "^1.0.30000899", + "electron-to-chromium": "^1.3.82", + "node-releases": "^1.0.1" } }, "bs-logger": { @@ -5837,12 +5018,6 @@ "query-string": "^5.0.1", "sort-keys": "^2.0.0" } - }, - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", - "dev": true } } }, @@ -5901,7 +5076,7 @@ }, "camelcase-keys": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "resolved": "http://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { @@ -5930,7 +5105,7 @@ }, "canonical-path": { "version": "0.0.2", - "resolved": "https://registry.npmjs.org/canonical-path/-/canonical-path-0.0.2.tgz", + "resolved": "http://registry.npmjs.org/canonical-path/-/canonical-path-0.0.2.tgz", "integrity": "sha1-4x65N6jJPuKgHfGDl5RyGQKHRXQ=", "dev": true }, @@ -6078,29 +5253,6 @@ "parse5": "^3.0.1" }, "dependencies": { - "domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "dev": true, - "requires": { - "domelementtype": "1" - } - }, - "htmlparser2": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz", - "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", - "dev": true, - "requires": { - "domelementtype": "^1.3.0", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^2.0.2" - } - }, "parse5": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", @@ -6478,6 +5630,12 @@ "sprintf-js": "^1.1.1" }, "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, "sprintf-js": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.1.tgz", @@ -6544,9 +5702,9 @@ } }, "commander": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.18.0.tgz", - "integrity": "sha512-6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ==" + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" }, "commitizen": { "version": "3.0.4", @@ -6580,6 +5738,17 @@ "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true + }, + "shelljs": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.6.tgz", + "integrity": "sha1-N5zM+1a5HIYB5HkzVutTgpJN6a0=", + "dev": true, + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } } } }, @@ -6714,7 +5883,7 @@ }, "ms": { "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "resolved": "http://registry.npmjs.org/ms/-/ms-0.7.1.tgz", "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", "dev": true }, @@ -7339,7 +6508,7 @@ }, "css-select": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "resolved": "http://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", "dev": true, "requires": { @@ -7361,9 +6530,9 @@ } }, "css-what": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz", - "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.2.tgz", + "integrity": "sha512-wan8dMWQ0GUeF7DGEPVjhHemVW/vy6xUYmFzRY8RYqgA0JtXC9rJmbScBjqSu6dg9q0lwPQy6ZAmJVr3PPTvqQ==", "dev": true }, "cssauron": { @@ -7513,9 +6682,9 @@ "integrity": "sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==" }, "d3-color": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.0.3.tgz", - "integrity": "sha1-vHZD/KjlOoNH4vva/6I2eWtYUJs=" + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.2.3.tgz", + "integrity": "sha512-x37qq3ChOTLd26hnps36lexMRhNXEtVxZ4B25rL0DVdDsGQIJGB18S7y9XDwlDD6MD/ZBzITCf4JjGMM10TZkw==" }, "d3-contour": { "version": "1.3.2", @@ -7526,9 +6695,9 @@ } }, "d3-dispatch": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.3.tgz", - "integrity": "sha1-RuFJHqqbWMNY/OW+TovtYm54cfg=" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.5.tgz", + "integrity": "sha512-vwKx+lAqB1UuCeklr6Jh1bvC4SZgbSqbkGBLClItFBIYH4vqDJCA7qfoy14lXmJdnBOdxndAMxjCbImJYW7e6g==" }, "d3-drag": { "version": "1.2.3", @@ -7550,9 +6719,9 @@ } }, "d3-ease": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.3.tgz", - "integrity": "sha1-aL+8NJM4o4DETYrMT7wzBKotjA4=" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.5.tgz", + "integrity": "sha512-Ct1O//ly5y5lFM9YTdu+ygq7LleSgSE4oj7vUt9tPLHUi8VCV7QoizGpdWRWAwCO9LdYzIrQDg97+hGVdsSGPQ==" }, "d3-fetch": { "version": "1.1.2", @@ -7592,9 +6761,9 @@ "integrity": "sha512-L+GHMSZNwTpiq4rt9GEsNcpLa4M96lXMR8M/nMG9p5hBE0jy6C+3hWtyZMenPQdwla249iJy7Nx0uKt3n+u9+w==" }, "d3-interpolate": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.1.6.tgz", - "integrity": "sha512-mOnv5a+pZzkNIHtw/V6I+w9Lqm9L5bG3OTXPM5A+QO0yyVMQ4W1uZhR+VOJmazaOZXri2ppbiZ5BUNWT0pFM9A==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.3.2.tgz", + "integrity": "sha512-NlNKGopqaz9qM1PXh9gBF1KSCVh+jSFErrSlD/4hybwoNX/gt1d8CDbDW+3i+5UOHhjC6s6nMvRxcuoMVNgL2w==", "requires": { "d3-color": "1" } @@ -7642,9 +6811,9 @@ } }, "d3-selection": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.3.0.tgz", - "integrity": "sha512-qgpUOg9tl5CirdqESUAu0t9MU/t3O9klYfGfyKsXEmhyxyzLpzpeh08gaxBUTQw1uXIOkr/30Ut2YRjSSxlmHA==" + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.3.2.tgz", + "integrity": "sha512-OoXdv1nZ7h2aKMVg3kaUFbLLK5jXUFAMLD/Tu5JA96mjf8f2a9ZUESGY+C36t8R1WFeWk/e55hy54Ml2I62CRQ==" }, "d3-selection-multi": { "version": "1.0.1", @@ -7677,14 +6846,14 @@ } }, "d3-timer": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.7.tgz", - "integrity": "sha512-vMZXR88XujmG/L5oB96NNKH5lCWwiLM/S2HyyAQLcjWJCloK5shxta4CwOFYLZoY3AWX73v8Lgv4cCAdWtRmOA==" + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.9.tgz", + "integrity": "sha512-rT34J5HnQUHhcLvhSB9GjCkN0Ddd5Y8nCwDBG2u6wQEeYxT/Lf51fTFFkldeib/sE/J0clIe0pnCfs6g/lRbyg==" }, "d3-transition": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-1.1.1.tgz", - "integrity": "sha512-xeg8oggyQ+y5eb4J13iDgKIjUcEfIOZs2BqV/eEmXm2twx80wTzJ4tB4vaZ5BKfz7XsI/DFmQL5me6O27/5ykQ==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-1.1.3.tgz", + "integrity": "sha512-tEvo3qOXL6pZ1EzcXxFcPNxC/Ygivu5NoBY6mbzidATAeML86da+JfVIUzon3dNM6UX6zjDx+xbYDmMVtTSjuA==", "requires": { "d3-color": "1", "d3-dispatch": "1", @@ -7734,13 +6903,13 @@ "integrity": "sha1-bYCcnNDPe7iVLYD8hPoT1H3bEwg=" }, "data-urls": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.0.1.tgz", - "integrity": "sha512-0HdcMZzK6ubMUnsMmQmG0AcLQPvbvb47R0+7CCZQCYgcd8OUWG91CG7sM6GoXgjz+WLl4ArFzHtBMy/QqSF4eg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", "dev": true, "requires": { "abab": "^2.0.0", - "whatwg-mimetype": "^2.1.0", + "whatwg-mimetype": "^2.2.0", "whatwg-url": "^7.0.0" }, "dependencies": { @@ -7846,9 +7015,9 @@ "dev": true }, "deepmerge": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.1.1.tgz", - "integrity": "sha512-urQxA1smbLZ2cBbXbaYObM1dJ82aJ2H57A1C/Kklfh/ZN1bgH4G/n5KWhdNfOK11W98gqZfyYj7W4frJJRwA2w==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz", + "integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==", "dev": true }, "default-gateway": { @@ -7975,7 +7144,7 @@ "dependencies": { "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true } @@ -8173,7 +7342,7 @@ "dependencies": { "domelementtype": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", "dev": true } @@ -8186,9 +7355,9 @@ "dev": true }, "domelementtype": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", - "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.2.1.tgz", + "integrity": "sha512-SQVCLFS2E7G5CRCMdn6K9bIhRj1bS6QBWZfF0TUPh4V/BbqrQ619IdSS3/izn0FZ+9l+uODzaZjb08fjOfablA==", "dev": true }, "domexception": { @@ -8200,6 +7369,15 @@ "webidl-conversions": "^4.0.2" } }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, "domutils": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", @@ -8257,9 +7435,9 @@ "dev": true }, "duplexify": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", - "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.1.tgz", + "integrity": "sha512-vM58DwdnKmty+FSPzT14K9JXb90H+j5emaR4KYbr2KTIz00WHGbWOe5ghQTx233ZCLZtrGDALzKwcjEtSt35mA==", "dev": true, "requires": { "end-of-stream": "^1.0.0", @@ -8282,7 +7460,6 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "optional": true, "requires": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" @@ -8375,9 +7552,9 @@ } }, "emitter-listener": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/emitter-listener/-/emitter-listener-1.1.1.tgz", - "integrity": "sha1-6Lu+gkS8jg0LTvcc0UKUx/JBx+w=", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/emitter-listener/-/emitter-listener-1.1.2.tgz", + "integrity": "sha512-Bt1sBAGFHY9DKY+4/2cV6izcKJUf5T7/gkdmkxzX/qv9CcGH8xSwVRW5mtX03SWJtRTWSOpzCuWN9rBFYZepZQ==", "requires": { "shimmer": "^1.2.0" } @@ -8504,9 +7681,9 @@ } }, "entities": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", - "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", "dev": true }, "env-ci": { @@ -8656,7 +7833,7 @@ }, "es6-promisify": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "resolved": "http://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", "dev": true, "requires": { @@ -9267,9 +8444,9 @@ } }, "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" }, "fast-glob": { "version": "2.2.3", @@ -9357,19 +8534,6 @@ "requires": { "loader-utils": "^1.0.2", "schema-utils": "^1.0.0" - }, - "dependencies": { - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } } }, "filename-regex": { @@ -9379,9 +8543,9 @@ "dev": true }, "filepond": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/filepond/-/filepond-3.0.2.tgz", - "integrity": "sha512-ArRDTCX1T8hSmfCgd7K5Z7ngF4dFyRCNMHElDC03hJQAC+LROBkQWMHU4/zWPqhBZc1mBLPqHUqeN78MLlc/Ow==" + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/filepond/-/filepond-3.2.5.tgz", + "integrity": "sha512-Z+ODoNUnQA36f3y3RP0LINzYo6Uh9nIpl6HZ55HMXZ7xGxu3+vpLdjQ2D7XFmivMj8MJ8LAIEjhlxR2Z0dllcg==" }, "filepond-plugin-file-encode": { "version": "2.0.0", @@ -9627,9 +8791,9 @@ } }, "flatmap-stream": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/flatmap-stream/-/flatmap-stream-0.1.0.tgz", - "integrity": "sha512-Nlic4ZRYxikqnK5rj3YoxDVKGGtUjcNDUtvQ7XsdGLZmMwdUYnXf10o1zcXtzEZTBgc6GxeRpQxV/Wu3WPIIHA==", + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/flatmap-stream/-/flatmap-stream-0.1.1.tgz", + "integrity": "sha512-lAq4tLbm3sidmdCN8G3ExaxH7cUCtP5mgDvrYowsx84dcYkJJ4I28N7gkxA6+YlSXzaGLJYIDEi9WGfXzMiXdw==", "dev": true }, "fluent-openapi": { @@ -9652,9 +8816,9 @@ } }, "follow-redirects": { - "version": "1.5.8", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.8.tgz", - "integrity": "sha512-sy1mXPmv7kLAMKW/8XofG7o9T+6gAjzdZK4AJF6ryqQYUa/hnzgiypoeUecZ53x7XiqKNEpNqLtS97MshW2nxg==", + "version": "1.5.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.9.tgz", + "integrity": "sha512-Bh65EZI/RU8nx0wbYF9shkFZlqLP+6WT/5FnA3cE/djNSuKNHJEinGGZgu/cQEkeeb2GdFOgenAmn8qaqYke2w==", "requires": { "debug": "=3.1.0" }, @@ -9707,23 +8871,13 @@ } }, "form-data": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", - "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "requires": { "asynckit": "^0.4.0", - "combined-stream": "1.0.6", + "combined-stream": "^1.0.6", "mime-types": "^2.1.12" - }, - "dependencies": { - "combined-stream": { - "version": "1.0.6", - "resolved": "http://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", - "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", - "requires": { - "delayed-stream": "~1.0.0" - } - } } }, "formidable": { @@ -9816,25 +8970,21 @@ "dependencies": { "abbrev": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "bundled": true, "optional": true }, "ansi-regex": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "bundled": true }, "aproba": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "bundled": true, "optional": true }, "are-we-there-yet": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", - "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", + "bundled": true, "optional": true, "requires": { "delegates": "^1.0.0", @@ -9843,13 +8993,11 @@ }, "balanced-match": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "bundled": true }, "brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "bundled": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -9857,35 +9005,29 @@ }, "chownr": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", - "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", + "bundled": true, "optional": true }, "code-point-at": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + "bundled": true }, "concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "bundled": true }, "console-control-strings": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + "bundled": true }, "core-util-is": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "bundled": true, "optional": true }, "debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "bundled": true, "optional": true, "requires": { "ms": "2.0.0" @@ -9893,26 +9035,22 @@ }, "deep-extend": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz", - "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==", + "bundled": true, "optional": true }, "delegates": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "bundled": true, "optional": true }, "detect-libc": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", + "bundled": true, "optional": true }, "fs-minipass": { "version": "1.2.5", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", - "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", + "bundled": true, "optional": true, "requires": { "minipass": "^2.2.1" @@ -9920,14 +9058,12 @@ }, "fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "bundled": true, "optional": true }, "gauge": { "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "bundled": true, "optional": true, "requires": { "aproba": "^1.0.3", @@ -9942,8 +9078,7 @@ }, "glob": { "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "bundled": true, "optional": true, "requires": { "fs.realpath": "^1.0.0", @@ -9956,14 +9091,12 @@ }, "has-unicode": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "bundled": true, "optional": true }, "iconv-lite": { "version": "0.4.21", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.21.tgz", - "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==", + "bundled": true, "optional": true, "requires": { "safer-buffer": "^2.1.0" @@ -9971,8 +9104,7 @@ }, "ignore-walk": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", - "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", + "bundled": true, "optional": true, "requires": { "minimatch": "^3.0.4" @@ -9980,8 +9112,7 @@ }, "inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "bundled": true, "optional": true, "requires": { "once": "^1.3.0", @@ -9990,46 +9121,39 @@ }, "inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "bundled": true }, "ini": { "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "bundled": true, "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "bundled": true, "requires": { "number-is-nan": "^1.0.0" } }, "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "bundled": true, "optional": true }, "minimatch": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "bundled": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + "bundled": true }, "minipass": { "version": "2.2.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.2.4.tgz", - "integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==", + "bundled": true, "requires": { "safe-buffer": "^5.1.1", "yallist": "^3.0.0" @@ -10037,8 +9161,7 @@ }, "minizlib": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz", - "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", + "bundled": true, "optional": true, "requires": { "minipass": "^2.2.1" @@ -10046,22 +9169,19 @@ }, "mkdirp": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "bundled": true, "requires": { "minimist": "0.0.8" } }, "ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "bundled": true, "optional": true }, "needle": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.2.0.tgz", - "integrity": "sha512-eFagy6c+TYayorXw/qtAdSvaUpEbBsDwDyxYFgLZ0lTojfH7K+OdBqAF7TAFwDokJaGpubpSGG0wO3iC0XPi8w==", + "bundled": true, "optional": true, "requires": { "debug": "^2.1.2", @@ -10071,8 +9191,7 @@ }, "node-pre-gyp": { "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.10.0.tgz", - "integrity": "sha512-G7kEonQLRbcA/mOoFoxvlMrw6Q6dPf92+t/l0DFSMuSlDoWaI9JWIyPwK0jyE1bph//CUEL65/Fz1m2vJbmjQQ==", + "bundled": true, "optional": true, "requires": { "detect-libc": "^1.0.2", @@ -10089,8 +9208,7 @@ }, "nopt": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "bundled": true, "optional": true, "requires": { "abbrev": "1", @@ -10099,14 +9217,12 @@ }, "npm-bundled": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.3.tgz", - "integrity": "sha512-ByQ3oJ/5ETLyglU2+8dBObvhfWXX8dtPZDMePCahptliFX2iIuhyEszyFk401PZUNQH20vvdW5MLjJxkwU80Ow==", + "bundled": true, "optional": true }, "npm-packlist": { "version": "1.1.10", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.10.tgz", - "integrity": "sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA==", + "bundled": true, "optional": true, "requires": { "ignore-walk": "^3.0.1", @@ -10115,8 +9231,7 @@ }, "npmlog": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "bundled": true, "optional": true, "requires": { "are-we-there-yet": "~1.1.2", @@ -10127,39 +9242,33 @@ }, "number-is-nan": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + "bundled": true }, "object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "bundled": true, "optional": true }, "once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "bundled": true, "requires": { "wrappy": "1" } }, "os-homedir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "bundled": true, "optional": true }, "os-tmpdir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "bundled": true, "optional": true }, "osenv": { "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "bundled": true, "optional": true, "requires": { "os-homedir": "^1.0.0", @@ -10168,20 +9277,17 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "bundled": true, "optional": true }, "process-nextick-args": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "bundled": true, "optional": true }, "rc": { "version": "1.2.7", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.7.tgz", - "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", + "bundled": true, "optional": true, "requires": { "deep-extend": "^0.5.1", @@ -10192,16 +9298,14 @@ "dependencies": { "minimist": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "bundled": true, "optional": true } } }, "readable-stream": { "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "bundled": true, "optional": true, "requires": { "core-util-is": "~1.0.0", @@ -10215,8 +9319,7 @@ }, "rimraf": { "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "bundled": true, "optional": true, "requires": { "glob": "^7.0.5" @@ -10224,43 +9327,36 @@ }, "safe-buffer": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + "bundled": true }, "safer-buffer": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "bundled": true, "optional": true }, "sax": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "bundled": true, "optional": true }, "semver": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "bundled": true, "optional": true }, "set-blocking": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "bundled": true, "optional": true }, "signal-exit": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "bundled": true, "optional": true }, "string-width": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "bundled": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -10269,8 +9365,7 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "bundled": true, "optional": true, "requires": { "safe-buffer": "~5.1.0" @@ -10278,22 +9373,19 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "bundled": true, "requires": { "ansi-regex": "^2.0.0" } }, "strip-json-comments": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "bundled": true, "optional": true }, "tar": { "version": "4.4.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.1.tgz", - "integrity": "sha512-O+v1r9yN4tOsvl90p5HAP4AEqbYhx4036AGMm075fH9F8Qwi3oJ+v4u50FkT/KkvywNGtwkk0zRI+8eYm1X/xg==", + "bundled": true, "optional": true, "requires": { "chownr": "^1.0.1", @@ -10307,14 +9399,12 @@ }, "util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "bundled": true, "optional": true }, "wide-align": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", - "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", + "bundled": true, "optional": true, "requires": { "string-width": "^1.0.2" @@ -10322,13 +9412,11 @@ }, "wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "bundled": true }, "yallist": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", - "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=" + "bundled": true } } }, @@ -10414,9 +9502,9 @@ "dev": true }, "get-own-enumerable-property-symbols": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-2.0.1.tgz", - "integrity": "sha512-TtY/sbOemiMKPRUDDanGCSgBYe7Mf0vbRsWnBZ+9yghpZ1MvcpSpuZFjHdEeY/LZjZy0vdLjS77L6HosisFiug==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz", + "integrity": "sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg==", "dev": true }, "get-stdin": { @@ -10503,7 +9591,7 @@ }, "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, @@ -10837,27 +9925,33 @@ } }, "google-libphonenumber": { - "version": "3.1.14", - "resolved": "https://registry.npmjs.org/google-libphonenumber/-/google-libphonenumber-3.1.14.tgz", - "integrity": "sha512-87znRJE3r3hX3wXIIftIXNBoFw7AqbDpfih3JIVD5FA47ZhkWOCVTOBReGgqZgq+H5KU6t+8/E0MrcbWTyjYwQ==" + "version": "3.1.15", + "resolved": "https://registry.npmjs.org/google-libphonenumber/-/google-libphonenumber-3.1.15.tgz", + "integrity": "sha512-KmGOCMoeSMlXauNgBNmscpygZkqu9W4brL1JfEo+dvbCYXIfLUZVPS4MXGlE5BuLE+HBEPwSX4LEyu1PwgKWvw==" }, "got": { - "version": "6.7.1", - "resolved": "http://registry.npmjs.org/got/-/got-6.7.1.tgz", - "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", + "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", "dev": true, "requires": { - "create-error-class": "^3.0.0", + "@sindresorhus/is": "^0.7.0", + "cacheable-request": "^2.1.1", + "decompress-response": "^3.3.0", "duplexer3": "^0.1.4", "get-stream": "^3.0.0", - "is-redirect": "^1.0.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", + "into-stream": "^3.1.0", + "is-retry-allowed": "^1.1.0", + "isurl": "^1.0.0-alpha5", "lowercase-keys": "^1.0.0", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "unzip-response": "^2.0.1", - "url-parse-lax": "^1.0.0" + "mimic-response": "^1.0.0", + "p-cancelable": "^0.4.0", + "p-timeout": "^2.0.1", + "pify": "^3.0.0", + "safe-buffer": "^5.1.1", + "timed-out": "^4.0.1", + "url-parse-lax": "^3.0.0", + "url-to-options": "^1.0.1" } }, "graceful-fs": { @@ -11041,6 +10135,16 @@ "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.3.0" } + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" } } }, @@ -11304,6 +10408,39 @@ "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", "dev": true }, + "htmlparser2": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.0.tgz", + "integrity": "sha512-J1nEUGv+MkXS0weHNWVKJJ+UrLfePxRWpN3C9bEi9fLxL2+ggW94DQvgYVXsaT30PGwYRIZKNZXuyMhp3Di4bQ==", + "dev": true, + "requires": { + "domelementtype": "^1.3.0", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.0.6" + }, + "dependencies": { + "domelementtype": { + "version": "1.3.0", + "resolved": "http://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", + "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", + "dev": true + }, + "readable-stream": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.0.6.tgz", + "integrity": "sha512-9E1oLoOWfhSXHGv6QlwXJim7uNzd9EVlWK+21tCU9Ju/kR0/p2AZYPz4qSchgO8PlLIH4FpZYfzwS+rEksZjIg==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, "http-auth": { "version": "2.4.11", "resolved": "https://registry.npmjs.org/http-auth/-/http-auth-2.4.11.tgz", @@ -11347,9 +10484,9 @@ } }, "http-parser-js": { - "version": "0.4.13", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.13.tgz", - "integrity": "sha1-O9bW/ebjFyyTNMOzO2wZPYD+ETc=", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz", + "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==", "dev": true }, "http-proxy": { @@ -11579,9 +10716,9 @@ } }, "i18next": { - "version": "11.9.0", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-11.9.0.tgz", - "integrity": "sha512-NDuIoELzyJ+29kc29j9aKgzjZht4kEKh3PPdz0qCEC9ZUpgRVaWUdkMRES/NVTcpe1ei4MMwY8DNWBWCIUlAng==", + "version": "11.10.2", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-11.10.2.tgz", + "integrity": "sha512-1rowdX8PqrvsdFhYb3v0A/LlIHLQL1HTa4ia29IzhvNAg2fesNV7R1jXibWLmLQdz3FfTB8RuqSqDEjIawXruA==", "dev": true }, "iconv-lite": { @@ -11659,14 +10796,6 @@ "dev": true, "requires": { "resolve-from": "^3.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - } } }, "import-lazy": { @@ -11853,7 +10982,7 @@ }, "into-stream": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", + "resolved": "http://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", "dev": true, "requires": { @@ -12463,6 +11592,18 @@ "json-schema-traverse": "^0.3.0" } }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, "schema-utils": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", @@ -12547,9 +11688,9 @@ }, "dependencies": { "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -12560,6 +11701,12 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true } } }, @@ -12985,7 +12132,7 @@ }, "jest-get-type": { "version": "22.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", + "resolved": "http://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==", "dev": true }, @@ -13638,8 +12785,7 @@ "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "optional": true + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" }, "jsdom": { "version": "11.12.0", @@ -13772,9 +12918,9 @@ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" }, "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "json-socket": { "version": "0.2.1", @@ -13975,12 +13121,6 @@ "invert-kv": "^1.0.0" } }, - "leb": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/leb/-/leb-0.3.0.tgz", - "integrity": "sha1-Mr7p+tFoMo1q6oUi2DP0GA7tHaM=", - "dev": true - }, "left-pad": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", @@ -14068,12 +13208,12 @@ } }, "license-webpack-plugin": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-1.5.0.tgz", - "integrity": "sha512-Of/H79rZqm2aeg4RnP9SMSh19qkKemoLT5VaJV58uH5AxeYWEcBgGFs753JEJ/Hm6BPvQVfIlrrjoBwYj8p7Tw==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.0.2.tgz", + "integrity": "sha512-GsomZw5VoT20ST8qH2tOjBgbyhn6Pgs9M94g0mbvfBIV1VXufm1iKY+4dbgfTObj1Mp6nSRE3Zf74deOZr0KwA==", "dev": true, "requires": { - "ejs": "^2.5.7" + "webpack-sources": "^1.2.0" } }, "limiter": { @@ -14123,9 +13263,9 @@ } }, "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -14455,7 +13595,7 @@ "dependencies": { "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true } @@ -14820,9 +13960,9 @@ "dev": true }, "long": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", - "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", "dev": true }, "longest": { @@ -15021,7 +14161,7 @@ }, "media-typer": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" }, "mem": { @@ -15065,7 +14205,7 @@ }, "meow": { "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "resolved": "http://registry.npmjs.org/meow/-/meow-3.7.0.tgz", "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { @@ -15096,9 +14236,9 @@ } }, "merge": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.0.tgz", - "integrity": "sha1-dTHjnUlJwoGma4xabgJl6LBYlNo=", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz", + "integrity": "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==", "dev": true }, "merge-descriptors": { @@ -15116,9 +14256,9 @@ } }, "merge2": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.2.tgz", - "integrity": "sha512-bgM8twH86rWni21thii6WCMQMRMmwqqdW3sGWi9IipnVAszdLXRjwDwAnyrVXo6DuP3AjRMMttZKUB48QWIFGg==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.3.tgz", + "integrity": "sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA==", "dev": true }, "methods": { @@ -15162,16 +14302,16 @@ "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" }, "mime-db": { - "version": "1.36.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.36.0.tgz", - "integrity": "sha512-L+xvyD9MkoYMXb1jAmzI/lWYAxAMCPvIBSWur0PZ5nOf5euahRLVqH//FKW9mWp2lkqUgYiXPgkzfMUFi4zVDw==" + "version": "1.37.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", + "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==" }, "mime-types": { - "version": "2.1.20", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.20.tgz", - "integrity": "sha512-HrkrPaP9vGuWbLK1B1FfgAkbqNjIuy4eHlIYnFi7kamZyLLrGlo2mpcx0bBmNpKqBtYtAfGbodDddIgddSJC2A==", + "version": "2.1.21", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", + "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", "requires": { - "mime-db": "~1.36.0" + "mime-db": "~1.37.0" } }, "mimeparse": { @@ -15198,21 +14338,8 @@ "dev": true, "requires": { "loader-utils": "^1.1.0", - "schema-utils": "^1.0.0", - "webpack-sources": "^1.1.0" - }, - "dependencies": { - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } + "schema-utils": "^1.0.0", + "webpack-sources": "^1.1.0" } }, "minimalistic-assert": { @@ -15475,9 +14602,9 @@ "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" }, "neo-async": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.2.tgz", - "integrity": "sha512-vdqTKI9GBIYcAEbFAcpKPErKINfPF5zIuz3/niBfq8WUZjpT2tytLlFVrBgWdOtqI4uaA/Rb6No0hux39XXDuw==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz", + "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==", "dev": true }, "nerf-dart": { @@ -15531,43 +14658,6 @@ "update-notifier": "^2.3.0" }, "dependencies": { - "autoprefixer": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.3.1.tgz", - "integrity": "sha512-DY9gOh8z3tnCbJ13JIWaeQsoYncTGdsrgCceBaQSIL4nvdrLxgbRSBPevg2XbX7u4QCSfLheSJEEIUUSlkbx6Q==", - "dev": true, - "requires": { - "browserslist": "^4.3.3", - "caniuse-lite": "^1.0.30000898", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^7.0.5", - "postcss-value-parser": "^3.3.1" - } - }, - "browserslist": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.3.3.tgz", - "integrity": "sha512-6h84UD1mmHeuQ9IucX6yzBc+KBYcBBTLYt2CXtY7GYCra6iE5kOm7oM+zuGw/0tjGtbJxjm58OvxSBmogEMCRQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30000898", - "electron-to-chromium": "^1.3.81", - "node-releases": "^1.0.0-alpha.15" - } - }, - "caniuse-lite": { - "version": "1.0.30000898", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000898.tgz", - "integrity": "sha512-ytlTZqO4hYe4rNAJhMynUAIUI33jsP2Bb1two/9OVC39wZjPZ8exIO0eCLw5mqAtegOGiGF0kkTWTn3B02L+mw==", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.81", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.81.tgz", - "integrity": "sha512-+rym2xtzwPWmoi8AYRrCdW65QOT0vfUHjZb5mjgh0VLyj31pGM3CpP3znKhQNBzQaWujR/KEl/mfC2lnKYgADA==", - "dev": true - }, "find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", @@ -15633,23 +14723,6 @@ "json-parse-better-errors": "^1.0.1" } }, - "postcss": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.5.tgz", - "integrity": "sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.5.0" - } - }, - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - }, "read-pkg": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", @@ -15787,7 +14860,7 @@ "dependencies": { "semver": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "resolved": "http://registry.npmjs.org/semver/-/semver-5.3.0.tgz", "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", "dev": true } @@ -15820,14 +14893,6 @@ "long": "^4.0.0", "node-forge": "^0.7.1", "uuid": "^3.0.1" - }, - "dependencies": { - "long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", - "dev": true - } } }, "node-libs-browser": { @@ -15881,21 +14946,21 @@ } }, "node-notifier": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.2.1.tgz", - "integrity": "sha512-MIBs+AAd6dJ2SklbbE8RUDRlIVhU8MaNLh1A9SUZDUHPiZkWLFde6UNwG41yQHZEToHgJMXqyVZ9UcS/ReOVTg==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.3.0.tgz", + "integrity": "sha512-AhENzCSGZnZJgBARsUjnQ7DnZbzyP+HxlVXuD0xqAnvL8q+OqtSX7lGg9e8nHzwXkMMXNdVeqq4E2M3EUAqX6Q==", "dev": true, "requires": { "growly": "^1.3.0", - "semver": "^5.4.1", + "semver": "^5.5.0", "shellwords": "^0.1.1", "which": "^1.3.0" } }, "node-releases": { - "version": "1.0.0-alpha.15", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.0.0-alpha.15.tgz", - "integrity": "sha512-hKG6hd/g6a9OV/ARt2qrxbRhe/4WEMFohTLOB9PNyTYvvI59gICZFzt9/mMgpYUTts06qXlN8H6UjfbIRdnW8A==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.0.1.tgz", + "integrity": "sha512-/kOv7jA26OBwkBPx6B9xR/FzJzs2OkMtcWjS8uPQRMHE7IELdSfN0QKZvmiWnf5P1QJ8oYq/e9qe0aCZISB1pQ==", "dev": true, "requires": { "semver": "^5.3.0" @@ -15969,6 +15034,12 @@ "which": "^1.2.9" } }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, "har-validator": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", @@ -15979,6 +15050,12 @@ "har-schema": "^2.0.0" } }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, "oauth-sign": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", @@ -19346,9 +18423,9 @@ } }, "nth-check": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz", - "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", "dev": true, "requires": { "boolbase": "~1.0.0" @@ -19539,31 +18616,6 @@ "p-any": "^1.1.0" }, "dependencies": { - "got": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", - "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", - "dev": true, - "requires": { - "@sindresorhus/is": "^0.7.0", - "cacheable-request": "^2.1.1", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "into-stream": "^3.1.0", - "is-retry-allowed": "^1.1.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "mimic-response": "^1.0.0", - "p-cancelable": "^0.4.0", - "p-timeout": "^2.0.1", - "pify": "^3.0.0", - "safe-buffer": "^5.1.1", - "timed-out": "^4.0.1", - "url-parse-lax": "^3.0.0", - "url-to-options": "^1.0.1" - } - }, "lru-cache": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", @@ -19573,28 +18625,13 @@ "pseudomap": "^1.0.2", "yallist": "^2.1.2" } - }, - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", - "dev": true - }, - "url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "dev": true, - "requires": { - "prepend-http": "^2.0.0" - } } } }, "opn": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.4.0.tgz", - "integrity": "sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw==", + "version": "5.3.0", + "resolved": "http://registry.npmjs.org/opn/-/opn-5.3.0.tgz", + "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", "dev": true, "requires": { "is-wsl": "^1.1.0" @@ -19819,6 +18856,42 @@ "registry-auth-token": "^3.0.1", "registry-url": "^3.0.3", "semver": "^5.1.0" + }, + "dependencies": { + "got": { + "version": "6.7.1", + "resolved": "http://registry.npmjs.org/got/-/got-6.7.1.tgz", + "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "dev": true, + "requires": { + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" + } + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "dev": true, + "requires": { + "prepend-http": "^1.0.1" + } + } } }, "packet-reader": { @@ -20092,7 +19165,7 @@ "dependencies": { "semver": { "version": "4.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.2.tgz", + "resolved": "http://registry.npmjs.org/semver/-/semver-4.3.2.tgz", "integrity": "sha1-x6BxWKgL7dBSNVt3DYLWZA+AO+c=" } } @@ -20335,19 +19408,6 @@ "postcss": "^7.0.0", "postcss-load-config": "^2.0.0", "schema-utils": "^1.0.0" - }, - "dependencies": { - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } } }, "postcss-url": { @@ -20368,23 +19428,6 @@ "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", "dev": true - }, - "postcss": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.5.tgz", - "integrity": "sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.5.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true } } }, @@ -20424,9 +19467,9 @@ "dev": true }, "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", "dev": true }, "preserve": { @@ -20829,9 +19872,9 @@ "dev": true }, "randomatic": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.0.tgz", - "integrity": "sha512-KnGPVE0lo2WoXxIZ7cPR8YBpiol4gsSuOwDSg410oHh80ZMp5EiypNqL2K4Z77vJn6lB5rap7IkAmcUlalcnBQ==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", + "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", "dev": true, "requires": { "is-number": "^4.0.0", @@ -20919,7 +19962,7 @@ "dependencies": { "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true } @@ -20958,7 +20001,7 @@ }, "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true } @@ -21138,7 +20181,7 @@ }, "regjsgen": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "resolved": "http://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", "dev": true }, @@ -21296,14 +20339,6 @@ "dev": true, "requires": { "resolve-from": "^3.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - } } }, "resolve-dir": { @@ -21317,9 +20352,9 @@ } }, "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", "dev": true }, "resolve-global": { @@ -21634,7 +20669,7 @@ }, "safe-regex": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "requires": { "ret": "~0.1.10" @@ -21837,12 +20872,13 @@ } }, "schema-utils": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", - "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", "dev": true, "requires": { "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", "ajv-keywords": "^3.1.0" } }, @@ -22178,6 +21214,12 @@ "read-pkg": "^3.0.0" } }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", @@ -22225,9 +21267,9 @@ } }, "semver": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz", - "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==" + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" }, "semver-compare": { "version": "1.0.0", @@ -22419,9 +21461,9 @@ } }, "shelljs": { - "version": "0.7.6", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.6.tgz", - "integrity": "sha1-N5zM+1a5HIYB5HkzVutTgpJN6a0=", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.2.tgz", + "integrity": "sha512-pRXeNrCA2Wd9itwhvLp5LZQvPJ0wU6bcjaTMywHHGX5XWhVN2nzSu7WV0q+oUY7mGK3mgSkDDzP3MgjqdyIgbQ==", "dev": true, "requires": { "glob": "^7.0.0", @@ -22470,7 +21512,7 @@ }, "slice-ansi": { "version": "0.0.4", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", + "resolved": "http://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", "dev": true }, @@ -22520,6 +21562,11 @@ "requires": { "is-extendable": "^0.1.0" } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" } } }, @@ -22716,15 +21763,15 @@ } }, "source-list-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", - "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", "dev": true }, "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" }, "source-map-loader": { "version": "0.2.4", @@ -22801,9 +21848,9 @@ "dev": true }, "spdx-correct": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.1.tgz", - "integrity": "sha512-hxSPZbRZvSDuOvADntOElzJpenIR7wXJkuoUcUtS0erbgt2fgeaoPIYretfKpslMhfFDY4k0MZ2F5CUzhBsSvQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.2.tgz", + "integrity": "sha512-q9hedtzyXHr5S0A1vEPoK/7l8NpfkFYTq6iCY+Pno2ZbdZR6WexZFtqeVGkGxW3TEJMN914Z55EnAGMmenlIQQ==", "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", @@ -22901,9 +21948,9 @@ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "sshpk": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", - "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.1.tgz", + "integrity": "sha512-mSdgNUaidk+dRU5MhYtN9zebdzF2iG0cNPWy8HG+W8y+fT1JnSkh0fzzpjOa0L7P8i1Rscz38t0h4gPcKz43xA==", "requires": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -23151,12 +22198,12 @@ } }, "stringify-object": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.2.2.tgz", - "integrity": "sha512-O696NF21oLiDy8PhpWu8AEqoZHw++QW6mUv0UvKZe8gWSdSvMXkiLufK7OmnP27Dro4GU5kb9U7JIO0mBuCRQg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", "dev": true, "requires": { - "get-own-enumerable-property-symbols": "^2.0.1", + "get-own-enumerable-property-symbols": "^3.0.0", "is-obj": "^1.0.1", "is-regexp": "^1.0.0" } @@ -23180,7 +22227,7 @@ }, "strip-eof": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "resolved": "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" }, "strip-indent": { @@ -23206,6 +22253,18 @@ "requires": { "loader-utils": "^1.1.0", "schema-utils": "^0.4.5" + }, + "dependencies": { + "schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", + "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" + } + } } }, "stylus": { @@ -23283,9 +22342,9 @@ }, "dependencies": { "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -23413,9 +22472,9 @@ } }, "terser": { - "version": "3.10.3", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.10.3.tgz", - "integrity": "sha512-uyL5hwDICjnv49JANhZvQYLikt/HADWNbUFsKQpZ/i+JSOkL2T4V7WUpW7S/5QGZceVq2x0HRVhEQQuW2ZpX6g==", + "version": "3.10.4", + "resolved": "https://registry.npmjs.org/terser/-/terser-3.10.4.tgz", + "integrity": "sha512-Gobjr6j9ZbA0oAFW+foiqp8LUZjBkd5UHxCVL0cPOlHO7wKKa3FwHW/j9p7d1/ypPl6m9Bf0LAFbbHf3k97asA==", "dev": true, "requires": { "commander": "~2.17.1", @@ -23576,17 +22635,6 @@ "once": "^1.3.1" } }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -23893,7 +22941,7 @@ }, "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, @@ -23940,6 +22988,12 @@ } } }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", @@ -23999,13 +23053,13 @@ }, "core-js": { "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "resolved": "http://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=", "dev": true }, "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true } @@ -24074,7 +23128,7 @@ }, "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, @@ -24144,7 +23198,7 @@ }, "core-js": { "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "resolved": "http://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=", "dev": true }, @@ -24162,7 +23216,7 @@ }, "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true } @@ -24246,9 +23300,9 @@ "dev": true }, "text-extensions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.8.0.tgz", - "integrity": "sha512-mVzjRxuWnDKs/qH1rbOJEVHLlSX9kty9lpi7lMvLgU9S74mQ8/Ozg9UPcKxShh0qG2NZ+NyPOPpcZU4C1Eld9A==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", + "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", "dev": true }, "thenify": { @@ -24704,12 +23758,6 @@ "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true } } }, @@ -24756,9 +23804,9 @@ "dev": true }, "tsutils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.0.0.tgz", - "integrity": "sha512-LjHBWR0vWAUHWdIAoTjoqi56Kz+FDKBgVEuL+gVPG/Pv7QW5IdaDDeK9Txlr6U0Cmckp5EgCIq1T25qe3J6hyw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.2.0.tgz", + "integrity": "sha512-CvWEadl8VwlxOq6F3hfNbGrrRVSAjN2EPCEBgcbCUVDUxmwkV5254OGKsITNxDz8IGDQPAw7YJMtBHniHu2tbA==", "dev": true, "requires": { "tslib": "^1.8.1" @@ -24781,8 +23829,7 @@ "tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "optional": true + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" }, "type-check": { "version": "0.3.2", @@ -24942,6 +23989,13 @@ "source-map": "~0.5.1", "uglify-to-browserify": "~1.0.0", "yargs": "~3.10.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } } }, "uglify-to-browserify": { @@ -24972,6 +24026,16 @@ "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", "dev": true }, + "schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", + "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -25170,10 +24234,9 @@ } }, "uri-js": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-3.0.2.tgz", - "integrity": "sha1-+QuFhQf4HepNz7s8TD2/orVX+qo=", - "dev": true, + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "requires": { "punycode": "^2.1.0" } @@ -25218,12 +24281,12 @@ } }, "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", "dev": true, "requires": { - "prepend-http": "^1.0.1" + "prepend-http": "^2.0.0" } }, "url-template": { @@ -25465,122 +24528,6 @@ "integrity": "sha1-tm5Wqd8L0lp2u/G1FNsSkIBhSjc=", "dev": true }, - "webassemblyjs": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webassemblyjs/-/webassemblyjs-1.4.3.tgz", - "integrity": "sha512-4lOV1Lv6olz0PJkDGQEp82HempAn147e6BXijWDzz9g7/2nSebVP9GVg62Fz5ZAs55mxq13GA0XLyvY8XkyDjg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.4.3", - "@webassemblyjs/validation": "1.4.3", - "@webassemblyjs/wasm-parser": "1.4.3", - "@webassemblyjs/wast-parser": "1.4.3", - "long": "^3.2.0" - }, - "dependencies": { - "@webassemblyjs/ast": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.4.3.tgz", - "integrity": "sha512-S6npYhPcTHDYe9nlsKa9CyWByFi8Vj8HovcAgtmMAQZUOczOZbQ8CnwMYKYC5HEZzxEE+oY0jfQk4cVlI3J59Q==", - "dev": true, - "requires": { - "@webassemblyjs/helper-wasm-bytecode": "1.4.3", - "@webassemblyjs/wast-parser": "1.4.3", - "debug": "^3.1.0", - "webassemblyjs": "1.4.3" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.4.3.tgz", - "integrity": "sha512-3zTkSFswwZOPNHnzkP9ONq4bjJSeKVMcuahGXubrlLmZP8fmTIJ58dW7h/zOVWiFSuG2em3/HH3BlCN7wyu9Rw==", - "dev": true - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.4.3.tgz", - "integrity": "sha512-9FgHEtNsZQYaKrGCtsjswBil48Qp1agrzRcPzCbQloCoaTbOXLJ9IRmqT+uEZbenpULLRNFugz3I4uw18hJM8w==", - "dev": true, - "requires": { - "@webassemblyjs/wast-printer": "1.4.3" - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.4.3.tgz", - "integrity": "sha512-JINY76U+702IRf7ePukOt037RwmtH59JHvcdWbTTyHi18ixmQ+uOuNhcdCcQHTquDAH35/QgFlp3Y9KqtyJsCQ==", - "dev": true - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.4.3.tgz", - "integrity": "sha512-I7bS+HaO0K07Io89qhJv+z1QipTpuramGwUSDkwEaficbSvCcL92CUZEtgykfNtk5wb0CoLQwWlmXTwGbNZUeQ==", - "dev": true - }, - "@webassemblyjs/leb128": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.4.3.tgz", - "integrity": "sha512-4u0LJLSPzuRDWHwdqsrThYn+WqMFVqbI2ltNrHvZZkzFPO8XOZ0HFQ5eVc4jY/TNHgXcnwrHjONhPGYuuf//KQ==", - "dev": true, - "requires": { - "leb": "^0.3.0" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.4.3.tgz", - "integrity": "sha512-KXBjtlwA3BVukR/yWHC9GF+SCzBcgj0a7lm92kTOaa4cbjaTaa47bCjXw6cX4SGQpkncB9PU2hHGYVyyI7wFRg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.4.3", - "@webassemblyjs/helper-wasm-bytecode": "1.4.3", - "@webassemblyjs/leb128": "1.4.3", - "@webassemblyjs/wasm-parser": "1.4.3", - "webassemblyjs": "1.4.3" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.4.3.tgz", - "integrity": "sha512-QhCsQzqV0CpsEkRYyTzQDilCNUZ+5j92f+g35bHHNqS22FppNTywNFfHPq8ZWZfYCgbectc+PoghD+xfzVFh1Q==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.4.3", - "@webassemblyjs/floating-point-hex-parser": "1.4.3", - "@webassemblyjs/helper-code-frame": "1.4.3", - "@webassemblyjs/helper-fsm": "1.4.3", - "long": "^3.2.0", - "webassemblyjs": "1.4.3" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.4.3.tgz", - "integrity": "sha512-EgXk4anf8jKmuZJsqD8qy5bz2frEQhBvZruv+bqwNoLWUItjNSFygk8ywL3JTEz9KtxTlAmqTXNrdD1d9gNDtg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.4.3", - "@webassemblyjs/wast-parser": "1.4.3", - "long": "^3.2.0" - } - }, - "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - } - } - }, "webauth": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/webauth/-/webauth-1.1.0.tgz", @@ -25630,6 +24577,16 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", "dev": true + }, + "schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", + "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" + } } } }, @@ -26125,17 +25082,6 @@ "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", "dev": true }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, "webpack-dev-middleware": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.2.0.tgz", @@ -26208,9 +25154,9 @@ "dev": true }, "webpack-sources": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz", - "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.2.0.tgz", + "integrity": "sha512-9BZwxR85dNsjWz3blyxdOhTgtnQvv3OEs5xofI0wPYTwu5kaWxS08UuD1oI7WLBLpRO+ylf0ofnXLXWmGb2WMw==", "dev": true, "requires": { "source-list-map": "^2.0.0", @@ -26319,7 +25265,7 @@ "dependencies": { "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, @@ -26350,9 +25296,9 @@ } }, "widest-line": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.0.tgz", - "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", + "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", "dev": true, "requires": { "string-width": "^2.1.1" @@ -26484,7 +25430,7 @@ }, "xmlbuilder": { "version": "9.0.7", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "resolved": "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" }, "xmlhttprequest-ssl": { diff --git a/package.json b/package.json index 632338d1d..6573c335d 100644 --- a/package.json +++ b/package.json @@ -142,7 +142,7 @@ "@ngxs/form-plugin": "^3.2.0", "@ngxs/router-plugin": "^3.2.0", "@ngxs/store": "^3.2.0", - "@nrwl/nx": "^6.4.0", + "@nrwl/nx": "^7.0.0", "@trademe/ng-defer-load": "^2.0.0", "@xmlking/api-ai-javascript": "^2.0.0-beta.22", "@xmlking/jwks-rsa": "^1.4.3", @@ -197,8 +197,8 @@ "@compodoc/compodoc": "^1.1.5", "@nestjs/testing": "^5.4.0", "@ngx-formly/schematics": "5.0.0-beta.5", - "@nrwl/builders": "^6.4.0", - "@nrwl/schematics": "^6.4.0", + "@nrwl/builders": "^7.0.0", + "@nrwl/schematics": "^7.0.0", "@semantic-release/changelog": "^3.0.1", "@semantic-release/git": "^7.0.5", "@semantic-release/github": "^5.2.1",