Update client modules

pull/71/head
Chocobozzz 2017-06-11 12:28:22 +02:00
parent 66dd264f7b
commit 8635a2c70c
19 changed files with 875 additions and 906 deletions

1
client/.gitignore vendored
View File

@ -3,3 +3,4 @@
/compiled
/stats.json
/dll
/.awcache

View File

@ -85,23 +85,37 @@ module.exports = function (options) {
rules: [
/*
* Typescript loader support for .ts and Angular 2 async routes via .async.ts
* Typescript loader support for .ts and Angular async routes via .async.ts
*
* See: https://github.com/s-panferov/awesome-typescript-loader
*/
{
test: /\.ts$/,
use: [
'@angularclass/hmr-loader?pretty=' + !isProd + '&prod=' + isProd,
'awesome-typescript-loader?{configFileName: "tsconfig.webpack.json"}',
'angular2-template-loader',
{
loader: '@angularclass/hmr-loader',
options: {
pretty: !isProd,
prod: isProd
}
},
{
loader: 'ng-router-loader',
options: {
loader: 'async-system',
loader: 'async-import',
genDir: 'compiled',
aot: AOT
}
},
{
loader: 'awesome-typescript-loader',
options: {
configFileName: 'tsconfig.webpack.json',
useCache: !isProd
}
},
{
loader: 'angular2-template-loader'
}
],
exclude: [/\.(spec|e2e)\.ts$/]
@ -114,7 +128,7 @@ module.exports = function (options) {
*/
{
test: /\.json$/,
loader: 'json-loader'
use: 'json-loader'
},
{
@ -149,7 +163,7 @@ module.exports = function (options) {
*/
{
test: /\.html$/,
loader: 'raw-loader',
use: 'raw-loader',
exclude: [
helpers.root('src/index.html'),
helpers.root('src/standalone/videos/embed.html')
@ -213,11 +227,15 @@ module.exports = function (options) {
* See: https://github.com/angular/angular/issues/11580
*/
new ContextReplacementPlugin(
// The (\\|\/) piece accounts for path separators in *nix and Windows
/angular(\\|\/)core(\\|\/)src(\\|\/)linker/,
/**
* The (\\|\/) piece accounts for path separators in *nix and Windows
*/
/angular(\\|\/)core(\\|\/)@angular/,
helpers.root('src'), // location of your src
{
// your Angular Async Route paths relative to this root directory
/**
* Your Angular Async Route paths relative to this root directory
*/
}
),
@ -245,6 +263,20 @@ module.exports = function (options) {
}
]),
/*
* Plugin: ScriptExtHtmlWebpackPlugin
* Description: Enhances html-webpack-plugin functionality
* with different deployment options for your scripts including:
*
* See: https://github.com/numical/script-ext-html-webpack-plugin
*/
new ScriptExtHtmlWebpackPlugin({
sync: [ /polyfill|vendor/, 'webtorrent.min.js' ],
defaultAttribute: 'async',
preload: [/polyfill|vendor|main/],
prefetch: [/chunk/]
}),
/*
* Plugin: HtmlWebpackPlugin
* Description: Simplifies creation of HTML files to serve your webpack bundles.
@ -257,19 +289,8 @@ module.exports = function (options) {
template: 'src/index.html',
title: METADATA.title,
chunksSortMode: 'dependency',
metadata: METADATA
}),
/*
* Plugin: ScriptExtHtmlWebpackPlugin
* Description: Enhances html-webpack-plugin functionality
* with different deployment options for your scripts including:
*
* See: https://github.com/numical/script-ext-html-webpack-plugin
*/
new ScriptExtHtmlWebpackPlugin({
sync: [ 'webtorrent.min.js' ],
defaultAttribute: 'defer'
metadata: METADATA,
inject: 'body'
}),
new WebpackNotifierPlugin({ alwaysNotify: true }),

View File

@ -233,8 +233,7 @@ module.exports = function (env) {
host: METADATA.host,
historyApiFallback: true,
watchOptions: {
aggregateTimeout: 300,
poll: 1000
ignored: /node_modules/
},
outputPath: helpers.root('dist')
},

View File

@ -14,7 +14,7 @@ const LoaderOptionsPlugin = require('webpack/lib/LoaderOptionsPlugin')
const NormalModuleReplacementPlugin = require('webpack/lib/NormalModuleReplacementPlugin')
const OptimizeJsPlugin = require('optimize-js-plugin')
const UglifyJsPlugin = require('webpack/lib/optimize/UglifyJsPlugin')
const WebpackMd5Hash = require('webpack-md5-hash')
const HashedModuleIdsPlugin = require('webpack/lib/HashedModuleIdsPlugin')
/**
* Webpack Constants
@ -67,7 +67,7 @@ module.exports = function (env) {
*
* See: http://webpack.github.io/docs/configuration.html#output-sourcemapfilename
*/
sourceMapFilename: '[name].[chunkhash].bundle.map',
sourceMapFilename: '[file].map',
/**
* The filename of non-entry chunks as relative path
@ -75,7 +75,7 @@ module.exports = function (env) {
*
* See: http://webpack.github.io/docs/configuration.html#output-chunkfilename
*/
chunkFilename: '[id].[chunkhash].chunk.js',
chunkFilename: '[name].[chunkhash].chunk.js',
publicPath: '/client/'
},
@ -91,14 +91,6 @@ module.exports = function (env) {
*/
plugins: [
/**
* Plugin: WebpackMd5Hash
* Description: Plugin to replace a standard webpack chunkhash with md5.
*
* See: https://www.npmjs.com/package/webpack-md5-hash
*/
new WebpackMd5Hash(),
/**
* Webpack plugin to optimize a JavaScript file for faster initial load
* by wrapping eagerly-invoked functions.
@ -194,35 +186,7 @@ module.exports = function (env) {
helpers.root('config/empty.js')
),
// AoT
// new NormalModuleReplacementPlugin(
// /@angular(\\|\/)upgrade/,
// helpers.root('config/empty.js')
// ),
// new NormalModuleReplacementPlugin(
// /@angular(\\|\/)compiler/,
// helpers.root('config/empty.js')
// ),
// new NormalModuleReplacementPlugin(
// /@angular(\\|\/)platform-browser-dynamic/,
// helpers.root('config/empty.js')
// ),
// new NormalModuleReplacementPlugin(
// /dom(\\|\/)debug(\\|\/)ng_probe/,
// helpers.root('config/empty.js')
// ),
// new NormalModuleReplacementPlugin(
// /dom(\\|\/)debug(\\|\/)by/,
// helpers.root('config/empty.js')
// ),
// new NormalModuleReplacementPlugin(
// /src(\\|\/)debug(\\|\/)debug_node/,
// helpers.root('config/empty.js')
// ),
// new NormalModuleReplacementPlugin(
// /src(\\|\/)debug(\\|\/)debug_renderer/,
// helpers.root('config/empty.js')
// ),
new HashedModuleIdsPlugin(),
/**
* Plugin: IgnorePlugin
@ -252,6 +216,7 @@ module.exports = function (env) {
* See: https://gist.github.com/sokra/27b24881210b56bbaff7
*/
new LoaderOptionsPlugin({
minimize: true,
debug: false,
options: {

View File

@ -18,16 +18,16 @@
},
"license": "GPLv3",
"dependencies": {
"@angular/animations": "~4.0.0",
"@angular/common": "~4.0.0",
"@angular/compiler": "~4.0.0",
"@angular/compiler-cli": "~4.0.0",
"@angular/core": "~4.0.0",
"@angular/forms": "~4.0.0",
"@angular/http": "~4.0.0",
"@angular/platform-browser": "~4.0.0",
"@angular/platform-browser-dynamic": "~4.0.0",
"@angular/router": "~4.0.0",
"@angular/animations": "~4.1.0",
"@angular/common": "~4.1.0",
"@angular/compiler": "~4.1.0",
"@angular/compiler-cli": "~4.1.0",
"@angular/core": "~4.1.0",
"@angular/forms": "~4.1.0",
"@angular/http": "~4.1.0",
"@angular/platform-browser": "~4.1.0",
"@angular/platform-browser-dynamic": "~4.1.0",
"@angular/router": "~4.1.0",
"@angularclass/hmr": "^1.2.0",
"@angularclass/hmr-loader": "^3.0.2",
"@nglibs/meta": "^0.4.0-rc.1",
@ -35,64 +35,63 @@
"@types/node": "^6.0.38",
"@types/source-map": "^0.1.26",
"@types/uglify-js": "^2.0.27",
"@types/videojs": "0.0.30",
"@types/video.js": "5.16.0",
"@types/webpack": "^2.0.0",
"angular-pipes": "^5.0.0",
"angular2-notifications": "^0.5.4",
"angular2-template-loader": "^0.6.0",
"assets-webpack-plugin": "^3.4.0",
"awesome-typescript-loader": "3.0.0-beta.18",
"awesome-typescript-loader": "3.1.3",
"bootstrap": "^3.3.6",
"bootstrap-loader": "2.0.0",
"bootstrap-loader": "2.1.0",
"bootstrap-sass": "^3.3.6",
"copy-webpack-plugin": "^4.0.0",
"core-js": "^2.4.1",
"css-loader": "^0.28.0",
"css-to-string-loader": "^0.1.2",
"css-loader": "^0.28.4",
"css-to-string-loader": "^0.1.3",
"es6-shim": "^0.35.0",
"file-loader": "^0.11.0",
"file-loader": "^0.11.2",
"html-webpack-plugin": "^2.19.0",
"ie-shim": "^0.1.0",
"intl": "^1.2.4",
"json-loader": "^0.5.4",
"ng-router-loader": "^1.0.2",
"ng-router-loader": "^2.0.0",
"ng2-file-upload": "^1.1.4-2",
"ng2-smart-table": "1.0.3",
"ng2-tag-input": "1.0.5",
"ngc-webpack": "2.0.0",
"ngx-bootstrap": "1.6.6",
"node-sass": "^4.1.1",
"normalize.css": "^5.0.0",
"normalize.css": "^7.0.0",
"optimize-js-plugin": "0.0.4",
"raw-loader": "^0.5.1",
"reflect-metadata": "^0.1.9",
"resolve-url-loader": "^1.6.0",
"resolve-url-loader": "^2.0.0",
"rxjs": "~5.0.0-rc.5",
"sass-loader": "^6.0.3",
"sass-resources-loader": "^1.2.1",
"script-ext-html-webpack-plugin": "^1.3.2",
"source-map-loader": "^0.2.1",
"string-replace-loader": "^1.0.3",
"style-loader": "^0.16.1",
"style-loader": "^0.18.2",
"tslib": "^1.5.0",
"tslint": "~4.3.1",
"tslint": "~5.4.3",
"tslint-loader": "^3.3.0",
"typescript": "~2.2.0",
"typescript": "~2.3.0",
"url-loader": "^0.5.7",
"video.js": "^5.19.2",
"videojs-dock": "^2.0.2",
"webpack": "^2.2.0",
"webpack-md5-hash": "0.0.5",
"webpack": "^2.6.0",
"webpack-merge": "~4.1.0",
"webpack-notifier": "^1.3.0",
"webtorrent": "^0.98.0",
"zone.js": "~0.8.5"
},
"devDependencies": {
"add-asset-html-webpack-plugin": "^1.0.2",
"add-asset-html-webpack-plugin": "^2.0.1",
"codelyzer": "^3.0.0-beta.4",
"standard": "^10.0.0",
"webpack-bundle-analyzer": "^2.2.1",
"webpack-bundle-analyzer": "^2.8.2",
"webpack-dll-bundles-plugin": "^1.0.0-beta.5"
}
}

View File

@ -1,6 +1,10 @@
import { ApplicationRef, NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { removeNgStyles, createNewHosts } from '@angularclass/hmr';
import {
removeNgStyles,
createNewHosts,
createInputTransfer
} from '@angularclass/hmr';
import { MetaModule, MetaLoader, MetaStaticLoader, PageTitlePositioning } from '@nglibs/meta';
// TODO: remove, we need this to avoid error in ng2-smart-table
@ -10,7 +14,7 @@ import 'bootstrap-loader';
import { ENV_PROVIDERS } from './environment';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { AppState } from './app.service';
import { AppState, InternalStateType } from './app.service';
import { AccountModule } from './account';
import { CoreModule } from './core';
@ -31,6 +35,12 @@ export function metaFactory(): MetaLoader {
});
}
type StoreType = {
state: InternalStateType,
restoreInputValues: () => void,
disposeOldHosts: () => void
};
// Application wide providers
const APP_PROVIDERS = [
AppState
@ -67,25 +77,58 @@ const APP_PROVIDERS = [
]
})
export class AppModule {
constructor(public appRef: ApplicationRef, public appState: AppState) {}
hmrOnInit(store) {
if (!store || !store.state) return;
console.log('HMR store', store);
constructor(
public appRef: ApplicationRef,
public appState: AppState
) {}
public hmrOnInit(store: StoreType) {
if (!store || !store.state) {
return;
}
console.log('HMR store', JSON.stringify(store, null, 2));
/**
* Set state
*/
this.appState._state = store.state;
/**
* Set input values
*/
if ('restoreInputValues' in store) {
let restoreInputValues = store.restoreInputValues;
setTimeout(restoreInputValues);
}
this.appRef.tick();
delete store.state;
delete store.restoreInputValues;
}
hmrOnDestroy(store) {
const cmpLocation = this.appRef.components.map(cmp => cmp.location.nativeElement);
// recreate elements
public hmrOnDestroy(store: StoreType) {
const cmpLocation = this.appRef.components.map((cmp) => cmp.location.nativeElement);
/**
* Save state
*/
const state = this.appState._state;
store.state = state;
/**
* Recreate root elements
*/
store.disposeOldHosts = createNewHosts(cmpLocation);
// remove styles
/**
* Save input values
*/
store.restoreInputValues = createInputTransfer();
/**
* Remove styles
*/
removeNgStyles();
}
hmrAfterDestroy(store) {
// display new elements
public hmrAfterDestroy(store: StoreType) {
/**
* Display new elements
*/
store.disposeOldHosts();
delete store.disposeOldHosts;
}

View File

@ -0,0 +1,18 @@
import { Resolve, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/of';
@Injectable()
export class DataResolver implements Resolve<any> {
public resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
return Observable.of({ res: 'I am data'});
}
}
/**
* An array of services to resolve routes with data.
*/
export const APP_RESOLVER_PROVIDERS = [
DataResolver
];

View File

@ -9,28 +9,38 @@ export class AppState {
public _state: InternalStateType = { };
// already return a clone of the current state
/**
* Already return a clone of the current state.
*/
public get state() {
return this._state = this._clone(this._state);
}
// never allow mutation
/**
* Never allow mutation
*/
public set state(value) {
throw new Error('do not mutate the `.state` directly');
}
public get(prop?: any) {
// use our state getter for the clone
/**
* Use our state getter for the clone.
*/
const state = this.state;
return state.hasOwnProperty(prop) ? state[prop] : state;
}
public set(prop: string, value: any) {
// internally mutate our state
/**
* Internally mutate our state.
*/
return this._state[prop] = value;
}
private _clone(object: InternalStateType) {
// simple object clone
/**
* Simple object clone.
*/
return JSON.parse(JSON.stringify( object ));
}
}

View File

@ -1,21 +1,35 @@
// Angular 2
// rc2 workaround
import { enableDebugTools, disableDebugTools } from '@angular/platform-browser';
import { enableProdMode, ApplicationRef } from '@angular/core';
// Environment Providers
/**
* Angular 2
*/
import {
enableDebugTools,
disableDebugTools
} from '@angular/platform-browser';
import {
ApplicationRef,
enableProdMode
} from '@angular/core';
/**
* Environment Providers
*/
let PROVIDERS: any[] = [
// common env directives
/**
* Common env directives
*/
];
// Angular debug tools in the dev console
// https://github.com/angular/angular/blob/86405345b781a9dc2438c0fbe3e9409245647019/TOOLS_JS.md
let _decorateModuleRef = function identity<T>(value: T): T { return value; };
/**
* Angular debug tools in the dev console
* https://github.com/angular/angular/blob/86405345b781a9dc2438c0fbe3e9409245647019/TOOLS_JS.md
*/
let _decorateModuleRef = <T>(value: T): T => { return value; };
if ('production' === ENV) {
enableProdMode();
// Production
/**
* Production
*/
_decorateModuleRef = (modRef: any) => {
disableDebugTools();
@ -24,7 +38,9 @@ if ('production' === ENV) {
PROVIDERS = [
...PROVIDERS,
// custom providers in production
/**
* Custom providers in production.
*/
];
} else {
@ -33,17 +49,21 @@ if ('production' === ENV) {
const appRef = modRef.injector.get(ApplicationRef);
const cmpRef = appRef.components[0];
let _ng = (<any>window).ng;
let _ng = (<any> window).ng;
enableDebugTools(cmpRef);
(<any>window).ng.probe = _ng.probe;
(<any>window).ng.coreTokens = _ng.coreTokens;
(<any> window).ng.probe = _ng.probe;
(<any> window).ng.coreTokens = _ng.coreTokens;
return modRef;
};
// Development
/**
* Development
*/
PROVIDERS = [
...PROVIDERS,
// custom providers in development
/**
* Custom providers in development.
*/
];
}

View File

@ -31,7 +31,7 @@ export class VideoWatchComponent implements OnInit, OnDestroy {
error: boolean = false;
loading: boolean = false;
numPeers: number;
player: VideoJSPlayer;
player: videojs.Player;
playerElement: Element;
uploadSpeed: number;
userRating: RateType = null;

View File

@ -83,7 +83,7 @@ type AsyncRoutes = {
[component: string]: Es6PromiseLoader |
Function |
FactoryEs6PromiseLoader |
FactoryPromise
FactoryPromise ;
};
type IdleCallbacks = Es6PromiseLoader |

View File

@ -11,13 +11,15 @@
<!-- opengraph tags -->
<!-- Do not remove it! -->
<link rel="icon" type="image/png" href="/client/assets/favicon.png" />
<!-- TODO: bundle it with webpack when https://github.com/webpack/webpack/pull/1931 will be merged -->
<script src="/client/assets/webtorrent/webtorrent.min.js"></script>
<link rel="icon" type="image/png" href="/client/assets/favicon.png" />
<!-- base url -->
<base href="<%= htmlWebpackPlugin.options.metadata.baseUrl %>">
<%= htmlWebpackPlugin.files.webpackManifest %>
</head>
<!-- 3. Display the application -->

View File

@ -1,13 +1,14 @@
import { platformBrowser } from '@angular/platform-browser';
import { decorateModuleRef } from './app/environment';
/*
/**
* App Module
* our top level module that holds all of our components
* our top level module that holds all of our components.
*/
import { AppModuleNgFactory } from '../compiled/src/app/app.module.ngfactory';
/*
* Bootstrap our Angular app with a top level NgModule
/**
* Bootstrap our Angular app with a top level NgModule.
*/
export function main(): Promise<any> {
return platformBrowser()
@ -16,8 +17,17 @@ export function main(): Promise<any> {
.catch((err) => console.error(err));
}
export function bootstrapDomReady() {
document.addEventListener('DOMContentLoaded', main);
switch (document.readyState) {
case 'loading':
document.addEventListener('DOMContentLoaded', _domReadyHandler, false);
break;
case 'interactive':
case 'complete':
default:
main();
}
bootstrapDomReady();
function _domReadyHandler() {
document.removeEventListener('DOMContentLoaded', _domReadyHandler, false);
main();
}

View File

@ -1,20 +1,37 @@
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { decorateModuleRef } from './app/environment';
import { bootloader } from '@angularclass/hmr';
/*
/**
* App Module
* our top level module that holds all of our components
*/
import { AppModule } from './app';
/*
/**
* Bootstrap our Angular app with a top level NgModule
*/
export function main(): Promise<any> {
return platformBrowserDynamic()
.bootstrapModule(AppModule)
.then(decorateModuleRef)
.catch(err => console.error(err));
.catch((err) => console.error(err));
}
bootloader(main);
/**
* Needed for hmr
* in prod this is replace for document ready
*/
switch (document.readyState) {
case 'loading':
document.addEventListener('DOMContentLoaded', _domReadyHandler, false);
break;
case 'interactive':
case 'complete':
default:
main();
}
function _domReadyHandler() {
document.removeEventListener('DOMContentLoaded', _domReadyHandler, false);
main();
}

View File

@ -16,13 +16,6 @@
"lib": [
"dom",
"es6"
],
"types": [
"node",
"source-map",
"uglify-js",
"videojs",
"webpack"
]
},
"exclude": [

View File

@ -17,13 +17,6 @@
"lib": [
"dom",
"es6"
],
"types": [
"node",
"source-map",
"uglify-js",
"videojs",
"webpack"
]
},
"exclude": [

File diff suppressed because it is too large Load Diff

View File

@ -378,6 +378,8 @@ describe('Test videos API validator', function () {
})
it('Should succeed with the correct parameters', function (done) {
this.timeout(5000)
const data = {
name: 'my super name',
category: 5,

146
yarn.lock
View File

@ -49,8 +49,8 @@
resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-1.0.2.tgz#b02d10ab028e2928ac592a051aaa4981a1941d03"
"@types/lodash@*", "@types/lodash@^4.14.64":
version "4.14.64"
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.64.tgz#979cf3a3d4a368670840bf9b3e448dc33ffe84ee"
version "4.14.65"
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.65.tgz#a0f78d71ffcd3c02628d5f616410c98c424326d5"
"@types/magnet-uri@^5.1.1":
version "5.1.1"
@ -79,8 +79,8 @@
"@types/express" "*"
"@types/node@*", "@types/node@^7.0.18":
version "7.0.22"
resolved "https://registry.yarnpkg.com/@types/node/-/node-7.0.22.tgz#4593f4d828bdd612929478ea40c67b4f403ca255"
version "7.0.29"
resolved "https://registry.yarnpkg.com/@types/node/-/node-7.0.29.tgz#ccfcec5b7135c7caf6c4ffb8c7f33102340d99df"
"@types/request@^0.0.43":
version "0.0.43"
@ -90,8 +90,8 @@
"@types/node" "*"
"@types/sequelize@^4.0.55":
version "4.0.55"
resolved "https://registry.yarnpkg.com/@types/sequelize/-/sequelize-4.0.55.tgz#957335a9de537f17ed9c9e16c088cc147b8805af"
version "4.0.60"
resolved "https://registry.yarnpkg.com/@types/sequelize/-/sequelize-4.0.60.tgz#8774de81fb28416eb24e964efc8af0d755e0c732"
dependencies:
"@types/bluebird" "*"
"@types/lodash" "*"
@ -109,8 +109,8 @@
resolved "https://registry.yarnpkg.com/@types/validator/-/validator-6.2.0.tgz#020322fe1929f69889eb675a1bdb5a98394b71f0"
"@types/winston@^2.3.2":
version "2.3.2"
resolved "https://registry.yarnpkg.com/@types/winston/-/winston-2.3.2.tgz#c162547cb47c0b8a450e681bb9fa7041cd80edfa"
version "2.3.3"
resolved "https://registry.yarnpkg.com/@types/winston/-/winston-2.3.3.tgz#f3eeea27c02f08aaeb60e535804b235f8378eff4"
dependencies:
"@types/node" "*"
@ -200,8 +200,8 @@ append-field@^0.1.0:
resolved "https://registry.yarnpkg.com/append-field/-/append-field-0.1.0.tgz#6ddc58fa083c7bc545d3c5995b2830cc2366d44a"
aproba@^1.0.3:
version "1.1.1"
resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.1.tgz#95d3600f07710aa0e9298c726ad5ecf2eacbabab"
version "1.1.2"
resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.2.tgz#45c6629094de4e96f693ef7eab74ae079c240fc1"
are-we-there-yet@~1.1.2:
version "1.1.4"
@ -509,7 +509,7 @@ buffer-equals@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/buffer-equals/-/buffer-equals-1.0.4.tgz#0353b54fd07fd9564170671ae6f66b9cf10d27f5"
buffer-shims@^1.0.0, buffer-shims@~1.0.0:
buffer-shims@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51"
@ -518,11 +518,11 @@ buffer-writer@1.0.1:
resolved "https://registry.yarnpkg.com/buffer-writer/-/buffer-writer-1.0.1.tgz#22a936901e3029afcd7547eb4487ceb697a3bf08"
bufferutil@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-3.0.0.tgz#afbb831c47229accf0b1f207d4a9942841b0ab0f"
version "3.0.1"
resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-3.0.1.tgz#20b2ef5159ac49f20e44bce38e7c35a6a904ee66"
dependencies:
bindings "~1.2.1"
nan "~2.5.0"
nan "~2.6.0"
prebuild-install "~2.1.0"
builtin-modules@^1.1.1:
@ -1036,8 +1036,8 @@ es-to-primitive@^1.1.1:
is-symbol "^1.0.1"
es5-ext@^0.10.14, es5-ext@^0.10.9, es5-ext@~0.10.14:
version "0.10.21"
resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.21.tgz#19a725f9e51d0300bbc1e8e821109fd9daf55925"
version "0.10.23"
resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.23.tgz#7578b51be974207a5487821b56538c224e4e7b38"
dependencies:
es6-iterator "2"
es6-symbol "~3.1"
@ -1627,8 +1627,8 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1:
path-is-absolute "^1.0.0"
globals@^9.14.0:
version "9.17.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-9.17.0.tgz#0c0ca696d9b9bb694d2e5470bd37777caad50286"
version "9.18.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
globby@^5.0.0:
version "5.0.0"
@ -1999,12 +1999,6 @@ isstream@0.1.x, isstream@~0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
jodid25519@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967"
dependencies:
jsbn "~0.1.0"
js-tokens@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
@ -2243,11 +2237,11 @@ lowercase-keys@^1.0.0:
resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306"
lru-cache@^4.0.1:
version "4.0.2"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e"
version "4.1.1"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55"
dependencies:
pseudomap "^1.0.1"
yallist "^2.0.0"
pseudomap "^1.0.2"
yallist "^2.1.2"
lru@^3.0.0, lru@^3.1.0:
version "3.1.0"
@ -2435,10 +2429,14 @@ mute-stream@0.0.5:
version "0.0.5"
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0"
nan@2.5.0, nan@^2.3.0, nan@~2.5.0:
nan@2.5.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.0.tgz#aa8f1e34531d807e9e27755b234b4a6ec0c152a8"
nan@^2.3.0, nan@~2.6.0:
version "2.6.2"
resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45"
natural-compare@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
@ -2462,8 +2460,8 @@ next-event@^1.0.0:
resolved "https://registry.yarnpkg.com/next-event/-/next-event-1.0.0.tgz#e7778acde2e55802e0ad1879c39cf6f75eda61d8"
node-abi@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.0.2.tgz#00f3e0a58100eb480133b48c99a32cc1f9e6c93e"
version "2.0.3"
resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.0.3.tgz#0ca67e5e667b8e1343549ca17153a815d0bbfdaa"
node-pre-gyp@0.6.32, node-pre-gyp@^0.6.29:
version "0.6.32"
@ -2611,7 +2609,7 @@ openssl-wrapper@^0.3.4:
version "0.3.4"
resolved "https://registry.yarnpkg.com/openssl-wrapper/-/openssl-wrapper-0.3.4.tgz#c01ec98e4dcd2b5dfe0b693f31827200e3b81b07"
optimist@0.6.1, optimist@~0.6.0:
optimist@0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
dependencies:
@ -2768,18 +2766,18 @@ pg-pool@1.*:
object-assign "4.1.0"
pg-types@1.*:
version "1.11.0"
resolved "https://registry.yarnpkg.com/pg-types/-/pg-types-1.11.0.tgz#aae91a82d952b633bb88d006350a166daaf6ea90"
version "1.12.0"
resolved "https://registry.yarnpkg.com/pg-types/-/pg-types-1.12.0.tgz#8ad3b7b897e3fd463e62de241ad5fc640b4a66f0"
dependencies:
ap "~0.2.0"
postgres-array "~1.0.0"
postgres-bytea "~1.0.0"
postgres-date "~1.0.0"
postgres-interval "~1.0.0"
postgres-interval "^1.1.0"
pg@^6.1.0:
version "6.2.3"
resolved "https://registry.yarnpkg.com/pg/-/pg-6.2.3.tgz#8988b7c69a1875a997d73b92036c42590b5f8024"
version "6.2.4"
resolved "https://registry.yarnpkg.com/pg/-/pg-6.2.4.tgz#4f7ede70241e97506627d5d6078360701a647c45"
dependencies:
buffer-writer "1.0.1"
packet-reader "0.3.1"
@ -2858,9 +2856,9 @@ postgres-date@~1.0.0:
version "1.0.3"
resolved "https://registry.yarnpkg.com/postgres-date/-/postgres-date-1.0.3.tgz#e2d89702efdb258ff9d9cee0fe91bd06975257a8"
postgres-interval@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/postgres-interval/-/postgres-interval-1.0.2.tgz#7261438d862b412921c6fdb7617668424b73a6ed"
postgres-interval@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/postgres-interval/-/postgres-interval-1.1.0.tgz#1031e7bac34564132862adc9eb6c6d2f3aa75bb4"
dependencies:
xtend "^4.0.0"
@ -2924,7 +2922,7 @@ ps-tree@^1.0.1:
dependencies:
event-stream "~3.3.0"
pseudomap@^1.0.1:
pseudomap@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
@ -2944,8 +2942,8 @@ qs@6.4.0, qs@^6.1.0, qs@~6.4.0:
resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233"
random-access-file@^1.0.1:
version "1.7.2"
resolved "https://registry.yarnpkg.com/random-access-file/-/random-access-file-1.7.2.tgz#053e2e8ec7670370a8e8b10da962e45753f22dbc"
version "1.8.1"
resolved "https://registry.yarnpkg.com/random-access-file/-/random-access-file-1.8.1.tgz#b1a54a0f924fbd4d45731a5771aea36be2166532"
dependencies:
buffer-alloc-unsafe "^1.0.0"
debug "^2.5.2"
@ -2965,8 +2963,10 @@ randomatic@^1.1.3:
kind-of "^4.0.0"
randombytes@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.3.tgz#674c99760901c3c4112771a31e521dc349cc09ec"
version "2.0.5"
resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.5.tgz#dc009a246b8d09a177b4b7a0ae77bc570f4b1b79"
dependencies:
safe-buffer "^5.1.0"
range-parser@^1.2.0, range-parser@~1.2.0:
version "1.2.0"
@ -3013,14 +3013,14 @@ readable-stream@1.1.x:
string_decoder "~0.10.x"
readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.0.3, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.2.2:
version "2.2.9"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.9.tgz#cf78ec6f4a6d1eb43d26488cac97f042e74b7fc8"
version "2.2.11"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.11.tgz#0796b31f8d7688007ff0b93a8088d34aa17c0f72"
dependencies:
buffer-shims "~1.0.0"
core-util-is "~1.0.0"
inherits "~2.0.1"
isarray "~1.0.0"
process-nextick-args "~1.0.6"
safe-buffer "~5.0.1"
string_decoder "~1.0.0"
util-deprecate "~1.0.1"
@ -3211,7 +3211,11 @@ rx@2.3.24:
version "2.3.24"
resolved "https://registry.yarnpkg.com/rx/-/rx-2.3.24.tgz#14f950a4217d7e35daa71bbcbe58eff68ea4b2b7"
safe-buffer@^5.0.0, safe-buffer@^5.0.1, safe-buffer@~5.0.1:
safe-buffer@^5.0.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.0.tgz#fe4c8460397f9eaaaa58e73be46273408a45e223"
safe-buffer@~5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7"
@ -3315,8 +3319,8 @@ shebang-regex@^1.0.0:
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
shelljs@^0.7.5:
version "0.7.7"
resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.7.tgz#b2f5c77ef97148f4b4f6e22682e10bba8667cff1"
version "0.7.8"
resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.8.tgz#decbcf874b0d1e5fb72e14b164a9683048e9acb3"
dependencies:
glob "^7.0.0"
interpret "^1.0.0"
@ -3426,8 +3430,8 @@ sprintf-js@~1.0.2:
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
sshpk@^1.7.0:
version "1.13.0"
resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.0.tgz#ff2a3e4fd04497555fed97b39a0fd82fafb3a33c"
version "1.13.1"
resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3"
dependencies:
asn1 "~0.2.3"
assert-plus "^1.0.0"
@ -3436,7 +3440,6 @@ sshpk@^1.7.0:
optionalDependencies:
bcrypt-pbkdf "^1.0.0"
ecc-jsbn "~0.1.1"
jodid25519 "^1.0.0"
jsbn "~0.1.0"
tweetnacl "~0.14.0"
@ -3546,10 +3549,10 @@ string_decoder@~0.10.x:
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
string_decoder@~1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.1.tgz#62e200f039955a6810d8df0a33ffc0f013662d98"
version "1.0.2"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.2.tgz#b29e1f4e1125fa97a10382b8a533737b7491e179"
dependencies:
safe-buffer "^5.0.1"
safe-buffer "~5.0.1"
stringstream@~0.0.4:
version "0.0.5"
@ -3629,8 +3632,8 @@ table@^3.7.8:
string-width "^2.0.0"
tar-fs@^1.13.0:
version "1.15.2"
resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-1.15.2.tgz#761f5b32932c7b39461a60d537faea0d8084830c"
version "1.15.3"
resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-1.15.3.tgz#eccf935e941493d8151028e636e51ce4c3ca7f20"
dependencies:
chownr "^1.0.1"
mkdirp "^0.5.1"
@ -3748,7 +3751,7 @@ tryit@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb"
tslib@^1.0.0, tslib@^1.6.0:
tslib@^1.0.0, tslib@^1.7.1:
version "1.7.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.7.1.tgz#bc8004164691923a79fe8378bbeb3da2017538ec"
@ -3759,34 +3762,35 @@ tslint-config-standard@^5.0.2:
tslint-eslint-rules "^4.0.0"
tslint-eslint-rules@^4.0.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/tslint-eslint-rules/-/tslint-eslint-rules-4.1.0.tgz#8fee295c42f4c8078139deb16ee7b4510fd516b7"
version "4.1.1"
resolved "https://registry.yarnpkg.com/tslint-eslint-rules/-/tslint-eslint-rules-4.1.1.tgz#7c30e7882f26bc276bff91d2384975c69daf88ba"
dependencies:
doctrine "^0.7.2"
tslib "^1.0.0"
tsutils "^1.4.0"
tslint@^5.2.0:
version "5.3.2"
resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.3.2.tgz#e56459fb095a7307f103b84052174f5e3bbef6ed"
version "5.4.3"
resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.4.3.tgz#761c8402b80e347b7733a04390a757b253580467"
dependencies:
babel-code-frame "^6.22.0"
colors "^1.1.2"
commander "^2.9.0"
diff "^3.2.0"
glob "^7.1.1"
optimist "~0.6.0"
minimatch "^3.0.4"
resolve "^1.3.2"
semver "^5.3.0"
tslib "^1.6.0"
tsutils "^2.0.0"
tslib "^1.7.1"
tsutils "^2.3.0"
tsutils@^1.4.0:
version "1.9.1"
resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-1.9.1.tgz#b9f9ab44e55af9681831d5f28d0aeeaf5c750cb0"
tsutils@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.1.0.tgz#5be8376c929528f65b302de9e17b0004e4c1eb20"
tsutils@^2.3.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.4.0.tgz#ad4ce6dba0e5a3edbddf8626b7ca040782189fea"
tunnel-agent@^0.4.3:
version "0.4.3"
@ -4091,7 +4095,7 @@ xtend@4.0.1, xtend@^4.0.0, xtend@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
yallist@^2.0.0:
yallist@^2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"