From 33fb5693d9e1465ff95d974be07dd8ef1a550588 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Thu, 13 Jul 2017 13:23:47 +0430 Subject: [PATCH 1/8] chore: upgrade dependencies --- package.json | 26 ++++++------ yarn.lock | 114 ++++++++++++++++++++++++--------------------------- 2 files changed, 66 insertions(+), 74 deletions(-) diff --git a/package.json b/package.json index c8ad463b1c..2612dc516c 100644 --- a/package.json +++ b/package.json @@ -75,13 +75,13 @@ "chalk": "^2.0.1", "chokidar": "^1.7.0", "clone": "^2.1.1", - "compression": "^1.6.2", + "compression": "^1.7.0", "connect": "^3.6.2", "css-loader": "^0.28.4", "debug": "^2.6.8", "es6-promise": "^4.1.1", "etag": "^1.8.0", - "extract-text-webpack-plugin": "^2.1.2", + "extract-text-webpack-plugin": "^3.0.0", "file-loader": "^0.11.2", "fresh": "^0.5.0", "friendly-errors-webpack-plugin": "^1.6.1", @@ -93,11 +93,11 @@ "lodash": "^4.17.4", "memory-fs": "^0.4.1", "minimist": "^1.2.0", - "offline-plugin": "^4.8.1", + "offline-plugin": "^4.8.3", "opencollective": "^1.0.3", "pify": "^3.0.0", "preload-webpack-plugin": "^1.2.2", - "progress-bar-webpack-plugin": "^1.9.3", + "progress-bar-webpack-plugin": "^1.10.0", "script-ext-html-webpack-plugin": "^1.8.3", "serialize-javascript": "^1.3.0", "serve-static": "^1.12.3", @@ -105,15 +105,15 @@ "tapable": "^0.2.6", "tappable": "^1.0.1", "url-loader": "^0.5.9", - "vue": "~2.3.4", - "vue-loader": "^13.0.0", + "vue": "~2.4.1", + "vue-loader": "^13.0.1", "vue-meta": "^1.0.4", "vue-router": "^2.7.0", - "vue-server-renderer": "~2.3.4", + "vue-server-renderer": "~2.4.1", "vue-ssr-html-stream": "^2.2.0", - "vue-template-compiler": "~2.3.4", + "vue-template-compiler": "~2.4.1", "vuex": "^2.3.1", - "webpack": "^3.0.0", + "webpack": "^3.2.0", "webpack-bundle-analyzer": "^2.8.2", "webpack-dev-middleware": "^1.11.0", "webpack-hot-middleware": "^2.18.1", @@ -131,9 +131,9 @@ "codecov": "^2.2.0", "copy-webpack-plugin": "^4.0.1", "cross-env": "^5.0.1", - "eslint": "^4.1.1", + "eslint": "^4.2.0", "eslint-config-standard": "^10.2.1", - "eslint-plugin-html": "^3.0.0", + "eslint-plugin-html": "^3.1.0", "eslint-plugin-import": "^2.6.1", "eslint-plugin-node": "^5.1.0", "eslint-plugin-promise": "^3.5.0", @@ -145,13 +145,13 @@ "request": "^2.81.0", "request-promise-native": "^1.0.4", "rimraf": "^2.6.1", - "rollup": "^0.43.0", + "rollup": "^0.45.2", "rollup-plugin-alias": "^1.3.1", "rollup-plugin-babel": "^2.7.1", "rollup-plugin-commonjs": "^8.0.2", "rollup-plugin-node-resolve": "^3.0.0", "rollup-plugin-replace": "^1.1.1", - "rollup-watch": "^4.0.0", + "rollup-watch": "^4.3.1", "server-destroy": "^1.0.1", "std-mocks": "^1.0.1", "uglify-js": "^3.0.23" diff --git a/yarn.lock b/yarn.lock index 5e04c53d03..1c5eebf4db 100644 --- a/yarn.lock +++ b/yarn.lock @@ -293,7 +293,7 @@ async@^1.4.0: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" -async@^2.1.2: +async@^2.1.2, async@^2.4.1: version "2.5.0" resolved "https://registry.yarnpkg.com/async/-/async-2.5.0.tgz#843190fd6b7357a0b9e1c956edddd5ec8462b54d" dependencies: @@ -1290,9 +1290,9 @@ builtin-status-codes@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" -bytes@2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.3.0.tgz#d5b680a165b6201739acb611542aabc2d8ceb070" +bytes@2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.5.0.tgz#4c9423ea2d252c270c41b2bdefeff9bb6b62c06a" caching-transform@^1.0.0: version "1.0.1" @@ -1606,22 +1606,23 @@ commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" -compressible@~2.0.8: +compressible@~2.0.10: version "2.0.10" resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.10.tgz#feda1c7f7617912732b29bf8cf26252a20b9eecd" dependencies: mime-db ">= 1.27.0 < 2" -compression@^1.6.2: - version "1.6.2" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.6.2.tgz#cceb121ecc9d09c52d7ad0c3350ea93ddd402bc3" +compression@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.0.tgz#030c9f198f1643a057d776a738e922da4373012d" dependencies: accepts "~1.3.3" - bytes "2.3.0" - compressible "~2.0.8" - debug "~2.2.0" + bytes "2.5.0" + compressible "~2.0.10" + debug "2.6.8" on-headers "~1.0.1" - vary "~1.1.0" + safe-buffer "5.1.1" + vary "~1.1.1" concat-map@0.0.1: version "0.0.1" @@ -1999,18 +2000,12 @@ debug@2.6.7: dependencies: ms "2.0.0" -debug@^2.1.1, debug@^2.2.0, debug@^2.6.3, debug@^2.6.8: +debug@2.6.8, debug@^2.1.1, debug@^2.2.0, debug@^2.6.3, debug@^2.6.8: version "2.6.8" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" dependencies: ms "2.0.0" -debug@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" - dependencies: - ms "0.7.1" - decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" @@ -2387,9 +2382,9 @@ eslint-module-utils@^2.1.1: debug "^2.6.8" pkg-dir "^1.0.0" -eslint-plugin-html@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-html/-/eslint-plugin-html-3.0.0.tgz#2c982a71b9d965654f0f3a52358735821a1a4239" +eslint-plugin-html@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-html/-/eslint-plugin-html-3.1.0.tgz#2eb999b48840b7184edf1c953976a73307151e44" dependencies: htmlparser2 "^3.8.2" @@ -2432,7 +2427,7 @@ eslint-scope@^3.7.1: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint@^4.1.1: +eslint@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.2.0.tgz#a2b3184111b198e02e9c7f3cca625a5e01c56b3d" dependencies: @@ -2640,12 +2635,12 @@ extglob@^0.3.1: dependencies: is-extglob "^1.0.0" -extract-text-webpack-plugin@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/extract-text-webpack-plugin/-/extract-text-webpack-plugin-2.1.2.tgz#756ef4efa8155c3681833fbc34da53b941746d6c" +extract-text-webpack-plugin@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.0.tgz#90caa7907bc449f335005e3ac7532b41b00de612" dependencies: - async "^2.1.2" - loader-utils "^1.0.2" + async "^2.4.1" + loader-utils "^1.1.0" schema-utils "^0.3.0" webpack-sources "^1.0.1" @@ -4141,10 +4136,6 @@ moment@^2.18.1: version "2.18.1" resolved "https://registry.yarnpkg.com/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f" -ms@0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" - ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" @@ -4391,9 +4382,9 @@ observable-to-promise@^0.5.0: is-observable "^0.2.0" symbol-observable "^1.0.4" -offline-plugin@^4.8.1: - version "4.8.1" - resolved "https://registry.yarnpkg.com/offline-plugin/-/offline-plugin-4.8.1.tgz#1d73457081185777179c29d9d416f71077a0197a" +offline-plugin@^4.8.3: + version "4.8.3" + resolved "https://registry.yarnpkg.com/offline-plugin/-/offline-plugin-4.8.3.tgz#9e95bd342ea2ac836b001b81f204c40638694d6c" dependencies: deep-extend "^0.4.0" ejs "^2.3.4" @@ -5044,9 +5035,9 @@ process@^0.11.0: version "0.11.10" resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" -progress-bar-webpack-plugin@^1.9.3: - version "1.9.3" - resolved "https://registry.yarnpkg.com/progress-bar-webpack-plugin/-/progress-bar-webpack-plugin-1.9.3.tgz#81fb8bd8e38da6edaf9a20beed79bd978dd63c2a" +progress-bar-webpack-plugin@^1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/progress-bar-webpack-plugin/-/progress-bar-webpack-plugin-1.10.0.tgz#e0b1063aa03c79e298a9340598590bb61efef9a4" dependencies: chalk "^1.1.1" object.assign "^4.0.1" @@ -5540,16 +5531,17 @@ rollup-pluginutils@^2.0.1: estree-walker "^0.3.0" micromatch "^2.3.11" -rollup-watch@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/rollup-watch/-/rollup-watch-4.0.0.tgz#309051b9403b9e5445c5746c9eba9a466951d39e" +rollup-watch@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/rollup-watch/-/rollup-watch-4.3.1.tgz#5aa1eaeab787addf368905d102b39d6fc5ce4a8b" dependencies: chokidar "^1.7.0" require-relative "0.8.7" + rollup-pluginutils "^2.0.1" -rollup@^0.43.0: - version "0.43.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.43.0.tgz#b36bdb75fa5e0823b6de8aee18ff7b5655520543" +rollup@^0.45.2: + version "0.45.2" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.45.2.tgz#63a284c2b31234656f24e9e9717fabb6a7f0fa43" dependencies: source-map-support "^0.4.0" @@ -5563,7 +5555,7 @@ rx@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.1.0, safe-buffer@~5.1.1: +safe-buffer@5.1.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" @@ -6259,7 +6251,7 @@ validate-npm-package-license@^3.0.1: spdx-correct "~1.0.0" spdx-expression-parse "~1.0.0" -vary@~1.1.0, vary@~1.1.1: +vary@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.1.tgz#67535ebb694c1d52257457984665323f587e8d37" @@ -6287,9 +6279,9 @@ vue-hot-reload-api@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.1.0.tgz#9ca58a6e0df9078554ce1708688b6578754d86de" -vue-loader@^13.0.0: - version "13.0.0" - resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-13.0.0.tgz#403135a3fc71b78235d4317f21fe2b0d39938a57" +vue-loader@^13.0.1: + version "13.0.1" + resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-13.0.1.tgz#265b5c81451079304601e8aff3e95af64fb10c43" dependencies: consolidate "^0.14.0" hash-sum "^1.0.2" @@ -6317,9 +6309,9 @@ vue-router@^2.7.0: version "2.7.0" resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-2.7.0.tgz#16d424493aa51c3c8cce8b7c7210ea4c3a89aff1" -vue-server-renderer@~2.3.4: - version "2.3.4" - resolved "https://registry.yarnpkg.com/vue-server-renderer/-/vue-server-renderer-2.3.4.tgz#ce1361eb32bfb84573b9c9b83f2810de8fa606c7" +vue-server-renderer@~2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/vue-server-renderer/-/vue-server-renderer-2.4.1.tgz#9a1986c459387eaa319c16ca5c0d0f2ebb2c66c5" dependencies: chalk "^1.1.3" hash-sum "^1.0.2" @@ -6343,9 +6335,9 @@ vue-style-loader@^3.0.0: hash-sum "^1.0.2" loader-utils "^1.0.2" -vue-template-compiler@~2.3.4: - version "2.3.4" - resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.3.4.tgz#5a88ac2c5e4d5d6218e6aa80e7e221fb7e67894c" +vue-template-compiler@~2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.4.1.tgz#20115cf8714f222f9be4111ec75b079a1c9b8197" dependencies: de-indent "^1.0.2" he "^1.1.0" @@ -6354,9 +6346,9 @@ vue-template-es2015-compiler@^1.5.3: version "1.5.3" resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.5.3.tgz#22787de4e37ebd9339b74223bc467d1adee30545" -vue@~2.3.4: - version "2.3.4" - resolved "https://registry.yarnpkg.com/vue/-/vue-2.3.4.tgz#5ec3b87a191da8090bbef56b7cfabd4158038171" +vue@~2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/vue/-/vue-2.4.1.tgz#76e0b8eee614613532216b7bfe784e0b5695b160" vuex@^2.3.1: version "2.3.1" @@ -6419,9 +6411,9 @@ webpack-sources@^1.0.1: source-list-map "^2.0.0" source-map "~0.5.3" -webpack@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.1.0.tgz#ac0675e500db835f9ab2369d29ba096f51ad0731" +webpack@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.2.0.tgz#8b0cae0e1a9fd76bfbf0eab61a8c2ada848c312f" dependencies: acorn "^5.0.0" acorn-dynamic-import "^2.0.0" From 0fece913e5f829932bea266c722fa4ade6f181c4 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Thu, 13 Jul 2017 13:29:10 +0430 Subject: [PATCH 2/8] feat(app): hide error logs in production --- lib/app/index.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/app/index.js b/lib/app/index.js index 6a42150fb2..8e70820216 100644 --- a/lib/app/index.js +++ b/lib/app/index.js @@ -92,8 +92,10 @@ async function createApp (ssrContext) { const _nuxt = this._nuxt || this.$options._nuxt _nuxt.dateErr = Date.now() _nuxt.err = err - console.error(err) - console.error('[nuxt] ' + err) + if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') { + console.error(err) + console.error('[nuxt] ' + err) + } return err } }, From eb595d1952777e254764acf6389cc6eb78dc6f40 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Thu, 13 Jul 2017 14:40:12 +0430 Subject: [PATCH 3/8] chore(start): automate start package generate --- rollup.config.js => build/rollup.config.js | 16 ++-- build/start.js | 92 ++++++++++++++++++++++ package.json | 11 +-- start/.gitignore | 6 +- start/package.json | 39 ++++----- 5 files changed, 127 insertions(+), 37 deletions(-) rename rollup.config.js => build/rollup.config.js (90%) create mode 100755 build/start.js diff --git a/rollup.config.js b/build/rollup.config.js similarity index 90% rename from rollup.config.js rename to build/rollup.config.js index 859ef6c6e8..3a55f6957f 100755 --- a/rollup.config.js +++ b/build/rollup.config.js @@ -5,7 +5,7 @@ const rollupAlias = require('rollup-plugin-alias') const rollupCommonJS = require('rollup-plugin-commonjs') const rollupReplace = require('rollup-plugin-replace') const rollupNodeResolve = require('rollup-plugin-node-resolve') -const packageJson = require('./package.json') +const packageJson = require('../package.json') const dependencies = Object.keys(packageJson.dependencies) const version = packageJson.version || process.env.VERSION @@ -22,7 +22,7 @@ const banner = // ----------------------------- // Aliases // ----------------------------- -const rootDir = resolve(__dirname) +const rootDir = resolve(__dirname, '..') const libDir = resolve(rootDir, 'lib') const distDir = resolve(rootDir, 'dist') @@ -31,7 +31,7 @@ const aliases = { builder: resolve(libDir, 'builder/index.js'), common: resolve(libDir, 'common/index.js'), utils: resolve(libDir, 'common/utils.js'), - app: resolve(libDir, 'app'), + app: resolve(libDir, 'app') } // ----------------------------- @@ -45,10 +45,6 @@ const builds = { core: { entry: resolve(libDir, 'core/index.js'), dest: resolve(distDir, 'core.js') - }, - builder: { - entry: resolve(libDir, 'builder/index.js'), - dest: resolve(distDir, 'builder.js') } } @@ -83,9 +79,9 @@ function genConfig (opts) { presets: [ 'babel-preset-es2015-rollup' ], - "env": { - "test": { - "plugins": [ "istanbul" ] + 'env': { + 'test': { + 'plugins': [ 'istanbul' ] } } }, opts.babel)), diff --git a/build/start.js b/build/start.js new file mode 100755 index 0000000000..91da37ad05 --- /dev/null +++ b/build/start.js @@ -0,0 +1,92 @@ +#!/usr/bin/env node + +const { readFileSync, readJSONSync, writeFileSync, copySync, removeSync } = require('fs-extra') +const { resolve, relative } = require('path') + +// Dirs +const rootDir = resolve(__dirname, '..') +const startDir = resolve(rootDir, 'start') + +// Read main package.json +const packageJSON = readJSONSync(resolve(rootDir, 'package.json')) + +// Required and Excluded packages for start +let requires = [ + 'source-map-support' +] +const excludes = [ + 'path', + 'fs' +].concat(Object.keys(packageJSON.devDependencies)) + +// Parse dist/core.js for all external dependencies +const requireRegex = /require\('([-\w]+)'\)/g +const rawCore = readFileSync(resolve(rootDir, 'dist/core.js')) +let match = requireRegex.exec(rawCore) +while (match) { + requires.push(match[1]) + match = requireRegex.exec(rawCore) +} + +// Apply Excludes +requires = requires.filter(r => excludes.indexOf(r) === -1) + +// Resolve version constrains +let dependencies = {} +requires.forEach(r => { + if (!packageJSON.dependencies[r]) { + console.warn('cannot resolve dependency version for ' + r) + return + } + dependencies[r] = packageJSON.dependencies[r] +}) + +// Drop fields +let drops = ['devDependencies', 'scripts', 'nyc', 'types'] +drops.forEach(k => { + delete packageJSON[k] +}) + +// Update dependencies +packageJSON.dependencies = dependencies + +// Update package meta +packageJSON.name = 'nuxt-start' +packageJSON.description = 'runtime-only build for nuxt' + +// Update package.json +writeFileSync(resolve(startDir, 'package.json'), JSON.stringify(packageJSON, null, 2)) + +// Copy required files +const excludeFiles = [ + 'README.md', + '.gitignore' +] +packageJSON.files.forEach(file => { + if (excludeFiles.indexOf(file) !== -1) { + return + } + let src = resolve(rootDir, file) + let dst = resolve(startDir, file) + // console.log(relative(rootDir, src), '~>', relative(rootDir, dst)) + removeSync(dst) + copySync(src, dst) +}) + +// Remove extras +const extraFiles = [ + 'bin/nuxt-build', + 'bin/nuxt-generate', + 'bin/nuxt-dev', + 'dist/nuxt.js', + 'dist/nuxt.js.map' +] +extraFiles.forEach(file => { + removeSync(resolve(startDir, file)) +}) + +// Patch index.js +const startIndexjs = resolve(startDir, 'index.js') +writeFileSync(startIndexjs, String(readFileSync(startIndexjs)).replace('./dist/nuxt', './dist/core')) + +console.log('generated ' + packageJSON.name + '@' + packageJSON.version) diff --git a/package.json b/package.json index 2612dc516c..a0a8f5e9cd 100644 --- a/package.json +++ b/package.json @@ -52,13 +52,14 @@ "test": "npm run lint && cross-env NODE_ENV=test npm run build:nuxt && nyc ava --verbose --serial test/ -- && nyc report --reporter=html", "coverage": "nyc report --reporter=text-lcov > coverage.lcov && codecov", "lint": "eslint --ext .js,.vue bin lib pages test/*.js --ignore-pattern app", - "build": "rimraf dist/ && npm run build:nuxt && npm run build:core && npm run build:builder", - "build:nuxt": "rollup -c rollup.config.js --environment TARGET:nuxt", - "build:core": "rollup -c rollup.config.js --environment TARGET:core", - "build:builder": "rollup -c rollup.config.js --environment TARGET:builder", + "build": "rimraf dist/ && npm run build:nuxt && npm run build:core", + "build:nuxt": "rollup -c build/rollup.config.js --environment TARGET:nuxt", + "build:core": "rollup -c build/rollup.config.js --environment TARGET:core", "watch": "npm run build:nuxt -- -w", + "make-start": "./build/start.js", "precommit": "npm run lint", - "prepublish": "npm run build", + "prepublish": "npm run build && npm run make-start", + "postpublish": "cd start && npm publish", "postinstall": "opencollective postinstall" }, "engines": { diff --git a/start/.gitignore b/start/.gitignore index a30fb4eafb..f0fd204587 100644 --- a/start/.gitignore +++ b/start/.gitignore @@ -1,3 +1,3 @@ -bin -dist -lib \ No newline at end of file +* +!README.md +!package.json \ No newline at end of file diff --git a/start/package.json b/start/package.json index 3da5ad2e50..a5f7d60bd4 100644 --- a/start/package.json +++ b/start/package.json @@ -1,7 +1,7 @@ { "name": "nuxt-start", - "version": "0.0.0", - "description": "A minimalistic framework for server-rendered Vue.js applications (inspired by Next.js)", + "version": "1.0.0-alpha.4", + "description": "runtime-only build for nuxt", "contributors": [ { "name": "Sebastien Chopin (@Atinux)" @@ -23,6 +23,7 @@ "bin", "dist", "lib", + "index.d.ts", "index.js" ], "keywords": [ @@ -37,35 +38,35 @@ "vue isomorphic", "vue versatile" ], - "homepage": "https://github.com/nuxt/nuxt.js/start#readme", + "homepage": "https://github.com/nuxt/nuxt.js#readme", "bin": { "nuxt": "./bin/nuxt" }, - "scripts": { - "build": "rm -rf bin/* dist/* lib/* && cd .. && npm run build && cp -r bin dist lib start", - "prepublish": "npm run build" - }, "engines": { "node": ">=4.3.0 <5.0.0 || >=5.10", "npm": ">=3.0.0" }, "dependencies": { - "ansi-html": "^0.0.7", - "chalk": "^1.1.3", - "compression": "^1.6.2", - "connect": "^3.6.2", + "source-map-support": "^0.4.15", + "lodash": "^4.17.4", + "hash-sum": "^1.0.2", + "tappable": "^1.0.1", "debug": "^2.6.8", + "chalk": "^2.0.1", + "ansi-html": "^0.0.7", + "serialize-javascript": "^1.3.0", "etag": "^1.8.0", "fresh": "^0.5.0", - "fs-extra": "^3.0.1", - "hash-sum": "^1.0.2", - "lodash": "^4.17.4", - "minimist": "^1.2.0", "pify": "^3.0.0", - "serialize-javascript": "^1.3.0", "serve-static": "^1.12.3", - "source-map-support": "^0.4.15", - "tappable": "^1.0.1", - "vue-server-renderer": "~2.3.4" + "compression": "^1.7.0", + "fs-extra": "^3.0.1", + "vue-server-renderer": "~2.4.1", + "connect": "^3.6.2" + }, + "collective": { + "type": "opencollective", + "url": "https://opencollective.com/nuxtjs", + "logo": "https://opencollective.com/nuxtjs/logo.txt?reverse=true&variant=variant2" } } \ No newline at end of file From 5ce204c19f0fa61883abe55896ab617c1a5ccfe0 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Thu, 13 Jul 2017 14:50:02 +0430 Subject: [PATCH 4/8] fix appveyor --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a0a8f5e9cd..03d964e37a 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ "build:nuxt": "rollup -c build/rollup.config.js --environment TARGET:nuxt", "build:core": "rollup -c build/rollup.config.js --environment TARGET:core", "watch": "npm run build:nuxt -- -w", - "make-start": "./build/start.js", + "make-start": "node ./build/start.js", "precommit": "npm run lint", "prepublish": "npm run build && npm run make-start", "postpublish": "cd start && npm publish", From e6987d62f0633db3394ea33e4a564a7ef414a7e7 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Mon, 17 Jul 2017 22:29:31 +0430 Subject: [PATCH 5/8] chore: remove uncessesarry source-map install --- bin/nuxt | 4 ---- bin/nuxt-start | 4 ++-- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/bin/nuxt b/bin/nuxt index 42217249cb..35c82cf255 100755 --- a/bin/nuxt +++ b/bin/nuxt @@ -1,9 +1,5 @@ #!/usr/bin/env node -// Node Source Map Support -// https://github.com/evanw/node-source-map-support -require('source-map-support').install() - const join = require('path').join const defaultCommand = 'dev' diff --git a/bin/nuxt-start b/bin/nuxt-start index 13551694aa..5e40ebd201 100755 --- a/bin/nuxt-start +++ b/bin/nuxt-start @@ -2,7 +2,7 @@ const fs = require('fs') const parseArgs = require('minimist') -const { Nuxt, Server } = require('../') +const { Nuxt } = require('../') const { join, resolve } = require('path') const argv = parseArgs(process.argv.slice(2), { @@ -60,7 +60,7 @@ if (typeof options.rootDir !== 'string') { options.dev = false // Check if project is built for production -const distDir = join(options.rootDir, options.buildDir || '.nuxt', 'dist' ) +const distDir = join(options.rootDir, options.buildDir || '.nuxt', 'dist') if (!fs.existsSync(join(distDir, 'server-bundle.json'))) { console.error('> No build files found, please run `nuxt build` before launching `nuxt start`') // eslint-disable-line no-console process.exit(1) From b5ca6b7975e696704c9995aad6d78d31b5bcf03e Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Mon, 17 Jul 2017 23:56:41 +0430 Subject: [PATCH 6/8] feat: enhance tapables usage --- lib/builder/builder.js | 5 +---- lib/builder/generator.js | 5 +---- lib/core/module.js | 8 ++++---- lib/core/nuxt.js | 10 +++++----- lib/core/renderer.js | 22 ++-------------------- 5 files changed, 13 insertions(+), 37 deletions(-) diff --git a/lib/builder/builder.js b/lib/builder/builder.js index 34e7b24dc6..f847f4ff12 100644 --- a/lib/builder/builder.js +++ b/lib/builder/builder.js @@ -43,9 +43,6 @@ export default class Builder extends Tapable { // Helper to resolve build paths this.relativeToBuild = (...args) => relativeTo(this.options.buildDir, ...args) - // Call builder plugin on parent nuxt to notify all modules of builder existence - this.nuxt.applyPluginsAsync('builder', this).catch(this.nuxt.errorHandler) - this._buildStatus = STATUS.INITIAL } @@ -77,7 +74,7 @@ export default class Builder extends Tapable { // Wait for nuxt ready await this.nuxt.ready() - await this.applyPluginsAsync('build', this) + await this.nuxt.applyPluginsAsync('build', this) // Check if pages dir exists and warn if not this._nuxtPages = typeof this.options.build.createRoutes !== 'function' diff --git a/lib/builder/generator.js b/lib/builder/generator.js index 1019afafd6..ed58526cea 100644 --- a/lib/builder/generator.js +++ b/lib/builder/generator.js @@ -21,9 +21,6 @@ export default class Generator extends Tapable { this.srcBuiltPath = resolve(this.options.buildDir, 'dist') this.distPath = resolve(this.options.rootDir, this.options.generate.dir) this.distNuxtPath = join(this.distPath, (isUrl(this.options.build.publicPath) ? '' : this.options.build.publicPath)) - - // Call generator plugin on parent nuxt to notify all modules of generator existence - this.nuxt.applyPluginsAsync('generator', this).catch(this.nuxt.errorHandler) } async generate ({ build = true, init = true } = {}) { @@ -38,7 +35,7 @@ export default class Generator extends Tapable { await this.builder.build() } - await this.applyPluginsAsync('beforeGenerate', this) + await this.nuxt.applyPluginsAsync('generate', this) // Initialize dist directory if (init) { diff --git a/lib/core/module.js b/lib/core/module.js index 8876fab3b0..63f835fc6c 100755 --- a/lib/core/module.js +++ b/lib/core/module.js @@ -14,11 +14,11 @@ export default class ModuleContainer extends Tapable { this.nuxt = nuxt this.options = nuxt.options this.requiredModules = [] + } - this.nuxt.plugin('beforeInit', async () => { - await sequence(this.options.modules, this.addModule.bind(this)) - await this.applyPluginsAsync('ready', this) - }) + async _ready () { + await sequence(this.options.modules, this.addModule.bind(this)) + await this.nuxt.applyPluginsAsync('module', this) } addVendor (vendor) { diff --git a/lib/core/nuxt.js b/lib/core/nuxt.js index 7293e60552..b0ac429e5f 100644 --- a/lib/core/nuxt.js +++ b/lib/core/nuxt.js @@ -28,7 +28,7 @@ export default class Nuxt extends Tapable { this.renderRoute = this.renderer.renderRoute.bind(this.renderer) this.renderAndGetWindow = this.renderer.renderAndGetWindow.bind(this.renderer) - this._ready = this.ready() + this._ready = this.ready().catch(this.errorHandler) } async ready () { @@ -36,10 +36,9 @@ export default class Nuxt extends Tapable { return this._ready } - // Wait for all components to be ready - await this.applyPluginsAsync('beforeInit') // 1- Modules - await this.applyPluginsAsync('init') // 2- Builder - await this.applyPluginsAsync('afterInit') // 3- Renderer + await this.moduleContainer._ready() + await this.applyPluginsAsync('ready') + await this.renderer._ready() this.initialized = true return this @@ -73,6 +72,7 @@ export default class Nuxt extends Tapable { resolve() }) + // Add server.destroy(cb) method enableDestroy(server) }) diff --git a/lib/core/renderer.js b/lib/core/renderer.js index 8de1e42d87..f9cd1353bf 100644 --- a/lib/core/renderer.js +++ b/lib/core/renderer.js @@ -50,27 +50,9 @@ export default class Renderer extends Tapable { // Bind middleware to this context this.nuxtMiddleware = this.nuxtMiddleware.bind(this) this.errorMiddleware = this.errorMiddleware.bind(this) - - // Initialize - /* istanbul ignore if */ - if (nuxt.initialized) { - // If nuxt already initialized - this._ready = this.ready().catch(this.nuxt.errorHandler) - } else { - // Wait for hook - this.nuxt.plugin('afterInit', () => { - this._ready = this.ready() - return this._ready - }) - } } - async ready () { - /* istanbul ignore if */ - if (this._ready) { - return this._ready - } - + async _ready () { // Setup all middleWare await this.setupMiddleware() @@ -85,7 +67,7 @@ export default class Renderer extends Tapable { await this.loadResources() } - return this + await this.nuxt.applyPluginsAsync('renderer', this) } async loadResources (_fs = fs) { From f317b70fd5be57924195efd028610621cc0eb9bb Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Tue, 18 Jul 2017 00:08:02 +0430 Subject: [PATCH 7/8] test(module): add tests for tapable --- test/fixtures/module/modules/tapable/index.js | 18 ++++++++++++++++++ test/fixtures/module/modules/template/index.js | 1 + test/fixtures/module/nuxt.config.js | 3 ++- test/module.test.js | 6 ++++++ 4 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 test/fixtures/module/modules/tapable/index.js diff --git a/test/fixtures/module/modules/tapable/index.js b/test/fixtures/module/modules/tapable/index.js new file mode 100644 index 0000000000..58b879c0fc --- /dev/null +++ b/test/fixtures/module/modules/tapable/index.js @@ -0,0 +1,18 @@ +module.exports = function () { + let ctr = 1 + + // Add hook for module + this.nuxt.plugin('module', async moduleContainer => { + this.nuxt.__module_hook = moduleContainer && ctr++ + }) + + // Add hook for renderer + this.nuxt.plugin('renderer', async renderer => { + this.nuxt.__renderer_hook = renderer && ctr++ + }) + + // Add hook for build + this.nuxt.plugin('build', async builder => { + this.nuxt.__builder_hook = builder && ctr++ + }) +} diff --git a/test/fixtures/module/modules/template/index.js b/test/fixtures/module/modules/template/index.js index d68d9546a8..6033364d55 100644 --- a/test/fixtures/module/modules/template/index.js +++ b/test/fixtures/module/modules/template/index.js @@ -3,6 +3,7 @@ const path = require('path') module.exports = function () { // Disable parsing pages/ this.nuxt.options.build.createRoutes = () => {} + // Add /api endpoint this.addTemplate({ fileName: 'router.js', diff --git a/test/fixtures/module/nuxt.config.js b/test/fixtures/module/nuxt.config.js index 26f1351403..9b53c2a7d1 100755 --- a/test/fixtures/module/nuxt.config.js +++ b/test/fixtures/module/nuxt.config.js @@ -1,7 +1,8 @@ module.exports = { loading: true, modules: [ - '~/modules/basic', // Use ~ for deprication warning coverage + '~/modules/basic', + '~/modules/tapable', { src: '~/modules/middleware', options: { diff --git a/test/module.test.js b/test/module.test.js index 9f1f7d0b57..83f3005c4c 100755 --- a/test/module.test.js +++ b/test/module.test.js @@ -37,6 +37,12 @@ test('Middleware', async t => { t.is(response, 'It works!', '/api response is correct') }) +test('Tapable', async t => { + t.is(nuxt.__module_hook, 1) + t.is(nuxt.__renderer_hook, 2) + t.is(nuxt.__builder_hook, 3) +}) + // Close server and ask nuxt to stop listening to file changes test.after('Closing server and nuxt.js', t => { nuxt.close() From 054098acf8a1cc7e83bbc7ffeb80cc6af153dbac Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Tue, 18 Jul 2017 02:49:02 +0430 Subject: [PATCH 8/8] > upgrade dependencies --- package.json | 8 +- test/fixtures/module/modules/tapable/index.js | 6 +- yarn.lock | 354 ++++++++++-------- 3 files changed, 197 insertions(+), 171 deletions(-) diff --git a/package.json b/package.json index 03d964e37a..2fd4f4b5e2 100644 --- a/package.json +++ b/package.json @@ -86,7 +86,7 @@ "file-loader": "^0.11.2", "fresh": "^0.5.0", "friendly-errors-webpack-plugin": "^1.6.1", - "fs-extra": "^3.0.1", + "fs-extra": "^4.0.0", "glob": "^7.1.2", "hash-sum": "^1.0.2", "html-minifier": "^3.5.2", @@ -104,7 +104,7 @@ "serve-static": "^1.12.3", "source-map-support": "^0.4.15", "tapable": "^0.2.6", - "tappable": "^1.0.1", + "tappable": "^1.1.0", "url-loader": "^0.5.9", "vue": "~2.4.1", "vue-loader": "^13.0.1", @@ -114,14 +114,14 @@ "vue-ssr-html-stream": "^2.2.0", "vue-template-compiler": "~2.4.1", "vuex": "^2.3.1", - "webpack": "^3.2.0", + "webpack": "^3.3.0", "webpack-bundle-analyzer": "^2.8.2", "webpack-dev-middleware": "^1.11.0", "webpack-hot-middleware": "^2.18.1", "webpack-node-externals": "^1.6.0" }, "devDependencies": { - "ava": "^0.20.0", + "ava": "^0.21.0", "babel-eslint": "^7.2.3", "babel-plugin-array-includes": "^2.0.3", "babel-plugin-istanbul": "^4.1.4", diff --git a/test/fixtures/module/modules/tapable/index.js b/test/fixtures/module/modules/tapable/index.js index 58b879c0fc..48fc69466f 100644 --- a/test/fixtures/module/modules/tapable/index.js +++ b/test/fixtures/module/modules/tapable/index.js @@ -2,17 +2,17 @@ module.exports = function () { let ctr = 1 // Add hook for module - this.nuxt.plugin('module', async moduleContainer => { + this.nuxt.plugin('module', moduleContainer => { this.nuxt.__module_hook = moduleContainer && ctr++ }) // Add hook for renderer - this.nuxt.plugin('renderer', async renderer => { + this.nuxt.plugin('renderer', renderer => { this.nuxt.__renderer_hook = renderer && ctr++ }) // Add hook for build - this.nuxt.plugin('build', async builder => { + this.nuxt.plugin('build', builder => { this.nuxt.__builder_hook = builder && ctr++ }) } diff --git a/yarn.lock b/yarn.lock index 1c5eebf4db..3b6b5e7dff 100644 --- a/yarn.lock +++ b/yarn.lock @@ -45,8 +45,8 @@ arrify "^1.0.1" "@types/node@^6.0.46": - version "6.0.79" - resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.79.tgz#5efe7d4a6d8c453c7e9eaf55d931f4a22fac5169" + version "6.0.84" + resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.84.tgz#193ffe5a9f42864d425ffd9739d95b753c6a1eab" abab@^1.0.3: version "1.0.3" @@ -89,7 +89,7 @@ acorn@^4.0.1, acorn@^4.0.3, acorn@^4.0.4: version "4.0.13" resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" -acorn@^5.0.0, acorn@^5.0.1, acorn@^5.0.3: +acorn@^5.0.0, acorn@^5.0.1, acorn@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.1.1.tgz#53fe161111f912ab999ee887a90a0bc52822fd75" @@ -109,8 +109,8 @@ ajv@^4.7.0, ajv@^4.9.1: json-stable-stringify "^1.0.1" ajv@^5.0.0, ajv@^5.1.5, ajv@^5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.2.1.tgz#dcd03045175883ba1b636e5ae9ec3df9ab85323a" + version "5.2.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.2.2.tgz#47c68d69e86f5d953103b0074a9430dc63da5e39" dependencies: co "^4.6.0" fast-deep-equal "^1.0.0" @@ -330,18 +330,18 @@ autoprefixer@^7.1.1: postcss-value-parser "^3.2.3" ava-init@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/ava-init/-/ava-init-0.2.0.tgz#9304c8b4c357d66e3dfdae1fbff47b1199d5c55d" + version "0.2.1" + resolved "https://registry.yarnpkg.com/ava-init/-/ava-init-0.2.1.tgz#75ac4c8553326290d2866e63b62fa7035684bd58" dependencies: arr-exclude "^1.0.0" - execa "^0.5.0" + execa "^0.7.0" has-yarn "^1.0.0" read-pkg-up "^2.0.0" - write-pkg "^2.0.0" + write-pkg "^3.1.0" -ava@^0.20.0: - version "0.20.0" - resolved "https://registry.yarnpkg.com/ava/-/ava-0.20.0.tgz#bdc0dd36453d7255e9f733305ab370c248381e41" +ava@^0.21.0: + version "0.21.0" + resolved "https://registry.yarnpkg.com/ava/-/ava-0.21.0.tgz#cd8d8ea3546f57150dea38548b9f72f8ca583d29" dependencies: "@ava/babel-preset-stage-4" "^1.1.0" "@ava/babel-preset-transform-test-files" "^3.0.0" @@ -358,7 +358,7 @@ ava@^0.20.0: babel-core "^6.17.0" bluebird "^3.0.0" caching-transform "^1.0.0" - chalk "^1.0.0" + chalk "^2.0.1" chokidar "^1.4.2" clean-stack "^1.1.1" clean-yaml-object "^0.1.0" @@ -368,7 +368,7 @@ ava@^0.20.0: co-with-promise "^4.6.0" code-excerpt "^2.1.0" common-path-prefix "^1.0.0" - concordance "^2.0.0" + concordance "^3.0.0" convert-source-map "^1.2.0" core-assert "^0.2.0" currently-unhandled "^0.4.1" @@ -377,7 +377,7 @@ ava@^0.20.0: empower-core "^0.6.1" equal-length "^1.0.0" figures "^2.0.0" - find-cache-dir "^0.1.1" + find-cache-dir "^1.0.0" fn-name "^2.0.0" get-port "^3.0.0" globby "^6.0.0" @@ -399,25 +399,26 @@ ava@^0.20.0: lodash.flatten "^4.2.0" loud-rejection "^1.2.0" make-dir "^1.0.0" - matcher "^0.1.1" + matcher "^1.0.0" md5-hex "^2.0.0" meow "^3.7.0" - ms "^1.0.0" + ms "^2.0.0" multimatch "^2.1.0" observable-to-promise "^0.5.0" - option-chain "^0.1.0" + option-chain "^1.0.0" package-hash "^2.0.0" pkg-conf "^2.0.0" plur "^2.0.0" pretty-ms "^2.0.0" require-precompiled "^0.1.0" - resolve-cwd "^1.0.0" + resolve-cwd "^2.0.0" + safe-buffer "^5.1.1" slash "^1.0.0" source-map-support "^0.4.0" stack-utils "^1.0.0" - strip-ansi "^3.0.1" + strip-ansi "^4.0.0" strip-bom-buf "^1.0.0" - supports-color "^3.2.3" + supports-color "^4.0.0" time-require "^0.1.2" trim-off-newlines "^1.0.1" unique-temp-dir "^1.0.0" @@ -1165,15 +1166,15 @@ boom@2.x.x: hoek "2.x.x" boxen@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.1.0.tgz#b1b69dd522305e807a99deee777dbd6e5167b102" + version "1.2.0" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.2.0.tgz#03478d84be7fe02189b80904d81d6a80384368f1" dependencies: ansi-align "^2.0.0" camelcase "^4.0.0" - chalk "^1.1.1" + chalk "^2.0.1" cli-boxes "^1.0.0" string-width "^2.0.0" - term-size "^0.1.0" + term-size "^1.2.0" widest-line "^1.0.0" brace-expansion@^1.1.7: @@ -1260,11 +1261,11 @@ browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6: electron-to-chromium "^1.2.7" browserslist@^2.1.2, browserslist@^2.1.5: - version "2.1.5" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.1.5.tgz#e882550df3d1cd6d481c1a3e0038f2baf13a4711" + version "2.2.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.2.0.tgz#5e35ec993e467c6464b8cb708447386891de9f50" dependencies: - caniuse-lite "^1.0.30000684" - electron-to-chromium "^1.3.14" + caniuse-lite "^1.0.30000701" + electron-to-chromium "^1.3.15" buf-compare@^1.0.0: version "1.0.1" @@ -1365,12 +1366,12 @@ caniuse-api@^1.5.2: lodash.uniq "^4.5.0" caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: - version "1.0.30000697" - resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000697.tgz#20ce6a9ceeef4ef4a15dc8e80f2e8fb9049e8d77" + version "1.0.30000701" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000701.tgz#2e32b06993bf3dbd90b43d93f04e26d11afddcba" -caniuse-lite@^1.0.30000684, caniuse-lite@^1.0.30000697: - version "1.0.30000697" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000697.tgz#125fb00604b63fbb188db96a667ce2922dcd6cdd" +caniuse-lite@^1.0.30000697, caniuse-lite@^1.0.30000701: + version "1.0.30000701" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000701.tgz#9d673cf6b74dcb3d5c21d213176b011ac6a45baa" capture-stack-trace@^1.0.0: version "1.0.0" @@ -1409,7 +1410,7 @@ chalk@^0.4.0: has-color "~0.1.0" strip-ansi "~0.1.0" -chalk@^2.0.1: +chalk@^2.0.0, chalk@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.0.1.tgz#dbec49436d2ae15f536114e76d14656cdbc0f44d" dependencies: @@ -1417,7 +1418,7 @@ chalk@^2.0.1: escape-string-regexp "^1.0.5" supports-color "^4.0.0" -chokidar@^1.4.2, chokidar@^1.4.3, chokidar@^1.7.0: +chokidar@^1.4.2, chokidar@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" dependencies: @@ -1454,8 +1455,8 @@ clap@^1.0.9: chalk "^1.1.3" clean-css@4.1.x: - version "4.1.6" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.1.6.tgz#5a47beb526994cb4f7bf36188a55ed3b45528f0b" + version "4.1.7" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.1.7.tgz#b9aea4f85679889cf3eae8b40349ec4ebdfdd032" dependencies: source-map "0.5.x" @@ -1557,8 +1558,8 @@ color-convert@^1.0.0, color-convert@^1.3.0: color-name "^1.1.1" color-name@^1.0.0, color-name@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.2.tgz#5c8ab72b64bd2215d617ae9559ebb148475cf98d" + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" color-string@^0.3.0: version "0.3.0" @@ -1592,12 +1593,16 @@ combined-stream@^1.0.5, combined-stream@~1.0.5: dependencies: delayed-stream "~1.0.0" -commander@2.9.x, commander@^2.9.0, commander@~2.9.0: +commander@2.9.x, commander@~2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" dependencies: graceful-readlink ">= 1.0.0" +commander@^2.9.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" + common-path-prefix@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-1.0.0.tgz#cd52f6f0712e0baab97d6f9732874f22f47752c0" @@ -1636,10 +1641,11 @@ concat-stream@^1.6.0: readable-stream "^2.2.2" typedarray "^0.0.6" -concordance@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/concordance/-/concordance-2.0.0.tgz#c3c5dbffa83c29537df202bded8fa1d6aa94e805" +concordance@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/concordance/-/concordance-3.0.0.tgz#b2286af54405fc995fc7345b0b106d8dd073cb29" dependencies: + date-time "^2.1.0" esutils "^2.0.2" fast-diff "^1.1.1" function-name-support "^0.2.0" @@ -1648,7 +1654,6 @@ concordance@^2.0.0: lodash.flattendeep "^4.4.0" lodash.merge "^4.6.0" md5-hex "^2.0.0" - moment "^2.18.1" semver "^5.3.0" well-known-symbols "^1.0.0" @@ -1811,13 +1816,6 @@ cross-env@^5.0.1: cross-spawn "^5.1.0" is-windows "^1.0.0" -cross-spawn-async@^2.1.1: - version "2.2.5" - resolved "https://registry.yarnpkg.com/cross-spawn-async/-/cross-spawn-async-2.2.5.tgz#845ff0c0834a3ded9d160daca6d390906bb288cc" - dependencies: - lru-cache "^4.0.0" - which "^1.2.8" - cross-spawn@^4, cross-spawn@^4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41" @@ -1825,7 +1823,7 @@ cross-spawn@^4, cross-spawn@^4.0.0: lru-cache "^4.0.1" which "^1.2.9" -cross-spawn@^5.1.0: +cross-spawn@^5.0.1, cross-spawn@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" dependencies: @@ -1840,8 +1838,8 @@ cryptiles@2.x.x: boom "2.x.x" crypto-browserify@^3.11.0: - version "3.11.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.11.0.tgz#3652a0906ab9b2a7e0c3ce66a408e957a2485522" + version "3.11.1" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.11.1.tgz#948945efc6757a400d6e5e5af47194d10064279f" dependencies: browserify-cipher "^1.0.0" browserify-sign "^4.0.0" @@ -1986,6 +1984,12 @@ date-time@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/date-time/-/date-time-0.1.1.tgz#ed2f6d93d9790ce2fd66d5b5ff3edd5bbcbf3b07" +date-time@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/date-time/-/date-time-2.1.0.tgz#0286d1b4c769633b3ca13e1e62558d2dbdc2eba2" + dependencies: + time-zone "^1.0.0" + de-indent@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" @@ -2204,7 +2208,7 @@ ejs@^2.3.4, ejs@^2.5.6: version "2.5.6" resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.6.tgz#479636bfa3fe3b1debd52087f0acb204b4f19c88" -electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.14: +electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.15: version "1.3.15" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.15.tgz#08397934891cbcfaebbd18b82a95b5a481138369" @@ -2277,8 +2281,8 @@ error-stack-parser@^2.0.0: stackframe "^1.0.3" es5-ext@^0.10.14, es5-ext@^0.10.9, es5-ext@~0.10.14: - version "0.10.23" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.23.tgz#7578b51be974207a5487821b56538c224e4e7b38" + version "0.10.24" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.24.tgz#a55877c9924bc0c8d9bd3c2cbe17495ac1709b14" dependencies: es6-iterator "2" es6-symbol "~3.1" @@ -2549,17 +2553,6 @@ evp_bytestokey@^1.0.0: dependencies: create-hash "^1.1.1" -execa@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.4.0.tgz#4eb6467a36a095fabb2970ff9d5e3fb7bce6ebc3" - dependencies: - cross-spawn-async "^2.1.1" - is-stream "^1.1.0" - npm-run-path "^1.0.0" - object-assign "^4.0.1" - path-key "^1.0.0" - strip-eof "^1.0.0" - execa@^0.5.0: version "0.5.1" resolved "https://registry.yarnpkg.com/execa/-/execa-0.5.1.tgz#de3fb85cb8d6e91c85bcbceb164581785cb57b36" @@ -2572,6 +2565,18 @@ execa@^0.5.0: signal-exit "^3.0.0" strip-eof "^1.0.0" +execa@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + expand-brackets@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" @@ -2621,7 +2626,7 @@ extend@~3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" -external-editor@^2.0.1: +external-editor@^2.0.1, external-editor@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.0.4.tgz#1ed9199da9cbfe2ef2f7a31b2fde8b0d12368972" dependencies: @@ -2818,9 +2823,9 @@ fs-extra@^0.26.4: path-is-absolute "^1.0.0" rimraf "^2.2.8" -fs-extra@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-3.0.1.tgz#3794f378c58b342ea7dbbb23095109c4b3b62291" +fs-extra@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.0.tgz#414fb4ca2d2170ba0014159d3a8aec3303418d9e" dependencies: graceful-fs "^4.1.2" jsonfile "^3.0.0" @@ -3216,11 +3221,11 @@ hullabaloo-config-manager@^1.1.0: resolve-from "^3.0.0" safe-buffer "^5.0.1" -iconv-lite@0.4.13, iconv-lite@~0.4.13: +iconv-lite@0.4.13: version "0.4.13" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" -iconv-lite@^0.4.17: +iconv-lite@^0.4.17, iconv-lite@~0.4.13: version "0.4.18" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.18.tgz#23d8656b16aae6742ac29732ea8f0336a4789cf2" @@ -3298,7 +3303,7 @@ ini@^1.3.4, ini@~1.3.0: version "1.3.4" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" -inquirer@3.0.6, inquirer@^3.0.6: +inquirer@3.0.6: version "3.0.6" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.0.6.tgz#e04aaa9d05b7a3cb9b0f407d04375f0447190347" dependencies: @@ -3316,6 +3321,25 @@ inquirer@3.0.6, inquirer@^3.0.6: strip-ansi "^3.0.0" through "^2.3.6" +inquirer@^3.0.6: + version "3.2.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.2.0.tgz#45b44c2160c729d7578c54060b3eed94487bb42b" + dependencies: + ansi-escapes "^2.0.0" + chalk "^2.0.0" + cli-cursor "^2.1.0" + cli-width "^2.0.0" + external-editor "^2.0.4" + figures "^2.0.0" + lodash "^4.3.0" + mute-stream "0.0.7" + run-async "^2.2.0" + rx-lite "^4.0.8" + rx-lite-aggregates "^4.0.8" + string-width "^2.1.0" + strip-ansi "^4.0.0" + through "^2.3.6" + interpret@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.3.tgz#cbc35c62eeee73f19ab7b10a801511401afc0f90" @@ -3577,9 +3601,9 @@ istanbul-lib-hook@^1.0.7: dependencies: append-transform "^0.4.0" -istanbul-lib-instrument@^1.7.2, istanbul-lib-instrument@^1.7.3: - version "1.7.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.7.3.tgz#925b239163eabdd68cc4048f52c2fa4f899ecfa7" +istanbul-lib-instrument@^1.7.2, istanbul-lib-instrument@^1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.7.4.tgz#e9fd920e4767f3d19edc765e2d6b3f5ccbd0eea8" dependencies: babel-generator "^6.18.0" babel-template "^6.16.0" @@ -3654,8 +3678,8 @@ jsbn@~0.1.0: resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" jschardet@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/jschardet/-/jschardet-1.4.2.tgz#2aa107f142af4121d145659d44f50830961e699a" + version "1.5.0" + resolved "https://registry.yarnpkg.com/jschardet/-/jschardet-1.5.0.tgz#a61f310306a5a71188e1b1acd08add3cfbb08b1e" jsdom@^11.1.0: version "11.1.0" @@ -3948,7 +3972,7 @@ lru-cache@^3.2.0: dependencies: pseudomap "^1.0.1" -lru-cache@^4.0.0, lru-cache@^4.0.1: +lru-cache@^4.0.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" dependencies: @@ -3981,9 +4005,9 @@ map-obj@^1.0.0, map-obj@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" -matcher@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/matcher/-/matcher-0.1.2.tgz#ef20cbde64c24c50cc61af5b83ee0b1b8ff00101" +matcher@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/matcher/-/matcher-1.0.0.tgz#aaf0c4816eb69b92094674175625f3466b0e3e19" dependencies: escape-string-regexp "^1.0.4" @@ -4079,8 +4103,8 @@ miller-rabin@^4.0.0: brorand "^1.0.1" "mime-db@>= 1.27.0 < 2": - version "1.28.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.28.0.tgz#fedd349be06d2865b7fc57d837c6de4f17d7ac3c" + version "1.29.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.29.0.tgz#48d26d235589651704ac5916ca06001914266878" mime-db@~1.27.0: version "1.27.0" @@ -4118,7 +4142,7 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: dependencies: brace-expansion "^1.1.7" -minimist@0.0.8, minimist@~0.0.1: +minimist@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" @@ -4126,24 +4150,20 @@ minimist@1.2.0, minimist@^1.1.3, minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" +minimist@~0.0.1: + version "0.0.10" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" + "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" dependencies: minimist "0.0.8" -moment@^2.18.1: - version "2.18.1" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f" - -ms@2.0.0: +ms@2.0.0, ms@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" -ms@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-1.0.0.tgz#59adcd22edc543f7b5381862d31387b1f4bc9473" - multimatch@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" @@ -4277,12 +4297,6 @@ normalize-url@^1.4.0: query-string "^4.1.0" sort-keys "^1.0.0" -npm-run-path@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-1.0.0.tgz#f5c32bf595fe81ae927daec52e82f8b000ac3c8f" - dependencies: - path-key "^1.0.0" - npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" @@ -4317,8 +4331,8 @@ nwmatcher@^1.4.1: resolved "https://registry.yarnpkg.com/nwmatcher/-/nwmatcher-1.4.1.tgz#7ae9b07b0ea804db7e25f05cb5fe4097d4e4949f" nyc@^11.0.3: - version "11.0.3" - resolved "https://registry.yarnpkg.com/nyc/-/nyc-11.0.3.tgz#0c28bc669a851621709bf7a08503034bee3812b6" + version "11.1.0" + resolved "https://registry.yarnpkg.com/nyc/-/nyc-11.1.0.tgz#d6b3c5e16892a25af63138ba484676aa8a22eda7" dependencies: archy "^1.0.0" arrify "^1.0.1" @@ -4332,7 +4346,7 @@ nyc@^11.0.3: glob "^7.0.6" istanbul-lib-coverage "^1.1.1" istanbul-lib-hook "^1.0.7" - istanbul-lib-instrument "^1.7.3" + istanbul-lib-instrument "^1.7.4" istanbul-lib-report "^1.1.1" istanbul-lib-source-maps "^1.2.1" istanbul-reports "^1.1.1" @@ -4343,7 +4357,7 @@ nyc@^11.0.3: resolve-from "^2.0.0" rimraf "^2.5.4" signal-exit "^3.0.1" - spawn-wrap "^1.3.7" + spawn-wrap "^1.3.8" test-exclude "^4.1.1" yargs "^8.0.1" yargs-parser "^5.0.0" @@ -4443,11 +4457,9 @@ optimist@^0.6.1: minimist "~0.0.1" wordwrap "~0.0.2" -option-chain@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/option-chain/-/option-chain-0.1.1.tgz#e9b811e006f1c0f54802f28295bfc8970f8dcfbd" - dependencies: - object-assign "^4.0.1" +option-chain@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/option-chain/-/option-chain-1.0.0.tgz#938d73bd4e1783f948d34023644ada23669e30f2" optionator@^0.8.1, optionator@^0.8.2: version "0.8.2" @@ -4606,10 +4618,6 @@ path-is-inside@^1.0.1, path-is-inside@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" -path-key@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-1.0.0.tgz#5d53d578019646c0d68800db4e146e6bdc2ac7af" - path-key@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" @@ -4977,12 +4985,12 @@ postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0 supports-color "^3.2.3" postcss@^6.0.1, postcss@^6.0.6: - version "6.0.6" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.6.tgz#bba4d58e884fc78c840d1539e10eddaabb8f73bd" + version "6.0.7" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.7.tgz#6a097477c46d13d0560a817d69abc0bae549d0a0" dependencies: chalk "^2.0.1" source-map "^0.5.6" - supports-color "^4.1.0" + supports-color "^4.2.0" preload-webpack-plugin@^1.2.2: version "1.2.2" @@ -5415,12 +5423,6 @@ require-uncached@^1.0.3: caller-path "^0.1.0" resolve-from "^1.0.0" -resolve-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-1.0.0.tgz#4eaeea41ed040d1702457df64a42b2b07d246f9f" - dependencies: - resolve-from "^2.0.0" - resolve-cwd@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" @@ -5551,11 +5553,21 @@ run-async@^2.2.0: dependencies: is-promise "^2.1.0" +rx-lite-aggregates@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" + dependencies: + rx-lite "*" + +rx-lite@*, rx-lite@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" + rx@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" -safe-buffer@5.1.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.1.0, safe-buffer@~5.1.1: +safe-buffer@5.1.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" @@ -5574,8 +5586,8 @@ schema-utils@^0.3.0: ajv "^5.0.0" script-ext-html-webpack-plugin@^1.8.3: - version "1.8.3" - resolved "https://registry.yarnpkg.com/script-ext-html-webpack-plugin/-/script-ext-html-webpack-plugin-1.8.3.tgz#04c77e68eb45eb6358bf36554a1a358ca60ca2ed" + version "1.8.5" + resolved "https://registry.yarnpkg.com/script-ext-html-webpack-plugin/-/script-ext-html-webpack-plugin-1.8.5.tgz#7a408383d7f3329da8f59d503be25cc39a53f3f3" dependencies: debug "^2.6.8" @@ -5608,8 +5620,8 @@ send@0.15.3: statuses "~1.3.1" serialize-javascript@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.3.0.tgz#86a4f3752f5c7e47295449b0bbb63d64ba533f05" + version "1.4.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.4.0.tgz#7c958514db6ac2443a8abc062dc9f7886a7f6005" serve-static@1.12.3, serve-static@^1.12.3: version "1.12.3" @@ -5682,12 +5694,18 @@ sntp@1.x.x: dependencies: hoek "2.x.x" -sort-keys@^1.0.0, sort-keys@^1.1.1, sort-keys@^1.1.2: +sort-keys@^1.0.0, sort-keys@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" dependencies: is-plain-obj "^1.0.0" +sort-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" + dependencies: + is-plain-obj "^1.0.0" + source-list-map@^0.1.7: version "0.1.8" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106" @@ -5718,7 +5736,7 @@ source-map@~0.2.0: dependencies: amdefine ">=0.0.4" -spawn-wrap@^1.3.7: +spawn-wrap@^1.3.8: version "1.3.8" resolved "https://registry.yarnpkg.com/spawn-wrap/-/spawn-wrap-1.3.8.tgz#fa2a79b990cbb0bb0018dca6748d88367b19ec31" dependencies: @@ -5818,7 +5836,7 @@ string-width@^1.0.1, string-width@^1.0.2: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -string-width@^2.0.0: +string-width@^2.0.0, string-width@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.0.tgz#030664561fc146c9423ec7d978fe2457437fe6d0" dependencies: @@ -5895,7 +5913,7 @@ supports-color@^3.1.0, supports-color@^3.1.2, supports-color@^3.2.3: dependencies: has-flag "^1.0.0" -supports-color@^4.0.0, supports-color@^4.1.0: +supports-color@^4.0.0, supports-color@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.2.0.tgz#ad986dc7eb2315d009b4d77c8169c2231a684037" dependencies: @@ -5940,9 +5958,9 @@ tapable@^0.2.5, tapable@^0.2.6, tapable@~0.2.5: version "0.2.6" resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.6.tgz#206be8e188860b514425375e6f1ae89bfb01fd8d" -tappable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tappable/-/tappable-1.0.1.tgz#9cda1fdeb73011d30db5edc42bc6cc42c9f3028f" +tappable@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/tappable/-/tappable-1.1.0.tgz#521770dea7dc4715d48ddb4c471071afee012025" dependencies: pify "^3.0.0" tapable "^0.2.6" @@ -5968,11 +5986,11 @@ tar@^2.2.1: fstream "^1.0.2" inherits "2" -term-size@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/term-size/-/term-size-0.1.1.tgz#87360b96396cab5760963714cda0d0cbeecad9ca" +term-size@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" dependencies: - execa "^0.4.0" + execa "^0.7.0" test-exclude@^4.1.1: version "4.1.1" @@ -6008,6 +6026,10 @@ time-require@^0.1.2: pretty-ms "^0.2.1" text-table "^0.2.0" +time-zone@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/time-zone/-/time-zone-1.0.0.tgz#99c5bf55958966af6d06d83bdf3800dc82faec5d" + timed-out@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" @@ -6098,8 +6120,8 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" uglify-js@3.0.x, uglify-js@^3.0.23: - version "3.0.24" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.0.24.tgz#ee93400ad9857fb7a1671778db83f6a23f033121" + version "3.0.25" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.0.25.tgz#3dc190b0ee437497e449bc6f785665b06afbe052" dependencies: commander "~2.9.0" source-map "~0.5.1" @@ -6280,8 +6302,8 @@ vue-hot-reload-api@^2.1.0: resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.1.0.tgz#9ca58a6e0df9078554ce1708688b6578754d86de" vue-loader@^13.0.1: - version "13.0.1" - resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-13.0.1.tgz#265b5c81451079304601e8aff3e95af64fb10c43" + version "13.0.2" + resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-13.0.2.tgz#78c3e80f69c0520f99a092854dd7d63e3921a28d" dependencies: consolidate "^0.14.0" hash-sum "^1.0.2" @@ -6354,12 +6376,12 @@ vuex@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/vuex/-/vuex-2.3.1.tgz#cde8e997c1f9957719bc7dea154f9aa691d981a6" -watchpack@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.3.1.tgz#7d8693907b28ce6013e7f3610aa2a1acf07dad87" +watchpack@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.4.0.tgz#4a1472bcbb952bd0a9bb4036801f954dfb39faac" dependencies: async "^2.1.2" - chokidar "^1.4.3" + chokidar "^1.7.0" graceful-fs "^4.1.2" webidl-conversions@^4.0.0, webidl-conversions@^4.0.1: @@ -6367,10 +6389,10 @@ webidl-conversions@^4.0.0, webidl-conversions@^4.0.1: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.1.tgz#8015a17ab83e7e1b311638486ace81da6ce206a0" webpack-bundle-analyzer@^2.8.2: - version "2.8.2" - resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.8.2.tgz#8b6240c29a9d63bc72f09d920fb050adbcce9fe8" + version "2.8.3" + resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.8.3.tgz#8e7b3deb3832698c24b09c84dfe5b43902a83991" dependencies: - acorn "^5.0.3" + acorn "^5.1.1" chalk "^1.1.3" commander "^2.9.0" ejs "^2.5.6" @@ -6411,9 +6433,9 @@ webpack-sources@^1.0.1: source-list-map "^2.0.0" source-map "~0.5.3" -webpack@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.2.0.tgz#8b0cae0e1a9fd76bfbf0eab61a8c2ada848c312f" +webpack@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.3.0.tgz#ce2f9e076566aba91f74887133a883fd7da187bc" dependencies: acorn "^5.0.0" acorn-dynamic-import "^2.0.0" @@ -6434,7 +6456,7 @@ webpack@^3.2.0: supports-color "^3.1.0" tapable "~0.2.5" uglifyjs-webpack-plugin "^0.4.6" - watchpack "^1.3.1" + watchpack "^1.4.0" webpack-sources "^1.0.1" yargs "^6.0.0" @@ -6468,7 +6490,7 @@ which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" -which@^1.2.4, which@^1.2.8, which@^1.2.9: +which@^1.2.4, which@^1.2.9: version "1.2.14" resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5" dependencies: @@ -6490,10 +6512,14 @@ window-size@0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" -wordwrap@0.0.2, wordwrap@~0.0.2: +wordwrap@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" +wordwrap@~0.0.2: + version "0.0.3" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" + wordwrap@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" @@ -6525,7 +6551,7 @@ write-file-atomic@^2.0.0: imurmurhash "^0.1.4" slide "^1.1.5" -write-json-file@^2.0.0: +write-json-file@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-2.2.0.tgz#51862506bbb3b619eefab7859f1fd6c6d0530876" dependencies: @@ -6536,12 +6562,12 @@ write-json-file@^2.0.0: sort-keys "^1.1.1" write-file-atomic "^2.0.0" -write-pkg@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/write-pkg/-/write-pkg-2.1.0.tgz#353aa44c39c48c21440f5c08ce6abd46141c9c08" +write-pkg@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/write-pkg/-/write-pkg-3.1.0.tgz#030a9994cc9993d25b4e75a9f1a1923607291ce9" dependencies: - sort-keys "^1.1.2" - write-json-file "^2.0.0" + sort-keys "^2.0.0" + write-json-file "^2.2.0" write@^0.2.1: version "0.2.1"