From 7b7ee2662fb10da44791cdfd59f919833b8a4fb9 Mon Sep 17 00:00:00 2001 From: Juan Ferrer Toribio Date: Fri, 9 Feb 2018 08:40:23 +0100 Subject: [PATCH] Gulpfile: known bugs solved, performance improbements --- gulpfile.js | 234 ++++++----- package-lock.json | 983 ++++++++++++++++++++++++++++++---------------- package.json | 12 +- 3 files changed, 776 insertions(+), 453 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index 6950cfcf9..ed9ecdf7d 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,19 +1,18 @@ require('require-yaml'); const gulp = require('gulp'); -const gutil = require('gulp-util'); -const print = require('gulp-print'); const runSequence = require('run-sequence'); const fs = require('fs-extra'); -const webpack = require('webpack'); -const WebpackDevServer = require('webpack-dev-server'); const exec = require('child_process').exec; +const PluginError = require('plugin-error'); +const argv = require('minimist')(process.argv.slice(2)); +const log = require('fancy-log'); // Configuration const isWindows = /^win/.test(process.platform); -if (gutil.env.NODE_ENV) - process.env.NODE_ENV = gutil.env.NODE_ENV; +if (argv.NODE_ENV) + process.env.NODE_ENV = argv.NODE_ENV; const env = process.env.NODE_ENV ? process.env.NODE_ENV : 'development'; @@ -23,9 +22,6 @@ const servicesDir = './services'; const nginxDir = `${servicesDir}/nginx`; const buildDir = `${nginxDir}/static`; -const modules = require('./client/modules.yml'); -const webpackConfig = require('./webpack.config.js'); - let proxyConf = require(`${nginxDir}/config.yml`); let proxyEnvFile = `${nginxDir}/config.${env}.yml`; @@ -42,65 +38,45 @@ gulp.task('default', () => { return gulp.start('services', 'client'); }); -gulp.task('client', ['clean'], () => { +gulp.task('client', ['build-clean'], () => { return gulp.start('watch', 'routes', 'locales', 'webpack-dev-server'); }); -gulp.task('services', callback => { - let command = isWindows - ? 'docker inspect dblocal | findstr Status' - : 'docker inspect dblocal | grep Status'; - - exec(command, (err, stdout, stderr) => { - if (err) return callback(err); - let isNotRunning = !stdout.includes('running'); - if (isNotRunning) - runSequence('docker-wait', 'services-run', callback); - else - runSequence('services-run', callback); - }); +gulp.task('services', async () => { + await runSequenceP('docker-start', 'services-only', 'nginx'); }); -gulp.task('services-run', async () => { +gulp.task('services-only', async () => { const services = await getServices(); for (let service of services) require(service.index).start(service.port); - - return gulp.start('nginx'); }); -gulp.task('e2e', ['docker-wait'], () => { - return gulp.start('e2e-run'); +gulp.task('e2e', ['docker-rebuild'], async () => { + await runSequenceP('e2e-only'); }); -gulp.task('e2e-run', () => { +gulp.task('e2e-only', () => { const jasmine = require('gulp-jasmine'); - gulp.src('./e2e_tests.js') + return gulp.src('./e2e_tests.js') .pipe(jasmine({reporter: 'none'})); }); -gulp.task('clean', () => { - const del = require('del'); - const files = [ - `${buildDir}/*`, - `!${buildDir}/templates`, - `!${buildDir}/images`, - `docker-compose.yml` - ]; - return del(files, {force: true}); -}); +gulp.task('clean', ['build-clean', 'nginx-clean']); gulp.task('i', ['install']); gulp.task('install', () => { const install = require('gulp-install'); - let jsonFile = []; + const print = require('gulp-print'); + + let packageFiles = []; let services = fs.readdirSync(servicesDir); services.push('..'); services.forEach(service => { - jsonFile.push(`${servicesDir}/${service}/package.json`); + packageFiles.push(`${servicesDir}/${service}/package.json`); }); - return gulp.src(jsonFile) + return gulp.src(packageFiles) .pipe(print(filepath => { return `Installing packages in ${filepath}`; })) @@ -117,6 +93,7 @@ gulp.task('build', ['clean'], () => { gulp.task('docker-compose', async () => { const yaml = require('js-yaml'); + let compose = await fs.readFile('./docker-compose.tpl.yml', 'utf8'); let composeYml = yaml.safeLoad(compose); let services = await getServices(); @@ -146,49 +123,40 @@ gulp.task('docker-compose', async () => { await fs.writeFile('./docker-compose.yml', ymlString); }); +gulp.task('build-clean', () => { + const del = require('del'); + const files = [ + `${buildDir}/*`, + `!${buildDir}/templates`, + `!${buildDir}/images`, + `docker-compose.yml` + ]; + return del(files, {force: true}); +}); + // Nginx & services let nginxConf = 'temp/nginx.conf'; let nginxTemp = `${nginxDir}/temp`; -async function nginxGetBin() { - if (isWindows) - return 'nginx'; - try { - let nginxBin = '/usr/sbin/nginx'; - await fs.stat(nginxBin); - return nginxBin; - } catch (e) { - return 'nginx'; - } -} +gulp.task('nginx', async () => { + await runSequenceP('nginx-stop', 'nginx-start'); +}); -gulp.task('nginx', ['nginx-stop'], async () => { +gulp.task('nginx-start', ['nginx-conf'], async () => { let nginxBin = await nginxGetBin(); if (isWindows) nginxBin = `start /B ${nginxBin}`; - return new Promise((resolve, reject) => { - exec(`${nginxBin} -c "${nginxConf}" -p "${nginxDir}"`, err => { - if (err) return reject(err); - resolve(); - }); - }); + await execP(`${nginxBin} -c "${nginxConf}" -p "${nginxDir}"`); }); -gulp.task('nginx-stop', ['nginx-conf'], async () => { +gulp.task('nginx-stop', async () => { try { let nginxBin = await nginxGetBin(); await fs.stat(`${nginxTemp}/nginx.pid`); - let command = `${nginxBin} -c "${nginxConf}" -p "${nginxDir}" -s stop`; - - return new Promise((resolve, reject) => { - exec(command, err => { - if (err && err.code != 1) return reject(err); - resolve(); - }); - }); + await execP(`${nginxBin} -c "${nginxConf}" -p "${nginxDir}" -s stop`); } catch (e) {} }); @@ -218,11 +186,23 @@ gulp.task('nginx-conf', async () => { await fs.writeFile(`${nginxTemp}/nginx.conf`, nginxConf); }); -gulp.task('nginx-clean', () => { +gulp.task('nginx-clean', ['nginx-stop'], () => { const del = require('del'); return del([`${nginxTemp}/*`], {force: true}); }); +async function nginxGetBin() { + if (isWindows) + return 'nginx'; + try { + let nginxBin = '/usr/sbin/nginx'; + await fs.stat(nginxBin); + return nginxBin; + } catch (e) { + return 'nginx'; + } +} + async function getServices() { let services; let startPort = defaultPort + 1; @@ -248,18 +228,25 @@ async function getServices() { // Webpack -gulp.task('webpack', function(cb) { +gulp.task('webpack', function(callback) { + const webpack = require('webpack'); + + const webpackConfig = require('./webpack.config.js'); let configCopy = Object.create(webpackConfig); let compiler = webpack(configCopy); compiler.run(function(err, stats) { - if (err) throw new gutil.PluginError('webpack', err); - gutil.log('[webpack]', stats.toString({colors: true})); - cb(); + if (err) throw new PluginError('webpack', err); + log('[webpack]', stats.toString({colors: true})); + callback(); }); }); gulp.task('webpack-dev-server', function() { + const WebpackDevServer = require('webpack-dev-server'); + const webpack = require('webpack'); + + const webpackConfig = require('./webpack.config.js'); let configCopy = Object.create(webpackConfig); for (let entry in configCopy.entry) { @@ -284,7 +271,7 @@ gulp.task('webpack-dev-server', function() { chunkModules: false } }).listen(devServerPort, '127.0.0.1', function(err) { - if (err) throw new gutil.PluginError('webpack-dev-server', err); + if (err) throw new PluginError('webpack-dev-server', err); }); }); @@ -296,6 +283,7 @@ gulp.task('locales', function() { const extend = require('gulp-extend'); const yaml = require('gulp-yaml'); const merge = require('merge-stream'); + const modules = require('./client/modules.yml'); let streams = []; @@ -334,51 +322,93 @@ gulp.task('watch', function() { // Docker -gulp.task('docker', callback => { - runSequence('docker-delete', 'docker-delete-image', 'docker-build', 'docker-run', callback); +gulp.task('docker-rebuild', async () => { + try { + await execP('docker rm -f dblocal'); + } catch (e) {} + try { + await execP('docker rmi dblocal:latest'); + } catch (e) {} + + await runSequenceP('docker-run'); }); -gulp.task('docker-wait', ['docker'], callback => { +gulp.task('docker-start', async () => { + let result; + + try { + result = await execP('docker container inspect -f "{{json .State}}" dblocal'); + } catch (err) { + return await runSequenceP('docker-run'); + } + + switch (JSON.parse(result.stdout).Status) { + case 'running': + return; + case 'exited': + return await execP('docker start dblocal'); + default: + throw new Error(`Unknown docker status: ${status}`); + } +}); + +gulp.task('docker-run', async () => { + try { + await execP('docker image inspect -f "{{json .Id}}" dblocal'); + } catch (err) { + await execP('docker build -t dblocal:latest ./services/db'); + } + + await execP('docker run -d --name dblocal -p 3306:3306 dblocal'); + await runSequenceP('docker-wait'); +}); + +gulp.task('docker-wait', callback => { let maxInterval = 30 * 60000; let interval = 1000; let timer = 0; - console.log('Waiting for MySQL init process...'); + log('Waiting for MySQL init process...'); let waitForLocaldb = setInterval(() => { if (timer < maxInterval) { timer += interval; - exec('docker logs --tail 4 dblocal', (err, stdout, stderr) => { - if (stdout.includes('MySQL init process done. Ready for start up.')) { + exec('docker logs --tail 1 dblocal', (err, stdout, stderr) => { + if (stderr.includes('starting as process 1') || err) { clearInterval(waitForLocaldb); callback(err); } }); } else { - console.log(`MySQL connection not established whithin ${maxInterval / 1000} secs!`); clearInterval(waitForLocaldb); + callback(new Error(`MySQL not initialized whithin ${maxInterval / 1000} secs`)); } }, interval); }); -gulp.task('docker-run', callback => { - exec('docker run -d --name dblocal -p 3306:3306 dblocal', (err, stdout, stderr) => { - callback(err); - }); -}); +// Helpers -gulp.task('docker-build', callback => { - exec('docker build -t dblocal:latest ./services/db', (err, stdout, stderr) => { - callback(err); +function execP(command) { + return new Promise((resolve, reject) => { + exec(command, (err, stdout, stderr) => { + if (err) + reject(err); + else + resolve({ + stdout: stdout, + stderr: stderr + }); + }); }); -}); +} -gulp.task('docker-delete-image', callback => { - exec('docker rmi dblocal:latest', (err, stdout, stderr) => { - callback(err); +function runSequenceP() { + return new Promise((resolve, reject) => { + let args = Array.prototype.slice.call(arguments); + args.push(err => { + if (err) + reject(err); + else + resolve(); + }); + runSequence(...args); }); -}); - -gulp.task('docker-delete', callback => { - exec('docker stop dblocal && docker wait dblocal && docker rm -f dblocal', (err, stdout, stderr) => { - callback(err); - }); -}); +} diff --git a/package-lock.json b/package-lock.json index 3ca308efc..593858160 100644 --- a/package-lock.json +++ b/package-lock.json @@ -197,6 +197,15 @@ } } }, + "ansi-colors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.0.1.tgz", + "integrity": "sha512-yopkAU0ZD/WQ56Tms3xLn6jRuX3SyUMAVi0FdmDIbmmnHW3jHiI1sQFdUl3gfVddjnrsP3Y6ywFKvCRopvoVIA==", + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } + }, "ansi-cyan": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz", @@ -212,6 +221,15 @@ "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", "dev": true }, + "ansi-gray": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } + }, "ansi-html": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", @@ -301,9 +319,9 @@ "dev": true }, "arr-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", - "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", "dev": true }, "array-differ": { @@ -469,9 +487,9 @@ "dev": true }, "babel": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/babel/-/babel-6.5.2.tgz", - "integrity": "sha1-WRQGB0OCcJIAR/9W8CsthjDC0Sk=", + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel/-/babel-6.23.0.tgz", + "integrity": "sha1-0NHn2APpdHZb7qMjLU4VPA77kPQ=", "dev": true }, "babel-code-frame": { @@ -486,168 +504,288 @@ } }, "babel-core": { - "version": "6.22.1", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.22.1.tgz", - "integrity": "sha1-nF/WWLoXctKNch9tJdlo/HriFkg=", + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz", + "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=", "dev": true, "requires": { - "babel-code-frame": "6.22.0", - "babel-generator": "6.22.0", - "babel-helpers": "6.22.0", - "babel-messages": "6.22.0", - "babel-register": "6.22.0", - "babel-runtime": "6.22.0", - "babel-template": "6.22.0", - "babel-traverse": "6.22.1", - "babel-types": "6.22.0", - "babylon": "6.15.0", - "convert-source-map": "1.3.0", - "debug": "2.2.0", - "json5": "0.5.0", - "lodash": "4.16.6", - "minimatch": "3.0.3", + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.1", + "babel-helpers": "6.24.1", + "babel-messages": "6.23.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "convert-source-map": "1.5.1", + "debug": "2.6.9", + "json5": "0.5.1", + "lodash": "4.17.5", + "minimatch": "3.0.4", "path-is-absolute": "1.0.1", - "private": "0.1.6", + "private": "0.1.8", "slash": "1.0.0", "source-map": "0.5.6" + }, + "dependencies": { + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "brace-expansion": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "lodash": { + "version": "4.17.5", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", + "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "1.1.8" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + } } }, "babel-generator": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.22.0.tgz", - "integrity": "sha1-1kK/SWGRGorcfGkrDJKX8yXNqAU=", + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "dev": true, "requires": { - "babel-messages": "6.22.0", - "babel-runtime": "6.22.0", - "babel-types": "6.22.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", "detect-indent": "4.0.0", "jsesc": "1.3.0", - "lodash": "4.16.6", - "source-map": "0.5.6" + "lodash": "4.17.5", + "source-map": "0.5.7", + "trim-right": "1.0.1" + }, + "dependencies": { + "lodash": { + "version": "4.17.5", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", + "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", + "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 + } } }, "babel-helper-call-delegate": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.22.0.tgz", - "integrity": "sha1-EZkhtWEg8X6drj90tPXMe8wbN+8=", + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", "dev": true, "requires": { - "babel-helper-hoist-variables": "6.22.0", - "babel-runtime": "6.22.0", - "babel-traverse": "6.22.1", - "babel-types": "6.22.0" + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-define-map": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.22.0.tgz", - "integrity": "sha1-lUTpUCstbf59AP9g6CvVp6ielbc=", + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", + "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", "dev": true, "requires": { - "babel-helper-function-name": "6.22.0", - "babel-runtime": "6.22.0", - "babel-types": "6.22.0", - "lodash": "4.16.6" + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.5" + }, + "dependencies": { + "lodash": { + "version": "4.17.5", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", + "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", + "dev": true + } } }, "babel-helper-function-name": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.22.0.tgz", - "integrity": "sha1-UfG9xLuJsV9XqbJJ8z10KBbcvvw=", + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", "dev": true, "requires": { - "babel-helper-get-function-arity": "6.22.0", - "babel-runtime": "6.22.0", - "babel-template": "6.22.0", - "babel-traverse": "6.22.1", - "babel-types": "6.22.0" + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-get-function-arity": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.22.0.tgz", - "integrity": "sha1-C+tGStadxzR0EKxq3p8DpQY09c4=", + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", "dev": true, "requires": { - "babel-runtime": "6.22.0", - "babel-types": "6.22.0" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-hoist-variables": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.22.0.tgz", - "integrity": "sha1-Pqy/cx2AcFhF3S6XGPYAz7m0unI=", + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", "dev": true, "requires": { - "babel-runtime": "6.22.0", - "babel-types": "6.22.0" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-optimise-call-expression": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.22.0.tgz", - "integrity": "sha1-+NXUtApuJgWmp/nVN7WBvqN1bRU=", + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", "dev": true, "requires": { - "babel-runtime": "6.22.0", - "babel-types": "6.22.0" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-regex": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.22.0.tgz", - "integrity": "sha1-efUyvhZHsfDuNHS19cPaWAAdJH0=", + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", "dev": true, "requires": { - "babel-runtime": "6.22.0", - "babel-types": "6.22.0", - "lodash": "4.16.6" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.5" + }, + "dependencies": { + "lodash": { + "version": "4.17.5", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", + "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", + "dev": true + } } }, "babel-helper-replace-supers": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.22.0.tgz", - "integrity": "sha1-H87iJwZXVIkIw02xa8w0X5hQz0I=", + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", "dev": true, "requires": { - "babel-helper-optimise-call-expression": "6.22.0", - "babel-messages": "6.22.0", - "babel-runtime": "6.22.0", - "babel-template": "6.22.0", - "babel-traverse": "6.22.1", - "babel-types": "6.22.0" + "babel-helper-optimise-call-expression": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helpers": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.22.0.tgz", - "integrity": "sha1-0nX1XyJSuBAb/we8DFVt7aZXOSw=", + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "dev": true, "requires": { - "babel-runtime": "6.22.0", - "babel-template": "6.22.0" + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-loader": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-6.4.1.tgz", - "integrity": "sha1-CzQRLVsHSKjc2/Uaz2+b1C1QuMo=", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.2.tgz", + "integrity": "sha512-jRwlFbINAeyDStqK6Dd5YuY0k5YuzQUvlz2ZamuXrXmxav3pNqe9vfJ402+2G+OmlJSXxCOpB6Uz0INM7RQe2A==", "dev": true, "requires": { - "find-cache-dir": "0.1.1", - "loader-utils": "0.2.16", - "mkdirp": "0.5.1", - "object-assign": "4.1.0" + "find-cache-dir": "1.0.0", + "loader-utils": "1.1.0", + "mkdirp": "0.5.1" + }, + "dependencies": { + "loader-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "dev": true, + "requires": { + "big.js": "3.1.3", + "emojis-list": "2.1.0", + "json5": "0.5.0" + } + } } }, "babel-messages": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.22.0.tgz", - "integrity": "sha1-NgZqIU8SF+TtQWSGdmnss54+pXU=", + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-check-es2015-constants": { @@ -656,7 +794,7 @@ "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", "dev": true, "requires": { - "babel-runtime": "6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-arrow-functions": { @@ -665,7 +803,7 @@ "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", "dev": true, "requires": { - "babel-runtime": "6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-block-scoped-functions": { @@ -674,86 +812,94 @@ "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", "dev": true, "requires": { - "babel-runtime": "6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-block-scoping": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.22.0.tgz", - "integrity": "sha1-ANbjoL69z+dTa51lO0SpFB5j5H4=", + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", + "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", "dev": true, "requires": { - "babel-runtime": "6.22.0", - "babel-template": "6.22.0", - "babel-traverse": "6.22.1", - "babel-types": "6.22.0", - "lodash": "4.16.6" + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.5" + }, + "dependencies": { + "lodash": { + "version": "4.17.5", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", + "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", + "dev": true + } } }, "babel-plugin-transform-es2015-classes": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.22.0.tgz", - "integrity": "sha1-VNRJmP2CPZ3KFSkjJBYcMxwbbxQ=", + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", "dev": true, "requires": { - "babel-helper-define-map": "6.22.0", - "babel-helper-function-name": "6.22.0", - "babel-helper-optimise-call-expression": "6.22.0", - "babel-helper-replace-supers": "6.22.0", - "babel-messages": "6.22.0", - "babel-runtime": "6.22.0", - "babel-template": "6.22.0", - "babel-traverse": "6.22.1", - "babel-types": "6.22.0" + "babel-helper-define-map": "6.26.0", + "babel-helper-function-name": "6.24.1", + "babel-helper-optimise-call-expression": "6.24.1", + "babel-helper-replace-supers": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-computed-properties": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.22.0.tgz", - "integrity": "sha1-fDg+lim7pIIMEbBCW91ikPfwV+c=", + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", "dev": true, "requires": { - "babel-runtime": "6.22.0", - "babel-template": "6.22.0" + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-plugin-transform-es2015-destructuring": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.22.0.tgz", - "integrity": "sha1-jgry+IWgss+ZnUfEwd0jzojPpMY=", + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", "dev": true, "requires": { - "babel-runtime": "6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-duplicate-keys": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.22.0.tgz", - "integrity": "sha1-ZyOXAxwhYQ1y3Su7C6n7Ynfhw2s=", + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", "dev": true, "requires": { - "babel-runtime": "6.22.0", - "babel-types": "6.22.0" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-for-of": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.22.0.tgz", - "integrity": "sha1-GARnrWOu6lkqHK7uS/HIs+JhYmU=", + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", "dev": true, "requires": { - "babel-runtime": "6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-function-name": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.22.0.tgz", - "integrity": "sha1-9fzIsJCT+aI8dqw9njksPsS3cQQ=", + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", "dev": true, "requires": { - "babel-helper-function-name": "6.22.0", - "babel-runtime": "6.22.0", - "babel-types": "6.22.0" + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-literals": { @@ -762,86 +908,86 @@ "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", "dev": true, "requires": { - "babel-runtime": "6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-modules-amd": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.22.0.tgz", - "integrity": "sha1-v2nNNIiaQcM9kN+3QOAJHM/1LyE=", + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", "dev": true, "requires": { - "babel-plugin-transform-es2015-modules-commonjs": "6.22.0", - "babel-runtime": "6.22.0", - "babel-template": "6.22.0" + "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-plugin-transform-es2015-modules-commonjs": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.22.0.tgz", - "integrity": "sha1-bKBOIrjiFPtQFpcwZX56B9yUEUU=", + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz", + "integrity": "sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=", "dev": true, "requires": { - "babel-plugin-transform-strict-mode": "6.22.0", - "babel-runtime": "6.22.0", - "babel-template": "6.22.0", - "babel-types": "6.22.0" + "babel-plugin-transform-strict-mode": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-modules-systemjs": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.22.0.tgz", - "integrity": "sha1-gQzQzQJaCDg7hCNrksbjH4jmRK0=", + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", "dev": true, "requires": { - "babel-helper-hoist-variables": "6.22.0", - "babel-runtime": "6.22.0", - "babel-template": "6.22.0" + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-plugin-transform-es2015-modules-umd": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.22.0.tgz", - "integrity": "sha1-YNC6O9IyWHGcZDkdm/SS1kjcD64=", + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", "dev": true, "requires": { - "babel-plugin-transform-es2015-modules-amd": "6.22.0", - "babel-runtime": "6.22.0", - "babel-template": "6.22.0" + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-plugin-transform-es2015-object-super": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.22.0.tgz", - "integrity": "sha1-2qYOEUoELqdp3VP+Uo/IIxHrmPw=", + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", "dev": true, "requires": { - "babel-helper-replace-supers": "6.22.0", - "babel-runtime": "6.22.0" + "babel-helper-replace-supers": "6.24.1", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-parameters": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.22.0.tgz", - "integrity": "sha1-VwdgaSMgGQlPJ9qMaLtxYv4gjbs=", + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", "dev": true, "requires": { - "babel-helper-call-delegate": "6.22.0", - "babel-helper-get-function-arity": "6.22.0", - "babel-runtime": "6.22.0", - "babel-template": "6.22.0", - "babel-traverse": "6.22.1", - "babel-types": "6.22.0" + "babel-helper-call-delegate": "6.24.1", + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-shorthand-properties": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.22.0.tgz", - "integrity": "sha1-i6d24K/6pgv/IekhQDuKZSov9yM=", + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", "dev": true, "requires": { - "babel-runtime": "6.22.0", - "babel-types": "6.22.0" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-spread": { @@ -850,18 +996,18 @@ "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", "dev": true, "requires": { - "babel-runtime": "6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-sticky-regex": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.22.0.tgz", - "integrity": "sha1-qzFoKehm7j9LnrlpOXV9GaW8RZM=", + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", "dev": true, "requires": { - "babel-helper-regex": "6.22.0", - "babel-runtime": "6.22.0", - "babel-types": "6.22.0" + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-template-literals": { @@ -870,151 +1016,227 @@ "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", "dev": true, "requires": { - "babel-runtime": "6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-typeof-symbol": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.22.0.tgz", - "integrity": "sha1-h/ryM207apf2jE2QawzQ7ermduE=", + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", "dev": true, "requires": { - "babel-runtime": "6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-unicode-regex": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.22.0.tgz", - "integrity": "sha1-jZzCfn7h3s/mVFT7mGRSoEphPSA=", + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", "dev": true, "requires": { - "babel-helper-regex": "6.22.0", - "babel-runtime": "6.22.0", + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", "regexpu-core": "2.0.0" } }, "babel-plugin-transform-regenerator": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.22.0.tgz", - "integrity": "sha1-ZXQFk6MZxEUiFXU41pC4QJRhfqY=", + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", + "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", "dev": true, "requires": { - "regenerator-transform": "0.9.8" + "regenerator-transform": "0.10.1" } }, "babel-plugin-transform-strict-mode": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.22.0.tgz", - "integrity": "sha1-4AjfATQP3IfpWdplmRt+BZcMjHw=", + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", "dev": true, "requires": { - "babel-runtime": "6.22.0", - "babel-types": "6.22.0" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-preset-es2015": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.22.0.tgz", - "integrity": "sha1-r1qY7LNeuK92StiloF6zbcQ4aDU=", + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", + "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", "dev": true, "requires": { "babel-plugin-check-es2015-constants": "6.22.0", "babel-plugin-transform-es2015-arrow-functions": "6.22.0", "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", - "babel-plugin-transform-es2015-block-scoping": "6.22.0", - "babel-plugin-transform-es2015-classes": "6.22.0", - "babel-plugin-transform-es2015-computed-properties": "6.22.0", - "babel-plugin-transform-es2015-destructuring": "6.22.0", - "babel-plugin-transform-es2015-duplicate-keys": "6.22.0", - "babel-plugin-transform-es2015-for-of": "6.22.0", - "babel-plugin-transform-es2015-function-name": "6.22.0", + "babel-plugin-transform-es2015-block-scoping": "6.26.0", + "babel-plugin-transform-es2015-classes": "6.24.1", + "babel-plugin-transform-es2015-computed-properties": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", + "babel-plugin-transform-es2015-for-of": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", "babel-plugin-transform-es2015-literals": "6.22.0", - "babel-plugin-transform-es2015-modules-amd": "6.22.0", - "babel-plugin-transform-es2015-modules-commonjs": "6.22.0", - "babel-plugin-transform-es2015-modules-systemjs": "6.22.0", - "babel-plugin-transform-es2015-modules-umd": "6.22.0", - "babel-plugin-transform-es2015-object-super": "6.22.0", - "babel-plugin-transform-es2015-parameters": "6.22.0", - "babel-plugin-transform-es2015-shorthand-properties": "6.22.0", + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", + "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", + "babel-plugin-transform-es2015-modules-umd": "6.24.1", + "babel-plugin-transform-es2015-object-super": "6.24.1", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", "babel-plugin-transform-es2015-spread": "6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "6.24.1", "babel-plugin-transform-es2015-template-literals": "6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "6.22.0", - "babel-plugin-transform-es2015-unicode-regex": "6.22.0", - "babel-plugin-transform-regenerator": "6.22.0" + "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "6.24.1", + "babel-plugin-transform-regenerator": "6.26.0" } }, "babel-register": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.22.0.tgz", - "integrity": "sha1-ph3YOXX5ykqefW7/MFlJTNXqTGM=", + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "dev": true, "requires": { - "babel-core": "6.22.1", - "babel-runtime": "6.22.0", - "core-js": "2.4.1", + "babel-core": "6.26.0", + "babel-runtime": "6.26.0", + "core-js": "2.5.3", "home-or-tmp": "2.0.0", - "lodash": "4.16.6", + "lodash": "4.17.5", "mkdirp": "0.5.1", - "source-map-support": "0.4.11" + "source-map-support": "0.4.18" + }, + "dependencies": { + "core-js": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", + "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=", + "dev": true + }, + "lodash": { + "version": "4.17.5", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", + "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", + "dev": true + } } }, "babel-runtime": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.22.0.tgz", - "integrity": "sha1-HPi0rGfHek3bDbKuH3TeUqxMphE=", + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { "core-js": "2.4.1", - "regenerator-runtime": "0.10.1" + "regenerator-runtime": "0.11.1" } }, "babel-template": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.22.0.tgz", - "integrity": "sha1-QD0RCQWkYmsxeiofy487cyBLLts=", + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { - "babel-runtime": "6.22.0", - "babel-traverse": "6.22.1", - "babel-types": "6.22.0", - "babylon": "6.15.0", - "lodash": "4.16.6" + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.5" + }, + "dependencies": { + "lodash": { + "version": "4.17.5", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", + "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", + "dev": true + } } }, "babel-traverse": { - "version": "6.22.1", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.22.1.tgz", - "integrity": "sha1-O5XNa3Qn1vH3V3BJCPL8l0il9Z8=", + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { - "babel-code-frame": "6.22.0", - "babel-messages": "6.22.0", - "babel-runtime": "6.22.0", - "babel-types": "6.22.0", - "babylon": "6.15.0", - "debug": "2.2.0", - "globals": "9.14.0", + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", "invariant": "2.2.2", - "lodash": "4.16.6" + "lodash": "4.17.5" + }, + "dependencies": { + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "lodash": { + "version": "4.17.5", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", + "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } } }, "babel-types": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.22.0.tgz", - "integrity": "sha1-KkR+jQ6iXSUSQJ5BdUef14zIsds=", + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "babel-runtime": "6.22.0", + "babel-runtime": "6.26.0", "esutils": "2.0.2", - "lodash": "4.16.6", - "to-fast-properties": "1.0.2" + "lodash": "4.17.5", + "to-fast-properties": "1.0.3" + }, + "dependencies": { + "lodash": { + "version": "4.17.5", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", + "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", + "dev": true + } } }, "babylon": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.15.0.tgz", - "integrity": "sha1-umXPoagOF1mw6J+1YuJ9zK5wNI4=", + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", "dev": true }, "backo2": { @@ -1926,6 +2148,12 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true + }, "colors": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", @@ -2210,9 +2438,9 @@ "dev": true }, "convert-source-map": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.3.0.tgz", - "integrity": "sha1-6fPpxuJyjvwmdmlqcOs4L3MQamc=", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", "dev": true }, "cookie": { @@ -5001,19 +5229,23 @@ "dev": true }, "extend-shallow": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", - "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "requires": { - "kind-of": "1.1.0" + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" }, "dependencies": { - "kind-of": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", - "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", - "dev": true + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "2.0.4" + } } } }, @@ -5077,13 +5309,14 @@ "dev": true }, "fancy-log": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.2.0.tgz", - "integrity": "sha1-1aUbU+mrIsoH1VjytnrlX9tfy9g=", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz", + "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=", "dev": true, "requires": { - "chalk": "1.1.3", - "time-stamp": "1.0.1" + "ansi-gray": "0.1.1", + "color-support": "1.1.3", + "time-stamp": "1.1.0" } }, "fast-deep-equal": { @@ -5223,14 +5456,14 @@ } }, "find-cache-dir": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", - "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", "dev": true, "requires": { "commondir": "1.0.1", - "mkdirp": "0.5.1", - "pkg-dir": "1.0.0" + "make-dir": "1.0.0", + "pkg-dir": "2.0.0" } }, "find-index": { @@ -5646,7 +5879,7 @@ "fsevents": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz", - "integrity": "sha1-EfgjGPX+e7LNIpZaEI6TBiCCFtg=", + "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==", "dev": true, "optional": true, "requires": { @@ -8223,6 +8456,52 @@ "jasmine-terminal-reporter": "1.0.3", "plugin-error": "0.1.2", "through2": "2.0.1" + }, + "dependencies": { + "arr-diff": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", + "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", + "dev": true, + "requires": { + "arr-flatten": "1.0.1", + "array-slice": "0.2.3" + } + }, + "arr-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", + "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=", + "dev": true + }, + "extend-shallow": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", + "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", + "dev": true, + "requires": { + "kind-of": "1.1.0" + } + }, + "kind-of": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", + "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", + "dev": true + }, + "plugin-error": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", + "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", + "dev": true, + "requires": { + "ansi-cyan": "0.1.1", + "ansi-red": "0.1.1", + "arr-diff": "1.1.0", + "arr-union": "2.1.0", + "extend-shallow": "1.1.4" + } + } } }, "gulp-print": { @@ -8254,7 +8533,7 @@ "beeper": "1.1.1", "chalk": "1.1.3", "dateformat": "1.0.12", - "fancy-log": "1.2.0", + "fancy-log": "1.3.2", "gulplog": "1.0.0", "has-gulplog": "0.1.0", "lodash._reescape": "3.0.0", @@ -12680,36 +12959,42 @@ } }, "pkg-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", - "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, "requires": { - "find-up": "1.1.2" + "find-up": "2.1.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + } } }, "plugin-error": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", - "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz", + "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==", "dev": true, "requires": { - "ansi-cyan": "0.1.1", - "ansi-red": "0.1.1", - "arr-diff": "1.1.0", - "arr-union": "2.1.0", - "extend-shallow": "1.1.4" + "ansi-colors": "1.0.1", + "arr-diff": "4.0.0", + "arr-union": "3.1.0", + "extend-shallow": "3.0.2" }, "dependencies": { "arr-diff": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", - "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", - "dev": true, - "requires": { - "arr-flatten": "1.0.1", - "array-slice": "0.2.3" - } + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true } } }, @@ -13119,25 +13404,25 @@ } }, "regenerate": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.2.tgz", - "integrity": "sha1-0ZQcZ7rUN+G+dkM63Vs4X5WxkmA=", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", + "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==", "dev": true }, "regenerator-runtime": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz", - "integrity": "sha1-JX9BlhzkRVixj3gUr0jBdVn5+us=", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", "dev": true }, "regenerator-transform": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.9.8.tgz", - "integrity": "sha1-D4i7K8A5Mt23trcxLmgHjwECbWw=", + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", "dev": true, "requires": { - "babel-runtime": "6.22.0", - "babel-types": "6.22.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", "private": "0.1.6" } }, @@ -13177,7 +13462,7 @@ "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", "dev": true, "requires": { - "regenerate": "1.3.2", + "regenerate": "1.3.3", "regjsgen": "0.2.0", "regjsparser": "0.1.5" } @@ -13465,7 +13750,7 @@ "beeper": "1.1.1", "chalk": "1.1.3", "dateformat": "2.2.0", - "fancy-log": "1.2.0", + "fancy-log": "1.3.2", "gulplog": "1.0.0", "has-gulplog": "0.1.0", "lodash._reescape": "3.0.0", @@ -14264,9 +14549,9 @@ } }, "source-map-support": { - "version": "0.4.11", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.11.tgz", - "integrity": "sha1-ZH+TmXizhTWQlTCIUwPa8jJ58yI=", + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { "source-map": "0.5.6" @@ -14919,9 +15204,9 @@ } }, "time-stamp": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.0.1.tgz", - "integrity": "sha1-n0vSNVnJNllm8zAtu6KwfGuZsVE=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", + "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", "dev": true }, "timed-out": { @@ -14961,9 +15246,9 @@ "dev": true }, "to-fast-properties": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz", - "integrity": "sha1-8/XAw7pymafvmUJ+RGMyV63kMyA=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", "dev": true }, "to-object-path": { @@ -15125,6 +15410,12 @@ "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", "dev": true }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, "true-case-path": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.2.tgz", diff --git a/package.json b/package.json index 7ca30ad9c..b7a6f5b75 100644 --- a/package.json +++ b/package.json @@ -25,10 +25,10 @@ }, "devDependencies": { "angular-mocks": "^1.6.6", - "babel": "^6.5.2", - "babel-core": "^6.22.1", - "babel-loader": "^6.4.1", - "babel-preset-es2015": "^6.22.0", + "babel": "^6.23.0", + "babel-core": "^6.26.0", + "babel-loader": "^7.1.2", + "babel-preset-es2015": "^6.24.1", "cors": "^2.8.1", "css-loader": "^0.25.0", "del": "^2.2.2", @@ -40,6 +40,7 @@ "eslint-config-xo": "^0.17.0", "eslint-plugin-angular": "^1.4.1", "eslint-plugin-jasmine": "^2.8.4", + "fancy-log": "^1.3.2", "file-loader": "^1.1.6", "gulp": "^3.9.1", "gulp-concat": "^2.6.0", @@ -47,7 +48,6 @@ "gulp-install": "^1.1.0", "gulp-jasmine": "^3.0.0", "gulp-print": "^2.0.1", - "gulp-util": "^3.0.7", "gulp-wrap": "^0.13.0", "gulp-yaml": "^1.0.1", "html-loader": "^0.4.4", @@ -61,11 +61,13 @@ "karma-sourcemap-loader": "^0.3.7", "karma-webpack": "^2.0.9", "merge-stream": "^1.0.1", + "minimist": "^1.2.0", "mustache": "^2.3.0", "mysql": "^2.15.0", "nightmare": "^2.10.0", "node-sass": "^4.7.2", "nodemon": "^1.12.1", + "plugin-error": "^1.0.1", "raw-loader": "*", "run-sequence": "^2.2.0", "sass-loader": "^6.0.6",