From 811729d14396090d968ceabc9b020e84968f34f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Sun, 21 May 2017 21:15:18 +0200 Subject: [PATCH 001/236] Add pi0 as maintainer --- package.json | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 01fc26057c..0fa88c46b0 100644 --- a/package.json +++ b/package.json @@ -4,10 +4,15 @@ "description": "A minimalistic framework for server-rendered Vue.js applications (inspired by Next.js)", "contributors": [ { - "name": "Sebastien Chopin" + "name": "Sebastien Chopin (@Atinux)" }, { - "name": "Alexandre Chopin" + "name": "Alexandre Chopin (@alexchopin)" + } + ], + "maintainers": [ + { + "name": "Pooya Parsa (@pi0)" } ], "main": "./index.js", From 6d969b0e37cc8a827bd9a032b0ee19cfaf57ac1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Sun, 21 May 2017 21:15:54 +0200 Subject: [PATCH 002/236] Set as contributors instead --- package.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/package.json b/package.json index 0fa88c46b0..4536d6ff81 100644 --- a/package.json +++ b/package.json @@ -8,9 +8,7 @@ }, { "name": "Alexandre Chopin (@alexchopin)" - } - ], - "maintainers": [ + }, { "name": "Pooya Parsa (@pi0)" } From f50d5673d9814c68e6da0f0dd72ec64c4d05e4cf Mon Sep 17 00:00:00 2001 From: James Lee Date: Mon, 5 Jun 2017 14:41:56 -0700 Subject: [PATCH 003/236] removed build.then() alpha3 no longer returns a promise on the nuxt constructor. --- README.md | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 40ed8ee8bc..7c655d5ebc 100644 --- a/README.md +++ b/README.md @@ -170,13 +170,8 @@ const Nuxt = require('nuxt') // Launch nuxt build with given options let config = require('./nuxt.config.js') let nuxt = new Nuxt(config) -nuxt.build() -.then(() => { - // You can use nuxt.render(req, res) or nuxt.renderRoute(route, context) -}) -.catch((e) => { - // An error happened during the build -}) + +// You can use nuxt.render(req, res) or nuxt.renderRoute(route, context) ``` Learn more: https://nuxtjs.org/api/nuxt From c25aa4bc45f726c1c0270690f47f2d79c6232ccd Mon Sep 17 00:00:00 2001 From: Sebastien Chopin Date: Tue, 6 Jun 2017 14:51:30 +0200 Subject: [PATCH 004/236] Modules: unshit plugins to be executed first --- lib/module.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/module.js b/lib/module.js index 630db411e2..eed166f5fa 100755 --- a/lib/module.js +++ b/lib/module.js @@ -63,7 +63,7 @@ class Module { addPlugin (template) { const {dst} = this.addTemplate(template) // Add to nuxt plugins - this.options.plugins.push({ + this.options.plugins.unshift({ src: path.join(this.nuxt.buildDir, dst), ssr: template.ssr }) From 5e5b58c4610c5224130ecdc3fe5452363af27b6b Mon Sep 17 00:00:00 2001 From: Sebastien Chopin Date: Tue, 6 Jun 2017 14:51:49 +0200 Subject: [PATCH 005/236] Add redirect in plugins context --- lib/app/index.js | 3 ++- lib/app/server.js | 18 +++++++++--------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/lib/app/index.js b/lib/app/index.js index a812d16426..0b556cdf82 100644 --- a/lib/app/index.js +++ b/lib/app/index.js @@ -111,15 +111,16 @@ async function createApp (ssrContext) { ...App } + const next = ssrContext ? ssrContext.next : (location) => app.router.push(location) const ctx = getContext({ isServer: !!ssrContext, isClient: !ssrContext, route: router.currentRoute, + next, <%= (store ? 'store,' : '') %> req: ssrContext ? ssrContext.req : undefined, res: ssrContext ? ssrContext.res : undefined, }, app) - delete ctx.redirect delete ctx.error // Inject external plugins diff --git a/lib/app/server.js b/lib/app/server.js index 5187b73298..326fa3dfd6 100644 --- a/lib/app/server.js +++ b/lib/app/server.js @@ -17,15 +17,6 @@ const isDev = <%= isDev %> // Since data fetching is async, this function is expected to // return a Promise that resolves to the app instance. export default async (context) => { - const { app, router<%= (store ? ', store' : '') %> } = await createApp(context) - const _app = new Vue(app) - const _noopApp = new Vue({ render: (h) => h('div') }) - // Add store to the context - <%= (store ? 'context.store = store' : '') %> - // Add route to the context - context.route = router.currentRoute - // Nuxt object - context.nuxt = { layout: 'default', data: [], error: null<%= (store ? ', state: null' : '') %>, serverRendered: true } // create context.next for simulate next() of beforeEach() when wanted to redirect context.redirected = false context.next = function (opts) { @@ -45,6 +36,15 @@ export default async (context) => { }) context.res.end() } + const { app, router<%= (store ? ', store' : '') %> } = await createApp(context) + const _app = new Vue(app) + const _noopApp = new Vue({ render: (h) => h('div') }) + // Add store to the context + <%= (store ? 'context.store = store' : '') %> + // Add route to the context + context.route = router.currentRoute + // Nuxt object + context.nuxt = { layout: 'default', data: [], error: null<%= (store ? ', state: null' : '') %>, serverRendered: true } // Add meta infos context.meta = _app.$meta() // Error function From 7a0e8739ed4033042f33cd6ec6ee49c6edc44ea3 Mon Sep 17 00:00:00 2001 From: Sebastien Chopin Date: Tue, 6 Jun 2017 14:57:23 +0200 Subject: [PATCH 006/236] Upgrade dependencies --- package.json | 6 +- yarn.lock | 2172 +++++++++++++++++++++++++------------------------- 2 files changed, 1105 insertions(+), 1073 deletions(-) diff --git a/package.json b/package.json index f78ff073d6..ea933353e4 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "debug": "^2.6.8", "etag": "^1.8.0", "extract-text-webpack-plugin": "^2.1.0", - "file-loader": "^0.11.1", + "file-loader": "^0.11.2", "fresh": "^0.5.0", "friendly-errors-webpack-plugin": "^1.6.1", "fs-extra": "^3.0.1", @@ -117,13 +117,13 @@ "eslint-config-standard": "^10.2.1", "eslint-plugin-html": "^2.0.3", "eslint-plugin-import": "^2.3.0", - "eslint-plugin-node": "^4.2.2", + "eslint-plugin-node": "^5.0.0", "eslint-plugin-promise": "^3.5.0", "eslint-plugin-standard": "^3.0.1", "finalhandler": "^1.0.3", "jsdom": "^11.0.0", "json-loader": "^0.5.4", - "nyc": "^10.3.2", + "nyc": "^11.0.2", "request": "^2.81.0", "request-promise-native": "^1.0.4", "std-mocks": "^1.0.1" diff --git a/yarn.lock b/yarn.lock index d77c849ad0..48780ca123 100644 --- a/yarn.lock +++ b/yarn.lock @@ -38,68 +38,68 @@ esutils "^2.0.2" "@types/node@^6.0.46": - version "6.0.73" - resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.73.tgz#85dc4bb6f125377c75ddd2519a1eeb63f0a4ed70" + version "6.0.77" + resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.77.tgz#3e4d569a427f17085e1ee4ecd3c31befb56af7b5" abab@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.3.tgz#b81de5f7274ec4e756d797cd834f303642724e5d" + resolved "https://repository.neo9.pro/content/groups/global-npm/abab/-/abab-1.0.3.tgz#b81de5f7274ec4e756d797cd834f303642724e5d" abbrev@1: version "1.1.0" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f" + resolved "https://repository.neo9.pro/content/groups/global-npm/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f" accepts@~1.3.3: version "1.3.3" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca" + resolved "https://repository.neo9.pro/content/groups/global-npm/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca" dependencies: mime-types "~2.1.11" negotiator "0.6.1" acorn-dynamic-import@^2.0.0: version "2.0.2" - resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz#c752bd210bef679501b6c6cb7fc84f8f47158cc4" + resolved "https://repository.neo9.pro/content/groups/global-npm/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz#c752bd210bef679501b6c6cb7fc84f8f47158cc4" dependencies: acorn "^4.0.3" acorn-globals@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-3.1.0.tgz#fd8270f71fbb4996b004fa880ee5d46573a731bf" + resolved "https://repository.neo9.pro/content/groups/global-npm/acorn-globals/-/acorn-globals-3.1.0.tgz#fd8270f71fbb4996b004fa880ee5d46573a731bf" dependencies: acorn "^4.0.4" acorn-jsx@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" + resolved "https://repository.neo9.pro/content/groups/global-npm/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" dependencies: acorn "^3.0.4" acorn@^3.0.4: version "3.3.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" + resolved "https://repository.neo9.pro/content/groups/global-npm/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" acorn@^4.0.3, acorn@^4.0.4: version "4.0.13" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" + resolved "https://repository.neo9.pro/content/groups/global-npm/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" acorn@^5.0.0, acorn@^5.0.1, acorn@^5.0.3: version "5.0.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.0.3.tgz#c460df08491463f028ccb82eab3730bf01087b3d" + resolved "https://repository.neo9.pro/content/groups/global-npm/acorn/-/acorn-5.0.3.tgz#c460df08491463f028ccb82eab3730bf01087b3d" ajv-keywords@^1.0.0, ajv-keywords@^1.1.1: version "1.5.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" + resolved "https://repository.neo9.pro/content/groups/global-npm/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" ajv@^4.11.2, ajv@^4.7.0, ajv@^4.9.1: version "4.11.8" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" + resolved "https://repository.neo9.pro/content/groups/global-npm/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" dependencies: co "^4.6.0" json-stable-stringify "^1.0.1" align-text@^0.1.1, align-text@^0.1.3: version "0.1.4" - resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" + resolved "https://repository.neo9.pro/content/groups/global-npm/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" dependencies: kind-of "^3.0.2" longest "^1.0.1" @@ -107,133 +107,133 @@ align-text@^0.1.1, align-text@^0.1.3: alphanum-sort@^1.0.1, alphanum-sort@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" + resolved "https://repository.neo9.pro/content/groups/global-npm/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" amdefine@>=0.0.4: version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + resolved "https://repository.neo9.pro/content/groups/global-npm/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" ansi-align@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" + resolved "https://repository.neo9.pro/content/groups/global-npm/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" dependencies: string-width "^2.0.0" ansi-escapes@^1.1.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" + resolved "https://repository.neo9.pro/content/groups/global-npm/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" ansi-html@0.0.7, ansi-html@^0.0.7: version "0.0.7" - resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" + resolved "https://repository.neo9.pro/content/groups/global-npm/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" ansi-regex@^2.0.0: version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + resolved "https://repository.neo9.pro/content/groups/global-npm/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" ansi-styles@^2.2.1: version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + resolved "https://repository.neo9.pro/content/groups/global-npm/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" ansi-styles@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.0.0.tgz#5404e93a544c4fec7f048262977bebfe3155e0c1" + resolved "https://repository.neo9.pro/content/groups/global-npm/ansi-styles/-/ansi-styles-3.0.0.tgz#5404e93a544c4fec7f048262977bebfe3155e0c1" dependencies: color-convert "^1.0.0" ansi-styles@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" + resolved "https://repository.neo9.pro/content/groups/global-npm/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" anymatch@^1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507" + resolved "https://repository.neo9.pro/content/groups/global-npm/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507" dependencies: arrify "^1.0.0" micromatch "^2.1.5" append-transform@^0.4.0: version "0.4.0" - resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991" + resolved "https://repository.neo9.pro/content/groups/global-npm/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991" dependencies: default-require-extensions "^1.0.0" aproba@^1.0.3: - version "1.1.1" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.1.tgz#95d3600f07710aa0e9298c726ad5ecf2eacbabab" + version "1.1.2" + resolved "https://repository.neo9.pro/content/groups/global-npm/aproba/-/aproba-1.1.2.tgz#45c6629094de4e96f693ef7eab74ae079c240fc1" archy@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" + resolved "https://repository.neo9.pro/content/groups/global-npm/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" are-we-there-yet@~1.1.2: version "1.1.4" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" + resolved "https://repository.neo9.pro/content/groups/global-npm/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" dependencies: delegates "^1.0.0" readable-stream "^2.0.6" argparse@^1.0.7: version "1.0.9" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" + resolved "https://repository.neo9.pro/content/groups/global-npm/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" dependencies: sprintf-js "~1.0.2" argv@0.0.2: version "0.0.2" - resolved "https://registry.yarnpkg.com/argv/-/argv-0.0.2.tgz#ecbd16f8949b157183711b1bda334f37840185ab" + resolved "https://repository.neo9.pro/content/groups/global-npm/argv/-/argv-0.0.2.tgz#ecbd16f8949b157183711b1bda334f37840185ab" arr-diff@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + resolved "https://repository.neo9.pro/content/groups/global-npm/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" dependencies: arr-flatten "^1.0.1" arr-exclude@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/arr-exclude/-/arr-exclude-1.0.0.tgz#dfc7c2e552a270723ccda04cf3128c8cbfe5c631" + resolved "https://repository.neo9.pro/content/groups/global-npm/arr-exclude/-/arr-exclude-1.0.0.tgz#dfc7c2e552a270723ccda04cf3128c8cbfe5c631" arr-flatten@^1.0.1: version "1.0.3" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.3.tgz#a274ed85ac08849b6bd7847c4580745dc51adfb1" + resolved "https://repository.neo9.pro/content/groups/global-npm/arr-flatten/-/arr-flatten-1.0.3.tgz#a274ed85ac08849b6bd7847c4580745dc51adfb1" array-differ@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" + resolved "https://repository.neo9.pro/content/groups/global-npm/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" array-equal@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" + resolved "https://repository.neo9.pro/content/groups/global-npm/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" array-find-index@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + resolved "https://repository.neo9.pro/content/groups/global-npm/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" array-flatten@1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + resolved "https://repository.neo9.pro/content/groups/global-npm/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" array-union@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + resolved "https://repository.neo9.pro/content/groups/global-npm/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" dependencies: array-uniq "^1.0.1" array-uniq@^1.0.1, array-uniq@^1.0.2: version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + resolved "https://repository.neo9.pro/content/groups/global-npm/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" array-unique@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + resolved "https://repository.neo9.pro/content/groups/global-npm/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" arrify@^1.0.0, arrify@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + resolved "https://repository.neo9.pro/content/groups/global-npm/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" asn1.js@^4.0.0: version "4.9.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.1.tgz#48ba240b45a9280e94748990ba597d216617fd40" + resolved "https://repository.neo9.pro/content/groups/global-npm/asn1.js/-/asn1.js-4.9.1.tgz#48ba240b45a9280e94748990ba597d216617fd40" dependencies: bn.js "^4.0.0" inherits "^2.0.1" @@ -241,47 +241,47 @@ asn1.js@^4.0.0: asn1@~0.2.3: version "0.2.3" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" + resolved "https://repository.neo9.pro/content/groups/global-npm/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" assert-plus@1.0.0, assert-plus@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + resolved "https://repository.neo9.pro/content/groups/global-npm/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" assert-plus@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" + resolved "https://repository.neo9.pro/content/groups/global-npm/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" assert@^1.1.1: version "1.4.1" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" + resolved "https://repository.neo9.pro/content/groups/global-npm/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" dependencies: util "0.10.3" async-each@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" + resolved "https://repository.neo9.pro/content/groups/global-npm/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" async@^1.4.0: version "1.5.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + resolved "https://repository.neo9.pro/content/groups/global-npm/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" async@^2.1.2: version "2.4.1" - resolved "https://registry.yarnpkg.com/async/-/async-2.4.1.tgz#62a56b279c98a11d0987096a01cc3eeb8eb7bbd7" + resolved "https://repository.neo9.pro/content/groups/global-npm/async/-/async-2.4.1.tgz#62a56b279c98a11d0987096a01cc3eeb8eb7bbd7" dependencies: lodash "^4.14.0" asynckit@^0.4.0: version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + resolved "https://repository.neo9.pro/content/groups/global-npm/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" auto-bind@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/auto-bind/-/auto-bind-1.1.0.tgz#93b864dc7ee01a326281775d5c75ca0a751e5961" + resolved "https://repository.neo9.pro/content/groups/global-npm/auto-bind/-/auto-bind-1.1.0.tgz#93b864dc7ee01a326281775d5c75ca0a751e5961" autoprefixer@^6.3.1: version "6.7.7" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014" + resolved "https://repository.neo9.pro/content/groups/global-npm/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014" dependencies: browserslist "^1.7.6" caniuse-db "^1.0.30000634" @@ -292,7 +292,7 @@ autoprefixer@^6.3.1: autoprefixer@^7.1.1: version "7.1.1" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-7.1.1.tgz#97bc854c7d0b979f8d6489de547a0d17fb307f6d" + resolved "https://repository.neo9.pro/content/groups/global-npm/autoprefixer/-/autoprefixer-7.1.1.tgz#97bc854c7d0b979f8d6489de547a0d17fb307f6d" dependencies: browserslist "^2.1.3" caniuse-lite "^1.0.30000670" @@ -303,7 +303,7 @@ autoprefixer@^7.1.1: ava-init@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/ava-init/-/ava-init-0.2.0.tgz#9304c8b4c357d66e3dfdae1fbff47b1199d5c55d" + resolved "https://repository.neo9.pro/content/groups/global-npm/ava-init/-/ava-init-0.2.0.tgz#9304c8b4c357d66e3dfdae1fbff47b1199d5c55d" dependencies: arr-exclude "^1.0.0" execa "^0.5.0" @@ -313,7 +313,7 @@ ava-init@^0.2.0: ava@^0.19.1: version "0.19.1" - resolved "https://registry.yarnpkg.com/ava/-/ava-0.19.1.tgz#43dd82435ad19b3980ffca2488f05daab940b273" + resolved "https://repository.neo9.pro/content/groups/global-npm/ava/-/ava-0.19.1.tgz#43dd82435ad19b3980ffca2488f05daab940b273" dependencies: "@ava/babel-preset-stage-4" "^1.0.0" "@ava/babel-preset-transform-test-files" "^3.0.0" @@ -396,15 +396,15 @@ ava@^0.19.1: aws-sign2@~0.6.0: version "0.6.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" + resolved "https://repository.neo9.pro/content/groups/global-npm/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" aws4@^1.2.1: version "1.6.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" + resolved "https://repository.neo9.pro/content/groups/global-npm/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" babel-code-frame@^6.11.0, babel-code-frame@^6.16.0, babel-code-frame@^6.22.0: version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" dependencies: chalk "^1.1.0" esutils "^2.0.2" @@ -412,7 +412,7 @@ babel-code-frame@^6.11.0, babel-code-frame@^6.16.0, babel-code-frame@^6.22.0: babel-core@^6.17.0, babel-core@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.24.1.tgz#8c428564dce1e1f41fb337ec34f4c3b022b5ad83" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-core/-/babel-core-6.24.1.tgz#8c428564dce1e1f41fb337ec34f4c3b022b5ad83" dependencies: babel-code-frame "^6.22.0" babel-generator "^6.24.1" @@ -436,7 +436,7 @@ babel-core@^6.17.0, babel-core@^6.24.1: babel-eslint@^7.2.3: version "7.2.3" - resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.2.3.tgz#b2fe2d80126470f5c19442dc757253a897710827" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-eslint/-/babel-eslint-7.2.3.tgz#b2fe2d80126470f5c19442dc757253a897710827" dependencies: babel-code-frame "^6.22.0" babel-traverse "^6.23.1" @@ -445,7 +445,7 @@ babel-eslint@^7.2.3: babel-generator@^6.1.0, babel-generator@^6.18.0, babel-generator@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.24.1.tgz#e715f486c58ded25649d888944d52aa07c5d9497" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-generator/-/babel-generator-6.24.1.tgz#e715f486c58ded25649d888944d52aa07c5d9497" dependencies: babel-messages "^6.23.0" babel-runtime "^6.22.0" @@ -458,7 +458,7 @@ babel-generator@^6.1.0, babel-generator@^6.18.0, babel-generator@^6.24.1: babel-helper-bindify-decorators@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz#14c19e5f142d7b47f19a52431e52b1ccbc40a330" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz#14c19e5f142d7b47f19a52431e52b1ccbc40a330" dependencies: babel-runtime "^6.22.0" babel-traverse "^6.24.1" @@ -466,7 +466,7 @@ babel-helper-bindify-decorators@^6.24.1: babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" dependencies: babel-helper-explode-assignable-expression "^6.24.1" babel-runtime "^6.22.0" @@ -474,7 +474,7 @@ babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: babel-helper-call-delegate@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" dependencies: babel-helper-hoist-variables "^6.24.1" babel-runtime "^6.22.0" @@ -483,7 +483,7 @@ babel-helper-call-delegate@^6.24.1: babel-helper-define-map@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.24.1.tgz#7a9747f258d8947d32d515f6aa1c7bd02204a080" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-helper-define-map/-/babel-helper-define-map-6.24.1.tgz#7a9747f258d8947d32d515f6aa1c7bd02204a080" dependencies: babel-helper-function-name "^6.24.1" babel-runtime "^6.22.0" @@ -492,7 +492,7 @@ babel-helper-define-map@^6.24.1: babel-helper-explode-assignable-expression@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa" dependencies: babel-runtime "^6.22.0" babel-traverse "^6.24.1" @@ -500,7 +500,7 @@ babel-helper-explode-assignable-expression@^6.24.1: babel-helper-explode-class@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz#7dc2a3910dee007056e1e31d640ced3d54eaa9eb" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz#7dc2a3910dee007056e1e31d640ced3d54eaa9eb" dependencies: babel-helper-bindify-decorators "^6.24.1" babel-runtime "^6.22.0" @@ -509,7 +509,7 @@ babel-helper-explode-class@^6.24.1: babel-helper-function-name@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" dependencies: babel-helper-get-function-arity "^6.24.1" babel-runtime "^6.22.0" @@ -519,28 +519,28 @@ babel-helper-function-name@^6.24.1: babel-helper-get-function-arity@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" dependencies: babel-runtime "^6.22.0" babel-types "^6.24.1" babel-helper-hoist-variables@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" dependencies: babel-runtime "^6.22.0" babel-types "^6.24.1" babel-helper-optimise-call-expression@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257" dependencies: babel-runtime "^6.22.0" babel-types "^6.24.1" babel-helper-regex@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.24.1.tgz#d36e22fab1008d79d88648e32116868128456ce8" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-helper-regex/-/babel-helper-regex-6.24.1.tgz#d36e22fab1008d79d88648e32116868128456ce8" dependencies: babel-runtime "^6.22.0" babel-types "^6.24.1" @@ -548,7 +548,7 @@ babel-helper-regex@^6.24.1: babel-helper-remap-async-to-generator@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" dependencies: babel-helper-function-name "^6.24.1" babel-runtime "^6.22.0" @@ -558,7 +558,7 @@ babel-helper-remap-async-to-generator@^6.24.1: babel-helper-replace-supers@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" dependencies: babel-helper-optimise-call-expression "^6.24.1" babel-messages "^6.23.0" @@ -569,18 +569,18 @@ babel-helper-replace-supers@^6.24.1: babel-helper-vue-jsx-merge-props@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.2.tgz#aceb1c373588279e2755ea1cfd35c22394fd33f8" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.2.tgz#aceb1c373588279e2755ea1cfd35c22394fd33f8" babel-helpers@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" dependencies: babel-runtime "^6.22.0" babel-template "^6.24.1" babel-loader@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.0.0.tgz#2e43a66bee1fff4470533d0402c8a4532fafbaf7" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-loader/-/babel-loader-7.0.0.tgz#2e43a66bee1fff4470533d0402c8a4532fafbaf7" dependencies: find-cache-dir "^0.1.1" loader-utils "^1.0.2" @@ -588,23 +588,23 @@ babel-loader@^7.0.0: babel-messages@^6.23.0: version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" dependencies: babel-runtime "^6.22.0" babel-plugin-array-includes@^2.0.3: version "2.0.3" - resolved "https://registry.yarnpkg.com/babel-plugin-array-includes/-/babel-plugin-array-includes-2.0.3.tgz#cf5452e81c7b803fb7959f1045ac88e2ec28ff76" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-array-includes/-/babel-plugin-array-includes-2.0.3.tgz#cf5452e81c7b803fb7959f1045ac88e2ec28ff76" babel-plugin-check-es2015-constants@^6.22.0, babel-plugin-check-es2015-constants@^6.8.0: version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" dependencies: babel-runtime "^6.22.0" babel-plugin-espower@^2.3.2: version "2.3.2" - resolved "https://registry.yarnpkg.com/babel-plugin-espower/-/babel-plugin-espower-2.3.2.tgz#5516b8fcdb26c9f0e1d8160749f6e4c65e71271e" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-espower/-/babel-plugin-espower-2.3.2.tgz#5516b8fcdb26c9f0e1d8160749f6e4c65e71271e" dependencies: babel-generator "^6.1.0" babylon "^6.1.0" @@ -616,43 +616,43 @@ babel-plugin-espower@^2.3.2: babel-plugin-syntax-async-functions@^6.8.0: version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" babel-plugin-syntax-async-generators@^6.5.0: version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz#6bc963ebb16eccbae6b92b596eb7f35c342a8b9a" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz#6bc963ebb16eccbae6b92b596eb7f35c342a8b9a" babel-plugin-syntax-class-properties@^6.8.0: version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de" babel-plugin-syntax-decorators@^6.13.0: version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz#312563b4dbde3cc806cee3e416cceeaddd11ac0b" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz#312563b4dbde3cc806cee3e416cceeaddd11ac0b" babel-plugin-syntax-dynamic-import@^6.18.0: version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da" babel-plugin-syntax-exponentiation-operator@^6.8.0: version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" babel-plugin-syntax-jsx@^6.18.0: version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" babel-plugin-syntax-object-rest-spread@^6.8.0: version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" babel-plugin-syntax-trailing-function-commas@^6.20.0, babel-plugin-syntax-trailing-function-commas@^6.22.0: version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" babel-plugin-transform-async-generator-functions@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz#f058900145fd3e9907a6ddf28da59f215258a5db" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz#f058900145fd3e9907a6ddf28da59f215258a5db" dependencies: babel-helper-remap-async-to-generator "^6.24.1" babel-plugin-syntax-async-generators "^6.5.0" @@ -660,7 +660,7 @@ babel-plugin-transform-async-generator-functions@^6.24.1: babel-plugin-transform-async-to-generator@^6.16.0, babel-plugin-transform-async-to-generator@^6.22.0, babel-plugin-transform-async-to-generator@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" dependencies: babel-helper-remap-async-to-generator "^6.24.1" babel-plugin-syntax-async-functions "^6.8.0" @@ -668,7 +668,7 @@ babel-plugin-transform-async-to-generator@^6.16.0, babel-plugin-transform-async- babel-plugin-transform-class-properties@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz#6a79763ea61d33d36f37b611aa9def81a81b46ac" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz#6a79763ea61d33d36f37b611aa9def81a81b46ac" dependencies: babel-helper-function-name "^6.24.1" babel-plugin-syntax-class-properties "^6.8.0" @@ -677,7 +677,7 @@ babel-plugin-transform-class-properties@^6.24.1: babel-plugin-transform-decorators@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz#788013d8f8c6b5222bdf7b344390dfd77569e24d" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz#788013d8f8c6b5222bdf7b344390dfd77569e24d" dependencies: babel-helper-explode-class "^6.24.1" babel-plugin-syntax-decorators "^6.13.0" @@ -687,19 +687,19 @@ babel-plugin-transform-decorators@^6.24.1: babel-plugin-transform-es2015-arrow-functions@^6.22.0: version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" dependencies: babel-runtime "^6.22.0" babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" dependencies: babel-runtime "^6.22.0" babel-plugin-transform-es2015-block-scoping@^6.23.0, babel-plugin-transform-es2015-block-scoping@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.24.1.tgz#76c295dc3a4741b1665adfd3167215dcff32a576" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.24.1.tgz#76c295dc3a4741b1665adfd3167215dcff32a576" dependencies: babel-runtime "^6.22.0" babel-template "^6.24.1" @@ -709,7 +709,7 @@ babel-plugin-transform-es2015-block-scoping@^6.23.0, babel-plugin-transform-es20 babel-plugin-transform-es2015-classes@^6.23.0, babel-plugin-transform-es2015-classes@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" dependencies: babel-helper-define-map "^6.24.1" babel-helper-function-name "^6.24.1" @@ -723,33 +723,33 @@ babel-plugin-transform-es2015-classes@^6.23.0, babel-plugin-transform-es2015-cla babel-plugin-transform-es2015-computed-properties@^6.22.0, babel-plugin-transform-es2015-computed-properties@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" dependencies: babel-runtime "^6.22.0" babel-template "^6.24.1" babel-plugin-transform-es2015-destructuring@^6.19.0, babel-plugin-transform-es2015-destructuring@^6.22.0, babel-plugin-transform-es2015-destructuring@^6.23.0: version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" dependencies: babel-runtime "^6.22.0" babel-plugin-transform-es2015-duplicate-keys@^6.22.0, babel-plugin-transform-es2015-duplicate-keys@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" dependencies: babel-runtime "^6.22.0" babel-types "^6.24.1" babel-plugin-transform-es2015-for-of@^6.22.0, babel-plugin-transform-es2015-for-of@^6.23.0: version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" dependencies: babel-runtime "^6.22.0" babel-plugin-transform-es2015-function-name@^6.22.0, babel-plugin-transform-es2015-function-name@^6.24.1, babel-plugin-transform-es2015-function-name@^6.9.0: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" dependencies: babel-helper-function-name "^6.24.1" babel-runtime "^6.22.0" @@ -757,13 +757,13 @@ babel-plugin-transform-es2015-function-name@^6.22.0, babel-plugin-transform-es20 babel-plugin-transform-es2015-literals@^6.22.0: version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" dependencies: babel-runtime "^6.22.0" babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015-modules-amd@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" dependencies: babel-plugin-transform-es2015-modules-commonjs "^6.24.1" babel-runtime "^6.22.0" @@ -771,7 +771,7 @@ babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015 babel-plugin-transform-es2015-modules-commonjs@^6.18.0, babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.1.tgz#d3e310b40ef664a36622200097c6d440298f2bfe" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.1.tgz#d3e310b40ef664a36622200097c6d440298f2bfe" dependencies: babel-plugin-transform-strict-mode "^6.24.1" babel-runtime "^6.22.0" @@ -780,7 +780,7 @@ babel-plugin-transform-es2015-modules-commonjs@^6.18.0, babel-plugin-transform-e babel-plugin-transform-es2015-modules-systemjs@^6.23.0, babel-plugin-transform-es2015-modules-systemjs@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" dependencies: babel-helper-hoist-variables "^6.24.1" babel-runtime "^6.22.0" @@ -788,7 +788,7 @@ babel-plugin-transform-es2015-modules-systemjs@^6.23.0, babel-plugin-transform-e babel-plugin-transform-es2015-modules-umd@^6.23.0, babel-plugin-transform-es2015-modules-umd@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" dependencies: babel-plugin-transform-es2015-modules-amd "^6.24.1" babel-runtime "^6.22.0" @@ -796,14 +796,14 @@ babel-plugin-transform-es2015-modules-umd@^6.23.0, babel-plugin-transform-es2015 babel-plugin-transform-es2015-object-super@^6.22.0, babel-plugin-transform-es2015-object-super@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" dependencies: babel-helper-replace-supers "^6.24.1" babel-runtime "^6.22.0" babel-plugin-transform-es2015-parameters@^6.21.0, babel-plugin-transform-es2015-parameters@^6.23.0, babel-plugin-transform-es2015-parameters@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" dependencies: babel-helper-call-delegate "^6.24.1" babel-helper-get-function-arity "^6.24.1" @@ -814,20 +814,20 @@ babel-plugin-transform-es2015-parameters@^6.21.0, babel-plugin-transform-es2015- babel-plugin-transform-es2015-shorthand-properties@^6.22.0, babel-plugin-transform-es2015-shorthand-properties@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" dependencies: babel-runtime "^6.22.0" babel-types "^6.24.1" babel-plugin-transform-es2015-spread@^6.22.0, babel-plugin-transform-es2015-spread@^6.8.0: version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" dependencies: babel-runtime "^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-sticky-regex@^6.8.0: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" dependencies: babel-helper-regex "^6.24.1" babel-runtime "^6.22.0" @@ -835,19 +835,19 @@ babel-plugin-transform-es2015-sticky-regex@^6.22.0, babel-plugin-transform-es201 babel-plugin-transform-es2015-template-literals@^6.22.0: version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" dependencies: babel-runtime "^6.22.0" babel-plugin-transform-es2015-typeof-symbol@^6.22.0, babel-plugin-transform-es2015-typeof-symbol@^6.23.0: version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" dependencies: babel-runtime "^6.22.0" babel-plugin-transform-es2015-unicode-regex@^6.11.0, babel-plugin-transform-es2015-unicode-regex@^6.22.0, babel-plugin-transform-es2015-unicode-regex@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" dependencies: babel-helper-regex "^6.24.1" babel-runtime "^6.22.0" @@ -855,7 +855,7 @@ babel-plugin-transform-es2015-unicode-regex@^6.11.0, babel-plugin-transform-es20 babel-plugin-transform-exponentiation-operator@^6.22.0, babel-plugin-transform-exponentiation-operator@^6.24.1, babel-plugin-transform-exponentiation-operator@^6.8.0: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" dependencies: babel-helper-builder-binary-assignment-operator-visitor "^6.24.1" babel-plugin-syntax-exponentiation-operator "^6.8.0" @@ -863,39 +863,39 @@ babel-plugin-transform-exponentiation-operator@^6.22.0, babel-plugin-transform-e babel-plugin-transform-object-rest-spread@^6.22.0, babel-plugin-transform-object-rest-spread@^6.23.0: version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.23.0.tgz#875d6bc9be761c58a2ae3feee5dc4895d8c7f921" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.23.0.tgz#875d6bc9be761c58a2ae3feee5dc4895d8c7f921" dependencies: babel-plugin-syntax-object-rest-spread "^6.8.0" babel-runtime "^6.22.0" babel-plugin-transform-regenerator@^6.22.0, babel-plugin-transform-regenerator@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.24.1.tgz#b8da305ad43c3c99b4848e4fe4037b770d23c418" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.24.1.tgz#b8da305ad43c3c99b4848e4fe4037b770d23c418" dependencies: regenerator-transform "0.9.11" babel-plugin-transform-runtime@^6.15.0, babel-plugin-transform-runtime@^6.23.0: version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz#88490d446502ea9b8e7efb0fe09ec4d99479b1ee" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz#88490d446502ea9b8e7efb0fe09ec4d99479b1ee" dependencies: babel-runtime "^6.22.0" babel-plugin-transform-strict-mode@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" dependencies: babel-runtime "^6.22.0" babel-types "^6.24.1" babel-plugin-transform-vue-jsx@^3.1.2: version "3.4.3" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-3.4.3.tgz#de57d8dd7d619333c981867728f3e6fdf68982ff" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-3.4.3.tgz#de57d8dd7d619333c981867728f3e6fdf68982ff" dependencies: esutils "^2.0.2" babel-polyfill@6.23.0: version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.23.0.tgz#8364ca62df8eafb830499f699177466c3b03499d" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-polyfill/-/babel-polyfill-6.23.0.tgz#8364ca62df8eafb830499f699177466c3b03499d" dependencies: babel-runtime "^6.22.0" core-js "^2.4.0" @@ -903,7 +903,7 @@ babel-polyfill@6.23.0: babel-preset-env@^1.2.1: version "1.5.1" - resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.5.1.tgz#d2eca6af179edf27cdc305a84820f601b456dd0b" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-preset-env/-/babel-preset-env-1.5.1.tgz#d2eca6af179edf27cdc305a84820f601b456dd0b" dependencies: babel-plugin-check-es2015-constants "^6.22.0" babel-plugin-syntax-trailing-function-commas "^6.22.0" @@ -938,7 +938,7 @@ babel-preset-env@^1.2.1: babel-preset-es2015@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939" dependencies: babel-plugin-check-es2015-constants "^6.22.0" babel-plugin-transform-es2015-arrow-functions "^6.22.0" @@ -967,7 +967,7 @@ babel-preset-es2015@^6.24.1: babel-preset-stage-2@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz#d9e2960fb3d71187f0e64eec62bc07767219bdc1" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz#d9e2960fb3d71187f0e64eec62bc07767219bdc1" dependencies: babel-plugin-syntax-dynamic-import "^6.18.0" babel-plugin-transform-class-properties "^6.24.1" @@ -976,7 +976,7 @@ babel-preset-stage-2@^6.24.1: babel-preset-stage-3@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz#836ada0a9e7a7fa37cb138fb9326f87934a48395" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz#836ada0a9e7a7fa37cb138fb9326f87934a48395" dependencies: babel-plugin-syntax-trailing-function-commas "^6.22.0" babel-plugin-transform-async-generator-functions "^6.24.1" @@ -986,7 +986,7 @@ babel-preset-stage-3@^6.24.1: babel-preset-vue-app@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/babel-preset-vue-app/-/babel-preset-vue-app-1.2.0.tgz#5ddfb7920020123a2482b12c6b36bdef9e3fb0ad" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-preset-vue-app/-/babel-preset-vue-app-1.2.0.tgz#5ddfb7920020123a2482b12c6b36bdef9e3fb0ad" dependencies: babel-plugin-syntax-dynamic-import "^6.18.0" babel-plugin-transform-object-rest-spread "^6.23.0" @@ -997,7 +997,7 @@ babel-preset-vue-app@^1.2.0: babel-preset-vue@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/babel-preset-vue/-/babel-preset-vue-0.1.0.tgz#adb84ceab3873bd72606fdd3f7047640f032301f" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-preset-vue/-/babel-preset-vue-0.1.0.tgz#adb84ceab3873bd72606fdd3f7047640f032301f" dependencies: babel-helper-vue-jsx-merge-props "^2.0.2" babel-plugin-syntax-jsx "^6.18.0" @@ -1005,7 +1005,7 @@ babel-preset-vue@^0.1.0: babel-register@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.24.1.tgz#7e10e13a2f71065bdfad5a1787ba45bca6ded75f" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-register/-/babel-register-6.24.1.tgz#7e10e13a2f71065bdfad5a1787ba45bca6ded75f" dependencies: babel-core "^6.24.1" babel-runtime "^6.22.0" @@ -1017,14 +1017,14 @@ babel-register@^6.24.1: babel-runtime@^6.18.0, babel-runtime@^6.20.0, babel-runtime@^6.22.0: version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b" dependencies: core-js "^2.4.0" regenerator-runtime "^0.10.0" babel-template@^6.16.0, babel-template@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.24.1.tgz#04ae514f1f93b3a2537f2a0f60a5a45fb8308333" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-template/-/babel-template-6.24.1.tgz#04ae514f1f93b3a2537f2a0f60a5a45fb8308333" dependencies: babel-runtime "^6.22.0" babel-traverse "^6.24.1" @@ -1034,7 +1034,7 @@ babel-template@^6.16.0, babel-template@^6.24.1: babel-traverse@^6.18.0, babel-traverse@^6.23.1, babel-traverse@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.24.1.tgz#ab36673fd356f9a0948659e7b338d5feadb31695" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-traverse/-/babel-traverse-6.24.1.tgz#ab36673fd356f9a0948659e7b338d5feadb31695" dependencies: babel-code-frame "^6.22.0" babel-messages "^6.23.0" @@ -1048,7 +1048,7 @@ babel-traverse@^6.18.0, babel-traverse@^6.23.1, babel-traverse@^6.24.1: babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.23.0, babel-types@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.24.1.tgz#a136879dc15b3606bda0d90c1fc74304c2ff0975" + resolved "https://repository.neo9.pro/content/groups/global-npm/babel-types/-/babel-types-6.24.1.tgz#a136879dc15b3606bda0d90c1fc74304c2ff0975" dependencies: babel-runtime "^6.22.0" esutils "^2.0.2" @@ -1056,62 +1056,62 @@ babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.23.0, babel-types@^6.24 to-fast-properties "^1.0.1" babylon@^6.1.0, babylon@^6.11.0, babylon@^6.13.0, babylon@^6.15.0, babylon@^6.17.0: - version "6.17.1" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.1.tgz#17f14fddf361b695981fe679385e4f1c01ebd86f" + version "6.17.2" + resolved "https://repository.neo9.pro/content/groups/global-npm/babylon/-/babylon-6.17.2.tgz#201d25ef5f892c41bae49488b08db0dd476e9f5c" balanced-match@^0.4.1, balanced-match@^0.4.2: version "0.4.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" + resolved "https://repository.neo9.pro/content/groups/global-npm/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" base64-js@^1.0.2: version "1.2.0" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1" + resolved "https://repository.neo9.pro/content/groups/global-npm/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1" bcrypt-pbkdf@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" + resolved "https://repository.neo9.pro/content/groups/global-npm/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" dependencies: tweetnacl "^0.14.3" big.js@^3.1.3: version "3.1.3" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978" + resolved "https://repository.neo9.pro/content/groups/global-npm/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978" binary-extensions@^1.0.0: version "1.8.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774" + resolved "https://repository.neo9.pro/content/groups/global-npm/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774" block-stream@*: version "0.0.9" - resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" + resolved "https://repository.neo9.pro/content/groups/global-npm/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" dependencies: inherits "~2.0.0" bluebird@^2.10.2: version "2.11.0" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-2.11.0.tgz#534b9033c022c9579c56ba3b3e5a5caafbb650e1" + resolved "https://repository.neo9.pro/content/groups/global-npm/bluebird/-/bluebird-2.11.0.tgz#534b9033c022c9579c56ba3b3e5a5caafbb650e1" bluebird@^3.0.0, bluebird@^3.0.5, bluebird@^3.1.1, bluebird@^3.4.7: version "3.5.0" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c" + resolved "https://repository.neo9.pro/content/groups/global-npm/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c" bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: version "4.11.6" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" + resolved "https://repository.neo9.pro/content/groups/global-npm/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" boolbase@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + resolved "https://repository.neo9.pro/content/groups/global-npm/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" boom@2.x.x: version "2.10.1" - resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" + resolved "https://repository.neo9.pro/content/groups/global-npm/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" dependencies: hoek "2.x.x" boxen@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.1.0.tgz#b1b69dd522305e807a99deee777dbd6e5167b102" + resolved "https://repository.neo9.pro/content/groups/global-npm/boxen/-/boxen-1.1.0.tgz#b1b69dd522305e807a99deee777dbd6e5167b102" dependencies: ansi-align "^2.0.0" camelcase "^4.0.0" @@ -1123,14 +1123,14 @@ boxen@^1.0.0: brace-expansion@^1.1.7: version "1.1.7" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.7.tgz#3effc3c50e000531fb720eaff80f0ae8ef23cf59" + resolved "https://repository.neo9.pro/content/groups/global-npm/brace-expansion/-/brace-expansion-1.1.7.tgz#3effc3c50e000531fb720eaff80f0ae8ef23cf59" dependencies: balanced-match "^0.4.1" concat-map "0.0.1" braces@^1.8.2: version "1.8.5" - resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + resolved "https://repository.neo9.pro/content/groups/global-npm/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" dependencies: expand-range "^1.8.1" preserve "^0.2.0" @@ -1138,11 +1138,11 @@ braces@^1.8.2: brorand@^1.0.1: version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + resolved "https://repository.neo9.pro/content/groups/global-npm/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" browserify-aes@^1.0.0, browserify-aes@^1.0.4: version "1.0.6" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.0.6.tgz#5e7725dbdef1fd5930d4ebab48567ce451c48a0a" + resolved "https://repository.neo9.pro/content/groups/global-npm/browserify-aes/-/browserify-aes-1.0.6.tgz#5e7725dbdef1fd5930d4ebab48567ce451c48a0a" dependencies: buffer-xor "^1.0.2" cipher-base "^1.0.0" @@ -1152,7 +1152,7 @@ browserify-aes@^1.0.0, browserify-aes@^1.0.4: browserify-cipher@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.0.tgz#9988244874bf5ed4e28da95666dcd66ac8fc363a" + resolved "https://repository.neo9.pro/content/groups/global-npm/browserify-cipher/-/browserify-cipher-1.0.0.tgz#9988244874bf5ed4e28da95666dcd66ac8fc363a" dependencies: browserify-aes "^1.0.4" browserify-des "^1.0.0" @@ -1160,7 +1160,7 @@ browserify-cipher@^1.0.0: browserify-des@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.0.tgz#daa277717470922ed2fe18594118a175439721dd" + resolved "https://repository.neo9.pro/content/groups/global-npm/browserify-des/-/browserify-des-1.0.0.tgz#daa277717470922ed2fe18594118a175439721dd" dependencies: cipher-base "^1.0.1" des.js "^1.0.0" @@ -1168,14 +1168,14 @@ browserify-des@^1.0.0: browserify-rsa@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" + resolved "https://repository.neo9.pro/content/groups/global-npm/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" dependencies: bn.js "^4.1.0" randombytes "^2.0.1" browserify-sign@^4.0.0: version "4.0.4" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" + resolved "https://repository.neo9.pro/content/groups/global-npm/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" dependencies: bn.js "^4.1.1" browserify-rsa "^4.0.0" @@ -1187,39 +1187,35 @@ browserify-sign@^4.0.0: browserify-zlib@^0.1.4: version "0.1.4" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d" + resolved "https://repository.neo9.pro/content/groups/global-npm/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d" dependencies: pako "~0.2.0" browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6: version "1.7.7" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9" + resolved "https://repository.neo9.pro/content/groups/global-npm/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9" dependencies: caniuse-db "^1.0.30000639" electron-to-chromium "^1.2.7" browserslist@^2.1.2, browserslist@^2.1.3: version "2.1.4" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.1.4.tgz#cc526af4a1312b7d2e05653e56d0c8ab70c0e053" + resolved "https://repository.neo9.pro/content/groups/global-npm/browserslist/-/browserslist-2.1.4.tgz#cc526af4a1312b7d2e05653e56d0c8ab70c0e053" dependencies: caniuse-lite "^1.0.30000670" electron-to-chromium "^1.3.11" buf-compare@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/buf-compare/-/buf-compare-1.0.1.tgz#fef28da8b8113a0a0db4430b0b6467b69730b34a" - -buffer-shims@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" + resolved "https://repository.neo9.pro/content/groups/global-npm/buf-compare/-/buf-compare-1.0.1.tgz#fef28da8b8113a0a0db4430b0b6467b69730b34a" buffer-xor@^1.0.2: version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + resolved "https://repository.neo9.pro/content/groups/global-npm/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" buffer@^4.3.0: version "4.9.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" + resolved "https://repository.neo9.pro/content/groups/global-npm/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" dependencies: base64-js "^1.0.2" ieee754 "^1.1.4" @@ -1227,19 +1223,19 @@ buffer@^4.3.0: builtin-modules@^1.0.0, builtin-modules@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + resolved "https://repository.neo9.pro/content/groups/global-npm/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" 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" + resolved "https://repository.neo9.pro/content/groups/global-npm/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" + resolved "https://repository.neo9.pro/content/groups/global-npm/bytes/-/bytes-2.3.0.tgz#d5b680a165b6201739acb611542aabc2d8ceb070" caching-transform@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-1.0.1.tgz#6dbdb2f20f8d8fbce79f3e94e9d1742dcdf5c0a1" + resolved "https://repository.neo9.pro/content/groups/global-npm/caching-transform/-/caching-transform-1.0.1.tgz#6dbdb2f20f8d8fbce79f3e94e9d1742dcdf5c0a1" dependencies: md5-hex "^1.2.0" mkdirp "^0.5.1" @@ -1247,7 +1243,7 @@ caching-transform@^1.0.0: call-matcher@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/call-matcher/-/call-matcher-1.0.1.tgz#5134d077984f712a54dad3cbf62de28dce416ca8" + resolved "https://repository.neo9.pro/content/groups/global-npm/call-matcher/-/call-matcher-1.0.1.tgz#5134d077984f712a54dad3cbf62de28dce416ca8" dependencies: core-js "^2.0.0" deep-equal "^1.0.0" @@ -1256,51 +1252,51 @@ call-matcher@^1.0.0: call-signature@0.0.2: version "0.0.2" - resolved "https://registry.yarnpkg.com/call-signature/-/call-signature-0.0.2.tgz#a84abc825a55ef4cb2b028bd74e205a65b9a4996" + resolved "https://repository.neo9.pro/content/groups/global-npm/call-signature/-/call-signature-0.0.2.tgz#a84abc825a55ef4cb2b028bd74e205a65b9a4996" caller-path@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" + resolved "https://repository.neo9.pro/content/groups/global-npm/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" dependencies: callsites "^0.2.0" callsites@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" + resolved "https://repository.neo9.pro/content/groups/global-npm/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" camel-case@3.0.x: version "3.0.0" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" + resolved "https://repository.neo9.pro/content/groups/global-npm/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" dependencies: no-case "^2.2.0" upper-case "^1.1.1" camelcase-keys@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + resolved "https://repository.neo9.pro/content/groups/global-npm/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" dependencies: camelcase "^2.0.0" map-obj "^1.0.0" camelcase@^1.0.2: version "1.2.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" + resolved "https://repository.neo9.pro/content/groups/global-npm/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" camelcase@^2.0.0: version "2.1.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + resolved "https://repository.neo9.pro/content/groups/global-npm/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" camelcase@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" + resolved "https://repository.neo9.pro/content/groups/global-npm/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" -camelcase@^4.0.0: +camelcase@^4.0.0, camelcase@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + resolved "https://repository.neo9.pro/content/groups/global-npm/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" caniuse-api@^1.5.2: version "1.6.1" - resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.6.1.tgz#b534e7c734c4f81ec5fbe8aca2ad24354b962c6c" + resolved "https://repository.neo9.pro/content/groups/global-npm/caniuse-api/-/caniuse-api-1.6.1.tgz#b534e7c734c4f81ec5fbe8aca2ad24354b962c6c" dependencies: browserslist "^1.3.6" caniuse-db "^1.0.30000529" @@ -1308,35 +1304,35 @@ 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.30000676" - resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000676.tgz#82ea578237637c8ff34a28acaade373b624c4ea8" + version "1.0.30000679" + resolved "https://repository.neo9.pro/content/groups/global-npm/caniuse-db/-/caniuse-db-1.0.30000679.tgz#dd7be12f16577e5d6ae6db880c6d619e77dca365" caniuse-lite@^1.0.30000670: - version "1.0.30000676" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000676.tgz#1e962123f48073f0c51c4ea0651dd64d25786498" + version "1.0.30000679" + resolved "https://repository.neo9.pro/content/groups/global-npm/caniuse-lite/-/caniuse-lite-1.0.30000679.tgz#0fb5bb3658d4d4448f8f86a1c48df15664aa05ef" capture-stack-trace@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d" + resolved "https://repository.neo9.pro/content/groups/global-npm/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d" caseless@~0.11.0: version "0.11.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" + resolved "https://repository.neo9.pro/content/groups/global-npm/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" caseless@~0.12.0: version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + resolved "https://repository.neo9.pro/content/groups/global-npm/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" center-align@^0.1.1: version "0.1.3" - resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" + resolved "https://repository.neo9.pro/content/groups/global-npm/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" dependencies: align-text "^0.1.3" lazy-cache "^1.0.3" chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + resolved "https://repository.neo9.pro/content/groups/global-npm/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" dependencies: ansi-styles "^2.2.1" escape-string-regexp "^1.0.2" @@ -1346,7 +1342,7 @@ chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: chalk@^0.4.0: version "0.4.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" + resolved "https://repository.neo9.pro/content/groups/global-npm/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" dependencies: ansi-styles "~1.0.0" has-color "~0.1.0" @@ -1354,7 +1350,7 @@ chalk@^0.4.0: chokidar@^1.4.2, chokidar@^1.4.3, chokidar@^1.7.0: version "1.7.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" + resolved "https://repository.neo9.pro/content/groups/global-npm/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" dependencies: anymatch "^1.3.0" async-each "^1.0.0" @@ -1369,72 +1365,72 @@ chokidar@^1.4.2, chokidar@^1.4.3, chokidar@^1.7.0: ci-info@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.0.0.tgz#dc5285f2b4e251821683681c381c3388f46ec534" + resolved "https://repository.neo9.pro/content/groups/global-npm/ci-info/-/ci-info-1.0.0.tgz#dc5285f2b4e251821683681c381c3388f46ec534" cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.3.tgz#eeabf194419ce900da3018c207d212f2a6df0a07" + resolved "https://repository.neo9.pro/content/groups/global-npm/cipher-base/-/cipher-base-1.0.3.tgz#eeabf194419ce900da3018c207d212f2a6df0a07" dependencies: inherits "^2.0.1" circular-json@^0.3.1: version "0.3.1" - resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d" + resolved "https://repository.neo9.pro/content/groups/global-npm/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d" clap@^1.0.9: version "1.1.3" - resolved "https://registry.yarnpkg.com/clap/-/clap-1.1.3.tgz#b3bd36e93dd4cbfb395a3c26896352445265c05b" + resolved "https://repository.neo9.pro/content/groups/global-npm/clap/-/clap-1.1.3.tgz#b3bd36e93dd4cbfb395a3c26896352445265c05b" dependencies: chalk "^1.1.3" clean-css@4.1.x: version "4.1.3" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.1.3.tgz#07cfe8980edb20d455ddc23aadcf1e04c6e509ce" + resolved "https://repository.neo9.pro/content/groups/global-npm/clean-css/-/clean-css-4.1.3.tgz#07cfe8980edb20d455ddc23aadcf1e04c6e509ce" dependencies: source-map "0.5.x" clean-stack@^1.1.1: version "1.3.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-1.3.0.tgz#9e821501ae979986c46b1d66d2d432db2fd4ae31" + resolved "https://repository.neo9.pro/content/groups/global-npm/clean-stack/-/clean-stack-1.3.0.tgz#9e821501ae979986c46b1d66d2d432db2fd4ae31" clean-yaml-object@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz#63fb110dc2ce1a84dc21f6d9334876d010ae8b68" + resolved "https://repository.neo9.pro/content/groups/global-npm/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz#63fb110dc2ce1a84dc21f6d9334876d010ae8b68" cli-boxes@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" + resolved "https://repository.neo9.pro/content/groups/global-npm/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" cli-cursor@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" + resolved "https://repository.neo9.pro/content/groups/global-npm/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" dependencies: restore-cursor "^1.0.1" cli-cursor@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + resolved "https://repository.neo9.pro/content/groups/global-npm/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" dependencies: restore-cursor "^2.0.0" cli-spinners@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.0.0.tgz#ef987ed3d48391ac3dab9180b406a742180d6e6a" + resolved "https://repository.neo9.pro/content/groups/global-npm/cli-spinners/-/cli-spinners-1.0.0.tgz#ef987ed3d48391ac3dab9180b406a742180d6e6a" cli-truncate@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-1.0.0.tgz#21eb91f47b3f6560f004db77a769b4668d9c5518" + resolved "https://repository.neo9.pro/content/groups/global-npm/cli-truncate/-/cli-truncate-1.0.0.tgz#21eb91f47b3f6560f004db77a769b4668d9c5518" dependencies: slice-ansi "0.0.4" string-width "^2.0.0" cli-width@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a" + resolved "https://repository.neo9.pro/content/groups/global-npm/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a" cliui@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" + resolved "https://repository.neo9.pro/content/groups/global-npm/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" dependencies: center-align "^0.1.1" right-align "^0.1.1" @@ -1442,7 +1438,7 @@ cliui@^2.1.0: cliui@^3.2.0: version "3.2.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + resolved "https://repository.neo9.pro/content/groups/global-npm/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" dependencies: string-width "^1.0.1" strip-ansi "^3.0.1" @@ -1450,37 +1446,37 @@ cliui@^3.2.0: clone@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" + resolved "https://repository.neo9.pro/content/groups/global-npm/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" co-with-promise@^4.6.0: version "4.6.0" - resolved "https://registry.yarnpkg.com/co-with-promise/-/co-with-promise-4.6.0.tgz#413e7db6f5893a60b942cf492c4bec93db415ab7" + resolved "https://repository.neo9.pro/content/groups/global-npm/co-with-promise/-/co-with-promise-4.6.0.tgz#413e7db6f5893a60b942cf492c4bec93db415ab7" dependencies: pinkie-promise "^1.0.0" co@^4.6.0: version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + resolved "https://repository.neo9.pro/content/groups/global-npm/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" coa@~1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.2.tgz#2ba9fec3b4aa43d7a49d7e6c3561e92061b6bcec" + resolved "https://repository.neo9.pro/content/groups/global-npm/coa/-/coa-1.0.2.tgz#2ba9fec3b4aa43d7a49d7e6c3561e92061b6bcec" dependencies: q "^1.1.2" code-excerpt@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/code-excerpt/-/code-excerpt-2.1.0.tgz#5dcc081e88f4a7e3b554e9e35d7ef232d47f8147" + resolved "https://repository.neo9.pro/content/groups/global-npm/code-excerpt/-/code-excerpt-2.1.0.tgz#5dcc081e88f4a7e3b554e9e35d7ef232d47f8147" dependencies: convert-to-spaces "^1.0.1" code-point-at@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + resolved "https://repository.neo9.pro/content/groups/global-npm/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" codecov@^2.2.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/codecov/-/codecov-2.2.0.tgz#2d06817ceb8891eca6368836d4fb6bf6cc04ffd1" + resolved "https://repository.neo9.pro/content/groups/global-npm/codecov/-/codecov-2.2.0.tgz#2d06817ceb8891eca6368836d4fb6bf6cc04ffd1" dependencies: argv "0.0.2" request "2.79.0" @@ -1488,23 +1484,23 @@ codecov@^2.2.0: color-convert@^1.0.0, color-convert@^1.3.0: version "1.9.0" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a" + resolved "https://repository.neo9.pro/content/groups/global-npm/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a" dependencies: 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" + resolved "https://repository.neo9.pro/content/groups/global-npm/color-name/-/color-name-1.1.2.tgz#5c8ab72b64bd2215d617ae9559ebb148475cf98d" color-string@^0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-0.3.0.tgz#27d46fb67025c5c2fa25993bfbf579e47841b991" + resolved "https://repository.neo9.pro/content/groups/global-npm/color-string/-/color-string-0.3.0.tgz#27d46fb67025c5c2fa25993bfbf579e47841b991" dependencies: color-name "^1.0.0" color@^0.11.0: version "0.11.4" - resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764" + resolved "https://repository.neo9.pro/content/groups/global-npm/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764" dependencies: clone "^1.0.2" color-convert "^1.3.0" @@ -1512,7 +1508,7 @@ color@^0.11.0: colormin@^1.0.5: version "1.1.2" - resolved "https://registry.yarnpkg.com/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133" + resolved "https://repository.neo9.pro/content/groups/global-npm/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133" dependencies: color "^0.11.0" css-color-names "0.0.4" @@ -1520,37 +1516,37 @@ colormin@^1.0.5: colors@~1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" + resolved "https://repository.neo9.pro/content/groups/global-npm/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" combined-stream@^1.0.5, combined-stream@~1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" + resolved "https://repository.neo9.pro/content/groups/global-npm/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" dependencies: delayed-stream "~1.0.0" commander@2.9.x, commander@^2.9.0, commander@~2.9.0: version "2.9.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" + resolved "https://repository.neo9.pro/content/groups/global-npm/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" dependencies: graceful-readlink ">= 1.0.0" 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" + resolved "https://repository.neo9.pro/content/groups/global-npm/common-path-prefix/-/common-path-prefix-1.0.0.tgz#cd52f6f0712e0baab97d6f9732874f22f47752c0" commondir@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + resolved "https://repository.neo9.pro/content/groups/global-npm/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" compressible@~2.0.8: version "2.0.10" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.10.tgz#feda1c7f7617912732b29bf8cf26252a20b9eecd" + resolved "https://repository.neo9.pro/content/groups/global-npm/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" + resolved "https://repository.neo9.pro/content/groups/global-npm/compression/-/compression-1.6.2.tgz#cceb121ecc9d09c52d7ad0c3350ea93ddd402bc3" dependencies: accepts "~1.3.3" bytes "2.3.0" @@ -1561,11 +1557,11 @@ compression@^1.6.2: concat-map@0.0.1: version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + resolved "https://repository.neo9.pro/content/groups/global-npm/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" concat-stream@^1.5.2: version "1.6.0" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" + resolved "https://repository.neo9.pro/content/groups/global-npm/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" dependencies: inherits "^2.0.3" readable-stream "^2.2.2" @@ -1573,14 +1569,14 @@ concat-stream@^1.5.2: config-chain@~1.1.5: version "1.1.11" - resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.11.tgz#aba09747dfbe4c3e70e766a6e41586e1859fc6f2" + resolved "https://repository.neo9.pro/content/groups/global-npm/config-chain/-/config-chain-1.1.11.tgz#aba09747dfbe4c3e70e766a6e41586e1859fc6f2" dependencies: ini "^1.3.4" proto-list "~1.2.1" configstore@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.0.tgz#45df907073e26dfa1cf4b2d52f5b60545eaa11d1" + resolved "https://repository.neo9.pro/content/groups/global-npm/configstore/-/configstore-3.1.0.tgz#45df907073e26dfa1cf4b2d52f5b60545eaa11d1" dependencies: dot-prop "^4.1.0" graceful-fs "^4.1.2" @@ -1591,7 +1587,7 @@ configstore@^3.0.0: connect@^3.6.2: version "3.6.2" - resolved "https://registry.yarnpkg.com/connect/-/connect-3.6.2.tgz#694e8d20681bfe490282c8ab886be98f09f42fe7" + resolved "https://repository.neo9.pro/content/groups/global-npm/connect/-/connect-3.6.2.tgz#694e8d20681bfe490282c8ab886be98f09f42fe7" dependencies: debug "2.6.7" finalhandler "1.0.3" @@ -1600,59 +1596,59 @@ connect@^3.6.2: console-browserify@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" + resolved "https://repository.neo9.pro/content/groups/global-npm/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" dependencies: date-now "^0.1.4" console-control-strings@^1.0.0, console-control-strings@~1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + resolved "https://repository.neo9.pro/content/groups/global-npm/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" consolidate@^0.14.0: version "0.14.5" - resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.14.5.tgz#5a25047bc76f73072667c8cb52c989888f494c63" + resolved "https://repository.neo9.pro/content/groups/global-npm/consolidate/-/consolidate-0.14.5.tgz#5a25047bc76f73072667c8cb52c989888f494c63" dependencies: bluebird "^3.1.1" constants-browserify@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + resolved "https://repository.neo9.pro/content/groups/global-npm/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" contains-path@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" + resolved "https://repository.neo9.pro/content/groups/global-npm/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" content-disposition@0.5.2: version "0.5.2" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" + resolved "https://repository.neo9.pro/content/groups/global-npm/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" content-type-parser@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/content-type-parser/-/content-type-parser-1.0.1.tgz#c3e56988c53c65127fb46d4032a3a900246fdc94" + resolved "https://repository.neo9.pro/content/groups/global-npm/content-type-parser/-/content-type-parser-1.0.1.tgz#c3e56988c53c65127fb46d4032a3a900246fdc94" content-type@~1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed" + resolved "https://repository.neo9.pro/content/groups/global-npm/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed" convert-source-map@^1.1.0, convert-source-map@^1.2.0, convert-source-map@^1.3.0: version "1.5.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" + resolved "https://repository.neo9.pro/content/groups/global-npm/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" convert-to-spaces@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/convert-to-spaces/-/convert-to-spaces-1.0.2.tgz#7e3e48bbe6d997b1417ddca2868204b4d3d85715" + resolved "https://repository.neo9.pro/content/groups/global-npm/convert-to-spaces/-/convert-to-spaces-1.0.2.tgz#7e3e48bbe6d997b1417ddca2868204b4d3d85715" cookie-signature@1.0.6: version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + resolved "https://repository.neo9.pro/content/groups/global-npm/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" cookie@0.3.1: version "0.3.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" + resolved "https://repository.neo9.pro/content/groups/global-npm/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" copy-webpack-plugin@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-4.0.1.tgz#9728e383b94316050d0c7463958f2b85c0aa8200" + resolved "https://repository.neo9.pro/content/groups/global-npm/copy-webpack-plugin/-/copy-webpack-plugin-4.0.1.tgz#9728e383b94316050d0c7463958f2b85c0aa8200" dependencies: bluebird "^2.10.2" fs-extra "^0.26.4" @@ -1665,22 +1661,22 @@ copy-webpack-plugin@^4.0.1: core-assert@^0.2.0: version "0.2.1" - resolved "https://registry.yarnpkg.com/core-assert/-/core-assert-0.2.1.tgz#f85e2cf9bfed28f773cc8b3fa5c5b69bdc02fe3f" + resolved "https://repository.neo9.pro/content/groups/global-npm/core-assert/-/core-assert-0.2.1.tgz#f85e2cf9bfed28f773cc8b3fa5c5b69bdc02fe3f" dependencies: buf-compare "^1.0.0" is-error "^2.2.0" core-js@^2.0.0, core-js@^2.4.0: version "2.4.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" + resolved "https://repository.neo9.pro/content/groups/global-npm/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" core-util-is@~1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + resolved "https://repository.neo9.pro/content/groups/global-npm/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" cosmiconfig@^2.1.0, cosmiconfig@^2.1.1: version "2.1.3" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-2.1.3.tgz#952771eb0dddc1cb3fa2f6fbe51a522e93b3ee0a" + resolved "https://repository.neo9.pro/content/groups/global-npm/cosmiconfig/-/cosmiconfig-2.1.3.tgz#952771eb0dddc1cb3fa2f6fbe51a522e93b3ee0a" dependencies: is-directory "^0.3.1" js-yaml "^3.4.3" @@ -1692,20 +1688,20 @@ cosmiconfig@^2.1.0, cosmiconfig@^2.1.1: create-ecdh@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d" + resolved "https://repository.neo9.pro/content/groups/global-npm/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d" dependencies: bn.js "^4.1.0" elliptic "^6.0.0" create-error-class@^3.0.0: version "3.0.2" - resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" + resolved "https://repository.neo9.pro/content/groups/global-npm/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" dependencies: capture-stack-trace "^1.0.0" create-hash@^1.1.0, create-hash@^1.1.1, create-hash@^1.1.2: version "1.1.3" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.3.tgz#606042ac8b9262750f483caddab0f5819172d8fd" + resolved "https://repository.neo9.pro/content/groups/global-npm/create-hash/-/create-hash-1.1.3.tgz#606042ac8b9262750f483caddab0f5819172d8fd" dependencies: cipher-base "^1.0.1" inherits "^2.0.1" @@ -1714,7 +1710,7 @@ create-hash@^1.1.0, create-hash@^1.1.1, create-hash@^1.1.2: create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: version "1.1.6" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.6.tgz#acb9e221a4e17bdb076e90657c42b93e3726cf06" + resolved "https://repository.neo9.pro/content/groups/global-npm/create-hmac/-/create-hmac-1.1.6.tgz#acb9e221a4e17bdb076e90657c42b93e3726cf06" dependencies: cipher-base "^1.0.3" create-hash "^1.1.0" @@ -1725,27 +1721,27 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: 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" + resolved "https://repository.neo9.pro/content/groups/global-npm/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" + resolved "https://repository.neo9.pro/content/groups/global-npm/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41" dependencies: lru-cache "^4.0.1" which "^1.2.9" cryptiles@2.x.x: version "2.0.5" - resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" + resolved "https://repository.neo9.pro/content/groups/global-npm/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" dependencies: 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" + resolved "https://repository.neo9.pro/content/groups/global-npm/crypto-browserify/-/crypto-browserify-3.11.0.tgz#3652a0906ab9b2a7e0c3ce66a408e957a2485522" dependencies: browserify-cipher "^1.0.0" browserify-sign "^4.0.0" @@ -1760,15 +1756,15 @@ crypto-browserify@^3.11.0: crypto-random-string@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" + resolved "https://repository.neo9.pro/content/groups/global-npm/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" css-color-names@0.0.4: version "0.0.4" - resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" + resolved "https://repository.neo9.pro/content/groups/global-npm/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" css-loader@^0.28.4: version "0.28.4" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.28.4.tgz#6cf3579192ce355e8b38d5f42dd7a1f2ec898d0f" + resolved "https://repository.neo9.pro/content/groups/global-npm/css-loader/-/css-loader-0.28.4.tgz#6cf3579192ce355e8b38d5f42dd7a1f2ec898d0f" dependencies: babel-code-frame "^6.11.0" css-selector-tokenizer "^0.7.0" @@ -1787,7 +1783,7 @@ css-loader@^0.28.4: css-select@^1.1.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" + resolved "https://repository.neo9.pro/content/groups/global-npm/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" dependencies: boolbase "~1.0.0" css-what "2.1" @@ -1796,7 +1792,7 @@ css-select@^1.1.0: css-selector-tokenizer@^0.7.0: version "0.7.0" - resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz#e6988474ae8c953477bf5e7efecfceccd9cf4c86" + resolved "https://repository.neo9.pro/content/groups/global-npm/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz#e6988474ae8c953477bf5e7efecfceccd9cf4c86" dependencies: cssesc "^0.1.0" fastparse "^1.1.1" @@ -1804,15 +1800,15 @@ css-selector-tokenizer@^0.7.0: css-what@2.1: version "2.1.0" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd" + resolved "https://repository.neo9.pro/content/groups/global-npm/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd" cssesc@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" + resolved "https://repository.neo9.pro/content/groups/global-npm/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" "cssnano@>=2.6.1 <4": version "3.10.0" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38" + resolved "https://repository.neo9.pro/content/groups/global-npm/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38" dependencies: autoprefixer "^6.3.1" decamelize "^1.1.2" @@ -1849,113 +1845,113 @@ cssesc@^0.1.0: csso@~2.3.1: version "2.3.2" - resolved "https://registry.yarnpkg.com/csso/-/csso-2.3.2.tgz#ddd52c587033f49e94b71fc55569f252e8ff5f85" + resolved "https://repository.neo9.pro/content/groups/global-npm/csso/-/csso-2.3.2.tgz#ddd52c587033f49e94b71fc55569f252e8ff5f85" dependencies: clap "^1.0.9" source-map "^0.5.3" cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": version "0.3.2" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.2.tgz#b8036170c79f07a90ff2f16e22284027a243848b" + resolved "https://repository.neo9.pro/content/groups/global-npm/cssom/-/cssom-0.3.2.tgz#b8036170c79f07a90ff2f16e22284027a243848b" "cssstyle@>= 0.2.37 < 0.3.0": version "0.2.37" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-0.2.37.tgz#541097234cb2513c83ceed3acddc27ff27987d54" + resolved "https://repository.neo9.pro/content/groups/global-npm/cssstyle/-/cssstyle-0.2.37.tgz#541097234cb2513c83ceed3acddc27ff27987d54" dependencies: cssom "0.3.x" currently-unhandled@^0.4.1: version "0.4.1" - resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + resolved "https://repository.neo9.pro/content/groups/global-npm/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" dependencies: array-find-index "^1.0.1" d@1: version "1.0.0" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" + resolved "https://repository.neo9.pro/content/groups/global-npm/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" dependencies: es5-ext "^0.10.9" dashdash@^1.12.0: version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + resolved "https://repository.neo9.pro/content/groups/global-npm/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" dependencies: assert-plus "^1.0.0" date-now@^0.1.4: version "0.1.4" - resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" + resolved "https://repository.neo9.pro/content/groups/global-npm/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" date-time@^0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/date-time/-/date-time-0.1.1.tgz#ed2f6d93d9790ce2fd66d5b5ff3edd5bbcbf3b07" + resolved "https://repository.neo9.pro/content/groups/global-npm/date-time/-/date-time-0.1.1.tgz#ed2f6d93d9790ce2fd66d5b5ff3edd5bbcbf3b07" de-indent@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" + resolved "https://repository.neo9.pro/content/groups/global-npm/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" debug-log@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/debug-log/-/debug-log-1.0.1.tgz#2307632d4c04382b8df8a32f70b895046d52745f" + resolved "https://repository.neo9.pro/content/groups/global-npm/debug-log/-/debug-log-1.0.1.tgz#2307632d4c04382b8df8a32f70b895046d52745f" debug@2.2.0, debug@~2.2.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" + resolved "https://repository.neo9.pro/content/groups/global-npm/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" dependencies: ms "0.7.1" debug@2.6.7: version "2.6.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.7.tgz#92bad1f6d05bbb6bba22cca88bcd0ec894c2861e" + resolved "https://repository.neo9.pro/content/groups/global-npm/debug/-/debug-2.6.7.tgz#92bad1f6d05bbb6bba22cca88bcd0ec894c2861e" dependencies: ms "2.0.0" 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" + resolved "https://repository.neo9.pro/content/groups/global-npm/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" dependencies: ms "2.0.0" 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" + resolved "https://repository.neo9.pro/content/groups/global-npm/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" deep-equal@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" + resolved "https://repository.neo9.pro/content/groups/global-npm/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" deep-extend@^0.4.0, deep-extend@~0.4.0: version "0.4.2" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" + resolved "https://repository.neo9.pro/content/groups/global-npm/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" deep-is@~0.1.3: version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + resolved "https://repository.neo9.pro/content/groups/global-npm/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" deepmerge@^1.3.2: version "1.3.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-1.3.2.tgz#1663691629d4dbfe364fa12a2a4f0aa86aa3a050" + resolved "https://repository.neo9.pro/content/groups/global-npm/deepmerge/-/deepmerge-1.3.2.tgz#1663691629d4dbfe364fa12a2a4f0aa86aa3a050" default-require-extensions@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8" + resolved "https://repository.neo9.pro/content/groups/global-npm/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8" dependencies: strip-bom "^2.0.0" define-properties@^1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" + resolved "https://repository.neo9.pro/content/groups/global-npm/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" dependencies: foreach "^2.0.5" object-keys "^1.0.8" defined@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" + resolved "https://repository.neo9.pro/content/groups/global-npm/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" del@^2.0.2: version "2.2.2" - resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" + resolved "https://repository.neo9.pro/content/groups/global-npm/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" dependencies: globby "^5.0.0" is-path-cwd "^1.0.0" @@ -1967,48 +1963,48 @@ del@^2.0.2: delayed-stream@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + resolved "https://repository.neo9.pro/content/groups/global-npm/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" delegates@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + resolved "https://repository.neo9.pro/content/groups/global-npm/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" depd@1.1.0, depd@~1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" + resolved "https://repository.neo9.pro/content/groups/global-npm/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" des.js@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" + resolved "https://repository.neo9.pro/content/groups/global-npm/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" dependencies: inherits "^2.0.1" minimalistic-assert "^1.0.0" destroy@~1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + resolved "https://repository.neo9.pro/content/groups/global-npm/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" detect-indent@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" + resolved "https://repository.neo9.pro/content/groups/global-npm/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" dependencies: repeating "^2.0.0" detect-indent@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" + resolved "https://repository.neo9.pro/content/groups/global-npm/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" diff-match-patch@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/diff-match-patch/-/diff-match-patch-1.0.0.tgz#1cc3c83a490d67f95d91e39f6ad1f2e086b63048" + resolved "https://repository.neo9.pro/content/groups/global-npm/diff-match-patch/-/diff-match-patch-1.0.0.tgz#1cc3c83a490d67f95d91e39f6ad1f2e086b63048" diff@^3.0.0, diff@^3.0.1: version "3.2.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.2.0.tgz#c9ce393a4b7cbd0b058a725c93df299027868ff9" + resolved "https://repository.neo9.pro/content/groups/global-npm/diff/-/diff-3.2.0.tgz#c9ce393a4b7cbd0b058a725c93df299027868ff9" diffie-hellman@^5.0.0: version "5.0.2" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.2.tgz#b5835739270cfe26acf632099fded2a07f209e5e" + resolved "https://repository.neo9.pro/content/groups/global-npm/diffie-hellman/-/diffie-hellman-5.0.2.tgz#b5835739270cfe26acf632099fded2a07f209e5e" dependencies: bn.js "^4.1.0" miller-rabin "^4.0.0" @@ -2016,98 +2012,98 @@ diffie-hellman@^5.0.0: doctrine@1.5.0: version "1.5.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" + resolved "https://repository.neo9.pro/content/groups/global-npm/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" dependencies: esutils "^2.0.2" isarray "^1.0.0" doctrine@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.0.0.tgz#c73d8d2909d22291e1a007a395804da8b665fe63" + resolved "https://repository.neo9.pro/content/groups/global-npm/doctrine/-/doctrine-2.0.0.tgz#c73d8d2909d22291e1a007a395804da8b665fe63" dependencies: esutils "^2.0.2" isarray "^1.0.0" dom-converter@~0.1: version "0.1.4" - resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.1.4.tgz#a45ef5727b890c9bffe6d7c876e7b19cb0e17f3b" + resolved "https://repository.neo9.pro/content/groups/global-npm/dom-converter/-/dom-converter-0.1.4.tgz#a45ef5727b890c9bffe6d7c876e7b19cb0e17f3b" dependencies: utila "~0.3" dom-serializer@0: version "0.1.0" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82" + resolved "https://repository.neo9.pro/content/groups/global-npm/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82" dependencies: domelementtype "~1.1.1" entities "~1.1.1" domain-browser@^1.1.1: version "1.1.7" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" + resolved "https://repository.neo9.pro/content/groups/global-npm/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" domelementtype@1, domelementtype@^1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2" + resolved "https://repository.neo9.pro/content/groups/global-npm/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2" domelementtype@~1.1.1: version "1.1.3" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" + resolved "https://repository.neo9.pro/content/groups/global-npm/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" domhandler@2.1: version "2.1.0" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.1.0.tgz#d2646f5e57f6c3bab11cf6cb05d3c0acf7412594" + resolved "https://repository.neo9.pro/content/groups/global-npm/domhandler/-/domhandler-2.1.0.tgz#d2646f5e57f6c3bab11cf6cb05d3c0acf7412594" dependencies: domelementtype "1" domhandler@^2.3.0: version "2.4.1" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.1.tgz#892e47000a99be55bbf3774ffea0561d8879c259" + resolved "https://repository.neo9.pro/content/groups/global-npm/domhandler/-/domhandler-2.4.1.tgz#892e47000a99be55bbf3774ffea0561d8879c259" dependencies: domelementtype "1" domutils@1.1: version "1.1.6" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.1.6.tgz#bddc3de099b9a2efacc51c623f28f416ecc57485" + resolved "https://repository.neo9.pro/content/groups/global-npm/domutils/-/domutils-1.1.6.tgz#bddc3de099b9a2efacc51c623f28f416ecc57485" dependencies: domelementtype "1" domutils@1.5.1: version "1.5.1" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" + resolved "https://repository.neo9.pro/content/groups/global-npm/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" dependencies: dom-serializer "0" domelementtype "1" domutils@^1.5.1: version "1.6.2" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.6.2.tgz#1958cc0b4c9426e9ed367fb1c8e854891b0fa3ff" + resolved "https://repository.neo9.pro/content/groups/global-npm/domutils/-/domutils-1.6.2.tgz#1958cc0b4c9426e9ed367fb1c8e854891b0fa3ff" dependencies: dom-serializer "0" domelementtype "1" dot-prop@^4.1.0: version "4.1.1" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.1.1.tgz#a8493f0b7b5eeec82525b5c7587fa7de7ca859c1" + resolved "https://repository.neo9.pro/content/groups/global-npm/dot-prop/-/dot-prop-4.1.1.tgz#a8493f0b7b5eeec82525b5c7587fa7de7ca859c1" dependencies: is-obj "^1.0.0" duplexer3@^0.1.4: version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" + resolved "https://repository.neo9.pro/content/groups/global-npm/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" duplexer@^0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" + resolved "https://repository.neo9.pro/content/groups/global-npm/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" ecc-jsbn@~0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" + resolved "https://repository.neo9.pro/content/groups/global-npm/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" dependencies: jsbn "~0.1.0" editorconfig@^0.13.2: version "0.13.2" - resolved "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.13.2.tgz#8e57926d9ee69ab6cb999f027c2171467acceb35" + resolved "https://repository.neo9.pro/content/groups/global-npm/editorconfig/-/editorconfig-0.13.2.tgz#8e57926d9ee69ab6cb999f027c2171467acceb35" dependencies: bluebird "^3.0.5" commander "^2.9.0" @@ -2116,19 +2112,19 @@ editorconfig@^0.13.2: ee-first@1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + resolved "https://repository.neo9.pro/content/groups/global-npm/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" ejs@^2.3.4, ejs@^2.5.6: version "2.5.6" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.6.tgz#479636bfa3fe3b1debd52087f0acb204b4f19c88" + resolved "https://repository.neo9.pro/content/groups/global-npm/ejs/-/ejs-2.5.6.tgz#479636bfa3fe3b1debd52087f0acb204b4f19c88" electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.11: version "1.3.13" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.13.tgz#1b3a5eace6e087bb5e257a100b0cbfe81b2891fc" + resolved "https://repository.neo9.pro/content/groups/global-npm/electron-to-chromium/-/electron-to-chromium-1.3.13.tgz#1b3a5eace6e087bb5e257a100b0cbfe81b2891fc" elliptic@^6.0.0: version "6.4.0" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" + resolved "https://repository.neo9.pro/content/groups/global-npm/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" dependencies: bn.js "^4.4.0" brorand "^1.0.1" @@ -2140,28 +2136,28 @@ elliptic@^6.0.0: emojis-list@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + resolved "https://repository.neo9.pro/content/groups/global-npm/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" empower-core@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/empower-core/-/empower-core-0.6.1.tgz#6c187f502fcef7554d57933396aac655483772b1" + version "0.6.2" + resolved "https://repository.neo9.pro/content/groups/global-npm/empower-core/-/empower-core-0.6.2.tgz#5adef566088e31fba80ba0a36df47d7094169144" dependencies: call-signature "0.0.2" core-js "^2.0.0" encodeurl@~1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20" + resolved "https://repository.neo9.pro/content/groups/global-npm/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20" encoding@^0.1.11: version "0.1.12" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" + resolved "https://repository.neo9.pro/content/groups/global-npm/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" dependencies: iconv-lite "~0.4.13" enhanced-resolve@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.1.0.tgz#9f4b626f577245edcf4b2ad83d86e17f4f421dec" + resolved "https://repository.neo9.pro/content/groups/global-npm/enhanced-resolve/-/enhanced-resolve-3.1.0.tgz#9f4b626f577245edcf4b2ad83d86e17f4f421dec" dependencies: graceful-fs "^4.1.2" memory-fs "^0.4.0" @@ -2170,44 +2166,44 @@ enhanced-resolve@^3.0.0: entities@^1.1.1, entities@~1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" + resolved "https://repository.neo9.pro/content/groups/global-npm/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" equal-length@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/equal-length/-/equal-length-1.0.1.tgz#21ca112d48ab24b4e1e7ffc0e5339d31fdfc274c" + resolved "https://repository.neo9.pro/content/groups/global-npm/equal-length/-/equal-length-1.0.1.tgz#21ca112d48ab24b4e1e7ffc0e5339d31fdfc274c" errno@^0.1.3: version "0.1.4" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d" + resolved "https://repository.neo9.pro/content/groups/global-npm/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d" dependencies: prr "~0.0.0" error-ex@^1.2.0: version "1.3.1" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" + resolved "https://repository.neo9.pro/content/groups/global-npm/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" dependencies: is-arrayish "^0.2.1" error-stack-parser@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.1.tgz#a3202b8fb03114aa9b40a0e3669e48b2b65a010a" + resolved "https://repository.neo9.pro/content/groups/global-npm/error-stack-parser/-/error-stack-parser-2.0.1.tgz#a3202b8fb03114aa9b40a0e3669e48b2b65a010a" dependencies: stackframe "^1.0.3" es5-ext@^0.10.14, es5-ext@^0.10.9, es5-ext@~0.10.14: - version "0.10.21" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.21.tgz#19a725f9e51d0300bbc1e8e821109fd9daf55925" + version "0.10.23" + resolved "https://repository.neo9.pro/content/groups/global-npm/es5-ext/-/es5-ext-0.10.23.tgz#7578b51be974207a5487821b56538c224e4e7b38" dependencies: es6-iterator "2" es6-symbol "~3.1" es6-error@^4.0.1, es6-error@^4.0.2: version "4.0.2" - resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.0.2.tgz#eec5c726eacef51b7f6b73c20db6e1b13b069c98" + resolved "https://repository.neo9.pro/content/groups/global-npm/es6-error/-/es6-error-4.0.2.tgz#eec5c726eacef51b7f6b73c20db6e1b13b069c98" es6-iterator@2, es6-iterator@^2.0.1, es6-iterator@~2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.1.tgz#8e319c9f0453bf575d374940a655920e59ca5512" + resolved "https://repository.neo9.pro/content/groups/global-npm/es6-iterator/-/es6-iterator-2.0.1.tgz#8e319c9f0453bf575d374940a655920e59ca5512" dependencies: d "1" es5-ext "^0.10.14" @@ -2215,7 +2211,7 @@ es6-iterator@2, es6-iterator@^2.0.1, es6-iterator@~2.0.1: es6-map@^0.1.3: version "0.1.5" - resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0" + resolved "https://repository.neo9.pro/content/groups/global-npm/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0" dependencies: d "1" es5-ext "~0.10.14" @@ -2226,7 +2222,7 @@ es6-map@^0.1.3: es6-set@~0.1.5: version "0.1.5" - resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1" + resolved "https://repository.neo9.pro/content/groups/global-npm/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1" dependencies: d "1" es5-ext "~0.10.14" @@ -2236,14 +2232,14 @@ es6-set@~0.1.5: es6-symbol@3.1.1, es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1, es6-symbol@~3.1.1: version "3.1.1" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" + resolved "https://repository.neo9.pro/content/groups/global-npm/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" dependencies: d "1" es5-ext "~0.10.14" es6-weak-map@^2.0.1: version "2.0.2" - resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f" + resolved "https://repository.neo9.pro/content/groups/global-npm/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f" dependencies: d "1" es5-ext "^0.10.14" @@ -2252,15 +2248,15 @@ es6-weak-map@^2.0.1: escape-html@~1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + resolved "https://repository.neo9.pro/content/groups/global-npm/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.4, escape-string-regexp@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + resolved "https://repository.neo9.pro/content/groups/global-npm/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" escodegen@^1.6.1: version "1.8.1" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" + resolved "https://repository.neo9.pro/content/groups/global-npm/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" dependencies: esprima "^2.7.1" estraverse "^1.9.1" @@ -2271,7 +2267,7 @@ escodegen@^1.6.1: escope@^3.6.0: version "3.6.0" - resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" + resolved "https://repository.neo9.pro/content/groups/global-npm/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" dependencies: es6-map "^0.1.3" es6-weak-map "^2.0.1" @@ -2280,11 +2276,11 @@ escope@^3.6.0: eslint-config-standard@^10.2.1: version "10.2.1" - resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-10.2.1.tgz#c061e4d066f379dc17cd562c64e819b4dd454591" + resolved "https://repository.neo9.pro/content/groups/global-npm/eslint-config-standard/-/eslint-config-standard-10.2.1.tgz#c061e4d066f379dc17cd562c64e819b4dd454591" eslint-import-resolver-node@^0.2.0: version "0.2.3" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz#5add8106e8c928db2cba232bcd9efa846e3da16c" + resolved "https://repository.neo9.pro/content/groups/global-npm/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz#5add8106e8c928db2cba232bcd9efa846e3da16c" dependencies: debug "^2.2.0" object-assign "^4.0.1" @@ -2292,20 +2288,20 @@ eslint-import-resolver-node@^0.2.0: eslint-module-utils@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.0.0.tgz#a6f8c21d901358759cdc35dbac1982ae1ee58bce" + resolved "https://repository.neo9.pro/content/groups/global-npm/eslint-module-utils/-/eslint-module-utils-2.0.0.tgz#a6f8c21d901358759cdc35dbac1982ae1ee58bce" dependencies: debug "2.2.0" pkg-dir "^1.0.0" eslint-plugin-html@^2.0.3: version "2.0.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-html/-/eslint-plugin-html-2.0.3.tgz#7c89883ab0c85fa5d28b666a14a4e906aa90b897" + resolved "https://repository.neo9.pro/content/groups/global-npm/eslint-plugin-html/-/eslint-plugin-html-2.0.3.tgz#7c89883ab0c85fa5d28b666a14a4e906aa90b897" dependencies: htmlparser2 "^3.8.2" eslint-plugin-import@^2.3.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.3.0.tgz#37c801e0ada0e296cbdf20c3f393acb5b52af36b" + resolved "https://repository.neo9.pro/content/groups/global-npm/eslint-plugin-import/-/eslint-plugin-import-2.3.0.tgz#37c801e0ada0e296cbdf20c3f393acb5b52af36b" dependencies: builtin-modules "^1.1.1" contains-path "^0.1.0" @@ -2318,27 +2314,26 @@ eslint-plugin-import@^2.3.0: minimatch "^3.0.3" read-pkg-up "^2.0.0" -eslint-plugin-node@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-4.2.2.tgz#82959ca9aed79fcbd28bb1b188d05cac04fb3363" +eslint-plugin-node@^5.0.0: + version "5.0.0" + resolved "https://repository.neo9.pro/content/groups/global-npm/eslint-plugin-node/-/eslint-plugin-node-5.0.0.tgz#948b1fb82e3f0a744e86fad19aa4f49537d246cc" dependencies: - ignore "^3.0.11" - minimatch "^3.0.2" - object-assign "^4.0.1" - resolve "^1.1.7" + ignore "^3.3.3" + minimatch "^3.0.4" + resolve "^1.3.3" semver "5.3.0" eslint-plugin-promise@^3.5.0: version "3.5.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-3.5.0.tgz#78fbb6ffe047201627569e85a6c5373af2a68fca" + resolved "https://repository.neo9.pro/content/groups/global-npm/eslint-plugin-promise/-/eslint-plugin-promise-3.5.0.tgz#78fbb6ffe047201627569e85a6c5373af2a68fca" eslint-plugin-standard@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-3.0.1.tgz#34d0c915b45edc6f010393c7eef3823b08565cf2" + resolved "https://repository.neo9.pro/content/groups/global-npm/eslint-plugin-standard/-/eslint-plugin-standard-3.0.1.tgz#34d0c915b45edc6f010393c7eef3823b08565cf2" eslint@^3.19.0: version "3.19.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc" + resolved "https://repository.neo9.pro/content/groups/global-npm/eslint/-/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc" dependencies: babel-code-frame "^6.16.0" chalk "^1.1.3" @@ -2378,7 +2373,7 @@ eslint@^3.19.0: espower-location-detector@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/espower-location-detector/-/espower-location-detector-1.0.0.tgz#a17b7ecc59d30e179e2bef73fb4137704cb331b5" + resolved "https://repository.neo9.pro/content/groups/global-npm/espower-location-detector/-/espower-location-detector-1.0.0.tgz#a17b7ecc59d30e179e2bef73fb4137704cb331b5" dependencies: is-url "^1.2.1" path-is-absolute "^1.0.0" @@ -2387,78 +2382,78 @@ espower-location-detector@^1.0.0: espree@^3.4.0: version "3.4.3" - resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.3.tgz#2910b5ccd49ce893c2ffffaab4fd8b3a31b82374" + resolved "https://repository.neo9.pro/content/groups/global-npm/espree/-/espree-3.4.3.tgz#2910b5ccd49ce893c2ffffaab4fd8b3a31b82374" dependencies: acorn "^5.0.1" acorn-jsx "^3.0.0" esprima@^2.6.0, esprima@^2.7.1: version "2.7.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" + resolved "https://repository.neo9.pro/content/groups/global-npm/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" esprima@^3.1.1: version "3.1.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" + resolved "https://repository.neo9.pro/content/groups/global-npm/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" espurify@^1.6.0: version "1.7.0" - resolved "https://registry.yarnpkg.com/espurify/-/espurify-1.7.0.tgz#1c5cf6cbccc32e6f639380bd4f991fab9ba9d226" + resolved "https://repository.neo9.pro/content/groups/global-npm/espurify/-/espurify-1.7.0.tgz#1c5cf6cbccc32e6f639380bd4f991fab9ba9d226" dependencies: core-js "^2.0.0" esquery@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa" + resolved "https://repository.neo9.pro/content/groups/global-npm/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa" dependencies: estraverse "^4.0.0" esrecurse@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.1.0.tgz#4713b6536adf7f2ac4f327d559e7756bff648220" + resolved "https://repository.neo9.pro/content/groups/global-npm/esrecurse/-/esrecurse-4.1.0.tgz#4713b6536adf7f2ac4f327d559e7756bff648220" dependencies: estraverse "~4.1.0" object-assign "^4.0.1" estraverse@^1.9.1: version "1.9.3" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" + resolved "https://repository.neo9.pro/content/groups/global-npm/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" estraverse@^4.0.0, estraverse@^4.1.1, estraverse@^4.2.0: version "4.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + resolved "https://repository.neo9.pro/content/groups/global-npm/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" estraverse@~4.1.0: version "4.1.1" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.1.1.tgz#f6caca728933a850ef90661d0e17982ba47111a2" + resolved "https://repository.neo9.pro/content/groups/global-npm/estraverse/-/estraverse-4.1.1.tgz#f6caca728933a850ef90661d0e17982ba47111a2" esutils@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + resolved "https://repository.neo9.pro/content/groups/global-npm/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" etag@^1.8.0, etag@~1.8.0: version "1.8.0" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.0.tgz#6f631aef336d6c46362b51764044ce216be3c051" + resolved "https://repository.neo9.pro/content/groups/global-npm/etag/-/etag-1.8.0.tgz#6f631aef336d6c46362b51764044ce216be3c051" event-emitter@~0.3.5: version "0.3.5" - resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" + resolved "https://repository.neo9.pro/content/groups/global-npm/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" dependencies: d "1" es5-ext "~0.10.14" events@^1.0.0: version "1.1.1" - resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" + resolved "https://repository.neo9.pro/content/groups/global-npm/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" evp_bytestokey@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz#497b66ad9fef65cd7c08a6180824ba1476b66e53" + resolved "https://repository.neo9.pro/content/groups/global-npm/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz#497b66ad9fef65cd7c08a6180824ba1476b66e53" 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" + resolved "https://repository.neo9.pro/content/groups/global-npm/execa/-/execa-0.4.0.tgz#4eb6467a36a095fabb2970ff9d5e3fb7bce6ebc3" dependencies: cross-spawn-async "^2.1.1" is-stream "^1.1.0" @@ -2469,7 +2464,7 @@ execa@^0.4.0: execa@^0.5.0: version "0.5.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.5.1.tgz#de3fb85cb8d6e91c85bcbceb164581785cb57b36" + resolved "https://repository.neo9.pro/content/groups/global-npm/execa/-/execa-0.5.1.tgz#de3fb85cb8d6e91c85bcbceb164581785cb57b36" dependencies: cross-spawn "^4.0.0" get-stream "^2.2.0" @@ -2481,23 +2476,23 @@ execa@^0.5.0: exit-hook@^1.0.0: version "1.1.1" - resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" + resolved "https://repository.neo9.pro/content/groups/global-npm/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" expand-brackets@^0.1.4: version "0.1.5" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + resolved "https://repository.neo9.pro/content/groups/global-npm/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" dependencies: is-posix-bracket "^0.1.0" expand-range@^1.8.1: version "1.8.2" - resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + resolved "https://repository.neo9.pro/content/groups/global-npm/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" dependencies: fill-range "^2.1.0" express@^4.15.2: version "4.15.3" - resolved "https://registry.yarnpkg.com/express/-/express-4.15.3.tgz#bab65d0f03aa80c358408972fc700f916944b662" + resolved "https://repository.neo9.pro/content/groups/global-npm/express/-/express-4.15.3.tgz#bab65d0f03aa80c358408972fc700f916944b662" dependencies: accepts "~1.3.3" array-flatten "1.1.1" @@ -2530,11 +2525,11 @@ express@^4.15.2: extend@~3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" + resolved "https://repository.neo9.pro/content/groups/global-npm/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" external-editor@^2.0.1: version "2.0.4" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.0.4.tgz#1ed9199da9cbfe2ef2f7a31b2fde8b0d12368972" + resolved "https://repository.neo9.pro/content/groups/global-npm/external-editor/-/external-editor-2.0.4.tgz#1ed9199da9cbfe2ef2f7a31b2fde8b0d12368972" dependencies: iconv-lite "^0.4.17" jschardet "^1.4.2" @@ -2542,13 +2537,13 @@ external-editor@^2.0.1: extglob@^0.3.1: version "0.3.2" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + resolved "https://repository.neo9.pro/content/groups/global-npm/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" dependencies: is-extglob "^1.0.0" extract-text-webpack-plugin@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/extract-text-webpack-plugin/-/extract-text-webpack-plugin-2.1.0.tgz#69315b885f876dbf96d3819f6a9f1cca7aebf159" + resolved "https://repository.neo9.pro/content/groups/global-npm/extract-text-webpack-plugin/-/extract-text-webpack-plugin-2.1.0.tgz#69315b885f876dbf96d3819f6a9f1cca7aebf159" dependencies: ajv "^4.11.2" async "^2.1.2" @@ -2557,53 +2552,53 @@ extract-text-webpack-plugin@^2.1.0: extsprintf@1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" + resolved "https://repository.neo9.pro/content/groups/global-npm/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" fast-levenshtein@~2.0.4: version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + resolved "https://repository.neo9.pro/content/groups/global-npm/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" fastparse@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8" + resolved "https://repository.neo9.pro/content/groups/global-npm/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8" figures@^1.3.5: version "1.7.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" + resolved "https://repository.neo9.pro/content/groups/global-npm/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" dependencies: escape-string-regexp "^1.0.5" object-assign "^4.1.0" figures@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + resolved "https://repository.neo9.pro/content/groups/global-npm/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" dependencies: escape-string-regexp "^1.0.5" file-entry-cache@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" + resolved "https://repository.neo9.pro/content/groups/global-npm/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" dependencies: flat-cache "^1.2.1" object-assign "^4.0.1" -file-loader@^0.11.1: - version "0.11.1" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-0.11.1.tgz#6b328ee1234a729e4e47d36375dd6d35c0e1db84" +file-loader@^0.11.2: + version "0.11.2" + resolved "https://repository.neo9.pro/content/groups/global-npm/file-loader/-/file-loader-0.11.2.tgz#4ff1df28af38719a6098093b88c82c71d1794a34" dependencies: loader-utils "^1.0.2" filename-regex@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" + resolved "https://repository.neo9.pro/content/groups/global-npm/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" filesize@^3.5.9: version "3.5.10" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.5.10.tgz#fc8fa23ddb4ef9e5e0ab6e1e64f679a24a56761f" + resolved "https://repository.neo9.pro/content/groups/global-npm/filesize/-/filesize-3.5.10.tgz#fc8fa23ddb4ef9e5e0ab6e1e64f679a24a56761f" fill-range@^2.1.0: version "2.2.3" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" + resolved "https://repository.neo9.pro/content/groups/global-npm/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" dependencies: is-number "^2.1.0" isobject "^2.0.0" @@ -2613,7 +2608,7 @@ fill-range@^2.1.0: finalhandler@1.0.3, finalhandler@^1.0.3, finalhandler@~1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.0.3.tgz#ef47e77950e999780e86022a560e3217e0d0cc89" + resolved "https://repository.neo9.pro/content/groups/global-npm/finalhandler/-/finalhandler-1.0.3.tgz#ef47e77950e999780e86022a560e3217e0d0cc89" dependencies: debug "2.6.7" encodeurl "~1.0.1" @@ -2625,28 +2620,28 @@ finalhandler@1.0.3, finalhandler@^1.0.3, finalhandler@~1.0.3: find-cache-dir@^0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" + resolved "https://repository.neo9.pro/content/groups/global-npm/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" dependencies: commondir "^1.0.1" mkdirp "^0.5.1" pkg-dir "^1.0.0" -find-up@^1.0.0, find-up@^1.1.2: +find-up@^1.0.0: version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + resolved "https://repository.neo9.pro/content/groups/global-npm/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" dependencies: path-exists "^2.0.0" pinkie-promise "^2.0.0" -find-up@^2.0.0: +find-up@^2.0.0, find-up@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + resolved "https://repository.neo9.pro/content/groups/global-npm/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" dependencies: locate-path "^2.0.0" flat-cache@^1.2.1: version "1.2.2" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96" + resolved "https://repository.neo9.pro/content/groups/global-npm/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96" dependencies: circular-json "^0.3.1" del "^2.0.2" @@ -2655,40 +2650,40 @@ flat-cache@^1.2.1: flatten@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" + resolved "https://repository.neo9.pro/content/groups/global-npm/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" fn-name@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/fn-name/-/fn-name-2.0.1.tgz#5214d7537a4d06a4a301c0cc262feb84188002e7" + resolved "https://repository.neo9.pro/content/groups/global-npm/fn-name/-/fn-name-2.0.1.tgz#5214d7537a4d06a4a301c0cc262feb84188002e7" for-in@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + resolved "https://repository.neo9.pro/content/groups/global-npm/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" for-own@^0.1.4: version "0.1.5" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" + resolved "https://repository.neo9.pro/content/groups/global-npm/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" dependencies: for-in "^1.0.1" foreach@^2.0.5: version "2.0.5" - resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" + resolved "https://repository.neo9.pro/content/groups/global-npm/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" -foreground-child@^1.3.3, foreground-child@^1.5.3: +foreground-child@^1.5.3, foreground-child@^1.5.6: version "1.5.6" - resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-1.5.6.tgz#4fd71ad2dfde96789b980a5c0a295937cb2f5ce9" + resolved "https://repository.neo9.pro/content/groups/global-npm/foreground-child/-/foreground-child-1.5.6.tgz#4fd71ad2dfde96789b980a5c0a295937cb2f5ce9" dependencies: cross-spawn "^4" signal-exit "^3.0.0" forever-agent@~0.6.1: version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + resolved "https://repository.neo9.pro/content/groups/global-npm/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" form-data@~2.1.1: version "2.1.4" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" + resolved "https://repository.neo9.pro/content/groups/global-npm/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" dependencies: asynckit "^0.4.0" combined-stream "^1.0.5" @@ -2696,15 +2691,15 @@ form-data@~2.1.1: forwarded@~0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.0.tgz#19ef9874c4ae1c297bcf078fde63a09b66a84363" + resolved "https://repository.neo9.pro/content/groups/global-npm/forwarded/-/forwarded-0.1.0.tgz#19ef9874c4ae1c297bcf078fde63a09b66a84363" fresh@0.5.0, fresh@^0.5.0: version "0.5.0" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.0.tgz#f474ca5e6a9246d6fd8e0953cfa9b9c805afa78e" + resolved "https://repository.neo9.pro/content/groups/global-npm/fresh/-/fresh-0.5.0.tgz#f474ca5e6a9246d6fd8e0953cfa9b9c805afa78e" friendly-errors-webpack-plugin@^1.6.1: version "1.6.1" - resolved "https://registry.yarnpkg.com/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.6.1.tgz#e32781c4722f546a06a9b5d7a7cfa28520375d70" + resolved "https://repository.neo9.pro/content/groups/global-npm/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.6.1.tgz#e32781c4722f546a06a9b5d7a7cfa28520375d70" dependencies: chalk "^1.1.3" error-stack-parser "^2.0.0" @@ -2712,7 +2707,7 @@ friendly-errors-webpack-plugin@^1.6.1: fs-extra@^0.26.4: version "0.26.7" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.26.7.tgz#9ae1fdd94897798edab76d0918cf42d0c3184fa9" + resolved "https://repository.neo9.pro/content/groups/global-npm/fs-extra/-/fs-extra-0.26.7.tgz#9ae1fdd94897798edab76d0918cf42d0c3184fa9" dependencies: graceful-fs "^4.1.2" jsonfile "^2.1.0" @@ -2722,7 +2717,7 @@ fs-extra@^0.26.4: fs-extra@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-3.0.1.tgz#3794f378c58b342ea7dbbb23095109c4b3b62291" + resolved "https://repository.neo9.pro/content/groups/global-npm/fs-extra/-/fs-extra-3.0.1.tgz#3794f378c58b342ea7dbbb23095109c4b3b62291" dependencies: graceful-fs "^4.1.2" jsonfile "^3.0.0" @@ -2730,18 +2725,18 @@ fs-extra@^3.0.1: fs.realpath@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + resolved "https://repository.neo9.pro/content/groups/global-npm/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" fsevents@^1.0.0: version "1.1.1" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.1.tgz#f19fd28f43eeaf761680e519a203c4d0b3d31aff" + resolved "https://repository.neo9.pro/content/groups/global-npm/fsevents/-/fsevents-1.1.1.tgz#f19fd28f43eeaf761680e519a203c4d0b3d31aff" dependencies: nan "^2.3.0" node-pre-gyp "^0.6.29" fstream-ignore@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" + resolved "https://repository.neo9.pro/content/groups/global-npm/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" dependencies: fstream "^1.0.0" inherits "2" @@ -2749,7 +2744,7 @@ fstream-ignore@^1.0.5: fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: version "1.0.11" - resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" + resolved "https://repository.neo9.pro/content/groups/global-npm/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" dependencies: graceful-fs "^4.1.2" inherits "~2.0.0" @@ -2758,11 +2753,11 @@ fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: function-bind@^1.0.2, function-bind@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" + resolved "https://repository.neo9.pro/content/groups/global-npm/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" gauge@~2.7.3: version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + resolved "https://repository.neo9.pro/content/groups/global-npm/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" dependencies: aproba "^1.0.3" console-control-strings "^1.0.0" @@ -2775,59 +2770,59 @@ gauge@~2.7.3: generate-function@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" + resolved "https://repository.neo9.pro/content/groups/global-npm/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" generate-object-property@^1.1.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" + resolved "https://repository.neo9.pro/content/groups/global-npm/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" dependencies: is-property "^1.0.0" get-caller-file@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" + resolved "https://repository.neo9.pro/content/groups/global-npm/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" get-port@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.1.0.tgz#ef01b18a84ca6486970ff99e54446141a73ffd3e" + resolved "https://repository.neo9.pro/content/groups/global-npm/get-port/-/get-port-3.1.0.tgz#ef01b18a84ca6486970ff99e54446141a73ffd3e" get-stdin@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + resolved "https://repository.neo9.pro/content/groups/global-npm/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" get-stream@^2.2.0: version "2.3.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de" + resolved "https://repository.neo9.pro/content/groups/global-npm/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de" dependencies: object-assign "^4.0.1" pinkie-promise "^2.0.0" get-stream@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + resolved "https://repository.neo9.pro/content/groups/global-npm/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" getpass@^0.1.1: version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + resolved "https://repository.neo9.pro/content/groups/global-npm/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" dependencies: assert-plus "^1.0.0" glob-base@^0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + resolved "https://repository.neo9.pro/content/groups/global-npm/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" dependencies: glob-parent "^2.0.0" is-glob "^2.0.0" glob-parent@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + resolved "https://repository.neo9.pro/content/groups/global-npm/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" dependencies: is-glob "^2.0.0" glob@^6.0.4: version "6.0.4" - resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" + resolved "https://repository.neo9.pro/content/groups/global-npm/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" dependencies: inflight "^1.0.4" inherits "2" @@ -2837,7 +2832,7 @@ glob@^6.0.4: glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.2: version "7.1.2" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" + resolved "https://repository.neo9.pro/content/groups/global-npm/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -2848,11 +2843,11 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.2: globals@^9.0.0, globals@^9.14.0: version "9.17.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-9.17.0.tgz#0c0ca696d9b9bb694d2e5470bd37777caad50286" + resolved "https://repository.neo9.pro/content/groups/global-npm/globals/-/globals-9.17.0.tgz#0c0ca696d9b9bb694d2e5470bd37777caad50286" globby@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" + resolved "https://repository.neo9.pro/content/groups/global-npm/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" dependencies: array-union "^1.0.1" arrify "^1.0.0" @@ -2863,7 +2858,7 @@ globby@^5.0.0: globby@^6.0.0: version "6.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + resolved "https://repository.neo9.pro/content/groups/global-npm/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" dependencies: array-union "^1.0.1" glob "^7.0.3" @@ -2873,7 +2868,7 @@ globby@^6.0.0: got@^6.7.1: version "6.7.1" - resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" + resolved "https://repository.neo9.pro/content/groups/global-npm/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" dependencies: create-error-class "^3.0.0" duplexer3 "^0.1.4" @@ -2889,21 +2884,21 @@ got@^6.7.1: graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: version "4.1.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + resolved "https://repository.neo9.pro/content/groups/global-npm/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" "graceful-readlink@>= 1.0.0": version "1.0.1" - resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + resolved "https://repository.neo9.pro/content/groups/global-npm/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" gzip-size@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-3.0.0.tgz#546188e9bdc337f673772f81660464b389dce520" + resolved "https://repository.neo9.pro/content/groups/global-npm/gzip-size/-/gzip-size-3.0.0.tgz#546188e9bdc337f673772f81660464b389dce520" dependencies: duplexer "^0.1.1" handlebars@^4.0.3: version "4.0.10" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.10.tgz#3d30c718b09a3d96f23ea4cc1f403c4d3ba9ff4f" + resolved "https://repository.neo9.pro/content/groups/global-npm/handlebars/-/handlebars-4.0.10.tgz#3d30c718b09a3d96f23ea4cc1f403c4d3ba9ff4f" dependencies: async "^1.4.0" optimist "^0.6.1" @@ -2913,11 +2908,11 @@ handlebars@^4.0.3: har-schema@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" + resolved "https://repository.neo9.pro/content/groups/global-npm/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" har-validator@~2.0.6: version "2.0.6" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" + resolved "https://repository.neo9.pro/content/groups/global-npm/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" dependencies: chalk "^1.1.1" commander "^2.9.0" @@ -2926,62 +2921,62 @@ har-validator@~2.0.6: har-validator@~4.2.1: version "4.2.1" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" + resolved "https://repository.neo9.pro/content/groups/global-npm/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" dependencies: ajv "^4.9.1" har-schema "^1.0.5" has-ansi@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + resolved "https://repository.neo9.pro/content/groups/global-npm/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" dependencies: ansi-regex "^2.0.0" has-color@~0.1.0: version "0.1.7" - resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" + resolved "https://repository.neo9.pro/content/groups/global-npm/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" has-flag@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + resolved "https://repository.neo9.pro/content/groups/global-npm/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" has-flag@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" + resolved "https://repository.neo9.pro/content/groups/global-npm/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" has-unicode@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + resolved "https://repository.neo9.pro/content/groups/global-npm/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" has-yarn@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-1.0.0.tgz#89e25db604b725c8f5976fff0addc921b828a5a7" + resolved "https://repository.neo9.pro/content/groups/global-npm/has-yarn/-/has-yarn-1.0.0.tgz#89e25db604b725c8f5976fff0addc921b828a5a7" has@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" + resolved "https://repository.neo9.pro/content/groups/global-npm/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" dependencies: function-bind "^1.0.2" hash-base@^2.0.0: version "2.0.2" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-2.0.2.tgz#66ea1d856db4e8a5470cadf6fce23ae5244ef2e1" + resolved "https://repository.neo9.pro/content/groups/global-npm/hash-base/-/hash-base-2.0.2.tgz#66ea1d856db4e8a5470cadf6fce23ae5244ef2e1" dependencies: inherits "^2.0.1" hash-sum@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04" + resolved "https://repository.neo9.pro/content/groups/global-npm/hash-sum/-/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04" hash.js@^1.0.0, hash.js@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.0.3.tgz#1332ff00156c0a0ffdd8236013d07b77a0451573" + resolved "https://repository.neo9.pro/content/groups/global-npm/hash.js/-/hash.js-1.0.3.tgz#1332ff00156c0a0ffdd8236013d07b77a0451573" dependencies: inherits "^2.0.1" hawk@~3.1.3: version "3.1.3" - resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" + resolved "https://repository.neo9.pro/content/groups/global-npm/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" dependencies: boom "2.x.x" cryptiles "2.x.x" @@ -2990,11 +2985,11 @@ hawk@~3.1.3: he@1.1.x, he@^1.1.0: version "1.1.1" - resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" + resolved "https://repository.neo9.pro/content/groups/global-npm/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" hmac-drbg@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + resolved "https://repository.neo9.pro/content/groups/global-npm/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" dependencies: hash.js "^1.0.3" minimalistic-assert "^1.0.0" @@ -3002,36 +2997,36 @@ hmac-drbg@^1.0.0: hoek@2.x.x: version "2.16.3" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" + resolved "https://repository.neo9.pro/content/groups/global-npm/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" home-or-tmp@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" + resolved "https://repository.neo9.pro/content/groups/global-npm/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" dependencies: os-homedir "^1.0.0" os-tmpdir "^1.0.1" hosted-git-info@^2.1.4: version "2.4.2" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.4.2.tgz#0076b9f46a270506ddbaaea56496897460612a67" + resolved "https://repository.neo9.pro/content/groups/global-npm/hosted-git-info/-/hosted-git-info-2.4.2.tgz#0076b9f46a270506ddbaaea56496897460612a67" html-comment-regex@^1.1.0: version "1.1.1" - resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.1.tgz#668b93776eaae55ebde8f3ad464b307a4963625e" + resolved "https://repository.neo9.pro/content/groups/global-npm/html-comment-regex/-/html-comment-regex-1.1.1.tgz#668b93776eaae55ebde8f3ad464b307a4963625e" html-encoding-sniffer@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.1.tgz#79bf7a785ea495fe66165e734153f363ff5437da" + resolved "https://repository.neo9.pro/content/groups/global-npm/html-encoding-sniffer/-/html-encoding-sniffer-1.0.1.tgz#79bf7a785ea495fe66165e734153f363ff5437da" dependencies: whatwg-encoding "^1.0.1" html-entities@^1.2.0: version "1.2.1" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" + resolved "https://repository.neo9.pro/content/groups/global-npm/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" html-minifier@^3.2.3, html-minifier@^3.5.2: version "3.5.2" - resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.2.tgz#d73bc3ff448942408818ce609bf3fb0ea7ef4eb7" + resolved "https://repository.neo9.pro/content/groups/global-npm/html-minifier/-/html-minifier-3.5.2.tgz#d73bc3ff448942408818ce609bf3fb0ea7ef4eb7" dependencies: camel-case "3.0.x" clean-css "4.1.x" @@ -3044,7 +3039,7 @@ html-minifier@^3.2.3, html-minifier@^3.5.2: html-webpack-plugin@^2.28.0: version "2.28.0" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-2.28.0.tgz#2e7863b57e5fd48fe263303e2ffc934c3064d009" + resolved "https://repository.neo9.pro/content/groups/global-npm/html-webpack-plugin/-/html-webpack-plugin-2.28.0.tgz#2e7863b57e5fd48fe263303e2ffc934c3064d009" dependencies: bluebird "^3.4.7" html-minifier "^3.2.3" @@ -3055,7 +3050,7 @@ html-webpack-plugin@^2.28.0: htmlparser2@^3.8.2: version "3.9.2" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.9.2.tgz#1bdf87acca0f3f9e53fa4fcceb0f4b4cbb00b338" + resolved "https://repository.neo9.pro/content/groups/global-npm/htmlparser2/-/htmlparser2-3.9.2.tgz#1bdf87acca0f3f9e53fa4fcceb0f4b4cbb00b338" dependencies: domelementtype "^1.3.0" domhandler "^2.3.0" @@ -3066,7 +3061,7 @@ htmlparser2@^3.8.2: htmlparser2@~3.3.0: version "3.3.0" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.3.0.tgz#cc70d05a59f6542e43f0e685c982e14c924a9efe" + resolved "https://repository.neo9.pro/content/groups/global-npm/htmlparser2/-/htmlparser2-3.3.0.tgz#cc70d05a59f6542e43f0e685c982e14c924a9efe" dependencies: domelementtype "1" domhandler "2.1" @@ -3075,7 +3070,7 @@ htmlparser2@~3.3.0: http-errors@~1.6.1: version "1.6.1" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.1.tgz#5f8b8ed98aca545656bf572997387f904a722257" + resolved "https://repository.neo9.pro/content/groups/global-npm/http-errors/-/http-errors-1.6.1.tgz#5f8b8ed98aca545656bf572997387f904a722257" dependencies: depd "1.1.0" inherits "2.0.3" @@ -3084,7 +3079,7 @@ http-errors@~1.6.1: http-signature@~1.1.0: version "1.1.1" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" + resolved "https://repository.neo9.pro/content/groups/global-npm/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" dependencies: assert-plus "^0.2.0" jsprim "^1.2.2" @@ -3092,11 +3087,11 @@ http-signature@~1.1.0: https-browserify@0.0.1: version "0.0.1" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82" + resolved "https://repository.neo9.pro/content/groups/global-npm/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82" hullabaloo-config-manager@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hullabaloo-config-manager/-/hullabaloo-config-manager-1.0.1.tgz#c72be7ba249a67c99b6ba3eb1f55837fa01acd8f" + version "1.1.1" + resolved "https://repository.neo9.pro/content/groups/global-npm/hullabaloo-config-manager/-/hullabaloo-config-manager-1.1.1.tgz#1d9117813129ad035fd9e8477eaf066911269fe3" dependencies: dot-prop "^4.1.0" es6-error "^4.0.2" @@ -3109,83 +3104,84 @@ hullabaloo-config-manager@^1.0.0: lodash.merge "^4.6.0" md5-hex "^2.0.0" package-hash "^2.0.0" - pkg-dir "^1.0.0" - resolve-from "^2.0.0" + pkg-dir "^2.0.0" + resolve-from "^3.0.0" + safe-buffer "^5.0.1" iconv-lite@0.4.13: version "0.4.13" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" + resolved "https://repository.neo9.pro/content/groups/global-npm/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" iconv-lite@^0.4.17, iconv-lite@~0.4.13: version "0.4.17" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.17.tgz#4fdaa3b38acbc2c031b045d0edcdfe1ecab18c8d" + resolved "https://repository.neo9.pro/content/groups/global-npm/iconv-lite/-/iconv-lite-0.4.17.tgz#4fdaa3b38acbc2c031b045d0edcdfe1ecab18c8d" icss-replace-symbols@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" + resolved "https://repository.neo9.pro/content/groups/global-npm/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" icss-utils@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-2.1.0.tgz#83f0a0ec378bf3246178b6c2ad9136f135b1c962" + resolved "https://repository.neo9.pro/content/groups/global-npm/icss-utils/-/icss-utils-2.1.0.tgz#83f0a0ec378bf3246178b6c2ad9136f135b1c962" dependencies: postcss "^6.0.1" ieee754@^1.1.4: version "1.1.8" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" + resolved "https://repository.neo9.pro/content/groups/global-npm/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" ignore-by-default@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" + resolved "https://repository.neo9.pro/content/groups/global-npm/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" -ignore@^3.0.11, ignore@^3.2.0: +ignore@^3.2.0, ignore@^3.3.3: version "3.3.3" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.3.tgz#432352e57accd87ab3110e82d3fea0e47812156d" + resolved "https://repository.neo9.pro/content/groups/global-npm/ignore/-/ignore-3.3.3.tgz#432352e57accd87ab3110e82d3fea0e47812156d" imurmurhash@^0.1.4: version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + resolved "https://repository.neo9.pro/content/groups/global-npm/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" indent-string@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + resolved "https://repository.neo9.pro/content/groups/global-npm/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" dependencies: repeating "^2.0.0" indent-string@^3.0.0, indent-string@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.1.0.tgz#08ff4334603388399b329e6b9538dc7a3cf5de7d" + resolved "https://repository.neo9.pro/content/groups/global-npm/indent-string/-/indent-string-3.1.0.tgz#08ff4334603388399b329e6b9538dc7a3cf5de7d" indexes-of@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + resolved "https://repository.neo9.pro/content/groups/global-npm/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" indexof@0.0.1: version "0.0.1" - resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" + resolved "https://repository.neo9.pro/content/groups/global-npm/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" inflight@^1.0.4: version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + resolved "https://repository.neo9.pro/content/groups/global-npm/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" dependencies: once "^1.3.0" wrappy "1" inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1: version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + resolved "https://repository.neo9.pro/content/groups/global-npm/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" inherits@2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + resolved "https://repository.neo9.pro/content/groups/global-npm/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" ini@^1.3.4, ini@~1.3.0: version "1.3.4" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" + resolved "https://repository.neo9.pro/content/groups/global-npm/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" inquirer@3.0.6: version "3.0.6" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.0.6.tgz#e04aaa9d05b7a3cb9b0f407d04375f0447190347" + resolved "https://repository.neo9.pro/content/groups/global-npm/inquirer/-/inquirer-3.0.6.tgz#e04aaa9d05b7a3cb9b0f407d04375f0447190347" dependencies: ansi-escapes "^1.1.0" chalk "^1.0.0" @@ -3203,7 +3199,7 @@ inquirer@3.0.6: inquirer@^0.12.0: version "0.12.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" + resolved "https://repository.neo9.pro/content/groups/global-npm/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" dependencies: ansi-escapes "^1.1.0" ansi-regex "^2.0.0" @@ -3221,121 +3217,121 @@ inquirer@^0.12.0: interpret@^1.0.0: version "1.0.3" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.3.tgz#cbc35c62eeee73f19ab7b10a801511401afc0f90" + resolved "https://repository.neo9.pro/content/groups/global-npm/interpret/-/interpret-1.0.3.tgz#cbc35c62eeee73f19ab7b10a801511401afc0f90" invariant@^2.2.0, invariant@^2.2.2: version "2.2.2" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" + resolved "https://repository.neo9.pro/content/groups/global-npm/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" dependencies: loose-envify "^1.0.0" invert-kv@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + resolved "https://repository.neo9.pro/content/groups/global-npm/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" ipaddr.js@1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.3.0.tgz#1e03a52fdad83a8bbb2b25cbf4998b4cffcd3dec" + resolved "https://repository.neo9.pro/content/groups/global-npm/ipaddr.js/-/ipaddr.js-1.3.0.tgz#1e03a52fdad83a8bbb2b25cbf4998b4cffcd3dec" irregular-plurals@^1.0.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/irregular-plurals/-/irregular-plurals-1.2.0.tgz#38f299834ba8c00c30be9c554e137269752ff3ac" + resolved "https://repository.neo9.pro/content/groups/global-npm/irregular-plurals/-/irregular-plurals-1.2.0.tgz#38f299834ba8c00c30be9c554e137269752ff3ac" is-absolute-url@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" is-arrayish@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" is-binary-path@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" dependencies: binary-extensions "^1.0.0" is-buffer@^1.1.5: version "1.1.5" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc" is-builtin-module@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" dependencies: builtin-modules "^1.0.0" is-ci@^1.0.7: version "1.0.10" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.0.10.tgz#f739336b2632365061a9d48270cd56ae3369318e" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-ci/-/is-ci-1.0.10.tgz#f739336b2632365061a9d48270cd56ae3369318e" dependencies: ci-info "^1.0.0" is-directory@^0.3.1: version "0.3.1" - resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" is-dotfile@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d" + version "1.0.3" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" is-equal-shallow@^0.1.3: version "0.1.3" - resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" dependencies: is-primitive "^2.0.0" is-error@^2.2.0: version "2.2.1" - resolved "https://registry.yarnpkg.com/is-error/-/is-error-2.2.1.tgz#684a96d84076577c98f4cdb40c6d26a5123bf19c" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-error/-/is-error-2.2.1.tgz#684a96d84076577c98f4cdb40c6d26a5123bf19c" is-extendable@^0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" is-extglob@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" is-extglob@^2.1.0: version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" is-finite@^1.0.0, is-finite@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" dependencies: number-is-nan "^1.0.0" is-fullwidth-code-point@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" dependencies: number-is-nan "^1.0.0" is-fullwidth-code-point@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" is-generator-fn@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-1.0.0.tgz#969d49e1bb3329f6bb7f09089be26578b2ddd46a" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-generator-fn/-/is-generator-fn-1.0.0.tgz#969d49e1bb3329f6bb7f09089be26578b2ddd46a" is-glob@^2.0.0, is-glob@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" dependencies: is-extglob "^1.0.0" is-glob@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" dependencies: is-extglob "^2.1.0" is-my-json-valid@^2.10.0, is-my-json-valid@^2.12.4: version "2.16.0" - resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693" dependencies: generate-function "^2.0.0" generate-object-property "^1.1.0" @@ -3344,131 +3340,131 @@ is-my-json-valid@^2.10.0, is-my-json-valid@^2.12.4: is-npm@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" is-number@^2.0.2, is-number@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" dependencies: kind-of "^3.0.2" is-obj@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" is-observable@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-0.2.0.tgz#b361311d83c6e5d726cabf5e250b0237106f5ae2" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-observable/-/is-observable-0.2.0.tgz#b361311d83c6e5d726cabf5e250b0237106f5ae2" dependencies: symbol-observable "^0.2.2" is-path-cwd@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" is-path-in-cwd@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc" dependencies: is-path-inside "^1.0.0" is-path-inside@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f" dependencies: path-is-inside "^1.0.1" is-plain-obj@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" is-posix-bracket@^0.1.0: version "0.1.1" - resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" is-primitive@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" is-promise@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" is-property@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" is-redirect@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" is-resolvable@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62" dependencies: tryit "^1.0.1" is-retry-allowed@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" is-svg@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9" dependencies: html-comment-regex "^1.1.0" is-typedarray@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" is-url@^1.2.1: version "1.2.2" - resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.2.tgz#498905a593bf47cc2d9e7f738372bbf7696c7f26" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-url/-/is-url-1.2.2.tgz#498905a593bf47cc2d9e7f738372bbf7696c7f26" is-utf8@^0.2.0, is-utf8@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + resolved "https://repository.neo9.pro/content/groups/global-npm/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" isarray@0.0.1: version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + resolved "https://repository.neo9.pro/content/groups/global-npm/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + resolved "https://repository.neo9.pro/content/groups/global-npm/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" isexe@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + resolved "https://repository.neo9.pro/content/groups/global-npm/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" isobject@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + resolved "https://repository.neo9.pro/content/groups/global-npm/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" dependencies: isarray "1.0.0" isstream@~0.1.2: version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + resolved "https://repository.neo9.pro/content/groups/global-npm/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" -istanbul-lib-coverage@^1.1.0, istanbul-lib-coverage@^1.1.1: +istanbul-lib-coverage@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz#73bfb998885299415c93d38a3e9adf784a77a9da" + resolved "https://repository.neo9.pro/content/groups/global-npm/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz#73bfb998885299415c93d38a3e9adf784a77a9da" -istanbul-lib-hook@^1.0.6: +istanbul-lib-hook@^1.0.7: version "1.0.7" - resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.0.7.tgz#dd6607f03076578fe7d6f2a630cf143b49bacddc" + resolved "https://repository.neo9.pro/content/groups/global-npm/istanbul-lib-hook/-/istanbul-lib-hook-1.0.7.tgz#dd6607f03076578fe7d6f2a630cf143b49bacddc" dependencies: append-transform "^0.4.0" -istanbul-lib-instrument@^1.7.1: +istanbul-lib-instrument@^1.7.2: version "1.7.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.7.2.tgz#6014b03d3470fb77638d5802508c255c06312e56" + resolved "https://repository.neo9.pro/content/groups/global-npm/istanbul-lib-instrument/-/istanbul-lib-instrument-1.7.2.tgz#6014b03d3470fb77638d5802508c255c06312e56" dependencies: babel-generator "^6.18.0" babel-template "^6.16.0" @@ -3478,18 +3474,18 @@ istanbul-lib-instrument@^1.7.1: istanbul-lib-coverage "^1.1.1" semver "^5.3.0" -istanbul-lib-report@^1.1.0: +istanbul-lib-report@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz#f0e55f56655ffa34222080b7a0cd4760e1405fc9" + resolved "https://repository.neo9.pro/content/groups/global-npm/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz#f0e55f56655ffa34222080b7a0cd4760e1405fc9" dependencies: istanbul-lib-coverage "^1.1.1" mkdirp "^0.5.1" path-parse "^1.0.5" supports-color "^3.1.2" -istanbul-lib-source-maps@^1.2.0: +istanbul-lib-source-maps@^1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.1.tgz#a6fe1acba8ce08eebc638e572e294d267008aa0c" + resolved "https://repository.neo9.pro/content/groups/global-npm/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.1.tgz#a6fe1acba8ce08eebc638e572e294d267008aa0c" dependencies: debug "^2.6.3" istanbul-lib-coverage "^1.1.1" @@ -3497,15 +3493,15 @@ istanbul-lib-source-maps@^1.2.0: rimraf "^2.6.1" source-map "^0.5.3" -istanbul-reports@^1.1.0: +istanbul-reports@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.1.1.tgz#042be5c89e175bc3f86523caab29c014e77fee4e" + resolved "https://repository.neo9.pro/content/groups/global-npm/istanbul-reports/-/istanbul-reports-1.1.1.tgz#042be5c89e175bc3f86523caab29c014e77fee4e" dependencies: handlebars "^4.0.3" jest-diff@19.0.0, jest-diff@^19.0.0: version "19.0.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-19.0.0.tgz#d1563cfc56c8b60232988fbc05d4d16ed90f063c" + resolved "https://repository.neo9.pro/content/groups/global-npm/jest-diff/-/jest-diff-19.0.0.tgz#d1563cfc56c8b60232988fbc05d4d16ed90f063c" dependencies: chalk "^1.1.3" diff "^3.0.0" @@ -3514,29 +3510,29 @@ jest-diff@19.0.0, jest-diff@^19.0.0: jest-file-exists@^19.0.0: version "19.0.0" - resolved "https://registry.yarnpkg.com/jest-file-exists/-/jest-file-exists-19.0.0.tgz#cca2e587a11ec92e24cfeab3f8a94d657f3fceb8" + resolved "https://repository.neo9.pro/content/groups/global-npm/jest-file-exists/-/jest-file-exists-19.0.0.tgz#cca2e587a11ec92e24cfeab3f8a94d657f3fceb8" jest-matcher-utils@^19.0.0: version "19.0.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-19.0.0.tgz#5ecd9b63565d2b001f61fbf7ec4c7f537964564d" + resolved "https://repository.neo9.pro/content/groups/global-npm/jest-matcher-utils/-/jest-matcher-utils-19.0.0.tgz#5ecd9b63565d2b001f61fbf7ec4c7f537964564d" dependencies: chalk "^1.1.3" pretty-format "^19.0.0" jest-message-util@^19.0.0: version "19.0.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-19.0.0.tgz#721796b89c0e4d761606f9ba8cb828a3b6246416" + resolved "https://repository.neo9.pro/content/groups/global-npm/jest-message-util/-/jest-message-util-19.0.0.tgz#721796b89c0e4d761606f9ba8cb828a3b6246416" dependencies: chalk "^1.1.1" micromatch "^2.3.11" jest-mock@^19.0.0: version "19.0.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-19.0.0.tgz#67038641e9607ab2ce08ec4a8cb83aabbc899d01" + resolved "https://repository.neo9.pro/content/groups/global-npm/jest-mock/-/jest-mock-19.0.0.tgz#67038641e9607ab2ce08ec4a8cb83aabbc899d01" jest-snapshot@19.0.2: version "19.0.2" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-19.0.2.tgz#9c1b216214f7187c38bfd5c70b1efab16b0ff50b" + resolved "https://repository.neo9.pro/content/groups/global-npm/jest-snapshot/-/jest-snapshot-19.0.2.tgz#9c1b216214f7187c38bfd5c70b1efab16b0ff50b" dependencies: chalk "^1.1.3" jest-diff "^19.0.0" @@ -3548,7 +3544,7 @@ jest-snapshot@19.0.2: jest-util@^19.0.2: version "19.0.2" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-19.0.2.tgz#e0a0232a2ab9e6b2b53668bdb3534c2b5977ed41" + resolved "https://repository.neo9.pro/content/groups/global-npm/jest-util/-/jest-util-19.0.2.tgz#e0a0232a2ab9e6b2b53668bdb3534c2b5977ed41" dependencies: chalk "^1.1.1" graceful-fs "^4.1.6" @@ -3561,7 +3557,7 @@ jest-util@^19.0.2: jest-validate@^19.0.2: version "19.0.2" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-19.0.2.tgz#dc534df5f1278d5b63df32b14241d4dbf7244c0c" + resolved "https://repository.neo9.pro/content/groups/global-npm/jest-validate/-/jest-validate-19.0.2.tgz#dc534df5f1278d5b63df32b14241d4dbf7244c0c" dependencies: chalk "^1.1.1" jest-matcher-utils "^19.0.0" @@ -3570,17 +3566,17 @@ jest-validate@^19.0.2: jodid25519@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" + resolved "https://repository.neo9.pro/content/groups/global-npm/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" dependencies: jsbn "~0.1.0" js-base64@^2.1.9: version "2.1.9" - resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce" + resolved "https://repository.neo9.pro/content/groups/global-npm/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce" js-beautify@^1.6.3: version "1.6.14" - resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.6.14.tgz#d3b8f7322d02b9277d58bd238264c327e58044cd" + resolved "https://repository.neo9.pro/content/groups/global-npm/js-beautify/-/js-beautify-1.6.14.tgz#d3b8f7322d02b9277d58bd238264c327e58044cd" dependencies: config-chain "~1.1.5" editorconfig "^0.13.2" @@ -3589,33 +3585,33 @@ js-beautify@^1.6.3: js-tokens@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" + resolved "https://repository.neo9.pro/content/groups/global-npm/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" js-yaml@^3.4.3, js-yaml@^3.5.1, js-yaml@^3.8.2: version "3.8.4" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.4.tgz#520b4564f86573ba96662af85a8cafa7b4b5a6f6" + resolved "https://repository.neo9.pro/content/groups/global-npm/js-yaml/-/js-yaml-3.8.4.tgz#520b4564f86573ba96662af85a8cafa7b4b5a6f6" dependencies: argparse "^1.0.7" esprima "^3.1.1" js-yaml@~3.7.0: version "3.7.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" + resolved "https://repository.neo9.pro/content/groups/global-npm/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" dependencies: argparse "^1.0.7" esprima "^2.6.0" jsbn@~0.1.0: version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + resolved "https://repository.neo9.pro/content/groups/global-npm/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" + resolved "https://repository.neo9.pro/content/groups/global-npm/jschardet/-/jschardet-1.4.2.tgz#2aa107f142af4121d145659d44f50830961e699a" jsdom@^11.0.0: version "11.0.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.0.0.tgz#1ee507cb2c0b16c875002476b1a8557d951353e5" + resolved "https://repository.neo9.pro/content/groups/global-npm/jsdom/-/jsdom-11.0.0.tgz#1ee507cb2c0b16c875002476b1a8557d951353e5" dependencies: abab "^1.0.3" acorn "^4.0.4" @@ -3641,57 +3637,57 @@ jsdom@^11.0.0: jsesc@^1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" + resolved "https://repository.neo9.pro/content/groups/global-npm/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" jsesc@~0.5.0: version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + resolved "https://repository.neo9.pro/content/groups/global-npm/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" json-loader@^0.5.4: version "0.5.4" - resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.4.tgz#8baa1365a632f58a3c46d20175fc6002c96e37de" + resolved "https://repository.neo9.pro/content/groups/global-npm/json-loader/-/json-loader-0.5.4.tgz#8baa1365a632f58a3c46d20175fc6002c96e37de" json-schema@0.2.3: version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + resolved "https://repository.neo9.pro/content/groups/global-npm/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + resolved "https://repository.neo9.pro/content/groups/global-npm/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" dependencies: jsonify "~0.0.0" json-stringify-safe@~5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + resolved "https://repository.neo9.pro/content/groups/global-npm/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" json5@^0.5.0, json5@^0.5.1: version "0.5.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + resolved "https://repository.neo9.pro/content/groups/global-npm/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" jsonfile@^2.1.0: version "2.4.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" + resolved "https://repository.neo9.pro/content/groups/global-npm/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" optionalDependencies: graceful-fs "^4.1.6" jsonfile@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-3.0.0.tgz#92e7c7444e5ffd5fa32e6a9ae8b85034df8347d0" + resolved "https://repository.neo9.pro/content/groups/global-npm/jsonfile/-/jsonfile-3.0.0.tgz#92e7c7444e5ffd5fa32e6a9ae8b85034df8347d0" optionalDependencies: graceful-fs "^4.1.6" jsonify@~0.0.0: version "0.0.0" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + resolved "https://repository.neo9.pro/content/groups/global-npm/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" jsonpointer@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" + resolved "https://repository.neo9.pro/content/groups/global-npm/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" jsprim@^1.2.2: version "1.4.0" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918" + resolved "https://repository.neo9.pro/content/groups/global-npm/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918" dependencies: assert-plus "1.0.0" extsprintf "1.0.2" @@ -3700,56 +3696,56 @@ jsprim@^1.2.2: kind-of@^3.0.2: version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + resolved "https://repository.neo9.pro/content/groups/global-npm/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" dependencies: is-buffer "^1.1.5" klaw@^1.0.0: version "1.3.1" - resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" + resolved "https://repository.neo9.pro/content/groups/global-npm/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" optionalDependencies: graceful-fs "^4.1.9" last-line-stream@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/last-line-stream/-/last-line-stream-1.0.0.tgz#d1b64d69f86ff24af2d04883a2ceee14520a5600" + resolved "https://repository.neo9.pro/content/groups/global-npm/last-line-stream/-/last-line-stream-1.0.0.tgz#d1b64d69f86ff24af2d04883a2ceee14520a5600" dependencies: through2 "^2.0.0" latest-version@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" + resolved "https://repository.neo9.pro/content/groups/global-npm/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" dependencies: package-json "^4.0.0" lazy-cache@^1.0.3: version "1.0.4" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" + resolved "https://repository.neo9.pro/content/groups/global-npm/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" lazy-req@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/lazy-req/-/lazy-req-2.0.0.tgz#c9450a363ecdda2e6f0c70132ad4f37f8f06f2b4" + resolved "https://repository.neo9.pro/content/groups/global-npm/lazy-req/-/lazy-req-2.0.0.tgz#c9450a363ecdda2e6f0c70132ad4f37f8f06f2b4" lcid@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + resolved "https://repository.neo9.pro/content/groups/global-npm/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" dependencies: invert-kv "^1.0.0" leven@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" + resolved "https://repository.neo9.pro/content/groups/global-npm/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" levn@^0.3.0, levn@~0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + resolved "https://repository.neo9.pro/content/groups/global-npm/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" dependencies: prelude-ls "~1.1.2" type-check "~0.3.2" load-json-file@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + resolved "https://repository.neo9.pro/content/groups/global-npm/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" dependencies: graceful-fs "^4.1.2" parse-json "^2.2.0" @@ -3759,7 +3755,7 @@ load-json-file@^1.0.0: load-json-file@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" + resolved "https://repository.neo9.pro/content/groups/global-npm/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" dependencies: graceful-fs "^4.1.2" parse-json "^2.2.0" @@ -3768,11 +3764,11 @@ load-json-file@^2.0.0: loader-runner@^2.3.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" + resolved "https://repository.neo9.pro/content/groups/global-npm/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" loader-utils@0.2.x, loader-utils@^0.2.15, loader-utils@^0.2.16: version "0.2.17" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" + resolved "https://repository.neo9.pro/content/groups/global-npm/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" dependencies: big.js "^3.1.3" emojis-list "^2.0.0" @@ -3781,7 +3777,7 @@ loader-utils@0.2.x, loader-utils@^0.2.15, loader-utils@^0.2.16: loader-utils@^1.0.2, loader-utils@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" + resolved "https://repository.neo9.pro/content/groups/global-npm/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" dependencies: big.js "^3.1.3" emojis-list "^2.0.0" @@ -3789,176 +3785,182 @@ loader-utils@^1.0.2, loader-utils@^1.1.0: locate-path@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + resolved "https://repository.neo9.pro/content/groups/global-npm/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" dependencies: p-locate "^2.0.0" path-exists "^3.0.0" lodash._reinterpolate@~3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + resolved "https://repository.neo9.pro/content/groups/global-npm/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" lodash.camelcase@^4.3.0: version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + resolved "https://repository.neo9.pro/content/groups/global-npm/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" lodash.clonedeep@^4.5.0: version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + resolved "https://repository.neo9.pro/content/groups/global-npm/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" lodash.clonedeepwith@^4.5.0: version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeepwith/-/lodash.clonedeepwith-4.5.0.tgz#6ee30573a03a1a60d670a62ef33c10cf1afdbdd4" + resolved "https://repository.neo9.pro/content/groups/global-npm/lodash.clonedeepwith/-/lodash.clonedeepwith-4.5.0.tgz#6ee30573a03a1a60d670a62ef33c10cf1afdbdd4" lodash.cond@^4.3.0: version "4.5.2" - resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5" + resolved "https://repository.neo9.pro/content/groups/global-npm/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5" lodash.debounce@^4.0.3: version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + resolved "https://repository.neo9.pro/content/groups/global-npm/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" lodash.difference@^4.3.0: version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c" + resolved "https://repository.neo9.pro/content/groups/global-npm/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c" lodash.flatten@^4.2.0: version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" + resolved "https://repository.neo9.pro/content/groups/global-npm/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" lodash.flattendeep@^4.4.0: version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" + resolved "https://repository.neo9.pro/content/groups/global-npm/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" lodash.isequal@^4.5.0: version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + resolved "https://repository.neo9.pro/content/groups/global-npm/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" lodash.isplainobject@^4.0.6: version "4.0.6" - resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + resolved "https://repository.neo9.pro/content/groups/global-npm/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" lodash.memoize@^4.1.2: version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + resolved "https://repository.neo9.pro/content/groups/global-npm/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" lodash.merge@^4.6.0: version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.0.tgz#69884ba144ac33fe699737a6086deffadd0f89c5" + resolved "https://repository.neo9.pro/content/groups/global-npm/lodash.merge/-/lodash.merge-4.6.0.tgz#69884ba144ac33fe699737a6086deffadd0f89c5" lodash.template@^4.4.0: version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0" + resolved "https://repository.neo9.pro/content/groups/global-npm/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0" dependencies: lodash._reinterpolate "~3.0.0" lodash.templatesettings "^4.0.0" lodash.templatesettings@^4.0.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz#2b4d4e95ba440d915ff08bc899e4553666713316" + resolved "https://repository.neo9.pro/content/groups/global-npm/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz#2b4d4e95ba440d915ff08bc899e4553666713316" dependencies: lodash._reinterpolate "~3.0.0" lodash.uniq@^4.5.0: version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + resolved "https://repository.neo9.pro/content/groups/global-npm/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" lodash@^4.0.0, lodash@^4.11.1, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.3.0: version "4.17.4" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" + resolved "https://repository.neo9.pro/content/groups/global-npm/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" longest@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" + resolved "https://repository.neo9.pro/content/groups/global-npm/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" loose-envify@^1.0.0: version "1.3.1" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" + resolved "https://repository.neo9.pro/content/groups/global-npm/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" dependencies: js-tokens "^3.0.0" loud-rejection@^1.0.0, loud-rejection@^1.2.0: version "1.6.0" - resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + resolved "https://repository.neo9.pro/content/groups/global-npm/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" dependencies: currently-unhandled "^0.4.1" signal-exit "^3.0.0" lower-case@^1.1.1: version "1.1.4" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" + resolved "https://repository.neo9.pro/content/groups/global-npm/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" lowercase-keys@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" + resolved "https://repository.neo9.pro/content/groups/global-npm/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" lru-cache@^3.2.0: version "3.2.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-3.2.0.tgz#71789b3b7f5399bec8565dda38aa30d2a097efee" + resolved "https://repository.neo9.pro/content/groups/global-npm/lru-cache/-/lru-cache-3.2.0.tgz#71789b3b7f5399bec8565dda38aa30d2a097efee" dependencies: pseudomap "^1.0.1" lru-cache@^4.0.0, lru-cache@^4.0.1: version "4.0.2" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e" + resolved "https://repository.neo9.pro/content/groups/global-npm/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e" dependencies: pseudomap "^1.0.1" yallist "^2.0.0" macaddress@^0.2.8: version "0.2.8" - resolved "https://registry.yarnpkg.com/macaddress/-/macaddress-0.2.8.tgz#5904dc537c39ec6dbefeae902327135fa8511f12" + resolved "https://repository.neo9.pro/content/groups/global-npm/macaddress/-/macaddress-0.2.8.tgz#5904dc537c39ec6dbefeae902327135fa8511f12" make-dir@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.0.0.tgz#97a011751e91dd87cfadef58832ebb04936de978" + resolved "https://repository.neo9.pro/content/groups/global-npm/make-dir/-/make-dir-1.0.0.tgz#97a011751e91dd87cfadef58832ebb04936de978" dependencies: pify "^2.3.0" 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" + resolved "https://repository.neo9.pro/content/groups/global-npm/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" + resolved "https://repository.neo9.pro/content/groups/global-npm/matcher/-/matcher-0.1.2.tgz#ef20cbde64c24c50cc61af5b83ee0b1b8ff00101" dependencies: escape-string-regexp "^1.0.4" math-expression-evaluator@^1.2.14: version "1.2.17" - resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac" + resolved "https://repository.neo9.pro/content/groups/global-npm/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac" md5-hex@^1.2.0, md5-hex@^1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/md5-hex/-/md5-hex-1.3.0.tgz#d2c4afe983c4370662179b8cad145219135046c4" + resolved "https://repository.neo9.pro/content/groups/global-npm/md5-hex/-/md5-hex-1.3.0.tgz#d2c4afe983c4370662179b8cad145219135046c4" dependencies: md5-o-matic "^0.1.1" md5-hex@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/md5-hex/-/md5-hex-2.0.0.tgz#d0588e9f1c74954492ecd24ac0ac6ce997d92e33" + resolved "https://repository.neo9.pro/content/groups/global-npm/md5-hex/-/md5-hex-2.0.0.tgz#d0588e9f1c74954492ecd24ac0ac6ce997d92e33" dependencies: md5-o-matic "^0.1.1" md5-o-matic@^0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/md5-o-matic/-/md5-o-matic-0.1.1.tgz#822bccd65e117c514fab176b25945d54100a03c3" + resolved "https://repository.neo9.pro/content/groups/global-npm/md5-o-matic/-/md5-o-matic-0.1.1.tgz#822bccd65e117c514fab176b25945d54100a03c3" media-typer@0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + resolved "https://repository.neo9.pro/content/groups/global-npm/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + +mem@^1.1.0: + version "1.1.0" + resolved "https://repository.neo9.pro/content/groups/global-npm/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" + dependencies: + mimic-fn "^1.0.0" memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1: version "0.4.1" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + resolved "https://repository.neo9.pro/content/groups/global-npm/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" dependencies: errno "^0.1.3" readable-stream "^2.0.1" meow@^3.7.0: version "3.7.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + resolved "https://repository.neo9.pro/content/groups/global-npm/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" dependencies: camelcase-keys "^2.0.0" decamelize "^1.1.2" @@ -3973,21 +3975,21 @@ meow@^3.7.0: merge-descriptors@1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + resolved "https://repository.neo9.pro/content/groups/global-npm/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" merge-source-map@^1.0.2: version "1.0.3" - resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.0.3.tgz#da1415f2722a5119db07b14c4f973410863a2abf" + resolved "https://repository.neo9.pro/content/groups/global-npm/merge-source-map/-/merge-source-map-1.0.3.tgz#da1415f2722a5119db07b14c4f973410863a2abf" dependencies: source-map "^0.5.3" methods@~1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + resolved "https://repository.neo9.pro/content/groups/global-npm/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" micromatch@^2.1.5, micromatch@^2.3.11: version "2.3.11" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + resolved "https://repository.neo9.pro/content/groups/global-npm/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" dependencies: arr-diff "^2.0.0" array-unique "^0.2.1" @@ -4005,76 +4007,76 @@ micromatch@^2.1.5, micromatch@^2.3.11: miller-rabin@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.0.tgz#4a62fb1d42933c05583982f4c716f6fb9e6c6d3d" + resolved "https://repository.neo9.pro/content/groups/global-npm/miller-rabin/-/miller-rabin-4.0.0.tgz#4a62fb1d42933c05583982f4c716f6fb9e6c6d3d" dependencies: bn.js "^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" + resolved "https://repository.neo9.pro/content/groups/global-npm/mime-db/-/mime-db-1.28.0.tgz#fedd349be06d2865b7fc57d837c6de4f17d7ac3c" mime-db@~1.27.0: version "1.27.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1" + resolved "https://repository.neo9.pro/content/groups/global-npm/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1" mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.15, mime-types@~2.1.7: version "2.1.15" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed" + resolved "https://repository.neo9.pro/content/groups/global-npm/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed" dependencies: mime-db "~1.27.0" mime@1.3.4: version "1.3.4" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" + resolved "https://repository.neo9.pro/content/groups/global-npm/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" mime@1.3.x, mime@^1.3.4: version "1.3.6" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.6.tgz#591d84d3653a6b0b4a3b9df8de5aa8108e72e5e0" + resolved "https://repository.neo9.pro/content/groups/global-npm/mime/-/mime-1.3.6.tgz#591d84d3653a6b0b4a3b9df8de5aa8108e72e5e0" mimic-fn@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" + resolved "https://repository.neo9.pro/content/groups/global-npm/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" minimalistic-assert@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3" + resolved "https://repository.neo9.pro/content/groups/global-npm/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3" minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + resolved "https://repository.neo9.pro/content/groups/global-npm/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" "minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + resolved "https://repository.neo9.pro/content/groups/global-npm/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: brace-expansion "^1.1.7" minimist@0.0.8, minimist@~0.0.1: version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + resolved "https://repository.neo9.pro/content/groups/global-npm/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 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" + resolved "https://repository.neo9.pro/content/groups/global-npm/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" "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" + resolved "https://repository.neo9.pro/content/groups/global-npm/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" dependencies: minimist "0.0.8" ms@0.7.1, ms@^0.7.1: version "0.7.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" + resolved "https://repository.neo9.pro/content/groups/global-npm/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" + resolved "https://repository.neo9.pro/content/groups/global-npm/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" multimatch@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" + resolved "https://repository.neo9.pro/content/groups/global-npm/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" dependencies: array-differ "^1.0.0" array-union "^1.0.1" @@ -4083,52 +4085,52 @@ multimatch@^2.1.0: mute-stream@0.0.5: version "0.0.5" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" + resolved "https://repository.neo9.pro/content/groups/global-npm/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" mute-stream@0.0.7: version "0.0.7" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" + resolved "https://repository.neo9.pro/content/groups/global-npm/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" nan@^2.3.0: version "2.6.2" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45" + resolved "https://repository.neo9.pro/content/groups/global-npm/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45" natural-compare@^1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + resolved "https://repository.neo9.pro/content/groups/global-npm/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" ncname@1.0.x: version "1.0.0" - resolved "https://registry.yarnpkg.com/ncname/-/ncname-1.0.0.tgz#5b57ad18b1ca092864ef62b0b1ed8194f383b71c" + resolved "https://repository.neo9.pro/content/groups/global-npm/ncname/-/ncname-1.0.0.tgz#5b57ad18b1ca092864ef62b0b1ed8194f383b71c" dependencies: xml-char-classes "^1.0.0" negotiator@0.6.1: version "0.6.1" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" + resolved "https://repository.neo9.pro/content/groups/global-npm/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" no-case@^2.2.0: version "2.3.1" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.1.tgz#7aeba1c73a52184265554b7dc03baf720df80081" + resolved "https://repository.neo9.pro/content/groups/global-npm/no-case/-/no-case-2.3.1.tgz#7aeba1c73a52184265554b7dc03baf720df80081" dependencies: lower-case "^1.1.1" node-dir@^0.1.10: version "0.1.17" - resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.17.tgz#5f5665d93351335caabef8f1c554516cf5f1e4e5" + resolved "https://repository.neo9.pro/content/groups/global-npm/node-dir/-/node-dir-0.1.17.tgz#5f5665d93351335caabef8f1c554516cf5f1e4e5" dependencies: minimatch "^3.0.2" node-fetch@1.6.3: version "1.6.3" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04" + resolved "https://repository.neo9.pro/content/groups/global-npm/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04" dependencies: encoding "^0.1.11" is-stream "^1.0.1" node-libs-browser@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.0.0.tgz#a3a59ec97024985b46e958379646f96c4b616646" + resolved "https://repository.neo9.pro/content/groups/global-npm/node-libs-browser/-/node-libs-browser-2.0.0.tgz#a3a59ec97024985b46e958379646f96c4b616646" dependencies: assert "^1.1.1" browserify-zlib "^0.1.4" @@ -4155,8 +4157,8 @@ node-libs-browser@^2.0.0: vm-browserify "0.0.4" node-pre-gyp@^0.6.29: - version "0.6.34" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.34.tgz#94ad1c798a11d7fc67381b50d47f8cc18d9799f7" + version "0.6.36" + resolved "https://repository.neo9.pro/content/groups/global-npm/node-pre-gyp/-/node-pre-gyp-0.6.36.tgz#db604112cb74e0d477554e9b505b17abddfab786" dependencies: mkdirp "^0.5.1" nopt "^4.0.1" @@ -4170,20 +4172,20 @@ node-pre-gyp@^0.6.29: nopt@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" + resolved "https://repository.neo9.pro/content/groups/global-npm/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" dependencies: abbrev "1" osenv "^0.1.4" nopt@~3.0.1: version "3.0.6" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + resolved "https://repository.neo9.pro/content/groups/global-npm/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" dependencies: abbrev "1" normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: version "2.3.8" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.8.tgz#d819eda2a9dedbd1ffa563ea4071d936782295bb" + resolved "https://repository.neo9.pro/content/groups/global-npm/normalize-package-data/-/normalize-package-data-2.3.8.tgz#d819eda2a9dedbd1ffa563ea4071d936782295bb" dependencies: hosted-git-info "^2.1.4" is-builtin-module "^1.0.0" @@ -4192,17 +4194,17 @@ normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: normalize-path@^2.0.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + resolved "https://repository.neo9.pro/content/groups/global-npm/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" dependencies: remove-trailing-separator "^1.0.1" normalize-range@^0.1.2: version "0.1.2" - resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + resolved "https://repository.neo9.pro/content/groups/global-npm/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" normalize-url@^1.4.0: version "1.9.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" + resolved "https://repository.neo9.pro/content/groups/global-npm/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" dependencies: object-assign "^4.0.1" prepend-http "^1.0.0" @@ -4211,19 +4213,19 @@ normalize-url@^1.4.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" + resolved "https://repository.neo9.pro/content/groups/global-npm/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" + resolved "https://repository.neo9.pro/content/groups/global-npm/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" dependencies: path-key "^2.0.0" npmlog@^4.0.2: version "4.1.0" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.0.tgz#dc59bee85f64f00ed424efb2af0783df25d1c0b5" + resolved "https://repository.neo9.pro/content/groups/global-npm/npmlog/-/npmlog-4.1.0.tgz#dc59bee85f64f00ed424efb2af0783df25d1c0b5" dependencies: are-we-there-yet "~1.1.2" console-control-strings "~1.1.0" @@ -4232,25 +4234,25 @@ npmlog@^4.0.2: nth-check@~1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.1.tgz#9929acdf628fc2c41098deab82ac580cf149aae4" + resolved "https://repository.neo9.pro/content/groups/global-npm/nth-check/-/nth-check-1.0.1.tgz#9929acdf628fc2c41098deab82ac580cf149aae4" dependencies: boolbase "~1.0.0" num2fraction@^1.2.2: version "1.2.2" - resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + resolved "https://repository.neo9.pro/content/groups/global-npm/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" number-is-nan@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + resolved "https://repository.neo9.pro/content/groups/global-npm/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" "nwmatcher@>= 1.3.9 < 2.0.0": version "1.4.0" - resolved "https://registry.yarnpkg.com/nwmatcher/-/nwmatcher-1.4.0.tgz#b4389362170e7ef9798c3c7716d80ebc0106fccf" + resolved "https://repository.neo9.pro/content/groups/global-npm/nwmatcher/-/nwmatcher-1.4.0.tgz#b4389362170e7ef9798c3c7716d80ebc0106fccf" -nyc@^10.3.2: - version "10.3.2" - resolved "https://registry.yarnpkg.com/nyc/-/nyc-10.3.2.tgz#f27f4d91f2a9db36c24f574ff5c6efff0233de46" +nyc@^11.0.2: + version "11.0.2" + resolved "https://repository.neo9.pro/content/groups/global-npm/nyc/-/nyc-11.0.2.tgz#9e592a697186028253b668516c38f079c39c08f3" dependencies: archy "^1.0.0" arrify "^1.0.1" @@ -4259,15 +4261,15 @@ nyc@^10.3.2: debug-log "^1.0.1" default-require-extensions "^1.0.0" find-cache-dir "^0.1.1" - find-up "^1.1.2" + find-up "^2.1.0" foreground-child "^1.5.3" glob "^7.0.6" - istanbul-lib-coverage "^1.1.0" - istanbul-lib-hook "^1.0.6" - istanbul-lib-instrument "^1.7.1" - istanbul-lib-report "^1.1.0" - istanbul-lib-source-maps "^1.2.0" - istanbul-reports "^1.1.0" + istanbul-lib-coverage "^1.1.1" + istanbul-lib-hook "^1.0.7" + istanbul-lib-instrument "^1.7.2" + istanbul-lib-report "^1.1.1" + istanbul-lib-source-maps "^1.2.1" + istanbul-reports "^1.1.1" md5-hex "^1.2.0" merge-source-map "^1.0.2" micromatch "^2.3.11" @@ -4275,26 +4277,26 @@ nyc@^10.3.2: resolve-from "^2.0.0" rimraf "^2.5.4" signal-exit "^3.0.1" - spawn-wrap "1.2.4" - test-exclude "^4.1.0" - yargs "^7.1.0" + spawn-wrap "^1.3.6" + test-exclude "^4.1.1" + yargs "^8.0.1" yargs-parser "^5.0.0" oauth-sign@~0.8.1: version "0.8.2" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" + resolved "https://repository.neo9.pro/content/groups/global-npm/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + resolved "https://repository.neo9.pro/content/groups/global-npm/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" object-keys@^1.0.10, object-keys@^1.0.8: version "1.0.11" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" + resolved "https://repository.neo9.pro/content/groups/global-npm/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" object.assign@^4.0.1: version "4.0.4" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.0.4.tgz#b1c9cc044ef1b9fe63606fc141abbb32e14730cc" + resolved "https://repository.neo9.pro/content/groups/global-npm/object.assign/-/object.assign-4.0.4.tgz#b1c9cc044ef1b9fe63606fc141abbb32e14730cc" dependencies: define-properties "^1.1.2" function-bind "^1.1.0" @@ -4302,21 +4304,21 @@ object.assign@^4.0.1: object.omit@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" + resolved "https://repository.neo9.pro/content/groups/global-npm/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" dependencies: for-own "^0.1.4" is-extendable "^0.1.1" observable-to-promise@^0.5.0: version "0.5.0" - resolved "https://registry.yarnpkg.com/observable-to-promise/-/observable-to-promise-0.5.0.tgz#c828f0f0dc47e9f86af8a4977c5d55076ce7a91f" + resolved "https://repository.neo9.pro/content/groups/global-npm/observable-to-promise/-/observable-to-promise-0.5.0.tgz#c828f0f0dc47e9f86af8a4977c5d55076ce7a91f" dependencies: 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" + resolved "https://repository.neo9.pro/content/groups/global-npm/offline-plugin/-/offline-plugin-4.8.1.tgz#1d73457081185777179c29d9d416f71077a0197a" dependencies: deep-extend "^0.4.0" ejs "^2.3.4" @@ -4326,33 +4328,33 @@ offline-plugin@^4.8.1: on-finished@~2.3.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + resolved "https://repository.neo9.pro/content/groups/global-npm/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" dependencies: ee-first "1.1.1" on-headers@~1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7" + resolved "https://repository.neo9.pro/content/groups/global-npm/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7" once@^1.3.0, once@^1.3.3: version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + resolved "https://repository.neo9.pro/content/groups/global-npm/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" dependencies: wrappy "1" onetime@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" + resolved "https://repository.neo9.pro/content/groups/global-npm/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" onetime@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + resolved "https://repository.neo9.pro/content/groups/global-npm/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" dependencies: mimic-fn "^1.0.0" opencollective@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/opencollective/-/opencollective-1.0.3.tgz#aee6372bc28144583690c3ca8daecfc120dd0ef1" + resolved "https://repository.neo9.pro/content/groups/global-npm/opencollective/-/opencollective-1.0.3.tgz#aee6372bc28144583690c3ca8daecfc120dd0ef1" dependencies: babel-polyfill "6.23.0" chalk "1.1.3" @@ -4363,31 +4365,31 @@ opencollective@^1.0.3: opener@^1.4.3: version "1.4.3" - resolved "https://registry.yarnpkg.com/opener/-/opener-1.4.3.tgz#5c6da2c5d7e5831e8ffa3964950f8d6674ac90b8" + resolved "https://repository.neo9.pro/content/groups/global-npm/opener/-/opener-1.4.3.tgz#5c6da2c5d7e5831e8ffa3964950f8d6674ac90b8" opn@4.0.2: version "4.0.2" - resolved "https://registry.yarnpkg.com/opn/-/opn-4.0.2.tgz#7abc22e644dff63b0a96d5ab7f2790c0f01abc95" + resolved "https://repository.neo9.pro/content/groups/global-npm/opn/-/opn-4.0.2.tgz#7abc22e644dff63b0a96d5ab7f2790c0f01abc95" dependencies: object-assign "^4.0.1" pinkie-promise "^2.0.0" optimist@^0.6.1: version "0.6.1" - resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" + resolved "https://repository.neo9.pro/content/groups/global-npm/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" dependencies: 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" + resolved "https://repository.neo9.pro/content/groups/global-npm/option-chain/-/option-chain-0.1.1.tgz#e9b811e006f1c0f54802f28295bfc8970f8dcfbd" dependencies: object-assign "^4.0.1" optionator@^0.8.1, optionator@^0.8.2: version "0.8.2" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" + resolved "https://repository.neo9.pro/content/groups/global-npm/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" dependencies: deep-is "~0.1.3" fast-levenshtein "~2.0.4" @@ -4398,52 +4400,60 @@ optionator@^0.8.1, optionator@^0.8.2: os-browserify@^0.2.0: version "0.2.1" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.2.1.tgz#63fc4ccee5d2d7763d26bbf8601078e6c2e0044f" + resolved "https://repository.neo9.pro/content/groups/global-npm/os-browserify/-/os-browserify-0.2.1.tgz#63fc4ccee5d2d7763d26bbf8601078e6c2e0044f" os-homedir@^1.0.0, os-homedir@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + resolved "https://repository.neo9.pro/content/groups/global-npm/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" os-locale@^1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" + resolved "https://repository.neo9.pro/content/groups/global-npm/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" dependencies: lcid "^1.0.0" +os-locale@^2.0.0: + version "2.0.0" + resolved "https://repository.neo9.pro/content/groups/global-npm/os-locale/-/os-locale-2.0.0.tgz#15918ded510522b81ee7ae5a309d54f639fc39a4" + dependencies: + execa "^0.5.0" + lcid "^1.0.0" + mem "^1.1.0" + os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + resolved "https://repository.neo9.pro/content/groups/global-npm/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" osenv@^0.1.4: version "0.1.4" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" + resolved "https://repository.neo9.pro/content/groups/global-npm/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" dependencies: os-homedir "^1.0.0" os-tmpdir "^1.0.0" p-finally@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + resolved "https://repository.neo9.pro/content/groups/global-npm/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" p-limit@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc" + resolved "https://repository.neo9.pro/content/groups/global-npm/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc" p-locate@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + resolved "https://repository.neo9.pro/content/groups/global-npm/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" dependencies: p-limit "^1.1.0" package-hash@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/package-hash/-/package-hash-1.2.0.tgz#003e56cd57b736a6ed6114cc2b81542672770e44" + resolved "https://repository.neo9.pro/content/groups/global-npm/package-hash/-/package-hash-1.2.0.tgz#003e56cd57b736a6ed6114cc2b81542672770e44" dependencies: md5-hex "^1.3.0" package-hash@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/package-hash/-/package-hash-2.0.0.tgz#78ae326c89e05a4d813b68601977af05c00d2a0d" + resolved "https://repository.neo9.pro/content/groups/global-npm/package-hash/-/package-hash-2.0.0.tgz#78ae326c89e05a4d813b68601977af05c00d2a0d" dependencies: graceful-fs "^4.1.11" lodash.flattendeep "^4.4.0" @@ -4452,7 +4462,7 @@ package-hash@^2.0.0: package-json@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" + resolved "https://repository.neo9.pro/content/groups/global-npm/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" dependencies: got "^6.7.1" registry-auth-token "^3.0.1" @@ -4461,17 +4471,17 @@ package-json@^4.0.0: pako@~0.2.0: version "0.2.9" - resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" + resolved "https://repository.neo9.pro/content/groups/global-npm/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" param-case@2.1.x: version "2.1.1" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" + resolved "https://repository.neo9.pro/content/groups/global-npm/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" dependencies: no-case "^2.2.0" parse-asn1@^5.0.0: version "5.1.0" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.0.tgz#37c4f9b7ed3ab65c74817b5f2480937fbf97c712" + resolved "https://repository.neo9.pro/content/groups/global-npm/parse-asn1/-/parse-asn1-5.1.0.tgz#37c4f9b7ed3ab65c74817b5f2480937fbf97c712" dependencies: asn1.js "^4.0.0" browserify-aes "^1.0.0" @@ -4481,7 +4491,7 @@ parse-asn1@^5.0.0: parse-glob@^3.0.4: version "3.0.4" - resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + resolved "https://repository.neo9.pro/content/groups/global-npm/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" dependencies: glob-base "^0.3.0" is-dotfile "^1.0.0" @@ -4490,69 +4500,69 @@ parse-glob@^3.0.4: parse-json@^2.2.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + resolved "https://repository.neo9.pro/content/groups/global-npm/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" dependencies: error-ex "^1.2.0" parse-ms@^0.1.0: version "0.1.2" - resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-0.1.2.tgz#dd3fa25ed6c2efc7bdde12ad9b46c163aa29224e" + resolved "https://repository.neo9.pro/content/groups/global-npm/parse-ms/-/parse-ms-0.1.2.tgz#dd3fa25ed6c2efc7bdde12ad9b46c163aa29224e" parse-ms@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-1.0.1.tgz#56346d4749d78f23430ca0c713850aef91aa361d" + resolved "https://repository.neo9.pro/content/groups/global-npm/parse-ms/-/parse-ms-1.0.1.tgz#56346d4749d78f23430ca0c713850aef91aa361d" parse5@^3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-3.0.2.tgz#05eff57f0ef4577fb144a79f8b9a967a6cc44510" + resolved "https://repository.neo9.pro/content/groups/global-npm/parse5/-/parse5-3.0.2.tgz#05eff57f0ef4577fb144a79f8b9a967a6cc44510" dependencies: "@types/node" "^6.0.46" parseurl@~1.3.1: version "1.3.1" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56" + resolved "https://repository.neo9.pro/content/groups/global-npm/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56" path-browserify@0.0.0: version "0.0.0" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" + resolved "https://repository.neo9.pro/content/groups/global-npm/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" path-exists@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + resolved "https://repository.neo9.pro/content/groups/global-npm/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" dependencies: pinkie-promise "^2.0.0" path-exists@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + resolved "https://repository.neo9.pro/content/groups/global-npm/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" path-is-absolute@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + resolved "https://repository.neo9.pro/content/groups/global-npm/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" path-is-inside@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + resolved "https://repository.neo9.pro/content/groups/global-npm/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" + resolved "https://repository.neo9.pro/content/groups/global-npm/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" + resolved "https://repository.neo9.pro/content/groups/global-npm/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" path-parse@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" + resolved "https://repository.neo9.pro/content/groups/global-npm/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" path-to-regexp@0.1.7: version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + resolved "https://repository.neo9.pro/content/groups/global-npm/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" path-type@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + resolved "https://repository.neo9.pro/content/groups/global-npm/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" dependencies: graceful-fs "^4.1.2" pify "^2.0.0" @@ -4560,13 +4570,13 @@ path-type@^1.0.0: path-type@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" + resolved "https://repository.neo9.pro/content/groups/global-npm/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" dependencies: pify "^2.0.0" pbkdf2@^3.0.3: version "3.0.12" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.12.tgz#be36785c5067ea48d806ff923288c5f750b6b8a2" + resolved "https://repository.neo9.pro/content/groups/global-npm/pbkdf2/-/pbkdf2-3.0.12.tgz#be36785c5067ea48d806ff923288c5f750b6b8a2" dependencies: create-hash "^1.1.2" create-hmac "^1.1.4" @@ -4576,74 +4586,80 @@ pbkdf2@^3.0.3: performance-now@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" + resolved "https://repository.neo9.pro/content/groups/global-npm/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" pify@^2.0.0, pify@^2.3.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + resolved "https://repository.neo9.pro/content/groups/global-npm/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" pify@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + resolved "https://repository.neo9.pro/content/groups/global-npm/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" pinkie-promise@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-1.0.0.tgz#d1da67f5482563bb7cf57f286ae2822ecfbf3670" + resolved "https://repository.neo9.pro/content/groups/global-npm/pinkie-promise/-/pinkie-promise-1.0.0.tgz#d1da67f5482563bb7cf57f286ae2822ecfbf3670" dependencies: pinkie "^1.0.0" pinkie-promise@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + resolved "https://repository.neo9.pro/content/groups/global-npm/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" dependencies: pinkie "^2.0.0" pinkie@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-1.0.0.tgz#5a47f28ba1015d0201bda7bf0f358e47bec8c7e4" + resolved "https://repository.neo9.pro/content/groups/global-npm/pinkie/-/pinkie-1.0.0.tgz#5a47f28ba1015d0201bda7bf0f358e47bec8c7e4" pinkie@^2.0.0: version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + resolved "https://repository.neo9.pro/content/groups/global-npm/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" pkg-conf@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-2.0.0.tgz#071c87650403bccfb9c627f58751bfe47c067279" + resolved "https://repository.neo9.pro/content/groups/global-npm/pkg-conf/-/pkg-conf-2.0.0.tgz#071c87650403bccfb9c627f58751bfe47c067279" dependencies: find-up "^2.0.0" load-json-file "^2.0.0" pkg-dir@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" + resolved "https://repository.neo9.pro/content/groups/global-npm/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" dependencies: find-up "^1.0.0" +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://repository.neo9.pro/content/groups/global-npm/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + dependencies: + find-up "^2.1.0" + plur@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/plur/-/plur-1.0.0.tgz#db85c6814f5e5e5a3b49efc28d604fec62975156" + resolved "https://repository.neo9.pro/content/groups/global-npm/plur/-/plur-1.0.0.tgz#db85c6814f5e5e5a3b49efc28d604fec62975156" plur@^2.0.0: version "2.1.2" - resolved "https://registry.yarnpkg.com/plur/-/plur-2.1.2.tgz#7482452c1a0f508e3e344eaec312c91c29dc655a" + resolved "https://repository.neo9.pro/content/groups/global-npm/plur/-/plur-2.1.2.tgz#7482452c1a0f508e3e344eaec312c91c29dc655a" dependencies: irregular-plurals "^1.0.0" pluralize@^1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" + resolved "https://repository.neo9.pro/content/groups/global-npm/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" pn@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/pn/-/pn-1.0.0.tgz#1cf5a30b0d806cd18f88fc41a6b5d4ad615b3ba9" + resolved "https://repository.neo9.pro/content/groups/global-npm/pn/-/pn-1.0.0.tgz#1cf5a30b0d806cd18f88fc41a6b5d4ad615b3ba9" post-compile-webpack-plugin@^0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/post-compile-webpack-plugin/-/post-compile-webpack-plugin-0.1.1.tgz#1b1a0eea890ce748556ca49e066a48c900e0b370" + resolved "https://repository.neo9.pro/content/groups/global-npm/post-compile-webpack-plugin/-/post-compile-webpack-plugin-0.1.1.tgz#1b1a0eea890ce748556ca49e066a48c900e0b370" postcss-calc@^5.2.0: version "5.3.1" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-calc/-/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e" dependencies: postcss "^5.0.2" postcss-message-helpers "^2.0.0" @@ -4651,7 +4667,7 @@ postcss-calc@^5.2.0: postcss-colormin@^2.1.8: version "2.2.2" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.2.tgz#6631417d5f0e909a3d7ec26b24c8a8d1e4f96e4b" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-colormin/-/postcss-colormin-2.2.2.tgz#6631417d5f0e909a3d7ec26b24c8a8d1e4f96e4b" dependencies: colormin "^1.0.5" postcss "^5.0.13" @@ -4659,52 +4675,52 @@ postcss-colormin@^2.1.8: postcss-convert-values@^2.3.4: version "2.6.1" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz#bbd8593c5c1fd2e3d1c322bb925dcae8dae4d62d" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz#bbd8593c5c1fd2e3d1c322bb925dcae8dae4d62d" dependencies: postcss "^5.0.11" postcss-value-parser "^3.1.2" postcss-discard-comments@^2.0.4: version "2.0.4" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d" dependencies: postcss "^5.0.14" postcss-discard-duplicates@^2.0.1: version "2.1.0" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz#b9abf27b88ac188158a5eb12abcae20263b91932" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz#b9abf27b88ac188158a5eb12abcae20263b91932" dependencies: postcss "^5.0.4" postcss-discard-empty@^2.0.1: version "2.1.0" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz#d2b4bd9d5ced5ebd8dcade7640c7d7cd7f4f92b5" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz#d2b4bd9d5ced5ebd8dcade7640c7d7cd7f4f92b5" dependencies: postcss "^5.0.14" postcss-discard-overridden@^0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz#8b1eaf554f686fb288cd874c55667b0aa3668d58" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz#8b1eaf554f686fb288cd874c55667b0aa3668d58" dependencies: postcss "^5.0.16" postcss-discard-unused@^2.2.1: version "2.2.3" - resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz#bce30b2cc591ffc634322b5fb3464b6d934f4433" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz#bce30b2cc591ffc634322b5fb3464b6d934f4433" dependencies: postcss "^5.0.14" uniqs "^2.0.0" postcss-filter-plugins@^2.0.0: version "2.0.2" - resolved "https://registry.yarnpkg.com/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz#6d85862534d735ac420e4a85806e1f5d4286d84c" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz#6d85862534d735ac420e4a85806e1f5d4286d84c" dependencies: postcss "^5.0.4" uniqid "^4.0.0" postcss-load-config@^1.1.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-1.2.0.tgz#539e9afc9ddc8620121ebf9d8c3673e0ce50d28a" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-load-config/-/postcss-load-config-1.2.0.tgz#539e9afc9ddc8620121ebf9d8c3673e0ce50d28a" dependencies: cosmiconfig "^2.1.0" object-assign "^4.1.0" @@ -4713,21 +4729,21 @@ postcss-load-config@^1.1.0: postcss-load-options@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/postcss-load-options/-/postcss-load-options-1.2.0.tgz#b098b1559ddac2df04bc0bb375f99a5cfe2b6d8c" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-load-options/-/postcss-load-options-1.2.0.tgz#b098b1559ddac2df04bc0bb375f99a5cfe2b6d8c" dependencies: cosmiconfig "^2.1.0" object-assign "^4.1.0" postcss-load-plugins@^2.3.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz#745768116599aca2f009fad426b00175049d8d92" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz#745768116599aca2f009fad426b00175049d8d92" dependencies: cosmiconfig "^2.1.1" object-assign "^4.1.0" postcss-merge-idents@^2.1.5: version "2.1.7" - resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270" dependencies: has "^1.0.1" postcss "^5.0.10" @@ -4735,13 +4751,13 @@ postcss-merge-idents@^2.1.5: postcss-merge-longhand@^2.0.1: version "2.0.2" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz#23d90cd127b0a77994915332739034a1a4f3d658" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz#23d90cd127b0a77994915332739034a1a4f3d658" dependencies: postcss "^5.0.4" postcss-merge-rules@^2.0.3: version "2.1.2" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz#d1df5dfaa7b1acc3be553f0e9e10e87c61b5f721" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz#d1df5dfaa7b1acc3be553f0e9e10e87c61b5f721" dependencies: browserslist "^1.5.2" caniuse-api "^1.5.2" @@ -4751,11 +4767,11 @@ postcss-merge-rules@^2.0.3: postcss-message-helpers@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz#a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz#a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e" postcss-minify-font-values@^1.0.2: version "1.0.5" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz#4b58edb56641eba7c8474ab3526cafd7bbdecb69" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz#4b58edb56641eba7c8474ab3526cafd7bbdecb69" dependencies: object-assign "^4.0.1" postcss "^5.0.4" @@ -4763,14 +4779,14 @@ postcss-minify-font-values@^1.0.2: postcss-minify-gradients@^1.0.1: version "1.0.5" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz#5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz#5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1" dependencies: postcss "^5.0.12" postcss-value-parser "^3.3.0" postcss-minify-params@^1.0.4: version "1.2.2" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz#ad2ce071373b943b3d930a3fa59a358c28d6f1f3" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz#ad2ce071373b943b3d930a3fa59a358c28d6f1f3" dependencies: alphanum-sort "^1.0.1" postcss "^5.0.2" @@ -4779,7 +4795,7 @@ postcss-minify-params@^1.0.4: postcss-minify-selectors@^2.0.4: version "2.1.1" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz#b2c6a98c0072cf91b932d1a496508114311735bf" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz#b2c6a98c0072cf91b932d1a496508114311735bf" dependencies: alphanum-sort "^1.0.2" has "^1.0.1" @@ -4788,40 +4804,40 @@ postcss-minify-selectors@^2.0.4: postcss-modules-extract-imports@^1.0.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz#66140ecece38ef06bf0d3e355d69bf59d141ea85" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz#66140ecece38ef06bf0d3e355d69bf59d141ea85" dependencies: postcss "^6.0.1" postcss-modules-local-by-default@^1.0.1: version "1.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069" dependencies: css-selector-tokenizer "^0.7.0" postcss "^6.0.1" postcss-modules-scope@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90" dependencies: css-selector-tokenizer "^0.7.0" postcss "^6.0.1" postcss-modules-values@^1.1.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20" dependencies: icss-replace-symbols "^1.1.0" postcss "^6.0.1" postcss-normalize-charset@^1.1.0: version "1.1.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz#ef9ee71212d7fe759c78ed162f61ed62b5cb93f1" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz#ef9ee71212d7fe759c78ed162f61ed62b5cb93f1" dependencies: postcss "^5.0.5" postcss-normalize-url@^3.0.7: version "3.0.8" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz#108f74b3f2fcdaf891a2ffa3ea4592279fc78222" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz#108f74b3f2fcdaf891a2ffa3ea4592279fc78222" dependencies: is-absolute-url "^2.0.0" normalize-url "^1.4.0" @@ -4830,27 +4846,27 @@ postcss-normalize-url@^3.0.7: postcss-ordered-values@^2.1.0: version "2.2.3" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz#eec6c2a67b6c412a8db2042e77fe8da43f95c11d" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz#eec6c2a67b6c412a8db2042e77fe8da43f95c11d" dependencies: postcss "^5.0.4" postcss-value-parser "^3.0.1" postcss-reduce-idents@^2.2.2: version "2.4.0" - resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz#c2c6d20cc958284f6abfbe63f7609bf409059ad3" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz#c2c6d20cc958284f6abfbe63f7609bf409059ad3" dependencies: postcss "^5.0.4" postcss-value-parser "^3.0.2" postcss-reduce-initial@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz#68f80695f045d08263a879ad240df8dd64f644ea" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz#68f80695f045d08263a879ad240df8dd64f644ea" dependencies: postcss "^5.0.4" postcss-reduce-transforms@^1.0.3: version "1.0.4" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz#ff76f4d8212437b31c298a42d2e1444025771ae1" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz#ff76f4d8212437b31c298a42d2e1444025771ae1" dependencies: has "^1.0.1" postcss "^5.0.8" @@ -4858,7 +4874,7 @@ postcss-reduce-transforms@^1.0.3: postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2: version "2.2.3" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90" dependencies: flatten "^1.0.2" indexes-of "^1.0.1" @@ -4866,7 +4882,7 @@ postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2: postcss-svgo@^2.1.1: version "2.1.6" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-2.1.6.tgz#b6df18aa613b666e133f08adb5219c2684ac108d" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-svgo/-/postcss-svgo-2.1.6.tgz#b6df18aa613b666e133f08adb5219c2684ac108d" dependencies: is-svg "^2.0.0" postcss "^5.0.14" @@ -4875,7 +4891,7 @@ postcss-svgo@^2.1.1: postcss-unique-selectors@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz#981d57d29ddcb33e7b1dfe1fd43b8649f933ca1d" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz#981d57d29ddcb33e7b1dfe1fd43b8649f933ca1d" dependencies: alphanum-sort "^1.0.1" postcss "^5.0.4" @@ -4883,11 +4899,11 @@ postcss-unique-selectors@^2.0.2: postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0: version "3.3.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15" postcss-zindex@^2.0.1: version "2.2.0" - resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-2.2.0.tgz#d2109ddc055b91af67fc4cb3b025946639d2af22" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-zindex/-/postcss-zindex-2.2.0.tgz#d2109ddc055b91af67fc4cb3b025946639d2af22" dependencies: has "^1.0.1" postcss "^5.0.4" @@ -4895,7 +4911,7 @@ postcss-zindex@^2.0.1: postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.21, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.6, postcss@^5.0.8, postcss@^5.2.16: version "5.2.17" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.17.tgz#cf4f597b864d65c8a492b2eabe9d706c879c388b" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss/-/postcss-5.2.17.tgz#cf4f597b864d65c8a492b2eabe9d706c879c388b" dependencies: chalk "^1.1.3" js-base64 "^2.1.9" @@ -4904,7 +4920,7 @@ postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0 postcss@^6.0.1: version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.1.tgz#000dbd1f8eef217aa368b9a212c5fc40b2a8f3f2" + resolved "https://repository.neo9.pro/content/groups/global-npm/postcss/-/postcss-6.0.1.tgz#000dbd1f8eef217aa368b9a212c5fc40b2a8f3f2" dependencies: chalk "^1.1.3" source-map "^0.5.6" @@ -4912,44 +4928,44 @@ postcss@^6.0.1: preload-webpack-plugin@^1.2.2: version "1.2.2" - resolved "https://registry.yarnpkg.com/preload-webpack-plugin/-/preload-webpack-plugin-1.2.2.tgz#d1b6f0eab3c2d0bb4c249d409cf6b7a8b0a415dd" + resolved "https://repository.neo9.pro/content/groups/global-npm/preload-webpack-plugin/-/preload-webpack-plugin-1.2.2.tgz#d1b6f0eab3c2d0bb4c249d409cf6b7a8b0a415dd" dependencies: object-assign "^4.1.1" prelude-ls@~1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + resolved "https://repository.neo9.pro/content/groups/global-npm/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" prepend-http@^1.0.0, prepend-http@^1.0.1: version "1.0.4" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + resolved "https://repository.neo9.pro/content/groups/global-npm/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" preserve@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + resolved "https://repository.neo9.pro/content/groups/global-npm/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" pretty-error@^2.0.2: version "2.1.0" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.0.tgz#87f4e9d706a24c87d6cbee9fabec001fcf8c75d8" + resolved "https://repository.neo9.pro/content/groups/global-npm/pretty-error/-/pretty-error-2.1.0.tgz#87f4e9d706a24c87d6cbee9fabec001fcf8c75d8" dependencies: renderkid "^2.0.1" utila "~0.4" pretty-format@^19.0.0: version "19.0.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-19.0.0.tgz#56530d32acb98a3fa4851c4e2b9d37b420684c84" + resolved "https://repository.neo9.pro/content/groups/global-npm/pretty-format/-/pretty-format-19.0.0.tgz#56530d32acb98a3fa4851c4e2b9d37b420684c84" dependencies: ansi-styles "^3.0.0" pretty-ms@^0.2.1: version "0.2.2" - resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-0.2.2.tgz#da879a682ff33a37011046f13d627f67c73b84f6" + resolved "https://repository.neo9.pro/content/groups/global-npm/pretty-ms/-/pretty-ms-0.2.2.tgz#da879a682ff33a37011046f13d627f67c73b84f6" dependencies: parse-ms "^0.1.0" pretty-ms@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-2.1.0.tgz#4257c256df3fb0b451d6affaab021884126981dc" + resolved "https://repository.neo9.pro/content/groups/global-npm/pretty-ms/-/pretty-ms-2.1.0.tgz#4257c256df3fb0b451d6affaab021884126981dc" dependencies: is-finite "^1.0.1" parse-ms "^1.0.0" @@ -4957,19 +4973,19 @@ pretty-ms@^2.0.0: private@^0.1.6: version "0.1.7" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1" + resolved "https://repository.neo9.pro/content/groups/global-npm/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1" process-nextick-args@~1.0.6: version "1.0.7" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" + resolved "https://repository.neo9.pro/content/groups/global-npm/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" process@^0.11.0: version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + resolved "https://repository.neo9.pro/content/groups/global-npm/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" + resolved "https://repository.neo9.pro/content/groups/global-npm/progress-bar-webpack-plugin/-/progress-bar-webpack-plugin-1.9.3.tgz#81fb8bd8e38da6edaf9a20beed79bd978dd63c2a" dependencies: chalk "^1.1.1" object.assign "^4.0.1" @@ -4977,30 +4993,30 @@ progress-bar-webpack-plugin@^1.9.3: progress@^1.1.8: version "1.1.8" - resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" + resolved "https://repository.neo9.pro/content/groups/global-npm/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" proto-list@~1.2.1: version "1.2.4" - resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" + resolved "https://repository.neo9.pro/content/groups/global-npm/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" proxy-addr@~1.1.4: version "1.1.4" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.4.tgz#27e545f6960a44a627d9b44467e35c1b6b4ce2f3" + resolved "https://repository.neo9.pro/content/groups/global-npm/proxy-addr/-/proxy-addr-1.1.4.tgz#27e545f6960a44a627d9b44467e35c1b6b4ce2f3" dependencies: forwarded "~0.1.0" ipaddr.js "1.3.0" prr@~0.0.0: version "0.0.0" - resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" + resolved "https://repository.neo9.pro/content/groups/global-npm/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" pseudomap@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + resolved "https://repository.neo9.pro/content/groups/global-npm/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" public-encrypt@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6" + resolved "https://repository.neo9.pro/content/groups/global-npm/public-encrypt/-/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6" dependencies: bn.js "^4.1.0" browserify-rsa "^4.0.0" @@ -5010,57 +5026,59 @@ public-encrypt@^4.0.0: punycode@1.3.2: version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + resolved "https://repository.neo9.pro/content/groups/global-npm/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" punycode@^1.2.4, punycode@^1.4.1: version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + resolved "https://repository.neo9.pro/content/groups/global-npm/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" q@^1.1.2: version "1.5.0" - resolved "https://registry.yarnpkg.com/q/-/q-1.5.0.tgz#dd01bac9d06d30e6f219aecb8253ee9ebdc308f1" + resolved "https://repository.neo9.pro/content/groups/global-npm/q/-/q-1.5.0.tgz#dd01bac9d06d30e6f219aecb8253ee9ebdc308f1" qs@6.4.0, qs@~6.4.0: version "6.4.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" + resolved "https://repository.neo9.pro/content/groups/global-npm/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" qs@~6.3.0: version "6.3.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.2.tgz#e75bd5f6e268122a2a0e0bda630b2550c166502c" + resolved "https://repository.neo9.pro/content/groups/global-npm/qs/-/qs-6.3.2.tgz#e75bd5f6e268122a2a0e0bda630b2550c166502c" query-string@^4.1.0: version "4.3.4" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" + resolved "https://repository.neo9.pro/content/groups/global-npm/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" dependencies: object-assign "^4.1.0" strict-uri-encode "^1.0.0" querystring-es3@^0.2.0: version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + resolved "https://repository.neo9.pro/content/groups/global-npm/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" querystring@0.2.0, querystring@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + resolved "https://repository.neo9.pro/content/groups/global-npm/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" randomatic@^1.1.3: version "1.1.6" - resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" + resolved "https://repository.neo9.pro/content/groups/global-npm/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" dependencies: is-number "^2.0.2" kind-of "^3.0.2" randombytes@^2.0.0, randombytes@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.3.tgz#674c99760901c3c4112771a31e521dc349cc09ec" + version "2.0.4" + resolved "https://repository.neo9.pro/content/groups/global-npm/randombytes/-/randombytes-2.0.4.tgz#9551df208422c8f80eb58e2326dd0b840ff22efd" + dependencies: + safe-buffer "^5.0.1" range-parser@^1.0.3, range-parser@~1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" + resolved "https://repository.neo9.pro/content/groups/global-npm/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" rc@^1.0.1, rc@^1.1.6, rc@^1.1.7: version "1.2.1" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95" + resolved "https://repository.neo9.pro/content/groups/global-npm/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95" dependencies: deep-extend "~0.4.0" ini "~1.3.0" @@ -5069,21 +5087,21 @@ rc@^1.0.1, rc@^1.1.6, rc@^1.1.7: read-pkg-up@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + resolved "https://repository.neo9.pro/content/groups/global-npm/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" dependencies: find-up "^1.0.0" read-pkg "^1.0.0" read-pkg-up@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + resolved "https://repository.neo9.pro/content/groups/global-npm/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" dependencies: find-up "^2.0.0" read-pkg "^2.0.0" read-pkg@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + resolved "https://repository.neo9.pro/content/groups/global-npm/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" dependencies: load-json-file "^1.0.0" normalize-package-data "^2.3.2" @@ -5091,7 +5109,7 @@ read-pkg@^1.0.0: read-pkg@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" + resolved "https://repository.neo9.pro/content/groups/global-npm/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" dependencies: load-json-file "^2.0.0" normalize-package-data "^2.3.2" @@ -5099,7 +5117,7 @@ read-pkg@^2.0.0: readable-stream@1.0: version "1.0.34" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + resolved "https://repository.neo9.pro/content/groups/global-npm/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" dependencies: core-util-is "~1.0.0" inherits "~2.0.1" @@ -5107,20 +5125,20 @@ readable-stream@1.0: string_decoder "~0.10.x" readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.6: - version "2.2.9" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.9.tgz#cf78ec6f4a6d1eb43d26488cac97f042e74b7fc8" + version "2.2.10" + resolved "https://repository.neo9.pro/content/groups/global-npm/readable-stream/-/readable-stream-2.2.10.tgz#effe72bb7c884c0dd335e2379d526196d9d011ee" dependencies: - buffer-shims "~1.0.0" core-util-is "~1.0.0" inherits "~2.0.1" isarray "~1.0.0" process-nextick-args "~1.0.6" + safe-buffer "^5.0.1" string_decoder "~1.0.0" util-deprecate "~1.0.1" readdirp@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" + resolved "https://repository.neo9.pro/content/groups/global-npm/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" dependencies: graceful-fs "^4.1.2" minimatch "^3.0.2" @@ -5129,7 +5147,7 @@ readdirp@^2.0.0: readline2@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" + resolved "https://repository.neo9.pro/content/groups/global-npm/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" dependencies: code-point-at "^1.0.0" is-fullwidth-code-point "^1.0.0" @@ -5137,20 +5155,20 @@ readline2@^1.0.1: rechoir@^0.6.2: version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + resolved "https://repository.neo9.pro/content/groups/global-npm/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" dependencies: resolve "^1.1.6" redent@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" + resolved "https://repository.neo9.pro/content/groups/global-npm/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" dependencies: indent-string "^2.1.0" strip-indent "^1.0.1" reduce-css-calc@^1.2.6: version "1.3.0" - resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716" + resolved "https://repository.neo9.pro/content/groups/global-npm/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716" dependencies: balanced-match "^0.4.2" math-expression-evaluator "^1.2.14" @@ -5158,21 +5176,21 @@ reduce-css-calc@^1.2.6: reduce-function-call@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/reduce-function-call/-/reduce-function-call-1.0.2.tgz#5a200bf92e0e37751752fe45b0ab330fd4b6be99" + resolved "https://repository.neo9.pro/content/groups/global-npm/reduce-function-call/-/reduce-function-call-1.0.2.tgz#5a200bf92e0e37751752fe45b0ab330fd4b6be99" dependencies: balanced-match "^0.4.2" regenerate@^1.2.1: version "1.3.2" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260" + resolved "https://repository.neo9.pro/content/groups/global-npm/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260" regenerator-runtime@^0.10.0: version "0.10.5" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" + resolved "https://repository.neo9.pro/content/groups/global-npm/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" regenerator-transform@0.9.11: version "0.9.11" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.11.tgz#3a7d067520cb7b7176769eb5ff868691befe1283" + resolved "https://repository.neo9.pro/content/groups/global-npm/regenerator-transform/-/regenerator-transform-0.9.11.tgz#3a7d067520cb7b7176769eb5ff868691befe1283" dependencies: babel-runtime "^6.18.0" babel-types "^6.19.0" @@ -5180,14 +5198,14 @@ regenerator-transform@0.9.11: regex-cache@^0.4.2: version "0.4.3" - resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" + resolved "https://repository.neo9.pro/content/groups/global-npm/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" dependencies: is-equal-shallow "^0.1.3" is-primitive "^2.0.0" regexpu-core@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" + resolved "https://repository.neo9.pro/content/groups/global-npm/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" dependencies: regenerate "^1.2.1" regjsgen "^0.2.0" @@ -5195,7 +5213,7 @@ regexpu-core@^1.0.0: regexpu-core@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" + resolved "https://repository.neo9.pro/content/groups/global-npm/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" dependencies: regenerate "^1.2.1" regjsgen "^0.2.0" @@ -5203,44 +5221,44 @@ regexpu-core@^2.0.0: registry-auth-token@^3.0.1: version "3.3.1" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.3.1.tgz#fb0d3289ee0d9ada2cbb52af5dfe66cb070d3006" + resolved "https://repository.neo9.pro/content/groups/global-npm/registry-auth-token/-/registry-auth-token-3.3.1.tgz#fb0d3289ee0d9ada2cbb52af5dfe66cb070d3006" dependencies: rc "^1.1.6" safe-buffer "^5.0.1" registry-url@^3.0.3: version "3.1.0" - resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" + resolved "https://repository.neo9.pro/content/groups/global-npm/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" dependencies: rc "^1.0.1" regjsgen@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" + resolved "https://repository.neo9.pro/content/groups/global-npm/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" regjsparser@^0.1.4: version "0.1.5" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" + resolved "https://repository.neo9.pro/content/groups/global-npm/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" dependencies: jsesc "~0.5.0" relateurl@0.2.x: version "0.2.7" - resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" + resolved "https://repository.neo9.pro/content/groups/global-npm/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" release-zalgo@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/release-zalgo/-/release-zalgo-1.0.0.tgz#09700b7e5074329739330e535c5a90fb67851730" + resolved "https://repository.neo9.pro/content/groups/global-npm/release-zalgo/-/release-zalgo-1.0.0.tgz#09700b7e5074329739330e535c5a90fb67851730" dependencies: es6-error "^4.0.1" remove-trailing-separator@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.0.1.tgz#615ebb96af559552d4bf4057c8436d486ab63cc4" + resolved "https://repository.neo9.pro/content/groups/global-npm/remove-trailing-separator/-/remove-trailing-separator-1.0.1.tgz#615ebb96af559552d4bf4057c8436d486ab63cc4" renderkid@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.1.tgz#898cabfc8bede4b7b91135a3ffd323e58c0db319" + resolved "https://repository.neo9.pro/content/groups/global-npm/renderkid/-/renderkid-2.0.1.tgz#898cabfc8bede4b7b91135a3ffd323e58c0db319" dependencies: css-select "^1.1.0" dom-converter "~0.1" @@ -5250,27 +5268,27 @@ renderkid@^2.0.1: repeat-element@^1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" + resolved "https://repository.neo9.pro/content/groups/global-npm/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" repeat-string@^1.5.2: version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + resolved "https://repository.neo9.pro/content/groups/global-npm/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" repeating@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + resolved "https://repository.neo9.pro/content/groups/global-npm/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" dependencies: is-finite "^1.0.0" request-promise-core@1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6" + resolved "https://repository.neo9.pro/content/groups/global-npm/request-promise-core/-/request-promise-core-1.1.1.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6" dependencies: lodash "^4.13.1" request-promise-native@^1.0.3, request-promise-native@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.4.tgz#86988ec8eee408e45579fce83bfd05b3adf9a155" + resolved "https://repository.neo9.pro/content/groups/global-npm/request-promise-native/-/request-promise-native-1.0.4.tgz#86988ec8eee408e45579fce83bfd05b3adf9a155" dependencies: request-promise-core "1.1.1" stealthy-require "^1.1.0" @@ -5278,7 +5296,7 @@ request-promise-native@^1.0.3, request-promise-native@^1.0.4: request@2.79.0: version "2.79.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" + resolved "https://repository.neo9.pro/content/groups/global-npm/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" dependencies: aws-sign2 "~0.6.0" aws4 "^1.2.1" @@ -5303,7 +5321,7 @@ request@2.79.0: request@^2.79.0, request@^2.81.0: version "2.81.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" + resolved "https://repository.neo9.pro/content/groups/global-npm/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" dependencies: aws-sign2 "~0.6.0" aws4 "^1.2.1" @@ -5330,127 +5348,135 @@ request@^2.79.0, request@^2.81.0: require-directory@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + resolved "https://repository.neo9.pro/content/groups/global-npm/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" require-from-string@^1.1.0: version "1.2.1" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-1.2.1.tgz#529c9ccef27380adfec9a2f965b649bbee636418" + resolved "https://repository.neo9.pro/content/groups/global-npm/require-from-string/-/require-from-string-1.2.1.tgz#529c9ccef27380adfec9a2f965b649bbee636418" require-main-filename@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + resolved "https://repository.neo9.pro/content/groups/global-npm/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" require-precompiled@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/require-precompiled/-/require-precompiled-0.1.0.tgz#5a1b52eb70ebed43eb982e974c85ab59571e56fa" + resolved "https://repository.neo9.pro/content/groups/global-npm/require-precompiled/-/require-precompiled-0.1.0.tgz#5a1b52eb70ebed43eb982e974c85ab59571e56fa" require-uncached@^1.0.2: version "1.0.3" - resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" + resolved "https://repository.neo9.pro/content/groups/global-npm/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" dependencies: 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" + resolved "https://repository.neo9.pro/content/groups/global-npm/resolve-cwd/-/resolve-cwd-1.0.0.tgz#4eaeea41ed040d1702457df64a42b2b07d246f9f" dependencies: resolve-from "^2.0.0" resolve-from@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" + resolved "https://repository.neo9.pro/content/groups/global-npm/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" resolve-from@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57" + resolved "https://repository.neo9.pro/content/groups/global-npm/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57" -resolve@^1.1.6, resolve@^1.1.7, resolve@^1.2.0, resolve@^1.3.3: +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://repository.neo9.pro/content/groups/global-npm/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + +resolve@^1.1.6, resolve@^1.2.0, resolve@^1.3.3: version "1.3.3" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.3.tgz#655907c3469a8680dc2de3a275a8fdd69691f0e5" + resolved "https://repository.neo9.pro/content/groups/global-npm/resolve/-/resolve-1.3.3.tgz#655907c3469a8680dc2de3a275a8fdd69691f0e5" dependencies: path-parse "^1.0.5" restore-cursor@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" + resolved "https://repository.neo9.pro/content/groups/global-npm/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" dependencies: exit-hook "^1.0.0" onetime "^1.0.0" restore-cursor@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + resolved "https://repository.neo9.pro/content/groups/global-npm/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" dependencies: onetime "^2.0.0" signal-exit "^3.0.2" right-align@^0.1.1: version "0.1.3" - resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" + resolved "https://repository.neo9.pro/content/groups/global-npm/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" dependencies: align-text "^0.1.1" rimraf@2, rimraf@^2.2.8, rimraf@^2.3.3, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.1: version "2.6.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" + resolved "https://repository.neo9.pro/content/groups/global-npm/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" dependencies: glob "^7.0.5" ripemd160@^2.0.0, ripemd160@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.1.tgz#0f4584295c53a3628af7e6d79aca21ce57d1c6e7" + resolved "https://repository.neo9.pro/content/groups/global-npm/ripemd160/-/ripemd160-2.0.1.tgz#0f4584295c53a3628af7e6d79aca21ce57d1c6e7" dependencies: hash-base "^2.0.0" inherits "^2.0.1" run-async@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" + resolved "https://repository.neo9.pro/content/groups/global-npm/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" dependencies: once "^1.3.0" run-async@^2.2.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" + resolved "https://repository.neo9.pro/content/groups/global-npm/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" dependencies: is-promise "^2.1.0" rx-lite@^3.1.2: version "3.1.2" - resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" + resolved "https://repository.neo9.pro/content/groups/global-npm/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" rx@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" + resolved "https://repository.neo9.pro/content/groups/global-npm/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" -safe-buffer@^5.0.1, safe-buffer@~5.0.1: +safe-buffer@^5.0.1: + version "5.1.0" + resolved "https://repository.neo9.pro/content/groups/global-npm/safe-buffer/-/safe-buffer-5.1.0.tgz#fe4c8460397f9eaaaa58e73be46273408a45e223" + +safe-buffer@~5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7" + resolved "https://repository.neo9.pro/content/groups/global-npm/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7" sax@^1.2.1, sax@~1.2.1: version "1.2.2" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.2.tgz#fd8631a23bc7826bef5d871bdb87378c95647828" + resolved "https://repository.neo9.pro/content/groups/global-npm/sax/-/sax-1.2.2.tgz#fd8631a23bc7826bef5d871bdb87378c95647828" script-ext-html-webpack-plugin@^1.8.1: version "1.8.1" - resolved "https://registry.yarnpkg.com/script-ext-html-webpack-plugin/-/script-ext-html-webpack-plugin-1.8.1.tgz#36bba726c38bcdebc1e69333e3fd7d718a9b3195" + resolved "https://repository.neo9.pro/content/groups/global-npm/script-ext-html-webpack-plugin/-/script-ext-html-webpack-plugin-1.8.1.tgz#36bba726c38bcdebc1e69333e3fd7d718a9b3195" dependencies: debug "^2.6.3" semver-diff@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" + resolved "https://repository.neo9.pro/content/groups/global-npm/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" dependencies: semver "^5.0.3" "semver@2 || 3 || 4 || 5", semver@5.3.0, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0: version "5.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + resolved "https://repository.neo9.pro/content/groups/global-npm/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" send@0.15.3: version "0.15.3" - resolved "https://registry.yarnpkg.com/send/-/send-0.15.3.tgz#5013f9f99023df50d1bd9892c19e3defd1d53309" + resolved "https://repository.neo9.pro/content/groups/global-npm/send/-/send-0.15.3.tgz#5013f9f99023df50d1bd9892c19e3defd1d53309" dependencies: debug "2.6.7" depd "~1.1.0" @@ -5468,11 +5494,11 @@ send@0.15.3: serialize-javascript@^1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.3.0.tgz#86a4f3752f5c7e47295449b0bbb63d64ba533f05" + resolved "https://repository.neo9.pro/content/groups/global-npm/serialize-javascript/-/serialize-javascript-1.3.0.tgz#86a4f3752f5c7e47295449b0bbb63d64ba533f05" serve-static@1.12.3, serve-static@^1.12.3: version "1.12.3" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.12.3.tgz#9f4ba19e2f3030c547f8af99107838ec38d5b1e2" + resolved "https://repository.neo9.pro/content/groups/global-npm/serve-static/-/serve-static-1.12.3.tgz#9f4ba19e2f3030c547f8af99107838ec38d5b1e2" dependencies: encodeurl "~1.0.1" escape-html "~1.0.3" @@ -5481,29 +5507,29 @@ serve-static@1.12.3, serve-static@^1.12.3: set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + resolved "https://repository.neo9.pro/content/groups/global-npm/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" set-immediate-shim@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" + resolved "https://repository.neo9.pro/content/groups/global-npm/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" setimmediate@^1.0.4: version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + resolved "https://repository.neo9.pro/content/groups/global-npm/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" setprototypeof@1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" + resolved "https://repository.neo9.pro/content/groups/global-npm/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" sha.js@^2.4.0, sha.js@^2.4.8: version "2.4.8" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.8.tgz#37068c2c476b6baf402d14a49c67f597921f634f" + resolved "https://repository.neo9.pro/content/groups/global-npm/sha.js/-/sha.js-2.4.8.tgz#37068c2c476b6baf402d14a49c67f597921f634f" dependencies: inherits "^2.0.1" shelljs@^0.7.5: version "0.7.7" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.7.tgz#b2f5c77ef97148f4b4f6e22682e10bba8667cff1" + resolved "https://repository.neo9.pro/content/groups/global-npm/shelljs/-/shelljs-0.7.7.tgz#b2f5c77ef97148f4b4f6e22682e10bba8667cff1" dependencies: glob "^7.0.0" interpret "^1.0.0" @@ -5511,102 +5537,98 @@ shelljs@^0.7.5: sigmund@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" - -signal-exit@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-2.1.2.tgz#375879b1f92ebc3b334480d038dc546a6d558564" + resolved "https://repository.neo9.pro/content/groups/global-npm/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" signal-exit@^3.0.0, signal-exit@^3.0.1, signal-exit@^3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + resolved "https://repository.neo9.pro/content/groups/global-npm/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" slash@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + resolved "https://repository.neo9.pro/content/groups/global-npm/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" slice-ansi@0.0.4: version "0.0.4" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" + resolved "https://repository.neo9.pro/content/groups/global-npm/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" slide@^1.1.5: version "1.1.6" - resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" + resolved "https://repository.neo9.pro/content/groups/global-npm/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" sntp@1.x.x: version "1.0.9" - resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" + resolved "https://repository.neo9.pro/content/groups/global-npm/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" dependencies: hoek "2.x.x" sort-keys@^1.0.0, sort-keys@^1.1.1, sort-keys@^1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + resolved "https://repository.neo9.pro/content/groups/global-npm/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" dependencies: is-plain-obj "^1.0.0" source-list-map@^0.1.7, 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" + resolved "https://repository.neo9.pro/content/groups/global-npm/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106" source-list-map@^1.1.1: version "1.1.2" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-1.1.2.tgz#9889019d1024cce55cdc069498337ef6186a11a1" + resolved "https://repository.neo9.pro/content/groups/global-npm/source-list-map/-/source-list-map-1.1.2.tgz#9889019d1024cce55cdc069498337ef6186a11a1" source-map-support@^0.4.0, source-map-support@^0.4.2: version "0.4.15" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.15.tgz#03202df65c06d2bd8c7ec2362a193056fef8d3b1" + resolved "https://repository.neo9.pro/content/groups/global-npm/source-map-support/-/source-map-support-0.4.15.tgz#03202df65c06d2bd8c7ec2362a193056fef8d3b1" dependencies: source-map "^0.5.6" source-map@0.5.6, source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3: version "0.5.6" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" + resolved "https://repository.neo9.pro/content/groups/global-npm/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" source-map@^0.4.4: version "0.4.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" + resolved "https://repository.neo9.pro/content/groups/global-npm/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" dependencies: amdefine ">=0.0.4" source-map@~0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" + resolved "https://repository.neo9.pro/content/groups/global-npm/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" dependencies: amdefine ">=0.0.4" -spawn-wrap@1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/spawn-wrap/-/spawn-wrap-1.2.4.tgz#920eb211a769c093eebfbd5b0e7a5d2e68ab2e40" +spawn-wrap@^1.3.6: + version "1.3.6" + resolved "https://repository.neo9.pro/content/groups/global-npm/spawn-wrap/-/spawn-wrap-1.3.6.tgz#ccec4a949d8ce7e2b1a35cf4671d683d2e76a1d1" dependencies: - foreground-child "^1.3.3" + foreground-child "^1.5.6" mkdirp "^0.5.0" os-homedir "^1.0.1" rimraf "^2.3.3" - signal-exit "^2.0.0" + signal-exit "^3.0.2" which "^1.2.4" spdx-correct@~1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" + resolved "https://repository.neo9.pro/content/groups/global-npm/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" dependencies: spdx-license-ids "^1.0.2" spdx-expression-parse@~1.0.0: version "1.0.4" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" + resolved "https://repository.neo9.pro/content/groups/global-npm/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" spdx-license-ids@^1.0.2: version "1.2.2" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" + resolved "https://repository.neo9.pro/content/groups/global-npm/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" sprintf-js@~1.0.2: version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + resolved "https://repository.neo9.pro/content/groups/global-npm/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" sshpk@^1.7.0: version "1.13.0" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.0.tgz#ff2a3e4fd04497555fed97b39a0fd82fafb3a33c" + resolved "https://repository.neo9.pro/content/groups/global-npm/sshpk/-/sshpk-1.13.0.tgz#ff2a3e4fd04497555fed97b39a0fd82fafb3a33c" dependencies: asn1 "~0.2.3" assert-plus "^1.0.0" @@ -5621,36 +5643,36 @@ sshpk@^1.7.0: stack-utils@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.1.tgz#d4f33ab54e8e38778b0ca5cfd3b3afb12db68620" + resolved "https://repository.neo9.pro/content/groups/global-npm/stack-utils/-/stack-utils-1.0.1.tgz#d4f33ab54e8e38778b0ca5cfd3b3afb12db68620" stackframe@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.0.3.tgz#fe64ab20b170e4ce49044b126c119dfa0e5dc7cc" + resolved "https://repository.neo9.pro/content/groups/global-npm/stackframe/-/stackframe-1.0.3.tgz#fe64ab20b170e4ce49044b126c119dfa0e5dc7cc" "statuses@>= 1.3.1 < 2", statuses@~1.3.1: version "1.3.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" + resolved "https://repository.neo9.pro/content/groups/global-npm/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" std-mocks@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/std-mocks/-/std-mocks-1.0.1.tgz#d3388876d7beeba3c70fbd8e2bcaf46eb07d79fe" + resolved "https://repository.neo9.pro/content/groups/global-npm/std-mocks/-/std-mocks-1.0.1.tgz#d3388876d7beeba3c70fbd8e2bcaf46eb07d79fe" dependencies: lodash "^4.11.1" stealthy-require@^1.1.0: version "1.1.1" - resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + resolved "https://repository.neo9.pro/content/groups/global-npm/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" stream-browserify@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" + resolved "https://repository.neo9.pro/content/groups/global-npm/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" dependencies: inherits "~2.0.1" readable-stream "^2.0.2" stream-http@^2.3.1: version "2.7.1" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.7.1.tgz#546a51741ad5a6b07e9e31b0b10441a917df528a" + resolved "https://repository.neo9.pro/content/groups/global-npm/stream-http/-/stream-http-2.7.1.tgz#546a51741ad5a6b07e9e31b0b10441a917df528a" dependencies: builtin-status-codes "^3.0.0" inherits "^2.0.1" @@ -5660,17 +5682,17 @@ stream-http@^2.3.1: strict-uri-encode@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + resolved "https://repository.neo9.pro/content/groups/global-npm/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" string-length@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-1.0.1.tgz#56970fb1c38558e9e70b728bf3de269ac45adfac" + resolved "https://repository.neo9.pro/content/groups/global-npm/string-length/-/string-length-1.0.1.tgz#56970fb1c38558e9e70b728bf3de269ac45adfac" dependencies: strip-ansi "^3.0.0" string-width@^1.0.1, string-width@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + resolved "https://repository.neo9.pro/content/groups/global-npm/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" dependencies: code-point-at "^1.0.0" is-fullwidth-code-point "^1.0.0" @@ -5678,78 +5700,78 @@ string-width@^1.0.1, string-width@^1.0.2: string-width@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.0.0.tgz#635c5436cc72a6e0c387ceca278d4e2eec52687e" + resolved "https://repository.neo9.pro/content/groups/global-npm/string-width/-/string-width-2.0.0.tgz#635c5436cc72a6e0c387ceca278d4e2eec52687e" dependencies: is-fullwidth-code-point "^2.0.0" strip-ansi "^3.0.0" string_decoder@^0.10.25, string_decoder@~0.10.x: version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + resolved "https://repository.neo9.pro/content/groups/global-npm/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" string_decoder@~1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.1.tgz#62e200f039955a6810d8df0a33ffc0f013662d98" + resolved "https://repository.neo9.pro/content/groups/global-npm/string_decoder/-/string_decoder-1.0.1.tgz#62e200f039955a6810d8df0a33ffc0f013662d98" dependencies: safe-buffer "^5.0.1" stringstream@~0.0.4: version "0.0.5" - resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" + resolved "https://repository.neo9.pro/content/groups/global-npm/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + resolved "https://repository.neo9.pro/content/groups/global-npm/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" dependencies: ansi-regex "^2.0.0" strip-ansi@~0.1.0: version "0.1.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" + resolved "https://repository.neo9.pro/content/groups/global-npm/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" strip-bom-buf@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-bom-buf/-/strip-bom-buf-1.0.0.tgz#1cb45aaf57530f4caf86c7f75179d2c9a51dd572" + resolved "https://repository.neo9.pro/content/groups/global-npm/strip-bom-buf/-/strip-bom-buf-1.0.0.tgz#1cb45aaf57530f4caf86c7f75179d2c9a51dd572" dependencies: is-utf8 "^0.2.1" strip-bom@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + resolved "https://repository.neo9.pro/content/groups/global-npm/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" dependencies: is-utf8 "^0.2.0" strip-bom@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + resolved "https://repository.neo9.pro/content/groups/global-npm/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" strip-eof@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + resolved "https://repository.neo9.pro/content/groups/global-npm/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" strip-indent@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" + resolved "https://repository.neo9.pro/content/groups/global-npm/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" dependencies: get-stdin "^4.0.1" strip-json-comments@~2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + resolved "https://repository.neo9.pro/content/groups/global-npm/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" supports-color@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + resolved "https://repository.neo9.pro/content/groups/global-npm/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" supports-color@^3.1.0, supports-color@^3.1.2, supports-color@^3.2.3: version "3.2.3" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" + resolved "https://repository.neo9.pro/content/groups/global-npm/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" dependencies: has-flag "^1.0.0" svgo@^0.7.0: version "0.7.2" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5" + resolved "https://repository.neo9.pro/content/groups/global-npm/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5" dependencies: coa "~1.0.1" colors "~1.1.2" @@ -5761,19 +5783,19 @@ svgo@^0.7.0: symbol-observable@^0.2.2: version "0.2.4" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-0.2.4.tgz#95a83db26186d6af7e7a18dbd9760a2f86d08f40" + resolved "https://repository.neo9.pro/content/groups/global-npm/symbol-observable/-/symbol-observable-0.2.4.tgz#95a83db26186d6af7e7a18dbd9760a2f86d08f40" symbol-observable@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d" + resolved "https://repository.neo9.pro/content/groups/global-npm/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d" symbol-tree@^3.2.1: version "3.2.2" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" + resolved "https://repository.neo9.pro/content/groups/global-npm/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" table@^3.7.8: version "3.8.3" - resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" + resolved "https://repository.neo9.pro/content/groups/global-npm/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" dependencies: ajv "^4.7.0" ajv-keywords "^1.0.0" @@ -5784,11 +5806,11 @@ table@^3.7.8: tapable@^0.2.5, tapable@~0.2.5: version "0.2.6" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.6.tgz#206be8e188860b514425375e6f1ae89bfb01fd8d" + resolved "https://repository.neo9.pro/content/groups/global-npm/tapable/-/tapable-0.2.6.tgz#206be8e188860b514425375e6f1ae89bfb01fd8d" tar-pack@^3.4.0: version "3.4.0" - resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.0.tgz#23be2d7f671a8339376cbdb0b8fe3fdebf317984" + resolved "https://repository.neo9.pro/content/groups/global-npm/tar-pack/-/tar-pack-3.4.0.tgz#23be2d7f671a8339376cbdb0b8fe3fdebf317984" dependencies: debug "^2.2.0" fstream "^1.0.10" @@ -5801,7 +5823,7 @@ tar-pack@^3.4.0: tar@^2.2.1: version "2.2.1" - resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" + resolved "https://repository.neo9.pro/content/groups/global-npm/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" dependencies: block-stream "*" fstream "^1.0.2" @@ -5809,13 +5831,13 @@ tar@^2.2.1: term-size@^0.1.0: version "0.1.1" - resolved "https://registry.yarnpkg.com/term-size/-/term-size-0.1.1.tgz#87360b96396cab5760963714cda0d0cbeecad9ca" + resolved "https://repository.neo9.pro/content/groups/global-npm/term-size/-/term-size-0.1.1.tgz#87360b96396cab5760963714cda0d0cbeecad9ca" dependencies: execa "^0.4.0" -test-exclude@^4.1.0: +test-exclude@^4.1.1: version "4.1.1" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.1.1.tgz#4d84964b0966b0087ecc334a2ce002d3d9341e26" + resolved "https://repository.neo9.pro/content/groups/global-npm/test-exclude/-/test-exclude-4.1.1.tgz#4d84964b0966b0087ecc334a2ce002d3d9341e26" dependencies: arrify "^1.0.1" micromatch "^2.3.11" @@ -5825,22 +5847,22 @@ test-exclude@^4.1.0: text-table@^0.2.0, text-table@~0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + resolved "https://repository.neo9.pro/content/groups/global-npm/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" through2@^2.0.0: version "2.0.3" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" + resolved "https://repository.neo9.pro/content/groups/global-npm/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" dependencies: readable-stream "^2.1.5" xtend "~4.0.1" through@^2.3.6: version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + resolved "https://repository.neo9.pro/content/groups/global-npm/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" time-require@^0.1.2: version "0.1.2" - resolved "https://registry.yarnpkg.com/time-require/-/time-require-0.1.2.tgz#f9e12cb370fc2605e11404582ba54ef5ca2b2d98" + resolved "https://repository.neo9.pro/content/groups/global-npm/time-require/-/time-require-0.1.2.tgz#f9e12cb370fc2605e11404582ba54ef5ca2b2d98" dependencies: chalk "^0.4.0" date-time "^0.1.1" @@ -5849,99 +5871,99 @@ time-require@^0.1.2: timed-out@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" + resolved "https://repository.neo9.pro/content/groups/global-npm/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" timers-browserify@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.2.tgz#ab4883cf597dcd50af211349a00fbca56ac86b86" + resolved "https://repository.neo9.pro/content/groups/global-npm/timers-browserify/-/timers-browserify-2.0.2.tgz#ab4883cf597dcd50af211349a00fbca56ac86b86" dependencies: setimmediate "^1.0.4" tmp@^0.0.31: version "0.0.31" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7" + resolved "https://repository.neo9.pro/content/groups/global-npm/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7" dependencies: os-tmpdir "~1.0.1" to-arraybuffer@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + resolved "https://repository.neo9.pro/content/groups/global-npm/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" to-fast-properties@^1.0.1: version "1.0.3" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" + resolved "https://repository.neo9.pro/content/groups/global-npm/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" toposort@^1.0.0: version "1.0.3" - resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.3.tgz#f02cd8a74bd8be2fc0e98611c3bacb95a171869c" + resolved "https://repository.neo9.pro/content/groups/global-npm/toposort/-/toposort-1.0.3.tgz#f02cd8a74bd8be2fc0e98611c3bacb95a171869c" tough-cookie@>=2.3.0, tough-cookie@^2.3.2, tough-cookie@~2.3.0: version "2.3.2" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" + resolved "https://repository.neo9.pro/content/groups/global-npm/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" dependencies: punycode "^1.4.1" tr46@~0.0.3: version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + resolved "https://repository.neo9.pro/content/groups/global-npm/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" trim-newlines@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + resolved "https://repository.neo9.pro/content/groups/global-npm/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" trim-right@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" + resolved "https://repository.neo9.pro/content/groups/global-npm/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" tryit@^1.0.1: version "1.0.3" - resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb" + resolved "https://repository.neo9.pro/content/groups/global-npm/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb" tty-browserify@0.0.0: version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + resolved "https://repository.neo9.pro/content/groups/global-npm/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" tunnel-agent@^0.6.0: version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + resolved "https://repository.neo9.pro/content/groups/global-npm/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" dependencies: safe-buffer "^5.0.1" tunnel-agent@~0.4.1: version "0.4.3" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" + resolved "https://repository.neo9.pro/content/groups/global-npm/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + resolved "https://repository.neo9.pro/content/groups/global-npm/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" type-check@~0.3.2: version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + resolved "https://repository.neo9.pro/content/groups/global-npm/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" dependencies: prelude-ls "~1.1.2" type-is@~1.6.15: version "1.6.15" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410" + resolved "https://repository.neo9.pro/content/groups/global-npm/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410" dependencies: media-typer "0.3.0" mime-types "~2.1.15" typedarray@^0.0.6: version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + resolved "https://repository.neo9.pro/content/groups/global-npm/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" uglify-js@3.0.x: - version "3.0.13" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.0.13.tgz#1871d736aa1e550c728d7e5a6556579e70925d68" + version "3.0.15" + resolved "https://repository.neo9.pro/content/groups/global-npm/uglify-js/-/uglify-js-3.0.15.tgz#aacb323a846b234602270dead8a32441a8806f42" dependencies: commander "~2.9.0" source-map "~0.5.1" uglify-js@^2.6, uglify-js@^2.8.27: - version "2.8.27" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.27.tgz#47787f912b0f242e5b984343be8e35e95f694c9c" + version "2.8.28" + resolved "https://repository.neo9.pro/content/groups/global-npm/uglify-js/-/uglify-js-2.8.28.tgz#e335032df9bb20dcb918f164589d5af47f38834a" dependencies: source-map "~0.5.1" yargs "~3.10.0" @@ -5950,43 +5972,43 @@ uglify-js@^2.6, uglify-js@^2.8.27: uglify-to-browserify@~1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" + resolved "https://repository.neo9.pro/content/groups/global-npm/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" uid-number@^0.0.6: version "0.0.6" - resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" + resolved "https://repository.neo9.pro/content/groups/global-npm/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" uid2@0.0.3: version "0.0.3" - resolved "https://registry.yarnpkg.com/uid2/-/uid2-0.0.3.tgz#483126e11774df2f71b8b639dcd799c376162b82" + resolved "https://repository.neo9.pro/content/groups/global-npm/uid2/-/uid2-0.0.3.tgz#483126e11774df2f71b8b639dcd799c376162b82" ultron@~1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.0.tgz#b07a2e6a541a815fc6a34ccd4533baec307ca864" + resolved "https://repository.neo9.pro/content/groups/global-npm/ultron/-/ultron-1.1.0.tgz#b07a2e6a541a815fc6a34ccd4533baec307ca864" uniq@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + resolved "https://repository.neo9.pro/content/groups/global-npm/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" uniqid@^4.0.0: version "4.1.1" - resolved "https://registry.yarnpkg.com/uniqid/-/uniqid-4.1.1.tgz#89220ddf6b751ae52b5f72484863528596bb84c1" + resolved "https://repository.neo9.pro/content/groups/global-npm/uniqid/-/uniqid-4.1.1.tgz#89220ddf6b751ae52b5f72484863528596bb84c1" dependencies: macaddress "^0.2.8" uniqs@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" + resolved "https://repository.neo9.pro/content/groups/global-npm/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" unique-string@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" + resolved "https://repository.neo9.pro/content/groups/global-npm/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" dependencies: crypto-random-string "^1.0.0" unique-temp-dir@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/unique-temp-dir/-/unique-temp-dir-1.0.0.tgz#6dce95b2681ca003eebfb304a415f9cbabcc5385" + resolved "https://repository.neo9.pro/content/groups/global-npm/unique-temp-dir/-/unique-temp-dir-1.0.0.tgz#6dce95b2681ca003eebfb304a415f9cbabcc5385" dependencies: mkdirp "^0.5.1" os-tmpdir "^1.0.1" @@ -5994,19 +6016,19 @@ unique-temp-dir@^1.0.0: universalify@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.0.tgz#9eb1c4651debcc670cc94f1a75762332bb967778" + resolved "https://repository.neo9.pro/content/groups/global-npm/universalify/-/universalify-0.1.0.tgz#9eb1c4651debcc670cc94f1a75762332bb967778" unpipe@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + resolved "https://repository.neo9.pro/content/groups/global-npm/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" unzip-response@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" + resolved "https://repository.neo9.pro/content/groups/global-npm/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" update-notifier@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.1.0.tgz#ec0c1e53536b76647a24b77cb83966d9315123d9" + resolved "https://repository.neo9.pro/content/groups/global-npm/update-notifier/-/update-notifier-2.1.0.tgz#ec0c1e53536b76647a24b77cb83966d9315123d9" dependencies: boxen "^1.0.0" chalk "^1.0.0" @@ -6019,98 +6041,98 @@ update-notifier@^2.1.0: upper-case@^1.1.1: version "1.1.3" - resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" + resolved "https://repository.neo9.pro/content/groups/global-npm/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" url-loader@^0.5.8: version "0.5.8" - resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-0.5.8.tgz#b9183b1801e0f847718673673040bc9dc1c715c5" + resolved "https://repository.neo9.pro/content/groups/global-npm/url-loader/-/url-loader-0.5.8.tgz#b9183b1801e0f847718673673040bc9dc1c715c5" dependencies: loader-utils "^1.0.2" mime "1.3.x" url-parse-lax@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" + resolved "https://repository.neo9.pro/content/groups/global-npm/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" dependencies: prepend-http "^1.0.1" url@^0.11.0: version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + resolved "https://repository.neo9.pro/content/groups/global-npm/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" dependencies: punycode "1.3.2" querystring "0.2.0" urlgrey@0.4.4: version "0.4.4" - resolved "https://registry.yarnpkg.com/urlgrey/-/urlgrey-0.4.4.tgz#892fe95960805e85519f1cd4389f2cb4cbb7652f" + resolved "https://repository.neo9.pro/content/groups/global-npm/urlgrey/-/urlgrey-0.4.4.tgz#892fe95960805e85519f1cd4389f2cb4cbb7652f" user-home@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" + resolved "https://repository.neo9.pro/content/groups/global-npm/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" dependencies: os-homedir "^1.0.0" util-deprecate@~1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + resolved "https://repository.neo9.pro/content/groups/global-npm/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" util@0.10.3, util@^0.10.3: version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + resolved "https://repository.neo9.pro/content/groups/global-npm/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" dependencies: inherits "2.0.1" utila@~0.3: version "0.3.3" - resolved "https://registry.yarnpkg.com/utila/-/utila-0.3.3.tgz#d7e8e7d7e309107092b05f8d9688824d633a4226" + resolved "https://repository.neo9.pro/content/groups/global-npm/utila/-/utila-0.3.3.tgz#d7e8e7d7e309107092b05f8d9688824d633a4226" utila@~0.4: version "0.4.0" - resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + resolved "https://repository.neo9.pro/content/groups/global-npm/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" utils-merge@1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8" + resolved "https://repository.neo9.pro/content/groups/global-npm/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8" uuid@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" + resolved "https://repository.neo9.pro/content/groups/global-npm/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" validate-npm-package-license@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" + resolved "https://repository.neo9.pro/content/groups/global-npm/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" dependencies: spdx-correct "~1.0.0" spdx-expression-parse "~1.0.0" vary@~1.1.0, vary@~1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.1.tgz#67535ebb694c1d52257457984665323f587e8d37" + resolved "https://repository.neo9.pro/content/groups/global-npm/vary/-/vary-1.1.1.tgz#67535ebb694c1d52257457984665323f587e8d37" vendors@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.1.tgz#37ad73c8ee417fb3d580e785312307d274847f22" + resolved "https://repository.neo9.pro/content/groups/global-npm/vendors/-/vendors-1.0.1.tgz#37ad73c8ee417fb3d580e785312307d274847f22" verror@1.3.6: version "1.3.6" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" + resolved "https://repository.neo9.pro/content/groups/global-npm/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" dependencies: extsprintf "1.0.2" vm-browserify@0.0.4: version "0.0.4" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" + resolved "https://repository.neo9.pro/content/groups/global-npm/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" dependencies: indexof "0.0.1" 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" + resolved "https://repository.neo9.pro/content/groups/global-npm/vue-hot-reload-api/-/vue-hot-reload-api-2.1.0.tgz#9ca58a6e0df9078554ce1708688b6578754d86de" vue-loader@^12.2.1: version "12.2.1" - resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-12.2.1.tgz#53f27c0973d386768f5a75156f4129b5efc6ba55" + resolved "https://repository.neo9.pro/content/groups/global-npm/vue-loader/-/vue-loader-12.2.1.tgz#53f27c0973d386768f5a75156f4129b5efc6ba55" dependencies: consolidate "^0.14.0" hash-sum "^1.0.2" @@ -6128,7 +6150,7 @@ vue-loader@^12.2.1: vue-meta@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/vue-meta/-/vue-meta-1.0.4.tgz#17608970aa02f6346829845eb8a05b2d5bf485c3" + resolved "https://repository.neo9.pro/content/groups/global-npm/vue-meta/-/vue-meta-1.0.4.tgz#17608970aa02f6346829845eb8a05b2d5bf485c3" dependencies: deepmerge "^1.3.2" lodash.isplainobject "^4.0.6" @@ -6136,11 +6158,11 @@ vue-meta@^1.0.4: vue-router@^2.5.3: version "2.5.3" - resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-2.5.3.tgz#073783f564b6aece6c8a59c63e298dc2aabfb51b" + resolved "https://repository.neo9.pro/content/groups/global-npm/vue-router/-/vue-router-2.5.3.tgz#073783f564b6aece6c8a59c63e298dc2aabfb51b" vue-server-renderer@~2.3.3: version "2.3.3" - resolved "https://registry.yarnpkg.com/vue-server-renderer/-/vue-server-renderer-2.3.3.tgz#1f450f8a4541b9dd3b084d6470939f82781c3e0a" + resolved "https://repository.neo9.pro/content/groups/global-npm/vue-server-renderer/-/vue-server-renderer-2.3.3.tgz#1f450f8a4541b9dd3b084d6470939f82781c3e0a" dependencies: chalk "^1.1.3" hash-sum "^1.0.2" @@ -6153,39 +6175,39 @@ vue-server-renderer@~2.3.3: vue-ssr-html-stream@^2.2.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/vue-ssr-html-stream/-/vue-ssr-html-stream-2.2.0.tgz#56d78b96c9c172b43749a324c156e888aca96d92" + resolved "https://repository.neo9.pro/content/groups/global-npm/vue-ssr-html-stream/-/vue-ssr-html-stream-2.2.0.tgz#56d78b96c9c172b43749a324c156e888aca96d92" dependencies: serialize-javascript "^1.3.0" vue-style-loader@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/vue-style-loader/-/vue-style-loader-3.0.1.tgz#c8b639bb2f24baf9d78274dc17e4f264c1deda08" + resolved "https://repository.neo9.pro/content/groups/global-npm/vue-style-loader/-/vue-style-loader-3.0.1.tgz#c8b639bb2f24baf9d78274dc17e4f264c1deda08" dependencies: hash-sum "^1.0.2" loader-utils "^1.0.2" vue-template-compiler@~2.3.3: version "2.3.3" - resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.3.3.tgz#b5bab9ec57309c906b82a78c81a02179dbc2f470" + resolved "https://repository.neo9.pro/content/groups/global-npm/vue-template-compiler/-/vue-template-compiler-2.3.3.tgz#b5bab9ec57309c906b82a78c81a02179dbc2f470" dependencies: de-indent "^1.0.2" he "^1.1.0" vue-template-es2015-compiler@^1.2.2: version "1.5.2" - resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.5.2.tgz#a0a6c50c941d2a4abda963f2f42c337ac450ee95" + resolved "https://repository.neo9.pro/content/groups/global-npm/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.5.2.tgz#a0a6c50c941d2a4abda963f2f42c337ac450ee95" vue@~2.3.3: version "2.3.3" - resolved "https://registry.yarnpkg.com/vue/-/vue-2.3.3.tgz#d1eaa8fde5240735a4563e74f2c7fead9cbb064c" + resolved "https://repository.neo9.pro/content/groups/global-npm/vue/-/vue-2.3.3.tgz#d1eaa8fde5240735a4563e74f2c7fead9cbb064c" vuex@^2.3.1: version "2.3.1" - resolved "https://registry.yarnpkg.com/vuex/-/vuex-2.3.1.tgz#cde8e997c1f9957719bc7dea154f9aa691d981a6" + resolved "https://repository.neo9.pro/content/groups/global-npm/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" + resolved "https://repository.neo9.pro/content/groups/global-npm/watchpack/-/watchpack-1.3.1.tgz#7d8693907b28ce6013e7f3610aa2a1acf07dad87" dependencies: async "^2.1.2" chokidar "^1.4.3" @@ -6193,15 +6215,15 @@ watchpack@^1.3.1: webidl-conversions@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + resolved "https://repository.neo9.pro/content/groups/global-npm/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" webidl-conversions@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.1.tgz#8015a17ab83e7e1b311638486ace81da6ce206a0" + resolved "https://repository.neo9.pro/content/groups/global-npm/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" + resolved "https://repository.neo9.pro/content/groups/global-npm/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.8.2.tgz#8b6240c29a9d63bc72f09d920fb050adbcce9fe8" dependencies: acorn "^5.0.3" chalk "^1.1.3" @@ -6217,7 +6239,7 @@ webpack-bundle-analyzer@^2.8.2: webpack-dev-middleware@^1.10.2: version "1.10.2" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.10.2.tgz#2e252ce1dfb020dbda1ccb37df26f30ab014dbd1" + resolved "https://repository.neo9.pro/content/groups/global-npm/webpack-dev-middleware/-/webpack-dev-middleware-1.10.2.tgz#2e252ce1dfb020dbda1ccb37df26f30ab014dbd1" dependencies: memory-fs "~0.4.1" mime "^1.3.4" @@ -6226,7 +6248,7 @@ webpack-dev-middleware@^1.10.2: webpack-hot-middleware@^2.18.0: version "2.18.0" - resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.18.0.tgz#a16bb535b83a6ac94a78ac5ebce4f3059e8274d3" + resolved "https://repository.neo9.pro/content/groups/global-npm/webpack-hot-middleware/-/webpack-hot-middleware-2.18.0.tgz#a16bb535b83a6ac94a78ac5ebce4f3059e8274d3" dependencies: ansi-html "0.0.7" html-entities "^1.2.0" @@ -6235,25 +6257,25 @@ webpack-hot-middleware@^2.18.0: webpack-node-externals@^1.6.0: version "1.6.0" - resolved "https://registry.yarnpkg.com/webpack-node-externals/-/webpack-node-externals-1.6.0.tgz#232c62ec6092b100635a3d29d83c1747128df9bd" + resolved "https://repository.neo9.pro/content/groups/global-npm/webpack-node-externals/-/webpack-node-externals-1.6.0.tgz#232c62ec6092b100635a3d29d83c1747128df9bd" webpack-sources@^0.1.0: version "0.1.5" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.1.5.tgz#aa1f3abf0f0d74db7111c40e500b84f966640750" + resolved "https://repository.neo9.pro/content/groups/global-npm/webpack-sources/-/webpack-sources-0.1.5.tgz#aa1f3abf0f0d74db7111c40e500b84f966640750" dependencies: source-list-map "~0.1.7" source-map "~0.5.3" webpack-sources@^0.2.3: version "0.2.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.2.3.tgz#17c62bfaf13c707f9d02c479e0dcdde8380697fb" + resolved "https://repository.neo9.pro/content/groups/global-npm/webpack-sources/-/webpack-sources-0.2.3.tgz#17c62bfaf13c707f9d02c479e0dcdde8380697fb" dependencies: source-list-map "^1.1.1" source-map "~0.5.3" webpack@^2.6.1: version "2.6.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.6.1.tgz#2e0457f0abb1ac5df3ab106c69c672f236785f07" + resolved "https://repository.neo9.pro/content/groups/global-npm/webpack/-/webpack-2.6.1.tgz#2e0457f0abb1ac5df3ab106c69c672f236785f07" dependencies: acorn "^5.0.0" acorn-dynamic-import "^2.0.0" @@ -6279,69 +6301,73 @@ webpack@^2.6.1: whatwg-encoding@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.1.tgz#3c6c451a198ee7aec55b1ec61d0920c67801a5f4" + resolved "https://repository.neo9.pro/content/groups/global-npm/whatwg-encoding/-/whatwg-encoding-1.0.1.tgz#3c6c451a198ee7aec55b1ec61d0920c67801a5f4" dependencies: iconv-lite "0.4.13" whatwg-url@^4.3.0: version "4.8.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-4.8.0.tgz#d2981aa9148c1e00a41c5a6131166ab4683bbcc0" + resolved "https://repository.neo9.pro/content/groups/global-npm/whatwg-url/-/whatwg-url-4.8.0.tgz#d2981aa9148c1e00a41c5a6131166ab4683bbcc0" dependencies: tr46 "~0.0.3" webidl-conversions "^3.0.0" whet.extend@~0.9.9: version "0.9.9" - resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1" + resolved "https://repository.neo9.pro/content/groups/global-npm/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1" which-module@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" + resolved "https://repository.neo9.pro/content/groups/global-npm/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://repository.neo9.pro/content/groups/global-npm/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" which@^1.2.4, which@^1.2.8, which@^1.2.9: version "1.2.14" - resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5" + resolved "https://repository.neo9.pro/content/groups/global-npm/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5" dependencies: isexe "^2.0.0" wide-align@^1.1.0: version "1.1.2" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" + resolved "https://repository.neo9.pro/content/groups/global-npm/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" dependencies: string-width "^1.0.2" widest-line@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-1.0.0.tgz#0c09c85c2a94683d0d7eaf8ee097d564bf0e105c" + resolved "https://repository.neo9.pro/content/groups/global-npm/widest-line/-/widest-line-1.0.0.tgz#0c09c85c2a94683d0d7eaf8ee097d564bf0e105c" dependencies: string-width "^1.0.1" window-size@0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" + resolved "https://repository.neo9.pro/content/groups/global-npm/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" wordwrap@0.0.2, wordwrap@~0.0.2: version "0.0.2" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" + resolved "https://repository.neo9.pro/content/groups/global-npm/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" wordwrap@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + resolved "https://repository.neo9.pro/content/groups/global-npm/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" wrap-ansi@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + resolved "https://repository.neo9.pro/content/groups/global-npm/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" dependencies: string-width "^1.0.1" strip-ansi "^3.0.1" wrappy@1: version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + resolved "https://repository.neo9.pro/content/groups/global-npm/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" write-file-atomic@^1.1.4: version "1.3.4" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.4.tgz#f807a4f0b1d9e913ae7a48112e6cc3af1991b45f" + resolved "https://repository.neo9.pro/content/groups/global-npm/write-file-atomic/-/write-file-atomic-1.3.4.tgz#f807a4f0b1d9e913ae7a48112e6cc3af1991b45f" dependencies: graceful-fs "^4.1.11" imurmurhash "^0.1.4" @@ -6349,7 +6375,7 @@ write-file-atomic@^1.1.4: write-file-atomic@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.1.0.tgz#1769f4b551eedce419f0505deae2e26763542d37" + resolved "https://repository.neo9.pro/content/groups/global-npm/write-file-atomic/-/write-file-atomic-2.1.0.tgz#1769f4b551eedce419f0505deae2e26763542d37" dependencies: graceful-fs "^4.1.11" imurmurhash "^0.1.4" @@ -6357,7 +6383,7 @@ write-file-atomic@^2.0.0: write-json-file@^2.0.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-2.2.0.tgz#51862506bbb3b619eefab7859f1fd6c6d0530876" + resolved "https://repository.neo9.pro/content/groups/global-npm/write-json-file/-/write-json-file-2.2.0.tgz#51862506bbb3b619eefab7859f1fd6c6d0530876" dependencies: detect-indent "^5.0.0" graceful-fs "^4.1.2" @@ -6368,63 +6394,69 @@ write-json-file@^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" + resolved "https://repository.neo9.pro/content/groups/global-npm/write-pkg/-/write-pkg-2.1.0.tgz#353aa44c39c48c21440f5c08ce6abd46141c9c08" dependencies: sort-keys "^1.1.2" write-json-file "^2.0.0" write@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" + resolved "https://repository.neo9.pro/content/groups/global-npm/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" dependencies: mkdirp "^0.5.1" ws@^2.3.1: version "2.3.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-2.3.1.tgz#6b94b3e447cb6a363f785eaf94af6359e8e81c80" + resolved "https://repository.neo9.pro/content/groups/global-npm/ws/-/ws-2.3.1.tgz#6b94b3e447cb6a363f785eaf94af6359e8e81c80" dependencies: safe-buffer "~5.0.1" ultron "~1.1.0" xdg-basedir@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" + resolved "https://repository.neo9.pro/content/groups/global-npm/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" xml-char-classes@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/xml-char-classes/-/xml-char-classes-1.0.0.tgz#64657848a20ffc5df583a42ad8a277b4512bbc4d" + resolved "https://repository.neo9.pro/content/groups/global-npm/xml-char-classes/-/xml-char-classes-1.0.0.tgz#64657848a20ffc5df583a42ad8a277b4512bbc4d" xml-name-validator@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-2.0.1.tgz#4d8b8f1eccd3419aa362061becef515e1e559635" + resolved "https://repository.neo9.pro/content/groups/global-npm/xml-name-validator/-/xml-name-validator-2.0.1.tgz#4d8b8f1eccd3419aa362061becef515e1e559635" xtend@^4.0.0, xtend@~4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + resolved "https://repository.neo9.pro/content/groups/global-npm/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" y18n@^3.2.1: version "3.2.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" + resolved "https://repository.neo9.pro/content/groups/global-npm/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" yallist@^2.0.0: version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + resolved "https://repository.neo9.pro/content/groups/global-npm/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" yargs-parser@^4.2.0: version "4.2.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" + resolved "https://repository.neo9.pro/content/groups/global-npm/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" dependencies: camelcase "^3.0.0" yargs-parser@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a" + resolved "https://repository.neo9.pro/content/groups/global-npm/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a" dependencies: camelcase "^3.0.0" +yargs-parser@^7.0.0: + version "7.0.0" + resolved "https://repository.neo9.pro/content/groups/global-npm/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" + dependencies: + camelcase "^4.1.0" + yargs@^6.0.0: version "6.6.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" + resolved "https://repository.neo9.pro/content/groups/global-npm/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" dependencies: camelcase "^3.0.0" cliui "^3.2.0" @@ -6440,27 +6472,27 @@ yargs@^6.0.0: y18n "^3.2.1" yargs-parser "^4.2.0" -yargs@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8" +yargs@^8.0.1: + version "8.0.1" + resolved "https://repository.neo9.pro/content/groups/global-npm/yargs/-/yargs-8.0.1.tgz#420ef75e840c1457a80adcca9bc6fa3849de51aa" dependencies: - camelcase "^3.0.0" + camelcase "^4.1.0" cliui "^3.2.0" decamelize "^1.1.1" get-caller-file "^1.0.1" - os-locale "^1.4.0" - read-pkg-up "^1.0.1" + os-locale "^2.0.0" + read-pkg-up "^2.0.0" require-directory "^2.1.1" require-main-filename "^1.0.1" set-blocking "^2.0.0" - string-width "^1.0.2" - which-module "^1.0.0" + string-width "^2.0.0" + which-module "^2.0.0" y18n "^3.2.1" - yargs-parser "^5.0.0" + yargs-parser "^7.0.0" yargs@~3.10.0: version "3.10.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" + resolved "https://repository.neo9.pro/content/groups/global-npm/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" dependencies: camelcase "^1.0.2" cliui "^2.1.0" From d15a50f539e74a510353d06e9a247e5cec77850e Mon Sep 17 00:00:00 2001 From: Sebastien Chopin Date: Tue, 6 Jun 2017 14:57:48 +0200 Subject: [PATCH 007/236] bump to alpha 4 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ea933353e4..1c540b6ce2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nuxt", - "version": "1.0.0-alpha.3", + "version": "1.0.0-alpha.4", "description": "A minimalistic framework for server-rendered Vue.js applications (inspired by Next.js)", "contributors": [ { From e4e5096ee2095886be85bb264e7f34e5557527b0 Mon Sep 17 00:00:00 2001 From: Sebastien Chopin Date: Tue, 6 Jun 2017 14:59:16 +0200 Subject: [PATCH 008/236] update yarn.loock --- yarn.lock | 2010 ++++++++++++++++++++++++++--------------------------- 1 file changed, 1005 insertions(+), 1005 deletions(-) diff --git a/yarn.lock b/yarn.lock index 48780ca123..a639c1bbe3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -43,63 +43,63 @@ abab@^1.0.3: version "1.0.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/abab/-/abab-1.0.3.tgz#b81de5f7274ec4e756d797cd834f303642724e5d" + resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.3.tgz#b81de5f7274ec4e756d797cd834f303642724e5d" abbrev@1: version "1.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f" accepts@~1.3.3: version "1.3.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca" dependencies: mime-types "~2.1.11" negotiator "0.6.1" acorn-dynamic-import@^2.0.0: version "2.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz#c752bd210bef679501b6c6cb7fc84f8f47158cc4" + resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz#c752bd210bef679501b6c6cb7fc84f8f47158cc4" dependencies: acorn "^4.0.3" acorn-globals@^3.1.0: version "3.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/acorn-globals/-/acorn-globals-3.1.0.tgz#fd8270f71fbb4996b004fa880ee5d46573a731bf" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-3.1.0.tgz#fd8270f71fbb4996b004fa880ee5d46573a731bf" dependencies: acorn "^4.0.4" acorn-jsx@^3.0.0: version "3.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" dependencies: acorn "^3.0.4" acorn@^3.0.4: version "3.3.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" acorn@^4.0.3, acorn@^4.0.4: version "4.0.13" - resolved "https://repository.neo9.pro/content/groups/global-npm/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" acorn@^5.0.0, acorn@^5.0.1, acorn@^5.0.3: version "5.0.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/acorn/-/acorn-5.0.3.tgz#c460df08491463f028ccb82eab3730bf01087b3d" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.0.3.tgz#c460df08491463f028ccb82eab3730bf01087b3d" ajv-keywords@^1.0.0, ajv-keywords@^1.1.1: version "1.5.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" ajv@^4.11.2, ajv@^4.7.0, ajv@^4.9.1: version "4.11.8" - resolved "https://repository.neo9.pro/content/groups/global-npm/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" dependencies: co "^4.6.0" json-stable-stringify "^1.0.1" align-text@^0.1.1, align-text@^0.1.3: version "0.1.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" + resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" dependencies: kind-of "^3.0.2" longest "^1.0.1" @@ -107,133 +107,133 @@ align-text@^0.1.1, align-text@^0.1.3: alphanum-sort@^1.0.1, alphanum-sort@^1.0.2: version "1.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" + resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" amdefine@>=0.0.4: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" ansi-align@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" + resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" dependencies: string-width "^2.0.0" ansi-escapes@^1.1.0: version "1.4.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" ansi-html@0.0.7, ansi-html@^0.0.7: version "0.0.7" - resolved "https://repository.neo9.pro/content/groups/global-npm/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" + resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" ansi-regex@^2.0.0: version "2.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" ansi-styles@^2.2.1: version "2.2.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" ansi-styles@^3.0.0: version "3.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/ansi-styles/-/ansi-styles-3.0.0.tgz#5404e93a544c4fec7f048262977bebfe3155e0c1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.0.0.tgz#5404e93a544c4fec7f048262977bebfe3155e0c1" dependencies: color-convert "^1.0.0" ansi-styles@~1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" anymatch@^1.3.0: version "1.3.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507" dependencies: arrify "^1.0.0" micromatch "^2.1.5" append-transform@^0.4.0: version "0.4.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991" + resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991" dependencies: default-require-extensions "^1.0.0" aproba@^1.0.3: version "1.1.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/aproba/-/aproba-1.1.2.tgz#45c6629094de4e96f693ef7eab74ae079c240fc1" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.2.tgz#45c6629094de4e96f693ef7eab74ae079c240fc1" archy@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" + resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" are-we-there-yet@~1.1.2: version "1.1.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" dependencies: delegates "^1.0.0" readable-stream "^2.0.6" argparse@^1.0.7: version "1.0.9" - resolved "https://repository.neo9.pro/content/groups/global-npm/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" dependencies: sprintf-js "~1.0.2" argv@0.0.2: version "0.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/argv/-/argv-0.0.2.tgz#ecbd16f8949b157183711b1bda334f37840185ab" + resolved "https://registry.yarnpkg.com/argv/-/argv-0.0.2.tgz#ecbd16f8949b157183711b1bda334f37840185ab" arr-diff@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" dependencies: arr-flatten "^1.0.1" arr-exclude@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/arr-exclude/-/arr-exclude-1.0.0.tgz#dfc7c2e552a270723ccda04cf3128c8cbfe5c631" + resolved "https://registry.yarnpkg.com/arr-exclude/-/arr-exclude-1.0.0.tgz#dfc7c2e552a270723ccda04cf3128c8cbfe5c631" arr-flatten@^1.0.1: version "1.0.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/arr-flatten/-/arr-flatten-1.0.3.tgz#a274ed85ac08849b6bd7847c4580745dc51adfb1" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.3.tgz#a274ed85ac08849b6bd7847c4580745dc51adfb1" array-differ@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" + resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" array-equal@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" + resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" array-find-index@^1.0.1: version "1.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" array-flatten@1.1.1: version "1.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" array-union@^1.0.1: version "1.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" dependencies: array-uniq "^1.0.1" array-uniq@^1.0.1, array-uniq@^1.0.2: version "1.0.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" array-unique@^0.2.1: version "0.2.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" arrify@^1.0.0, arrify@^1.0.1: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" asn1.js@^4.0.0: version "4.9.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/asn1.js/-/asn1.js-4.9.1.tgz#48ba240b45a9280e94748990ba597d216617fd40" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.1.tgz#48ba240b45a9280e94748990ba597d216617fd40" dependencies: bn.js "^4.0.0" inherits "^2.0.1" @@ -241,47 +241,47 @@ asn1.js@^4.0.0: asn1@~0.2.3: version "0.2.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" assert-plus@1.0.0, assert-plus@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" assert-plus@^0.2.0: version "0.2.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" assert@^1.1.1: version "1.4.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" dependencies: util "0.10.3" async-each@^1.0.0: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" async@^1.4.0: version "1.5.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" async@^2.1.2: version "2.4.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/async/-/async-2.4.1.tgz#62a56b279c98a11d0987096a01cc3eeb8eb7bbd7" + resolved "https://registry.yarnpkg.com/async/-/async-2.4.1.tgz#62a56b279c98a11d0987096a01cc3eeb8eb7bbd7" dependencies: lodash "^4.14.0" asynckit@^0.4.0: version "0.4.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" auto-bind@^1.1.0: version "1.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/auto-bind/-/auto-bind-1.1.0.tgz#93b864dc7ee01a326281775d5c75ca0a751e5961" + resolved "https://registry.yarnpkg.com/auto-bind/-/auto-bind-1.1.0.tgz#93b864dc7ee01a326281775d5c75ca0a751e5961" autoprefixer@^6.3.1: version "6.7.7" - resolved "https://repository.neo9.pro/content/groups/global-npm/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014" dependencies: browserslist "^1.7.6" caniuse-db "^1.0.30000634" @@ -292,7 +292,7 @@ autoprefixer@^6.3.1: autoprefixer@^7.1.1: version "7.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/autoprefixer/-/autoprefixer-7.1.1.tgz#97bc854c7d0b979f8d6489de547a0d17fb307f6d" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-7.1.1.tgz#97bc854c7d0b979f8d6489de547a0d17fb307f6d" dependencies: browserslist "^2.1.3" caniuse-lite "^1.0.30000670" @@ -303,7 +303,7 @@ autoprefixer@^7.1.1: ava-init@^0.2.0: version "0.2.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/ava-init/-/ava-init-0.2.0.tgz#9304c8b4c357d66e3dfdae1fbff47b1199d5c55d" + resolved "https://registry.yarnpkg.com/ava-init/-/ava-init-0.2.0.tgz#9304c8b4c357d66e3dfdae1fbff47b1199d5c55d" dependencies: arr-exclude "^1.0.0" execa "^0.5.0" @@ -313,7 +313,7 @@ ava-init@^0.2.0: ava@^0.19.1: version "0.19.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/ava/-/ava-0.19.1.tgz#43dd82435ad19b3980ffca2488f05daab940b273" + resolved "https://registry.yarnpkg.com/ava/-/ava-0.19.1.tgz#43dd82435ad19b3980ffca2488f05daab940b273" dependencies: "@ava/babel-preset-stage-4" "^1.0.0" "@ava/babel-preset-transform-test-files" "^3.0.0" @@ -396,15 +396,15 @@ ava@^0.19.1: aws-sign2@~0.6.0: version "0.6.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" aws4@^1.2.1: version "1.6.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" babel-code-frame@^6.11.0, babel-code-frame@^6.16.0, babel-code-frame@^6.22.0: version "6.22.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" dependencies: chalk "^1.1.0" esutils "^2.0.2" @@ -412,7 +412,7 @@ babel-code-frame@^6.11.0, babel-code-frame@^6.16.0, babel-code-frame@^6.22.0: babel-core@^6.17.0, babel-core@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-core/-/babel-core-6.24.1.tgz#8c428564dce1e1f41fb337ec34f4c3b022b5ad83" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.24.1.tgz#8c428564dce1e1f41fb337ec34f4c3b022b5ad83" dependencies: babel-code-frame "^6.22.0" babel-generator "^6.24.1" @@ -436,7 +436,7 @@ babel-core@^6.17.0, babel-core@^6.24.1: babel-eslint@^7.2.3: version "7.2.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-eslint/-/babel-eslint-7.2.3.tgz#b2fe2d80126470f5c19442dc757253a897710827" + resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.2.3.tgz#b2fe2d80126470f5c19442dc757253a897710827" dependencies: babel-code-frame "^6.22.0" babel-traverse "^6.23.1" @@ -445,7 +445,7 @@ babel-eslint@^7.2.3: babel-generator@^6.1.0, babel-generator@^6.18.0, babel-generator@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-generator/-/babel-generator-6.24.1.tgz#e715f486c58ded25649d888944d52aa07c5d9497" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.24.1.tgz#e715f486c58ded25649d888944d52aa07c5d9497" dependencies: babel-messages "^6.23.0" babel-runtime "^6.22.0" @@ -458,7 +458,7 @@ babel-generator@^6.1.0, babel-generator@^6.18.0, babel-generator@^6.24.1: babel-helper-bindify-decorators@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz#14c19e5f142d7b47f19a52431e52b1ccbc40a330" + resolved "https://registry.yarnpkg.com/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz#14c19e5f142d7b47f19a52431e52b1ccbc40a330" dependencies: babel-runtime "^6.22.0" babel-traverse "^6.24.1" @@ -466,7 +466,7 @@ babel-helper-bindify-decorators@^6.24.1: babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" + resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" dependencies: babel-helper-explode-assignable-expression "^6.24.1" babel-runtime "^6.22.0" @@ -474,7 +474,7 @@ babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: babel-helper-call-delegate@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" + resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" dependencies: babel-helper-hoist-variables "^6.24.1" babel-runtime "^6.22.0" @@ -483,7 +483,7 @@ babel-helper-call-delegate@^6.24.1: babel-helper-define-map@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-helper-define-map/-/babel-helper-define-map-6.24.1.tgz#7a9747f258d8947d32d515f6aa1c7bd02204a080" + resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.24.1.tgz#7a9747f258d8947d32d515f6aa1c7bd02204a080" dependencies: babel-helper-function-name "^6.24.1" babel-runtime "^6.22.0" @@ -492,7 +492,7 @@ babel-helper-define-map@^6.24.1: babel-helper-explode-assignable-expression@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa" + resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa" dependencies: babel-runtime "^6.22.0" babel-traverse "^6.24.1" @@ -500,7 +500,7 @@ babel-helper-explode-assignable-expression@^6.24.1: babel-helper-explode-class@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz#7dc2a3910dee007056e1e31d640ced3d54eaa9eb" + resolved "https://registry.yarnpkg.com/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz#7dc2a3910dee007056e1e31d640ced3d54eaa9eb" dependencies: babel-helper-bindify-decorators "^6.24.1" babel-runtime "^6.22.0" @@ -509,7 +509,7 @@ babel-helper-explode-class@^6.24.1: babel-helper-function-name@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" + resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" dependencies: babel-helper-get-function-arity "^6.24.1" babel-runtime "^6.22.0" @@ -519,28 +519,28 @@ babel-helper-function-name@^6.24.1: babel-helper-get-function-arity@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" + resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" dependencies: babel-runtime "^6.22.0" babel-types "^6.24.1" babel-helper-hoist-variables@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" + resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" dependencies: babel-runtime "^6.22.0" babel-types "^6.24.1" babel-helper-optimise-call-expression@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257" + resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257" dependencies: babel-runtime "^6.22.0" babel-types "^6.24.1" babel-helper-regex@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-helper-regex/-/babel-helper-regex-6.24.1.tgz#d36e22fab1008d79d88648e32116868128456ce8" + resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.24.1.tgz#d36e22fab1008d79d88648e32116868128456ce8" dependencies: babel-runtime "^6.22.0" babel-types "^6.24.1" @@ -548,7 +548,7 @@ babel-helper-regex@^6.24.1: babel-helper-remap-async-to-generator@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" + resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" dependencies: babel-helper-function-name "^6.24.1" babel-runtime "^6.22.0" @@ -558,7 +558,7 @@ babel-helper-remap-async-to-generator@^6.24.1: babel-helper-replace-supers@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" + resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" dependencies: babel-helper-optimise-call-expression "^6.24.1" babel-messages "^6.23.0" @@ -569,18 +569,18 @@ babel-helper-replace-supers@^6.24.1: babel-helper-vue-jsx-merge-props@^2.0.2: version "2.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.2.tgz#aceb1c373588279e2755ea1cfd35c22394fd33f8" + resolved "https://registry.yarnpkg.com/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.2.tgz#aceb1c373588279e2755ea1cfd35c22394fd33f8" babel-helpers@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" + resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" dependencies: babel-runtime "^6.22.0" babel-template "^6.24.1" babel-loader@^7.0.0: version "7.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-loader/-/babel-loader-7.0.0.tgz#2e43a66bee1fff4470533d0402c8a4532fafbaf7" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.0.0.tgz#2e43a66bee1fff4470533d0402c8a4532fafbaf7" dependencies: find-cache-dir "^0.1.1" loader-utils "^1.0.2" @@ -588,23 +588,23 @@ babel-loader@^7.0.0: babel-messages@^6.23.0: version "6.23.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" + resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" dependencies: babel-runtime "^6.22.0" babel-plugin-array-includes@^2.0.3: version "2.0.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-array-includes/-/babel-plugin-array-includes-2.0.3.tgz#cf5452e81c7b803fb7959f1045ac88e2ec28ff76" + resolved "https://registry.yarnpkg.com/babel-plugin-array-includes/-/babel-plugin-array-includes-2.0.3.tgz#cf5452e81c7b803fb7959f1045ac88e2ec28ff76" babel-plugin-check-es2015-constants@^6.22.0, babel-plugin-check-es2015-constants@^6.8.0: version "6.22.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" + resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" dependencies: babel-runtime "^6.22.0" babel-plugin-espower@^2.3.2: version "2.3.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-espower/-/babel-plugin-espower-2.3.2.tgz#5516b8fcdb26c9f0e1d8160749f6e4c65e71271e" + resolved "https://registry.yarnpkg.com/babel-plugin-espower/-/babel-plugin-espower-2.3.2.tgz#5516b8fcdb26c9f0e1d8160749f6e4c65e71271e" dependencies: babel-generator "^6.1.0" babylon "^6.1.0" @@ -616,43 +616,43 @@ babel-plugin-espower@^2.3.2: babel-plugin-syntax-async-functions@^6.8.0: version "6.13.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" babel-plugin-syntax-async-generators@^6.5.0: version "6.13.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz#6bc963ebb16eccbae6b92b596eb7f35c342a8b9a" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz#6bc963ebb16eccbae6b92b596eb7f35c342a8b9a" babel-plugin-syntax-class-properties@^6.8.0: version "6.13.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de" babel-plugin-syntax-decorators@^6.13.0: version "6.13.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz#312563b4dbde3cc806cee3e416cceeaddd11ac0b" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz#312563b4dbde3cc806cee3e416cceeaddd11ac0b" babel-plugin-syntax-dynamic-import@^6.18.0: version "6.18.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da" babel-plugin-syntax-exponentiation-operator@^6.8.0: version "6.13.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" babel-plugin-syntax-jsx@^6.18.0: version "6.18.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" babel-plugin-syntax-object-rest-spread@^6.8.0: version "6.13.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" babel-plugin-syntax-trailing-function-commas@^6.20.0, babel-plugin-syntax-trailing-function-commas@^6.22.0: version "6.22.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" babel-plugin-transform-async-generator-functions@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz#f058900145fd3e9907a6ddf28da59f215258a5db" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz#f058900145fd3e9907a6ddf28da59f215258a5db" dependencies: babel-helper-remap-async-to-generator "^6.24.1" babel-plugin-syntax-async-generators "^6.5.0" @@ -660,7 +660,7 @@ babel-plugin-transform-async-generator-functions@^6.24.1: babel-plugin-transform-async-to-generator@^6.16.0, babel-plugin-transform-async-to-generator@^6.22.0, babel-plugin-transform-async-to-generator@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" dependencies: babel-helper-remap-async-to-generator "^6.24.1" babel-plugin-syntax-async-functions "^6.8.0" @@ -668,7 +668,7 @@ babel-plugin-transform-async-to-generator@^6.16.0, babel-plugin-transform-async- babel-plugin-transform-class-properties@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz#6a79763ea61d33d36f37b611aa9def81a81b46ac" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz#6a79763ea61d33d36f37b611aa9def81a81b46ac" dependencies: babel-helper-function-name "^6.24.1" babel-plugin-syntax-class-properties "^6.8.0" @@ -677,7 +677,7 @@ babel-plugin-transform-class-properties@^6.24.1: babel-plugin-transform-decorators@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz#788013d8f8c6b5222bdf7b344390dfd77569e24d" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz#788013d8f8c6b5222bdf7b344390dfd77569e24d" dependencies: babel-helper-explode-class "^6.24.1" babel-plugin-syntax-decorators "^6.13.0" @@ -687,19 +687,19 @@ babel-plugin-transform-decorators@^6.24.1: babel-plugin-transform-es2015-arrow-functions@^6.22.0: version "6.22.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" dependencies: babel-runtime "^6.22.0" babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: version "6.22.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" dependencies: babel-runtime "^6.22.0" babel-plugin-transform-es2015-block-scoping@^6.23.0, babel-plugin-transform-es2015-block-scoping@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.24.1.tgz#76c295dc3a4741b1665adfd3167215dcff32a576" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.24.1.tgz#76c295dc3a4741b1665adfd3167215dcff32a576" dependencies: babel-runtime "^6.22.0" babel-template "^6.24.1" @@ -709,7 +709,7 @@ babel-plugin-transform-es2015-block-scoping@^6.23.0, babel-plugin-transform-es20 babel-plugin-transform-es2015-classes@^6.23.0, babel-plugin-transform-es2015-classes@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" dependencies: babel-helper-define-map "^6.24.1" babel-helper-function-name "^6.24.1" @@ -723,33 +723,33 @@ babel-plugin-transform-es2015-classes@^6.23.0, babel-plugin-transform-es2015-cla babel-plugin-transform-es2015-computed-properties@^6.22.0, babel-plugin-transform-es2015-computed-properties@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" dependencies: babel-runtime "^6.22.0" babel-template "^6.24.1" babel-plugin-transform-es2015-destructuring@^6.19.0, babel-plugin-transform-es2015-destructuring@^6.22.0, babel-plugin-transform-es2015-destructuring@^6.23.0: version "6.23.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" dependencies: babel-runtime "^6.22.0" babel-plugin-transform-es2015-duplicate-keys@^6.22.0, babel-plugin-transform-es2015-duplicate-keys@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" dependencies: babel-runtime "^6.22.0" babel-types "^6.24.1" babel-plugin-transform-es2015-for-of@^6.22.0, babel-plugin-transform-es2015-for-of@^6.23.0: version "6.23.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" dependencies: babel-runtime "^6.22.0" babel-plugin-transform-es2015-function-name@^6.22.0, babel-plugin-transform-es2015-function-name@^6.24.1, babel-plugin-transform-es2015-function-name@^6.9.0: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" dependencies: babel-helper-function-name "^6.24.1" babel-runtime "^6.22.0" @@ -757,13 +757,13 @@ babel-plugin-transform-es2015-function-name@^6.22.0, babel-plugin-transform-es20 babel-plugin-transform-es2015-literals@^6.22.0: version "6.22.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" dependencies: babel-runtime "^6.22.0" babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015-modules-amd@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" dependencies: babel-plugin-transform-es2015-modules-commonjs "^6.24.1" babel-runtime "^6.22.0" @@ -771,7 +771,7 @@ babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015 babel-plugin-transform-es2015-modules-commonjs@^6.18.0, babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.1.tgz#d3e310b40ef664a36622200097c6d440298f2bfe" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.1.tgz#d3e310b40ef664a36622200097c6d440298f2bfe" dependencies: babel-plugin-transform-strict-mode "^6.24.1" babel-runtime "^6.22.0" @@ -780,7 +780,7 @@ babel-plugin-transform-es2015-modules-commonjs@^6.18.0, babel-plugin-transform-e babel-plugin-transform-es2015-modules-systemjs@^6.23.0, babel-plugin-transform-es2015-modules-systemjs@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" dependencies: babel-helper-hoist-variables "^6.24.1" babel-runtime "^6.22.0" @@ -788,7 +788,7 @@ babel-plugin-transform-es2015-modules-systemjs@^6.23.0, babel-plugin-transform-e babel-plugin-transform-es2015-modules-umd@^6.23.0, babel-plugin-transform-es2015-modules-umd@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" dependencies: babel-plugin-transform-es2015-modules-amd "^6.24.1" babel-runtime "^6.22.0" @@ -796,14 +796,14 @@ babel-plugin-transform-es2015-modules-umd@^6.23.0, babel-plugin-transform-es2015 babel-plugin-transform-es2015-object-super@^6.22.0, babel-plugin-transform-es2015-object-super@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" dependencies: babel-helper-replace-supers "^6.24.1" babel-runtime "^6.22.0" babel-plugin-transform-es2015-parameters@^6.21.0, babel-plugin-transform-es2015-parameters@^6.23.0, babel-plugin-transform-es2015-parameters@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" dependencies: babel-helper-call-delegate "^6.24.1" babel-helper-get-function-arity "^6.24.1" @@ -814,20 +814,20 @@ babel-plugin-transform-es2015-parameters@^6.21.0, babel-plugin-transform-es2015- babel-plugin-transform-es2015-shorthand-properties@^6.22.0, babel-plugin-transform-es2015-shorthand-properties@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" dependencies: babel-runtime "^6.22.0" babel-types "^6.24.1" babel-plugin-transform-es2015-spread@^6.22.0, babel-plugin-transform-es2015-spread@^6.8.0: version "6.22.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" dependencies: babel-runtime "^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-sticky-regex@^6.8.0: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" dependencies: babel-helper-regex "^6.24.1" babel-runtime "^6.22.0" @@ -835,19 +835,19 @@ babel-plugin-transform-es2015-sticky-regex@^6.22.0, babel-plugin-transform-es201 babel-plugin-transform-es2015-template-literals@^6.22.0: version "6.22.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" dependencies: babel-runtime "^6.22.0" babel-plugin-transform-es2015-typeof-symbol@^6.22.0, babel-plugin-transform-es2015-typeof-symbol@^6.23.0: version "6.23.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" dependencies: babel-runtime "^6.22.0" babel-plugin-transform-es2015-unicode-regex@^6.11.0, babel-plugin-transform-es2015-unicode-regex@^6.22.0, babel-plugin-transform-es2015-unicode-regex@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" dependencies: babel-helper-regex "^6.24.1" babel-runtime "^6.22.0" @@ -855,7 +855,7 @@ babel-plugin-transform-es2015-unicode-regex@^6.11.0, babel-plugin-transform-es20 babel-plugin-transform-exponentiation-operator@^6.22.0, babel-plugin-transform-exponentiation-operator@^6.24.1, babel-plugin-transform-exponentiation-operator@^6.8.0: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" dependencies: babel-helper-builder-binary-assignment-operator-visitor "^6.24.1" babel-plugin-syntax-exponentiation-operator "^6.8.0" @@ -863,39 +863,39 @@ babel-plugin-transform-exponentiation-operator@^6.22.0, babel-plugin-transform-e babel-plugin-transform-object-rest-spread@^6.22.0, babel-plugin-transform-object-rest-spread@^6.23.0: version "6.23.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.23.0.tgz#875d6bc9be761c58a2ae3feee5dc4895d8c7f921" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.23.0.tgz#875d6bc9be761c58a2ae3feee5dc4895d8c7f921" dependencies: babel-plugin-syntax-object-rest-spread "^6.8.0" babel-runtime "^6.22.0" babel-plugin-transform-regenerator@^6.22.0, babel-plugin-transform-regenerator@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.24.1.tgz#b8da305ad43c3c99b4848e4fe4037b770d23c418" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.24.1.tgz#b8da305ad43c3c99b4848e4fe4037b770d23c418" dependencies: regenerator-transform "0.9.11" babel-plugin-transform-runtime@^6.15.0, babel-plugin-transform-runtime@^6.23.0: version "6.23.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz#88490d446502ea9b8e7efb0fe09ec4d99479b1ee" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz#88490d446502ea9b8e7efb0fe09ec4d99479b1ee" dependencies: babel-runtime "^6.22.0" babel-plugin-transform-strict-mode@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" dependencies: babel-runtime "^6.22.0" babel-types "^6.24.1" babel-plugin-transform-vue-jsx@^3.1.2: version "3.4.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-3.4.3.tgz#de57d8dd7d619333c981867728f3e6fdf68982ff" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-3.4.3.tgz#de57d8dd7d619333c981867728f3e6fdf68982ff" dependencies: esutils "^2.0.2" babel-polyfill@6.23.0: version "6.23.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-polyfill/-/babel-polyfill-6.23.0.tgz#8364ca62df8eafb830499f699177466c3b03499d" + resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.23.0.tgz#8364ca62df8eafb830499f699177466c3b03499d" dependencies: babel-runtime "^6.22.0" core-js "^2.4.0" @@ -903,7 +903,7 @@ babel-polyfill@6.23.0: babel-preset-env@^1.2.1: version "1.5.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-preset-env/-/babel-preset-env-1.5.1.tgz#d2eca6af179edf27cdc305a84820f601b456dd0b" + resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.5.1.tgz#d2eca6af179edf27cdc305a84820f601b456dd0b" dependencies: babel-plugin-check-es2015-constants "^6.22.0" babel-plugin-syntax-trailing-function-commas "^6.22.0" @@ -938,7 +938,7 @@ babel-preset-env@^1.2.1: babel-preset-es2015@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939" + resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939" dependencies: babel-plugin-check-es2015-constants "^6.22.0" babel-plugin-transform-es2015-arrow-functions "^6.22.0" @@ -967,7 +967,7 @@ babel-preset-es2015@^6.24.1: babel-preset-stage-2@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz#d9e2960fb3d71187f0e64eec62bc07767219bdc1" + resolved "https://registry.yarnpkg.com/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz#d9e2960fb3d71187f0e64eec62bc07767219bdc1" dependencies: babel-plugin-syntax-dynamic-import "^6.18.0" babel-plugin-transform-class-properties "^6.24.1" @@ -976,7 +976,7 @@ babel-preset-stage-2@^6.24.1: babel-preset-stage-3@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz#836ada0a9e7a7fa37cb138fb9326f87934a48395" + resolved "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz#836ada0a9e7a7fa37cb138fb9326f87934a48395" dependencies: babel-plugin-syntax-trailing-function-commas "^6.22.0" babel-plugin-transform-async-generator-functions "^6.24.1" @@ -986,7 +986,7 @@ babel-preset-stage-3@^6.24.1: babel-preset-vue-app@^1.2.0: version "1.2.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-preset-vue-app/-/babel-preset-vue-app-1.2.0.tgz#5ddfb7920020123a2482b12c6b36bdef9e3fb0ad" + resolved "https://registry.yarnpkg.com/babel-preset-vue-app/-/babel-preset-vue-app-1.2.0.tgz#5ddfb7920020123a2482b12c6b36bdef9e3fb0ad" dependencies: babel-plugin-syntax-dynamic-import "^6.18.0" babel-plugin-transform-object-rest-spread "^6.23.0" @@ -997,7 +997,7 @@ babel-preset-vue-app@^1.2.0: babel-preset-vue@^0.1.0: version "0.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-preset-vue/-/babel-preset-vue-0.1.0.tgz#adb84ceab3873bd72606fdd3f7047640f032301f" + resolved "https://registry.yarnpkg.com/babel-preset-vue/-/babel-preset-vue-0.1.0.tgz#adb84ceab3873bd72606fdd3f7047640f032301f" dependencies: babel-helper-vue-jsx-merge-props "^2.0.2" babel-plugin-syntax-jsx "^6.18.0" @@ -1005,7 +1005,7 @@ babel-preset-vue@^0.1.0: babel-register@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-register/-/babel-register-6.24.1.tgz#7e10e13a2f71065bdfad5a1787ba45bca6ded75f" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.24.1.tgz#7e10e13a2f71065bdfad5a1787ba45bca6ded75f" dependencies: babel-core "^6.24.1" babel-runtime "^6.22.0" @@ -1017,14 +1017,14 @@ babel-register@^6.24.1: babel-runtime@^6.18.0, babel-runtime@^6.20.0, babel-runtime@^6.22.0: version "6.23.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b" dependencies: core-js "^2.4.0" regenerator-runtime "^0.10.0" babel-template@^6.16.0, babel-template@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-template/-/babel-template-6.24.1.tgz#04ae514f1f93b3a2537f2a0f60a5a45fb8308333" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.24.1.tgz#04ae514f1f93b3a2537f2a0f60a5a45fb8308333" dependencies: babel-runtime "^6.22.0" babel-traverse "^6.24.1" @@ -1034,7 +1034,7 @@ babel-template@^6.16.0, babel-template@^6.24.1: babel-traverse@^6.18.0, babel-traverse@^6.23.1, babel-traverse@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-traverse/-/babel-traverse-6.24.1.tgz#ab36673fd356f9a0948659e7b338d5feadb31695" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.24.1.tgz#ab36673fd356f9a0948659e7b338d5feadb31695" dependencies: babel-code-frame "^6.22.0" babel-messages "^6.23.0" @@ -1048,7 +1048,7 @@ babel-traverse@^6.18.0, babel-traverse@^6.23.1, babel-traverse@^6.24.1: babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.23.0, babel-types@^6.24.1: version "6.24.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/babel-types/-/babel-types-6.24.1.tgz#a136879dc15b3606bda0d90c1fc74304c2ff0975" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.24.1.tgz#a136879dc15b3606bda0d90c1fc74304c2ff0975" dependencies: babel-runtime "^6.22.0" esutils "^2.0.2" @@ -1057,61 +1057,61 @@ babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.23.0, babel-types@^6.24 babylon@^6.1.0, babylon@^6.11.0, babylon@^6.13.0, babylon@^6.15.0, babylon@^6.17.0: version "6.17.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/babylon/-/babylon-6.17.2.tgz#201d25ef5f892c41bae49488b08db0dd476e9f5c" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.2.tgz#201d25ef5f892c41bae49488b08db0dd476e9f5c" balanced-match@^0.4.1, balanced-match@^0.4.2: version "0.4.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" base64-js@^1.0.2: version "1.2.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1" bcrypt-pbkdf@^1.0.0: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" dependencies: tweetnacl "^0.14.3" big.js@^3.1.3: version "3.1.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978" binary-extensions@^1.0.0: version "1.8.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774" block-stream@*: version "0.0.9" - resolved "https://repository.neo9.pro/content/groups/global-npm/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" + resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" dependencies: inherits "~2.0.0" bluebird@^2.10.2: version "2.11.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/bluebird/-/bluebird-2.11.0.tgz#534b9033c022c9579c56ba3b3e5a5caafbb650e1" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-2.11.0.tgz#534b9033c022c9579c56ba3b3e5a5caafbb650e1" bluebird@^3.0.0, bluebird@^3.0.5, bluebird@^3.1.1, bluebird@^3.4.7: version "3.5.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c" bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: version "4.11.6" - resolved "https://repository.neo9.pro/content/groups/global-npm/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" boolbase@~1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" boom@2.x.x: version "2.10.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" + resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" dependencies: hoek "2.x.x" boxen@^1.0.0: version "1.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/boxen/-/boxen-1.1.0.tgz#b1b69dd522305e807a99deee777dbd6e5167b102" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.1.0.tgz#b1b69dd522305e807a99deee777dbd6e5167b102" dependencies: ansi-align "^2.0.0" camelcase "^4.0.0" @@ -1123,14 +1123,14 @@ boxen@^1.0.0: brace-expansion@^1.1.7: version "1.1.7" - resolved "https://repository.neo9.pro/content/groups/global-npm/brace-expansion/-/brace-expansion-1.1.7.tgz#3effc3c50e000531fb720eaff80f0ae8ef23cf59" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.7.tgz#3effc3c50e000531fb720eaff80f0ae8ef23cf59" dependencies: balanced-match "^0.4.1" concat-map "0.0.1" braces@^1.8.2: version "1.8.5" - resolved "https://repository.neo9.pro/content/groups/global-npm/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" dependencies: expand-range "^1.8.1" preserve "^0.2.0" @@ -1138,11 +1138,11 @@ braces@^1.8.2: brorand@^1.0.1: version "1.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" browserify-aes@^1.0.0, browserify-aes@^1.0.4: version "1.0.6" - resolved "https://repository.neo9.pro/content/groups/global-npm/browserify-aes/-/browserify-aes-1.0.6.tgz#5e7725dbdef1fd5930d4ebab48567ce451c48a0a" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.0.6.tgz#5e7725dbdef1fd5930d4ebab48567ce451c48a0a" dependencies: buffer-xor "^1.0.2" cipher-base "^1.0.0" @@ -1152,7 +1152,7 @@ browserify-aes@^1.0.0, browserify-aes@^1.0.4: browserify-cipher@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/browserify-cipher/-/browserify-cipher-1.0.0.tgz#9988244874bf5ed4e28da95666dcd66ac8fc363a" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.0.tgz#9988244874bf5ed4e28da95666dcd66ac8fc363a" dependencies: browserify-aes "^1.0.4" browserify-des "^1.0.0" @@ -1160,7 +1160,7 @@ browserify-cipher@^1.0.0: browserify-des@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/browserify-des/-/browserify-des-1.0.0.tgz#daa277717470922ed2fe18594118a175439721dd" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.0.tgz#daa277717470922ed2fe18594118a175439721dd" dependencies: cipher-base "^1.0.1" des.js "^1.0.0" @@ -1168,14 +1168,14 @@ browserify-des@^1.0.0: browserify-rsa@^4.0.0: version "4.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" dependencies: bn.js "^4.1.0" randombytes "^2.0.1" browserify-sign@^4.0.0: version "4.0.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" dependencies: bn.js "^4.1.1" browserify-rsa "^4.0.0" @@ -1187,35 +1187,35 @@ browserify-sign@^4.0.0: browserify-zlib@^0.1.4: version "0.1.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d" dependencies: pako "~0.2.0" browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6: version "1.7.7" - resolved "https://repository.neo9.pro/content/groups/global-npm/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9" dependencies: caniuse-db "^1.0.30000639" electron-to-chromium "^1.2.7" browserslist@^2.1.2, browserslist@^2.1.3: version "2.1.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/browserslist/-/browserslist-2.1.4.tgz#cc526af4a1312b7d2e05653e56d0c8ab70c0e053" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.1.4.tgz#cc526af4a1312b7d2e05653e56d0c8ab70c0e053" dependencies: caniuse-lite "^1.0.30000670" electron-to-chromium "^1.3.11" buf-compare@^1.0.0: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/buf-compare/-/buf-compare-1.0.1.tgz#fef28da8b8113a0a0db4430b0b6467b69730b34a" + resolved "https://registry.yarnpkg.com/buf-compare/-/buf-compare-1.0.1.tgz#fef28da8b8113a0a0db4430b0b6467b69730b34a" buffer-xor@^1.0.2: version "1.0.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" buffer@^4.3.0: version "4.9.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" dependencies: base64-js "^1.0.2" ieee754 "^1.1.4" @@ -1223,19 +1223,19 @@ buffer@^4.3.0: builtin-modules@^1.0.0, builtin-modules@^1.1.1: version "1.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" builtin-status-codes@^3.0.0: version "3.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + 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://repository.neo9.pro/content/groups/global-npm/bytes/-/bytes-2.3.0.tgz#d5b680a165b6201739acb611542aabc2d8ceb070" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.3.0.tgz#d5b680a165b6201739acb611542aabc2d8ceb070" caching-transform@^1.0.0: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/caching-transform/-/caching-transform-1.0.1.tgz#6dbdb2f20f8d8fbce79f3e94e9d1742dcdf5c0a1" + resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-1.0.1.tgz#6dbdb2f20f8d8fbce79f3e94e9d1742dcdf5c0a1" dependencies: md5-hex "^1.2.0" mkdirp "^0.5.1" @@ -1243,7 +1243,7 @@ caching-transform@^1.0.0: call-matcher@^1.0.0: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/call-matcher/-/call-matcher-1.0.1.tgz#5134d077984f712a54dad3cbf62de28dce416ca8" + resolved "https://registry.yarnpkg.com/call-matcher/-/call-matcher-1.0.1.tgz#5134d077984f712a54dad3cbf62de28dce416ca8" dependencies: core-js "^2.0.0" deep-equal "^1.0.0" @@ -1252,51 +1252,51 @@ call-matcher@^1.0.0: call-signature@0.0.2: version "0.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/call-signature/-/call-signature-0.0.2.tgz#a84abc825a55ef4cb2b028bd74e205a65b9a4996" + resolved "https://registry.yarnpkg.com/call-signature/-/call-signature-0.0.2.tgz#a84abc825a55ef4cb2b028bd74e205a65b9a4996" caller-path@^0.1.0: version "0.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" + resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" dependencies: callsites "^0.2.0" callsites@^0.2.0: version "0.2.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" camel-case@3.0.x: version "3.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" dependencies: no-case "^2.2.0" upper-case "^1.1.1" camelcase-keys@^2.0.0: version "2.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" dependencies: camelcase "^2.0.0" map-obj "^1.0.0" camelcase@^1.0.2: version "1.2.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" camelcase@^2.0.0: version "2.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" camelcase@^3.0.0: version "3.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" camelcase@^4.0.0, camelcase@^4.1.0: version "4.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" caniuse-api@^1.5.2: version "1.6.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/caniuse-api/-/caniuse-api-1.6.1.tgz#b534e7c734c4f81ec5fbe8aca2ad24354b962c6c" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.6.1.tgz#b534e7c734c4f81ec5fbe8aca2ad24354b962c6c" dependencies: browserslist "^1.3.6" caniuse-db "^1.0.30000529" @@ -1305,34 +1305,34 @@ caniuse-api@^1.5.2: caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: version "1.0.30000679" - resolved "https://repository.neo9.pro/content/groups/global-npm/caniuse-db/-/caniuse-db-1.0.30000679.tgz#dd7be12f16577e5d6ae6db880c6d619e77dca365" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000679.tgz#dd7be12f16577e5d6ae6db880c6d619e77dca365" caniuse-lite@^1.0.30000670: version "1.0.30000679" - resolved "https://repository.neo9.pro/content/groups/global-npm/caniuse-lite/-/caniuse-lite-1.0.30000679.tgz#0fb5bb3658d4d4448f8f86a1c48df15664aa05ef" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000679.tgz#0fb5bb3658d4d4448f8f86a1c48df15664aa05ef" capture-stack-trace@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d" + resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d" caseless@~0.11.0: version "0.11.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" caseless@~0.12.0: version "0.12.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" center-align@^0.1.1: version "0.1.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" + resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" dependencies: align-text "^0.1.3" lazy-cache "^1.0.3" chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" dependencies: ansi-styles "^2.2.1" escape-string-regexp "^1.0.2" @@ -1342,7 +1342,7 @@ chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: chalk@^0.4.0: version "0.4.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" dependencies: ansi-styles "~1.0.0" has-color "~0.1.0" @@ -1350,7 +1350,7 @@ chalk@^0.4.0: chokidar@^1.4.2, chokidar@^1.4.3, chokidar@^1.7.0: version "1.7.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" dependencies: anymatch "^1.3.0" async-each "^1.0.0" @@ -1365,72 +1365,72 @@ chokidar@^1.4.2, chokidar@^1.4.3, chokidar@^1.7.0: ci-info@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/ci-info/-/ci-info-1.0.0.tgz#dc5285f2b4e251821683681c381c3388f46ec534" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.0.0.tgz#dc5285f2b4e251821683681c381c3388f46ec534" cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/cipher-base/-/cipher-base-1.0.3.tgz#eeabf194419ce900da3018c207d212f2a6df0a07" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.3.tgz#eeabf194419ce900da3018c207d212f2a6df0a07" dependencies: inherits "^2.0.1" circular-json@^0.3.1: version "0.3.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d" + resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d" clap@^1.0.9: version "1.1.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/clap/-/clap-1.1.3.tgz#b3bd36e93dd4cbfb395a3c26896352445265c05b" + resolved "https://registry.yarnpkg.com/clap/-/clap-1.1.3.tgz#b3bd36e93dd4cbfb395a3c26896352445265c05b" dependencies: chalk "^1.1.3" clean-css@4.1.x: version "4.1.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/clean-css/-/clean-css-4.1.3.tgz#07cfe8980edb20d455ddc23aadcf1e04c6e509ce" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.1.3.tgz#07cfe8980edb20d455ddc23aadcf1e04c6e509ce" dependencies: source-map "0.5.x" clean-stack@^1.1.1: version "1.3.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/clean-stack/-/clean-stack-1.3.0.tgz#9e821501ae979986c46b1d66d2d432db2fd4ae31" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-1.3.0.tgz#9e821501ae979986c46b1d66d2d432db2fd4ae31" clean-yaml-object@^0.1.0: version "0.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz#63fb110dc2ce1a84dc21f6d9334876d010ae8b68" + resolved "https://registry.yarnpkg.com/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz#63fb110dc2ce1a84dc21f6d9334876d010ae8b68" cli-boxes@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" + resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" cli-cursor@^1.0.1: version "1.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" dependencies: restore-cursor "^1.0.1" cli-cursor@^2.1.0: version "2.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" dependencies: restore-cursor "^2.0.0" cli-spinners@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/cli-spinners/-/cli-spinners-1.0.0.tgz#ef987ed3d48391ac3dab9180b406a742180d6e6a" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.0.0.tgz#ef987ed3d48391ac3dab9180b406a742180d6e6a" cli-truncate@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/cli-truncate/-/cli-truncate-1.0.0.tgz#21eb91f47b3f6560f004db77a769b4668d9c5518" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-1.0.0.tgz#21eb91f47b3f6560f004db77a769b4668d9c5518" dependencies: slice-ansi "0.0.4" string-width "^2.0.0" cli-width@^2.0.0: version "2.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a" cliui@^2.1.0: version "2.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" dependencies: center-align "^0.1.1" right-align "^0.1.1" @@ -1438,7 +1438,7 @@ cliui@^2.1.0: cliui@^3.2.0: version "3.2.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" dependencies: string-width "^1.0.1" strip-ansi "^3.0.1" @@ -1446,37 +1446,37 @@ cliui@^3.2.0: clone@^1.0.2: version "1.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" co-with-promise@^4.6.0: version "4.6.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/co-with-promise/-/co-with-promise-4.6.0.tgz#413e7db6f5893a60b942cf492c4bec93db415ab7" + resolved "https://registry.yarnpkg.com/co-with-promise/-/co-with-promise-4.6.0.tgz#413e7db6f5893a60b942cf492c4bec93db415ab7" dependencies: pinkie-promise "^1.0.0" co@^4.6.0: version "4.6.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" coa@~1.0.1: version "1.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/coa/-/coa-1.0.2.tgz#2ba9fec3b4aa43d7a49d7e6c3561e92061b6bcec" + resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.2.tgz#2ba9fec3b4aa43d7a49d7e6c3561e92061b6bcec" dependencies: q "^1.1.2" code-excerpt@^2.1.0: version "2.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/code-excerpt/-/code-excerpt-2.1.0.tgz#5dcc081e88f4a7e3b554e9e35d7ef232d47f8147" + resolved "https://registry.yarnpkg.com/code-excerpt/-/code-excerpt-2.1.0.tgz#5dcc081e88f4a7e3b554e9e35d7ef232d47f8147" dependencies: convert-to-spaces "^1.0.1" code-point-at@^1.0.0: version "1.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" codecov@^2.2.0: version "2.2.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/codecov/-/codecov-2.2.0.tgz#2d06817ceb8891eca6368836d4fb6bf6cc04ffd1" + resolved "https://registry.yarnpkg.com/codecov/-/codecov-2.2.0.tgz#2d06817ceb8891eca6368836d4fb6bf6cc04ffd1" dependencies: argv "0.0.2" request "2.79.0" @@ -1484,23 +1484,23 @@ codecov@^2.2.0: color-convert@^1.0.0, color-convert@^1.3.0: version "1.9.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a" dependencies: color-name "^1.1.1" color-name@^1.0.0, color-name@^1.1.1: version "1.1.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/color-name/-/color-name-1.1.2.tgz#5c8ab72b64bd2215d617ae9559ebb148475cf98d" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.2.tgz#5c8ab72b64bd2215d617ae9559ebb148475cf98d" color-string@^0.3.0: version "0.3.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/color-string/-/color-string-0.3.0.tgz#27d46fb67025c5c2fa25993bfbf579e47841b991" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-0.3.0.tgz#27d46fb67025c5c2fa25993bfbf579e47841b991" dependencies: color-name "^1.0.0" color@^0.11.0: version "0.11.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764" + resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764" dependencies: clone "^1.0.2" color-convert "^1.3.0" @@ -1508,7 +1508,7 @@ color@^0.11.0: colormin@^1.0.5: version "1.1.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133" + resolved "https://registry.yarnpkg.com/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133" dependencies: color "^0.11.0" css-color-names "0.0.4" @@ -1516,37 +1516,37 @@ colormin@^1.0.5: colors@~1.1.2: version "1.1.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" combined-stream@^1.0.5, combined-stream@~1.0.5: version "1.0.5" - resolved "https://repository.neo9.pro/content/groups/global-npm/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" dependencies: delayed-stream "~1.0.0" commander@2.9.x, commander@^2.9.0, commander@~2.9.0: version "2.9.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" dependencies: graceful-readlink ">= 1.0.0" common-path-prefix@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/common-path-prefix/-/common-path-prefix-1.0.0.tgz#cd52f6f0712e0baab97d6f9732874f22f47752c0" + resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-1.0.0.tgz#cd52f6f0712e0baab97d6f9732874f22f47752c0" commondir@^1.0.1: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" compressible@~2.0.8: version "2.0.10" - resolved "https://repository.neo9.pro/content/groups/global-npm/compressible/-/compressible-2.0.10.tgz#feda1c7f7617912732b29bf8cf26252a20b9eecd" + 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://repository.neo9.pro/content/groups/global-npm/compression/-/compression-1.6.2.tgz#cceb121ecc9d09c52d7ad0c3350ea93ddd402bc3" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.6.2.tgz#cceb121ecc9d09c52d7ad0c3350ea93ddd402bc3" dependencies: accepts "~1.3.3" bytes "2.3.0" @@ -1557,11 +1557,11 @@ compression@^1.6.2: concat-map@0.0.1: version "0.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" concat-stream@^1.5.2: version "1.6.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" dependencies: inherits "^2.0.3" readable-stream "^2.2.2" @@ -1569,14 +1569,14 @@ concat-stream@^1.5.2: config-chain@~1.1.5: version "1.1.11" - resolved "https://repository.neo9.pro/content/groups/global-npm/config-chain/-/config-chain-1.1.11.tgz#aba09747dfbe4c3e70e766a6e41586e1859fc6f2" + resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.11.tgz#aba09747dfbe4c3e70e766a6e41586e1859fc6f2" dependencies: ini "^1.3.4" proto-list "~1.2.1" configstore@^3.0.0: version "3.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/configstore/-/configstore-3.1.0.tgz#45df907073e26dfa1cf4b2d52f5b60545eaa11d1" + resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.0.tgz#45df907073e26dfa1cf4b2d52f5b60545eaa11d1" dependencies: dot-prop "^4.1.0" graceful-fs "^4.1.2" @@ -1587,7 +1587,7 @@ configstore@^3.0.0: connect@^3.6.2: version "3.6.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/connect/-/connect-3.6.2.tgz#694e8d20681bfe490282c8ab886be98f09f42fe7" + resolved "https://registry.yarnpkg.com/connect/-/connect-3.6.2.tgz#694e8d20681bfe490282c8ab886be98f09f42fe7" dependencies: debug "2.6.7" finalhandler "1.0.3" @@ -1596,59 +1596,59 @@ connect@^3.6.2: console-browserify@^1.1.0: version "1.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" dependencies: date-now "^0.1.4" console-control-strings@^1.0.0, console-control-strings@~1.1.0: version "1.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" consolidate@^0.14.0: version "0.14.5" - resolved "https://repository.neo9.pro/content/groups/global-npm/consolidate/-/consolidate-0.14.5.tgz#5a25047bc76f73072667c8cb52c989888f494c63" + resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.14.5.tgz#5a25047bc76f73072667c8cb52c989888f494c63" dependencies: bluebird "^3.1.1" constants-browserify@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" contains-path@^0.1.0: version "0.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" + resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" content-disposition@0.5.2: version "0.5.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" content-type-parser@^1.0.1: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/content-type-parser/-/content-type-parser-1.0.1.tgz#c3e56988c53c65127fb46d4032a3a900246fdc94" + resolved "https://registry.yarnpkg.com/content-type-parser/-/content-type-parser-1.0.1.tgz#c3e56988c53c65127fb46d4032a3a900246fdc94" content-type@~1.0.2: version "1.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed" convert-source-map@^1.1.0, convert-source-map@^1.2.0, convert-source-map@^1.3.0: version "1.5.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" convert-to-spaces@^1.0.1: version "1.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/convert-to-spaces/-/convert-to-spaces-1.0.2.tgz#7e3e48bbe6d997b1417ddca2868204b4d3d85715" + resolved "https://registry.yarnpkg.com/convert-to-spaces/-/convert-to-spaces-1.0.2.tgz#7e3e48bbe6d997b1417ddca2868204b4d3d85715" cookie-signature@1.0.6: version "1.0.6" - resolved "https://repository.neo9.pro/content/groups/global-npm/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" cookie@0.3.1: version "0.3.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" copy-webpack-plugin@^4.0.1: version "4.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/copy-webpack-plugin/-/copy-webpack-plugin-4.0.1.tgz#9728e383b94316050d0c7463958f2b85c0aa8200" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-4.0.1.tgz#9728e383b94316050d0c7463958f2b85c0aa8200" dependencies: bluebird "^2.10.2" fs-extra "^0.26.4" @@ -1661,22 +1661,22 @@ copy-webpack-plugin@^4.0.1: core-assert@^0.2.0: version "0.2.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/core-assert/-/core-assert-0.2.1.tgz#f85e2cf9bfed28f773cc8b3fa5c5b69bdc02fe3f" + resolved "https://registry.yarnpkg.com/core-assert/-/core-assert-0.2.1.tgz#f85e2cf9bfed28f773cc8b3fa5c5b69bdc02fe3f" dependencies: buf-compare "^1.0.0" is-error "^2.2.0" core-js@^2.0.0, core-js@^2.4.0: version "2.4.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" core-util-is@~1.0.0: version "1.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" cosmiconfig@^2.1.0, cosmiconfig@^2.1.1: version "2.1.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/cosmiconfig/-/cosmiconfig-2.1.3.tgz#952771eb0dddc1cb3fa2f6fbe51a522e93b3ee0a" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-2.1.3.tgz#952771eb0dddc1cb3fa2f6fbe51a522e93b3ee0a" dependencies: is-directory "^0.3.1" js-yaml "^3.4.3" @@ -1688,20 +1688,20 @@ cosmiconfig@^2.1.0, cosmiconfig@^2.1.1: create-ecdh@^4.0.0: version "4.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d" dependencies: bn.js "^4.1.0" elliptic "^6.0.0" create-error-class@^3.0.0: version "3.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" + resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" dependencies: capture-stack-trace "^1.0.0" create-hash@^1.1.0, create-hash@^1.1.1, create-hash@^1.1.2: version "1.1.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/create-hash/-/create-hash-1.1.3.tgz#606042ac8b9262750f483caddab0f5819172d8fd" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.3.tgz#606042ac8b9262750f483caddab0f5819172d8fd" dependencies: cipher-base "^1.0.1" inherits "^2.0.1" @@ -1710,7 +1710,7 @@ create-hash@^1.1.0, create-hash@^1.1.1, create-hash@^1.1.2: create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: version "1.1.6" - resolved "https://repository.neo9.pro/content/groups/global-npm/create-hmac/-/create-hmac-1.1.6.tgz#acb9e221a4e17bdb076e90657c42b93e3726cf06" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.6.tgz#acb9e221a4e17bdb076e90657c42b93e3726cf06" dependencies: cipher-base "^1.0.3" create-hash "^1.1.0" @@ -1721,27 +1721,27 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: cross-spawn-async@^2.1.1: version "2.2.5" - resolved "https://repository.neo9.pro/content/groups/global-npm/cross-spawn-async/-/cross-spawn-async-2.2.5.tgz#845ff0c0834a3ded9d160daca6d390906bb288cc" + 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://repository.neo9.pro/content/groups/global-npm/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41" dependencies: lru-cache "^4.0.1" which "^1.2.9" cryptiles@2.x.x: version "2.0.5" - resolved "https://repository.neo9.pro/content/groups/global-npm/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" + resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" dependencies: boom "2.x.x" crypto-browserify@^3.11.0: version "3.11.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/crypto-browserify/-/crypto-browserify-3.11.0.tgz#3652a0906ab9b2a7e0c3ce66a408e957a2485522" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.11.0.tgz#3652a0906ab9b2a7e0c3ce66a408e957a2485522" dependencies: browserify-cipher "^1.0.0" browserify-sign "^4.0.0" @@ -1756,15 +1756,15 @@ crypto-browserify@^3.11.0: crypto-random-string@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" + resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" css-color-names@0.0.4: version "0.0.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" + resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" css-loader@^0.28.4: version "0.28.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/css-loader/-/css-loader-0.28.4.tgz#6cf3579192ce355e8b38d5f42dd7a1f2ec898d0f" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.28.4.tgz#6cf3579192ce355e8b38d5f42dd7a1f2ec898d0f" dependencies: babel-code-frame "^6.11.0" css-selector-tokenizer "^0.7.0" @@ -1783,7 +1783,7 @@ css-loader@^0.28.4: css-select@^1.1.0: version "1.2.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" dependencies: boolbase "~1.0.0" css-what "2.1" @@ -1792,7 +1792,7 @@ css-select@^1.1.0: css-selector-tokenizer@^0.7.0: version "0.7.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz#e6988474ae8c953477bf5e7efecfceccd9cf4c86" + resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz#e6988474ae8c953477bf5e7efecfceccd9cf4c86" dependencies: cssesc "^0.1.0" fastparse "^1.1.1" @@ -1800,15 +1800,15 @@ css-selector-tokenizer@^0.7.0: css-what@2.1: version "2.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd" cssesc@^0.1.0: version "0.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" "cssnano@>=2.6.1 <4": version "3.10.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38" dependencies: autoprefixer "^6.3.1" decamelize "^1.1.2" @@ -1845,113 +1845,113 @@ cssesc@^0.1.0: csso@~2.3.1: version "2.3.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/csso/-/csso-2.3.2.tgz#ddd52c587033f49e94b71fc55569f252e8ff5f85" + resolved "https://registry.yarnpkg.com/csso/-/csso-2.3.2.tgz#ddd52c587033f49e94b71fc55569f252e8ff5f85" dependencies: clap "^1.0.9" source-map "^0.5.3" cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": version "0.3.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/cssom/-/cssom-0.3.2.tgz#b8036170c79f07a90ff2f16e22284027a243848b" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.2.tgz#b8036170c79f07a90ff2f16e22284027a243848b" "cssstyle@>= 0.2.37 < 0.3.0": version "0.2.37" - resolved "https://repository.neo9.pro/content/groups/global-npm/cssstyle/-/cssstyle-0.2.37.tgz#541097234cb2513c83ceed3acddc27ff27987d54" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-0.2.37.tgz#541097234cb2513c83ceed3acddc27ff27987d54" dependencies: cssom "0.3.x" currently-unhandled@^0.4.1: version "0.4.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" dependencies: array-find-index "^1.0.1" d@1: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" dependencies: es5-ext "^0.10.9" dashdash@^1.12.0: version "1.14.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" dependencies: assert-plus "^1.0.0" date-now@^0.1.4: version "0.1.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" + resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" date-time@^0.1.1: version "0.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/date-time/-/date-time-0.1.1.tgz#ed2f6d93d9790ce2fd66d5b5ff3edd5bbcbf3b07" + resolved "https://registry.yarnpkg.com/date-time/-/date-time-0.1.1.tgz#ed2f6d93d9790ce2fd66d5b5ff3edd5bbcbf3b07" de-indent@^1.0.2: version "1.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" + resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" debug-log@^1.0.1: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/debug-log/-/debug-log-1.0.1.tgz#2307632d4c04382b8df8a32f70b895046d52745f" + resolved "https://registry.yarnpkg.com/debug-log/-/debug-log-1.0.1.tgz#2307632d4c04382b8df8a32f70b895046d52745f" debug@2.2.0, debug@~2.2.0: version "2.2.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" dependencies: ms "0.7.1" debug@2.6.7: version "2.6.7" - resolved "https://repository.neo9.pro/content/groups/global-npm/debug/-/debug-2.6.7.tgz#92bad1f6d05bbb6bba22cca88bcd0ec894c2861e" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.7.tgz#92bad1f6d05bbb6bba22cca88bcd0ec894c2861e" dependencies: ms "2.0.0" debug@^2.1.1, debug@^2.2.0, debug@^2.6.3, debug@^2.6.8: version "2.6.8" - resolved "https://repository.neo9.pro/content/groups/global-npm/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" dependencies: ms "2.0.0" decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: version "1.2.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" deep-equal@^1.0.0: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" deep-extend@^0.4.0, deep-extend@~0.4.0: version "0.4.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" deep-is@~0.1.3: version "0.1.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" deepmerge@^1.3.2: version "1.3.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/deepmerge/-/deepmerge-1.3.2.tgz#1663691629d4dbfe364fa12a2a4f0aa86aa3a050" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-1.3.2.tgz#1663691629d4dbfe364fa12a2a4f0aa86aa3a050" default-require-extensions@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8" + resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8" dependencies: strip-bom "^2.0.0" define-properties@^1.1.2: version "1.1.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" dependencies: foreach "^2.0.5" object-keys "^1.0.8" defined@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" + resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" del@^2.0.2: version "2.2.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" + resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" dependencies: globby "^5.0.0" is-path-cwd "^1.0.0" @@ -1963,48 +1963,48 @@ del@^2.0.2: delayed-stream@~1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" delegates@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" depd@1.1.0, depd@~1.1.0: version "1.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" des.js@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" dependencies: inherits "^2.0.1" minimalistic-assert "^1.0.0" destroy@~1.0.4: version "1.0.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" detect-indent@^4.0.0: version "4.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" dependencies: repeating "^2.0.0" detect-indent@^5.0.0: version "5.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" diff-match-patch@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/diff-match-patch/-/diff-match-patch-1.0.0.tgz#1cc3c83a490d67f95d91e39f6ad1f2e086b63048" + resolved "https://registry.yarnpkg.com/diff-match-patch/-/diff-match-patch-1.0.0.tgz#1cc3c83a490d67f95d91e39f6ad1f2e086b63048" diff@^3.0.0, diff@^3.0.1: version "3.2.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/diff/-/diff-3.2.0.tgz#c9ce393a4b7cbd0b058a725c93df299027868ff9" + resolved "https://registry.yarnpkg.com/diff/-/diff-3.2.0.tgz#c9ce393a4b7cbd0b058a725c93df299027868ff9" diffie-hellman@^5.0.0: version "5.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/diffie-hellman/-/diffie-hellman-5.0.2.tgz#b5835739270cfe26acf632099fded2a07f209e5e" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.2.tgz#b5835739270cfe26acf632099fded2a07f209e5e" dependencies: bn.js "^4.1.0" miller-rabin "^4.0.0" @@ -2012,98 +2012,98 @@ diffie-hellman@^5.0.0: doctrine@1.5.0: version "1.5.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" dependencies: esutils "^2.0.2" isarray "^1.0.0" doctrine@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/doctrine/-/doctrine-2.0.0.tgz#c73d8d2909d22291e1a007a395804da8b665fe63" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.0.0.tgz#c73d8d2909d22291e1a007a395804da8b665fe63" dependencies: esutils "^2.0.2" isarray "^1.0.0" dom-converter@~0.1: version "0.1.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/dom-converter/-/dom-converter-0.1.4.tgz#a45ef5727b890c9bffe6d7c876e7b19cb0e17f3b" + resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.1.4.tgz#a45ef5727b890c9bffe6d7c876e7b19cb0e17f3b" dependencies: utila "~0.3" dom-serializer@0: version "0.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82" dependencies: domelementtype "~1.1.1" entities "~1.1.1" domain-browser@^1.1.1: version "1.1.7" - resolved "https://repository.neo9.pro/content/groups/global-npm/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" domelementtype@1, domelementtype@^1.3.0: version "1.3.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2" domelementtype@~1.1.1: version "1.1.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" domhandler@2.1: version "2.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/domhandler/-/domhandler-2.1.0.tgz#d2646f5e57f6c3bab11cf6cb05d3c0acf7412594" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.1.0.tgz#d2646f5e57f6c3bab11cf6cb05d3c0acf7412594" dependencies: domelementtype "1" domhandler@^2.3.0: version "2.4.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/domhandler/-/domhandler-2.4.1.tgz#892e47000a99be55bbf3774ffea0561d8879c259" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.1.tgz#892e47000a99be55bbf3774ffea0561d8879c259" dependencies: domelementtype "1" domutils@1.1: version "1.1.6" - resolved "https://repository.neo9.pro/content/groups/global-npm/domutils/-/domutils-1.1.6.tgz#bddc3de099b9a2efacc51c623f28f416ecc57485" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.1.6.tgz#bddc3de099b9a2efacc51c623f28f416ecc57485" dependencies: domelementtype "1" domutils@1.5.1: version "1.5.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" dependencies: dom-serializer "0" domelementtype "1" domutils@^1.5.1: version "1.6.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/domutils/-/domutils-1.6.2.tgz#1958cc0b4c9426e9ed367fb1c8e854891b0fa3ff" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.6.2.tgz#1958cc0b4c9426e9ed367fb1c8e854891b0fa3ff" dependencies: dom-serializer "0" domelementtype "1" dot-prop@^4.1.0: version "4.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/dot-prop/-/dot-prop-4.1.1.tgz#a8493f0b7b5eeec82525b5c7587fa7de7ca859c1" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.1.1.tgz#a8493f0b7b5eeec82525b5c7587fa7de7ca859c1" dependencies: is-obj "^1.0.0" duplexer3@^0.1.4: version "0.1.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" + resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" duplexer@^0.1.1: version "0.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" ecc-jsbn@~0.1.1: version "0.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" dependencies: jsbn "~0.1.0" editorconfig@^0.13.2: version "0.13.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/editorconfig/-/editorconfig-0.13.2.tgz#8e57926d9ee69ab6cb999f027c2171467acceb35" + resolved "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.13.2.tgz#8e57926d9ee69ab6cb999f027c2171467acceb35" dependencies: bluebird "^3.0.5" commander "^2.9.0" @@ -2112,19 +2112,19 @@ editorconfig@^0.13.2: ee-first@1.1.1: version "1.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" ejs@^2.3.4, ejs@^2.5.6: version "2.5.6" - resolved "https://repository.neo9.pro/content/groups/global-npm/ejs/-/ejs-2.5.6.tgz#479636bfa3fe3b1debd52087f0acb204b4f19c88" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.6.tgz#479636bfa3fe3b1debd52087f0acb204b4f19c88" electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.11: version "1.3.13" - resolved "https://repository.neo9.pro/content/groups/global-npm/electron-to-chromium/-/electron-to-chromium-1.3.13.tgz#1b3a5eace6e087bb5e257a100b0cbfe81b2891fc" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.13.tgz#1b3a5eace6e087bb5e257a100b0cbfe81b2891fc" elliptic@^6.0.0: version "6.4.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" dependencies: bn.js "^4.4.0" brorand "^1.0.1" @@ -2136,28 +2136,28 @@ elliptic@^6.0.0: emojis-list@^2.0.0: version "2.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" empower-core@^0.6.1: version "0.6.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/empower-core/-/empower-core-0.6.2.tgz#5adef566088e31fba80ba0a36df47d7094169144" + resolved "https://registry.yarnpkg.com/empower-core/-/empower-core-0.6.2.tgz#5adef566088e31fba80ba0a36df47d7094169144" dependencies: call-signature "0.0.2" core-js "^2.0.0" encodeurl@~1.0.1: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20" encoding@^0.1.11: version "0.1.12" - resolved "https://repository.neo9.pro/content/groups/global-npm/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" dependencies: iconv-lite "~0.4.13" enhanced-resolve@^3.0.0: version "3.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/enhanced-resolve/-/enhanced-resolve-3.1.0.tgz#9f4b626f577245edcf4b2ad83d86e17f4f421dec" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.1.0.tgz#9f4b626f577245edcf4b2ad83d86e17f4f421dec" dependencies: graceful-fs "^4.1.2" memory-fs "^0.4.0" @@ -2166,44 +2166,44 @@ enhanced-resolve@^3.0.0: entities@^1.1.1, entities@~1.1.1: version "1.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" + resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" equal-length@^1.0.0: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/equal-length/-/equal-length-1.0.1.tgz#21ca112d48ab24b4e1e7ffc0e5339d31fdfc274c" + resolved "https://registry.yarnpkg.com/equal-length/-/equal-length-1.0.1.tgz#21ca112d48ab24b4e1e7ffc0e5339d31fdfc274c" errno@^0.1.3: version "0.1.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d" dependencies: prr "~0.0.0" error-ex@^1.2.0: version "1.3.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" dependencies: is-arrayish "^0.2.1" error-stack-parser@^2.0.0: version "2.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/error-stack-parser/-/error-stack-parser-2.0.1.tgz#a3202b8fb03114aa9b40a0e3669e48b2b65a010a" + resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.1.tgz#a3202b8fb03114aa9b40a0e3669e48b2b65a010a" dependencies: 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://repository.neo9.pro/content/groups/global-npm/es5-ext/-/es5-ext-0.10.23.tgz#7578b51be974207a5487821b56538c224e4e7b38" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.23.tgz#7578b51be974207a5487821b56538c224e4e7b38" dependencies: es6-iterator "2" es6-symbol "~3.1" es6-error@^4.0.1, es6-error@^4.0.2: version "4.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/es6-error/-/es6-error-4.0.2.tgz#eec5c726eacef51b7f6b73c20db6e1b13b069c98" + resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.0.2.tgz#eec5c726eacef51b7f6b73c20db6e1b13b069c98" es6-iterator@2, es6-iterator@^2.0.1, es6-iterator@~2.0.1: version "2.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/es6-iterator/-/es6-iterator-2.0.1.tgz#8e319c9f0453bf575d374940a655920e59ca5512" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.1.tgz#8e319c9f0453bf575d374940a655920e59ca5512" dependencies: d "1" es5-ext "^0.10.14" @@ -2211,7 +2211,7 @@ es6-iterator@2, es6-iterator@^2.0.1, es6-iterator@~2.0.1: es6-map@^0.1.3: version "0.1.5" - resolved "https://repository.neo9.pro/content/groups/global-npm/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0" + resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0" dependencies: d "1" es5-ext "~0.10.14" @@ -2222,7 +2222,7 @@ es6-map@^0.1.3: es6-set@~0.1.5: version "0.1.5" - resolved "https://repository.neo9.pro/content/groups/global-npm/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1" + resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1" dependencies: d "1" es5-ext "~0.10.14" @@ -2232,14 +2232,14 @@ es6-set@~0.1.5: es6-symbol@3.1.1, es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1, es6-symbol@~3.1.1: version "3.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" dependencies: d "1" es5-ext "~0.10.14" es6-weak-map@^2.0.1: version "2.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f" + resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f" dependencies: d "1" es5-ext "^0.10.14" @@ -2248,15 +2248,15 @@ es6-weak-map@^2.0.1: escape-html@~1.0.3: version "1.0.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.4, escape-string-regexp@^1.0.5: version "1.0.5" - resolved "https://repository.neo9.pro/content/groups/global-npm/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" escodegen@^1.6.1: version "1.8.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" dependencies: esprima "^2.7.1" estraverse "^1.9.1" @@ -2267,7 +2267,7 @@ escodegen@^1.6.1: escope@^3.6.0: version "3.6.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" + resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" dependencies: es6-map "^0.1.3" es6-weak-map "^2.0.1" @@ -2276,11 +2276,11 @@ escope@^3.6.0: eslint-config-standard@^10.2.1: version "10.2.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/eslint-config-standard/-/eslint-config-standard-10.2.1.tgz#c061e4d066f379dc17cd562c64e819b4dd454591" + resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-10.2.1.tgz#c061e4d066f379dc17cd562c64e819b4dd454591" eslint-import-resolver-node@^0.2.0: version "0.2.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz#5add8106e8c928db2cba232bcd9efa846e3da16c" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz#5add8106e8c928db2cba232bcd9efa846e3da16c" dependencies: debug "^2.2.0" object-assign "^4.0.1" @@ -2288,20 +2288,20 @@ eslint-import-resolver-node@^0.2.0: eslint-module-utils@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/eslint-module-utils/-/eslint-module-utils-2.0.0.tgz#a6f8c21d901358759cdc35dbac1982ae1ee58bce" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.0.0.tgz#a6f8c21d901358759cdc35dbac1982ae1ee58bce" dependencies: debug "2.2.0" pkg-dir "^1.0.0" eslint-plugin-html@^2.0.3: version "2.0.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/eslint-plugin-html/-/eslint-plugin-html-2.0.3.tgz#7c89883ab0c85fa5d28b666a14a4e906aa90b897" + resolved "https://registry.yarnpkg.com/eslint-plugin-html/-/eslint-plugin-html-2.0.3.tgz#7c89883ab0c85fa5d28b666a14a4e906aa90b897" dependencies: htmlparser2 "^3.8.2" eslint-plugin-import@^2.3.0: version "2.3.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/eslint-plugin-import/-/eslint-plugin-import-2.3.0.tgz#37c801e0ada0e296cbdf20c3f393acb5b52af36b" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.3.0.tgz#37c801e0ada0e296cbdf20c3f393acb5b52af36b" dependencies: builtin-modules "^1.1.1" contains-path "^0.1.0" @@ -2316,7 +2316,7 @@ eslint-plugin-import@^2.3.0: eslint-plugin-node@^5.0.0: version "5.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/eslint-plugin-node/-/eslint-plugin-node-5.0.0.tgz#948b1fb82e3f0a744e86fad19aa4f49537d246cc" + resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-5.0.0.tgz#948b1fb82e3f0a744e86fad19aa4f49537d246cc" dependencies: ignore "^3.3.3" minimatch "^3.0.4" @@ -2325,15 +2325,15 @@ eslint-plugin-node@^5.0.0: eslint-plugin-promise@^3.5.0: version "3.5.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/eslint-plugin-promise/-/eslint-plugin-promise-3.5.0.tgz#78fbb6ffe047201627569e85a6c5373af2a68fca" + resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-3.5.0.tgz#78fbb6ffe047201627569e85a6c5373af2a68fca" eslint-plugin-standard@^3.0.1: version "3.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/eslint-plugin-standard/-/eslint-plugin-standard-3.0.1.tgz#34d0c915b45edc6f010393c7eef3823b08565cf2" + resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-3.0.1.tgz#34d0c915b45edc6f010393c7eef3823b08565cf2" eslint@^3.19.0: version "3.19.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/eslint/-/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc" dependencies: babel-code-frame "^6.16.0" chalk "^1.1.3" @@ -2373,7 +2373,7 @@ eslint@^3.19.0: espower-location-detector@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/espower-location-detector/-/espower-location-detector-1.0.0.tgz#a17b7ecc59d30e179e2bef73fb4137704cb331b5" + resolved "https://registry.yarnpkg.com/espower-location-detector/-/espower-location-detector-1.0.0.tgz#a17b7ecc59d30e179e2bef73fb4137704cb331b5" dependencies: is-url "^1.2.1" path-is-absolute "^1.0.0" @@ -2382,78 +2382,78 @@ espower-location-detector@^1.0.0: espree@^3.4.0: version "3.4.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/espree/-/espree-3.4.3.tgz#2910b5ccd49ce893c2ffffaab4fd8b3a31b82374" + resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.3.tgz#2910b5ccd49ce893c2ffffaab4fd8b3a31b82374" dependencies: acorn "^5.0.1" acorn-jsx "^3.0.0" esprima@^2.6.0, esprima@^2.7.1: version "2.7.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" esprima@^3.1.1: version "3.1.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" espurify@^1.6.0: version "1.7.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/espurify/-/espurify-1.7.0.tgz#1c5cf6cbccc32e6f639380bd4f991fab9ba9d226" + resolved "https://registry.yarnpkg.com/espurify/-/espurify-1.7.0.tgz#1c5cf6cbccc32e6f639380bd4f991fab9ba9d226" dependencies: core-js "^2.0.0" esquery@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa" dependencies: estraverse "^4.0.0" esrecurse@^4.1.0: version "4.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/esrecurse/-/esrecurse-4.1.0.tgz#4713b6536adf7f2ac4f327d559e7756bff648220" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.1.0.tgz#4713b6536adf7f2ac4f327d559e7756bff648220" dependencies: estraverse "~4.1.0" object-assign "^4.0.1" estraverse@^1.9.1: version "1.9.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" estraverse@^4.0.0, estraverse@^4.1.1, estraverse@^4.2.0: version "4.2.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" estraverse@~4.1.0: version "4.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/estraverse/-/estraverse-4.1.1.tgz#f6caca728933a850ef90661d0e17982ba47111a2" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.1.1.tgz#f6caca728933a850ef90661d0e17982ba47111a2" esutils@^2.0.2: version "2.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" etag@^1.8.0, etag@~1.8.0: version "1.8.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/etag/-/etag-1.8.0.tgz#6f631aef336d6c46362b51764044ce216be3c051" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.0.tgz#6f631aef336d6c46362b51764044ce216be3c051" event-emitter@~0.3.5: version "0.3.5" - resolved "https://repository.neo9.pro/content/groups/global-npm/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" + resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" dependencies: d "1" es5-ext "~0.10.14" events@^1.0.0: version "1.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" + resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" evp_bytestokey@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz#497b66ad9fef65cd7c08a6180824ba1476b66e53" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz#497b66ad9fef65cd7c08a6180824ba1476b66e53" dependencies: create-hash "^1.1.1" execa@^0.4.0: version "0.4.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/execa/-/execa-0.4.0.tgz#4eb6467a36a095fabb2970ff9d5e3fb7bce6ebc3" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.4.0.tgz#4eb6467a36a095fabb2970ff9d5e3fb7bce6ebc3" dependencies: cross-spawn-async "^2.1.1" is-stream "^1.1.0" @@ -2464,7 +2464,7 @@ execa@^0.4.0: execa@^0.5.0: version "0.5.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/execa/-/execa-0.5.1.tgz#de3fb85cb8d6e91c85bcbceb164581785cb57b36" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.5.1.tgz#de3fb85cb8d6e91c85bcbceb164581785cb57b36" dependencies: cross-spawn "^4.0.0" get-stream "^2.2.0" @@ -2476,23 +2476,23 @@ execa@^0.5.0: exit-hook@^1.0.0: version "1.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" + resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" expand-brackets@^0.1.4: version "0.1.5" - resolved "https://repository.neo9.pro/content/groups/global-npm/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" dependencies: is-posix-bracket "^0.1.0" expand-range@^1.8.1: version "1.8.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" dependencies: fill-range "^2.1.0" express@^4.15.2: version "4.15.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/express/-/express-4.15.3.tgz#bab65d0f03aa80c358408972fc700f916944b662" + resolved "https://registry.yarnpkg.com/express/-/express-4.15.3.tgz#bab65d0f03aa80c358408972fc700f916944b662" dependencies: accepts "~1.3.3" array-flatten "1.1.1" @@ -2525,11 +2525,11 @@ express@^4.15.2: extend@~3.0.0: version "3.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" external-editor@^2.0.1: version "2.0.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/external-editor/-/external-editor-2.0.4.tgz#1ed9199da9cbfe2ef2f7a31b2fde8b0d12368972" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.0.4.tgz#1ed9199da9cbfe2ef2f7a31b2fde8b0d12368972" dependencies: iconv-lite "^0.4.17" jschardet "^1.4.2" @@ -2537,13 +2537,13 @@ external-editor@^2.0.1: extglob@^0.3.1: version "0.3.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" dependencies: is-extglob "^1.0.0" extract-text-webpack-plugin@^2.1.0: version "2.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/extract-text-webpack-plugin/-/extract-text-webpack-plugin-2.1.0.tgz#69315b885f876dbf96d3819f6a9f1cca7aebf159" + resolved "https://registry.yarnpkg.com/extract-text-webpack-plugin/-/extract-text-webpack-plugin-2.1.0.tgz#69315b885f876dbf96d3819f6a9f1cca7aebf159" dependencies: ajv "^4.11.2" async "^2.1.2" @@ -2552,53 +2552,53 @@ extract-text-webpack-plugin@^2.1.0: extsprintf@1.0.2: version "1.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" fast-levenshtein@~2.0.4: version "2.0.6" - resolved "https://repository.neo9.pro/content/groups/global-npm/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" fastparse@^1.1.1: version "1.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8" + resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8" figures@^1.3.5: version "1.7.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" + resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" dependencies: escape-string-regexp "^1.0.5" object-assign "^4.1.0" figures@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" dependencies: escape-string-regexp "^1.0.5" file-entry-cache@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" dependencies: flat-cache "^1.2.1" object-assign "^4.0.1" file-loader@^0.11.2: version "0.11.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/file-loader/-/file-loader-0.11.2.tgz#4ff1df28af38719a6098093b88c82c71d1794a34" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-0.11.2.tgz#4ff1df28af38719a6098093b88c82c71d1794a34" dependencies: loader-utils "^1.0.2" filename-regex@^2.0.0: version "2.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" + resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" filesize@^3.5.9: version "3.5.10" - resolved "https://repository.neo9.pro/content/groups/global-npm/filesize/-/filesize-3.5.10.tgz#fc8fa23ddb4ef9e5e0ab6e1e64f679a24a56761f" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.5.10.tgz#fc8fa23ddb4ef9e5e0ab6e1e64f679a24a56761f" fill-range@^2.1.0: version "2.2.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" dependencies: is-number "^2.1.0" isobject "^2.0.0" @@ -2608,7 +2608,7 @@ fill-range@^2.1.0: finalhandler@1.0.3, finalhandler@^1.0.3, finalhandler@~1.0.3: version "1.0.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/finalhandler/-/finalhandler-1.0.3.tgz#ef47e77950e999780e86022a560e3217e0d0cc89" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.0.3.tgz#ef47e77950e999780e86022a560e3217e0d0cc89" dependencies: debug "2.6.7" encodeurl "~1.0.1" @@ -2620,7 +2620,7 @@ finalhandler@1.0.3, finalhandler@^1.0.3, finalhandler@~1.0.3: find-cache-dir@^0.1.1: version "0.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" dependencies: commondir "^1.0.1" mkdirp "^0.5.1" @@ -2628,20 +2628,20 @@ find-cache-dir@^0.1.1: find-up@^1.0.0: version "1.1.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" dependencies: path-exists "^2.0.0" pinkie-promise "^2.0.0" find-up@^2.0.0, find-up@^2.1.0: version "2.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" dependencies: locate-path "^2.0.0" flat-cache@^1.2.1: version "1.2.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96" dependencies: circular-json "^0.3.1" del "^2.0.2" @@ -2650,40 +2650,40 @@ flat-cache@^1.2.1: flatten@^1.0.2: version "1.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" + resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" fn-name@^2.0.0: version "2.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/fn-name/-/fn-name-2.0.1.tgz#5214d7537a4d06a4a301c0cc262feb84188002e7" + resolved "https://registry.yarnpkg.com/fn-name/-/fn-name-2.0.1.tgz#5214d7537a4d06a4a301c0cc262feb84188002e7" for-in@^1.0.1: version "1.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" for-own@^0.1.4: version "0.1.5" - resolved "https://repository.neo9.pro/content/groups/global-npm/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" dependencies: for-in "^1.0.1" foreach@^2.0.5: version "2.0.5" - resolved "https://repository.neo9.pro/content/groups/global-npm/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" + resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" foreground-child@^1.5.3, foreground-child@^1.5.6: version "1.5.6" - resolved "https://repository.neo9.pro/content/groups/global-npm/foreground-child/-/foreground-child-1.5.6.tgz#4fd71ad2dfde96789b980a5c0a295937cb2f5ce9" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-1.5.6.tgz#4fd71ad2dfde96789b980a5c0a295937cb2f5ce9" dependencies: cross-spawn "^4" signal-exit "^3.0.0" forever-agent@~0.6.1: version "0.6.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" form-data@~2.1.1: version "2.1.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" dependencies: asynckit "^0.4.0" combined-stream "^1.0.5" @@ -2691,15 +2691,15 @@ form-data@~2.1.1: forwarded@~0.1.0: version "0.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/forwarded/-/forwarded-0.1.0.tgz#19ef9874c4ae1c297bcf078fde63a09b66a84363" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.0.tgz#19ef9874c4ae1c297bcf078fde63a09b66a84363" fresh@0.5.0, fresh@^0.5.0: version "0.5.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/fresh/-/fresh-0.5.0.tgz#f474ca5e6a9246d6fd8e0953cfa9b9c805afa78e" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.0.tgz#f474ca5e6a9246d6fd8e0953cfa9b9c805afa78e" friendly-errors-webpack-plugin@^1.6.1: version "1.6.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.6.1.tgz#e32781c4722f546a06a9b5d7a7cfa28520375d70" + resolved "https://registry.yarnpkg.com/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.6.1.tgz#e32781c4722f546a06a9b5d7a7cfa28520375d70" dependencies: chalk "^1.1.3" error-stack-parser "^2.0.0" @@ -2707,7 +2707,7 @@ friendly-errors-webpack-plugin@^1.6.1: fs-extra@^0.26.4: version "0.26.7" - resolved "https://repository.neo9.pro/content/groups/global-npm/fs-extra/-/fs-extra-0.26.7.tgz#9ae1fdd94897798edab76d0918cf42d0c3184fa9" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.26.7.tgz#9ae1fdd94897798edab76d0918cf42d0c3184fa9" dependencies: graceful-fs "^4.1.2" jsonfile "^2.1.0" @@ -2717,7 +2717,7 @@ fs-extra@^0.26.4: fs-extra@^3.0.1: version "3.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/fs-extra/-/fs-extra-3.0.1.tgz#3794f378c58b342ea7dbbb23095109c4b3b62291" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-3.0.1.tgz#3794f378c58b342ea7dbbb23095109c4b3b62291" dependencies: graceful-fs "^4.1.2" jsonfile "^3.0.0" @@ -2725,18 +2725,18 @@ fs-extra@^3.0.1: fs.realpath@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" fsevents@^1.0.0: version "1.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/fsevents/-/fsevents-1.1.1.tgz#f19fd28f43eeaf761680e519a203c4d0b3d31aff" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.1.tgz#f19fd28f43eeaf761680e519a203c4d0b3d31aff" dependencies: nan "^2.3.0" node-pre-gyp "^0.6.29" fstream-ignore@^1.0.5: version "1.0.5" - resolved "https://repository.neo9.pro/content/groups/global-npm/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" + resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" dependencies: fstream "^1.0.0" inherits "2" @@ -2744,7 +2744,7 @@ fstream-ignore@^1.0.5: fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: version "1.0.11" - resolved "https://repository.neo9.pro/content/groups/global-npm/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" dependencies: graceful-fs "^4.1.2" inherits "~2.0.0" @@ -2753,11 +2753,11 @@ fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: function-bind@^1.0.2, function-bind@^1.1.0: version "1.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" gauge@~2.7.3: version "2.7.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" dependencies: aproba "^1.0.3" console-control-strings "^1.0.0" @@ -2770,59 +2770,59 @@ gauge@~2.7.3: generate-function@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" + resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" generate-object-property@^1.1.0: version "1.2.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" + resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" dependencies: is-property "^1.0.0" get-caller-file@^1.0.1: version "1.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" get-port@^3.0.0: version "3.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/get-port/-/get-port-3.1.0.tgz#ef01b18a84ca6486970ff99e54446141a73ffd3e" + resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.1.0.tgz#ef01b18a84ca6486970ff99e54446141a73ffd3e" get-stdin@^4.0.1: version "4.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" get-stream@^2.2.0: version "2.3.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de" dependencies: object-assign "^4.0.1" pinkie-promise "^2.0.0" get-stream@^3.0.0: version "3.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" getpass@^0.1.1: version "0.1.7" - resolved "https://repository.neo9.pro/content/groups/global-npm/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" dependencies: assert-plus "^1.0.0" glob-base@^0.3.0: version "0.3.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" dependencies: glob-parent "^2.0.0" is-glob "^2.0.0" glob-parent@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" dependencies: is-glob "^2.0.0" glob@^6.0.4: version "6.0.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" + resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" dependencies: inflight "^1.0.4" inherits "2" @@ -2832,7 +2832,7 @@ glob@^6.0.4: glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.2: version "7.1.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -2843,11 +2843,11 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.2: globals@^9.0.0, globals@^9.14.0: version "9.17.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/globals/-/globals-9.17.0.tgz#0c0ca696d9b9bb694d2e5470bd37777caad50286" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.17.0.tgz#0c0ca696d9b9bb694d2e5470bd37777caad50286" globby@^5.0.0: version "5.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" + resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" dependencies: array-union "^1.0.1" arrify "^1.0.0" @@ -2858,7 +2858,7 @@ globby@^5.0.0: globby@^6.0.0: version "6.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" dependencies: array-union "^1.0.1" glob "^7.0.3" @@ -2868,7 +2868,7 @@ globby@^6.0.0: got@^6.7.1: version "6.7.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" + resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" dependencies: create-error-class "^3.0.0" duplexer3 "^0.1.4" @@ -2884,21 +2884,21 @@ got@^6.7.1: graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: version "4.1.11" - resolved "https://repository.neo9.pro/content/groups/global-npm/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" "graceful-readlink@>= 1.0.0": version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" gzip-size@^3.0.0: version "3.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/gzip-size/-/gzip-size-3.0.0.tgz#546188e9bdc337f673772f81660464b389dce520" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-3.0.0.tgz#546188e9bdc337f673772f81660464b389dce520" dependencies: duplexer "^0.1.1" handlebars@^4.0.3: version "4.0.10" - resolved "https://repository.neo9.pro/content/groups/global-npm/handlebars/-/handlebars-4.0.10.tgz#3d30c718b09a3d96f23ea4cc1f403c4d3ba9ff4f" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.10.tgz#3d30c718b09a3d96f23ea4cc1f403c4d3ba9ff4f" dependencies: async "^1.4.0" optimist "^0.6.1" @@ -2908,11 +2908,11 @@ handlebars@^4.0.3: har-schema@^1.0.5: version "1.0.5" - resolved "https://repository.neo9.pro/content/groups/global-npm/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" har-validator@~2.0.6: version "2.0.6" - resolved "https://repository.neo9.pro/content/groups/global-npm/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" dependencies: chalk "^1.1.1" commander "^2.9.0" @@ -2921,62 +2921,62 @@ har-validator@~2.0.6: har-validator@~4.2.1: version "4.2.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" dependencies: ajv "^4.9.1" har-schema "^1.0.5" has-ansi@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" dependencies: ansi-regex "^2.0.0" has-color@~0.1.0: version "0.1.7" - resolved "https://repository.neo9.pro/content/groups/global-npm/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" + resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" has-flag@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" has-flag@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" has-unicode@^2.0.0: version "2.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" has-yarn@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/has-yarn/-/has-yarn-1.0.0.tgz#89e25db604b725c8f5976fff0addc921b828a5a7" + resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-1.0.0.tgz#89e25db604b725c8f5976fff0addc921b828a5a7" has@^1.0.1: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" dependencies: function-bind "^1.0.2" hash-base@^2.0.0: version "2.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/hash-base/-/hash-base-2.0.2.tgz#66ea1d856db4e8a5470cadf6fce23ae5244ef2e1" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-2.0.2.tgz#66ea1d856db4e8a5470cadf6fce23ae5244ef2e1" dependencies: inherits "^2.0.1" hash-sum@^1.0.2: version "1.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/hash-sum/-/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04" + resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04" hash.js@^1.0.0, hash.js@^1.0.3: version "1.0.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/hash.js/-/hash.js-1.0.3.tgz#1332ff00156c0a0ffdd8236013d07b77a0451573" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.0.3.tgz#1332ff00156c0a0ffdd8236013d07b77a0451573" dependencies: inherits "^2.0.1" hawk@~3.1.3: version "3.1.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" + resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" dependencies: boom "2.x.x" cryptiles "2.x.x" @@ -2985,11 +2985,11 @@ hawk@~3.1.3: he@1.1.x, he@^1.1.0: version "1.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" + resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" hmac-drbg@^1.0.0: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" dependencies: hash.js "^1.0.3" minimalistic-assert "^1.0.0" @@ -2997,36 +2997,36 @@ hmac-drbg@^1.0.0: hoek@2.x.x: version "2.16.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" home-or-tmp@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" + resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" dependencies: os-homedir "^1.0.0" os-tmpdir "^1.0.1" hosted-git-info@^2.1.4: version "2.4.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/hosted-git-info/-/hosted-git-info-2.4.2.tgz#0076b9f46a270506ddbaaea56496897460612a67" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.4.2.tgz#0076b9f46a270506ddbaaea56496897460612a67" html-comment-regex@^1.1.0: version "1.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/html-comment-regex/-/html-comment-regex-1.1.1.tgz#668b93776eaae55ebde8f3ad464b307a4963625e" + resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.1.tgz#668b93776eaae55ebde8f3ad464b307a4963625e" html-encoding-sniffer@^1.0.1: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/html-encoding-sniffer/-/html-encoding-sniffer-1.0.1.tgz#79bf7a785ea495fe66165e734153f363ff5437da" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.1.tgz#79bf7a785ea495fe66165e734153f363ff5437da" dependencies: whatwg-encoding "^1.0.1" html-entities@^1.2.0: version "1.2.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" html-minifier@^3.2.3, html-minifier@^3.5.2: version "3.5.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/html-minifier/-/html-minifier-3.5.2.tgz#d73bc3ff448942408818ce609bf3fb0ea7ef4eb7" + resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.2.tgz#d73bc3ff448942408818ce609bf3fb0ea7ef4eb7" dependencies: camel-case "3.0.x" clean-css "4.1.x" @@ -3039,7 +3039,7 @@ html-minifier@^3.2.3, html-minifier@^3.5.2: html-webpack-plugin@^2.28.0: version "2.28.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/html-webpack-plugin/-/html-webpack-plugin-2.28.0.tgz#2e7863b57e5fd48fe263303e2ffc934c3064d009" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-2.28.0.tgz#2e7863b57e5fd48fe263303e2ffc934c3064d009" dependencies: bluebird "^3.4.7" html-minifier "^3.2.3" @@ -3050,7 +3050,7 @@ html-webpack-plugin@^2.28.0: htmlparser2@^3.8.2: version "3.9.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/htmlparser2/-/htmlparser2-3.9.2.tgz#1bdf87acca0f3f9e53fa4fcceb0f4b4cbb00b338" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.9.2.tgz#1bdf87acca0f3f9e53fa4fcceb0f4b4cbb00b338" dependencies: domelementtype "^1.3.0" domhandler "^2.3.0" @@ -3061,7 +3061,7 @@ htmlparser2@^3.8.2: htmlparser2@~3.3.0: version "3.3.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/htmlparser2/-/htmlparser2-3.3.0.tgz#cc70d05a59f6542e43f0e685c982e14c924a9efe" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.3.0.tgz#cc70d05a59f6542e43f0e685c982e14c924a9efe" dependencies: domelementtype "1" domhandler "2.1" @@ -3070,7 +3070,7 @@ htmlparser2@~3.3.0: http-errors@~1.6.1: version "1.6.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/http-errors/-/http-errors-1.6.1.tgz#5f8b8ed98aca545656bf572997387f904a722257" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.1.tgz#5f8b8ed98aca545656bf572997387f904a722257" dependencies: depd "1.1.0" inherits "2.0.3" @@ -3079,7 +3079,7 @@ http-errors@~1.6.1: http-signature@~1.1.0: version "1.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" dependencies: assert-plus "^0.2.0" jsprim "^1.2.2" @@ -3087,11 +3087,11 @@ http-signature@~1.1.0: https-browserify@0.0.1: version "0.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82" hullabaloo-config-manager@^1.0.0: version "1.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/hullabaloo-config-manager/-/hullabaloo-config-manager-1.1.1.tgz#1d9117813129ad035fd9e8477eaf066911269fe3" + resolved "https://registry.yarnpkg.com/hullabaloo-config-manager/-/hullabaloo-config-manager-1.1.1.tgz#1d9117813129ad035fd9e8477eaf066911269fe3" dependencies: dot-prop "^4.1.0" es6-error "^4.0.2" @@ -3110,78 +3110,78 @@ hullabaloo-config-manager@^1.0.0: iconv-lite@0.4.13: version "0.4.13" - resolved "https://repository.neo9.pro/content/groups/global-npm/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" iconv-lite@^0.4.17, iconv-lite@~0.4.13: version "0.4.17" - resolved "https://repository.neo9.pro/content/groups/global-npm/iconv-lite/-/iconv-lite-0.4.17.tgz#4fdaa3b38acbc2c031b045d0edcdfe1ecab18c8d" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.17.tgz#4fdaa3b38acbc2c031b045d0edcdfe1ecab18c8d" icss-replace-symbols@^1.1.0: version "1.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" + resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" icss-utils@^2.1.0: version "2.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/icss-utils/-/icss-utils-2.1.0.tgz#83f0a0ec378bf3246178b6c2ad9136f135b1c962" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-2.1.0.tgz#83f0a0ec378bf3246178b6c2ad9136f135b1c962" dependencies: postcss "^6.0.1" ieee754@^1.1.4: version "1.1.8" - resolved "https://repository.neo9.pro/content/groups/global-npm/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" ignore-by-default@^1.0.0: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" + resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" ignore@^3.2.0, ignore@^3.3.3: version "3.3.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/ignore/-/ignore-3.3.3.tgz#432352e57accd87ab3110e82d3fea0e47812156d" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.3.tgz#432352e57accd87ab3110e82d3fea0e47812156d" imurmurhash@^0.1.4: version "0.1.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" indent-string@^2.1.0: version "2.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" dependencies: repeating "^2.0.0" indent-string@^3.0.0, indent-string@^3.1.0: version "3.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/indent-string/-/indent-string-3.1.0.tgz#08ff4334603388399b329e6b9538dc7a3cf5de7d" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.1.0.tgz#08ff4334603388399b329e6b9538dc7a3cf5de7d" indexes-of@^1.0.1: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" indexof@0.0.1: version "0.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" + resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" inflight@^1.0.4: version "1.0.6" - resolved "https://repository.neo9.pro/content/groups/global-npm/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" dependencies: once "^1.3.0" wrappy "1" inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1: version "2.0.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" inherits@2.0.1: version "2.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" ini@^1.3.4, ini@~1.3.0: version "1.3.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" inquirer@3.0.6: version "3.0.6" - resolved "https://repository.neo9.pro/content/groups/global-npm/inquirer/-/inquirer-3.0.6.tgz#e04aaa9d05b7a3cb9b0f407d04375f0447190347" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.0.6.tgz#e04aaa9d05b7a3cb9b0f407d04375f0447190347" dependencies: ansi-escapes "^1.1.0" chalk "^1.0.0" @@ -3199,7 +3199,7 @@ inquirer@3.0.6: inquirer@^0.12.0: version "0.12.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" dependencies: ansi-escapes "^1.1.0" ansi-regex "^2.0.0" @@ -3217,121 +3217,121 @@ inquirer@^0.12.0: interpret@^1.0.0: version "1.0.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/interpret/-/interpret-1.0.3.tgz#cbc35c62eeee73f19ab7b10a801511401afc0f90" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.3.tgz#cbc35c62eeee73f19ab7b10a801511401afc0f90" invariant@^2.2.0, invariant@^2.2.2: version "2.2.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" dependencies: loose-envify "^1.0.0" invert-kv@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" ipaddr.js@1.3.0: version "1.3.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/ipaddr.js/-/ipaddr.js-1.3.0.tgz#1e03a52fdad83a8bbb2b25cbf4998b4cffcd3dec" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.3.0.tgz#1e03a52fdad83a8bbb2b25cbf4998b4cffcd3dec" irregular-plurals@^1.0.0: version "1.2.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/irregular-plurals/-/irregular-plurals-1.2.0.tgz#38f299834ba8c00c30be9c554e137269752ff3ac" + resolved "https://registry.yarnpkg.com/irregular-plurals/-/irregular-plurals-1.2.0.tgz#38f299834ba8c00c30be9c554e137269752ff3ac" is-absolute-url@^2.0.0: version "2.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" is-arrayish@^0.2.1: version "0.2.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" is-binary-path@^1.0.0: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" dependencies: binary-extensions "^1.0.0" is-buffer@^1.1.5: version "1.1.5" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc" is-builtin-module@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" dependencies: builtin-modules "^1.0.0" is-ci@^1.0.7: version "1.0.10" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-ci/-/is-ci-1.0.10.tgz#f739336b2632365061a9d48270cd56ae3369318e" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.0.10.tgz#f739336b2632365061a9d48270cd56ae3369318e" dependencies: ci-info "^1.0.0" is-directory@^0.3.1: version "0.3.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" is-dotfile@^1.0.0: version "1.0.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" + resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" is-equal-shallow@^0.1.3: version "0.1.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" dependencies: is-primitive "^2.0.0" is-error@^2.2.0: version "2.2.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-error/-/is-error-2.2.1.tgz#684a96d84076577c98f4cdb40c6d26a5123bf19c" + resolved "https://registry.yarnpkg.com/is-error/-/is-error-2.2.1.tgz#684a96d84076577c98f4cdb40c6d26a5123bf19c" is-extendable@^0.1.1: version "0.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" is-extglob@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" is-extglob@^2.1.0: version "2.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" is-finite@^1.0.0, is-finite@^1.0.1: version "1.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" dependencies: number-is-nan "^1.0.0" is-fullwidth-code-point@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" dependencies: number-is-nan "^1.0.0" is-fullwidth-code-point@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" is-generator-fn@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-generator-fn/-/is-generator-fn-1.0.0.tgz#969d49e1bb3329f6bb7f09089be26578b2ddd46a" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-1.0.0.tgz#969d49e1bb3329f6bb7f09089be26578b2ddd46a" is-glob@^2.0.0, is-glob@^2.0.1: version "2.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" dependencies: is-extglob "^1.0.0" is-glob@^3.1.0: version "3.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" dependencies: is-extglob "^2.1.0" is-my-json-valid@^2.10.0, is-my-json-valid@^2.12.4: version "2.16.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693" + resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693" dependencies: generate-function "^2.0.0" generate-object-property "^1.1.0" @@ -3340,131 +3340,131 @@ is-my-json-valid@^2.10.0, is-my-json-valid@^2.12.4: is-npm@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" + resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" is-number@^2.0.2, is-number@^2.1.0: version "2.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" dependencies: kind-of "^3.0.2" is-obj@^1.0.0: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" is-observable@^0.2.0: version "0.2.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-observable/-/is-observable-0.2.0.tgz#b361311d83c6e5d726cabf5e250b0237106f5ae2" + resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-0.2.0.tgz#b361311d83c6e5d726cabf5e250b0237106f5ae2" dependencies: symbol-observable "^0.2.2" is-path-cwd@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" is-path-in-cwd@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc" + resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc" dependencies: is-path-inside "^1.0.0" is-path-inside@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f" dependencies: path-is-inside "^1.0.1" is-plain-obj@^1.0.0: version "1.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" is-posix-bracket@^0.1.0: version "0.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" is-primitive@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" is-promise@^2.1.0: version "2.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" is-property@^1.0.0: version "1.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" + resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" is-redirect@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" + resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" is-resolvable@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62" + resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62" dependencies: tryit "^1.0.1" is-retry-allowed@^1.0.0: version "1.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" + resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" is-svg@^2.0.0: version "2.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9" + resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9" dependencies: html-comment-regex "^1.1.0" is-typedarray@~1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" is-url@^1.2.1: version "1.2.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-url/-/is-url-1.2.2.tgz#498905a593bf47cc2d9e7f738372bbf7696c7f26" + resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.2.tgz#498905a593bf47cc2d9e7f738372bbf7696c7f26" is-utf8@^0.2.0, is-utf8@^0.2.1: version "0.2.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" isarray@0.0.1: version "0.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" isexe@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" isobject@^2.0.0: version "2.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" dependencies: isarray "1.0.0" isstream@~0.1.2: version "0.1.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" istanbul-lib-coverage@^1.1.1: version "1.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz#73bfb998885299415c93d38a3e9adf784a77a9da" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz#73bfb998885299415c93d38a3e9adf784a77a9da" istanbul-lib-hook@^1.0.7: version "1.0.7" - resolved "https://repository.neo9.pro/content/groups/global-npm/istanbul-lib-hook/-/istanbul-lib-hook-1.0.7.tgz#dd6607f03076578fe7d6f2a630cf143b49bacddc" + resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.0.7.tgz#dd6607f03076578fe7d6f2a630cf143b49bacddc" dependencies: append-transform "^0.4.0" istanbul-lib-instrument@^1.7.2: version "1.7.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/istanbul-lib-instrument/-/istanbul-lib-instrument-1.7.2.tgz#6014b03d3470fb77638d5802508c255c06312e56" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.7.2.tgz#6014b03d3470fb77638d5802508c255c06312e56" dependencies: babel-generator "^6.18.0" babel-template "^6.16.0" @@ -3476,7 +3476,7 @@ istanbul-lib-instrument@^1.7.2: istanbul-lib-report@^1.1.1: version "1.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz#f0e55f56655ffa34222080b7a0cd4760e1405fc9" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz#f0e55f56655ffa34222080b7a0cd4760e1405fc9" dependencies: istanbul-lib-coverage "^1.1.1" mkdirp "^0.5.1" @@ -3485,7 +3485,7 @@ istanbul-lib-report@^1.1.1: istanbul-lib-source-maps@^1.2.1: version "1.2.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.1.tgz#a6fe1acba8ce08eebc638e572e294d267008aa0c" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.1.tgz#a6fe1acba8ce08eebc638e572e294d267008aa0c" dependencies: debug "^2.6.3" istanbul-lib-coverage "^1.1.1" @@ -3495,13 +3495,13 @@ istanbul-lib-source-maps@^1.2.1: istanbul-reports@^1.1.1: version "1.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/istanbul-reports/-/istanbul-reports-1.1.1.tgz#042be5c89e175bc3f86523caab29c014e77fee4e" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.1.1.tgz#042be5c89e175bc3f86523caab29c014e77fee4e" dependencies: handlebars "^4.0.3" jest-diff@19.0.0, jest-diff@^19.0.0: version "19.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/jest-diff/-/jest-diff-19.0.0.tgz#d1563cfc56c8b60232988fbc05d4d16ed90f063c" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-19.0.0.tgz#d1563cfc56c8b60232988fbc05d4d16ed90f063c" dependencies: chalk "^1.1.3" diff "^3.0.0" @@ -3510,29 +3510,29 @@ jest-diff@19.0.0, jest-diff@^19.0.0: jest-file-exists@^19.0.0: version "19.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/jest-file-exists/-/jest-file-exists-19.0.0.tgz#cca2e587a11ec92e24cfeab3f8a94d657f3fceb8" + resolved "https://registry.yarnpkg.com/jest-file-exists/-/jest-file-exists-19.0.0.tgz#cca2e587a11ec92e24cfeab3f8a94d657f3fceb8" jest-matcher-utils@^19.0.0: version "19.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/jest-matcher-utils/-/jest-matcher-utils-19.0.0.tgz#5ecd9b63565d2b001f61fbf7ec4c7f537964564d" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-19.0.0.tgz#5ecd9b63565d2b001f61fbf7ec4c7f537964564d" dependencies: chalk "^1.1.3" pretty-format "^19.0.0" jest-message-util@^19.0.0: version "19.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/jest-message-util/-/jest-message-util-19.0.0.tgz#721796b89c0e4d761606f9ba8cb828a3b6246416" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-19.0.0.tgz#721796b89c0e4d761606f9ba8cb828a3b6246416" dependencies: chalk "^1.1.1" micromatch "^2.3.11" jest-mock@^19.0.0: version "19.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/jest-mock/-/jest-mock-19.0.0.tgz#67038641e9607ab2ce08ec4a8cb83aabbc899d01" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-19.0.0.tgz#67038641e9607ab2ce08ec4a8cb83aabbc899d01" jest-snapshot@19.0.2: version "19.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/jest-snapshot/-/jest-snapshot-19.0.2.tgz#9c1b216214f7187c38bfd5c70b1efab16b0ff50b" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-19.0.2.tgz#9c1b216214f7187c38bfd5c70b1efab16b0ff50b" dependencies: chalk "^1.1.3" jest-diff "^19.0.0" @@ -3544,7 +3544,7 @@ jest-snapshot@19.0.2: jest-util@^19.0.2: version "19.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/jest-util/-/jest-util-19.0.2.tgz#e0a0232a2ab9e6b2b53668bdb3534c2b5977ed41" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-19.0.2.tgz#e0a0232a2ab9e6b2b53668bdb3534c2b5977ed41" dependencies: chalk "^1.1.1" graceful-fs "^4.1.6" @@ -3557,7 +3557,7 @@ jest-util@^19.0.2: jest-validate@^19.0.2: version "19.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/jest-validate/-/jest-validate-19.0.2.tgz#dc534df5f1278d5b63df32b14241d4dbf7244c0c" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-19.0.2.tgz#dc534df5f1278d5b63df32b14241d4dbf7244c0c" dependencies: chalk "^1.1.1" jest-matcher-utils "^19.0.0" @@ -3566,17 +3566,17 @@ jest-validate@^19.0.2: jodid25519@^1.0.0: version "1.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" + resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" dependencies: jsbn "~0.1.0" js-base64@^2.1.9: version "2.1.9" - resolved "https://repository.neo9.pro/content/groups/global-npm/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce" js-beautify@^1.6.3: version "1.6.14" - resolved "https://repository.neo9.pro/content/groups/global-npm/js-beautify/-/js-beautify-1.6.14.tgz#d3b8f7322d02b9277d58bd238264c327e58044cd" + resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.6.14.tgz#d3b8f7322d02b9277d58bd238264c327e58044cd" dependencies: config-chain "~1.1.5" editorconfig "^0.13.2" @@ -3585,33 +3585,33 @@ js-beautify@^1.6.3: js-tokens@^3.0.0: version "3.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" js-yaml@^3.4.3, js-yaml@^3.5.1, js-yaml@^3.8.2: version "3.8.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/js-yaml/-/js-yaml-3.8.4.tgz#520b4564f86573ba96662af85a8cafa7b4b5a6f6" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.4.tgz#520b4564f86573ba96662af85a8cafa7b4b5a6f6" dependencies: argparse "^1.0.7" esprima "^3.1.1" js-yaml@~3.7.0: version "3.7.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" dependencies: argparse "^1.0.7" esprima "^2.6.0" jsbn@~0.1.0: version "0.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" jschardet@^1.4.2: version "1.4.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/jschardet/-/jschardet-1.4.2.tgz#2aa107f142af4121d145659d44f50830961e699a" + resolved "https://registry.yarnpkg.com/jschardet/-/jschardet-1.4.2.tgz#2aa107f142af4121d145659d44f50830961e699a" jsdom@^11.0.0: version "11.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/jsdom/-/jsdom-11.0.0.tgz#1ee507cb2c0b16c875002476b1a8557d951353e5" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.0.0.tgz#1ee507cb2c0b16c875002476b1a8557d951353e5" dependencies: abab "^1.0.3" acorn "^4.0.4" @@ -3637,57 +3637,57 @@ jsdom@^11.0.0: jsesc@^1.3.0: version "1.3.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" jsesc@~0.5.0: version "0.5.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" json-loader@^0.5.4: version "0.5.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/json-loader/-/json-loader-0.5.4.tgz#8baa1365a632f58a3c46d20175fc6002c96e37de" + resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.4.tgz#8baa1365a632f58a3c46d20175fc6002c96e37de" json-schema@0.2.3: version "0.2.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" dependencies: jsonify "~0.0.0" json-stringify-safe@~5.0.1: version "5.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" json5@^0.5.0, json5@^0.5.1: version "0.5.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" jsonfile@^2.1.0: version "2.4.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" optionalDependencies: graceful-fs "^4.1.6" jsonfile@^3.0.0: version "3.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/jsonfile/-/jsonfile-3.0.0.tgz#92e7c7444e5ffd5fa32e6a9ae8b85034df8347d0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-3.0.0.tgz#92e7c7444e5ffd5fa32e6a9ae8b85034df8347d0" optionalDependencies: graceful-fs "^4.1.6" jsonify@~0.0.0: version "0.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" jsonpointer@^4.0.0: version "4.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" jsprim@^1.2.2: version "1.4.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918" dependencies: assert-plus "1.0.0" extsprintf "1.0.2" @@ -3696,56 +3696,56 @@ jsprim@^1.2.2: kind-of@^3.0.2: version "3.2.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" dependencies: is-buffer "^1.1.5" klaw@^1.0.0: version "1.3.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" + resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" optionalDependencies: graceful-fs "^4.1.9" last-line-stream@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/last-line-stream/-/last-line-stream-1.0.0.tgz#d1b64d69f86ff24af2d04883a2ceee14520a5600" + resolved "https://registry.yarnpkg.com/last-line-stream/-/last-line-stream-1.0.0.tgz#d1b64d69f86ff24af2d04883a2ceee14520a5600" dependencies: through2 "^2.0.0" latest-version@^3.0.0: version "3.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" + resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" dependencies: package-json "^4.0.0" lazy-cache@^1.0.3: version "1.0.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" + resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" lazy-req@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/lazy-req/-/lazy-req-2.0.0.tgz#c9450a363ecdda2e6f0c70132ad4f37f8f06f2b4" + resolved "https://registry.yarnpkg.com/lazy-req/-/lazy-req-2.0.0.tgz#c9450a363ecdda2e6f0c70132ad4f37f8f06f2b4" lcid@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" dependencies: invert-kv "^1.0.0" leven@^2.0.0: version "2.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" + resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" levn@^0.3.0, levn@~0.3.0: version "0.3.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" dependencies: prelude-ls "~1.1.2" type-check "~0.3.2" load-json-file@^1.0.0: version "1.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" dependencies: graceful-fs "^4.1.2" parse-json "^2.2.0" @@ -3755,7 +3755,7 @@ load-json-file@^1.0.0: load-json-file@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" dependencies: graceful-fs "^4.1.2" parse-json "^2.2.0" @@ -3764,11 +3764,11 @@ load-json-file@^2.0.0: loader-runner@^2.3.0: version "2.3.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" loader-utils@0.2.x, loader-utils@^0.2.15, loader-utils@^0.2.16: version "0.2.17" - resolved "https://repository.neo9.pro/content/groups/global-npm/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" dependencies: big.js "^3.1.3" emojis-list "^2.0.0" @@ -3777,7 +3777,7 @@ loader-utils@0.2.x, loader-utils@^0.2.15, loader-utils@^0.2.16: loader-utils@^1.0.2, loader-utils@^1.1.0: version "1.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" dependencies: big.js "^3.1.3" emojis-list "^2.0.0" @@ -3785,182 +3785,182 @@ loader-utils@^1.0.2, loader-utils@^1.1.0: locate-path@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" dependencies: p-locate "^2.0.0" path-exists "^3.0.0" lodash._reinterpolate@~3.0.0: version "3.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" lodash.camelcase@^4.3.0: version "4.3.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" lodash.clonedeep@^4.5.0: version "4.5.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" lodash.clonedeepwith@^4.5.0: version "4.5.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/lodash.clonedeepwith/-/lodash.clonedeepwith-4.5.0.tgz#6ee30573a03a1a60d670a62ef33c10cf1afdbdd4" + resolved "https://registry.yarnpkg.com/lodash.clonedeepwith/-/lodash.clonedeepwith-4.5.0.tgz#6ee30573a03a1a60d670a62ef33c10cf1afdbdd4" lodash.cond@^4.3.0: version "4.5.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5" + resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5" lodash.debounce@^4.0.3: version "4.0.8" - resolved "https://repository.neo9.pro/content/groups/global-npm/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" lodash.difference@^4.3.0: version "4.5.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c" + resolved "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c" lodash.flatten@^4.2.0: version "4.4.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" + resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" lodash.flattendeep@^4.4.0: version "4.4.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" + resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" lodash.isequal@^4.5.0: version "4.5.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" lodash.isplainobject@^4.0.6: version "4.0.6" - resolved "https://repository.neo9.pro/content/groups/global-npm/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" lodash.memoize@^4.1.2: version "4.1.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" lodash.merge@^4.6.0: version "4.6.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/lodash.merge/-/lodash.merge-4.6.0.tgz#69884ba144ac33fe699737a6086deffadd0f89c5" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.0.tgz#69884ba144ac33fe699737a6086deffadd0f89c5" lodash.template@^4.4.0: version "4.4.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0" + resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0" dependencies: lodash._reinterpolate "~3.0.0" lodash.templatesettings "^4.0.0" lodash.templatesettings@^4.0.0: version "4.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz#2b4d4e95ba440d915ff08bc899e4553666713316" + resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz#2b4d4e95ba440d915ff08bc899e4553666713316" dependencies: lodash._reinterpolate "~3.0.0" lodash.uniq@^4.5.0: version "4.5.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" lodash@^4.0.0, lodash@^4.11.1, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.3.0: version "4.17.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" longest@^1.0.1: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" + resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" loose-envify@^1.0.0: version "1.3.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" dependencies: js-tokens "^3.0.0" loud-rejection@^1.0.0, loud-rejection@^1.2.0: version "1.6.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" dependencies: currently-unhandled "^0.4.1" signal-exit "^3.0.0" lower-case@^1.1.1: version "1.1.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" lowercase-keys@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" lru-cache@^3.2.0: version "3.2.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/lru-cache/-/lru-cache-3.2.0.tgz#71789b3b7f5399bec8565dda38aa30d2a097efee" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-3.2.0.tgz#71789b3b7f5399bec8565dda38aa30d2a097efee" dependencies: pseudomap "^1.0.1" lru-cache@^4.0.0, lru-cache@^4.0.1: version "4.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e" dependencies: pseudomap "^1.0.1" yallist "^2.0.0" macaddress@^0.2.8: version "0.2.8" - resolved "https://repository.neo9.pro/content/groups/global-npm/macaddress/-/macaddress-0.2.8.tgz#5904dc537c39ec6dbefeae902327135fa8511f12" + resolved "https://registry.yarnpkg.com/macaddress/-/macaddress-0.2.8.tgz#5904dc537c39ec6dbefeae902327135fa8511f12" make-dir@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/make-dir/-/make-dir-1.0.0.tgz#97a011751e91dd87cfadef58832ebb04936de978" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.0.0.tgz#97a011751e91dd87cfadef58832ebb04936de978" dependencies: pify "^2.3.0" map-obj@^1.0.0, map-obj@^1.0.1: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" matcher@^0.1.1: version "0.1.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/matcher/-/matcher-0.1.2.tgz#ef20cbde64c24c50cc61af5b83ee0b1b8ff00101" + resolved "https://registry.yarnpkg.com/matcher/-/matcher-0.1.2.tgz#ef20cbde64c24c50cc61af5b83ee0b1b8ff00101" dependencies: escape-string-regexp "^1.0.4" math-expression-evaluator@^1.2.14: version "1.2.17" - resolved "https://repository.neo9.pro/content/groups/global-npm/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac" + resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac" md5-hex@^1.2.0, md5-hex@^1.3.0: version "1.3.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/md5-hex/-/md5-hex-1.3.0.tgz#d2c4afe983c4370662179b8cad145219135046c4" + resolved "https://registry.yarnpkg.com/md5-hex/-/md5-hex-1.3.0.tgz#d2c4afe983c4370662179b8cad145219135046c4" dependencies: md5-o-matic "^0.1.1" md5-hex@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/md5-hex/-/md5-hex-2.0.0.tgz#d0588e9f1c74954492ecd24ac0ac6ce997d92e33" + resolved "https://registry.yarnpkg.com/md5-hex/-/md5-hex-2.0.0.tgz#d0588e9f1c74954492ecd24ac0ac6ce997d92e33" dependencies: md5-o-matic "^0.1.1" md5-o-matic@^0.1.1: version "0.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/md5-o-matic/-/md5-o-matic-0.1.1.tgz#822bccd65e117c514fab176b25945d54100a03c3" + resolved "https://registry.yarnpkg.com/md5-o-matic/-/md5-o-matic-0.1.1.tgz#822bccd65e117c514fab176b25945d54100a03c3" media-typer@0.3.0: version "0.3.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" mem@^1.1.0: version "1.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" + resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" dependencies: mimic-fn "^1.0.0" memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1: version "0.4.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" dependencies: errno "^0.1.3" readable-stream "^2.0.1" meow@^3.7.0: version "3.7.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" dependencies: camelcase-keys "^2.0.0" decamelize "^1.1.2" @@ -3975,21 +3975,21 @@ meow@^3.7.0: merge-descriptors@1.0.1: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" merge-source-map@^1.0.2: version "1.0.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/merge-source-map/-/merge-source-map-1.0.3.tgz#da1415f2722a5119db07b14c4f973410863a2abf" + resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.0.3.tgz#da1415f2722a5119db07b14c4f973410863a2abf" dependencies: source-map "^0.5.3" methods@~1.1.2: version "1.1.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" micromatch@^2.1.5, micromatch@^2.3.11: version "2.3.11" - resolved "https://repository.neo9.pro/content/groups/global-npm/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" dependencies: arr-diff "^2.0.0" array-unique "^0.2.1" @@ -4007,76 +4007,76 @@ micromatch@^2.1.5, micromatch@^2.3.11: miller-rabin@^4.0.0: version "4.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/miller-rabin/-/miller-rabin-4.0.0.tgz#4a62fb1d42933c05583982f4c716f6fb9e6c6d3d" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.0.tgz#4a62fb1d42933c05583982f4c716f6fb9e6c6d3d" dependencies: bn.js "^4.0.0" brorand "^1.0.1" "mime-db@>= 1.27.0 < 2": version "1.28.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/mime-db/-/mime-db-1.28.0.tgz#fedd349be06d2865b7fc57d837c6de4f17d7ac3c" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.28.0.tgz#fedd349be06d2865b7fc57d837c6de4f17d7ac3c" mime-db@~1.27.0: version "1.27.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1" mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.15, mime-types@~2.1.7: version "2.1.15" - resolved "https://repository.neo9.pro/content/groups/global-npm/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed" dependencies: mime-db "~1.27.0" mime@1.3.4: version "1.3.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" mime@1.3.x, mime@^1.3.4: version "1.3.6" - resolved "https://repository.neo9.pro/content/groups/global-npm/mime/-/mime-1.3.6.tgz#591d84d3653a6b0b4a3b9df8de5aa8108e72e5e0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.6.tgz#591d84d3653a6b0b4a3b9df8de5aa8108e72e5e0" mimic-fn@^1.0.0: version "1.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" minimalistic-assert@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3" minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" "minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: version "3.0.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: brace-expansion "^1.1.7" minimist@0.0.8, minimist@~0.0.1: version "0.0.8" - resolved "https://repository.neo9.pro/content/groups/global-npm/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" minimist@1.2.0, minimist@^1.1.3, minimist@^1.2.0: version "1.2.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" "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://repository.neo9.pro/content/groups/global-npm/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" dependencies: minimist "0.0.8" ms@0.7.1, ms@^0.7.1: version "0.7.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" ms@2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" multimatch@^2.1.0: version "2.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" + resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" dependencies: array-differ "^1.0.0" array-union "^1.0.1" @@ -4085,52 +4085,52 @@ multimatch@^2.1.0: mute-stream@0.0.5: version "0.0.5" - resolved "https://repository.neo9.pro/content/groups/global-npm/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" mute-stream@0.0.7: version "0.0.7" - resolved "https://repository.neo9.pro/content/groups/global-npm/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" nan@^2.3.0: version "2.6.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45" natural-compare@^1.4.0: version "1.4.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" ncname@1.0.x: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/ncname/-/ncname-1.0.0.tgz#5b57ad18b1ca092864ef62b0b1ed8194f383b71c" + resolved "https://registry.yarnpkg.com/ncname/-/ncname-1.0.0.tgz#5b57ad18b1ca092864ef62b0b1ed8194f383b71c" dependencies: xml-char-classes "^1.0.0" negotiator@0.6.1: version "0.6.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" no-case@^2.2.0: version "2.3.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/no-case/-/no-case-2.3.1.tgz#7aeba1c73a52184265554b7dc03baf720df80081" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.1.tgz#7aeba1c73a52184265554b7dc03baf720df80081" dependencies: lower-case "^1.1.1" node-dir@^0.1.10: version "0.1.17" - resolved "https://repository.neo9.pro/content/groups/global-npm/node-dir/-/node-dir-0.1.17.tgz#5f5665d93351335caabef8f1c554516cf5f1e4e5" + resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.17.tgz#5f5665d93351335caabef8f1c554516cf5f1e4e5" dependencies: minimatch "^3.0.2" node-fetch@1.6.3: version "1.6.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04" dependencies: encoding "^0.1.11" is-stream "^1.0.1" node-libs-browser@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/node-libs-browser/-/node-libs-browser-2.0.0.tgz#a3a59ec97024985b46e958379646f96c4b616646" + resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.0.0.tgz#a3a59ec97024985b46e958379646f96c4b616646" dependencies: assert "^1.1.1" browserify-zlib "^0.1.4" @@ -4158,7 +4158,7 @@ node-libs-browser@^2.0.0: node-pre-gyp@^0.6.29: version "0.6.36" - resolved "https://repository.neo9.pro/content/groups/global-npm/node-pre-gyp/-/node-pre-gyp-0.6.36.tgz#db604112cb74e0d477554e9b505b17abddfab786" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.36.tgz#db604112cb74e0d477554e9b505b17abddfab786" dependencies: mkdirp "^0.5.1" nopt "^4.0.1" @@ -4172,20 +4172,20 @@ node-pre-gyp@^0.6.29: nopt@^4.0.1: version "4.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" dependencies: abbrev "1" osenv "^0.1.4" nopt@~3.0.1: version "3.0.6" - resolved "https://repository.neo9.pro/content/groups/global-npm/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" dependencies: abbrev "1" normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: version "2.3.8" - resolved "https://repository.neo9.pro/content/groups/global-npm/normalize-package-data/-/normalize-package-data-2.3.8.tgz#d819eda2a9dedbd1ffa563ea4071d936782295bb" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.8.tgz#d819eda2a9dedbd1ffa563ea4071d936782295bb" dependencies: hosted-git-info "^2.1.4" is-builtin-module "^1.0.0" @@ -4194,17 +4194,17 @@ normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: normalize-path@^2.0.1: version "2.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" dependencies: remove-trailing-separator "^1.0.1" normalize-range@^0.1.2: version "0.1.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" normalize-url@^1.4.0: version "1.9.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" dependencies: object-assign "^4.0.1" prepend-http "^1.0.0" @@ -4213,19 +4213,19 @@ normalize-url@^1.4.0: npm-run-path@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/npm-run-path/-/npm-run-path-1.0.0.tgz#f5c32bf595fe81ae927daec52e82f8b000ac3c8f" + 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://repository.neo9.pro/content/groups/global-npm/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" dependencies: path-key "^2.0.0" npmlog@^4.0.2: version "4.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/npmlog/-/npmlog-4.1.0.tgz#dc59bee85f64f00ed424efb2af0783df25d1c0b5" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.0.tgz#dc59bee85f64f00ed424efb2af0783df25d1c0b5" dependencies: are-we-there-yet "~1.1.2" console-control-strings "~1.1.0" @@ -4234,25 +4234,25 @@ npmlog@^4.0.2: nth-check@~1.0.1: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/nth-check/-/nth-check-1.0.1.tgz#9929acdf628fc2c41098deab82ac580cf149aae4" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.1.tgz#9929acdf628fc2c41098deab82ac580cf149aae4" dependencies: boolbase "~1.0.0" num2fraction@^1.2.2: version "1.2.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" number-is-nan@^1.0.0: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" "nwmatcher@>= 1.3.9 < 2.0.0": version "1.4.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/nwmatcher/-/nwmatcher-1.4.0.tgz#b4389362170e7ef9798c3c7716d80ebc0106fccf" + resolved "https://registry.yarnpkg.com/nwmatcher/-/nwmatcher-1.4.0.tgz#b4389362170e7ef9798c3c7716d80ebc0106fccf" nyc@^11.0.2: version "11.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/nyc/-/nyc-11.0.2.tgz#9e592a697186028253b668516c38f079c39c08f3" + resolved "https://registry.yarnpkg.com/nyc/-/nyc-11.0.2.tgz#9e592a697186028253b668516c38f079c39c08f3" dependencies: archy "^1.0.0" arrify "^1.0.1" @@ -4284,19 +4284,19 @@ nyc@^11.0.2: oauth-sign@~0.8.1: version "0.8.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" object-keys@^1.0.10, object-keys@^1.0.8: version "1.0.11" - resolved "https://repository.neo9.pro/content/groups/global-npm/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" object.assign@^4.0.1: version "4.0.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/object.assign/-/object.assign-4.0.4.tgz#b1c9cc044ef1b9fe63606fc141abbb32e14730cc" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.0.4.tgz#b1c9cc044ef1b9fe63606fc141abbb32e14730cc" dependencies: define-properties "^1.1.2" function-bind "^1.1.0" @@ -4304,21 +4304,21 @@ object.assign@^4.0.1: object.omit@^2.0.0: version "2.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" + resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" dependencies: for-own "^0.1.4" is-extendable "^0.1.1" observable-to-promise@^0.5.0: version "0.5.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/observable-to-promise/-/observable-to-promise-0.5.0.tgz#c828f0f0dc47e9f86af8a4977c5d55076ce7a91f" + resolved "https://registry.yarnpkg.com/observable-to-promise/-/observable-to-promise-0.5.0.tgz#c828f0f0dc47e9f86af8a4977c5d55076ce7a91f" dependencies: is-observable "^0.2.0" symbol-observable "^1.0.4" offline-plugin@^4.8.1: version "4.8.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/offline-plugin/-/offline-plugin-4.8.1.tgz#1d73457081185777179c29d9d416f71077a0197a" + resolved "https://registry.yarnpkg.com/offline-plugin/-/offline-plugin-4.8.1.tgz#1d73457081185777179c29d9d416f71077a0197a" dependencies: deep-extend "^0.4.0" ejs "^2.3.4" @@ -4328,33 +4328,33 @@ offline-plugin@^4.8.1: on-finished@~2.3.0: version "2.3.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" dependencies: ee-first "1.1.1" on-headers@~1.0.1: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7" once@^1.3.0, once@^1.3.3: version "1.4.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" dependencies: wrappy "1" onetime@^1.0.0: version "1.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" onetime@^2.0.0: version "2.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" dependencies: mimic-fn "^1.0.0" opencollective@^1.0.3: version "1.0.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/opencollective/-/opencollective-1.0.3.tgz#aee6372bc28144583690c3ca8daecfc120dd0ef1" + resolved "https://registry.yarnpkg.com/opencollective/-/opencollective-1.0.3.tgz#aee6372bc28144583690c3ca8daecfc120dd0ef1" dependencies: babel-polyfill "6.23.0" chalk "1.1.3" @@ -4365,31 +4365,31 @@ opencollective@^1.0.3: opener@^1.4.3: version "1.4.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/opener/-/opener-1.4.3.tgz#5c6da2c5d7e5831e8ffa3964950f8d6674ac90b8" + resolved "https://registry.yarnpkg.com/opener/-/opener-1.4.3.tgz#5c6da2c5d7e5831e8ffa3964950f8d6674ac90b8" opn@4.0.2: version "4.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/opn/-/opn-4.0.2.tgz#7abc22e644dff63b0a96d5ab7f2790c0f01abc95" + resolved "https://registry.yarnpkg.com/opn/-/opn-4.0.2.tgz#7abc22e644dff63b0a96d5ab7f2790c0f01abc95" dependencies: object-assign "^4.0.1" pinkie-promise "^2.0.0" optimist@^0.6.1: version "0.6.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" + resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" dependencies: minimist "~0.0.1" wordwrap "~0.0.2" option-chain@^0.1.0: version "0.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/option-chain/-/option-chain-0.1.1.tgz#e9b811e006f1c0f54802f28295bfc8970f8dcfbd" + resolved "https://registry.yarnpkg.com/option-chain/-/option-chain-0.1.1.tgz#e9b811e006f1c0f54802f28295bfc8970f8dcfbd" dependencies: object-assign "^4.0.1" optionator@^0.8.1, optionator@^0.8.2: version "0.8.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" dependencies: deep-is "~0.1.3" fast-levenshtein "~2.0.4" @@ -4400,21 +4400,21 @@ optionator@^0.8.1, optionator@^0.8.2: os-browserify@^0.2.0: version "0.2.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/os-browserify/-/os-browserify-0.2.1.tgz#63fc4ccee5d2d7763d26bbf8601078e6c2e0044f" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.2.1.tgz#63fc4ccee5d2d7763d26bbf8601078e6c2e0044f" os-homedir@^1.0.0, os-homedir@^1.0.1: version "1.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" os-locale@^1.4.0: version "1.4.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" dependencies: lcid "^1.0.0" os-locale@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/os-locale/-/os-locale-2.0.0.tgz#15918ded510522b81ee7ae5a309d54f639fc39a4" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.0.0.tgz#15918ded510522b81ee7ae5a309d54f639fc39a4" dependencies: execa "^0.5.0" lcid "^1.0.0" @@ -4422,38 +4422,38 @@ os-locale@^2.0.0: os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.1: version "1.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" osenv@^0.1.4: version "0.1.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" dependencies: os-homedir "^1.0.0" os-tmpdir "^1.0.0" p-finally@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" p-limit@^1.1.0: version "1.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc" p-locate@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" dependencies: p-limit "^1.1.0" package-hash@^1.2.0: version "1.2.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/package-hash/-/package-hash-1.2.0.tgz#003e56cd57b736a6ed6114cc2b81542672770e44" + resolved "https://registry.yarnpkg.com/package-hash/-/package-hash-1.2.0.tgz#003e56cd57b736a6ed6114cc2b81542672770e44" dependencies: md5-hex "^1.3.0" package-hash@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/package-hash/-/package-hash-2.0.0.tgz#78ae326c89e05a4d813b68601977af05c00d2a0d" + resolved "https://registry.yarnpkg.com/package-hash/-/package-hash-2.0.0.tgz#78ae326c89e05a4d813b68601977af05c00d2a0d" dependencies: graceful-fs "^4.1.11" lodash.flattendeep "^4.4.0" @@ -4462,7 +4462,7 @@ package-hash@^2.0.0: package-json@^4.0.0: version "4.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" + resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" dependencies: got "^6.7.1" registry-auth-token "^3.0.1" @@ -4471,17 +4471,17 @@ package-json@^4.0.0: pako@~0.2.0: version "0.2.9" - resolved "https://repository.neo9.pro/content/groups/global-npm/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" + resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" param-case@2.1.x: version "2.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" dependencies: no-case "^2.2.0" parse-asn1@^5.0.0: version "5.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/parse-asn1/-/parse-asn1-5.1.0.tgz#37c4f9b7ed3ab65c74817b5f2480937fbf97c712" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.0.tgz#37c4f9b7ed3ab65c74817b5f2480937fbf97c712" dependencies: asn1.js "^4.0.0" browserify-aes "^1.0.0" @@ -4491,7 +4491,7 @@ parse-asn1@^5.0.0: parse-glob@^3.0.4: version "3.0.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" dependencies: glob-base "^0.3.0" is-dotfile "^1.0.0" @@ -4500,69 +4500,69 @@ parse-glob@^3.0.4: parse-json@^2.2.0: version "2.2.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" dependencies: error-ex "^1.2.0" parse-ms@^0.1.0: version "0.1.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/parse-ms/-/parse-ms-0.1.2.tgz#dd3fa25ed6c2efc7bdde12ad9b46c163aa29224e" + resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-0.1.2.tgz#dd3fa25ed6c2efc7bdde12ad9b46c163aa29224e" parse-ms@^1.0.0: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/parse-ms/-/parse-ms-1.0.1.tgz#56346d4749d78f23430ca0c713850aef91aa361d" + resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-1.0.1.tgz#56346d4749d78f23430ca0c713850aef91aa361d" parse5@^3.0.2: version "3.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/parse5/-/parse5-3.0.2.tgz#05eff57f0ef4577fb144a79f8b9a967a6cc44510" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-3.0.2.tgz#05eff57f0ef4577fb144a79f8b9a967a6cc44510" dependencies: "@types/node" "^6.0.46" parseurl@~1.3.1: version "1.3.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56" path-browserify@0.0.0: version "0.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" path-exists@^2.0.0: version "2.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" dependencies: pinkie-promise "^2.0.0" path-exists@^3.0.0: version "3.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" path-is-absolute@^1.0.0: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" path-is-inside@^1.0.1: version "1.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + 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://repository.neo9.pro/content/groups/global-npm/path-key/-/path-key-1.0.0.tgz#5d53d578019646c0d68800db4e146e6bdc2ac7af" + 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://repository.neo9.pro/content/groups/global-npm/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" path-parse@^1.0.5: version "1.0.5" - resolved "https://repository.neo9.pro/content/groups/global-npm/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" path-to-regexp@0.1.7: version "0.1.7" - resolved "https://repository.neo9.pro/content/groups/global-npm/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" path-type@^1.0.0: version "1.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" dependencies: graceful-fs "^4.1.2" pify "^2.0.0" @@ -4570,13 +4570,13 @@ path-type@^1.0.0: path-type@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" dependencies: pify "^2.0.0" pbkdf2@^3.0.3: version "3.0.12" - resolved "https://repository.neo9.pro/content/groups/global-npm/pbkdf2/-/pbkdf2-3.0.12.tgz#be36785c5067ea48d806ff923288c5f750b6b8a2" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.12.tgz#be36785c5067ea48d806ff923288c5f750b6b8a2" dependencies: create-hash "^1.1.2" create-hmac "^1.1.4" @@ -4586,80 +4586,80 @@ pbkdf2@^3.0.3: performance-now@^0.2.0: version "0.2.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" pify@^2.0.0, pify@^2.3.0: version "2.3.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" pify@^3.0.0: version "3.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" pinkie-promise@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/pinkie-promise/-/pinkie-promise-1.0.0.tgz#d1da67f5482563bb7cf57f286ae2822ecfbf3670" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-1.0.0.tgz#d1da67f5482563bb7cf57f286ae2822ecfbf3670" dependencies: pinkie "^1.0.0" pinkie-promise@^2.0.0: version "2.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" dependencies: pinkie "^2.0.0" pinkie@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/pinkie/-/pinkie-1.0.0.tgz#5a47f28ba1015d0201bda7bf0f358e47bec8c7e4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-1.0.0.tgz#5a47f28ba1015d0201bda7bf0f358e47bec8c7e4" pinkie@^2.0.0: version "2.0.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" pkg-conf@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/pkg-conf/-/pkg-conf-2.0.0.tgz#071c87650403bccfb9c627f58751bfe47c067279" + resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-2.0.0.tgz#071c87650403bccfb9c627f58751bfe47c067279" dependencies: find-up "^2.0.0" load-json-file "^2.0.0" pkg-dir@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" dependencies: find-up "^1.0.0" pkg-dir@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" dependencies: find-up "^2.1.0" plur@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/plur/-/plur-1.0.0.tgz#db85c6814f5e5e5a3b49efc28d604fec62975156" + resolved "https://registry.yarnpkg.com/plur/-/plur-1.0.0.tgz#db85c6814f5e5e5a3b49efc28d604fec62975156" plur@^2.0.0: version "2.1.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/plur/-/plur-2.1.2.tgz#7482452c1a0f508e3e344eaec312c91c29dc655a" + resolved "https://registry.yarnpkg.com/plur/-/plur-2.1.2.tgz#7482452c1a0f508e3e344eaec312c91c29dc655a" dependencies: irregular-plurals "^1.0.0" pluralize@^1.2.1: version "1.2.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" pn@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/pn/-/pn-1.0.0.tgz#1cf5a30b0d806cd18f88fc41a6b5d4ad615b3ba9" + resolved "https://registry.yarnpkg.com/pn/-/pn-1.0.0.tgz#1cf5a30b0d806cd18f88fc41a6b5d4ad615b3ba9" post-compile-webpack-plugin@^0.1.1: version "0.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/post-compile-webpack-plugin/-/post-compile-webpack-plugin-0.1.1.tgz#1b1a0eea890ce748556ca49e066a48c900e0b370" + resolved "https://registry.yarnpkg.com/post-compile-webpack-plugin/-/post-compile-webpack-plugin-0.1.1.tgz#1b1a0eea890ce748556ca49e066a48c900e0b370" postcss-calc@^5.2.0: version "5.3.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-calc/-/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e" dependencies: postcss "^5.0.2" postcss-message-helpers "^2.0.0" @@ -4667,7 +4667,7 @@ postcss-calc@^5.2.0: postcss-colormin@^2.1.8: version "2.2.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-colormin/-/postcss-colormin-2.2.2.tgz#6631417d5f0e909a3d7ec26b24c8a8d1e4f96e4b" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.2.tgz#6631417d5f0e909a3d7ec26b24c8a8d1e4f96e4b" dependencies: colormin "^1.0.5" postcss "^5.0.13" @@ -4675,52 +4675,52 @@ postcss-colormin@^2.1.8: postcss-convert-values@^2.3.4: version "2.6.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz#bbd8593c5c1fd2e3d1c322bb925dcae8dae4d62d" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz#bbd8593c5c1fd2e3d1c322bb925dcae8dae4d62d" dependencies: postcss "^5.0.11" postcss-value-parser "^3.1.2" postcss-discard-comments@^2.0.4: version "2.0.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d" dependencies: postcss "^5.0.14" postcss-discard-duplicates@^2.0.1: version "2.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz#b9abf27b88ac188158a5eb12abcae20263b91932" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz#b9abf27b88ac188158a5eb12abcae20263b91932" dependencies: postcss "^5.0.4" postcss-discard-empty@^2.0.1: version "2.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz#d2b4bd9d5ced5ebd8dcade7640c7d7cd7f4f92b5" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz#d2b4bd9d5ced5ebd8dcade7640c7d7cd7f4f92b5" dependencies: postcss "^5.0.14" postcss-discard-overridden@^0.1.1: version "0.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz#8b1eaf554f686fb288cd874c55667b0aa3668d58" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz#8b1eaf554f686fb288cd874c55667b0aa3668d58" dependencies: postcss "^5.0.16" postcss-discard-unused@^2.2.1: version "2.2.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz#bce30b2cc591ffc634322b5fb3464b6d934f4433" + resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz#bce30b2cc591ffc634322b5fb3464b6d934f4433" dependencies: postcss "^5.0.14" uniqs "^2.0.0" postcss-filter-plugins@^2.0.0: version "2.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz#6d85862534d735ac420e4a85806e1f5d4286d84c" + resolved "https://registry.yarnpkg.com/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz#6d85862534d735ac420e4a85806e1f5d4286d84c" dependencies: postcss "^5.0.4" uniqid "^4.0.0" postcss-load-config@^1.1.0: version "1.2.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-load-config/-/postcss-load-config-1.2.0.tgz#539e9afc9ddc8620121ebf9d8c3673e0ce50d28a" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-1.2.0.tgz#539e9afc9ddc8620121ebf9d8c3673e0ce50d28a" dependencies: cosmiconfig "^2.1.0" object-assign "^4.1.0" @@ -4729,21 +4729,21 @@ postcss-load-config@^1.1.0: postcss-load-options@^1.2.0: version "1.2.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-load-options/-/postcss-load-options-1.2.0.tgz#b098b1559ddac2df04bc0bb375f99a5cfe2b6d8c" + resolved "https://registry.yarnpkg.com/postcss-load-options/-/postcss-load-options-1.2.0.tgz#b098b1559ddac2df04bc0bb375f99a5cfe2b6d8c" dependencies: cosmiconfig "^2.1.0" object-assign "^4.1.0" postcss-load-plugins@^2.3.0: version "2.3.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz#745768116599aca2f009fad426b00175049d8d92" + resolved "https://registry.yarnpkg.com/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz#745768116599aca2f009fad426b00175049d8d92" dependencies: cosmiconfig "^2.1.1" object-assign "^4.1.0" postcss-merge-idents@^2.1.5: version "2.1.7" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270" + resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270" dependencies: has "^1.0.1" postcss "^5.0.10" @@ -4751,13 +4751,13 @@ postcss-merge-idents@^2.1.5: postcss-merge-longhand@^2.0.1: version "2.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz#23d90cd127b0a77994915332739034a1a4f3d658" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz#23d90cd127b0a77994915332739034a1a4f3d658" dependencies: postcss "^5.0.4" postcss-merge-rules@^2.0.3: version "2.1.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz#d1df5dfaa7b1acc3be553f0e9e10e87c61b5f721" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz#d1df5dfaa7b1acc3be553f0e9e10e87c61b5f721" dependencies: browserslist "^1.5.2" caniuse-api "^1.5.2" @@ -4767,11 +4767,11 @@ postcss-merge-rules@^2.0.3: postcss-message-helpers@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz#a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e" + resolved "https://registry.yarnpkg.com/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz#a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e" postcss-minify-font-values@^1.0.2: version "1.0.5" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz#4b58edb56641eba7c8474ab3526cafd7bbdecb69" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz#4b58edb56641eba7c8474ab3526cafd7bbdecb69" dependencies: object-assign "^4.0.1" postcss "^5.0.4" @@ -4779,14 +4779,14 @@ postcss-minify-font-values@^1.0.2: postcss-minify-gradients@^1.0.1: version "1.0.5" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz#5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz#5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1" dependencies: postcss "^5.0.12" postcss-value-parser "^3.3.0" postcss-minify-params@^1.0.4: version "1.2.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz#ad2ce071373b943b3d930a3fa59a358c28d6f1f3" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz#ad2ce071373b943b3d930a3fa59a358c28d6f1f3" dependencies: alphanum-sort "^1.0.1" postcss "^5.0.2" @@ -4795,7 +4795,7 @@ postcss-minify-params@^1.0.4: postcss-minify-selectors@^2.0.4: version "2.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz#b2c6a98c0072cf91b932d1a496508114311735bf" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz#b2c6a98c0072cf91b932d1a496508114311735bf" dependencies: alphanum-sort "^1.0.2" has "^1.0.1" @@ -4804,40 +4804,40 @@ postcss-minify-selectors@^2.0.4: postcss-modules-extract-imports@^1.0.0: version "1.2.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz#66140ecece38ef06bf0d3e355d69bf59d141ea85" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz#66140ecece38ef06bf0d3e355d69bf59d141ea85" dependencies: postcss "^6.0.1" postcss-modules-local-by-default@^1.0.1: version "1.2.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069" dependencies: css-selector-tokenizer "^0.7.0" postcss "^6.0.1" postcss-modules-scope@^1.0.0: version "1.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90" dependencies: css-selector-tokenizer "^0.7.0" postcss "^6.0.1" postcss-modules-values@^1.1.0: version "1.3.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20" dependencies: icss-replace-symbols "^1.1.0" postcss "^6.0.1" postcss-normalize-charset@^1.1.0: version "1.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz#ef9ee71212d7fe759c78ed162f61ed62b5cb93f1" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz#ef9ee71212d7fe759c78ed162f61ed62b5cb93f1" dependencies: postcss "^5.0.5" postcss-normalize-url@^3.0.7: version "3.0.8" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz#108f74b3f2fcdaf891a2ffa3ea4592279fc78222" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz#108f74b3f2fcdaf891a2ffa3ea4592279fc78222" dependencies: is-absolute-url "^2.0.0" normalize-url "^1.4.0" @@ -4846,27 +4846,27 @@ postcss-normalize-url@^3.0.7: postcss-ordered-values@^2.1.0: version "2.2.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz#eec6c2a67b6c412a8db2042e77fe8da43f95c11d" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz#eec6c2a67b6c412a8db2042e77fe8da43f95c11d" dependencies: postcss "^5.0.4" postcss-value-parser "^3.0.1" postcss-reduce-idents@^2.2.2: version "2.4.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz#c2c6d20cc958284f6abfbe63f7609bf409059ad3" + resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz#c2c6d20cc958284f6abfbe63f7609bf409059ad3" dependencies: postcss "^5.0.4" postcss-value-parser "^3.0.2" postcss-reduce-initial@^1.0.0: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz#68f80695f045d08263a879ad240df8dd64f644ea" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz#68f80695f045d08263a879ad240df8dd64f644ea" dependencies: postcss "^5.0.4" postcss-reduce-transforms@^1.0.3: version "1.0.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz#ff76f4d8212437b31c298a42d2e1444025771ae1" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz#ff76f4d8212437b31c298a42d2e1444025771ae1" dependencies: has "^1.0.1" postcss "^5.0.8" @@ -4874,7 +4874,7 @@ postcss-reduce-transforms@^1.0.3: postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2: version "2.2.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90" dependencies: flatten "^1.0.2" indexes-of "^1.0.1" @@ -4882,7 +4882,7 @@ postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2: postcss-svgo@^2.1.1: version "2.1.6" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-svgo/-/postcss-svgo-2.1.6.tgz#b6df18aa613b666e133f08adb5219c2684ac108d" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-2.1.6.tgz#b6df18aa613b666e133f08adb5219c2684ac108d" dependencies: is-svg "^2.0.0" postcss "^5.0.14" @@ -4891,7 +4891,7 @@ postcss-svgo@^2.1.1: postcss-unique-selectors@^2.0.2: version "2.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz#981d57d29ddcb33e7b1dfe1fd43b8649f933ca1d" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz#981d57d29ddcb33e7b1dfe1fd43b8649f933ca1d" dependencies: alphanum-sort "^1.0.1" postcss "^5.0.4" @@ -4899,11 +4899,11 @@ postcss-unique-selectors@^2.0.2: postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0: version "3.3.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15" postcss-zindex@^2.0.1: version "2.2.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss-zindex/-/postcss-zindex-2.2.0.tgz#d2109ddc055b91af67fc4cb3b025946639d2af22" + resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-2.2.0.tgz#d2109ddc055b91af67fc4cb3b025946639d2af22" dependencies: has "^1.0.1" postcss "^5.0.4" @@ -4911,7 +4911,7 @@ postcss-zindex@^2.0.1: postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.21, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.6, postcss@^5.0.8, postcss@^5.2.16: version "5.2.17" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss/-/postcss-5.2.17.tgz#cf4f597b864d65c8a492b2eabe9d706c879c388b" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.17.tgz#cf4f597b864d65c8a492b2eabe9d706c879c388b" dependencies: chalk "^1.1.3" js-base64 "^2.1.9" @@ -4920,7 +4920,7 @@ postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0 postcss@^6.0.1: version "6.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/postcss/-/postcss-6.0.1.tgz#000dbd1f8eef217aa368b9a212c5fc40b2a8f3f2" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.1.tgz#000dbd1f8eef217aa368b9a212c5fc40b2a8f3f2" dependencies: chalk "^1.1.3" source-map "^0.5.6" @@ -4928,44 +4928,44 @@ postcss@^6.0.1: preload-webpack-plugin@^1.2.2: version "1.2.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/preload-webpack-plugin/-/preload-webpack-plugin-1.2.2.tgz#d1b6f0eab3c2d0bb4c249d409cf6b7a8b0a415dd" + resolved "https://registry.yarnpkg.com/preload-webpack-plugin/-/preload-webpack-plugin-1.2.2.tgz#d1b6f0eab3c2d0bb4c249d409cf6b7a8b0a415dd" dependencies: object-assign "^4.1.1" prelude-ls@~1.1.2: version "1.1.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" prepend-http@^1.0.0, prepend-http@^1.0.1: version "1.0.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" preserve@^0.2.0: version "0.2.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" pretty-error@^2.0.2: version "2.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/pretty-error/-/pretty-error-2.1.0.tgz#87f4e9d706a24c87d6cbee9fabec001fcf8c75d8" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.0.tgz#87f4e9d706a24c87d6cbee9fabec001fcf8c75d8" dependencies: renderkid "^2.0.1" utila "~0.4" pretty-format@^19.0.0: version "19.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/pretty-format/-/pretty-format-19.0.0.tgz#56530d32acb98a3fa4851c4e2b9d37b420684c84" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-19.0.0.tgz#56530d32acb98a3fa4851c4e2b9d37b420684c84" dependencies: ansi-styles "^3.0.0" pretty-ms@^0.2.1: version "0.2.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/pretty-ms/-/pretty-ms-0.2.2.tgz#da879a682ff33a37011046f13d627f67c73b84f6" + resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-0.2.2.tgz#da879a682ff33a37011046f13d627f67c73b84f6" dependencies: parse-ms "^0.1.0" pretty-ms@^2.0.0: version "2.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/pretty-ms/-/pretty-ms-2.1.0.tgz#4257c256df3fb0b451d6affaab021884126981dc" + resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-2.1.0.tgz#4257c256df3fb0b451d6affaab021884126981dc" dependencies: is-finite "^1.0.1" parse-ms "^1.0.0" @@ -4973,19 +4973,19 @@ pretty-ms@^2.0.0: private@^0.1.6: version "0.1.7" - resolved "https://repository.neo9.pro/content/groups/global-npm/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1" process-nextick-args@~1.0.6: version "1.0.7" - resolved "https://repository.neo9.pro/content/groups/global-npm/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" process@^0.11.0: version "0.11.10" - resolved "https://repository.neo9.pro/content/groups/global-npm/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + 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://repository.neo9.pro/content/groups/global-npm/progress-bar-webpack-plugin/-/progress-bar-webpack-plugin-1.9.3.tgz#81fb8bd8e38da6edaf9a20beed79bd978dd63c2a" + resolved "https://registry.yarnpkg.com/progress-bar-webpack-plugin/-/progress-bar-webpack-plugin-1.9.3.tgz#81fb8bd8e38da6edaf9a20beed79bd978dd63c2a" dependencies: chalk "^1.1.1" object.assign "^4.0.1" @@ -4993,30 +4993,30 @@ progress-bar-webpack-plugin@^1.9.3: progress@^1.1.8: version "1.1.8" - resolved "https://repository.neo9.pro/content/groups/global-npm/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" + resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" proto-list@~1.2.1: version "1.2.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" + resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" proxy-addr@~1.1.4: version "1.1.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/proxy-addr/-/proxy-addr-1.1.4.tgz#27e545f6960a44a627d9b44467e35c1b6b4ce2f3" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.4.tgz#27e545f6960a44a627d9b44467e35c1b6b4ce2f3" dependencies: forwarded "~0.1.0" ipaddr.js "1.3.0" prr@~0.0.0: version "0.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" + resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" pseudomap@^1.0.1: version "1.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" public-encrypt@^4.0.0: version "4.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/public-encrypt/-/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6" dependencies: bn.js "^4.1.0" browserify-rsa "^4.0.0" @@ -5026,59 +5026,59 @@ public-encrypt@^4.0.0: punycode@1.3.2: version "1.3.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" punycode@^1.2.4, punycode@^1.4.1: version "1.4.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" q@^1.1.2: version "1.5.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/q/-/q-1.5.0.tgz#dd01bac9d06d30e6f219aecb8253ee9ebdc308f1" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.0.tgz#dd01bac9d06d30e6f219aecb8253ee9ebdc308f1" qs@6.4.0, qs@~6.4.0: version "6.4.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" qs@~6.3.0: version "6.3.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/qs/-/qs-6.3.2.tgz#e75bd5f6e268122a2a0e0bda630b2550c166502c" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.2.tgz#e75bd5f6e268122a2a0e0bda630b2550c166502c" query-string@^4.1.0: version "4.3.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" dependencies: object-assign "^4.1.0" strict-uri-encode "^1.0.0" querystring-es3@^0.2.0: version "0.2.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" querystring@0.2.0, querystring@^0.2.0: version "0.2.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" randomatic@^1.1.3: version "1.1.6" - resolved "https://repository.neo9.pro/content/groups/global-npm/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" dependencies: is-number "^2.0.2" kind-of "^3.0.2" randombytes@^2.0.0, randombytes@^2.0.1: version "2.0.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/randombytes/-/randombytes-2.0.4.tgz#9551df208422c8f80eb58e2326dd0b840ff22efd" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.4.tgz#9551df208422c8f80eb58e2326dd0b840ff22efd" dependencies: safe-buffer "^5.0.1" range-parser@^1.0.3, range-parser@~1.2.0: version "1.2.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" rc@^1.0.1, rc@^1.1.6, rc@^1.1.7: version "1.2.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95" dependencies: deep-extend "~0.4.0" ini "~1.3.0" @@ -5087,21 +5087,21 @@ rc@^1.0.1, rc@^1.1.6, rc@^1.1.7: read-pkg-up@^1.0.1: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" dependencies: find-up "^1.0.0" read-pkg "^1.0.0" read-pkg-up@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" dependencies: find-up "^2.0.0" read-pkg "^2.0.0" read-pkg@^1.0.0: version "1.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" dependencies: load-json-file "^1.0.0" normalize-package-data "^2.3.2" @@ -5109,7 +5109,7 @@ read-pkg@^1.0.0: read-pkg@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" dependencies: load-json-file "^2.0.0" normalize-package-data "^2.3.2" @@ -5117,7 +5117,7 @@ read-pkg@^2.0.0: readable-stream@1.0: version "1.0.34" - resolved "https://repository.neo9.pro/content/groups/global-npm/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" dependencies: core-util-is "~1.0.0" inherits "~2.0.1" @@ -5126,7 +5126,7 @@ readable-stream@1.0: readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.6: version "2.2.10" - resolved "https://repository.neo9.pro/content/groups/global-npm/readable-stream/-/readable-stream-2.2.10.tgz#effe72bb7c884c0dd335e2379d526196d9d011ee" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.10.tgz#effe72bb7c884c0dd335e2379d526196d9d011ee" dependencies: core-util-is "~1.0.0" inherits "~2.0.1" @@ -5138,7 +5138,7 @@ readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable readdirp@^2.0.0: version "2.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" dependencies: graceful-fs "^4.1.2" minimatch "^3.0.2" @@ -5147,7 +5147,7 @@ readdirp@^2.0.0: readline2@^1.0.1: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" + resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" dependencies: code-point-at "^1.0.0" is-fullwidth-code-point "^1.0.0" @@ -5155,20 +5155,20 @@ readline2@^1.0.1: rechoir@^0.6.2: version "0.6.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" dependencies: resolve "^1.1.6" redent@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" + resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" dependencies: indent-string "^2.1.0" strip-indent "^1.0.1" reduce-css-calc@^1.2.6: version "1.3.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716" + resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716" dependencies: balanced-match "^0.4.2" math-expression-evaluator "^1.2.14" @@ -5176,21 +5176,21 @@ reduce-css-calc@^1.2.6: reduce-function-call@^1.0.1: version "1.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/reduce-function-call/-/reduce-function-call-1.0.2.tgz#5a200bf92e0e37751752fe45b0ab330fd4b6be99" + resolved "https://registry.yarnpkg.com/reduce-function-call/-/reduce-function-call-1.0.2.tgz#5a200bf92e0e37751752fe45b0ab330fd4b6be99" dependencies: balanced-match "^0.4.2" regenerate@^1.2.1: version "1.3.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260" regenerator-runtime@^0.10.0: version "0.10.5" - resolved "https://repository.neo9.pro/content/groups/global-npm/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" regenerator-transform@0.9.11: version "0.9.11" - resolved "https://repository.neo9.pro/content/groups/global-npm/regenerator-transform/-/regenerator-transform-0.9.11.tgz#3a7d067520cb7b7176769eb5ff868691befe1283" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.11.tgz#3a7d067520cb7b7176769eb5ff868691befe1283" dependencies: babel-runtime "^6.18.0" babel-types "^6.19.0" @@ -5198,14 +5198,14 @@ regenerator-transform@0.9.11: regex-cache@^0.4.2: version "0.4.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" + resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" dependencies: is-equal-shallow "^0.1.3" is-primitive "^2.0.0" regexpu-core@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" dependencies: regenerate "^1.2.1" regjsgen "^0.2.0" @@ -5213,7 +5213,7 @@ regexpu-core@^1.0.0: regexpu-core@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" dependencies: regenerate "^1.2.1" regjsgen "^0.2.0" @@ -5221,44 +5221,44 @@ regexpu-core@^2.0.0: registry-auth-token@^3.0.1: version "3.3.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/registry-auth-token/-/registry-auth-token-3.3.1.tgz#fb0d3289ee0d9ada2cbb52af5dfe66cb070d3006" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.3.1.tgz#fb0d3289ee0d9ada2cbb52af5dfe66cb070d3006" dependencies: rc "^1.1.6" safe-buffer "^5.0.1" registry-url@^3.0.3: version "3.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" + resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" dependencies: rc "^1.0.1" regjsgen@^0.2.0: version "0.2.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" regjsparser@^0.1.4: version "0.1.5" - resolved "https://repository.neo9.pro/content/groups/global-npm/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" dependencies: jsesc "~0.5.0" relateurl@0.2.x: version "0.2.7" - resolved "https://repository.neo9.pro/content/groups/global-npm/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" + resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" release-zalgo@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/release-zalgo/-/release-zalgo-1.0.0.tgz#09700b7e5074329739330e535c5a90fb67851730" + resolved "https://registry.yarnpkg.com/release-zalgo/-/release-zalgo-1.0.0.tgz#09700b7e5074329739330e535c5a90fb67851730" dependencies: es6-error "^4.0.1" remove-trailing-separator@^1.0.1: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/remove-trailing-separator/-/remove-trailing-separator-1.0.1.tgz#615ebb96af559552d4bf4057c8436d486ab63cc4" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.0.1.tgz#615ebb96af559552d4bf4057c8436d486ab63cc4" renderkid@^2.0.1: version "2.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/renderkid/-/renderkid-2.0.1.tgz#898cabfc8bede4b7b91135a3ffd323e58c0db319" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.1.tgz#898cabfc8bede4b7b91135a3ffd323e58c0db319" dependencies: css-select "^1.1.0" dom-converter "~0.1" @@ -5268,27 +5268,27 @@ renderkid@^2.0.1: repeat-element@^1.1.2: version "1.1.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" repeat-string@^1.5.2: version "1.6.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" repeating@^2.0.0: version "2.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" dependencies: is-finite "^1.0.0" request-promise-core@1.1.1: version "1.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/request-promise-core/-/request-promise-core-1.1.1.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6" dependencies: lodash "^4.13.1" request-promise-native@^1.0.3, request-promise-native@^1.0.4: version "1.0.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/request-promise-native/-/request-promise-native-1.0.4.tgz#86988ec8eee408e45579fce83bfd05b3adf9a155" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.4.tgz#86988ec8eee408e45579fce83bfd05b3adf9a155" dependencies: request-promise-core "1.1.1" stealthy-require "^1.1.0" @@ -5296,7 +5296,7 @@ request-promise-native@^1.0.3, request-promise-native@^1.0.4: request@2.79.0: version "2.79.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" + resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" dependencies: aws-sign2 "~0.6.0" aws4 "^1.2.1" @@ -5321,7 +5321,7 @@ request@2.79.0: request@^2.79.0, request@^2.81.0: version "2.81.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" + resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" dependencies: aws-sign2 "~0.6.0" aws4 "^1.2.1" @@ -5348,135 +5348,135 @@ request@^2.79.0, request@^2.81.0: require-directory@^2.1.1: version "2.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" require-from-string@^1.1.0: version "1.2.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/require-from-string/-/require-from-string-1.2.1.tgz#529c9ccef27380adfec9a2f965b649bbee636418" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-1.2.1.tgz#529c9ccef27380adfec9a2f965b649bbee636418" require-main-filename@^1.0.1: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" require-precompiled@^0.1.0: version "0.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/require-precompiled/-/require-precompiled-0.1.0.tgz#5a1b52eb70ebed43eb982e974c85ab59571e56fa" + resolved "https://registry.yarnpkg.com/require-precompiled/-/require-precompiled-0.1.0.tgz#5a1b52eb70ebed43eb982e974c85ab59571e56fa" require-uncached@^1.0.2: version "1.0.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" + resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" dependencies: caller-path "^0.1.0" resolve-from "^1.0.0" resolve-cwd@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/resolve-cwd/-/resolve-cwd-1.0.0.tgz#4eaeea41ed040d1702457df64a42b2b07d246f9f" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-1.0.0.tgz#4eaeea41ed040d1702457df64a42b2b07d246f9f" dependencies: resolve-from "^2.0.0" resolve-from@^1.0.0: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" resolve-from@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57" resolve-from@^3.0.0: version "3.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" resolve@^1.1.6, resolve@^1.2.0, resolve@^1.3.3: version "1.3.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/resolve/-/resolve-1.3.3.tgz#655907c3469a8680dc2de3a275a8fdd69691f0e5" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.3.tgz#655907c3469a8680dc2de3a275a8fdd69691f0e5" dependencies: path-parse "^1.0.5" restore-cursor@^1.0.1: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" dependencies: exit-hook "^1.0.0" onetime "^1.0.0" restore-cursor@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" dependencies: onetime "^2.0.0" signal-exit "^3.0.2" right-align@^0.1.1: version "0.1.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" + resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" dependencies: align-text "^0.1.1" rimraf@2, rimraf@^2.2.8, rimraf@^2.3.3, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.1: version "2.6.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" dependencies: glob "^7.0.5" ripemd160@^2.0.0, ripemd160@^2.0.1: version "2.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/ripemd160/-/ripemd160-2.0.1.tgz#0f4584295c53a3628af7e6d79aca21ce57d1c6e7" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.1.tgz#0f4584295c53a3628af7e6d79aca21ce57d1c6e7" dependencies: hash-base "^2.0.0" inherits "^2.0.1" run-async@^0.1.0: version "0.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" dependencies: once "^1.3.0" run-async@^2.2.0: version "2.3.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" dependencies: is-promise "^2.1.0" rx-lite@^3.1.2: version "3.1.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" + resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" rx@^4.1.0: version "4.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" + resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" safe-buffer@^5.0.1: version "5.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/safe-buffer/-/safe-buffer-5.1.0.tgz#fe4c8460397f9eaaaa58e73be46273408a45e223" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.0.tgz#fe4c8460397f9eaaaa58e73be46273408a45e223" safe-buffer@~5.0.1: version "5.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7" sax@^1.2.1, sax@~1.2.1: version "1.2.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/sax/-/sax-1.2.2.tgz#fd8631a23bc7826bef5d871bdb87378c95647828" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.2.tgz#fd8631a23bc7826bef5d871bdb87378c95647828" script-ext-html-webpack-plugin@^1.8.1: version "1.8.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/script-ext-html-webpack-plugin/-/script-ext-html-webpack-plugin-1.8.1.tgz#36bba726c38bcdebc1e69333e3fd7d718a9b3195" + resolved "https://registry.yarnpkg.com/script-ext-html-webpack-plugin/-/script-ext-html-webpack-plugin-1.8.1.tgz#36bba726c38bcdebc1e69333e3fd7d718a9b3195" dependencies: debug "^2.6.3" semver-diff@^2.0.0: version "2.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" + resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" dependencies: semver "^5.0.3" "semver@2 || 3 || 4 || 5", semver@5.3.0, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0: version "5.3.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" send@0.15.3: version "0.15.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/send/-/send-0.15.3.tgz#5013f9f99023df50d1bd9892c19e3defd1d53309" + resolved "https://registry.yarnpkg.com/send/-/send-0.15.3.tgz#5013f9f99023df50d1bd9892c19e3defd1d53309" dependencies: debug "2.6.7" depd "~1.1.0" @@ -5494,11 +5494,11 @@ send@0.15.3: serialize-javascript@^1.3.0: version "1.3.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/serialize-javascript/-/serialize-javascript-1.3.0.tgz#86a4f3752f5c7e47295449b0bbb63d64ba533f05" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.3.0.tgz#86a4f3752f5c7e47295449b0bbb63d64ba533f05" serve-static@1.12.3, serve-static@^1.12.3: version "1.12.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/serve-static/-/serve-static-1.12.3.tgz#9f4ba19e2f3030c547f8af99107838ec38d5b1e2" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.12.3.tgz#9f4ba19e2f3030c547f8af99107838ec38d5b1e2" dependencies: encodeurl "~1.0.1" escape-html "~1.0.3" @@ -5507,29 +5507,29 @@ serve-static@1.12.3, serve-static@^1.12.3: set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" set-immediate-shim@^1.0.1: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" + resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" setimmediate@^1.0.4: version "1.0.5" - resolved "https://repository.neo9.pro/content/groups/global-npm/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" setprototypeof@1.0.3: version "1.0.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" sha.js@^2.4.0, sha.js@^2.4.8: version "2.4.8" - resolved "https://repository.neo9.pro/content/groups/global-npm/sha.js/-/sha.js-2.4.8.tgz#37068c2c476b6baf402d14a49c67f597921f634f" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.8.tgz#37068c2c476b6baf402d14a49c67f597921f634f" dependencies: inherits "^2.0.1" shelljs@^0.7.5: version "0.7.7" - resolved "https://repository.neo9.pro/content/groups/global-npm/shelljs/-/shelljs-0.7.7.tgz#b2f5c77ef97148f4b4f6e22682e10bba8667cff1" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.7.tgz#b2f5c77ef97148f4b4f6e22682e10bba8667cff1" dependencies: glob "^7.0.0" interpret "^1.0.0" @@ -5537,69 +5537,69 @@ shelljs@^0.7.5: sigmund@^1.0.1: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" + resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" signal-exit@^3.0.0, signal-exit@^3.0.1, signal-exit@^3.0.2: version "3.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" slash@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" slice-ansi@0.0.4: version "0.0.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" slide@^1.1.5: version "1.1.6" - resolved "https://repository.neo9.pro/content/groups/global-npm/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" + resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" sntp@1.x.x: version "1.0.9" - resolved "https://repository.neo9.pro/content/groups/global-npm/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" + resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" dependencies: hoek "2.x.x" sort-keys@^1.0.0, sort-keys@^1.1.1, sort-keys@^1.1.2: version "1.1.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" dependencies: is-plain-obj "^1.0.0" source-list-map@^0.1.7, source-list-map@~0.1.7: version "0.1.8" - resolved "https://repository.neo9.pro/content/groups/global-npm/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106" source-list-map@^1.1.1: version "1.1.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/source-list-map/-/source-list-map-1.1.2.tgz#9889019d1024cce55cdc069498337ef6186a11a1" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-1.1.2.tgz#9889019d1024cce55cdc069498337ef6186a11a1" source-map-support@^0.4.0, source-map-support@^0.4.2: version "0.4.15" - resolved "https://repository.neo9.pro/content/groups/global-npm/source-map-support/-/source-map-support-0.4.15.tgz#03202df65c06d2bd8c7ec2362a193056fef8d3b1" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.15.tgz#03202df65c06d2bd8c7ec2362a193056fef8d3b1" dependencies: source-map "^0.5.6" source-map@0.5.6, source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3: version "0.5.6" - resolved "https://repository.neo9.pro/content/groups/global-npm/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" source-map@^0.4.4: version "0.4.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" dependencies: amdefine ">=0.0.4" source-map@~0.2.0: version "0.2.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" dependencies: amdefine ">=0.0.4" spawn-wrap@^1.3.6: version "1.3.6" - resolved "https://repository.neo9.pro/content/groups/global-npm/spawn-wrap/-/spawn-wrap-1.3.6.tgz#ccec4a949d8ce7e2b1a35cf4671d683d2e76a1d1" + resolved "https://registry.yarnpkg.com/spawn-wrap/-/spawn-wrap-1.3.6.tgz#ccec4a949d8ce7e2b1a35cf4671d683d2e76a1d1" dependencies: foreground-child "^1.5.6" mkdirp "^0.5.0" @@ -5610,25 +5610,25 @@ spawn-wrap@^1.3.6: spdx-correct@~1.0.0: version "1.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" dependencies: spdx-license-ids "^1.0.2" spdx-expression-parse@~1.0.0: version "1.0.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" spdx-license-ids@^1.0.2: version "1.2.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" sprintf-js@~1.0.2: version "1.0.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" sshpk@^1.7.0: version "1.13.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/sshpk/-/sshpk-1.13.0.tgz#ff2a3e4fd04497555fed97b39a0fd82fafb3a33c" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.0.tgz#ff2a3e4fd04497555fed97b39a0fd82fafb3a33c" dependencies: asn1 "~0.2.3" assert-plus "^1.0.0" @@ -5643,36 +5643,36 @@ sshpk@^1.7.0: stack-utils@^1.0.0: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/stack-utils/-/stack-utils-1.0.1.tgz#d4f33ab54e8e38778b0ca5cfd3b3afb12db68620" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.1.tgz#d4f33ab54e8e38778b0ca5cfd3b3afb12db68620" stackframe@^1.0.3: version "1.0.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/stackframe/-/stackframe-1.0.3.tgz#fe64ab20b170e4ce49044b126c119dfa0e5dc7cc" + resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.0.3.tgz#fe64ab20b170e4ce49044b126c119dfa0e5dc7cc" "statuses@>= 1.3.1 < 2", statuses@~1.3.1: version "1.3.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" std-mocks@^1.0.1: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/std-mocks/-/std-mocks-1.0.1.tgz#d3388876d7beeba3c70fbd8e2bcaf46eb07d79fe" + resolved "https://registry.yarnpkg.com/std-mocks/-/std-mocks-1.0.1.tgz#d3388876d7beeba3c70fbd8e2bcaf46eb07d79fe" dependencies: lodash "^4.11.1" stealthy-require@^1.1.0: version "1.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" stream-browserify@^2.0.1: version "2.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" dependencies: inherits "~2.0.1" readable-stream "^2.0.2" stream-http@^2.3.1: version "2.7.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/stream-http/-/stream-http-2.7.1.tgz#546a51741ad5a6b07e9e31b0b10441a917df528a" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.7.1.tgz#546a51741ad5a6b07e9e31b0b10441a917df528a" dependencies: builtin-status-codes "^3.0.0" inherits "^2.0.1" @@ -5682,17 +5682,17 @@ stream-http@^2.3.1: strict-uri-encode@^1.0.0: version "1.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" string-length@^1.0.1: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/string-length/-/string-length-1.0.1.tgz#56970fb1c38558e9e70b728bf3de269ac45adfac" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-1.0.1.tgz#56970fb1c38558e9e70b728bf3de269ac45adfac" dependencies: strip-ansi "^3.0.0" string-width@^1.0.1, string-width@^1.0.2: version "1.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" dependencies: code-point-at "^1.0.0" is-fullwidth-code-point "^1.0.0" @@ -5700,78 +5700,78 @@ string-width@^1.0.1, string-width@^1.0.2: string-width@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/string-width/-/string-width-2.0.0.tgz#635c5436cc72a6e0c387ceca278d4e2eec52687e" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.0.0.tgz#635c5436cc72a6e0c387ceca278d4e2eec52687e" dependencies: is-fullwidth-code-point "^2.0.0" strip-ansi "^3.0.0" string_decoder@^0.10.25, string_decoder@~0.10.x: version "0.10.31" - resolved "https://repository.neo9.pro/content/groups/global-npm/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" string_decoder@~1.0.0: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/string_decoder/-/string_decoder-1.0.1.tgz#62e200f039955a6810d8df0a33ffc0f013662d98" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.1.tgz#62e200f039955a6810d8df0a33ffc0f013662d98" dependencies: safe-buffer "^5.0.1" stringstream@~0.0.4: version "0.0.5" - resolved "https://repository.neo9.pro/content/groups/global-npm/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" + resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" dependencies: ansi-regex "^2.0.0" strip-ansi@~0.1.0: version "0.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" strip-bom-buf@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/strip-bom-buf/-/strip-bom-buf-1.0.0.tgz#1cb45aaf57530f4caf86c7f75179d2c9a51dd572" + resolved "https://registry.yarnpkg.com/strip-bom-buf/-/strip-bom-buf-1.0.0.tgz#1cb45aaf57530f4caf86c7f75179d2c9a51dd572" dependencies: is-utf8 "^0.2.1" strip-bom@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" dependencies: is-utf8 "^0.2.0" strip-bom@^3.0.0: version "3.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" strip-eof@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" strip-indent@^1.0.1: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" dependencies: get-stdin "^4.0.1" strip-json-comments@~2.0.1: version "2.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" supports-color@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" supports-color@^3.1.0, supports-color@^3.1.2, supports-color@^3.2.3: version "3.2.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" dependencies: has-flag "^1.0.0" svgo@^0.7.0: version "0.7.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5" dependencies: coa "~1.0.1" colors "~1.1.2" @@ -5783,19 +5783,19 @@ svgo@^0.7.0: symbol-observable@^0.2.2: version "0.2.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/symbol-observable/-/symbol-observable-0.2.4.tgz#95a83db26186d6af7e7a18dbd9760a2f86d08f40" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-0.2.4.tgz#95a83db26186d6af7e7a18dbd9760a2f86d08f40" symbol-observable@^1.0.4: version "1.0.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d" symbol-tree@^3.2.1: version "3.2.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" table@^3.7.8: version "3.8.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" + resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" dependencies: ajv "^4.7.0" ajv-keywords "^1.0.0" @@ -5806,11 +5806,11 @@ table@^3.7.8: tapable@^0.2.5, tapable@~0.2.5: version "0.2.6" - resolved "https://repository.neo9.pro/content/groups/global-npm/tapable/-/tapable-0.2.6.tgz#206be8e188860b514425375e6f1ae89bfb01fd8d" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.6.tgz#206be8e188860b514425375e6f1ae89bfb01fd8d" tar-pack@^3.4.0: version "3.4.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/tar-pack/-/tar-pack-3.4.0.tgz#23be2d7f671a8339376cbdb0b8fe3fdebf317984" + resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.0.tgz#23be2d7f671a8339376cbdb0b8fe3fdebf317984" dependencies: debug "^2.2.0" fstream "^1.0.10" @@ -5823,7 +5823,7 @@ tar-pack@^3.4.0: tar@^2.2.1: version "2.2.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" + resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" dependencies: block-stream "*" fstream "^1.0.2" @@ -5831,13 +5831,13 @@ tar@^2.2.1: term-size@^0.1.0: version "0.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/term-size/-/term-size-0.1.1.tgz#87360b96396cab5760963714cda0d0cbeecad9ca" + resolved "https://registry.yarnpkg.com/term-size/-/term-size-0.1.1.tgz#87360b96396cab5760963714cda0d0cbeecad9ca" dependencies: execa "^0.4.0" test-exclude@^4.1.1: version "4.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/test-exclude/-/test-exclude-4.1.1.tgz#4d84964b0966b0087ecc334a2ce002d3d9341e26" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.1.1.tgz#4d84964b0966b0087ecc334a2ce002d3d9341e26" dependencies: arrify "^1.0.1" micromatch "^2.3.11" @@ -5847,22 +5847,22 @@ test-exclude@^4.1.1: text-table@^0.2.0, text-table@~0.2.0: version "0.2.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" through2@^2.0.0: version "2.0.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" dependencies: readable-stream "^2.1.5" xtend "~4.0.1" through@^2.3.6: version "2.3.8" - resolved "https://repository.neo9.pro/content/groups/global-npm/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" time-require@^0.1.2: version "0.1.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/time-require/-/time-require-0.1.2.tgz#f9e12cb370fc2605e11404582ba54ef5ca2b2d98" + resolved "https://registry.yarnpkg.com/time-require/-/time-require-0.1.2.tgz#f9e12cb370fc2605e11404582ba54ef5ca2b2d98" dependencies: chalk "^0.4.0" date-time "^0.1.1" @@ -5871,99 +5871,99 @@ time-require@^0.1.2: timed-out@^4.0.0: version "4.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" + resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" timers-browserify@^2.0.2: version "2.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/timers-browserify/-/timers-browserify-2.0.2.tgz#ab4883cf597dcd50af211349a00fbca56ac86b86" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.2.tgz#ab4883cf597dcd50af211349a00fbca56ac86b86" dependencies: setimmediate "^1.0.4" tmp@^0.0.31: version "0.0.31" - resolved "https://repository.neo9.pro/content/groups/global-npm/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7" dependencies: os-tmpdir "~1.0.1" to-arraybuffer@^1.0.0: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" to-fast-properties@^1.0.1: version "1.0.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" toposort@^1.0.0: version "1.0.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/toposort/-/toposort-1.0.3.tgz#f02cd8a74bd8be2fc0e98611c3bacb95a171869c" + resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.3.tgz#f02cd8a74bd8be2fc0e98611c3bacb95a171869c" tough-cookie@>=2.3.0, tough-cookie@^2.3.2, tough-cookie@~2.3.0: version "2.3.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" dependencies: punycode "^1.4.1" tr46@~0.0.3: version "0.0.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" trim-newlines@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" trim-right@^1.0.1: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" + resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" tryit@^1.0.1: version "1.0.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb" + resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb" tty-browserify@0.0.0: version "0.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" tunnel-agent@^0.6.0: version "0.6.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" dependencies: safe-buffer "^5.0.1" tunnel-agent@~0.4.1: version "0.4.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" - resolved "https://repository.neo9.pro/content/groups/global-npm/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" type-check@~0.3.2: version "0.3.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" dependencies: prelude-ls "~1.1.2" type-is@~1.6.15: version "1.6.15" - resolved "https://repository.neo9.pro/content/groups/global-npm/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410" dependencies: media-typer "0.3.0" mime-types "~2.1.15" typedarray@^0.0.6: version "0.0.6" - resolved "https://repository.neo9.pro/content/groups/global-npm/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" uglify-js@3.0.x: version "3.0.15" - resolved "https://repository.neo9.pro/content/groups/global-npm/uglify-js/-/uglify-js-3.0.15.tgz#aacb323a846b234602270dead8a32441a8806f42" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.0.15.tgz#aacb323a846b234602270dead8a32441a8806f42" dependencies: commander "~2.9.0" source-map "~0.5.1" uglify-js@^2.6, uglify-js@^2.8.27: version "2.8.28" - resolved "https://repository.neo9.pro/content/groups/global-npm/uglify-js/-/uglify-js-2.8.28.tgz#e335032df9bb20dcb918f164589d5af47f38834a" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.28.tgz#e335032df9bb20dcb918f164589d5af47f38834a" dependencies: source-map "~0.5.1" yargs "~3.10.0" @@ -5972,43 +5972,43 @@ uglify-js@^2.6, uglify-js@^2.8.27: uglify-to-browserify@~1.0.0: version "1.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" + resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" uid-number@^0.0.6: version "0.0.6" - resolved "https://repository.neo9.pro/content/groups/global-npm/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" + resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" uid2@0.0.3: version "0.0.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/uid2/-/uid2-0.0.3.tgz#483126e11774df2f71b8b639dcd799c376162b82" + resolved "https://registry.yarnpkg.com/uid2/-/uid2-0.0.3.tgz#483126e11774df2f71b8b639dcd799c376162b82" ultron@~1.1.0: version "1.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/ultron/-/ultron-1.1.0.tgz#b07a2e6a541a815fc6a34ccd4533baec307ca864" + resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.0.tgz#b07a2e6a541a815fc6a34ccd4533baec307ca864" uniq@^1.0.1: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" uniqid@^4.0.0: version "4.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/uniqid/-/uniqid-4.1.1.tgz#89220ddf6b751ae52b5f72484863528596bb84c1" + resolved "https://registry.yarnpkg.com/uniqid/-/uniqid-4.1.1.tgz#89220ddf6b751ae52b5f72484863528596bb84c1" dependencies: macaddress "^0.2.8" uniqs@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" + resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" unique-string@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" + resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" dependencies: crypto-random-string "^1.0.0" unique-temp-dir@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/unique-temp-dir/-/unique-temp-dir-1.0.0.tgz#6dce95b2681ca003eebfb304a415f9cbabcc5385" + resolved "https://registry.yarnpkg.com/unique-temp-dir/-/unique-temp-dir-1.0.0.tgz#6dce95b2681ca003eebfb304a415f9cbabcc5385" dependencies: mkdirp "^0.5.1" os-tmpdir "^1.0.1" @@ -6016,19 +6016,19 @@ unique-temp-dir@^1.0.0: universalify@^0.1.0: version "0.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/universalify/-/universalify-0.1.0.tgz#9eb1c4651debcc670cc94f1a75762332bb967778" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.0.tgz#9eb1c4651debcc670cc94f1a75762332bb967778" unpipe@~1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" unzip-response@^2.0.1: version "2.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" + resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" update-notifier@^2.1.0: version "2.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/update-notifier/-/update-notifier-2.1.0.tgz#ec0c1e53536b76647a24b77cb83966d9315123d9" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.1.0.tgz#ec0c1e53536b76647a24b77cb83966d9315123d9" dependencies: boxen "^1.0.0" chalk "^1.0.0" @@ -6041,98 +6041,98 @@ update-notifier@^2.1.0: upper-case@^1.1.1: version "1.1.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" + resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" url-loader@^0.5.8: version "0.5.8" - resolved "https://repository.neo9.pro/content/groups/global-npm/url-loader/-/url-loader-0.5.8.tgz#b9183b1801e0f847718673673040bc9dc1c715c5" + resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-0.5.8.tgz#b9183b1801e0f847718673673040bc9dc1c715c5" dependencies: loader-utils "^1.0.2" mime "1.3.x" url-parse-lax@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" dependencies: prepend-http "^1.0.1" url@^0.11.0: version "0.11.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" dependencies: punycode "1.3.2" querystring "0.2.0" urlgrey@0.4.4: version "0.4.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/urlgrey/-/urlgrey-0.4.4.tgz#892fe95960805e85519f1cd4389f2cb4cbb7652f" + resolved "https://registry.yarnpkg.com/urlgrey/-/urlgrey-0.4.4.tgz#892fe95960805e85519f1cd4389f2cb4cbb7652f" user-home@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" + resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" dependencies: os-homedir "^1.0.0" util-deprecate@~1.0.1: version "1.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" util@0.10.3, util@^0.10.3: version "0.10.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" dependencies: inherits "2.0.1" utila@~0.3: version "0.3.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/utila/-/utila-0.3.3.tgz#d7e8e7d7e309107092b05f8d9688824d633a4226" + resolved "https://registry.yarnpkg.com/utila/-/utila-0.3.3.tgz#d7e8e7d7e309107092b05f8d9688824d633a4226" utila@~0.4: version "0.4.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" utils-merge@1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8" uuid@^3.0.0: version "3.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" validate-npm-package-license@^3.0.1: version "3.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" dependencies: spdx-correct "~1.0.0" spdx-expression-parse "~1.0.0" vary@~1.1.0, vary@~1.1.1: version "1.1.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/vary/-/vary-1.1.1.tgz#67535ebb694c1d52257457984665323f587e8d37" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.1.tgz#67535ebb694c1d52257457984665323f587e8d37" vendors@^1.0.0: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/vendors/-/vendors-1.0.1.tgz#37ad73c8ee417fb3d580e785312307d274847f22" + resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.1.tgz#37ad73c8ee417fb3d580e785312307d274847f22" verror@1.3.6: version "1.3.6" - resolved "https://repository.neo9.pro/content/groups/global-npm/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" dependencies: extsprintf "1.0.2" vm-browserify@0.0.4: version "0.0.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" dependencies: indexof "0.0.1" vue-hot-reload-api@^2.1.0: version "2.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/vue-hot-reload-api/-/vue-hot-reload-api-2.1.0.tgz#9ca58a6e0df9078554ce1708688b6578754d86de" + resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.1.0.tgz#9ca58a6e0df9078554ce1708688b6578754d86de" vue-loader@^12.2.1: version "12.2.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/vue-loader/-/vue-loader-12.2.1.tgz#53f27c0973d386768f5a75156f4129b5efc6ba55" + resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-12.2.1.tgz#53f27c0973d386768f5a75156f4129b5efc6ba55" dependencies: consolidate "^0.14.0" hash-sum "^1.0.2" @@ -6150,7 +6150,7 @@ vue-loader@^12.2.1: vue-meta@^1.0.4: version "1.0.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/vue-meta/-/vue-meta-1.0.4.tgz#17608970aa02f6346829845eb8a05b2d5bf485c3" + resolved "https://registry.yarnpkg.com/vue-meta/-/vue-meta-1.0.4.tgz#17608970aa02f6346829845eb8a05b2d5bf485c3" dependencies: deepmerge "^1.3.2" lodash.isplainobject "^4.0.6" @@ -6158,11 +6158,11 @@ vue-meta@^1.0.4: vue-router@^2.5.3: version "2.5.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/vue-router/-/vue-router-2.5.3.tgz#073783f564b6aece6c8a59c63e298dc2aabfb51b" + resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-2.5.3.tgz#073783f564b6aece6c8a59c63e298dc2aabfb51b" vue-server-renderer@~2.3.3: version "2.3.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/vue-server-renderer/-/vue-server-renderer-2.3.3.tgz#1f450f8a4541b9dd3b084d6470939f82781c3e0a" + resolved "https://registry.yarnpkg.com/vue-server-renderer/-/vue-server-renderer-2.3.3.tgz#1f450f8a4541b9dd3b084d6470939f82781c3e0a" dependencies: chalk "^1.1.3" hash-sum "^1.0.2" @@ -6175,39 +6175,39 @@ vue-server-renderer@~2.3.3: vue-ssr-html-stream@^2.2.0: version "2.2.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/vue-ssr-html-stream/-/vue-ssr-html-stream-2.2.0.tgz#56d78b96c9c172b43749a324c156e888aca96d92" + resolved "https://registry.yarnpkg.com/vue-ssr-html-stream/-/vue-ssr-html-stream-2.2.0.tgz#56d78b96c9c172b43749a324c156e888aca96d92" dependencies: serialize-javascript "^1.3.0" vue-style-loader@^3.0.0: version "3.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/vue-style-loader/-/vue-style-loader-3.0.1.tgz#c8b639bb2f24baf9d78274dc17e4f264c1deda08" + resolved "https://registry.yarnpkg.com/vue-style-loader/-/vue-style-loader-3.0.1.tgz#c8b639bb2f24baf9d78274dc17e4f264c1deda08" dependencies: hash-sum "^1.0.2" loader-utils "^1.0.2" vue-template-compiler@~2.3.3: version "2.3.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/vue-template-compiler/-/vue-template-compiler-2.3.3.tgz#b5bab9ec57309c906b82a78c81a02179dbc2f470" + resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.3.3.tgz#b5bab9ec57309c906b82a78c81a02179dbc2f470" dependencies: de-indent "^1.0.2" he "^1.1.0" vue-template-es2015-compiler@^1.2.2: version "1.5.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.5.2.tgz#a0a6c50c941d2a4abda963f2f42c337ac450ee95" + resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.5.2.tgz#a0a6c50c941d2a4abda963f2f42c337ac450ee95" vue@~2.3.3: version "2.3.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/vue/-/vue-2.3.3.tgz#d1eaa8fde5240735a4563e74f2c7fead9cbb064c" + resolved "https://registry.yarnpkg.com/vue/-/vue-2.3.3.tgz#d1eaa8fde5240735a4563e74f2c7fead9cbb064c" vuex@^2.3.1: version "2.3.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/vuex/-/vuex-2.3.1.tgz#cde8e997c1f9957719bc7dea154f9aa691d981a6" + resolved "https://registry.yarnpkg.com/vuex/-/vuex-2.3.1.tgz#cde8e997c1f9957719bc7dea154f9aa691d981a6" watchpack@^1.3.1: version "1.3.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/watchpack/-/watchpack-1.3.1.tgz#7d8693907b28ce6013e7f3610aa2a1acf07dad87" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.3.1.tgz#7d8693907b28ce6013e7f3610aa2a1acf07dad87" dependencies: async "^2.1.2" chokidar "^1.4.3" @@ -6215,15 +6215,15 @@ watchpack@^1.3.1: webidl-conversions@^3.0.0: version "3.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" webidl-conversions@^4.0.0: version "4.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/webidl-conversions/-/webidl-conversions-4.0.1.tgz#8015a17ab83e7e1b311638486ace81da6ce206a0" + 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://repository.neo9.pro/content/groups/global-npm/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.8.2.tgz#8b6240c29a9d63bc72f09d920fb050adbcce9fe8" + resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.8.2.tgz#8b6240c29a9d63bc72f09d920fb050adbcce9fe8" dependencies: acorn "^5.0.3" chalk "^1.1.3" @@ -6239,7 +6239,7 @@ webpack-bundle-analyzer@^2.8.2: webpack-dev-middleware@^1.10.2: version "1.10.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/webpack-dev-middleware/-/webpack-dev-middleware-1.10.2.tgz#2e252ce1dfb020dbda1ccb37df26f30ab014dbd1" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.10.2.tgz#2e252ce1dfb020dbda1ccb37df26f30ab014dbd1" dependencies: memory-fs "~0.4.1" mime "^1.3.4" @@ -6248,7 +6248,7 @@ webpack-dev-middleware@^1.10.2: webpack-hot-middleware@^2.18.0: version "2.18.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/webpack-hot-middleware/-/webpack-hot-middleware-2.18.0.tgz#a16bb535b83a6ac94a78ac5ebce4f3059e8274d3" + resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.18.0.tgz#a16bb535b83a6ac94a78ac5ebce4f3059e8274d3" dependencies: ansi-html "0.0.7" html-entities "^1.2.0" @@ -6257,25 +6257,25 @@ webpack-hot-middleware@^2.18.0: webpack-node-externals@^1.6.0: version "1.6.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/webpack-node-externals/-/webpack-node-externals-1.6.0.tgz#232c62ec6092b100635a3d29d83c1747128df9bd" + resolved "https://registry.yarnpkg.com/webpack-node-externals/-/webpack-node-externals-1.6.0.tgz#232c62ec6092b100635a3d29d83c1747128df9bd" webpack-sources@^0.1.0: version "0.1.5" - resolved "https://repository.neo9.pro/content/groups/global-npm/webpack-sources/-/webpack-sources-0.1.5.tgz#aa1f3abf0f0d74db7111c40e500b84f966640750" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.1.5.tgz#aa1f3abf0f0d74db7111c40e500b84f966640750" dependencies: source-list-map "~0.1.7" source-map "~0.5.3" webpack-sources@^0.2.3: version "0.2.3" - resolved "https://repository.neo9.pro/content/groups/global-npm/webpack-sources/-/webpack-sources-0.2.3.tgz#17c62bfaf13c707f9d02c479e0dcdde8380697fb" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.2.3.tgz#17c62bfaf13c707f9d02c479e0dcdde8380697fb" dependencies: source-list-map "^1.1.1" source-map "~0.5.3" webpack@^2.6.1: version "2.6.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/webpack/-/webpack-2.6.1.tgz#2e0457f0abb1ac5df3ab106c69c672f236785f07" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.6.1.tgz#2e0457f0abb1ac5df3ab106c69c672f236785f07" dependencies: acorn "^5.0.0" acorn-dynamic-import "^2.0.0" @@ -6301,73 +6301,73 @@ webpack@^2.6.1: whatwg-encoding@^1.0.1: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/whatwg-encoding/-/whatwg-encoding-1.0.1.tgz#3c6c451a198ee7aec55b1ec61d0920c67801a5f4" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.1.tgz#3c6c451a198ee7aec55b1ec61d0920c67801a5f4" dependencies: iconv-lite "0.4.13" whatwg-url@^4.3.0: version "4.8.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/whatwg-url/-/whatwg-url-4.8.0.tgz#d2981aa9148c1e00a41c5a6131166ab4683bbcc0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-4.8.0.tgz#d2981aa9148c1e00a41c5a6131166ab4683bbcc0" dependencies: tr46 "~0.0.3" webidl-conversions "^3.0.0" whet.extend@~0.9.9: version "0.9.9" - resolved "https://repository.neo9.pro/content/groups/global-npm/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1" + resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1" which-module@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" which-module@^2.0.0: version "2.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + 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: version "1.2.14" - resolved "https://repository.neo9.pro/content/groups/global-npm/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5" + resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5" dependencies: isexe "^2.0.0" wide-align@^1.1.0: version "1.1.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" dependencies: string-width "^1.0.2" widest-line@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/widest-line/-/widest-line-1.0.0.tgz#0c09c85c2a94683d0d7eaf8ee097d564bf0e105c" + resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-1.0.0.tgz#0c09c85c2a94683d0d7eaf8ee097d564bf0e105c" dependencies: string-width "^1.0.1" window-size@0.1.0: version "0.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" wordwrap@0.0.2, wordwrap@~0.0.2: version "0.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" wordwrap@~1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" wrap-ansi@^2.0.0: version "2.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" dependencies: string-width "^1.0.1" strip-ansi "^3.0.1" wrappy@1: version "1.0.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" write-file-atomic@^1.1.4: version "1.3.4" - resolved "https://repository.neo9.pro/content/groups/global-npm/write-file-atomic/-/write-file-atomic-1.3.4.tgz#f807a4f0b1d9e913ae7a48112e6cc3af1991b45f" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.4.tgz#f807a4f0b1d9e913ae7a48112e6cc3af1991b45f" dependencies: graceful-fs "^4.1.11" imurmurhash "^0.1.4" @@ -6375,7 +6375,7 @@ write-file-atomic@^1.1.4: write-file-atomic@^2.0.0: version "2.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/write-file-atomic/-/write-file-atomic-2.1.0.tgz#1769f4b551eedce419f0505deae2e26763542d37" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.1.0.tgz#1769f4b551eedce419f0505deae2e26763542d37" dependencies: graceful-fs "^4.1.11" imurmurhash "^0.1.4" @@ -6383,7 +6383,7 @@ write-file-atomic@^2.0.0: write-json-file@^2.0.0: version "2.2.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/write-json-file/-/write-json-file-2.2.0.tgz#51862506bbb3b619eefab7859f1fd6c6d0530876" + resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-2.2.0.tgz#51862506bbb3b619eefab7859f1fd6c6d0530876" dependencies: detect-indent "^5.0.0" graceful-fs "^4.1.2" @@ -6394,69 +6394,69 @@ write-json-file@^2.0.0: write-pkg@^2.0.0: version "2.1.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/write-pkg/-/write-pkg-2.1.0.tgz#353aa44c39c48c21440f5c08ce6abd46141c9c08" + resolved "https://registry.yarnpkg.com/write-pkg/-/write-pkg-2.1.0.tgz#353aa44c39c48c21440f5c08ce6abd46141c9c08" dependencies: sort-keys "^1.1.2" write-json-file "^2.0.0" write@^0.2.1: version "0.2.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" + resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" dependencies: mkdirp "^0.5.1" ws@^2.3.1: version "2.3.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/ws/-/ws-2.3.1.tgz#6b94b3e447cb6a363f785eaf94af6359e8e81c80" + resolved "https://registry.yarnpkg.com/ws/-/ws-2.3.1.tgz#6b94b3e447cb6a363f785eaf94af6359e8e81c80" dependencies: safe-buffer "~5.0.1" ultron "~1.1.0" xdg-basedir@^3.0.0: version "3.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" + resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" xml-char-classes@^1.0.0: version "1.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/xml-char-classes/-/xml-char-classes-1.0.0.tgz#64657848a20ffc5df583a42ad8a277b4512bbc4d" + resolved "https://registry.yarnpkg.com/xml-char-classes/-/xml-char-classes-1.0.0.tgz#64657848a20ffc5df583a42ad8a277b4512bbc4d" xml-name-validator@^2.0.1: version "2.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/xml-name-validator/-/xml-name-validator-2.0.1.tgz#4d8b8f1eccd3419aa362061becef515e1e559635" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-2.0.1.tgz#4d8b8f1eccd3419aa362061becef515e1e559635" xtend@^4.0.0, xtend@~4.0.1: version "4.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" y18n@^3.2.1: version "3.2.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" yallist@^2.0.0: version "2.1.2" - resolved "https://repository.neo9.pro/content/groups/global-npm/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" yargs-parser@^4.2.0: version "4.2.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" dependencies: camelcase "^3.0.0" yargs-parser@^5.0.0: version "5.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a" dependencies: camelcase "^3.0.0" yargs-parser@^7.0.0: version "7.0.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" dependencies: camelcase "^4.1.0" yargs@^6.0.0: version "6.6.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" dependencies: camelcase "^3.0.0" cliui "^3.2.0" @@ -6474,7 +6474,7 @@ yargs@^6.0.0: yargs@^8.0.1: version "8.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/yargs/-/yargs-8.0.1.tgz#420ef75e840c1457a80adcca9bc6fa3849de51aa" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.1.tgz#420ef75e840c1457a80adcca9bc6fa3849de51aa" dependencies: camelcase "^4.1.0" cliui "^3.2.0" @@ -6492,7 +6492,7 @@ yargs@^8.0.1: yargs@~3.10.0: version "3.10.0" - resolved "https://repository.neo9.pro/content/groups/global-npm/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" dependencies: camelcase "^1.0.2" cliui "^2.1.0" From 092d9cd0abef88eea4e26836c05eeee4f2f50c8c Mon Sep 17 00:00:00 2001 From: Dmitri Efimenko Date: Wed, 7 Jun 2017 19:05:02 +0300 Subject: [PATCH 009/236] Fix server build.extend context --- lib/webpack/server.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/webpack/server.config.js b/lib/webpack/server.config.js index b58b80dcfe..e1ba11ccc5 100644 --- a/lib/webpack/server.config.js +++ b/lib/webpack/server.config.js @@ -63,7 +63,7 @@ export default function () { // Extend config if (typeof this.options.build.extend === 'function') { - this.options.build.extend(config, { + this.options.build.extend.call(this, config, { dev: this.dev, isServer: true }) From 92951853fc001a32779d2edcb3fb0a2435d5f220 Mon Sep 17 00:00:00 2001 From: Sebastien Chopin Date: Fri, 9 Jun 2017 13:44:07 +0200 Subject: [PATCH 010/236] Add error in plugins context --- lib/app/index.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/app/index.js b/lib/app/index.js index 0b556cdf82..4972dea315 100644 --- a/lib/app/index.js +++ b/lib/app/index.js @@ -103,8 +103,9 @@ async function createApp (ssrContext) { if (typeof err === 'string') { err = { statusCode: 500, message: err } } - this.$options._nuxt.dateErr = Date.now() - this.$options._nuxt.err = err; + const _nuxt = this._nuxt || this.$options._nuxt + _nuxt.dateErr = Date.now() + _nuxt.err = err return err } }, @@ -117,11 +118,11 @@ async function createApp (ssrContext) { isClient: !ssrContext, route: router.currentRoute, next, + error: app._nuxt.error.bind(app), <%= (store ? 'store,' : '') %> req: ssrContext ? ssrContext.req : undefined, res: ssrContext ? ssrContext.res : undefined, }, app) - delete ctx.error // Inject external plugins <% plugins.forEach(function (plugin) { From affcb9d58ea091b99060e08c8e7aa7ba1e57d61e Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Sat, 10 Jun 2017 23:10:14 +0430 Subject: [PATCH 011/236] fix: show localhost instead of 0.0.0.0 in Open URL fixes potential problems after merging #865 --- lib/build.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/build.js b/lib/build.js index 968feee155..8de61eb9d8 100644 --- a/lib/build.js +++ b/lib/build.js @@ -427,8 +427,9 @@ function getWebpackServerConfig () { function createWebpackMiddleware () { const clientConfig = getWebpackClientConfig.call(this) - const host = process.env.HOST || process.env.npm_package_config_nuxt_host || '127.0.0.1' + const host = process.env.HOST || process.env.npm_package_config_nuxt_host || 'localhost' const port = process.env.PORT || process.env.npm_package_config_nuxt_port || '3000' + // setup on the fly compilation + hot-reload clientConfig.entry.app = _.flatten(['webpack-hot-middleware/client?reload=true', clientConfig.entry.app]) clientConfig.plugins.push( @@ -436,7 +437,10 @@ function createWebpackMiddleware () { new webpack.NoEmitOnErrorsPlugin(), new PostCompilePlugin(stats => { if (!stats.hasErrors() && !stats.hasWarnings()) { - console.log(`> Open http://${host}:${port}\n`) // eslint-disable-line no-console + // We don't use os.host() here because browsers have special behaviour with localhost + // For example chrome allows Geolocation api only to https or localhost origins + let _host = host==='0.0.0.0' ? 'localhost' : host + console.log(`> Open http://${_host}:${port}\n`) // eslint-disable-line no-console } }) ) From c08801cf53209c22e1526bf1aee70c4e7abd993a Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Sat, 10 Jun 2017 23:12:13 +0430 Subject: [PATCH 012/236] eslint --- lib/build.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/build.js b/lib/build.js index 8de61eb9d8..36b2cf5286 100644 --- a/lib/build.js +++ b/lib/build.js @@ -439,7 +439,7 @@ function createWebpackMiddleware () { if (!stats.hasErrors() && !stats.hasWarnings()) { // We don't use os.host() here because browsers have special behaviour with localhost // For example chrome allows Geolocation api only to https or localhost origins - let _host = host==='0.0.0.0' ? 'localhost' : host + let _host = host === '0.0.0.0' ? 'localhost' : host console.log(`> Open http://${_host}:${port}\n`) // eslint-disable-line no-console } }) From 52377645733981de56cfcb07db67d05834fdc09b Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Sun, 11 Jun 2017 18:03:47 +0430 Subject: [PATCH 013/236] add tapable dependency --- package.json | 1 + yarn.lock | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 1c540b6ce2..472d26ff40 100644 --- a/package.json +++ b/package.json @@ -89,6 +89,7 @@ "script-ext-html-webpack-plugin": "^1.8.1", "serialize-javascript": "^1.3.0", "serve-static": "^1.12.3", + "tapable": "^0.2.6", "url-loader": "^0.5.8", "vue": "~2.3.3", "vue-loader": "^12.2.1", diff --git a/yarn.lock b/yarn.lock index a639c1bbe3..47332ff848 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5804,7 +5804,7 @@ table@^3.7.8: slice-ansi "0.0.4" string-width "^2.0.0" -tapable@^0.2.5, tapable@~0.2.5: +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" From c9313572bdf4ccce4fe845645f7e97aa90607d98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Sun, 11 Jun 2017 15:48:20 +0200 Subject: [PATCH 014/236] Refactor nuxt commands using minimist --- bin/nuxt-build | 84 +++---- bin/nuxt-dev | 58 +++-- bin/nuxt-generate | 47 +++- bin/nuxt-start | 55 ++++- package.json | 1 + yarn.lock | 573 ++++++++++++++++++++++++---------------------- 6 files changed, 479 insertions(+), 339 deletions(-) diff --git a/bin/nuxt-build b/bin/nuxt-build index 1af998d2be..53b125765e 100755 --- a/bin/nuxt-build +++ b/bin/nuxt-build @@ -4,60 +4,66 @@ process.env.DEBUG = 'nuxt:*' var fs = require('fs') +var parseArgs = require('minimist') var without = require('lodash').without var Nuxt = require('../') var resolve = require('path').resolve -// --analyze option -var analyzeBuild = false -if (process.argv.indexOf('--analyze') !== -1 || process.argv.indexOf('-a') !== -1) { - analyzeBuild = true - process.argv = without(process.argv, '--analyze', '-a') +const argv = parseArgs(process.argv.slice(2), { + alias: { + h: 'help', + c: 'config-file', + a: 'analyze' + }, + boolean: ['h', 'a'], + string: ['c'], + default: { + c: 'nuxt.config.js' + } +}) + +if (argv.help) { + console.log(` + Description + Compiles the application for production deployment + Usage + $ nuxt build + Options + --analyze, -a Launch webpack-bundle-analyzer to optimize your bundles. + --config-file, -c Path to Nuxt.js config file (default: nuxt.config.js) + --help, -h Displays this message + `) + process.exit(0) } -var nuxtConfigFileName = 'nuxt.config.js' - -// --config-file option -var indexOfConfig = false -if (process.argv.indexOf('--config-file') !== -1) { - indexOfConfig = process.argv.indexOf('--config-file') -} else if (process.argv.indexOf('-c') !== -1) { - indexOfConfig = process.argv.indexOf('-c') -} - -if (indexOfConfig !== false) { - nuxtConfigFileName = process.argv.slice(indexOfConfig)[1] - process.argv = without(process.argv, '--config-file', '-c', nuxtConfigFileName) -} - -// Root directory parameter -var rootDir = resolve(process.argv.slice(2)[0] || '.') -var nuxtConfigFilePath = resolve(rootDir, nuxtConfigFileName) +var rootDir = resolve(argv._[0] || '.') +var nuxtConfigFile = resolve(rootDir, argv['config-file']) var options = {} -if (fs.existsSync(nuxtConfigFilePath)) { - options = require(nuxtConfigFilePath) -} else { - console.log(`Could not locate ${nuxtConfigFilePath}`) // eslint-disable-line no-console +if (fs.existsSync(nuxtConfigFile)) { + options = require(nuxtConfigFile) +} else if (argv['config-file'] !== 'nuxt.config.js') { + console.error(`> Could not load config file ${argv['config-file']}`) + process.exit(1) } - if (typeof options.rootDir !== 'string') { options.rootDir = rootDir } -options.dev = false // Create production build when calling `nuxt build` - +// Create production build when calling `nuxt build` +options.dev = false +// Analyze option options.build = options.build || {} -if (analyzeBuild) { - options.build.analyze = analyzeBuild +if (argv.analyze) { + options.build.analyze = true } console.log('[nuxt] Building...') // eslint-disable-line no-console var nuxt = module.exports = new Nuxt(options) nuxt.build() - .then(() => { - console.log('[nuxt] Building done') // eslint-disable-line no-console - }) - .catch((err) => { - console.error(err) // eslint-disable-line no-console - process.exit(1) - }) +.then(() => { + console.log('[nuxt] Building done') // eslint-disable-line no-console +}) +.catch((err) => { + console.error(err) // eslint-disable-line no-console + process.exit(1) +}) diff --git a/bin/nuxt-dev b/bin/nuxt-dev index 4b1f733ce6..84efb2e442 100755 --- a/bin/nuxt-dev +++ b/bin/nuxt-dev @@ -7,41 +7,66 @@ var _ = require('lodash') var debug = require('debug')('nuxt:build') debug.color = 2 // force green color var fs = require('fs') +var parseArgs = require('minimist') var Nuxt = require('../') var chokidar = require('chokidar') var resolve = require('path').resolve var without = require('lodash').without -var nuxtConfigFileName = 'nuxt.config.js' +var argv = parseArgs(process.argv.slice(2), { + alias: { + h: 'help', + H: 'hostname', + p: 'port', + c: 'config-file' + }, + boolean: ['h'], + string: ['H', 'c'], + default: { + c: 'nuxt.config.js' + } +}) -// --config-file option -var indexOfConfig = false -if (process.argv.indexOf('--config-file') !== -1) { - indexOfConfig = process.argv.indexOf('--config-file') -} else if (process.argv.indexOf('-c') !== -1) { - indexOfConfig = process.argv.indexOf('-c') +if (argv.hostname === '') { + console.error(`> Provided hostname argument has no value`) + process.exit(1) } -if (indexOfConfig !== false) { - nuxtConfigFileName = process.argv.slice(indexOfConfig)[1] - process.argv = without(process.argv, '--config-file', '-c', nuxtConfigFileName) +if (argv.help) { + console.log(` + Description + Starts the application in development mode (hot-code reloading, error + reporting, etc) + Usage + $ nuxt dev -p -H + Options + --port, -p A port number on which to start the application + --hostname, -H Hostname on which to start the application + --config-file, -c Path to Nuxt.js config file (default: nuxt.config.js) + --help, -h Displays this message + `) + process.exit(0) } -var rootDir = resolve(process.argv.slice(2)[0] || '.') -var nuxtConfigFile = resolve(rootDir, nuxtConfigFileName) +var rootDir = resolve(argv._[0] || '.') +var nuxtConfigFile = resolve(rootDir, argv['config-file']) var options = {} if (fs.existsSync(nuxtConfigFile)) { options = require(nuxtConfigFile) +} else if (argv['config-file'] !== 'nuxt.config.js') { + console.error(`> Could not load config file ${argv['config-file']}`) + process.exit(1) } if (typeof options.rootDir !== 'string') { options.rootDir = rootDir } -options.dev = true // Add hot reloading and watching changes +// Force development mode: add hot reloading and watching changes +options.dev = true var nuxt = module.exports = new Nuxt(options) -var port = process.env.PORT || process.env.npm_package_config_nuxt_port -var host = process.env.HOST || process.env.npm_package_config_nuxt_host +var port = argv.port || process.env.PORT || process.env.npm_package_config_nuxt_port +var host = argv.hostname || process.env.HOST || process.env.npm_package_config_nuxt_host var server = nuxt.server = new nuxt.Server(nuxt).listen(port, host) listenOnConfigChanges(nuxt, server) @@ -74,7 +99,6 @@ function listenOnConfigChanges(nuxt, server) { process.exit(1) }) }, 200) - var nuxtConfigFile = resolve(rootDir, nuxtConfigFileName) - chokidar.watch(nuxtConfigFile, Object.assign({}, nuxt.options.watchers.chokidar, {ignoreInitial: true})) + chokidar.watch(nuxtConfigFile, Object.assign({}, nuxt.options.watchers.chokidar, { ignoreInitial: true })) .on('all', build) } diff --git a/bin/nuxt-generate b/bin/nuxt-generate index c187810fa1..771612bf38 100755 --- a/bin/nuxt-generate +++ b/bin/nuxt-generate @@ -4,15 +4,44 @@ process.env.DEBUG = 'nuxt:*' var fs = require('fs') +var parseArgs = require('minimist') var Nuxt = require('../') var resolve = require('path').resolve -var rootDir = resolve(process.argv.slice(2)[0] || '.') -var nuxtConfigFile = resolve(rootDir, 'nuxt.config.js') +var argv = parseArgs(process.argv.slice(2), { + alias: { + h: 'help', + c: 'config-file' + }, + boolean: ['h'], + string: ['c'], + default: { + c: 'nuxt.config.js' + } +}) + +if (argv.help) { + console.log(` + Description + Generate a static web application (server-rendered) + Usage + $ nuxt generate + Options + --config-file, -c Path to Nuxt.js config file (default: nuxt.config.js) + --help, -h Displays this message + `) + process.exit(0) +} + +var rootDir = resolve(argv._[0] || '.') +var nuxtConfigFile = resolve(rootDir, argv['config-file']) var options = {} if (fs.existsSync(nuxtConfigFile)) { options = require(nuxtConfigFile) +} else if (argv['config-file'] !== 'nuxt.config.js') { + console.error(`> Could not load config file ${argv['config-file']}`) + process.exit(1) } if (typeof options.rootDir !== 'string') { options.rootDir = rootDir @@ -22,10 +51,10 @@ options.dev = false // Force production mode (no webpack middleware called) console.log('[nuxt] Generating...') // eslint-disable-line no-console var nuxt = module.exports = new Nuxt(options) nuxt.generate() - .then(() => { - console.log('[nuxt] Generate done') // eslint-disable-line no-console - }) - .catch((err) => { - console.error(err) // eslint-disable-line no-console - process.exit(1) - }) +.then(() => { + console.log('[nuxt] Generate done') // eslint-disable-line no-console +}) +.catch((err) => { + console.error(err) // eslint-disable-line no-console + process.exit(1) +}) diff --git a/bin/nuxt-start b/bin/nuxt-start index 8af26fbaf4..970c87d7fd 100755 --- a/bin/nuxt-start +++ b/bin/nuxt-start @@ -1,22 +1,69 @@ #!/usr/bin/env node var fs = require('fs') +var parseArgs = require('minimist') var Nuxt = require('../') var resolve = require('path').resolve +var join = require('path').join -var rootDir = resolve(process.argv.slice(2)[0] || '.') -var nuxtConfigFile = resolve(rootDir, 'nuxt.config.js') +var argv = parseArgs(process.argv.slice(2), { + alias: { + h: 'help', + H: 'hostname', + p: 'port', + c: 'config-file' + }, + boolean: ['h'], + string: ['H', 'c'], + default: { + c: 'nuxt.config.js' + } +}) + +if (argv.hostname === '') { + console.error(`> Provided hostname argument has no value`) + process.exit(1) +} + +if (argv.help) { + console.log(` + Description + Starts the application in production mode. + The application should be compiled with \`nuxt build\` first. + Usage + $ nuxt start -p -H + Options + --port, -p A port number on which to start the application + --hostname, -H Hostname on which to start the application + --config-file, -c Path to Nuxt.js config file (default: nuxt.config.js) + --help, -h Displays this message + `) + process.exit(0) +} + +var rootDir = resolve(argv._[0] || '.') +var nuxtConfigFile = resolve(rootDir, argv['config-file']) var options = {} if (fs.existsSync(nuxtConfigFile)) { options = require(nuxtConfigFile) +} else if (argv['config-file'] !== 'nuxt.config.js') { + console.error(`> Could not load config file ${argv['config-file']}`) + process.exit(1) } if (typeof options.rootDir !== 'string') { options.rootDir = rootDir } options.dev = false // Force production mode (no webpack middleware called) +var buildDir = join(options.rootDir, (options.buildDir || '.nuxt'), 'dist', 'server-bundle.json') +// Check if project is built for production +if (!fs.existsSync(buildDir)) { + console.error('> No build files found, please run `nuxt build` before launching `nuxt start`') // eslint-disable-line no-console + process.exit(1) +} + var nuxt = module.exports = new Nuxt(options) -var port = process.env.PORT || process.env.npm_package_config_nuxt_port -var host = process.env.HOST || process.env.npm_package_config_nuxt_host +var port = argv.port || process.env.PORT || process.env.npm_package_config_nuxt_port +var host = argv.hostname || process.env.HOST || process.env.npm_package_config_nuxt_host var server = nuxt.server = new nuxt.Server(nuxt).listen(port, host) diff --git a/package.json b/package.json index 1c540b6ce2..037bf496ee 100644 --- a/package.json +++ b/package.json @@ -80,6 +80,7 @@ "html-webpack-plugin": "^2.28.0", "lodash": "^4.17.4", "memory-fs": "^0.4.1", + "minimist": "^1.2.0", "offline-plugin": "^4.8.1", "opencollective": "^1.0.3", "pify": "^3.0.0", diff --git a/yarn.lock b/yarn.lock index a639c1bbe3..756239aa08 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,14 +1,12 @@ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 - - "@ava/babel-plugin-throws-helper@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@ava/babel-plugin-throws-helper/-/babel-plugin-throws-helper-2.0.0.tgz#2fc1fe3c211a71071a4eca7b8f7af5842cd1ae7c" "@ava/babel-preset-stage-4@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@ava/babel-preset-stage-4/-/babel-preset-stage-4-1.0.0.tgz#a613b5e152f529305422546b072d47facfb26291" + version "1.1.0" + resolved "https://registry.yarnpkg.com/@ava/babel-preset-stage-4/-/babel-preset-stage-4-1.1.0.tgz#ae60be881a0babf7d35f52aba770d1f6194f76bd" dependencies: babel-plugin-check-es2015-constants "^6.8.0" babel-plugin-syntax-trailing-function-commas "^6.20.0" @@ -38,8 +36,8 @@ esutils "^2.0.2" "@types/node@^6.0.46": - version "6.0.77" - resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.77.tgz#3e4d569a427f17085e1ee4ecd3c31befb56af7b5" + version "6.0.78" + resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.78.tgz#5d4a3f579c1524e01ee21bf474e6fba09198f470" abab@^1.0.3: version "1.0.3" @@ -90,13 +88,20 @@ ajv-keywords@^1.0.0, ajv-keywords@^1.1.1: version "1.5.1" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" -ajv@^4.11.2, ajv@^4.7.0, ajv@^4.9.1: +ajv@^4.7.0, ajv@^4.9.1: version "4.11.8" resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" dependencies: co "^4.6.0" json-stable-stringify "^1.0.1" +ajv@^5.0.0: + version "5.1.5" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.1.5.tgz#8734931b601f00d4feef7c65738d77d1b65d1f68" + dependencies: + co "^4.6.0" + json-stable-stringify "^1.0.1" + align-text@^0.1.1, align-text@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" @@ -123,7 +128,7 @@ ansi-escapes@^1.1.0: version "1.4.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" -ansi-html@0.0.7, ansi-html@^0.0.7: +ansi-html@^0.0.7, ansi-html@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" @@ -243,14 +248,14 @@ asn1@~0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - assert-plus@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" +assert-plus@^1.0.0, assert-plus@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + assert@^1.1.1: version "1.4.1" resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" @@ -411,19 +416,19 @@ babel-code-frame@^6.11.0, babel-code-frame@^6.16.0, babel-code-frame@^6.22.0: js-tokens "^3.0.0" babel-core@^6.17.0, babel-core@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.24.1.tgz#8c428564dce1e1f41fb337ec34f4c3b022b5ad83" + version "6.25.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.25.0.tgz#7dd42b0463c742e9d5296deb3ec67a9322dad729" dependencies: babel-code-frame "^6.22.0" - babel-generator "^6.24.1" + babel-generator "^6.25.0" babel-helpers "^6.24.1" babel-messages "^6.23.0" babel-register "^6.24.1" babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - babylon "^6.11.0" + babel-template "^6.25.0" + babel-traverse "^6.25.0" + babel-types "^6.25.0" + babylon "^6.17.2" convert-source-map "^1.1.0" debug "^2.1.1" json5 "^0.5.0" @@ -443,13 +448,13 @@ babel-eslint@^7.2.3: babel-types "^6.23.0" babylon "^6.17.0" -babel-generator@^6.1.0, babel-generator@^6.18.0, babel-generator@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.24.1.tgz#e715f486c58ded25649d888944d52aa07c5d9497" +babel-generator@^6.1.0, babel-generator@^6.18.0, babel-generator@^6.25.0: + version "6.25.0" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.25.0.tgz#33a1af70d5f2890aeb465a4a7793c1df6a9ea9fc" dependencies: babel-messages "^6.23.0" babel-runtime "^6.22.0" - babel-types "^6.24.1" + babel-types "^6.25.0" detect-indent "^4.0.0" jsesc "^1.3.0" lodash "^4.2.0" @@ -902,8 +907,8 @@ babel-polyfill@6.23.0: regenerator-runtime "^0.10.0" babel-preset-env@^1.2.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.5.1.tgz#d2eca6af179edf27cdc305a84820f601b456dd0b" + version "1.5.2" + resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.5.2.tgz#cd4ae90a6e94b709f97374b33e5f8b983556adef" dependencies: babel-plugin-check-es2015-constants "^6.22.0" babel-plugin-syntax-trailing-function-commas "^6.22.0" @@ -1022,42 +1027,42 @@ babel-runtime@^6.18.0, babel-runtime@^6.20.0, babel-runtime@^6.22.0: core-js "^2.4.0" regenerator-runtime "^0.10.0" -babel-template@^6.16.0, babel-template@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.24.1.tgz#04ae514f1f93b3a2537f2a0f60a5a45fb8308333" +babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.25.0: + version "6.25.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.25.0.tgz#665241166b7c2aa4c619d71e192969552b10c071" dependencies: babel-runtime "^6.22.0" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - babylon "^6.11.0" + babel-traverse "^6.25.0" + babel-types "^6.25.0" + babylon "^6.17.2" lodash "^4.2.0" -babel-traverse@^6.18.0, babel-traverse@^6.23.1, babel-traverse@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.24.1.tgz#ab36673fd356f9a0948659e7b338d5feadb31695" +babel-traverse@^6.18.0, babel-traverse@^6.23.1, babel-traverse@^6.24.1, babel-traverse@^6.25.0: + version "6.25.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.25.0.tgz#2257497e2fcd19b89edc13c4c91381f9512496f1" dependencies: babel-code-frame "^6.22.0" babel-messages "^6.23.0" babel-runtime "^6.22.0" - babel-types "^6.24.1" - babylon "^6.15.0" + babel-types "^6.25.0" + babylon "^6.17.2" debug "^2.2.0" globals "^9.0.0" invariant "^2.2.0" lodash "^4.2.0" -babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.23.0, babel-types@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.24.1.tgz#a136879dc15b3606bda0d90c1fc74304c2ff0975" +babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.23.0, babel-types@^6.24.1, babel-types@^6.25.0: + version "6.25.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.25.0.tgz#70afb248d5660e5d18f811d91c8303b54134a18e" dependencies: babel-runtime "^6.22.0" esutils "^2.0.2" lodash "^4.2.0" to-fast-properties "^1.0.1" -babylon@^6.1.0, babylon@^6.11.0, babylon@^6.13.0, babylon@^6.15.0, babylon@^6.17.0: - version "6.17.2" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.2.tgz#201d25ef5f892c41bae49488b08db0dd476e9f5c" +babylon@^6.1.0, babylon@^6.13.0, babylon@^6.17.0, babylon@^6.17.2: + version "6.17.3" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.3.tgz#1327d709950b558f204e5352587fd0290f8d8e48" balanced-match@^0.4.1, balanced-match@^0.4.2: version "0.4.2" @@ -1304,12 +1309,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.30000679" - resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000679.tgz#dd7be12f16577e5d6ae6db880c6d619e77dca365" + version "1.0.30000683" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000683.tgz#58b57ed1e0bb9da54eaf1462985147bbe16679fa" caniuse-lite@^1.0.30000670: - version "1.0.30000679" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000679.tgz#0fb5bb3658d4d4448f8f86a1c48df15664aa05ef" + version "1.0.30000683" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000683.tgz#a7573707cf2acc9217ca6484d1dfbc9f13898364" capture-stack-trace@^1.0.0: version "1.0.0" @@ -1330,7 +1335,15 @@ center-align@^0.1.1: align-text "^0.1.3" lazy-cache "^1.0.3" -chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: +chalk@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" + dependencies: + ansi-styles "~1.0.0" + has-color "~0.1.0" + strip-ansi "~0.1.0" + +chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3, chalk@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" dependencies: @@ -1340,14 +1353,6 @@ chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" - dependencies: - ansi-styles "~1.0.0" - has-color "~0.1.0" - strip-ansi "~0.1.0" - chokidar@^1.4.2, chokidar@^1.4.3, chokidar@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" @@ -1459,8 +1464,8 @@ co@^4.6.0: resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" coa@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.2.tgz#2ba9fec3b4aa43d7a49d7e6c3561e92061b6bcec" + version "1.0.3" + resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.3.tgz#1b54a5e1dcf77c990455d4deea98c564416dc893" dependencies: q "^1.1.2" @@ -1524,7 +1529,7 @@ 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.0, commander@~2.9.0, commander@2.9.x: version "2.9.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" dependencies: @@ -1850,7 +1855,7 @@ csso@~2.3.1: clap "^1.0.9" source-map "^0.5.3" -cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": +"cssom@>= 0.3.2 < 0.4.0", cssom@0.3.x: version "0.3.2" resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.2.tgz#b8036170c79f07a90ff2f16e22284027a243848b" @@ -1894,7 +1899,13 @@ debug-log@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/debug-log/-/debug-log-1.0.1.tgz#2307632d4c04382b8df8a32f70b895046d52745f" -debug@2.2.0, debug@~2.2.0: +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, debug@2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" dependencies: @@ -1906,12 +1917,6 @@ 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: - version "2.6.8" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" - dependencies: - ms "2.0.0" - 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" @@ -1969,7 +1974,7 @@ delegates@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" -depd@1.1.0, depd@~1.1.0: +depd@~1.1.0, depd@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" @@ -2010,16 +2015,16 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" -doctrine@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" +doctrine@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.0.0.tgz#c73d8d2909d22291e1a007a395804da8b665fe63" dependencies: esutils "^2.0.2" isarray "^1.0.0" -doctrine@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.0.0.tgz#c73d8d2909d22291e1a007a395804da8b665fe63" +doctrine@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" dependencies: esutils "^2.0.2" isarray "^1.0.0" @@ -2041,7 +2046,7 @@ domain-browser@^1.1.1: version "1.1.7" resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" -domelementtype@1, domelementtype@^1.3.0: +domelementtype@^1.3.0, domelementtype@1: version "1.3.0" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2" @@ -2049,16 +2054,23 @@ domelementtype@~1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" +domhandler@^2.3.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.1.tgz#892e47000a99be55bbf3774ffea0561d8879c259" + dependencies: + domelementtype "1" + domhandler@2.1: version "2.1.0" resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.1.0.tgz#d2646f5e57f6c3bab11cf6cb05d3c0acf7412594" dependencies: domelementtype "1" -domhandler@^2.3.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.1.tgz#892e47000a99be55bbf3774ffea0561d8879c259" +domutils@^1.5.1: + version "1.6.2" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.6.2.tgz#1958cc0b4c9426e9ed367fb1c8e854891b0fa3ff" dependencies: + dom-serializer "0" domelementtype "1" domutils@1.1: @@ -2074,27 +2086,20 @@ domutils@1.5.1: dom-serializer "0" domelementtype "1" -domutils@^1.5.1: - version "1.6.2" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.6.2.tgz#1958cc0b4c9426e9ed367fb1c8e854891b0fa3ff" - dependencies: - dom-serializer "0" - domelementtype "1" - dot-prop@^4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.1.1.tgz#a8493f0b7b5eeec82525b5c7587fa7de7ca859c1" dependencies: is-obj "^1.0.0" -duplexer3@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" - duplexer@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" +duplexer3@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" + ecc-jsbn@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" @@ -2119,8 +2124,8 @@ ejs@^2.3.4, ejs@^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.11: - version "1.3.13" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.13.tgz#1b3a5eace6e087bb5e257a100b0cbfe81b2891fc" + version "1.3.14" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.14.tgz#64af0f9efd3c3c6acd57d71f83b49ca7ee9c4b43" elliptic@^6.0.0: version "6.4.0" @@ -2201,7 +2206,7 @@ es6-error@^4.0.1, es6-error@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.0.2.tgz#eec5c726eacef51b7f6b73c20db6e1b13b069c98" -es6-iterator@2, es6-iterator@^2.0.1, es6-iterator@~2.0.1: +es6-iterator@^2.0.1, es6-iterator@~2.0.1, es6-iterator@2: version "2.0.1" resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.1.tgz#8e319c9f0453bf575d374940a655920e59ca5512" dependencies: @@ -2230,7 +2235,7 @@ es6-set@~0.1.5: es6-symbol "3.1.1" event-emitter "~0.3.5" -es6-symbol@3.1.1, es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1, es6-symbol@~3.1.1: +es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1, es6-symbol@~3.1.1, es6-symbol@3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" dependencies: @@ -2542,13 +2547,13 @@ extglob@^0.3.1: is-extglob "^1.0.0" extract-text-webpack-plugin@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/extract-text-webpack-plugin/-/extract-text-webpack-plugin-2.1.0.tgz#69315b885f876dbf96d3819f6a9f1cca7aebf159" + version "2.1.2" + resolved "https://registry.yarnpkg.com/extract-text-webpack-plugin/-/extract-text-webpack-plugin-2.1.2.tgz#756ef4efa8155c3681833fbc34da53b941746d6c" dependencies: - ajv "^4.11.2" async "^2.1.2" loader-utils "^1.0.2" - webpack-sources "^0.1.0" + schema-utils "^0.3.0" + webpack-sources "^1.0.1" extsprintf@1.0.2: version "1.0.2" @@ -2606,7 +2611,7 @@ fill-range@^2.1.0: repeat-element "^1.1.2" repeat-string "^1.5.2" -finalhandler@1.0.3, finalhandler@^1.0.3, finalhandler@~1.0.3: +finalhandler@^1.0.3, finalhandler@~1.0.3, finalhandler@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.0.3.tgz#ef47e77950e999780e86022a560e3217e0d0cc89" dependencies: @@ -2693,7 +2698,7 @@ forwarded@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.0.tgz#19ef9874c4ae1c297bcf078fde63a09b66a84363" -fresh@0.5.0, fresh@^0.5.0: +fresh@^0.5.0, fresh@0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.0.tgz#f474ca5e6a9246d6fd8e0953cfa9b9c805afa78e" @@ -2842,8 +2847,8 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.2: path-is-absolute "^1.0.0" globals@^9.0.0, globals@^9.14.0: - version "9.17.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-9.17.0.tgz#0c0ca696d9b9bb694d2e5470bd37777caad50286" + version "9.18.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" globby@^5.0.0: version "5.0.0" @@ -2983,7 +2988,7 @@ hawk@~3.1.3: hoek "2.x.x" sntp "1.x.x" -he@1.1.x, he@^1.1.0: +he@^1.1.0, he@1.1.x: version "1.1.1" resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" @@ -3108,14 +3113,14 @@ hullabaloo-config-manager@^1.0.0: resolve-from "^3.0.0" safe-buffer "^5.0.1" -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.13: version "0.4.17" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.17.tgz#4fdaa3b38acbc2c031b045d0edcdfe1ecab18c8d" +iconv-lite@0.4.13: + version "0.4.13" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" + icss-replace-symbols@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" @@ -3138,6 +3143,10 @@ ignore@^3.2.0, ignore@^3.3.3: version "3.3.3" resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.3.tgz#432352e57accd87ab3110e82d3fea0e47812156d" +import-lazy@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" + imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -3167,7 +3176,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1: +inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@2, inherits@2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" @@ -3179,24 +3188,6 @@ 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: - version "3.0.6" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.0.6.tgz#e04aaa9d05b7a3cb9b0f407d04375f0447190347" - dependencies: - ansi-escapes "^1.1.0" - chalk "^1.0.0" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^2.0.1" - figures "^2.0.0" - lodash "^4.3.0" - mute-stream "0.0.7" - run-async "^2.2.0" - rx "^4.1.0" - string-width "^2.0.0" - strip-ansi "^3.0.0" - through "^2.3.6" - inquirer@^0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" @@ -3215,6 +3206,24 @@ inquirer@^0.12.0: strip-ansi "^3.0.0" through "^2.3.6" +inquirer@3.0.6: + version "3.0.6" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.0.6.tgz#e04aaa9d05b7a3cb9b0f407d04375f0447190347" + dependencies: + ansi-escapes "^1.1.0" + chalk "^1.0.0" + cli-cursor "^2.1.0" + cli-width "^2.0.0" + external-editor "^2.0.1" + figures "^2.0.0" + lodash "^4.3.0" + mute-stream "0.0.7" + run-async "^2.2.0" + rx "^4.1.0" + string-width "^2.0.0" + strip-ansi "^3.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" @@ -3342,12 +3351,18 @@ is-npm@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" -is-number@^2.0.2, is-number@^2.1.0: +is-number@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" dependencies: kind-of "^3.0.2" +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + dependencies: + kind-of "^3.0.2" + is-obj@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" @@ -3430,14 +3445,14 @@ is-utf8@^0.2.0, is-utf8@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" +isarray@^1.0.0, isarray@~1.0.0, isarray@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + isarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" @@ -3499,7 +3514,7 @@ istanbul-reports@^1.1.1: dependencies: handlebars "^4.0.3" -jest-diff@19.0.0, jest-diff@^19.0.0: +jest-diff@^19.0.0, jest-diff@19.0.0: version "19.0.0" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-19.0.0.tgz#d1563cfc56c8b60232988fbc05d4d16ed90f063c" dependencies: @@ -3564,12 +3579,6 @@ jest-validate@^19.0.2: leven "^2.0.0" pretty-format "^19.0.0" -jodid25519@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" - dependencies: - jsbn "~0.1.0" - js-base64@^2.1.9: version "2.1.9" resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce" @@ -3700,6 +3709,12 @@ kind-of@^3.0.2: dependencies: is-buffer "^1.1.5" +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + dependencies: + is-buffer "^1.1.5" + klaw@^1.0.0: version "1.3.1" resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" @@ -3722,10 +3737,6 @@ lazy-cache@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" -lazy-req@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lazy-req/-/lazy-req-2.0.0.tgz#c9450a363ecdda2e6f0c70132ad4f37f8f06f2b4" - lcid@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" @@ -3766,7 +3777,7 @@ loader-runner@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" -loader-utils@0.2.x, loader-utils@^0.2.15, loader-utils@^0.2.16: +loader-utils@^0.2.15, loader-utils@^0.2.16, loader-utils@0.2.x: version "0.2.17" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" dependencies: @@ -3895,11 +3906,11 @@ lru-cache@^3.2.0: pseudomap "^1.0.1" lru-cache@^4.0.0, lru-cache@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e" + version "4.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" dependencies: - pseudomap "^1.0.1" - yallist "^2.0.0" + pseudomap "^1.0.2" + yallist "^2.1.2" macaddress@^0.2.8: version "0.2.8" @@ -4026,14 +4037,14 @@ mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.15, mime-types@~2.1.7: dependencies: mime-db "~1.27.0" +mime@^1.3.4, mime@1.3.x: + version "1.3.6" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.6.tgz#591d84d3653a6b0b4a3b9df8de5aa8108e72e5e0" + mime@1.3.4: version "1.3.4" resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" -mime@1.3.x, mime@^1.3.4: - version "1.3.6" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.6.tgz#591d84d3653a6b0b4a3b9df8de5aa8108e72e5e0" - mimic-fn@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" @@ -4046,27 +4057,35 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" -"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: +minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, "minimatch@2 || 3": version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: brace-expansion "^1.1.7" -minimist@0.0.8, minimist@~0.0.1: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - -minimist@1.2.0, minimist@^1.1.3, minimist@^1.2.0: +minimist, minimist@^1.1.3, minimist@^1.2.0, minimist@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" -"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: +minimist@~0.0.1: + version "0.0.10" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +mkdirp@^0.5.0, mkdirp@^0.5.1, "mkdirp@>=0.5 0", 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" -ms@0.7.1, ms@^0.7.1: +ms@^0.7.1: + version "0.7.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.3.tgz#708155a5e44e33f5fd0fc53e81d0d40a91be1fff" + +ms@0.7.1: version "0.7.1" resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" @@ -5010,7 +5029,7 @@ prr@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" -pseudomap@^1.0.1: +pseudomap@^1.0.1, pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" @@ -5024,26 +5043,26 @@ public-encrypt@^4.0.0: parse-asn1 "^5.0.0" randombytes "^2.0.1" -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - punycode@^1.2.4, punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + q@^1.1.2: version "1.5.0" resolved "https://registry.yarnpkg.com/q/-/q-1.5.0.tgz#dd01bac9d06d30e6f219aecb8253ee9ebdc308f1" -qs@6.4.0, qs@~6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" - qs@~6.3.0: version "6.3.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.2.tgz#e75bd5f6e268122a2a0e0bda630b2550c166502c" +qs@~6.4.0, qs@6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" + query-string@^4.1.0: version "4.3.4" resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" @@ -5055,22 +5074,22 @@ querystring-es3@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" -querystring@0.2.0, querystring@^0.2.0: +querystring@^0.2.0, querystring@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" randomatic@^1.1.3: - version "1.1.6" - resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" + version "1.1.7" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" dependencies: - is-number "^2.0.2" - kind-of "^3.0.2" + is-number "^3.0.0" + kind-of "^4.0.0" randombytes@^2.0.0, randombytes@^2.0.1: - version "2.0.4" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.4.tgz#9551df208422c8f80eb58e2326dd0b840ff22efd" + version "2.0.5" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.5.tgz#dc009a246b8d09a177b4b7a0ae77bc570f4b1b79" dependencies: - safe-buffer "^5.0.1" + safe-buffer "^5.1.0" range-parser@^1.0.3, range-parser@~1.2.0: version "1.2.0" @@ -5115,6 +5134,18 @@ read-pkg@^2.0.0: normalize-package-data "^2.3.2" path-type "^2.0.0" +readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.6: + version "2.2.11" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.11.tgz#0796b31f8d7688007ff0b93a8088d34aa17c0f72" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + safe-buffer "~5.0.1" + string_decoder "~1.0.0" + util-deprecate "~1.0.1" + readable-stream@1.0: version "1.0.34" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" @@ -5124,18 +5155,6 @@ readable-stream@1.0: isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.6: - version "2.2.10" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.10.tgz#effe72bb7c884c0dd335e2379d526196d9d011ee" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - safe-buffer "^5.0.1" - string_decoder "~1.0.0" - util-deprecate "~1.0.1" - readdirp@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" @@ -5253,8 +5272,8 @@ release-zalgo@^1.0.0: es6-error "^4.0.1" remove-trailing-separator@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.0.1.tgz#615ebb96af559552d4bf4057c8436d486ab63cc4" + version "1.0.2" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.0.2.tgz#69b062d978727ad14dc6b56ba4ab772fd8d70511" renderkid@^2.0.1: version "2.0.1" @@ -5294,31 +5313,6 @@ request-promise-native@^1.0.3, request-promise-native@^1.0.4: stealthy-require "^1.1.0" tough-cookie ">=2.3.0" -request@2.79.0: - version "2.79.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" - dependencies: - aws-sign2 "~0.6.0" - aws4 "^1.2.1" - caseless "~0.11.0" - combined-stream "~1.0.5" - extend "~3.0.0" - forever-agent "~0.6.1" - form-data "~2.1.1" - har-validator "~2.0.6" - hawk "~3.1.3" - http-signature "~1.1.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.7" - oauth-sign "~0.8.1" - qs "~6.3.0" - stringstream "~0.0.4" - tough-cookie "~2.3.0" - tunnel-agent "~0.4.1" - uuid "^3.0.0" - request@^2.79.0, request@^2.81.0: version "2.81.0" resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" @@ -5346,6 +5340,31 @@ request@^2.79.0, request@^2.81.0: tunnel-agent "^0.6.0" uuid "^3.0.0" +request@2.79.0: + version "2.79.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + caseless "~0.11.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~2.1.1" + har-validator "~2.0.6" + hawk "~3.1.3" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + oauth-sign "~0.8.1" + qs "~6.3.0" + stringstream "~0.0.4" + tough-cookie "~2.3.0" + tunnel-agent "~0.4.1" + uuid "^3.0.0" + require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -5413,7 +5432,7 @@ right-align@^0.1.1: dependencies: align-text "^0.1.1" -rimraf@2, rimraf@^2.2.8, rimraf@^2.3.3, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.1: +rimraf@^2.2.8, rimraf@^2.3.3, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@2: version "2.6.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" dependencies: @@ -5446,7 +5465,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.0.1, safe-buffer@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.0.tgz#fe4c8460397f9eaaaa58e73be46273408a45e223" @@ -5458,6 +5477,12 @@ sax@^1.2.1, sax@~1.2.1: version "1.2.2" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.2.tgz#fd8631a23bc7826bef5d871bdb87378c95647828" +schema-utils@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.3.0.tgz#f5877222ce3e931edae039f17eb3716e7137f8cf" + dependencies: + ajv "^5.0.0" + script-ext-html-webpack-plugin@^1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/script-ext-html-webpack-plugin/-/script-ext-html-webpack-plugin-1.8.1.tgz#36bba726c38bcdebc1e69333e3fd7d718a9b3195" @@ -5470,7 +5495,7 @@ semver-diff@^2.0.0: dependencies: semver "^5.0.3" -"semver@2 || 3 || 4 || 5", semver@5.3.0, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0: +semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, "semver@2 || 3 || 4 || 5", semver@5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" @@ -5496,7 +5521,7 @@ serialize-javascript@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.3.0.tgz#86a4f3752f5c7e47295449b0bbb63d64ba533f05" -serve-static@1.12.3, serve-static@^1.12.3: +serve-static@^1.12.3, serve-static@1.12.3: version "1.12.3" resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.12.3.tgz#9f4ba19e2f3030c547f8af99107838ec38d5b1e2" dependencies: @@ -5528,8 +5553,8 @@ sha.js@^2.4.0, sha.js@^2.4.8: inherits "^2.0.1" shelljs@^0.7.5: - version "0.7.7" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.7.tgz#b2f5c77ef97148f4b4f6e22682e10bba8667cff1" + version "0.7.8" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.8.tgz#decbcf874b0d1e5fb72e14b164a9683048e9acb3" dependencies: glob "^7.0.0" interpret "^1.0.0" @@ -5567,7 +5592,7 @@ sort-keys@^1.0.0, sort-keys@^1.1.1, sort-keys@^1.1.2: dependencies: is-plain-obj "^1.0.0" -source-list-map@^0.1.7, source-list-map@~0.1.7: +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" @@ -5575,22 +5600,26 @@ source-list-map@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-1.1.2.tgz#9889019d1024cce55cdc069498337ef6186a11a1" +source-list-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085" + source-map-support@^0.4.0, source-map-support@^0.4.2: version "0.4.15" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.15.tgz#03202df65c06d2bd8c7ec2362a193056fef8d3b1" dependencies: source-map "^0.5.6" -source-map@0.5.6, source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3: - version "0.5.6" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" - source-map@^0.4.4: version "0.4.4" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" dependencies: amdefine ">=0.0.4" +source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3, source-map@0.5.6, source-map@0.5.x: + version "0.5.6" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" + source-map@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" @@ -5627,8 +5656,8 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" sshpk@^1.7.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.0.tgz#ff2a3e4fd04497555fed97b39a0fd82fafb3a33c" + version "1.13.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3" dependencies: asn1 "~0.2.3" assert-plus "^1.0.0" @@ -5637,7 +5666,6 @@ sshpk@^1.7.0: optionalDependencies: bcrypt-pbkdf "^1.0.0" ecc-jsbn "~0.1.1" - jodid25519 "^1.0.0" jsbn "~0.1.0" tweetnacl "~0.14.0" @@ -5684,6 +5712,16 @@ strict-uri-encode@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" +string_decoder@^0.10.25, string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + +string_decoder@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.2.tgz#b29e1f4e1125fa97a10382b8a533737b7491e179" + dependencies: + safe-buffer "~5.0.1" + string-length@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/string-length/-/string-length-1.0.1.tgz#56970fb1c38558e9e70b728bf3de269ac45adfac" @@ -5705,16 +5743,6 @@ string-width@^2.0.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^3.0.0" -string_decoder@^0.10.25, string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - -string_decoder@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.1.tgz#62e200f039955a6810d8df0a33ffc0f013662d98" - dependencies: - safe-buffer "^5.0.1" - stringstream@~0.0.4: version "0.0.5" resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" @@ -5849,6 +5877,10 @@ text-table@^0.2.0, text-table@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" +through@^2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + through2@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" @@ -5856,10 +5888,6 @@ through2@^2.0.0: readable-stream "^2.1.5" xtend "~4.0.1" -through@^2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - time-require@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/time-require/-/time-require-0.1.2.tgz#f9e12cb370fc2605e11404582ba54ef5ca2b2d98" @@ -5897,7 +5925,7 @@ toposort@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.3.tgz#f02cd8a74bd8be2fc0e98611c3bacb95a171869c" -tough-cookie@>=2.3.0, tough-cookie@^2.3.2, tough-cookie@~2.3.0: +tough-cookie@^2.3.2, tough-cookie@>=2.3.0, tough-cookie@~2.3.0: version "2.3.2" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" dependencies: @@ -5954,13 +5982,6 @@ typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" -uglify-js@3.0.x: - version "3.0.15" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.0.15.tgz#aacb323a846b234602270dead8a32441a8806f42" - dependencies: - commander "~2.9.0" - source-map "~0.5.1" - uglify-js@^2.6, uglify-js@^2.8.27: version "2.8.28" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.28.tgz#e335032df9bb20dcb918f164589d5af47f38834a" @@ -5970,6 +5991,13 @@ uglify-js@^2.6, uglify-js@^2.8.27: optionalDependencies: uglify-to-browserify "~1.0.0" +uglify-js@3.0.x: + version "3.0.15" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.0.15.tgz#aacb323a846b234602270dead8a32441a8806f42" + dependencies: + commander "~2.9.0" + source-map "~0.5.1" + uglify-to-browserify@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" @@ -6027,15 +6055,15 @@ unzip-response@^2.0.1: resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" update-notifier@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.1.0.tgz#ec0c1e53536b76647a24b77cb83966d9315123d9" + version "2.2.0" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.2.0.tgz#1b5837cf90c0736d88627732b661c138f86de72f" dependencies: boxen "^1.0.0" chalk "^1.0.0" configstore "^3.0.0" + import-lazy "^2.1.0" is-npm "^1.0.0" latest-version "^3.0.0" - lazy-req "^2.0.0" semver-diff "^2.0.0" xdg-basedir "^3.0.0" @@ -6077,7 +6105,7 @@ util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" -util@0.10.3, util@^0.10.3: +util@^0.10.3, util@0.10.3: version "0.10.3" resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" dependencies: @@ -6161,8 +6189,8 @@ vue-router@^2.5.3: resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-2.5.3.tgz#073783f564b6aece6c8a59c63e298dc2aabfb51b" vue-server-renderer@~2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/vue-server-renderer/-/vue-server-renderer-2.3.3.tgz#1f450f8a4541b9dd3b084d6470939f82781c3e0a" + version "2.3.4" + resolved "https://registry.yarnpkg.com/vue-server-renderer/-/vue-server-renderer-2.3.4.tgz#ce1361eb32bfb84573b9c9b83f2810de8fa606c7" dependencies: chalk "^1.1.3" hash-sum "^1.0.2" @@ -6187,8 +6215,8 @@ vue-style-loader@^3.0.0: loader-utils "^1.0.2" vue-template-compiler@~2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.3.3.tgz#b5bab9ec57309c906b82a78c81a02179dbc2f470" + version "2.3.4" + resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.3.4.tgz#5a88ac2c5e4d5d6218e6aa80e7e221fb7e67894c" dependencies: de-indent "^1.0.2" he "^1.1.0" @@ -6198,8 +6226,8 @@ vue-template-es2015-compiler@^1.2.2: resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.5.2.tgz#a0a6c50c941d2a4abda963f2f42c337ac450ee95" vue@~2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/vue/-/vue-2.3.3.tgz#d1eaa8fde5240735a4563e74f2c7fead9cbb064c" + version "2.3.4" + resolved "https://registry.yarnpkg.com/vue/-/vue-2.3.4.tgz#5ec3b87a191da8090bbef56b7cfabd4158038171" vuex@^2.3.1: version "2.3.1" @@ -6259,13 +6287,6 @@ webpack-node-externals@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/webpack-node-externals/-/webpack-node-externals-1.6.0.tgz#232c62ec6092b100635a3d29d83c1747128df9bd" -webpack-sources@^0.1.0: - version "0.1.5" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.1.5.tgz#aa1f3abf0f0d74db7111c40e500b84f966640750" - dependencies: - source-list-map "~0.1.7" - source-map "~0.5.3" - webpack-sources@^0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.2.3.tgz#17c62bfaf13c707f9d02c479e0dcdde8380697fb" @@ -6273,6 +6294,13 @@ webpack-sources@^0.2.3: source-list-map "^1.1.1" source-map "~0.5.3" +webpack-sources@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.0.1.tgz#c7356436a4d13123be2e2426a05d1dad9cbe65cf" + dependencies: + source-list-map "^2.0.0" + source-map "~0.5.3" + webpack@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.6.1.tgz#2e0457f0abb1ac5df3ab106c69c672f236785f07" @@ -6346,14 +6374,18 @@ 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: - 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" +wordwrap@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" + wrap-ansi@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" @@ -6432,7 +6464,7 @@ y18n@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" -yallist@^2.0.0: +yallist@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" @@ -6498,3 +6530,4 @@ yargs@~3.10.0: cliui "^2.1.0" decamelize "^1.0.0" window-size "0.1.0" + From 84e5eabd994c1cac6cc85d109963fb1d1a3923f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Sun, 11 Jun 2017 15:49:01 +0200 Subject: [PATCH 015/236] Display localhost instead of 0.0.0.0 --- lib/server.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/server.js b/lib/server.js index 63766e4563..9e3366fa73 100644 --- a/lib/server.js +++ b/lib/server.js @@ -46,12 +46,13 @@ class Server { } listen (port, host) { - host = host || '127.0.0.1' + host = host || 'localhost' port = port || 3000 this.nuxt.ready() .then(() => { this.server.listen(port, host, () => { - console.log('Ready on http://%s:%s', host, port) // eslint-disable-line no-console + let _host = host === '0.0.0.0' ? 'localhost' : host + console.log('Ready on http://%s:%s', _host, port) // eslint-disable-line no-console }) }) return this From 2926b08344eeff8e012fab11cf50df12ca2998ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Sun, 11 Jun 2017 15:49:19 +0200 Subject: [PATCH 016/236] No need to check on render anymore --- lib/render.js | 5 ----- 1 file changed, 5 deletions(-) diff --git a/lib/render.js b/lib/render.js index 238c31a528..e9dfeebf41 100644 --- a/lib/render.js +++ b/lib/render.js @@ -14,11 +14,6 @@ setAnsiColors(ansiHTML) export async function render (req, res) { // Wait for nuxt.js to be ready await this.ready() - // Check if project is built for production - if (!this.renderer && !this.dev) { - console.error('> No build files found, please run `nuxt build` before launching `nuxt start`') // eslint-disable-line no-console - process.exit(1) - } /* istanbul ignore if */ if (!this.renderer || !this.appTemplate) { return new Promise((resolve) => { From 8fe9380df90a337b6eb566722cf09421e3dff37b Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Sun, 11 Jun 2017 18:47:36 +0430 Subject: [PATCH 017/236] refactor into components --- lib/build.js | 569 ----------------------- lib/builder.js | 601 +++++++++++++++++++++++++ lib/defaults.js | 95 ++++ lib/generate.js | 244 +++++----- lib/{module.js => module-container.js} | 18 +- lib/nuxt.js | 201 ++++----- lib/render.js | 196 -------- lib/renderer.js | 210 +++++++++ lib/server.js | 26 +- lib/utils.js | 2 +- lib/webpack/base.config.js | 40 +- lib/webpack/client.config.js | 20 +- lib/webpack/helpers.js | 2 +- lib/webpack/server.config.js | 16 +- lib/webpack/vue-loader.config.js | 4 +- 15 files changed, 1170 insertions(+), 1074 deletions(-) delete mode 100644 lib/build.js create mode 100644 lib/builder.js create mode 100755 lib/defaults.js rename lib/{module.js => module-container.js} (94%) delete mode 100644 lib/render.js create mode 100644 lib/renderer.js diff --git a/lib/build.js b/lib/build.js deleted file mode 100644 index 36b2cf5286..0000000000 --- a/lib/build.js +++ /dev/null @@ -1,569 +0,0 @@ -'use strict' - -import _ from 'lodash' -import chokidar from 'chokidar' -import fs from 'fs-extra' -import hash from 'hash-sum' -import pify from 'pify' -import webpack from 'webpack' -import PostCompilePlugin from 'post-compile-webpack-plugin' -import serialize from 'serialize-javascript' -import { createBundleRenderer } from 'vue-server-renderer' -import { join, resolve, basename, dirname } from 'path' -import { isUrl, r, wp } from './utils' -import clientWebpackConfig from './webpack/client.config.js' -import serverWebpackConfig from './webpack/server.config.js' -const debug = require('debug')('nuxt:build') -const remove = pify(fs.remove) -const readFile = pify(fs.readFile) -const utimes = pify(fs.utimes) -const writeFile = pify(fs.writeFile) -const mkdirp = pify(fs.mkdirp) -const glob = pify(require('glob')) - -let webpackStats = 'none' -debug.color = 2 // force green color - -const defaults = { - analyze: false, - extractCSS: false, - publicPath: '/_nuxt/', - filenames: { - css: 'common.[chunkhash].css', - manifest: 'manifest.[hash].js', - vendor: 'vendor.bundle.[chunkhash].js', - app: 'nuxt.bundle.[chunkhash].js' - }, - vendor: [], - loaders: [], - plugins: [], - babel: {}, - postcss: [], - templates: [], - watch: [] -} -const defaultsLoaders = [ - { - test: /\.(png|jpe?g|gif|svg)$/, - loader: 'url-loader', - query: { - limit: 1000, // 1KO - name: 'img/[name].[hash:7].[ext]' - } - }, - { - test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, - loader: 'url-loader', - query: { - limit: 1000, // 1 KO - name: 'fonts/[name].[hash:7].[ext]' - } - } -] -const defaultsPostcss = [ - require('autoprefixer')({ - browsers: ['last 3 versions'] - }) -] - -export function options () { - // Defaults build options - let extraDefaults = {} - if (this.options.build && !Array.isArray(this.options.build.loaders)) extraDefaults.loaders = defaultsLoaders - if (this.options.build && !Array.isArray(this.options.build.postcss)) extraDefaults.postcss = defaultsPostcss - this.options.build = _.defaultsDeep(this.options.build, defaults, extraDefaults) - /* istanbul ignore if */ - if (this.dev && isUrl(this.options.build.publicPath)) { - this.options.build.publicPath = defaults.publicPath - } -} - -export function production () { - // Production, create server-renderer - webpackStats = { - chunks: false, - children: false, - modules: false, - colors: true - } - const serverConfig = getWebpackServerConfig.call(this) - const bundlePath = join(serverConfig.output.path, 'server-bundle.json') - const manifestPath = join(serverConfig.output.path, 'client-manifest.json') - if (fs.existsSync(bundlePath) && fs.existsSync(manifestPath)) { - const bundle = fs.readFileSync(bundlePath, 'utf8') - const manifest = fs.readFileSync(manifestPath, 'utf8') - createRenderer.call(this, JSON.parse(bundle), JSON.parse(manifest)) - addAppTemplate.call(this) - } -} - -export async function build () { - // Avoid calling this method multiple times - if (this._buildDone) { - return this - } - // If building - if (this._building) { - return new Promise((resolve) => { - setTimeout(() => { - resolve(this.build()) - }, 300) - }) - } - this._building = true - // Wait for Nuxt.js to be ready - await this.ready() - // Check if pages dir exists and warn if not - this._nuxtPages = typeof this.createRoutes !== 'function' - if (this._nuxtPages) { - if (!fs.existsSync(join(this.srcDir, 'pages'))) { - if (fs.existsSync(join(this.srcDir, '..', 'pages'))) { - console.error('> No `pages` directory found. Did you mean to run `nuxt` in the parent (`../`) directory?') // eslint-disable-line no-console - } else { - console.error('> Couldn\'t find a `pages` directory. Please create one under the project root') // eslint-disable-line no-console - } - process.exit(1) - } - } - debug(`App root: ${this.srcDir}`) - debug(`Generating ${this.buildDir} files...`) - // Create .nuxt/, .nuxt/components and .nuxt/dist folders - await remove(r(this.buildDir)) - await mkdirp(r(this.buildDir, 'components')) - if (!this.dev) { - await mkdirp(r(this.buildDir, 'dist')) - } - // Generate routes and interpret the template files - await generateRoutesAndFiles.call(this) - // Generate .nuxt/dist/ files - await buildFiles.call(this) - // Flag to set that building is done - this._buildDone = true - return this -} - -async function buildFiles () { - if (this.dev) { - debug('Adding webpack middleware...') - createWebpackMiddleware.call(this) - webpackWatchAndUpdate.call(this) - watchFiles.call(this) - } else { - debug('Building files...') - await webpackRunClient.call(this) - await webpackRunServer.call(this) - addAppTemplate.call(this) - } -} - -function addAppTemplate () { - let templatePath = resolve(this.buildDir, 'dist', 'index.html') - if (fs.existsSync(templatePath)) { - this.appTemplate = _.template(fs.readFileSync(templatePath, 'utf8'), { - interpolate: /{{([\s\S]+?)}}/g - }) - } -} - -async function generateRoutesAndFiles () { - debug('Generating files...') - // -- Templates -- - let templatesFiles = [ - 'App.vue', - 'client.js', - 'index.js', - 'middleware.js', - 'router.js', - 'server.js', - 'utils.js', - 'components/nuxt-error.vue', - 'components/nuxt-loading.vue', - 'components/nuxt-child.js', - 'components/nuxt-link.js', - 'components/nuxt.vue' - ] - const templateVars = { - options: this.options, - uniqBy: _.uniqBy, - isDev: this.dev, - router: { - mode: this.options.router.mode, - base: this.options.router.base, - middleware: this.options.router.middleware, - linkActiveClass: this.options.router.linkActiveClass, - linkExactActiveClass: this.options.router.linkExactActiveClass, - scrollBehavior: this.options.router.scrollBehavior - }, - env: this.options.env, - head: this.options.head, - middleware: fs.existsSync(join(this.srcDir, 'middleware')), - store: this.options.store || fs.existsSync(join(this.srcDir, 'store')), - css: this.options.css, - plugins: this.options.plugins.map((p, i) => { - if (typeof p === 'string') p = { src: p } - p.src = r(this.srcDir, p.src) - return { src: p.src, ssr: (p.ssr !== false), name: `plugin${i}` } - }), - appPath: './App.vue', - layouts: Object.assign({}, this.options.layouts), - loading: (typeof this.options.loading === 'string' ? r(this.srcDir, this.options.loading) : this.options.loading), - transition: this.options.transition, - components: { - ErrorPage: this.options.ErrorPage ? r(this.options.ErrorPage) : null - } - } - - // -- Layouts -- - if (fs.existsSync(resolve(this.srcDir, 'layouts'))) { - const layoutsFiles = await glob('layouts/*.vue', {cwd: this.srcDir}) - layoutsFiles.forEach((file) => { - let name = file.split('/').slice(-1)[0].replace('.vue', '') - if (name === 'error') return - templateVars.layouts[name] = r(this.srcDir, file) - }) - if (layoutsFiles.includes('layouts/error.vue')) { - templateVars.components.ErrorPage = r(this.srcDir, 'layouts/error.vue') - } - } - // If no default layout, create its folder and add the default folder - if (!templateVars.layouts.default) { - await mkdirp(r(this.buildDir, 'layouts')) - templatesFiles.push('layouts/default.vue') - templateVars.layouts.default = r(__dirname, 'app', 'layouts', 'default.vue') - } - - // -- Routes -- - debug('Generating routes...') - // If user defined a custom method to create routes - if (this._nuxtPages) { - // Use nuxt.js createRoutes bases on pages/ - const files = await glob('pages/**/*.vue', {cwd: this.srcDir}) - templateVars.router.routes = createRoutes(files, this.srcDir) - } else { - templateVars.router.routes = this.createRoutes(this.srcDir) - } - // router.extendRoutes method - if (typeof this.options.router.extendRoutes === 'function') { - // let the user extend the routes - this.options.router.extendRoutes.call(this, templateVars.router.routes || [], r) - } - // Routes for generate command - this.routes = flatRoutes(templateVars.router.routes || []) - - // -- Store -- - // Add store if needed - if (this.options.store) { - templatesFiles.push('store.js') - } - - // Resolve template files - const customTemplateFiles = this.options.build.templates.map(t => t.dst || basename(t.src || t)) - templatesFiles = templatesFiles.map(file => { - // Skip if custom file was already provided in build.templates[] - if (customTemplateFiles.indexOf(file) !== -1) { - return - } - // Allow override templates using a file with same name in ${srcDir}/app - const customPath = r(this.srcDir, 'app', file) - const customFileExists = fs.existsSync(customPath) - return { - src: customFileExists ? customPath : r(__dirname, 'app', file), - dst: file, - custom: customFileExists - } - }).filter(i => !!i) - - // -- Custom templates -- - // Add custom template files - templatesFiles = templatesFiles.concat(this.options.build.templates.map(t => { - return Object.assign({ - src: r(this.dir, t.src || t), - dst: t.dst || basename(t.src || t), - custom: true - }, t) - })) - - // Interpret and move template files to .nuxt/ - return Promise.all(templatesFiles.map(async ({ src, dst, options, custom }) => { - // Add template to watchers - this.options.build.watch.push(src) - // Render template to dst - const fileContent = await readFile(src, 'utf8') - const template = _.template(fileContent, { - imports: { - serialize, - hash, - r, - wp - } - }) - const content = template(Object.assign({}, templateVars, { - options: options || {}, - custom, - src, - dst - })) - const path = r(this.buildDir, dst) - // Ensure parent dir exits - await mkdirp(dirname(path)) - // Write file - await writeFile(path, content, 'utf8') - // Fix webpack loop (https://github.com/webpack/watchpack/issues/25#issuecomment-287789288) - const dateFS = Date.now() / 1000 - 30 - return utimes(path, dateFS, dateFS) - })) -} - -function createRoutes (files, srcDir) { - let routes = [] - files.forEach((file) => { - let keys = file.replace(/^pages/, '').replace(/\.vue$/, '').replace(/\/{2,}/g, '/').split('/').slice(1) - let route = { name: '', path: '', component: r(srcDir, file) } - let parent = routes - keys.forEach((key, i) => { - route.name = route.name ? route.name + '-' + key.replace('_', '') : key.replace('_', '') - route.name += (key === '_') ? 'all' : '' - let child = _.find(parent, { name: route.name }) - if (child) { - if (!child.children) { - child.children = [] - } - parent = child.children - route.path = '' - } else { - if (key === 'index' && (i + 1) === keys.length) { - route.path += (i > 0 ? '' : '/') - } else { - route.path += '/' + (key === '_' ? '*' : key.replace('_', ':')) - if (key !== '_' && key.indexOf('_') !== -1) { - route.path += '?' - } - } - } - }) - // Order Routes path - parent.push(route) - parent.sort((a, b) => { - if (!a.path.length || a.path === '/') { return -1 } - if (!b.path.length || b.path === '/') { return 1 } - var res = 0 - var _a = a.path.split('/') - var _b = b.path.split('/') - for (var i = 0; i < _a.length; i++) { - if (res !== 0) { break } - var y = (_a[i].indexOf('*') > -1) ? 2 : (_a[i].indexOf(':') > -1 ? 1 : 0) - var z = (_b[i].indexOf('*') > -1) ? 2 : (_b[i].indexOf(':') > -1 ? 1 : 0) - res = y - z - if (i === _b.length - 1 && res === 0) { - res = 1 - } - } - return res === 0 ? -1 : res - }) - }) - return cleanChildrenRoutes(routes) -} - -function cleanChildrenRoutes (routes, isChild = false) { - let start = -1 - let routesIndex = [] - routes.forEach((route) => { - if (/-index$/.test(route.name) || route.name === 'index') { - // Save indexOf 'index' key in name - let res = route.name.split('-') - let s = res.indexOf('index') - start = (start === -1 || s < start) ? s : start - routesIndex.push(res) - } - }) - routes.forEach((route) => { - route.path = (isChild) ? route.path.replace('/', '') : route.path - if (route.path.indexOf('?') > -1) { - let names = route.name.split('-') - let paths = route.path.split('/') - if (!isChild) { paths.shift() } // clean first / for parents - routesIndex.forEach((r) => { - let i = r.indexOf('index') - start // children names - if (i < paths.length) { - for (var a = 0; a <= i; a++) { - if (a === i) { paths[a] = paths[a].replace('?', '') } - if (a < i && names[a] !== r[a]) { break } - } - } - }) - route.path = (isChild ? '' : '/') + paths.join('/') - } - route.name = route.name.replace(/-index$/, '') - if (route.children) { - if (route.children.find((child) => child.path === '')) { - delete route.name - } - route.children = cleanChildrenRoutes(route.children, true) - } - }) - return routes -} - -function flatRoutes (router, path = '', routes = []) { - router.forEach((r) => { - if (!r.path.includes(':') && !r.path.includes('*')) { - if (r.children) { - flatRoutes(r.children, path + r.path + '/', routes) - } else { - routes.push((r.path === '' && path[path.length - 1] === '/' ? path.slice(0, -1) : path) + r.path) - } - } - }) - return routes -} - -function getWebpackClientConfig () { - return clientWebpackConfig.call(this) -} - -function getWebpackServerConfig () { - return serverWebpackConfig.call(this) -} - -function createWebpackMiddleware () { - const clientConfig = getWebpackClientConfig.call(this) - const host = process.env.HOST || process.env.npm_package_config_nuxt_host || 'localhost' - const port = process.env.PORT || process.env.npm_package_config_nuxt_port || '3000' - - // setup on the fly compilation + hot-reload - clientConfig.entry.app = _.flatten(['webpack-hot-middleware/client?reload=true', clientConfig.entry.app]) - clientConfig.plugins.push( - new webpack.HotModuleReplacementPlugin(), - new webpack.NoEmitOnErrorsPlugin(), - new PostCompilePlugin(stats => { - if (!stats.hasErrors() && !stats.hasWarnings()) { - // We don't use os.host() here because browsers have special behaviour with localhost - // For example chrome allows Geolocation api only to https or localhost origins - let _host = host === '0.0.0.0' ? 'localhost' : host - console.log(`> Open http://${_host}:${port}\n`) // eslint-disable-line no-console - } - }) - ) - const clientCompiler = webpack(clientConfig) - this.clientCompiler = clientCompiler - // Add the middleware to the instance context - this.webpackDevMiddleware = pify(require('webpack-dev-middleware')(clientCompiler, { - publicPath: clientConfig.output.publicPath, - stats: webpackStats, - quiet: true, - noInfo: true, - watchOptions: this.options.watchers.webpack - })) - this.webpackHotMiddleware = pify(require('webpack-hot-middleware')(clientCompiler, { - log: () => {} - })) - clientCompiler.plugin('done', () => { - const fs = this.webpackDevMiddleware.fileSystem - const filePath = join(clientConfig.output.path, 'index.html') - if (fs.existsSync(filePath)) { - const template = fs.readFileSync(filePath, 'utf-8') - this.appTemplate = _.template(template, { - interpolate: /{{([\s\S]+?)}}/g - }) - } - this.watchHandler() - }) -} - -function webpackWatchAndUpdate () { - const MFS = require('memory-fs') // <- dependencies of webpack - const serverFS = new MFS() - const clientFS = this.clientCompiler.outputFileSystem - const serverConfig = getWebpackServerConfig.call(this) - const serverCompiler = webpack(serverConfig) - const bundlePath = join(serverConfig.output.path, 'server-bundle.json') - const manifestPath = join(serverConfig.output.path, 'client-manifest.json') - serverCompiler.outputFileSystem = serverFS - const watchHandler = (err) => { - if (err) throw err - const bundleExists = serverFS.existsSync(bundlePath) - const manifestExists = clientFS.existsSync(manifestPath) - if (bundleExists && manifestExists) { - const bundle = serverFS.readFileSync(bundlePath, 'utf8') - const manifest = clientFS.readFileSync(manifestPath, 'utf8') - createRenderer.call(this, JSON.parse(bundle), JSON.parse(manifest)) - } - } - this.watchHandler = watchHandler - this.webpackServerWatcher = serverCompiler.watch(this.options.watchers.webpack, watchHandler) -} - -function webpackRunClient () { - return new Promise((resolve, reject) => { - const clientConfig = getWebpackClientConfig.call(this) - const clientCompiler = webpack(clientConfig) - clientCompiler.run((err, stats) => { - if (err) return reject(err) - console.log('[nuxt:build:client]\n', stats.toString(webpackStats)) // eslint-disable-line no-console - if (stats.hasErrors()) return reject(new Error('Webpack build exited with errors')) - resolve() - }) - }) -} - -function webpackRunServer () { - return new Promise((resolve, reject) => { - const serverConfig = getWebpackServerConfig.call(this) - const serverCompiler = webpack(serverConfig) - serverCompiler.run((err, stats) => { - if (err) return reject(err) - console.log('[nuxt:build:server]\n', stats.toString(webpackStats)) // eslint-disable-line no-console - if (stats.hasErrors()) return reject(new Error('Webpack build exited with errors')) - const bundlePath = join(serverConfig.output.path, 'server-bundle.json') - const manifestPath = join(serverConfig.output.path, 'client-manifest.json') - readFile(bundlePath, 'utf8') - .then(bundle => { - readFile(manifestPath, 'utf8') - .then(manifest => { - createRenderer.call(this, JSON.parse(bundle), JSON.parse(manifest)) - resolve() - }) - }) - }) - }) -} - -function createRenderer (bundle, manifest) { - // Create bundle renderer to give a fresh context for every request - this.renderer = createBundleRenderer(bundle, Object.assign({ - clientManifest: manifest, - runInNewContext: false, - basedir: this.dir - }, this.options.build.ssr)) - this.renderToString = pify(this.renderer.renderToString) - this.renderToStream = this.renderer.renderToStream -} - -function watchFiles () { - const patterns = [ - r(this.srcDir, 'layouts'), - r(this.srcDir, 'store'), - r(this.srcDir, 'middleware'), - r(this.srcDir, 'layouts/*.vue'), - r(this.srcDir, 'layouts/**/*.vue') - ] - if (this._nuxtPages) { - patterns.push(r(this.srcDir, 'pages')) - patterns.push(r(this.srcDir, 'pages/*.vue')) - patterns.push(r(this.srcDir, 'pages/**/*.vue')) - } - const options = Object.assign({}, this.options.watchers.chokidar, { - ignoreInitial: true - }) - /* istanbul ignore next */ - const refreshFiles = _.debounce(async () => { - await generateRoutesAndFiles.call(this) - }, 200) - // Watch for internals - this.filesWatcher = chokidar.watch(patterns, options) - .on('add', refreshFiles) - .on('unlink', refreshFiles) - // Watch for custom provided files - this.customFilesWatcher = chokidar.watch(_.uniq(this.options.build.watch), options) - .on('change', refreshFiles) -} diff --git a/lib/builder.js b/lib/builder.js new file mode 100644 index 0000000000..a920ccf32c --- /dev/null +++ b/lib/builder.js @@ -0,0 +1,601 @@ +import _ from 'lodash' +import chokidar from 'chokidar' +import fs from 'fs-extra' +import hash from 'hash-sum' +import pify from 'pify' +import webpack from 'webpack' +import PostCompilePlugin from 'post-compile-webpack-plugin' +import serialize from 'serialize-javascript' +import { createBundleRenderer } from 'vue-server-renderer' +import { join, resolve, basename, dirname } from 'path' +import { isUrl, r, wp } from './utils' +import clientWebpackConfig from './webpack/client.config.js' +import serverWebpackConfig from './webpack/server.config.js' +import defaults from './defaults' +import Tapable from 'tapable' + +const debug = require('debug')('nuxt:build') +debug.color = 2 // Force green color + +const remove = pify(fs.remove) +const readFile = pify(fs.readFile) +const utimes = pify(fs.utimes) +const writeFile = pify(fs.writeFile) +const mkdirp = pify(fs.mkdirp) +const glob = pify(require('glob')) + +export default class Builder extends Tapable { + constructor (nuxt) { + super() + this.nuxt = nuxt + this.options = nuxt.options + + // Add extra loaders only if they are not already provided + let extraDefaults = {} + if (this.options.build && !Array.isArray(this.options.build.loaders)) { + extraDefaults.loaders = defaultsLoaders + } + if (this.options.build && !Array.isArray(this.options.build.postcss)) { + extraDefaults.postcss = defaultsPostcss + } + this.options.build = _.defaultsDeep(this.options.build, extraDefaults) + /* istanbul ignore if */ + if (this.options.dev && isUrl(this.options.build.publicPath)) { + this.options.build.publicPath = defaults.publicPath.publicPath + } + + // Stats + this.webpackStats = { + chunks: false, + children: false, + modules: false, + colors: true + } + + this._buildStatus = STATUS.INITIAL + } + + ready () { + if (this.options.dev) { + // Don't await for builder in dev (faster startup) + this.build().catch(err => { + console.error(err) + process.exit(1) + }) + return Promise.resolve(this) + } else { + return this.production() + } + } + + async build () { + // Avoid calling this method multiple times + if (this._buildStatus === STATUS.BUILD_DONE) { + return this + } + // If building + if (this._buildStatus === STATUS.BUILDING) { + return new Promise((resolve) => { + setTimeout(() => { + resolve(this.build()) + }, 300) + }) + } + this._buildStatus = STATUS.BUILDING + // Check if pages dir exists and warn if not + this._nuxtPages = typeof this.options.build.createRoutes !== 'function' + + if (this._nuxtPages) { + if (!fs.existsSync(join(this.options.srcDir, 'pages'))) { + if (fs.existsSync(join(this.options.srcDir, '..', 'pages'))) { + console.error('> No `pages` directory found. Did you mean to run `nuxt` in the parent (`../`) directory?') // eslint-disable-line no-console + } else { + console.error('> Couldn\'t find a `pages` directory. Please create one under the project root') // eslint-disable-line no-console + } + process.exit(1) + } + } + debug(`App root: ${this.options.srcDir}`) + debug(`Generating ${this.options.buildDir} files...`) + + // Create .nuxt/, .nuxt/components and .nuxt/dist folders + await remove(r(this.options.buildDir)) + await mkdirp(r(this.options.buildDir, 'components')) + if (!this.options.dev) { + await mkdirp(r(this.options.buildDir, 'dist')) + } + // Generate routes and interpret the template files + await this.generateRoutesAndFiles() + // Generate .nuxt/dist/ files + await this.buildFiles() + // Flag to set that building is done + this._buildStatus = STATUS.BUILD_DONE + return this + } + + production () { + // Production, create server-renderer + const serverConfig = this.getWebpackServerConfig() + const bundlePath = join(serverConfig.output.path, 'server-bundle.json') + const manifestPath = join(serverConfig.output.path, 'client-manifest.json') + if (fs.existsSync(bundlePath) && fs.existsSync(manifestPath)) { + const bundle = fs.readFileSync(bundlePath, 'utf8') + const manifest = fs.readFileSync(manifestPath, 'utf8') + this.createRenderer(JSON.parse(bundle), JSON.parse(manifest)) + this.addAppTemplate() + } + return this + } + + addAppTemplate () { + let templatePath = resolve(this.options.buildDir, 'dist', 'index.html') + if (fs.existsSync(templatePath)) { + this.appTemplate = _.template(fs.readFileSync(templatePath, 'utf8'), { + interpolate: /{{([\s\S]+?)}}/g + }) + } + } + + async generateRoutesAndFiles () { + debug('Generating files...') + // -- Templates -- + let templatesFiles = [ + 'App.vue', + 'client.js', + 'index.js', + 'middleware.js', + 'router.js', + 'server.js', + 'utils.js', + 'components/nuxt-error.vue', + 'components/nuxt-loading.vue', + 'components/nuxt-child.js', + 'components/nuxt-link.js', + 'components/nuxt.vue' + ] + const templateVars = { + options: this.options, + uniqBy: _.uniqBy, + isDev: this.options.dev, + router: { + mode: this.options.router.mode, + base: this.options.router.base, + middleware: this.options.router.middleware, + linkActiveClass: this.options.router.linkActiveClass, + linkExactActiveClass: this.options.router.linkExactActiveClass, + scrollBehavior: this.options.router.scrollBehavior + }, + env: this.options.env, + head: this.options.head, + middleware: fs.existsSync(join(this.options.srcDir, 'middleware')), + store: this.options.store || fs.existsSync(join(this.options.srcDir, 'store')), + css: this.options.css, + plugins: this.options.plugins.map((p, i) => { + if (typeof p === 'string') p = { src: p } + p.src = r(this.options.srcDir, p.src) + return { src: p.src, ssr: (p.ssr !== false), name: `plugin${i}` } + }), + appPath: './App.vue', + layouts: Object.assign({}, this.options.layouts), + loading: (typeof this.options.loading === 'string' ? r(this.options.srcDir, this.options.loading) : this.options.loading), + transition: this.options.transition, + components: { + ErrorPage: this.options.ErrorPage ? r(this.options.ErrorPage) : null + } + } + + // -- Layouts -- + if (fs.existsSync(resolve(this.options.srcDir, 'layouts'))) { + const layoutsFiles = await glob('layouts/*.vue', { cwd: this.options.srcDir }) + layoutsFiles.forEach((file) => { + let name = file.split('/').slice(-1)[0].replace('.vue', '') + if (name === 'error') return + templateVars.layouts[name] = r(this.options.srcDir, file) + }) + if (layoutsFiles.includes('layouts/error.vue')) { + templateVars.components.ErrorPage = r(this.options.srcDir, 'layouts/error.vue') + } + } + // If no default layout, create its folder and add the default folder + if (!templateVars.layouts.default) { + await mkdirp(r(this.options.buildDir, 'layouts')) + templatesFiles.push('layouts/default.vue') + templateVars.layouts.default = r(__dirname, 'app', 'layouts', 'default.vue') + } + + // -- Routes -- + debug('Generating routes...') + // If user defined a custom method to create routes + if (this._nuxtPages) { + // Use nuxt.js createRoutes bases on pages/ + const files = await glob('pages/**/*.vue', { cwd: this.options.srcDir }) + templateVars.router.routes = this.createRoutes(files, this.options.srcDir) + } else { + templateVars.router.routes = this.options.build.createRoutes(this.options.srcDir) + } + // router.extendRoutes method + if (typeof this.options.router.extendRoutes === 'function') { + // let the user extend the routes + this.options.router.extendRoutes(this, templateVars.router.routes || [], r) + } + // Routes for generate command + this.routes = this.flatRoutes(templateVars.router.routes || []) + + // -- Store -- + // Add store if needed + if (this.options.store) { + templatesFiles.push('store.js') + } + + // Resolve template files + const customTemplateFiles = this.options.build.templates.map(t => t.dst || basename(t.src || t)) + + templatesFiles = templatesFiles.map(file => { + // Skip if custom file was already provided in build.templates[] + if (customTemplateFiles.indexOf(file) !== -1) { + return + } + // Allow override templates using a file with same name in ${srcDir}/app + const customPath = r(this.options.srcDir, 'app', file) + const customFileExists = fs.existsSync(customPath) + + return { + src: customFileExists ? customPath : r(__dirname, 'app', file), + dst: file, + custom: customFileExists + } + }).filter(i => !!i) + + // -- Custom templates -- + // Add custom template files + templatesFiles = templatesFiles.concat(this.options.build.templates.map(t => { + return Object.assign({ + src: r(this.options.srcDir, t.src || t), + dst: t.dst || basename(t.src || t), + custom: true + }, t) + })) + + // Interpret and move template files to .nuxt/ + return Promise.all(templatesFiles.map(async ({ src, dst, options, custom }) => { + // Add template to watchers + this.options.build.watch.push(src) + // Render template to dst + const fileContent = await readFile(src, 'utf8') + const template = _.template(fileContent, { + imports: { + serialize, + hash, + r, + wp + } + }) + const content = template(Object.assign({}, templateVars, { + options: options || {}, + custom, + src, + dst + })) + const path = r(this.options.buildDir, dst) + // Ensure parent dir exits + await mkdirp(dirname(path)) + // Write file + await writeFile(path, content, 'utf8') + // Fix webpack loop (https://github.com/webpack/watchpack/issues/25#issuecomment-287789288) + const dateFS = Date.now() / 1000 - 30 + return utimes(path, dateFS, dateFS) + })) + } + + async buildFiles () { + if (this.options.dev) { + debug('Adding webpack middleware...') + this.createWebpackMiddleware() + this.webpackWatchAndUpdate() + this.watchFiles() + } else { + debug('Building files...') + await this.webpackRunClient() + await this.webpackRunServer() + this.addAppTemplate() + } + } + + createRoutes (files, srcDir) { + let routes = [] + files.forEach((file) => { + let keys = file.replace(/^pages/, '').replace(/\.vue$/, '').replace(/\/{2,}/g, '/').split('/').slice(1) + let route = { name: '', path: '', component: r(srcDir, file) } + let parent = routes + keys.forEach((key, i) => { + route.name = route.name ? route.name + '-' + key.replace('_', '') : key.replace('_', '') + route.name += (key === '_') ? 'all' : '' + let child = _.find(parent, { name: route.name }) + if (child) { + if (!child.children) { + child.children = [] + } + parent = child.children + route.path = '' + } else { + if (key === 'index' && (i + 1) === keys.length) { + route.path += (i > 0 ? '' : '/') + } else { + route.path += '/' + (key === '_' ? '*' : key.replace('_', ':')) + if (key !== '_' && key.indexOf('_') !== -1) { + route.path += '?' + } + } + } + }) + // Order Routes path + parent.push(route) + parent.sort((a, b) => { + if (!a.path.length || a.path === '/') { + return -1 + } + if (!b.path.length || b.path === '/') { + return 1 + } + let res = 0 + let _a = a.path.split('/') + let _b = b.path.split('/') + for (let i = 0; i < _a.length; i++) { + if (res !== 0) { + break + } + let y = (_a[i].indexOf('*') > -1) ? 2 : (_a[i].indexOf(':') > -1 ? 1 : 0) + let z = (_b[i].indexOf('*') > -1) ? 2 : (_b[i].indexOf(':') > -1 ? 1 : 0) + res = y - z + if (i === _b.length - 1 && res === 0) { + res = 1 + } + } + return res === 0 ? -1 : res + }) + }) + return this.cleanChildrenRoutes(routes) + } + + cleanChildrenRoutes (routes, isChild = false) { + let start = -1 + let routesIndex = [] + routes.forEach((route) => { + if (/-index$/.test(route.name) || route.name === 'index') { + // Save indexOf 'index' key in name + let res = route.name.split('-') + let s = res.indexOf('index') + start = (start === -1 || s < start) ? s : start + routesIndex.push(res) + } + }) + routes.forEach((route) => { + route.path = (isChild) ? route.path.replace('/', '') : route.path + if (route.path.indexOf('?') > -1) { + let names = route.name.split('-') + let paths = route.path.split('/') + if (!isChild) { + paths.shift() + } // clean first / for parents + routesIndex.forEach((r) => { + let i = r.indexOf('index') - start // children names + if (i < paths.length) { + for (let a = 0; a <= i; a++) { + if (a === i) { + paths[a] = paths[a].replace('?', '') + } + if (a < i && names[a] !== r[a]) { + break + } + } + } + }) + route.path = (isChild ? '' : '/') + paths.join('/') + } + route.name = route.name.replace(/-index$/, '') + if (route.children) { + if (route.children.find((child) => child.path === '')) { + delete route.name + } + route.children = this.cleanChildrenRoutes(route.children, true) + } + }) + return routes + } + + flatRoutes (router, path = '', routes = []) { + router.forEach((r) => { + if (!r.path.includes(':') && !r.path.includes('*')) { + if (r.children) { + flatRoutes(r.children, path + r.path + '/', routes) + } else { + routes.push((r.path === '' && path[path.length - 1] === '/' ? path.slice(0, -1) : path) + r.path) + } + } + }) + return routes + } + + getWebpackClientConfig () { + return clientWebpackConfig.call(this) + } + + getWebpackServerConfig () { + return serverWebpackConfig.call(this) + } + + createWebpackMiddleware () { + const clientConfig = this.getWebpackClientConfig() + const host = process.env.HOST || process.env.npm_package_config_nuxt_host || 'localhost' + const port = process.env.PORT || process.env.npm_package_config_nuxt_port || '3000' + + // setup on the fly compilation + hot-reload + clientConfig.entry.app = _.flatten(['webpack-hot-middleware/client?reload=true', clientConfig.entry.app]) + clientConfig.plugins.push( + new webpack.HotModuleReplacementPlugin(), + new webpack.NoEmitOnErrorsPlugin(), + new PostCompilePlugin(stats => { + if (!stats.hasErrors() && !stats.hasWarnings()) { + // We don't use os.host() here because browsers have special behaviour with localhost + // For example chrome allows Geolocation api only to https or localhost origins + let _host = host === '0.0.0.0' ? 'localhost' : host + console.log(`> Open http://${_host}:${port}\n`) // eslint-disable-line no-console + } + }) + ) + const clientCompiler = webpack(clientConfig) + this.clientCompiler = clientCompiler + // Add the middleware to the instance context + this.webpackDevMiddleware = pify(require('webpack-dev-middleware')(clientCompiler, { + publicPath: clientConfig.output.publicPath, + stats: this.webpackStats, + quiet: true, + noInfo: true, + watchOptions: this.options.watchers.webpack + })) + this.webpackHotMiddleware = pify(require('webpack-hot-middleware')(clientCompiler, { + log: () => { + } + })) + clientCompiler.plugin('done', () => { + const fs = this.webpackDevMiddleware.fileSystem + const filePath = join(clientConfig.output.path, 'index.html') + if (fs.existsSync(filePath)) { + const template = fs.readFileSync(filePath, 'utf-8') + this.appTemplate = _.template(template, { + interpolate: /{{([\s\S]+?)}}/g + }) + } + this.watchHandler() + }) + } + + webpackWatchAndUpdate () { + const MFS = require('memory-fs') // <- dependencies of webpack + const serverFS = new MFS() + const clientFS = this.clientCompiler.outputFileSystem + const serverConfig = this.getWebpackServerConfig() + const serverCompiler = webpack(serverConfig) + const bundlePath = join(serverConfig.output.path, 'server-bundle.json') + const manifestPath = join(serverConfig.output.path, 'client-manifest.json') + serverCompiler.outputFileSystem = serverFS + const watchHandler = (err) => { + if (err) throw err + const bundleExists = serverFS.existsSync(bundlePath) + const manifestExists = clientFS.existsSync(manifestPath) + if (bundleExists && manifestExists) { + const bundle = serverFS.readFileSync(bundlePath, 'utf8') + const manifest = clientFS.readFileSync(manifestPath, 'utf8') + this.createRenderer(JSON.parse(bundle), JSON.parse(manifest)) + } + } + this.watchHandler = watchHandler + this.webpackServerWatcher = serverCompiler.watch(this.options.watchers.webpack, watchHandler) + } + + webpackRunClient () { + return new Promise((resolve, reject) => { + const clientConfig = this.getWebpackClientConfig() + const clientCompiler = webpack(clientConfig) + clientCompiler.run((err, stats) => { + if (err) return reject(err) + console.log('[nuxt:build:client]\n', stats.toString(this.webpackStats)) // eslint-disable-line no-console + if (stats.hasErrors()) { + return reject(new Error('Webpack build exited with errors')) + } + resolve() + }) + }) + } + + webpackRunServer () { + return new Promise((resolve, reject) => { + const serverConfig = this.getWebpackServerConfig() + const serverCompiler = webpack(serverConfig) + serverCompiler.run((err, stats) => { + if (err) return reject(err) + console.log('[nuxt:build:server]\n', stats.toString(this.webpackStats)) // eslint-disable-line no-console + if (stats.hasErrors()) return reject(new Error('Webpack build exited with errors')) + const bundlePath = join(serverConfig.output.path, 'server-bundle.json') + const manifestPath = join(serverConfig.output.path, 'client-manifest.json') + readFile(bundlePath, 'utf8') + .then(bundle => { + readFile(manifestPath, 'utf8') + .then(manifest => { + this.createRenderer(JSON.parse(bundle), JSON.parse(manifest)) + resolve() + }) + }) + }) + }) + } + + createRenderer (bundle, manifest) { + // Create bundle renderer to give a fresh context for every request + this.renderer = createBundleRenderer(bundle, Object.assign({ + clientManifest: manifest, + runInNewContext: false, + basedir: this.options.rootDir + }, this.options.build.ssr)) + this.renderToString = pify(this.renderer.renderToString) + this.renderToStream = this.renderer.renderToStream + } + + watchFiles () { + const patterns = [ + r(this.options.srcDir, 'layouts'), + r(this.options.srcDir, 'store'), + r(this.options.srcDir, 'middleware'), + r(this.options.srcDir, 'layouts/*.vue'), + r(this.options.srcDir, 'layouts/**/*.vue') + ] + if (this._nuxtPages) { + patterns.push(r(this.options.srcDir, 'pages')) + patterns.push(r(this.options.srcDir, 'pages/*.vue')) + patterns.push(r(this.options.srcDir, 'pages/**/*.vue')) + } + const options = Object.assign({}, this.options.watchers.chokidar, { + ignoreInitial: true + }) + /* istanbul ignore next */ + const refreshFiles = _.debounce(this.generateRoutesAndFiles, 200) + // Watch for internals + this.filesWatcher = chokidar.watch(patterns, options) + .on('add', refreshFiles) + .on('unlink', refreshFiles) + // Watch for custom provided files + this.customFilesWatcher = chokidar.watch(_.uniq(this.options.build.watch), options) + .on('change', refreshFiles) + } +} + +const defaultsLoaders = [ + { + test: /\.(png|jpe?g|gif|svg)$/, + loader: 'url-loader', + query: { + limit: 1000, // 1KO + name: 'img/[name].[hash:7].[ext]' + } + }, + { + test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, + loader: 'url-loader', + query: { + limit: 1000, // 1 KO + name: 'fonts/[name].[hash:7].[ext]' + } + } +] + +const defaultsPostcss = [ + require('autoprefixer')({ + browsers: ['last 3 versions'] + }) +] + +const STATUS = { + INITIAL: 1, + BUILD_DONE: 2, + BUILDING: 3 +} diff --git a/lib/defaults.js b/lib/defaults.js new file mode 100755 index 0000000000..d8d20df8a7 --- /dev/null +++ b/lib/defaults.js @@ -0,0 +1,95 @@ +export default { + dev: (process.env.NODE_ENV !== 'production'), + buildDir: '.nuxt', + build: { + analyze: false, + extractCSS: false, + publicPath: '/_nuxt/', + filenames: { + css: 'common.[chunkhash].css', + manifest: 'manifest.[hash].js', + vendor: 'vendor.bundle.[chunkhash].js', + app: 'nuxt.bundle.[chunkhash].js' + }, + vendor: [], + loaders: [], + plugins: [], + babel: {}, + postcss: [], + templates: [], + watch: [] + }, + generate: { + dir: 'dist', + routes: [], + interval: 0, + minify: { + collapseBooleanAttributes: true, + collapseWhitespace: true, + decodeEntities: true, + minifyCSS: true, + minifyJS: true, + processConditionalComments: true, + removeAttributeQuotes: false, + removeComments: false, + removeEmptyAttributes: true, + removeOptionalTags: true, + removeRedundantAttributes: true, + removeScriptTypeAttributes: false, + removeStyleLinkTypeAttributes: false, + removeTagWhitespace: false, + sortAttributes: true, + sortClassName: true, + trimCustomFragments: true, + useShortDoctype: true + } + }, + env: {}, + head: { + meta: [], + link: [], + style: [], + script: [] + }, + plugins: [], + css: [], + modules: [], + layouts: {}, + serverMiddleware: [], + ErrorPage: null, + loading: { + color: 'black', + failedColor: 'red', + height: '2px', + duration: 5000 + }, + transition: { + name: 'page', + mode: 'out-in' + }, + router: { + mode: 'history', + base: '/', + middleware: [], + linkActiveClass: 'nuxt-link-active', + linkExactActiveClass: 'nuxt-link-exact-active', + extendRoutes: null, + scrollBehavior: null + }, + render: { + http2: { + push: false + }, + static: {}, + gzip: { + threshold: 0 + }, + etag: { + weak: true // Faster for responses > 5KB + } + }, + watchers: { + webpack: {}, + chokidar: {} + } +} diff --git a/lib/generate.js b/lib/generate.js index 7525cb843d..ccc017cd56 100644 --- a/lib/generate.js +++ b/lib/generate.js @@ -1,11 +1,11 @@ -'use strict' - import fs from 'fs-extra' import pify from 'pify' import _ from 'lodash' import { resolve, join, dirname, sep } from 'path' import { isUrl, promisifyRoute, waitFor } from './utils' import { minify } from 'html-minifier' +import Tapable from 'tapable' + const debug = require('debug')('nuxt:generate') const copy = pify(fs.copy) const remove = pify(fs.remove) @@ -38,124 +38,136 @@ const defaults = { } } -export default async function () { - const s = Date.now() - let errors = [] - /* - ** Wait for modules to be initialized - */ - await this.ready() - /* - ** Set variables - */ - this.options.generate = _.defaultsDeep(this.options.generate, defaults) - var srcStaticPath = resolve(this.srcDir, 'static') - var srcBuiltPath = resolve(this.buildDir, 'dist') - var distPath = resolve(this.dir, this.options.generate.dir) - var distNuxtPath = join(distPath, (isUrl(this.options.build.publicPath) ? '' : this.options.build.publicPath)) - /* - ** Launch build process - */ - await this.build() - /* - ** Clean destination folder - */ - try { - await remove(distPath) - debug('Destination folder cleaned') - } catch (e) {} - /* - ** Copy static and built files - */ - if (fs.existsSync(srcStaticPath)) { - await copy(srcStaticPath, distPath) +export default class Generator extends Tapable { + constructor (nuxt) { + super() + this.nuxt = nuxt + this.options = nuxt.options } - await copy(srcBuiltPath, distNuxtPath) - debug('Static & build files copied') - if (this.options.router.mode !== 'hash') { - // Resolve config.generate.routes promises before generating the routes + + async generate () { + const s = Date.now() + let errors = [] + /* + ** Wait for modules to be initialized + */ + await this.ready() + /* + ** Set variables + */ + this.options.generate = _.defaultsDeep(this.options.generate, defaults) + let srcStaticPath = resolve(this.options.srcDir, 'static') + let srcBuiltPath = resolve(this.buildDir, 'dist') + let distPath = resolve(this.options.rootDir, this.options.generate.dir) + let distNuxtPath = join(distPath, (isUrl(this.options.build.publicPath) ? '' : this.options.build.publicPath)) + /* + ** Launch build process + */ + await this.build() + /* + ** Clean destination folder + */ try { - var generateRoutes = await promisifyRoute(this.options.generate.routes || []) + await remove(distPath) + debug('Destination folder cleaned') } catch (e) { - console.error('Could not resolve routes') // eslint-disable-line no-console - console.error(e) // eslint-disable-line no-console - process.exit(1) - throw e // eslint-disable-line no-unreachable + } + /* + ** Copy static and built files + */ + if (fs.existsSync(srcStaticPath)) { + await copy(srcStaticPath, distPath) + } + await copy(srcBuiltPath, distNuxtPath) + debug('Static & build files copied') + if (this.options.router.mode !== 'hash') { + // Resolve config.generate.routes promises before generating the routes + try { + let generateRoutes = await promisifyRoute(this.options.generate.routes || []) + } catch (e) { + console.error('Could not resolve routes') // eslint-disable-line no-console + console.error(e) // eslint-disable-line no-console + process.exit(1) + throw e // eslint-disable-line no-unreachable + } + } + function decorateWithPayloads (routes) { + let routeMap = {} + // Fill routeMap for known routes + routes.forEach((route) => { + routeMap[route] = { + route, + payload: null + } + }) + // Fill routeMap with given generate.routes + generateRoutes.forEach((route) => { + // route is either a string or like {route : "/my_route/1"} + const path = _.isString(route) ? route : route.route + routeMap[path] = { + route: path, + payload: route.payload || null + } + }) + return _.values(routeMap) + } + + /* + ** Generate only index.html for router.mode = 'hash' + */ + let routes = (this.options.router.mode === 'hash') ? ['/'] : this.routes + routes = decorateWithPayloads(routes) + + while (routes.length) { + let n = 0 + await Promise.all(routes.splice(0, 500).map(async ({ route, payload }) => { + await waitFor(n++ * this.options.generate.interval) + let html + try { + const res = await this.renderRoute(route, { _generate: true, payload }) + html = res.html + if (res.error) { + errors.push({ type: 'handled', route, error: res.error }) + } + } catch (err) { + /* istanbul ignore next */ + return errors.push({ type: 'unhandled', route, error: err }) + } + if (this.options.generate.minify) { + try { + html = minify(html, this.options.generate.minify) + } catch (err) /* istanbul ignore next */ { + const minifyErr = new Error(`HTML minification failed. Make sure the route generates valid HTML. Failed HTML:\n ${html}`) + errors.push({ type: 'unhandled', route, error: minifyErr }) + } + } + let path = join(route, sep, 'index.html') // /about -> /about/index.html + debug('Generate file: ' + path) + path = join(distPath, path) + // Make sure the sub folders are created + await mkdirp(dirname(path)) + await writeFile(path, html, 'utf8') + })) + } + // Add .nojekyll file to let Github Pages add the _nuxt/ folder + // https://help.github.com/articles/files-that-start-with-an-underscore-are-missing/ + const nojekyllPath = resolve(distPath, '.nojekyll') + writeFile(nojekyllPath, '') + const duration = Math.round((Date.now() - s) / 100) / 10 + debug(`HTML Files generated in ${duration}s`) + + if (errors.length) { + const report = errors.map(({ type, route, error }) => { + /* istanbul ignore if */ + if (type === 'unhandled') { + return `Route: '${route}'\n${error.stack}` + } else { + return `Route: '${route}' thrown an error: \n` + JSON.stringify(error) + } + }) + console.error('==== Error report ==== \n' + report.join('\n\n')) // eslint-disable-line no-console } } - function decorateWithPayloads (routes) { - let routeMap = {} - // Fill routeMap for known routes - routes.forEach((route) => { - routeMap[route] = { - route, - payload: null - } - }) - // Fill routeMap with given generate.routes - generateRoutes.forEach((route) => { - // route is either a string or like {route : "/my_route/1"} - const path = _.isString(route) ? route : route.route - routeMap[path] = { - route: path, - payload: route.payload || null - } - }) - return _.values(routeMap) - } - /* - ** Generate only index.html for router.mode = 'hash' - */ - let routes = (this.options.router.mode === 'hash') ? ['/'] : this.routes - routes = decorateWithPayloads(routes) - while (routes.length) { - let n = 0 - await Promise.all(routes.splice(0, 500).map(async ({route, payload}) => { - await waitFor(n++ * this.options.generate.interval) - let html - try { - const res = await this.renderRoute(route, { _generate: true, payload }) - html = res.html - if (res.error) { - errors.push({ type: 'handled', route, error: res.error }) - } - } catch (err) { - /* istanbul ignore next */ - return errors.push({ type: 'unhandled', route, error: err }) - } - if (this.options.generate.minify) { - try { - html = minify(html, this.options.generate.minify) - } catch (err) /* istanbul ignore next */ { - const minifyErr = new Error(`HTML minification failed. Make sure the route generates valid HTML. Failed HTML:\n ${html}`) - errors.push({ type: 'unhandled', route, error: minifyErr }) - } - } - let path = join(route, sep, 'index.html') // /about -> /about/index.html - debug('Generate file: ' + path) - path = join(distPath, path) - // Make sure the sub folders are created - await mkdirp(dirname(path)) - await writeFile(path, html, 'utf8') - })) - } - // Add .nojekyll file to let Github Pages add the _nuxt/ folder - // https://help.github.com/articles/files-that-start-with-an-underscore-are-missing/ - const nojekyllPath = resolve(distPath, '.nojekyll') - writeFile(nojekyllPath, '') - const duration = Math.round((Date.now() - s) / 100) / 10 - debug(`HTML Files generated in ${duration}s`) - - if (errors.length) { - const report = errors.map(({ type, route, error }) => { - /* istanbul ignore if */ - if (type === 'unhandled') { - return `Route: '${route}'\n${error.stack}` - } else { - return `Route: '${route}' thrown an error: \n` + JSON.stringify(error) - } - }) - console.error('==== Error report ==== \n' + report.join('\n\n')) // eslint-disable-line no-console - } } + diff --git a/lib/module.js b/lib/module-container.js similarity index 94% rename from lib/module.js rename to lib/module-container.js index eed166f5fa..7136af1466 100755 --- a/lib/module.js +++ b/lib/module-container.js @@ -1,25 +1,23 @@ -'use strict' - import path from 'path' import fs from 'fs' import { uniq } from 'lodash' import hash from 'hash-sum' import { chainFn, sequence } from './utils' +import Tapable from 'tapable' const debug = require('debug')('nuxt:module') -class Module { +export default class ModuleContainer extends Tapable { constructor (nuxt) { + super() this.nuxt = nuxt this.options = nuxt.options this.requiredModules = [] - this.initing = this.ready() } async ready () { - if (this.initing) { - await this.initing - return this + if (this._ready) { + return this._ready } // Install all modules in sequence await sequence(this.options.modules, this.addModule.bind(this)) @@ -61,10 +59,10 @@ class Module { } addPlugin (template) { - const {dst} = this.addTemplate(template) + const { dst } = this.addTemplate(template) // Add to nuxt plugins this.options.plugins.unshift({ - src: path.join(this.nuxt.buildDir, dst), + src: path.join(this.options.buildDir, dst), ssr: template.ssr }) } @@ -159,5 +157,3 @@ class Module { }) } } - -export default Module diff --git a/lib/nuxt.js b/lib/nuxt.js index a7373a8cc6..ed0d35398a 100644 --- a/lib/nuxt.js +++ b/lib/nuxt.js @@ -1,150 +1,104 @@ -'use strict' - import _ from 'lodash' import compression from 'compression' import fs from 'fs-extra' import pify from 'pify' import Server from './server' -import Module from './module' -import * as build from './build' -import * as render from './render' -import generate from './generate' +import ModuleContainer from './module-container' +import Builder from './builder' +import Renderer from './renderer' +import Generate from './generate' import serveStatic from 'serve-static' import { resolve, join } from 'path' -import * as utils from './utils' +import defaults from './defaults' +import Tapable from 'tapable' -class Nuxt { +export default class Nuxt extends Tapable { constructor (options = {}) { - const defaults = { - dev: (process.env.NODE_ENV !== 'production'), - buildDir: '.nuxt', - env: {}, - head: { - meta: [], - link: [], - style: [], - script: [] - }, - plugins: [], - css: [], - modules: [], - layouts: {}, - serverMiddleware: [], - ErrorPage: null, - loading: { - color: 'black', - failedColor: 'red', - height: '2px', - duration: 5000 - }, - transition: { - name: 'page', - mode: 'out-in' - }, - router: { - mode: 'history', - base: '/', - middleware: [], - linkActiveClass: 'nuxt-link-active', - linkExactActiveClass: 'nuxt-link-exact-active', - extendRoutes: null, - scrollBehavior: null - }, - render: { - http2: { - push: false - }, - static: {}, - gzip: { - threshold: 0 - }, - etag: { - weak: true // Faster for responses > 5KB - } - }, - watchers: { - webpack: {}, - chokidar: {} - } + super() + + // Normalize options + if (options.loading === true) { + delete options.loading + } + if (options.router && typeof options.router.middleware === 'string') { + options.router.middleware = [options.router.middleware] } - // Sanitization - if (options.loading === true) delete options.loading - if (options.router && typeof options.router.middleware === 'string') options.router.middleware = [options.router.middleware] if (options.router && typeof options.router.base === 'string') { this._routerBaseSpecified = true } - if (typeof options.transition === 'string') options.transition = {name: options.transition} + if (typeof options.transition === 'string') { + options.transition = { name: options.transition } + } + + // Apply defaults this.options = _.defaultsDeep(options, defaults) - // Ready variable - this._ready = false - // Env variables - this.dev = this.options.dev - // Explicit srcDir, rootDir and buildDir - this.dir = (typeof options.rootDir === 'string' && options.rootDir ? options.rootDir : process.cwd()) - this.srcDir = (typeof options.srcDir === 'string' && options.srcDir ? resolve(this.dir, options.srcDir) : this.dir) - this.buildDir = join(this.dir, options.buildDir) - options.rootDir = this.dir - options.srcDir = this.srcDir - options.buildDir = this.buildDir - // If store defined, update store options to true - if (fs.existsSync(join(this.srcDir, 'store'))) { - this.options.store = true - } - // If app.html is defined, set the template path to the user template - this.options.appTemplatePath = resolve(__dirname, 'views/app.template.html') - if (fs.existsSync(join(this.srcDir, 'app.html'))) { - this.options.appTemplatePath = join(this.srcDir, 'app.html') - } - // renderer used by Vue.js (via createBundleRenderer) - this.renderer = null - // For serving static/ files to / - this.serveStatic = pify(serveStatic(resolve(this.srcDir, 'static'), this.options.render.static)) - // For serving .nuxt/dist/ files (only when build.publicPath is not an URL) - this.serveStaticNuxt = pify(serveStatic(resolve(this.buildDir, 'dist'), { - maxAge: (this.dev ? 0 : '1y') // 1 year in production - })) - // gzip middleware for production - if (!this.dev && this.options.render.gzip) { - this.gzipMiddleware = pify(compression(this.options.render.gzip)) - } - // Add this.Server Class + + // Resolve dirs + this.options.rootDir = (typeof options.rootDir === 'string' && options.rootDir ? options.rootDir : process.cwd()) + this.options.srcDir = (typeof options.srcDir === 'string' && options.srcDir ? resolve(options.rootDir, options.srcDir) : this.options.rootDir) + this.options.buildDir = join(this.options.rootDir, options.buildDir) + this.Server = Server - // Add this.build - build.options.call(this) // Add build options - this.build = build.build.bind(this) + this.componentTasks() + + // Create instance of core components + this.builder = new Builder(this) + this.renderer = new Renderer(this) + this.generate = new Generate(this) + this.moduleContainer = new ModuleContainer(this) + + // Backward compatibility + this.render = this.renderer.render.bind(this.renderer) + this.renderRoute = this.renderer.renderRoute.bind(this.renderer) + this.renderAndGetWindow = this.renderer.renderAndGetWindow.bind(this.renderer) + this.build = this.ready.bind(this) + this.dir = options.rootDir + this.srcDir = options.srcDir + this.buildDir = options.buildDir + + // Wait for all core components be ready + this._ready = this.ready().catch(console.error) + } + + componentTasks () { + // TODO: This task should move into their own components instead + // Error template this.errorTemplate = _.template(fs.readFileSync(resolve(__dirname, 'views', 'error.html'), 'utf8'), { interpolate: /{{([\s\S]+?)}}/g }) - // Add this.render and this.renderRoute - this.render = render.render.bind(this) - this.renderRoute = render.renderRoute.bind(this) - this.renderAndGetWindow = render.renderAndGetWindow.bind(this) - // Add this.generate - this.generate = generate.bind(this) - // Add this.utils (tests purpose) - this.utils = utils - // Add module integration - this.module = new Module(this) - // Init nuxt.js - this._ready = this.ready() - // Return nuxt.js instance - return this + + // If store defined, update store options to true + if (fs.existsSync(join(this.options.srcDir, 'store'))) { + this.options.store = true + } + + // If app.html is defined, set the template path to the user template + this.options.appTemplatePath = resolve(__dirname, 'views/app.template.html') + if (fs.existsSync(join(this.options.srcDir, 'app.html'))) { + this.options.appTemplatePath = join(this.options.srcDir, 'app.html') + } + + // For serving static/ files to / + this.serveStatic = pify(serveStatic(resolve(this.options.srcDir, 'static'), this.options.render.static)) + // For serving .nuxt/dist/ files (only when build.publicPath is not an URL) + this.serveStaticNuxt = pify(serveStatic(resolve(this.options.buildDir, 'dist'), { + maxAge: (this.options.dev ? 0 : '1y') // 1 year in production + })) + + // gzip middleware for production + if (!this.options.dev && this.options.render.gzip) { + this.gzipMiddleware = pify(compression(this.options.render.gzip)) + } } async ready () { if (this._ready) { - await this._ready - return this - } - // Init modules - await this.module.ready() - // Launch build in development but don't wait for it to be finished - if (this.dev) { - this.build() - } else { - build.production.call(this) + return this._ready } + await this.moduleContainer.ready() + await this.builder.ready() + console.log('Nuxt Ready!') return this } @@ -178,4 +132,3 @@ class Nuxt { } } -export default Nuxt diff --git a/lib/render.js b/lib/render.js deleted file mode 100644 index 238c31a528..0000000000 --- a/lib/render.js +++ /dev/null @@ -1,196 +0,0 @@ -'use strict' - -import ansiHTML from 'ansi-html' -import serialize from 'serialize-javascript' -import generateETag from 'etag' -import fresh from 'fresh' -import { getContext, setAnsiColors, encodeHtml } from './utils' - -const debug = require('debug')('nuxt:render') -// force blue color -debug.color = 4 -setAnsiColors(ansiHTML) - -export async function render (req, res) { - // Wait for nuxt.js to be ready - await this.ready() - // Check if project is built for production - if (!this.renderer && !this.dev) { - console.error('> No build files found, please run `nuxt build` before launching `nuxt start`') // eslint-disable-line no-console - process.exit(1) - } - /* istanbul ignore if */ - if (!this.renderer || !this.appTemplate) { - return new Promise((resolve) => { - setTimeout(() => { - resolve(this.render(req, res)) - }, 1000) - }) - } - // Get context - const context = getContext(req, res) - res.statusCode = 200 - try { - if (this.dev) { - // Call webpack middleware only in development - await this.webpackDevMiddleware(req, res) - await this.webpackHotMiddleware(req, res) - } - if (!this.dev && this.options.render.gzip) { - await this.gzipMiddleware(req, res) - } - // If base in req.url, remove it for the middleware and vue-router - if (this.options.router.base !== '/' && req.url.indexOf(this.options.router.base) === 0) { - // Compatibility with base url for dev server - req.url = req.url.replace(this.options.router.base, '/') - } - // Serve static/ files - await this.serveStatic(req, res) - // Serve .nuxt/dist/ files (only for production) - if (!this.dev && req.url.indexOf(this.options.build.publicPath) === 0) { - const url = req.url - req.url = req.url.replace(this.options.build.publicPath, '/') - await this.serveStaticNuxt(req, res) - /* istanbul ignore next */ - req.url = url - } - if (this.dev && req.url.indexOf(this.options.build.publicPath) === 0 && req.url.includes('.hot-update.json')) { - res.statusCode = 404 - return res.end() - } - const {html, error, redirected, resourceHints} = await this.renderRoute(req.url, context) - if (redirected) { - return html - } - if (error) { - res.statusCode = context.nuxt.error.statusCode || 500 - } - // ETag header - if (!error && this.options.render.etag) { - const etag = generateETag(html, this.options.render.etag) - if (fresh(req.headers, {etag})) { - res.statusCode = 304 - res.end() - return - } - res.setHeader('ETag', etag) - } - // HTTP2 push headers - if (!error && this.options.render.http2.push) { - // Parse resourceHints to extract HTTP.2 prefetch/push headers - // https://w3c.github.io/preload/#server-push-http-2 - const regex = /link rel="([^"]*)" href="([^"]*)" as="([^"]*)"/g - const pushAssets = [] - let m - while (m = regex.exec(resourceHints)) { // eslint-disable-line no-cond-assign - const [_, rel, href, as] = m // eslint-disable-line no-unused-vars - if (rel === 'preload') { - pushAssets.push(`<${href}>; rel=${rel}; as=${as}`) - } - } - // Pass with single Link header - // https://blog.cloudflare.com/http-2-server-push-with-multiple-assets-per-link-header - res.setHeader('Link', pushAssets.join(',')) - } - res.setHeader('Content-Type', 'text/html; charset=utf-8') - res.setHeader('Content-Length', Buffer.byteLength(html)) - res.end(html, 'utf8') - return html - } catch (err) { - if (context.redirected) { - console.error(err) // eslint-disable-line no-console - return err - } - const html = this.errorTemplate({ - /* istanbul ignore if */ - error: err, - stack: ansiHTML(encodeHtml(err.stack)) - }) - res.statusCode = 500 - res.setHeader('Content-Type', 'text/html; charset=utf-8') - res.setHeader('Content-Length', Buffer.byteLength(html)) - res.end(html, 'utf8') - return err - } -} - -export async function renderRoute (url, context = {}) { - // Wait for modules to be initialized - await this.ready() - // Log rendered url - debug(`Rendering url ${url}`) - // Add url and isSever to the context - context.url = url - context.isServer = true - // Call renderToString from the bundleRenderer and generate the HTML (will update the context as well) - let APP = await this.renderToString(context) - if (!context.nuxt.serverRendered) { - APP = '
' - } - const m = context.meta.inject() - let HEAD = m.meta.text() + m.title.text() + m.link.text() + m.style.text() + m.script.text() + m.noscript.text() - if (this._routerBaseSpecified) { - HEAD += `` - } - const resourceHints = context.renderResourceHints() - HEAD += resourceHints + context.renderStyles() - APP += `` - APP += context.renderScripts() - const html = this.appTemplate({ - HTML_ATTRS: 'data-n-head-ssr ' + m.htmlAttrs.text(), - BODY_ATTRS: m.bodyAttrs.text(), - HEAD, - APP - }) - return { - html, - resourceHints, - error: context.nuxt.error, - redirected: context.redirected - } -} - -// Function used to do dom checking via jsdom -let jsdom = null -export async function renderAndGetWindow (url, opts = {}) { - /* istanbul ignore if */ - if (!jsdom) { - try { - jsdom = require('jsdom') - } catch (e) { - console.error('Fail when calling nuxt.renderAndGetWindow(url)') // eslint-disable-line no-console - console.error('jsdom module is not installed') // eslint-disable-line no-console - console.error('Please install jsdom with: npm install --save-dev jsdom') // eslint-disable-line no-console - process.exit(1) - } - } - let options = { - resources: 'usable', // load subresources (https://github.com/tmpvar/jsdom#loading-subresources) - runScripts: 'dangerously', - beforeParse (window) { - // Mock window.scrollTo - window.scrollTo = () => { - } - } - } - if (opts.virtualConsole !== false) { - options.virtualConsole = new jsdom.VirtualConsole().sendTo(console) - } - url = url || 'http://localhost:3000' - const {window} = await jsdom.JSDOM.fromURL(url, options) - // If Nuxt could not be loaded (error from the server-side) - const nuxtExists = window.document.body.innerHTML.includes('window.__NUXT__') - if (!nuxtExists) { - /* istanbul ignore next */ - let error = new Error('Could not load the nuxt app') - /* istanbul ignore next */ - error.body = window.document.body.innerHTML - throw error - } - // Used by nuxt.js to say when the components are loaded and the app ready - await new Promise((resolve) => { - window._onNuxtLoaded = () => resolve(window) - }) - // Send back window object - return window -} diff --git a/lib/renderer.js b/lib/renderer.js new file mode 100644 index 0000000000..50cfc611d9 --- /dev/null +++ b/lib/renderer.js @@ -0,0 +1,210 @@ +import ansiHTML from 'ansi-html' +import serialize from 'serialize-javascript' +import generateETag from 'etag' +import fresh from 'fresh' +import { getContext, setAnsiColors, encodeHtml } from './utils' +import Tapable from 'tapable' + +const debug = require('debug')('nuxt:render') +debug.color = 4 // Force blue color +setAnsiColors(ansiHTML) + +let jsdom = null + +export default class Renderer extends Tapable { + + constructor (nuxt) { + super() + this.nuxt = nuxt + this.options = nuxt.options + } + + async render (req, res) { + // Wait for nuxt.js to be ready + await this.nuxt._ready + // Check if project is built for production + if (!this.nuxt.builder.renderer && !this.options.dev) { + console.error('> No build files found, please run `nuxt build` before launching `nuxt start`') // eslint-disable-line no-console + process.exit(1) + } + /* istanbul ignore if */ + if (!this.nuxt.builder.renderer || !this.nuxt.builder.appTemplate) { + return new Promise((resolve) => { + setTimeout(() => { + resolve(this.render(req, res)) + }, 1000) + }) + } + // Get context + const context = getContext(req, res) + res.statusCode = 200 + try { + if (this.options.dev) { + // Call webpack middleware only in development + await this.nuxt.builder.webpackDevMiddleware(req, res) + await this.nuxt.builder.webpackHotMiddleware(req, res) + } + if (!this.options.dev && this.options.render.gzip) { + await this.nuxt.gzipMiddleware(req, res) + } + // If base in req.url, remove it for the middleware and vue-router + if (this.options.router.base !== '/' && req.url.indexOf(this.options.router.base) === 0) { + // Compatibility with base url for dev server + req.url = req.url.replace(this.options.router.base, '/') + } + // Serve static/ files + await this.nuxt.serveStatic(req, res) + // Serve .nuxt/dist/ files (only for production) + if (!this.options.dev && req.url.indexOf(this.options.build.publicPath) === 0) { + const url = req.url + req.url = req.url.replace(this.options.build.publicPath, '/') + await this.nuxt.serveStaticNuxt(req, res) + /* istanbul ignore next */ + req.url = url + } + if (this.options.dev && req.url.indexOf(this.options.build.publicPath) === 0 && req.url.includes('.hot-update.json')) { + res.statusCode = 404 + return res.end() + } + const { html, error, redirected, resourceHints } = await this.renderRoute(req.url, context) + if (redirected) { + return html + } + if (error) { + res.statusCode = context.nuxt.error.statusCode || 500 + } + // ETag header + if (!error && this.options.render.etag) { + const etag = generateETag(html, this.options.render.etag) + if (fresh(req.headers, { etag })) { + res.statusCode = 304 + res.end() + return + } + res.setHeader('ETag', etag) + } + // HTTP2 push headers + if (!error && this.options.render.http2.push) { + // Parse resourceHints to extract HTTP.2 prefetch/push headers + // https://w3c.github.io/preload/#server-push-http-2 + const regex = /link rel="([^"]*)" href="([^"]*)" as="([^"]*)"/g + const pushAssets = [] + let m + while (m = regex.exec(resourceHints)) { // eslint-disable-line no-cond-assign + const [_, rel, href, as] = m // eslint-disable-line no-unused-vars + if (rel === 'preload') { + pushAssets.push(`<${href}>; rel=${rel}; as=${as}`) + } + } + // Pass with single Link header + // https://blog.cloudflare.com/http-2-server-push-with-multiple-assets-per-link-header + res.setHeader('Link', pushAssets.join(',')) + } + res.setHeader('Content-Type', 'text/html; charset=utf-8') + res.setHeader('Content-Length', Buffer.byteLength(html)) + res.end(html, 'utf8') + return html + } catch (err) { + if (context.redirected) { + console.error(err) // eslint-disable-line no-console + return err + } + const html = this.nuxt.errorTemplate({ + /* istanbul ignore if */ + error: err, + stack: ansiHTML(encodeHtml(err.stack)) + }) + res.statusCode = 500 + res.setHeader('Content-Type', 'text/html; charset=utf-8') + res.setHeader('Content-Length', Buffer.byteLength(html)) + res.end(html, 'utf8') + return err + } + } + + async renderRoute (url, context = {}) { + // Wait for nuxt.js to be ready + await this.nuxt._ready + + // Log rendered url + debug(`Rendering url ${url}`) + // Add url and isSever to the context + context.url = url + context.isServer = true + // Call renderToString from the bundleRenderer and generate the HTML (will update the context as well) + let APP = await this.nuxt.builder.renderToString(context) + if (!context.nuxt.serverRendered) { + APP = '
' + } + const m = context.meta.inject() + let HEAD = m.meta.text() + m.title.text() + m.link.text() + m.style.text() + m.script.text() + m.noscript.text() + if (this._routerBaseSpecified) { + HEAD += `` + } + const resourceHints = context.renderResourceHints() + HEAD += resourceHints + context.renderStyles() + APP += `` + APP += context.renderScripts() + const html = this.nuxt.builder.appTemplate({ + HTML_ATTRS: 'data-n-head-ssr ' + m.htmlAttrs.text(), + BODY_ATTRS: m.bodyAttrs.text(), + HEAD, + APP + }) + return { + html, + resourceHints, + error: context.nuxt.error, + redirected: context.redirected + } + } + + async renderAndGetWindow (url, opts = {}) { + if (!this.ready) { + // Wait for nuxt.js to be ready + await this.nuxt._ready + this.ready = true + } + + /* istanbul ignore if */ + if (!jsdom) { + try { + jsdom = require('jsdom') + } catch (e) { + console.error('Fail when calling nuxt.renderAndGetWindow(url)') // eslint-disable-line no-console + console.error('jsdom module is not installed') // eslint-disable-line no-console + console.error('Please install jsdom with: npm install --save-dev jsdom') // eslint-disable-line no-console + process.exit(1) + } + } + let options = { + resources: 'usable', // load subresources (https://github.com/tmpvar/jsdom#loading-subresources) + runScripts: 'dangerously', + beforeParse (window) { + // Mock window.scrollTo + window.scrollTo = () => { + } + } + } + if (opts.virtualConsole !== false) { + options.virtualConsole = new jsdom.VirtualConsole().sendTo(console) + } + url = url || 'http://localhost:3000' + const { window } = await jsdom.JSDOM.fromURL(url, options) + // If Nuxt could not be loaded (error from the server-side) + const nuxtExists = window.document.body.innerHTML.includes('window.__NUXT__') + if (!nuxtExists) { + /* istanbul ignore next */ + let error = new Error('Could not load the nuxt app') + /* istanbul ignore next */ + error.body = window.document.body.innerHTML + throw error + } + // Used by nuxt.js to say when the components are loaded and the app ready + await new Promise((resolve) => { + window._onNuxtLoaded = () => resolve(window) + }) + // Send back window object + return window + } +} diff --git a/lib/server.js b/lib/server.js index 63766e4563..22a08dafc1 100644 --- a/lib/server.js +++ b/lib/server.js @@ -1,5 +1,3 @@ -'use strict' - const http = require('http') const connect = require('connect') const path = require('path') @@ -7,18 +5,20 @@ const path = require('path') class Server { constructor (nuxt) { this.nuxt = nuxt + this.options = nuxt.options + // Initialize this.app = connect() this.server = http.createServer(this.app) this.nuxt.ready() - .then(() => { - // Add Middleware - this.nuxt.options.serverMiddleware.forEach(m => { - this.useMiddleware(m) + .then(() => { + // Add Middleware + this.options.serverMiddleware.forEach(m => { + this.useMiddleware(m) + }) + // Add default render middleware + this.useMiddleware(this.render.bind(this)) }) - // Add default render middleware - this.useMiddleware(this.render.bind(this)) - }) return this } @@ -49,11 +49,11 @@ class Server { host = host || '127.0.0.1' port = port || 3000 this.nuxt.ready() - .then(() => { - this.server.listen(port, host, () => { - console.log('Ready on http://%s:%s', host, port) // eslint-disable-line no-console + .then(() => { + this.server.listen(port, host, () => { + console.log('Ready on http://%s:%s', host, port) // eslint-disable-line no-console + }) }) - }) return this } diff --git a/lib/utils.js b/lib/utils.js index 4e69f0f636..326b153e93 100644 --- a/lib/utils.js +++ b/lib/utils.js @@ -1,4 +1,3 @@ -'use strict' import { resolve, sep } from 'path' import _ from 'lodash' @@ -91,6 +90,7 @@ const normalize = string => string.replace(reqSep, sysSep) export function r () { let args = Array.from(arguments) + if (_.last(args).includes('~')) { return wp(_.last(args)) } diff --git a/lib/webpack/base.config.js b/lib/webpack/base.config.js index 406f198fb7..faf635ced0 100644 --- a/lib/webpack/base.config.js +++ b/lib/webpack/base.config.js @@ -1,5 +1,3 @@ -'use strict' - import vueLoaderConfig from './vue-loader.config' import { defaults } from 'lodash' import { join } from 'path' @@ -15,44 +13,46 @@ import ExtractTextPlugin from 'extract-text-webpack-plugin' | webpack config files |-------------------------------------------------------------------------- */ -export default function ({ isClient, isServer }) { +export default function webpackBaseConfig ({ isClient, isServer }) { const nodeModulesDir = join(__dirname, '..', 'node_modules') let config = { - devtool: (this.dev ? 'cheap-module-source-map' : false), + devtool: (this.options.dev ? 'cheap-module-source-map' : false), entry: { vendor: ['vue', 'vue-router', 'vue-meta'] }, output: { - publicPath: (isUrl(this.options.build.publicPath) ? this.options.build.publicPath : urlJoin(this.options.router.base, this.options.build.publicPath)) + publicPath: (isUrl(this.options.build.publicPath) + ? this.options.build.publicPath + : urlJoin(this.options.router.base, this.options.build.publicPath)) }, performance: { maxEntrypointSize: 300000, maxAssetSize: 300000, - hints: (this.dev ? false : 'warning') + hints: (this.options.dev ? false : 'warning') }, resolve: { extensions: ['.js', '.json', '.vue', '.ts'], // Disable for now alias: { - '~': join(this.srcDir), - 'static': join(this.srcDir, 'static'), // use in template with - '~static': join(this.srcDir, 'static'), - 'assets': join(this.srcDir, 'assets'), // use in template with - '~assets': join(this.srcDir, 'assets'), - '~plugins': join(this.srcDir, 'plugins'), - '~store': join(this.buildDir, 'store'), - '~router': join(this.buildDir, 'router'), - '~pages': join(this.srcDir, 'pages'), - '~components': join(this.srcDir, 'components') + '~': join(this.options.srcDir), + 'static': join(this.options.srcDir, 'static'), // use in template with + '~static': join(this.options.srcDir, 'static'), + 'assets': join(this.options.srcDir, 'assets'), // use in template with + '~assets': join(this.options.srcDir, 'assets'), + '~plugins': join(this.options.srcDir, 'plugins'), + '~store': join(this.options.buildDir, 'store'), + '~router': join(this.options.buildDir, 'router'), + '~pages': join(this.options.srcDir, 'pages'), + '~components': join(this.options.srcDir, 'components') }, modules: [ - join(this.dir, 'node_modules'), + join(this.options.rootDir, 'node_modules'), nodeModulesDir ] }, resolveLoader: { modules: [ - join(this.dir, 'node_modules'), + join(this.options.rootDir, 'node_modules'), nodeModulesDir ] }, @@ -70,7 +70,7 @@ export default function ({ isClient, isServer }) { query: defaults(this.options.build.babel, { presets: ['vue-app'], babelrc: false, - cacheDirectory: !!this.dev + cacheDirectory: !!this.options.dev }) }, { test: /\.css$/, use: styleLoader.call(this, 'css') }, @@ -85,7 +85,7 @@ export default function ({ isClient, isServer }) { // CSS extraction if (extractStyles.call(this)) { config.plugins.push( - new ExtractTextPlugin({filename: this.options.build.filenames.css}) + new ExtractTextPlugin({ filename: this.options.build.filenames.css }) ) } // Add nuxt build loaders (can be configured in nuxt.config.js) diff --git a/lib/webpack/client.config.js b/lib/webpack/client.config.js index a874071ddf..893d879d34 100644 --- a/lib/webpack/client.config.js +++ b/lib/webpack/client.config.js @@ -1,5 +1,3 @@ -'use strict' - import { each, defaults } from 'lodash' import webpack from 'webpack' import VueSSRClientPlugin from 'vue-server-renderer/client-plugin' @@ -21,11 +19,11 @@ import { resolve } from 'path' | In production, will generate public/dist/style.css |-------------------------------------------------------------------------- */ -export default function () { +export default function webpackClientConfig() { let config = base.call(this, { isClient: true }) // Entry - config.entry.app = resolve(this.buildDir, 'client.js') + config.entry.app = resolve(this.options.buildDir, 'client.js') // Add vendors if (this.options.store) { @@ -34,7 +32,7 @@ export default function () { config.entry.vendor = config.entry.vendor.concat(this.options.build.vendor) // Output - config.output.path = resolve(this.buildDir, 'dist') + config.output.path = resolve(this.options.buildDir, 'dist') config.output.filename = this.options.build.filenames.app // env object defined in nuxt.config.js @@ -46,7 +44,7 @@ export default function () { config.plugins = (config.plugins || []).concat([ // Strip comments in Vue code new webpack.DefinePlugin(Object.assign(env, { - 'process.env.NODE_ENV': JSON.stringify(env.NODE_ENV || (this.dev ? 'development' : 'production')), + 'process.env.NODE_ENV': JSON.stringify(env.NODE_ENV || (this.options.dev ? 'development' : 'production')), 'process.BROWSER_BUILD': true, 'process.SERVER_BUILD': false, 'process.browser': true, @@ -87,11 +85,11 @@ export default function () { new ProgressBarPlugin() ) // Add friendly error plugin - if (this.dev) { + if (this.options.dev) { config.plugins.push(new FriendlyErrorsWebpackPlugin()) } // Production client build - if (!this.dev) { + if (!this.options.dev) { config.plugins.push( // This is needed in webpack 2 for minifying CSS new webpack.LoaderOptionsPlugin({ @@ -109,19 +107,19 @@ export default function () { // Extend config if (typeof this.options.build.extend === 'function') { this.options.build.extend.call(this, config, { - dev: this.dev, + dev: this.options.dev, isClient: true }) } // Offline-plugin integration - if (!this.dev && this.options.offline) { + if (!this.options.dev && this.options.offline) { const offlineOpts = typeof this.options.offline === 'object' ? this.options.offline : {} config.plugins.push( new OfflinePlugin(defaults(offlineOpts, {})) ) } // Webpack Bundle Analyzer - if (!this.dev && this.options.build.analyze) { + if (!this.options.dev && this.options.build.analyze) { let options = {} if (typeof this.options.build.analyze === 'object') { options = this.options.build.analyze diff --git a/lib/webpack/helpers.js b/lib/webpack/helpers.js index e3fae8288e..e22feda68f 100755 --- a/lib/webpack/helpers.js +++ b/lib/webpack/helpers.js @@ -1,7 +1,7 @@ import ExtractTextPlugin from 'extract-text-webpack-plugin' export function extractStyles () { - return !this.dev && this.options.build.extractCSS + return !this.options.dev && this.options.build.extractCSS } export function styleLoader (ext, loader = []) { diff --git a/lib/webpack/server.config.js b/lib/webpack/server.config.js index e1ba11ccc5..1acf86e0bd 100644 --- a/lib/webpack/server.config.js +++ b/lib/webpack/server.config.js @@ -1,5 +1,3 @@ -'use strict' - import webpack from 'webpack' import VueSSRServerPlugin from 'vue-server-renderer/server-plugin' import nodeExternals from 'webpack-node-externals' @@ -12,7 +10,7 @@ import { resolve } from 'path' | Webpack Server Config |-------------------------------------------------------------------------- */ -export default function () { +export default function webpackServerConfig () { let config = base.call(this, { isServer: true }) // env object defined in nuxt.config.js @@ -23,10 +21,10 @@ export default function () { config = Object.assign(config, { target: 'node', - devtool: (this.dev ? 'source-map' : false), - entry: resolve(this.buildDir, 'server.js'), + devtool: (this.options.dev ? 'source-map' : false), + entry: resolve(this.options.buildDir, 'server.js'), output: Object.assign({}, config.output, { - path: resolve(this.buildDir, 'dist'), + path: resolve(this.options.buildDir, 'dist'), filename: 'server-bundle.js', libraryTarget: 'commonjs2' }), @@ -44,7 +42,7 @@ export default function () { filename: 'server-bundle.json' }), new webpack.DefinePlugin(Object.assign(env, { - 'process.env.NODE_ENV': JSON.stringify(this.dev ? 'development' : 'production'), + 'process.env.NODE_ENV': JSON.stringify(this.options.dev ? 'development' : 'production'), 'process.BROWSER_BUILD': false, // deprecated 'process.SERVER_BUILD': true, // deprecated 'process.browser': false, @@ -53,7 +51,7 @@ export default function () { ]) }) // This is needed in webpack 2 for minifying CSS - if (!this.dev) { + if (!this.options.dev) { config.plugins.push( new webpack.LoaderOptionsPlugin({ minimize: true @@ -64,7 +62,7 @@ export default function () { // Extend config if (typeof this.options.build.extend === 'function') { this.options.build.extend.call(this, config, { - dev: this.dev, + dev: this.options.dev, isServer: true }) } diff --git a/lib/webpack/vue-loader.config.js b/lib/webpack/vue-loader.config.js index ae4c7b8aba..fcb7a0c90a 100644 --- a/lib/webpack/vue-loader.config.js +++ b/lib/webpack/vue-loader.config.js @@ -1,5 +1,3 @@ -'use strict' - import { defaults } from 'lodash' import { extractStyles, styleLoader } from './helpers' @@ -7,7 +5,7 @@ export default function ({ isClient }) { let babelOptions = JSON.stringify(defaults(this.options.build.babel, { presets: ['vue-app'], babelrc: false, - cacheDirectory: !!this.dev + cacheDirectory: !!this.options.dev })) // https://github.com/vuejs/vue-loader/blob/master/docs/en/configurations From 2913d90109d73901c22fefc7921ae2affac5bb43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Sun, 11 Jun 2017 21:04:59 +0200 Subject: [PATCH 018/236] Remove `build.loaders` option --- lib/build.js | 21 +-------------------- lib/webpack/base.config.js | 20 +++++++++++++++++--- 2 files changed, 18 insertions(+), 23 deletions(-) diff --git a/lib/build.js b/lib/build.js index 36b2cf5286..7665b4bc8d 100644 --- a/lib/build.js +++ b/lib/build.js @@ -35,31 +35,13 @@ const defaults = { app: 'nuxt.bundle.[chunkhash].js' }, vendor: [], - loaders: [], plugins: [], babel: {}, postcss: [], templates: [], watch: [] } -const defaultsLoaders = [ - { - test: /\.(png|jpe?g|gif|svg)$/, - loader: 'url-loader', - query: { - limit: 1000, // 1KO - name: 'img/[name].[hash:7].[ext]' - } - }, - { - test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, - loader: 'url-loader', - query: { - limit: 1000, // 1 KO - name: 'fonts/[name].[hash:7].[ext]' - } - } -] + const defaultsPostcss = [ require('autoprefixer')({ browsers: ['last 3 versions'] @@ -69,7 +51,6 @@ const defaultsPostcss = [ export function options () { // Defaults build options let extraDefaults = {} - if (this.options.build && !Array.isArray(this.options.build.loaders)) extraDefaults.loaders = defaultsLoaders if (this.options.build && !Array.isArray(this.options.build.postcss)) extraDefaults.postcss = defaultsPostcss this.options.build = _.defaultsDeep(this.options.build, defaults, extraDefaults) /* istanbul ignore if */ diff --git a/lib/webpack/base.config.js b/lib/webpack/base.config.js index 406f198fb7..46eb0a3221 100644 --- a/lib/webpack/base.config.js +++ b/lib/webpack/base.config.js @@ -77,7 +77,23 @@ export default function ({ isClient, isServer }) { { test: /\.less$/, use: styleLoader.call(this, 'less', 'less-loader') }, { test: /\.sass$/, use: styleLoader.call(this, 'sass', 'sass-loader?indentedSyntax&sourceMap') }, { test: /\.scss$/, use: styleLoader.call(this, 'sass', 'sass-loader?sourceMap') }, - { test: /\.styl(us)?$/, use: styleLoader.call(this, 'stylus', 'stylus-loader') } + { test: /\.styl(us)?$/, use: styleLoader.call(this, 'stylus', 'stylus-loader') }, + { + test: /\.(png|jpe?g|gif|svg)$/, + loader: 'url-loader', + query: { + limit: 1000, // 1KO + name: 'img/[name].[hash:7].[ext]' + } + }, + { + test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, + loader: 'url-loader', + query: { + limit: 1000, // 1 KO + name: 'fonts/[name].[hash:7].[ext]' + } + } ] }, plugins: this.options.build.plugins @@ -88,8 +104,6 @@ export default function ({ isClient, isServer }) { new ExtractTextPlugin({filename: this.options.build.filenames.css}) ) } - // Add nuxt build loaders (can be configured in nuxt.config.js) - config.module.rules = config.module.rules.concat(this.options.build.loaders) // Return config return config } From 76a1969da176941e4e6ba394a34e3e8970d39c3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Sun, 11 Jun 2017 21:12:51 +0200 Subject: [PATCH 019/236] Update example --- examples/custom-build/nuxt.config.js | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/examples/custom-build/nuxt.config.js b/examples/custom-build/nuxt.config.js index 22ba1217a6..5feedeaaef 100644 --- a/examples/custom-build/nuxt.config.js +++ b/examples/custom-build/nuxt.config.js @@ -7,21 +7,13 @@ module.exports = { app: 'app.[chunkhash].js' // default: nuxt.bundle.[chunkhash].js }, vendor: ['lodash'], - // Loaders config (Webpack 2) - loaders: [ - { - test: /\.(png|jpg|gif|svg)$/, - loader: 'url-loader', - options: { - limit: 100000, // 100KO - name: 'img/[name].[ext]?[hash]' - } - } - ], extend (config, { dev }) { if (dev) { config.devtool = (dev ? 'eval-source-map' : false) } + const urlLoader = config.module.rules.find((loader) => loader.loader === 'url-loader') + // Increase limit to 100KO + urlLoader.query.limit = 100000 } } } From 2b2d9e5e713a75ead34a8820c345aa75c67cb8f1 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Mon, 12 Jun 2017 04:13:39 +0430 Subject: [PATCH 020/236] feat(nuxt-child): bind transition calls to parent WIP for #566 --- lib/app/components/nuxt-child.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/app/components/nuxt-child.js b/lib/app/components/nuxt-child.js index becc3b82a8..492e002ac8 100644 --- a/lib/app/components/nuxt-child.js +++ b/lib/app/components/nuxt-child.js @@ -30,7 +30,7 @@ export default { functional: true, render (h, { parent, data }) { data.nuxtChild = true - + const _parent = parent const transitions = parent.$nuxt.nuxt.transitions const defaultTransition = parent.$nuxt.nuxt.defaultTransition let depth = 0 @@ -51,7 +51,7 @@ export default { let listeners = {} listenersKeys.forEach((key) => { if (typeof transition[key] === 'function') { - listeners[key] = transition[key] + listeners[key] = transition[key].bind(_parent) } }) return h('transition', { From 549b8da21f062b18a3fd3e7617df4a79c9984eb8 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Mon, 12 Jun 2017 04:58:03 +0430 Subject: [PATCH 021/236] fix(client): combine & prefer leave* transitions of from route #566 --- lib/app/client.js | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/lib/app/client.js b/lib/app/client.js index ccb2381d02..422eff8221 100644 --- a/lib/app/client.js +++ b/lib/app/client.js @@ -14,12 +14,23 @@ let router <%= (store ? 'let store' : '') %> function mapTransitions(Components, to, from) { + const resolve = t => (typeof t.options.transition === 'function') + ? t.options.transition(to, from) + : Object.assign({}, t.options.transition) + + const resolveRoute = r => resolve(r.matched[0].components.default) + return Components.map((Component) => { - let transition = Component.options.transition - if (typeof transition === 'function') { - return transition(to, from) - } - return transition + let transitions = Object.assign({}, to ? resolveRoute(to) : resolve(Component)) + // Combine transitions + // Prefer leave* transitions of from route + let from_transitions = from ? resolveRoute(from) : {} + Object.keys(from_transitions).forEach(key=> { + if(from_transitions[key] && key.toLowerCase().indexOf('leave') !== -1) { + transitions[key] = from_transitions[key] + } + }) + return transitions }) } From 647f3db3201ab1fdd31a1d94bb58d60c0916fc2f Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Mon, 12 Jun 2017 05:09:42 +0430 Subject: [PATCH 022/236] chore(client): simplify resolveTransitions() #566 --- lib/app/client.js | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/lib/app/client.js b/lib/app/client.js index 422eff8221..4c2d9ff978 100644 --- a/lib/app/client.js +++ b/lib/app/client.js @@ -14,19 +14,18 @@ let router <%= (store ? 'let store' : '') %> function mapTransitions(Components, to, from) { - const resolve = t => (typeof t.options.transition === 'function') - ? t.options.transition(to, from) - : Object.assign({}, t.options.transition) + const resolveTransitions = component => (typeof component.options.transition === 'function') + ? component.options.transition(to, from) + : component.options.transition - const resolveRoute = r => resolve(r.matched[0].components.default) + const resolveRoute = route => resolveTransitions(route.matched[0].components.default) return Components.map((Component) => { - let transitions = Object.assign({}, to ? resolveRoute(to) : resolve(Component)) - // Combine transitions - // Prefer leave* transitions of from route - let from_transitions = from ? resolveRoute(from) : {} + const transitions = Object.assign({}, to ? resolveRoute(to) : resolveTransitions(Component)) + const from_transitions = from ? resolveRoute(from) : {} + // Combine transitions & prefer leave* transitions of from route Object.keys(from_transitions).forEach(key=> { - if(from_transitions[key] && key.toLowerCase().indexOf('leave') !== -1) { + if (from_transitions[key] && key.toLowerCase().indexOf('leave') !== -1) { transitions[key] = from_transitions[key] } }) From 602adf046435cb81b5c673b11b94a8ad5a7453e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Sun, 11 Jun 2017 15:48:20 +0200 Subject: [PATCH 023/236] Refactor nuxt commands using minimist --- bin/nuxt-build | 84 +++---- bin/nuxt-dev | 58 +++-- bin/nuxt-generate | 47 +++- bin/nuxt-start | 55 ++++- package.json | 1 + yarn.lock | 573 ++++++++++++++++++++++++---------------------- 6 files changed, 479 insertions(+), 339 deletions(-) diff --git a/bin/nuxt-build b/bin/nuxt-build index 1af998d2be..53b125765e 100755 --- a/bin/nuxt-build +++ b/bin/nuxt-build @@ -4,60 +4,66 @@ process.env.DEBUG = 'nuxt:*' var fs = require('fs') +var parseArgs = require('minimist') var without = require('lodash').without var Nuxt = require('../') var resolve = require('path').resolve -// --analyze option -var analyzeBuild = false -if (process.argv.indexOf('--analyze') !== -1 || process.argv.indexOf('-a') !== -1) { - analyzeBuild = true - process.argv = without(process.argv, '--analyze', '-a') +const argv = parseArgs(process.argv.slice(2), { + alias: { + h: 'help', + c: 'config-file', + a: 'analyze' + }, + boolean: ['h', 'a'], + string: ['c'], + default: { + c: 'nuxt.config.js' + } +}) + +if (argv.help) { + console.log(` + Description + Compiles the application for production deployment + Usage + $ nuxt build + Options + --analyze, -a Launch webpack-bundle-analyzer to optimize your bundles. + --config-file, -c Path to Nuxt.js config file (default: nuxt.config.js) + --help, -h Displays this message + `) + process.exit(0) } -var nuxtConfigFileName = 'nuxt.config.js' - -// --config-file option -var indexOfConfig = false -if (process.argv.indexOf('--config-file') !== -1) { - indexOfConfig = process.argv.indexOf('--config-file') -} else if (process.argv.indexOf('-c') !== -1) { - indexOfConfig = process.argv.indexOf('-c') -} - -if (indexOfConfig !== false) { - nuxtConfigFileName = process.argv.slice(indexOfConfig)[1] - process.argv = without(process.argv, '--config-file', '-c', nuxtConfigFileName) -} - -// Root directory parameter -var rootDir = resolve(process.argv.slice(2)[0] || '.') -var nuxtConfigFilePath = resolve(rootDir, nuxtConfigFileName) +var rootDir = resolve(argv._[0] || '.') +var nuxtConfigFile = resolve(rootDir, argv['config-file']) var options = {} -if (fs.existsSync(nuxtConfigFilePath)) { - options = require(nuxtConfigFilePath) -} else { - console.log(`Could not locate ${nuxtConfigFilePath}`) // eslint-disable-line no-console +if (fs.existsSync(nuxtConfigFile)) { + options = require(nuxtConfigFile) +} else if (argv['config-file'] !== 'nuxt.config.js') { + console.error(`> Could not load config file ${argv['config-file']}`) + process.exit(1) } - if (typeof options.rootDir !== 'string') { options.rootDir = rootDir } -options.dev = false // Create production build when calling `nuxt build` - +// Create production build when calling `nuxt build` +options.dev = false +// Analyze option options.build = options.build || {} -if (analyzeBuild) { - options.build.analyze = analyzeBuild +if (argv.analyze) { + options.build.analyze = true } console.log('[nuxt] Building...') // eslint-disable-line no-console var nuxt = module.exports = new Nuxt(options) nuxt.build() - .then(() => { - console.log('[nuxt] Building done') // eslint-disable-line no-console - }) - .catch((err) => { - console.error(err) // eslint-disable-line no-console - process.exit(1) - }) +.then(() => { + console.log('[nuxt] Building done') // eslint-disable-line no-console +}) +.catch((err) => { + console.error(err) // eslint-disable-line no-console + process.exit(1) +}) diff --git a/bin/nuxt-dev b/bin/nuxt-dev index 4b1f733ce6..84efb2e442 100755 --- a/bin/nuxt-dev +++ b/bin/nuxt-dev @@ -7,41 +7,66 @@ var _ = require('lodash') var debug = require('debug')('nuxt:build') debug.color = 2 // force green color var fs = require('fs') +var parseArgs = require('minimist') var Nuxt = require('../') var chokidar = require('chokidar') var resolve = require('path').resolve var without = require('lodash').without -var nuxtConfigFileName = 'nuxt.config.js' +var argv = parseArgs(process.argv.slice(2), { + alias: { + h: 'help', + H: 'hostname', + p: 'port', + c: 'config-file' + }, + boolean: ['h'], + string: ['H', 'c'], + default: { + c: 'nuxt.config.js' + } +}) -// --config-file option -var indexOfConfig = false -if (process.argv.indexOf('--config-file') !== -1) { - indexOfConfig = process.argv.indexOf('--config-file') -} else if (process.argv.indexOf('-c') !== -1) { - indexOfConfig = process.argv.indexOf('-c') +if (argv.hostname === '') { + console.error(`> Provided hostname argument has no value`) + process.exit(1) } -if (indexOfConfig !== false) { - nuxtConfigFileName = process.argv.slice(indexOfConfig)[1] - process.argv = without(process.argv, '--config-file', '-c', nuxtConfigFileName) +if (argv.help) { + console.log(` + Description + Starts the application in development mode (hot-code reloading, error + reporting, etc) + Usage + $ nuxt dev -p -H + Options + --port, -p A port number on which to start the application + --hostname, -H Hostname on which to start the application + --config-file, -c Path to Nuxt.js config file (default: nuxt.config.js) + --help, -h Displays this message + `) + process.exit(0) } -var rootDir = resolve(process.argv.slice(2)[0] || '.') -var nuxtConfigFile = resolve(rootDir, nuxtConfigFileName) +var rootDir = resolve(argv._[0] || '.') +var nuxtConfigFile = resolve(rootDir, argv['config-file']) var options = {} if (fs.existsSync(nuxtConfigFile)) { options = require(nuxtConfigFile) +} else if (argv['config-file'] !== 'nuxt.config.js') { + console.error(`> Could not load config file ${argv['config-file']}`) + process.exit(1) } if (typeof options.rootDir !== 'string') { options.rootDir = rootDir } -options.dev = true // Add hot reloading and watching changes +// Force development mode: add hot reloading and watching changes +options.dev = true var nuxt = module.exports = new Nuxt(options) -var port = process.env.PORT || process.env.npm_package_config_nuxt_port -var host = process.env.HOST || process.env.npm_package_config_nuxt_host +var port = argv.port || process.env.PORT || process.env.npm_package_config_nuxt_port +var host = argv.hostname || process.env.HOST || process.env.npm_package_config_nuxt_host var server = nuxt.server = new nuxt.Server(nuxt).listen(port, host) listenOnConfigChanges(nuxt, server) @@ -74,7 +99,6 @@ function listenOnConfigChanges(nuxt, server) { process.exit(1) }) }, 200) - var nuxtConfigFile = resolve(rootDir, nuxtConfigFileName) - chokidar.watch(nuxtConfigFile, Object.assign({}, nuxt.options.watchers.chokidar, {ignoreInitial: true})) + chokidar.watch(nuxtConfigFile, Object.assign({}, nuxt.options.watchers.chokidar, { ignoreInitial: true })) .on('all', build) } diff --git a/bin/nuxt-generate b/bin/nuxt-generate index c187810fa1..771612bf38 100755 --- a/bin/nuxt-generate +++ b/bin/nuxt-generate @@ -4,15 +4,44 @@ process.env.DEBUG = 'nuxt:*' var fs = require('fs') +var parseArgs = require('minimist') var Nuxt = require('../') var resolve = require('path').resolve -var rootDir = resolve(process.argv.slice(2)[0] || '.') -var nuxtConfigFile = resolve(rootDir, 'nuxt.config.js') +var argv = parseArgs(process.argv.slice(2), { + alias: { + h: 'help', + c: 'config-file' + }, + boolean: ['h'], + string: ['c'], + default: { + c: 'nuxt.config.js' + } +}) + +if (argv.help) { + console.log(` + Description + Generate a static web application (server-rendered) + Usage + $ nuxt generate + Options + --config-file, -c Path to Nuxt.js config file (default: nuxt.config.js) + --help, -h Displays this message + `) + process.exit(0) +} + +var rootDir = resolve(argv._[0] || '.') +var nuxtConfigFile = resolve(rootDir, argv['config-file']) var options = {} if (fs.existsSync(nuxtConfigFile)) { options = require(nuxtConfigFile) +} else if (argv['config-file'] !== 'nuxt.config.js') { + console.error(`> Could not load config file ${argv['config-file']}`) + process.exit(1) } if (typeof options.rootDir !== 'string') { options.rootDir = rootDir @@ -22,10 +51,10 @@ options.dev = false // Force production mode (no webpack middleware called) console.log('[nuxt] Generating...') // eslint-disable-line no-console var nuxt = module.exports = new Nuxt(options) nuxt.generate() - .then(() => { - console.log('[nuxt] Generate done') // eslint-disable-line no-console - }) - .catch((err) => { - console.error(err) // eslint-disable-line no-console - process.exit(1) - }) +.then(() => { + console.log('[nuxt] Generate done') // eslint-disable-line no-console +}) +.catch((err) => { + console.error(err) // eslint-disable-line no-console + process.exit(1) +}) diff --git a/bin/nuxt-start b/bin/nuxt-start index 8af26fbaf4..970c87d7fd 100755 --- a/bin/nuxt-start +++ b/bin/nuxt-start @@ -1,22 +1,69 @@ #!/usr/bin/env node var fs = require('fs') +var parseArgs = require('minimist') var Nuxt = require('../') var resolve = require('path').resolve +var join = require('path').join -var rootDir = resolve(process.argv.slice(2)[0] || '.') -var nuxtConfigFile = resolve(rootDir, 'nuxt.config.js') +var argv = parseArgs(process.argv.slice(2), { + alias: { + h: 'help', + H: 'hostname', + p: 'port', + c: 'config-file' + }, + boolean: ['h'], + string: ['H', 'c'], + default: { + c: 'nuxt.config.js' + } +}) + +if (argv.hostname === '') { + console.error(`> Provided hostname argument has no value`) + process.exit(1) +} + +if (argv.help) { + console.log(` + Description + Starts the application in production mode. + The application should be compiled with \`nuxt build\` first. + Usage + $ nuxt start -p -H + Options + --port, -p A port number on which to start the application + --hostname, -H Hostname on which to start the application + --config-file, -c Path to Nuxt.js config file (default: nuxt.config.js) + --help, -h Displays this message + `) + process.exit(0) +} + +var rootDir = resolve(argv._[0] || '.') +var nuxtConfigFile = resolve(rootDir, argv['config-file']) var options = {} if (fs.existsSync(nuxtConfigFile)) { options = require(nuxtConfigFile) +} else if (argv['config-file'] !== 'nuxt.config.js') { + console.error(`> Could not load config file ${argv['config-file']}`) + process.exit(1) } if (typeof options.rootDir !== 'string') { options.rootDir = rootDir } options.dev = false // Force production mode (no webpack middleware called) +var buildDir = join(options.rootDir, (options.buildDir || '.nuxt'), 'dist', 'server-bundle.json') +// Check if project is built for production +if (!fs.existsSync(buildDir)) { + console.error('> No build files found, please run `nuxt build` before launching `nuxt start`') // eslint-disable-line no-console + process.exit(1) +} + var nuxt = module.exports = new Nuxt(options) -var port = process.env.PORT || process.env.npm_package_config_nuxt_port -var host = process.env.HOST || process.env.npm_package_config_nuxt_host +var port = argv.port || process.env.PORT || process.env.npm_package_config_nuxt_port +var host = argv.hostname || process.env.HOST || process.env.npm_package_config_nuxt_host var server = nuxt.server = new nuxt.Server(nuxt).listen(port, host) diff --git a/package.json b/package.json index 472d26ff40..ba306b2f61 100644 --- a/package.json +++ b/package.json @@ -80,6 +80,7 @@ "html-webpack-plugin": "^2.28.0", "lodash": "^4.17.4", "memory-fs": "^0.4.1", + "minimist": "^1.2.0", "offline-plugin": "^4.8.1", "opencollective": "^1.0.3", "pify": "^3.0.0", diff --git a/yarn.lock b/yarn.lock index 47332ff848..9d774bd451 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,14 +1,12 @@ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 - - "@ava/babel-plugin-throws-helper@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@ava/babel-plugin-throws-helper/-/babel-plugin-throws-helper-2.0.0.tgz#2fc1fe3c211a71071a4eca7b8f7af5842cd1ae7c" "@ava/babel-preset-stage-4@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@ava/babel-preset-stage-4/-/babel-preset-stage-4-1.0.0.tgz#a613b5e152f529305422546b072d47facfb26291" + version "1.1.0" + resolved "https://registry.yarnpkg.com/@ava/babel-preset-stage-4/-/babel-preset-stage-4-1.1.0.tgz#ae60be881a0babf7d35f52aba770d1f6194f76bd" dependencies: babel-plugin-check-es2015-constants "^6.8.0" babel-plugin-syntax-trailing-function-commas "^6.20.0" @@ -38,8 +36,8 @@ esutils "^2.0.2" "@types/node@^6.0.46": - version "6.0.77" - resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.77.tgz#3e4d569a427f17085e1ee4ecd3c31befb56af7b5" + version "6.0.78" + resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.78.tgz#5d4a3f579c1524e01ee21bf474e6fba09198f470" abab@^1.0.3: version "1.0.3" @@ -90,13 +88,20 @@ ajv-keywords@^1.0.0, ajv-keywords@^1.1.1: version "1.5.1" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" -ajv@^4.11.2, ajv@^4.7.0, ajv@^4.9.1: +ajv@^4.7.0, ajv@^4.9.1: version "4.11.8" resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" dependencies: co "^4.6.0" json-stable-stringify "^1.0.1" +ajv@^5.0.0: + version "5.1.5" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.1.5.tgz#8734931b601f00d4feef7c65738d77d1b65d1f68" + dependencies: + co "^4.6.0" + json-stable-stringify "^1.0.1" + align-text@^0.1.1, align-text@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" @@ -123,7 +128,7 @@ ansi-escapes@^1.1.0: version "1.4.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" -ansi-html@0.0.7, ansi-html@^0.0.7: +ansi-html@^0.0.7, ansi-html@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" @@ -243,14 +248,14 @@ asn1@~0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - assert-plus@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" +assert-plus@^1.0.0, assert-plus@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + assert@^1.1.1: version "1.4.1" resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" @@ -411,19 +416,19 @@ babel-code-frame@^6.11.0, babel-code-frame@^6.16.0, babel-code-frame@^6.22.0: js-tokens "^3.0.0" babel-core@^6.17.0, babel-core@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.24.1.tgz#8c428564dce1e1f41fb337ec34f4c3b022b5ad83" + version "6.25.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.25.0.tgz#7dd42b0463c742e9d5296deb3ec67a9322dad729" dependencies: babel-code-frame "^6.22.0" - babel-generator "^6.24.1" + babel-generator "^6.25.0" babel-helpers "^6.24.1" babel-messages "^6.23.0" babel-register "^6.24.1" babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - babylon "^6.11.0" + babel-template "^6.25.0" + babel-traverse "^6.25.0" + babel-types "^6.25.0" + babylon "^6.17.2" convert-source-map "^1.1.0" debug "^2.1.1" json5 "^0.5.0" @@ -443,13 +448,13 @@ babel-eslint@^7.2.3: babel-types "^6.23.0" babylon "^6.17.0" -babel-generator@^6.1.0, babel-generator@^6.18.0, babel-generator@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.24.1.tgz#e715f486c58ded25649d888944d52aa07c5d9497" +babel-generator@^6.1.0, babel-generator@^6.18.0, babel-generator@^6.25.0: + version "6.25.0" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.25.0.tgz#33a1af70d5f2890aeb465a4a7793c1df6a9ea9fc" dependencies: babel-messages "^6.23.0" babel-runtime "^6.22.0" - babel-types "^6.24.1" + babel-types "^6.25.0" detect-indent "^4.0.0" jsesc "^1.3.0" lodash "^4.2.0" @@ -902,8 +907,8 @@ babel-polyfill@6.23.0: regenerator-runtime "^0.10.0" babel-preset-env@^1.2.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.5.1.tgz#d2eca6af179edf27cdc305a84820f601b456dd0b" + version "1.5.2" + resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.5.2.tgz#cd4ae90a6e94b709f97374b33e5f8b983556adef" dependencies: babel-plugin-check-es2015-constants "^6.22.0" babel-plugin-syntax-trailing-function-commas "^6.22.0" @@ -1022,42 +1027,42 @@ babel-runtime@^6.18.0, babel-runtime@^6.20.0, babel-runtime@^6.22.0: core-js "^2.4.0" regenerator-runtime "^0.10.0" -babel-template@^6.16.0, babel-template@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.24.1.tgz#04ae514f1f93b3a2537f2a0f60a5a45fb8308333" +babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.25.0: + version "6.25.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.25.0.tgz#665241166b7c2aa4c619d71e192969552b10c071" dependencies: babel-runtime "^6.22.0" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - babylon "^6.11.0" + babel-traverse "^6.25.0" + babel-types "^6.25.0" + babylon "^6.17.2" lodash "^4.2.0" -babel-traverse@^6.18.0, babel-traverse@^6.23.1, babel-traverse@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.24.1.tgz#ab36673fd356f9a0948659e7b338d5feadb31695" +babel-traverse@^6.18.0, babel-traverse@^6.23.1, babel-traverse@^6.24.1, babel-traverse@^6.25.0: + version "6.25.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.25.0.tgz#2257497e2fcd19b89edc13c4c91381f9512496f1" dependencies: babel-code-frame "^6.22.0" babel-messages "^6.23.0" babel-runtime "^6.22.0" - babel-types "^6.24.1" - babylon "^6.15.0" + babel-types "^6.25.0" + babylon "^6.17.2" debug "^2.2.0" globals "^9.0.0" invariant "^2.2.0" lodash "^4.2.0" -babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.23.0, babel-types@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.24.1.tgz#a136879dc15b3606bda0d90c1fc74304c2ff0975" +babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.23.0, babel-types@^6.24.1, babel-types@^6.25.0: + version "6.25.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.25.0.tgz#70afb248d5660e5d18f811d91c8303b54134a18e" dependencies: babel-runtime "^6.22.0" esutils "^2.0.2" lodash "^4.2.0" to-fast-properties "^1.0.1" -babylon@^6.1.0, babylon@^6.11.0, babylon@^6.13.0, babylon@^6.15.0, babylon@^6.17.0: - version "6.17.2" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.2.tgz#201d25ef5f892c41bae49488b08db0dd476e9f5c" +babylon@^6.1.0, babylon@^6.13.0, babylon@^6.17.0, babylon@^6.17.2: + version "6.17.3" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.3.tgz#1327d709950b558f204e5352587fd0290f8d8e48" balanced-match@^0.4.1, balanced-match@^0.4.2: version "0.4.2" @@ -1304,12 +1309,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.30000679" - resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000679.tgz#dd7be12f16577e5d6ae6db880c6d619e77dca365" + version "1.0.30000683" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000683.tgz#58b57ed1e0bb9da54eaf1462985147bbe16679fa" caniuse-lite@^1.0.30000670: - version "1.0.30000679" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000679.tgz#0fb5bb3658d4d4448f8f86a1c48df15664aa05ef" + version "1.0.30000683" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000683.tgz#a7573707cf2acc9217ca6484d1dfbc9f13898364" capture-stack-trace@^1.0.0: version "1.0.0" @@ -1330,7 +1335,15 @@ center-align@^0.1.1: align-text "^0.1.3" lazy-cache "^1.0.3" -chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: +chalk@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" + dependencies: + ansi-styles "~1.0.0" + has-color "~0.1.0" + strip-ansi "~0.1.0" + +chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3, chalk@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" dependencies: @@ -1340,14 +1353,6 @@ chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" - dependencies: - ansi-styles "~1.0.0" - has-color "~0.1.0" - strip-ansi "~0.1.0" - chokidar@^1.4.2, chokidar@^1.4.3, chokidar@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" @@ -1459,8 +1464,8 @@ co@^4.6.0: resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" coa@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.2.tgz#2ba9fec3b4aa43d7a49d7e6c3561e92061b6bcec" + version "1.0.3" + resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.3.tgz#1b54a5e1dcf77c990455d4deea98c564416dc893" dependencies: q "^1.1.2" @@ -1524,7 +1529,7 @@ 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.0, commander@~2.9.0, commander@2.9.x: version "2.9.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" dependencies: @@ -1850,7 +1855,7 @@ csso@~2.3.1: clap "^1.0.9" source-map "^0.5.3" -cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": +"cssom@>= 0.3.2 < 0.4.0", cssom@0.3.x: version "0.3.2" resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.2.tgz#b8036170c79f07a90ff2f16e22284027a243848b" @@ -1894,7 +1899,13 @@ debug-log@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/debug-log/-/debug-log-1.0.1.tgz#2307632d4c04382b8df8a32f70b895046d52745f" -debug@2.2.0, debug@~2.2.0: +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, debug@2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" dependencies: @@ -1906,12 +1917,6 @@ 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: - version "2.6.8" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" - dependencies: - ms "2.0.0" - 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" @@ -1969,7 +1974,7 @@ delegates@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" -depd@1.1.0, depd@~1.1.0: +depd@~1.1.0, depd@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" @@ -2010,16 +2015,16 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" -doctrine@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" +doctrine@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.0.0.tgz#c73d8d2909d22291e1a007a395804da8b665fe63" dependencies: esutils "^2.0.2" isarray "^1.0.0" -doctrine@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.0.0.tgz#c73d8d2909d22291e1a007a395804da8b665fe63" +doctrine@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" dependencies: esutils "^2.0.2" isarray "^1.0.0" @@ -2041,7 +2046,7 @@ domain-browser@^1.1.1: version "1.1.7" resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" -domelementtype@1, domelementtype@^1.3.0: +domelementtype@^1.3.0, domelementtype@1: version "1.3.0" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2" @@ -2049,16 +2054,23 @@ domelementtype@~1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" +domhandler@^2.3.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.1.tgz#892e47000a99be55bbf3774ffea0561d8879c259" + dependencies: + domelementtype "1" + domhandler@2.1: version "2.1.0" resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.1.0.tgz#d2646f5e57f6c3bab11cf6cb05d3c0acf7412594" dependencies: domelementtype "1" -domhandler@^2.3.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.1.tgz#892e47000a99be55bbf3774ffea0561d8879c259" +domutils@^1.5.1: + version "1.6.2" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.6.2.tgz#1958cc0b4c9426e9ed367fb1c8e854891b0fa3ff" dependencies: + dom-serializer "0" domelementtype "1" domutils@1.1: @@ -2074,27 +2086,20 @@ domutils@1.5.1: dom-serializer "0" domelementtype "1" -domutils@^1.5.1: - version "1.6.2" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.6.2.tgz#1958cc0b4c9426e9ed367fb1c8e854891b0fa3ff" - dependencies: - dom-serializer "0" - domelementtype "1" - dot-prop@^4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.1.1.tgz#a8493f0b7b5eeec82525b5c7587fa7de7ca859c1" dependencies: is-obj "^1.0.0" -duplexer3@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" - duplexer@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" +duplexer3@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" + ecc-jsbn@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" @@ -2119,8 +2124,8 @@ ejs@^2.3.4, ejs@^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.11: - version "1.3.13" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.13.tgz#1b3a5eace6e087bb5e257a100b0cbfe81b2891fc" + version "1.3.14" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.14.tgz#64af0f9efd3c3c6acd57d71f83b49ca7ee9c4b43" elliptic@^6.0.0: version "6.4.0" @@ -2201,7 +2206,7 @@ es6-error@^4.0.1, es6-error@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.0.2.tgz#eec5c726eacef51b7f6b73c20db6e1b13b069c98" -es6-iterator@2, es6-iterator@^2.0.1, es6-iterator@~2.0.1: +es6-iterator@^2.0.1, es6-iterator@~2.0.1, es6-iterator@2: version "2.0.1" resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.1.tgz#8e319c9f0453bf575d374940a655920e59ca5512" dependencies: @@ -2230,7 +2235,7 @@ es6-set@~0.1.5: es6-symbol "3.1.1" event-emitter "~0.3.5" -es6-symbol@3.1.1, es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1, es6-symbol@~3.1.1: +es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1, es6-symbol@~3.1.1, es6-symbol@3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" dependencies: @@ -2542,13 +2547,13 @@ extglob@^0.3.1: is-extglob "^1.0.0" extract-text-webpack-plugin@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/extract-text-webpack-plugin/-/extract-text-webpack-plugin-2.1.0.tgz#69315b885f876dbf96d3819f6a9f1cca7aebf159" + version "2.1.2" + resolved "https://registry.yarnpkg.com/extract-text-webpack-plugin/-/extract-text-webpack-plugin-2.1.2.tgz#756ef4efa8155c3681833fbc34da53b941746d6c" dependencies: - ajv "^4.11.2" async "^2.1.2" loader-utils "^1.0.2" - webpack-sources "^0.1.0" + schema-utils "^0.3.0" + webpack-sources "^1.0.1" extsprintf@1.0.2: version "1.0.2" @@ -2606,7 +2611,7 @@ fill-range@^2.1.0: repeat-element "^1.1.2" repeat-string "^1.5.2" -finalhandler@1.0.3, finalhandler@^1.0.3, finalhandler@~1.0.3: +finalhandler@^1.0.3, finalhandler@~1.0.3, finalhandler@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.0.3.tgz#ef47e77950e999780e86022a560e3217e0d0cc89" dependencies: @@ -2693,7 +2698,7 @@ forwarded@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.0.tgz#19ef9874c4ae1c297bcf078fde63a09b66a84363" -fresh@0.5.0, fresh@^0.5.0: +fresh@^0.5.0, fresh@0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.0.tgz#f474ca5e6a9246d6fd8e0953cfa9b9c805afa78e" @@ -2842,8 +2847,8 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.2: path-is-absolute "^1.0.0" globals@^9.0.0, globals@^9.14.0: - version "9.17.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-9.17.0.tgz#0c0ca696d9b9bb694d2e5470bd37777caad50286" + version "9.18.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" globby@^5.0.0: version "5.0.0" @@ -2983,7 +2988,7 @@ hawk@~3.1.3: hoek "2.x.x" sntp "1.x.x" -he@1.1.x, he@^1.1.0: +he@^1.1.0, he@1.1.x: version "1.1.1" resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" @@ -3108,14 +3113,14 @@ hullabaloo-config-manager@^1.0.0: resolve-from "^3.0.0" safe-buffer "^5.0.1" -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.13: version "0.4.17" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.17.tgz#4fdaa3b38acbc2c031b045d0edcdfe1ecab18c8d" +iconv-lite@0.4.13: + version "0.4.13" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" + icss-replace-symbols@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" @@ -3138,6 +3143,10 @@ ignore@^3.2.0, ignore@^3.3.3: version "3.3.3" resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.3.tgz#432352e57accd87ab3110e82d3fea0e47812156d" +import-lazy@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" + imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -3167,7 +3176,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1: +inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@2, inherits@2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" @@ -3179,24 +3188,6 @@ 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: - version "3.0.6" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.0.6.tgz#e04aaa9d05b7a3cb9b0f407d04375f0447190347" - dependencies: - ansi-escapes "^1.1.0" - chalk "^1.0.0" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^2.0.1" - figures "^2.0.0" - lodash "^4.3.0" - mute-stream "0.0.7" - run-async "^2.2.0" - rx "^4.1.0" - string-width "^2.0.0" - strip-ansi "^3.0.0" - through "^2.3.6" - inquirer@^0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" @@ -3215,6 +3206,24 @@ inquirer@^0.12.0: strip-ansi "^3.0.0" through "^2.3.6" +inquirer@3.0.6: + version "3.0.6" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.0.6.tgz#e04aaa9d05b7a3cb9b0f407d04375f0447190347" + dependencies: + ansi-escapes "^1.1.0" + chalk "^1.0.0" + cli-cursor "^2.1.0" + cli-width "^2.0.0" + external-editor "^2.0.1" + figures "^2.0.0" + lodash "^4.3.0" + mute-stream "0.0.7" + run-async "^2.2.0" + rx "^4.1.0" + string-width "^2.0.0" + strip-ansi "^3.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" @@ -3342,12 +3351,18 @@ is-npm@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" -is-number@^2.0.2, is-number@^2.1.0: +is-number@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" dependencies: kind-of "^3.0.2" +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + dependencies: + kind-of "^3.0.2" + is-obj@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" @@ -3430,14 +3445,14 @@ is-utf8@^0.2.0, is-utf8@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" +isarray@^1.0.0, isarray@~1.0.0, isarray@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + isarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" @@ -3499,7 +3514,7 @@ istanbul-reports@^1.1.1: dependencies: handlebars "^4.0.3" -jest-diff@19.0.0, jest-diff@^19.0.0: +jest-diff@^19.0.0, jest-diff@19.0.0: version "19.0.0" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-19.0.0.tgz#d1563cfc56c8b60232988fbc05d4d16ed90f063c" dependencies: @@ -3564,12 +3579,6 @@ jest-validate@^19.0.2: leven "^2.0.0" pretty-format "^19.0.0" -jodid25519@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" - dependencies: - jsbn "~0.1.0" - js-base64@^2.1.9: version "2.1.9" resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce" @@ -3700,6 +3709,12 @@ kind-of@^3.0.2: dependencies: is-buffer "^1.1.5" +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + dependencies: + is-buffer "^1.1.5" + klaw@^1.0.0: version "1.3.1" resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" @@ -3722,10 +3737,6 @@ lazy-cache@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" -lazy-req@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lazy-req/-/lazy-req-2.0.0.tgz#c9450a363ecdda2e6f0c70132ad4f37f8f06f2b4" - lcid@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" @@ -3766,7 +3777,7 @@ loader-runner@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" -loader-utils@0.2.x, loader-utils@^0.2.15, loader-utils@^0.2.16: +loader-utils@^0.2.15, loader-utils@^0.2.16, loader-utils@0.2.x: version "0.2.17" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" dependencies: @@ -3895,11 +3906,11 @@ lru-cache@^3.2.0: pseudomap "^1.0.1" lru-cache@^4.0.0, lru-cache@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e" + version "4.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" dependencies: - pseudomap "^1.0.1" - yallist "^2.0.0" + pseudomap "^1.0.2" + yallist "^2.1.2" macaddress@^0.2.8: version "0.2.8" @@ -4026,14 +4037,14 @@ mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.15, mime-types@~2.1.7: dependencies: mime-db "~1.27.0" +mime@^1.3.4, mime@1.3.x: + version "1.3.6" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.6.tgz#591d84d3653a6b0b4a3b9df8de5aa8108e72e5e0" + mime@1.3.4: version "1.3.4" resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" -mime@1.3.x, mime@^1.3.4: - version "1.3.6" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.6.tgz#591d84d3653a6b0b4a3b9df8de5aa8108e72e5e0" - mimic-fn@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" @@ -4046,27 +4057,35 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" -"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: +minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, "minimatch@2 || 3": version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: brace-expansion "^1.1.7" -minimist@0.0.8, minimist@~0.0.1: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - -minimist@1.2.0, minimist@^1.1.3, minimist@^1.2.0: +minimist, minimist@^1.1.3, minimist@^1.2.0, minimist@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" -"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: +minimist@~0.0.1: + version "0.0.10" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +mkdirp@^0.5.0, mkdirp@^0.5.1, "mkdirp@>=0.5 0", 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" -ms@0.7.1, ms@^0.7.1: +ms@^0.7.1: + version "0.7.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.3.tgz#708155a5e44e33f5fd0fc53e81d0d40a91be1fff" + +ms@0.7.1: version "0.7.1" resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" @@ -5010,7 +5029,7 @@ prr@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" -pseudomap@^1.0.1: +pseudomap@^1.0.1, pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" @@ -5024,26 +5043,26 @@ public-encrypt@^4.0.0: parse-asn1 "^5.0.0" randombytes "^2.0.1" -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - punycode@^1.2.4, punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + q@^1.1.2: version "1.5.0" resolved "https://registry.yarnpkg.com/q/-/q-1.5.0.tgz#dd01bac9d06d30e6f219aecb8253ee9ebdc308f1" -qs@6.4.0, qs@~6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" - qs@~6.3.0: version "6.3.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.2.tgz#e75bd5f6e268122a2a0e0bda630b2550c166502c" +qs@~6.4.0, qs@6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" + query-string@^4.1.0: version "4.3.4" resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" @@ -5055,22 +5074,22 @@ querystring-es3@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" -querystring@0.2.0, querystring@^0.2.0: +querystring@^0.2.0, querystring@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" randomatic@^1.1.3: - version "1.1.6" - resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" + version "1.1.7" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" dependencies: - is-number "^2.0.2" - kind-of "^3.0.2" + is-number "^3.0.0" + kind-of "^4.0.0" randombytes@^2.0.0, randombytes@^2.0.1: - version "2.0.4" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.4.tgz#9551df208422c8f80eb58e2326dd0b840ff22efd" + version "2.0.5" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.5.tgz#dc009a246b8d09a177b4b7a0ae77bc570f4b1b79" dependencies: - safe-buffer "^5.0.1" + safe-buffer "^5.1.0" range-parser@^1.0.3, range-parser@~1.2.0: version "1.2.0" @@ -5115,6 +5134,18 @@ read-pkg@^2.0.0: normalize-package-data "^2.3.2" path-type "^2.0.0" +readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.6: + version "2.2.11" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.11.tgz#0796b31f8d7688007ff0b93a8088d34aa17c0f72" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + safe-buffer "~5.0.1" + string_decoder "~1.0.0" + util-deprecate "~1.0.1" + readable-stream@1.0: version "1.0.34" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" @@ -5124,18 +5155,6 @@ readable-stream@1.0: isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.6: - version "2.2.10" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.10.tgz#effe72bb7c884c0dd335e2379d526196d9d011ee" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - safe-buffer "^5.0.1" - string_decoder "~1.0.0" - util-deprecate "~1.0.1" - readdirp@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" @@ -5253,8 +5272,8 @@ release-zalgo@^1.0.0: es6-error "^4.0.1" remove-trailing-separator@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.0.1.tgz#615ebb96af559552d4bf4057c8436d486ab63cc4" + version "1.0.2" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.0.2.tgz#69b062d978727ad14dc6b56ba4ab772fd8d70511" renderkid@^2.0.1: version "2.0.1" @@ -5294,31 +5313,6 @@ request-promise-native@^1.0.3, request-promise-native@^1.0.4: stealthy-require "^1.1.0" tough-cookie ">=2.3.0" -request@2.79.0: - version "2.79.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" - dependencies: - aws-sign2 "~0.6.0" - aws4 "^1.2.1" - caseless "~0.11.0" - combined-stream "~1.0.5" - extend "~3.0.0" - forever-agent "~0.6.1" - form-data "~2.1.1" - har-validator "~2.0.6" - hawk "~3.1.3" - http-signature "~1.1.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.7" - oauth-sign "~0.8.1" - qs "~6.3.0" - stringstream "~0.0.4" - tough-cookie "~2.3.0" - tunnel-agent "~0.4.1" - uuid "^3.0.0" - request@^2.79.0, request@^2.81.0: version "2.81.0" resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" @@ -5346,6 +5340,31 @@ request@^2.79.0, request@^2.81.0: tunnel-agent "^0.6.0" uuid "^3.0.0" +request@2.79.0: + version "2.79.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + caseless "~0.11.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~2.1.1" + har-validator "~2.0.6" + hawk "~3.1.3" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + oauth-sign "~0.8.1" + qs "~6.3.0" + stringstream "~0.0.4" + tough-cookie "~2.3.0" + tunnel-agent "~0.4.1" + uuid "^3.0.0" + require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -5413,7 +5432,7 @@ right-align@^0.1.1: dependencies: align-text "^0.1.1" -rimraf@2, rimraf@^2.2.8, rimraf@^2.3.3, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.1: +rimraf@^2.2.8, rimraf@^2.3.3, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@2: version "2.6.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" dependencies: @@ -5446,7 +5465,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.0.1, safe-buffer@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.0.tgz#fe4c8460397f9eaaaa58e73be46273408a45e223" @@ -5458,6 +5477,12 @@ sax@^1.2.1, sax@~1.2.1: version "1.2.2" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.2.tgz#fd8631a23bc7826bef5d871bdb87378c95647828" +schema-utils@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.3.0.tgz#f5877222ce3e931edae039f17eb3716e7137f8cf" + dependencies: + ajv "^5.0.0" + script-ext-html-webpack-plugin@^1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/script-ext-html-webpack-plugin/-/script-ext-html-webpack-plugin-1.8.1.tgz#36bba726c38bcdebc1e69333e3fd7d718a9b3195" @@ -5470,7 +5495,7 @@ semver-diff@^2.0.0: dependencies: semver "^5.0.3" -"semver@2 || 3 || 4 || 5", semver@5.3.0, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0: +semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, "semver@2 || 3 || 4 || 5", semver@5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" @@ -5496,7 +5521,7 @@ serialize-javascript@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.3.0.tgz#86a4f3752f5c7e47295449b0bbb63d64ba533f05" -serve-static@1.12.3, serve-static@^1.12.3: +serve-static@^1.12.3, serve-static@1.12.3: version "1.12.3" resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.12.3.tgz#9f4ba19e2f3030c547f8af99107838ec38d5b1e2" dependencies: @@ -5528,8 +5553,8 @@ sha.js@^2.4.0, sha.js@^2.4.8: inherits "^2.0.1" shelljs@^0.7.5: - version "0.7.7" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.7.tgz#b2f5c77ef97148f4b4f6e22682e10bba8667cff1" + version "0.7.8" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.8.tgz#decbcf874b0d1e5fb72e14b164a9683048e9acb3" dependencies: glob "^7.0.0" interpret "^1.0.0" @@ -5567,7 +5592,7 @@ sort-keys@^1.0.0, sort-keys@^1.1.1, sort-keys@^1.1.2: dependencies: is-plain-obj "^1.0.0" -source-list-map@^0.1.7, source-list-map@~0.1.7: +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" @@ -5575,22 +5600,26 @@ source-list-map@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-1.1.2.tgz#9889019d1024cce55cdc069498337ef6186a11a1" +source-list-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085" + source-map-support@^0.4.0, source-map-support@^0.4.2: version "0.4.15" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.15.tgz#03202df65c06d2bd8c7ec2362a193056fef8d3b1" dependencies: source-map "^0.5.6" -source-map@0.5.6, source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3: - version "0.5.6" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" - source-map@^0.4.4: version "0.4.4" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" dependencies: amdefine ">=0.0.4" +source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3, source-map@0.5.6, source-map@0.5.x: + version "0.5.6" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" + source-map@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" @@ -5627,8 +5656,8 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" sshpk@^1.7.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.0.tgz#ff2a3e4fd04497555fed97b39a0fd82fafb3a33c" + version "1.13.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3" dependencies: asn1 "~0.2.3" assert-plus "^1.0.0" @@ -5637,7 +5666,6 @@ sshpk@^1.7.0: optionalDependencies: bcrypt-pbkdf "^1.0.0" ecc-jsbn "~0.1.1" - jodid25519 "^1.0.0" jsbn "~0.1.0" tweetnacl "~0.14.0" @@ -5684,6 +5712,16 @@ strict-uri-encode@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" +string_decoder@^0.10.25, string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + +string_decoder@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.2.tgz#b29e1f4e1125fa97a10382b8a533737b7491e179" + dependencies: + safe-buffer "~5.0.1" + string-length@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/string-length/-/string-length-1.0.1.tgz#56970fb1c38558e9e70b728bf3de269ac45adfac" @@ -5705,16 +5743,6 @@ string-width@^2.0.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^3.0.0" -string_decoder@^0.10.25, string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - -string_decoder@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.1.tgz#62e200f039955a6810d8df0a33ffc0f013662d98" - dependencies: - safe-buffer "^5.0.1" - stringstream@~0.0.4: version "0.0.5" resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" @@ -5849,6 +5877,10 @@ text-table@^0.2.0, text-table@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" +through@^2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + through2@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" @@ -5856,10 +5888,6 @@ through2@^2.0.0: readable-stream "^2.1.5" xtend "~4.0.1" -through@^2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - time-require@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/time-require/-/time-require-0.1.2.tgz#f9e12cb370fc2605e11404582ba54ef5ca2b2d98" @@ -5897,7 +5925,7 @@ toposort@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.3.tgz#f02cd8a74bd8be2fc0e98611c3bacb95a171869c" -tough-cookie@>=2.3.0, tough-cookie@^2.3.2, tough-cookie@~2.3.0: +tough-cookie@^2.3.2, tough-cookie@>=2.3.0, tough-cookie@~2.3.0: version "2.3.2" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" dependencies: @@ -5954,13 +5982,6 @@ typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" -uglify-js@3.0.x: - version "3.0.15" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.0.15.tgz#aacb323a846b234602270dead8a32441a8806f42" - dependencies: - commander "~2.9.0" - source-map "~0.5.1" - uglify-js@^2.6, uglify-js@^2.8.27: version "2.8.28" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.28.tgz#e335032df9bb20dcb918f164589d5af47f38834a" @@ -5970,6 +5991,13 @@ uglify-js@^2.6, uglify-js@^2.8.27: optionalDependencies: uglify-to-browserify "~1.0.0" +uglify-js@3.0.x: + version "3.0.15" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.0.15.tgz#aacb323a846b234602270dead8a32441a8806f42" + dependencies: + commander "~2.9.0" + source-map "~0.5.1" + uglify-to-browserify@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" @@ -6027,15 +6055,15 @@ unzip-response@^2.0.1: resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" update-notifier@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.1.0.tgz#ec0c1e53536b76647a24b77cb83966d9315123d9" + version "2.2.0" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.2.0.tgz#1b5837cf90c0736d88627732b661c138f86de72f" dependencies: boxen "^1.0.0" chalk "^1.0.0" configstore "^3.0.0" + import-lazy "^2.1.0" is-npm "^1.0.0" latest-version "^3.0.0" - lazy-req "^2.0.0" semver-diff "^2.0.0" xdg-basedir "^3.0.0" @@ -6077,7 +6105,7 @@ util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" -util@0.10.3, util@^0.10.3: +util@^0.10.3, util@0.10.3: version "0.10.3" resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" dependencies: @@ -6161,8 +6189,8 @@ vue-router@^2.5.3: resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-2.5.3.tgz#073783f564b6aece6c8a59c63e298dc2aabfb51b" vue-server-renderer@~2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/vue-server-renderer/-/vue-server-renderer-2.3.3.tgz#1f450f8a4541b9dd3b084d6470939f82781c3e0a" + version "2.3.4" + resolved "https://registry.yarnpkg.com/vue-server-renderer/-/vue-server-renderer-2.3.4.tgz#ce1361eb32bfb84573b9c9b83f2810de8fa606c7" dependencies: chalk "^1.1.3" hash-sum "^1.0.2" @@ -6187,8 +6215,8 @@ vue-style-loader@^3.0.0: loader-utils "^1.0.2" vue-template-compiler@~2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.3.3.tgz#b5bab9ec57309c906b82a78c81a02179dbc2f470" + version "2.3.4" + resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.3.4.tgz#5a88ac2c5e4d5d6218e6aa80e7e221fb7e67894c" dependencies: de-indent "^1.0.2" he "^1.1.0" @@ -6198,8 +6226,8 @@ vue-template-es2015-compiler@^1.2.2: resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.5.2.tgz#a0a6c50c941d2a4abda963f2f42c337ac450ee95" vue@~2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/vue/-/vue-2.3.3.tgz#d1eaa8fde5240735a4563e74f2c7fead9cbb064c" + version "2.3.4" + resolved "https://registry.yarnpkg.com/vue/-/vue-2.3.4.tgz#5ec3b87a191da8090bbef56b7cfabd4158038171" vuex@^2.3.1: version "2.3.1" @@ -6259,13 +6287,6 @@ webpack-node-externals@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/webpack-node-externals/-/webpack-node-externals-1.6.0.tgz#232c62ec6092b100635a3d29d83c1747128df9bd" -webpack-sources@^0.1.0: - version "0.1.5" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.1.5.tgz#aa1f3abf0f0d74db7111c40e500b84f966640750" - dependencies: - source-list-map "~0.1.7" - source-map "~0.5.3" - webpack-sources@^0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.2.3.tgz#17c62bfaf13c707f9d02c479e0dcdde8380697fb" @@ -6273,6 +6294,13 @@ webpack-sources@^0.2.3: source-list-map "^1.1.1" source-map "~0.5.3" +webpack-sources@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.0.1.tgz#c7356436a4d13123be2e2426a05d1dad9cbe65cf" + dependencies: + source-list-map "^2.0.0" + source-map "~0.5.3" + webpack@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.6.1.tgz#2e0457f0abb1ac5df3ab106c69c672f236785f07" @@ -6346,14 +6374,18 @@ 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: - 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" +wordwrap@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" + wrap-ansi@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" @@ -6432,7 +6464,7 @@ y18n@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" -yallist@^2.0.0: +yallist@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" @@ -6498,3 +6530,4 @@ yargs@~3.10.0: cliui "^2.1.0" decamelize "^1.0.0" window-size "0.1.0" + From 4623170c996213cf94008a3dd51ddaa9c9ebadf0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Sun, 11 Jun 2017 15:49:01 +0200 Subject: [PATCH 024/236] Display localhost instead of 0.0.0.0 --- lib/server.js | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/lib/server.js b/lib/server.js index 22a08dafc1..a6f10a300b 100644 --- a/lib/server.js +++ b/lib/server.js @@ -11,14 +11,14 @@ class Server { this.app = connect() this.server = http.createServer(this.app) this.nuxt.ready() - .then(() => { - // Add Middleware - this.options.serverMiddleware.forEach(m => { - this.useMiddleware(m) - }) - // Add default render middleware - this.useMiddleware(this.render.bind(this)) + .then(() => { + // Add Middleware + this.nuxt.options.serverMiddleware.forEach(m => { + this.useMiddleware(m) }) + // Add default render middleware + this.useMiddleware(this.render.bind(this)) + }) return this } @@ -46,9 +46,15 @@ class Server { } listen (port, host) { - host = host || '127.0.0.1' + host = host || 'localhost' port = port || 3000 this.nuxt.ready() + .then(() => { + this.server.listen(port, host, () => { + let _host = host === '0.0.0.0' ? 'localhost' : host + console.log('Ready on http://%s:%s', _host, port) // eslint-disable-line no-console + }) + }) .then(() => { this.server.listen(port, host, () => { console.log('Ready on http://%s:%s', host, port) // eslint-disable-line no-console From 8853b7af04ca7a8ad2b380fc0a61729566596721 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Sun, 11 Jun 2017 21:04:59 +0200 Subject: [PATCH 025/236] Remove `build.loaders` option --- lib/webpack/base.config.js | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/lib/webpack/base.config.js b/lib/webpack/base.config.js index faf635ced0..2e0011f0bc 100644 --- a/lib/webpack/base.config.js +++ b/lib/webpack/base.config.js @@ -77,7 +77,23 @@ export default function webpackBaseConfig ({ isClient, isServer }) { { test: /\.less$/, use: styleLoader.call(this, 'less', 'less-loader') }, { test: /\.sass$/, use: styleLoader.call(this, 'sass', 'sass-loader?indentedSyntax&sourceMap') }, { test: /\.scss$/, use: styleLoader.call(this, 'sass', 'sass-loader?sourceMap') }, - { test: /\.styl(us)?$/, use: styleLoader.call(this, 'stylus', 'stylus-loader') } + { test: /\.styl(us)?$/, use: styleLoader.call(this, 'stylus', 'stylus-loader') }, + { + test: /\.(png|jpe?g|gif|svg)$/, + loader: 'url-loader', + query: { + limit: 1000, // 1KO + name: 'img/[name].[hash:7].[ext]' + } + }, + { + test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, + loader: 'url-loader', + query: { + limit: 1000, // 1 KO + name: 'fonts/[name].[hash:7].[ext]' + } + } ] }, plugins: this.options.build.plugins @@ -88,8 +104,6 @@ export default function webpackBaseConfig ({ isClient, isServer }) { new ExtractTextPlugin({ filename: this.options.build.filenames.css }) ) } - // Add nuxt build loaders (can be configured in nuxt.config.js) - config.module.rules = config.module.rules.concat(this.options.build.loaders) // Return config return config } From f9584fc810296d7ed97f68af2c346de312d24de9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Sun, 11 Jun 2017 21:12:51 +0200 Subject: [PATCH 026/236] Update example --- examples/custom-build/nuxt.config.js | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/examples/custom-build/nuxt.config.js b/examples/custom-build/nuxt.config.js index 22ba1217a6..5feedeaaef 100644 --- a/examples/custom-build/nuxt.config.js +++ b/examples/custom-build/nuxt.config.js @@ -7,21 +7,13 @@ module.exports = { app: 'app.[chunkhash].js' // default: nuxt.bundle.[chunkhash].js }, vendor: ['lodash'], - // Loaders config (Webpack 2) - loaders: [ - { - test: /\.(png|jpg|gif|svg)$/, - loader: 'url-loader', - options: { - limit: 100000, // 100KO - name: 'img/[name].[ext]?[hash]' - } - } - ], extend (config, { dev }) { if (dev) { config.devtool = (dev ? 'eval-source-map' : false) } + const urlLoader = config.module.rules.find((loader) => loader.loader === 'url-loader') + // Increase limit to 100KO + urlLoader.query.limit = 100000 } } } From 6ca11461cea3000849ecaae9bf11eeb81f483313 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Mon, 12 Jun 2017 04:13:39 +0430 Subject: [PATCH 027/236] feat(nuxt-child): bind transition calls to parent WIP for #566 --- lib/app/components/nuxt-child.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/app/components/nuxt-child.js b/lib/app/components/nuxt-child.js index becc3b82a8..492e002ac8 100644 --- a/lib/app/components/nuxt-child.js +++ b/lib/app/components/nuxt-child.js @@ -30,7 +30,7 @@ export default { functional: true, render (h, { parent, data }) { data.nuxtChild = true - + const _parent = parent const transitions = parent.$nuxt.nuxt.transitions const defaultTransition = parent.$nuxt.nuxt.defaultTransition let depth = 0 @@ -51,7 +51,7 @@ export default { let listeners = {} listenersKeys.forEach((key) => { if (typeof transition[key] === 'function') { - listeners[key] = transition[key] + listeners[key] = transition[key].bind(_parent) } }) return h('transition', { From 5c36ed7b7307c54c7323ea003edfd6a42540926c Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Mon, 12 Jun 2017 04:58:03 +0430 Subject: [PATCH 028/236] fix(client): combine & prefer leave* transitions of from route #566 --- lib/app/client.js | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/lib/app/client.js b/lib/app/client.js index ccb2381d02..422eff8221 100644 --- a/lib/app/client.js +++ b/lib/app/client.js @@ -14,12 +14,23 @@ let router <%= (store ? 'let store' : '') %> function mapTransitions(Components, to, from) { + const resolve = t => (typeof t.options.transition === 'function') + ? t.options.transition(to, from) + : Object.assign({}, t.options.transition) + + const resolveRoute = r => resolve(r.matched[0].components.default) + return Components.map((Component) => { - let transition = Component.options.transition - if (typeof transition === 'function') { - return transition(to, from) - } - return transition + let transitions = Object.assign({}, to ? resolveRoute(to) : resolve(Component)) + // Combine transitions + // Prefer leave* transitions of from route + let from_transitions = from ? resolveRoute(from) : {} + Object.keys(from_transitions).forEach(key=> { + if(from_transitions[key] && key.toLowerCase().indexOf('leave') !== -1) { + transitions[key] = from_transitions[key] + } + }) + return transitions }) } From d3f66e132e581edbc1b70cb6376027085ecf2d34 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Mon, 12 Jun 2017 05:09:42 +0430 Subject: [PATCH 029/236] chore(client): simplify resolveTransitions() #566 --- lib/app/client.js | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/lib/app/client.js b/lib/app/client.js index 422eff8221..4c2d9ff978 100644 --- a/lib/app/client.js +++ b/lib/app/client.js @@ -14,19 +14,18 @@ let router <%= (store ? 'let store' : '') %> function mapTransitions(Components, to, from) { - const resolve = t => (typeof t.options.transition === 'function') - ? t.options.transition(to, from) - : Object.assign({}, t.options.transition) + const resolveTransitions = component => (typeof component.options.transition === 'function') + ? component.options.transition(to, from) + : component.options.transition - const resolveRoute = r => resolve(r.matched[0].components.default) + const resolveRoute = route => resolveTransitions(route.matched[0].components.default) return Components.map((Component) => { - let transitions = Object.assign({}, to ? resolveRoute(to) : resolve(Component)) - // Combine transitions - // Prefer leave* transitions of from route - let from_transitions = from ? resolveRoute(from) : {} + const transitions = Object.assign({}, to ? resolveRoute(to) : resolveTransitions(Component)) + const from_transitions = from ? resolveRoute(from) : {} + // Combine transitions & prefer leave* transitions of from route Object.keys(from_transitions).forEach(key=> { - if(from_transitions[key] && key.toLowerCase().indexOf('leave') !== -1) { + if (from_transitions[key] && key.toLowerCase().indexOf('leave') !== -1) { transitions[key] = from_transitions[key] } }) From 13a4e71a83b2b20403f364d606adbba9d353e447 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Sun, 11 Jun 2017 18:47:36 +0430 Subject: [PATCH 030/236] refactor into components --- lib/server.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/server.js b/lib/server.js index a6f10a300b..f011a34dc2 100644 --- a/lib/server.js +++ b/lib/server.js @@ -11,14 +11,14 @@ class Server { this.app = connect() this.server = http.createServer(this.app) this.nuxt.ready() - .then(() => { - // Add Middleware - this.nuxt.options.serverMiddleware.forEach(m => { - this.useMiddleware(m) + .then(() => { + // Add Middleware + this.options.serverMiddleware.forEach(m => { + this.useMiddleware(m) + }) + // Add default render middleware + this.useMiddleware(this.render.bind(this)) }) - // Add default render middleware - this.useMiddleware(this.render.bind(this)) - }) return this } From 61534431a9d7a22197b056d8c7b0a20707d7baf3 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Sun, 11 Jun 2017 19:27:39 +0430 Subject: [PATCH 031/236] eslint --- lib/builder.js | 3 ++- lib/nuxt.js | 5 +++-- lib/renderer.js | 1 - lib/webpack/client.config.js | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/builder.js b/lib/builder.js index a920ccf32c..9595cafe1b 100644 --- a/lib/builder.js +++ b/lib/builder.js @@ -59,6 +59,7 @@ export default class Builder extends Tapable { if (this.options.dev) { // Don't await for builder in dev (faster startup) this.build().catch(err => { + // eslint-disable-next-line no-console console.error(err) process.exit(1) }) @@ -407,7 +408,7 @@ export default class Builder extends Tapable { router.forEach((r) => { if (!r.path.includes(':') && !r.path.includes('*')) { if (r.children) { - flatRoutes(r.children, path + r.path + '/', routes) + this.flatRoutes(r.children, path + r.path + '/', routes) } else { routes.push((r.path === '' && path[path.length - 1] === '/' ? path.slice(0, -1) : path) + r.path) } diff --git a/lib/nuxt.js b/lib/nuxt.js index ed0d35398a..c8cd78b7a4 100644 --- a/lib/nuxt.js +++ b/lib/nuxt.js @@ -57,6 +57,7 @@ export default class Nuxt extends Tapable { this.buildDir = options.buildDir // Wait for all core components be ready + // eslint-disable-next-line no-console this._ready = this.ready().catch(console.error) } @@ -98,7 +99,8 @@ export default class Nuxt extends Tapable { } await this.moduleContainer.ready() await this.builder.ready() - console.log('Nuxt Ready!') + // eslint-disable-next-line no-console + console.log('[nuxt] ready') return this } @@ -131,4 +133,3 @@ export default class Nuxt extends Tapable { }) } } - diff --git a/lib/renderer.js b/lib/renderer.js index 50cfc611d9..7bf49ad78e 100644 --- a/lib/renderer.js +++ b/lib/renderer.js @@ -12,7 +12,6 @@ setAnsiColors(ansiHTML) let jsdom = null export default class Renderer extends Tapable { - constructor (nuxt) { super() this.nuxt = nuxt diff --git a/lib/webpack/client.config.js b/lib/webpack/client.config.js index 893d879d34..ee97fc9b34 100644 --- a/lib/webpack/client.config.js +++ b/lib/webpack/client.config.js @@ -19,7 +19,7 @@ import { resolve } from 'path' | In production, will generate public/dist/style.css |-------------------------------------------------------------------------- */ -export default function webpackClientConfig() { +export default function webpackClientConfig () { let config = base.call(this, { isClient: true }) // Entry From 7760e9a49b8f3ba85dd02406a5c5b3a43531ee50 Mon Sep 17 00:00:00 2001 From: Sebastien Chopin Date: Mon, 12 Jun 2017 19:36:47 +0200 Subject: [PATCH 032/236] generate: exit when done and send back duration & errors --- bin/nuxt-generate | 1 + lib/generate.js | 1 + 2 files changed, 2 insertions(+) diff --git a/bin/nuxt-generate b/bin/nuxt-generate index c187810fa1..7d8c194db2 100755 --- a/bin/nuxt-generate +++ b/bin/nuxt-generate @@ -24,6 +24,7 @@ var nuxt = module.exports = new Nuxt(options) nuxt.generate() .then(() => { console.log('[nuxt] Generate done') // eslint-disable-line no-console + process.exit(0) }) .catch((err) => { console.error(err) // eslint-disable-line no-console diff --git a/lib/generate.js b/lib/generate.js index 7525cb843d..9436c97c15 100644 --- a/lib/generate.js +++ b/lib/generate.js @@ -158,4 +158,5 @@ export default async function () { }) console.error('==== Error report ==== \n' + report.join('\n\n')) // eslint-disable-line no-console } + return { duration, errors } } From e753f93f9741f0ce71e549fbf89e4fa594b210a0 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Tue, 13 Jun 2017 00:06:05 +0430 Subject: [PATCH 033/236] better mapTransitions prevents some unhandled cases --- lib/app/client.js | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/lib/app/client.js b/lib/app/client.js index 4c2d9ff978..fb0745b3d1 100644 --- a/lib/app/client.js +++ b/lib/app/client.js @@ -14,21 +14,25 @@ let router <%= (store ? 'let store' : '') %> function mapTransitions(Components, to, from) { - const resolveTransitions = component => (typeof component.options.transition === 'function') - ? component.options.transition(to, from) - : component.options.transition - - const resolveRoute = route => resolveTransitions(route.matched[0].components.default) - + function componentTransitions(component) { + if (!component || !component.options || !component.options.transition) { + return {} + } + if(typeof component.options.transition === 'function') { + return component.options.transition(to, from) + } + return component.options.transition + } return Components.map((Component) => { - const transitions = Object.assign({}, to ? resolveRoute(to) : resolveTransitions(Component)) - const from_transitions = from ? resolveRoute(from) : {} - // Combine transitions & prefer leave* transitions of from route - Object.keys(from_transitions).forEach(key=> { - if (from_transitions[key] && key.toLowerCase().indexOf('leave') !== -1) { - transitions[key] = from_transitions[key] - } - }) + // Clone original object to prevent overrides + const transitions = Object.assign({}, componentTransitions(Component)) + // Combine transitions & prefer *leave* transitions of 'from' route + if(from && from.matched.length && from.matched[0].components.default) { + const from_transitions = componentTransitions(from.matched[0].components.default) + Object.keys(from_transitions) + .filter(key => from_transitions[key] && key.toLowerCase().indexOf('leave') !== -1) + .forEach(key => { transitions[key] = from_transitions[key] }) + } return transitions }) } From 84350e59c50c75063b6752599d09bec2f7439291 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Tue, 13 Jun 2017 00:06:52 +0430 Subject: [PATCH 034/236] test(utils): use Nuxt.utils --- test/utils.test.js | 33 +++++++++++++-------------------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/test/utils.test.js b/test/utils.test.js index 3a2aff00ff..71a269a27f 100644 --- a/test/utils.test.js +++ b/test/utils.test.js @@ -1,22 +1,15 @@ import test from 'ava' import ansiHTML from 'ansi-html' - -let utils -// Init nuxt.js and create server listening on localhost:4000 -test.before('Init Nuxt.js', async t => { - const Nuxt = require('../') - let nuxt = new Nuxt({ dev: false }) - utils = nuxt.utils -}) +import Nuxt from '..' test('encodeHtml', t => { const html = '

Hello

' - t.is(utils.encodeHtml(html), '<h1>Hello</h1>') + t.is(Nuxt.utils.encodeHtml(html), '<h1>Hello</h1>') }) test('getContext', t => { - let ctx = utils.getContext({ a: 1 }, { b: 2 }) - t.is(utils.getContext.length, 2) + let ctx = Nuxt.utils.getContext({ a: 1 }, { b: 2 }) + t.is(Nuxt.utils.getContext.length, 2) t.is(typeof ctx.req, 'object') t.is(typeof ctx.res, 'object') t.is(ctx.req.a, 1) @@ -24,24 +17,24 @@ test('getContext', t => { }) test('setAnsiColors', t => { - utils.setAnsiColors(ansiHTML) + Nuxt.utils.setAnsiColors(ansiHTML) t.pass() }) test('waitFor', async (t) => { let s = Date.now() - await utils.waitFor(100) + await Nuxt.utils.waitFor(100) t.true(Date.now() - s >= 100) - await utils.waitFor() + await Nuxt.utils.waitFor() }) test('urlJoin', t => { - t.is(utils.urlJoin('test', '/about'), 'test/about') + t.is(Nuxt.utils.urlJoin('test', '/about'), 'test/about') }) test('promisifyRoute (array)', t => { const array = [1] - const promise = utils.promisifyRoute(array) + const promise = Nuxt.utils.promisifyRoute(array) t.is(typeof promise, 'object') return promise .then((res) => { @@ -54,7 +47,7 @@ test('promisifyRoute (fn => array)', t => { const fn = function () { return array } - const promise = utils.promisifyRoute(fn) + const promise = Nuxt.utils.promisifyRoute(fn) t.is(typeof promise, 'object') return promise .then((res) => { @@ -69,7 +62,7 @@ test('promisifyRoute (fn => promise)', t => { resolve(array) }) } - const promise = utils.promisifyRoute(fn) + const promise = Nuxt.utils.promisifyRoute(fn) t.is(typeof promise, 'object') return promise .then((res) => { @@ -81,7 +74,7 @@ test('promisifyRoute (fn(cb) with error)', t => { const fn = function (cb) { cb(new Error('Error here')) } - const promise = utils.promisifyRoute(fn) + const promise = Nuxt.utils.promisifyRoute(fn) t.is(typeof promise, 'object') return promise .catch((e) => { @@ -94,7 +87,7 @@ test('promisifyRoute (fn(cb) with result)', t => { const fn = function (cb) { cb(null, array) } - const promise = utils.promisifyRoute(fn) + const promise = Nuxt.utils.promisifyRoute(fn) t.is(typeof promise, 'object') return promise .then((res) => { From 754fcc2f59fce1ac324b362c049030e222d2fc23 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Tue, 13 Jun 2017 00:45:28 +0430 Subject: [PATCH 035/236] update tests --- test/module.test.js | 8 +++---- test/utils.test.js | 56 ++++++++++++++++++++++----------------------- 2 files changed, 31 insertions(+), 33 deletions(-) diff --git a/test/module.test.js b/test/module.test.js index 58e15de574..59fd0c4ee3 100755 --- a/test/module.test.js +++ b/test/module.test.js @@ -1,6 +1,7 @@ import test from 'ava' -import { resolve } from 'path' +import { resolve, normalize } from 'path' import rp from 'request-promise-native' +import Nuxt from '..' const port = 4006 const url = (route) => 'http://localhost:' + port + route @@ -8,11 +9,8 @@ const url = (route) => 'http://localhost:' + port + route let nuxt = null let server = null -const wp = p => /^win/.test(process.platform) ? p.replace(/[\\/]/g, '\\\\') : p - // Init nuxt.js and create server listening on localhost:4000 test.before('Init Nuxt.js', async t => { - const Nuxt = require('../') const rootDir = resolve(__dirname, 'fixtures/module') let config = require(resolve(rootDir, 'nuxt.config.js')) config.rootDir = rootDir @@ -28,7 +26,7 @@ test('Vendor', async t => { }) test('Plugin', async t => { - t.true(nuxt.options.plugins[0].src.includes(wp('fixtures/module/.nuxt/basic.reverse.')), 'plugin added to config') + t.true(nuxt.options.plugins[0].src.includes(normalize('fixtures/module/.nuxt/basic.reverse.')), 'plugin added to config') const { html } = await nuxt.renderRoute('/') t.true(html.includes('

TXUN

'), 'plugin works') }) diff --git a/test/utils.test.js b/test/utils.test.js index 71a269a27f..acd0b20c18 100644 --- a/test/utils.test.js +++ b/test/utils.test.js @@ -1,15 +1,15 @@ import test from 'ava' import ansiHTML from 'ansi-html' -import Nuxt from '..' +import { Utils } from '..' test('encodeHtml', t => { const html = '

Hello

' - t.is(Nuxt.utils.encodeHtml(html), '<h1>Hello</h1>') + t.is(Utils.encodeHtml(html), '<h1>Hello</h1>') }) test('getContext', t => { - let ctx = Nuxt.utils.getContext({ a: 1 }, { b: 2 }) - t.is(Nuxt.utils.getContext.length, 2) + let ctx = Utils.getContext({ a: 1 }, { b: 2 }) + t.is(Utils.getContext.length, 2) t.is(typeof ctx.req, 'object') t.is(typeof ctx.res, 'object') t.is(ctx.req.a, 1) @@ -17,29 +17,29 @@ test('getContext', t => { }) test('setAnsiColors', t => { - Nuxt.utils.setAnsiColors(ansiHTML) + Utils.setAnsiColors(ansiHTML) t.pass() }) test('waitFor', async (t) => { let s = Date.now() - await Nuxt.utils.waitFor(100) + await Utils.waitFor(100) t.true(Date.now() - s >= 100) - await Nuxt.utils.waitFor() + await Utils.waitFor() }) test('urlJoin', t => { - t.is(Nuxt.utils.urlJoin('test', '/about'), 'test/about') + t.is(Utils.urlJoin('test', '/about'), 'test/about') }) test('promisifyRoute (array)', t => { const array = [1] - const promise = Nuxt.utils.promisifyRoute(array) + const promise = Utils.promisifyRoute(array) t.is(typeof promise, 'object') return promise - .then((res) => { - t.is(res, array) - }) + .then((res) => { + t.is(res, array) + }) }) test('promisifyRoute (fn => array)', t => { @@ -47,12 +47,12 @@ test('promisifyRoute (fn => array)', t => { const fn = function () { return array } - const promise = Nuxt.utils.promisifyRoute(fn) + const promise = Utils.promisifyRoute(fn) t.is(typeof promise, 'object') return promise - .then((res) => { - t.is(res, array) - }) + .then((res) => { + t.is(res, array) + }) }) test('promisifyRoute (fn => promise)', t => { @@ -62,24 +62,24 @@ test('promisifyRoute (fn => promise)', t => { resolve(array) }) } - const promise = Nuxt.utils.promisifyRoute(fn) + const promise = Utils.promisifyRoute(fn) t.is(typeof promise, 'object') return promise - .then((res) => { - t.is(res, array) - }) + .then((res) => { + t.is(res, array) + }) }) test('promisifyRoute (fn(cb) with error)', t => { const fn = function (cb) { cb(new Error('Error here')) } - const promise = Nuxt.utils.promisifyRoute(fn) + const promise = Utils.promisifyRoute(fn) t.is(typeof promise, 'object') return promise - .catch((e) => { - t.is(e.message, 'Error here') - }) + .catch((e) => { + t.is(e.message, 'Error here') + }) }) test('promisifyRoute (fn(cb) with result)', t => { @@ -87,10 +87,10 @@ test('promisifyRoute (fn(cb) with result)', t => { const fn = function (cb) { cb(null, array) } - const promise = Nuxt.utils.promisifyRoute(fn) + const promise = Utils.promisifyRoute(fn) t.is(typeof promise, 'object') return promise - .then((res) => { - t.is(res, array) - }) + .then((res) => { + t.is(res, array) + }) }) From a14819ca88f7e496b8812276a66b8eab09b287a8 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Tue, 13 Jun 2017 00:46:27 +0430 Subject: [PATCH 036/236] Nuxt.* Components --- lib/nuxt.js | 38 ++++++++++++++++++++++++-------------- 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/lib/nuxt.js b/lib/nuxt.js index c8cd78b7a4..bd826df691 100644 --- a/lib/nuxt.js +++ b/lib/nuxt.js @@ -2,15 +2,16 @@ import _ from 'lodash' import compression from 'compression' import fs from 'fs-extra' import pify from 'pify' -import Server from './server' -import ModuleContainer from './module-container' -import Builder from './builder' -import Renderer from './renderer' -import Generate from './generate' import serveStatic from 'serve-static' import { resolve, join } from 'path' -import defaults from './defaults' +import * as Utils from './utils' import Tapable from 'tapable' +import Builder from './builder' +import Renderer from './renderer' +import Generator from './generator' +import ModuleContainer from './module-container' +import Server from './server' +import Defaults from './defaults' export default class Nuxt extends Tapable { constructor (options = {}) { @@ -31,30 +32,32 @@ export default class Nuxt extends Tapable { } // Apply defaults - this.options = _.defaultsDeep(options, defaults) + this.options = _.defaultsDeep(options, Nuxt.Defaults) // Resolve dirs this.options.rootDir = (typeof options.rootDir === 'string' && options.rootDir ? options.rootDir : process.cwd()) this.options.srcDir = (typeof options.srcDir === 'string' && options.srcDir ? resolve(options.rootDir, options.srcDir) : this.options.rootDir) this.options.buildDir = join(this.options.rootDir, options.buildDir) - this.Server = Server this.componentTasks() // Create instance of core components - this.builder = new Builder(this) - this.renderer = new Renderer(this) - this.generate = new Generate(this) - this.moduleContainer = new ModuleContainer(this) + this.builder = new Nuxt.Builder(this) + this.renderer = new Nuxt.Renderer(this) + this.generator = new Nuxt.Generator(this) + this.moduleContainer = new Nuxt.ModuleContainer(this) // Backward compatibility this.render = this.renderer.render.bind(this.renderer) this.renderRoute = this.renderer.renderRoute.bind(this.renderer) this.renderAndGetWindow = this.renderer.renderAndGetWindow.bind(this.renderer) this.build = this.ready.bind(this) + this.generate = this.generator.generate.bind(this.generator) this.dir = options.rootDir this.srcDir = options.srcDir this.buildDir = options.buildDir + this.Server = Nuxt.Server + this.Utils = Nuxt.Utils // Wait for all core components be ready // eslint-disable-next-line no-console @@ -99,8 +102,6 @@ export default class Nuxt extends Tapable { } await this.moduleContainer.ready() await this.builder.ready() - // eslint-disable-next-line no-console - console.log('[nuxt] ready') return this } @@ -133,3 +134,12 @@ export default class Nuxt extends Tapable { }) } } + +// Add core components to Nuxt class +Nuxt.Defaults = Defaults +Nuxt.Utils = Utils +Nuxt.Renderer = Renderer +Nuxt.Builder = Builder +Nuxt.ModuleContainer = ModuleContainer +Nuxt.Server = Server +Nuxt.Generator = Generator From 344e4a159e10ae940544f868efac9308fd0eaa7c Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Tue, 13 Jun 2017 00:46:42 +0430 Subject: [PATCH 037/236] Update generator --- lib/{generate.js => generator.js} | 86 ++++++++++--------------------- 1 file changed, 26 insertions(+), 60 deletions(-) rename lib/{generate.js => generator.js} (72%) diff --git a/lib/generate.js b/lib/generator.js similarity index 72% rename from lib/generate.js rename to lib/generator.js index ccc017cd56..fb1e1258e0 100644 --- a/lib/generate.js +++ b/lib/generator.js @@ -12,32 +12,6 @@ const remove = pify(fs.remove) const writeFile = pify(fs.writeFile) const mkdirp = pify(fs.mkdirp) -const defaults = { - dir: 'dist', - routes: [], - interval: 0, - minify: { - collapseBooleanAttributes: true, - collapseWhitespace: true, - decodeEntities: true, - minifyCSS: true, - minifyJS: true, - processConditionalComments: true, - removeAttributeQuotes: false, - removeComments: false, - removeEmptyAttributes: true, - removeOptionalTags: true, - removeRedundantAttributes: true, - removeScriptTypeAttributes: false, - removeStyleLinkTypeAttributes: false, - removeTagWhitespace: false, - sortAttributes: true, - sortClassName: true, - trimCustomFragments: true, - useShortDoctype: true - } -} - export default class Generator extends Tapable { constructor (nuxt) { super() @@ -48,42 +22,36 @@ export default class Generator extends Tapable { async generate () { const s = Date.now() let errors = [] - /* - ** Wait for modules to be initialized - */ - await this.ready() - /* - ** Set variables - */ - this.options.generate = _.defaultsDeep(this.options.generate, defaults) + let generateRoutes = [] + + // Wait for nuxt.js to be ready + await this.nuxt._ready + + // Set variables let srcStaticPath = resolve(this.options.srcDir, 'static') - let srcBuiltPath = resolve(this.buildDir, 'dist') + let srcBuiltPath = resolve(this.options.buildDir, 'dist') let distPath = resolve(this.options.rootDir, this.options.generate.dir) let distNuxtPath = join(distPath, (isUrl(this.options.build.publicPath) ? '' : this.options.build.publicPath)) - /* - ** Launch build process - */ - await this.build() - /* - ** Clean destination folder - */ - try { - await remove(distPath) - debug('Destination folder cleaned') - } catch (e) { - } - /* - ** Copy static and built files - */ + + // Launch build process + await this.nuxt.builder.build() + + // Clean destination folder + await remove(distPath) + debug('Destination folder cleaned') + + // Copy static and built files if (fs.existsSync(srcStaticPath)) { await copy(srcStaticPath, distPath) } await copy(srcBuiltPath, distNuxtPath) debug('Static & build files copied') + + // Resolve config.generate.routes promises before generating the routes if (this.options.router.mode !== 'hash') { - // Resolve config.generate.routes promises before generating the routes try { - let generateRoutes = await promisifyRoute(this.options.generate.routes || []) + console.log('Generating routes') // eslint-disable-line no-console + generateRoutes = await promisifyRoute(this.options.generate.routes || []) } catch (e) { console.error('Could not resolve routes') // eslint-disable-line no-console console.error(e) // eslint-disable-line no-console @@ -91,7 +59,8 @@ export default class Generator extends Tapable { throw e // eslint-disable-line no-unreachable } } - function decorateWithPayloads (routes) { + + const decorateWithPayloads = (routes) => { let routeMap = {} // Fill routeMap for known routes routes.forEach((route) => { @@ -112,10 +81,8 @@ export default class Generator extends Tapable { return _.values(routeMap) } - /* - ** Generate only index.html for router.mode = 'hash' - */ - let routes = (this.options.router.mode === 'hash') ? ['/'] : this.routes + // Generate only index.html for router.mode = 'hash' + let routes = (this.options.router.mode === 'hash') ? ['/'] : this.nuxt.builder.routes routes = decorateWithPayloads(routes) while (routes.length) { @@ -124,7 +91,7 @@ export default class Generator extends Tapable { await waitFor(n++ * this.options.generate.interval) let html try { - const res = await this.renderRoute(route, { _generate: true, payload }) + const res = await this.nuxt.renderer.renderRoute(route, { _generate: true, payload }) html = res.html if (res.error) { errors.push({ type: 'handled', route, error: res.error }) @@ -149,6 +116,7 @@ export default class Generator extends Tapable { await writeFile(path, html, 'utf8') })) } + // Add .nojekyll file to let Github Pages add the _nuxt/ folder // https://help.github.com/articles/files-that-start-with-an-underscore-are-missing/ const nojekyllPath = resolve(distPath, '.nojekyll') @@ -168,6 +136,4 @@ export default class Generator extends Tapable { console.error('==== Error report ==== \n' + report.join('\n\n')) // eslint-disable-line no-console } } - } - From a774a11720d6095d4ed83dde517226a098d04417 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Tue, 13 Jun 2017 01:00:16 +0430 Subject: [PATCH 038/236] update nuxt tests --- test/index.test.js | 40 ++++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/test/index.test.js b/test/index.test.js index f910f1ea5e..619cb94f5d 100644 --- a/test/index.test.js +++ b/test/index.test.js @@ -8,13 +8,11 @@ test('Nuxt.js Class', t => { }) test.serial('Nuxt.js Instance', async t => { - process.env.NODE_ENV = 'production' - const nuxt = new Nuxt() + const nuxt = new Nuxt({ dev: false }) t.is(typeof nuxt, 'object') - t.is(nuxt.dev, false) + t.is(nuxt.options.dev, false) t.is(typeof nuxt.build, 'function') t.is(typeof nuxt.generate, 'function') - delete process.env.NODE_ENV }) test.serial('Fail when build not done and try to render', async t => { @@ -23,10 +21,12 @@ test.serial('Fail when build not done and try to render', async t => { rootDir: resolve(__dirname, 'fixtures/empty') }) return new Promise((resolve) => { - var oldExit = process.exit - var oldCE = console.error // eslint-disable-line no-console - var _log = '' - console.error = (s) => { _log += s } // eslint-disable-line no-console + let oldExit = process.exit + let oldCE = console.error // eslint-disable-line no-console + let _log = '' + console.error = (s) => { + _log += s + } // eslint-disable-line no-console process.exit = (code) => { process.exit = oldExit console.error = oldCE // eslint-disable-line no-console @@ -40,14 +40,16 @@ test.serial('Fail when build not done and try to render', async t => { test.serial('Fail to build when no pages/ directory but is in the parent', async t => { const nuxt = new Nuxt({ - dev: false, + dev: true, rootDir: resolve(__dirname, 'fixtures', 'empty', 'pages') }) return new Promise((resolve) => { - var oldExit = process.exit - var oldCE = console.error // eslint-disable-line no-console - var _log = '' - console.error = (s) => { _log += s } // eslint-disable-line no-console + let oldExit = process.exit + let oldCE = console.error // eslint-disable-line no-console + let _log = '' + console.error = (s) => { + _log += s + } // eslint-disable-line no-console process.exit = (code) => { process.exit = oldExit console.error = oldCE // eslint-disable-line no-console @@ -61,14 +63,16 @@ test.serial('Fail to build when no pages/ directory but is in the parent', async test.serial('Fail to build when no pages/ directory', async t => { const nuxt = new Nuxt({ - dev: false, + dev: true, rootDir: resolve(__dirname) }) return new Promise((resolve) => { - var oldExit = process.exit - var oldCE = console.error // eslint-disable-line no-console - var _log = '' - console.error = (s) => { _log += s } // eslint-disable-line no-console + let oldExit = process.exit + let oldCE = console.error // eslint-disable-line no-console + let _log = '' + console.error = (s) => { + _log += s + } // eslint-disable-line no-console process.exit = (code) => { process.exit = oldExit console.error = oldCE // eslint-disable-line no-console From a318144b9a5fd1683781029f266beef835602031 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Tue, 13 Jun 2017 01:02:34 +0430 Subject: [PATCH 039/236] reorder imports --- lib/builder.js | 2 +- lib/generator.js | 2 +- lib/module-container.js | 2 +- lib/nuxt.js | 2 +- lib/renderer.js | 2 +- lib/webpack/base.config.js | 4 ++-- lib/webpack/client.config.js | 2 +- lib/webpack/server.config.js | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/lib/builder.js b/lib/builder.js index 9595cafe1b..0c93052aa5 100644 --- a/lib/builder.js +++ b/lib/builder.js @@ -8,11 +8,11 @@ import PostCompilePlugin from 'post-compile-webpack-plugin' import serialize from 'serialize-javascript' import { createBundleRenderer } from 'vue-server-renderer' import { join, resolve, basename, dirname } from 'path' +import Tapable from 'tapable' import { isUrl, r, wp } from './utils' import clientWebpackConfig from './webpack/client.config.js' import serverWebpackConfig from './webpack/server.config.js' import defaults from './defaults' -import Tapable from 'tapable' const debug = require('debug')('nuxt:build') debug.color = 2 // Force green color diff --git a/lib/generator.js b/lib/generator.js index fb1e1258e0..a74e6a536b 100644 --- a/lib/generator.js +++ b/lib/generator.js @@ -2,9 +2,9 @@ import fs from 'fs-extra' import pify from 'pify' import _ from 'lodash' import { resolve, join, dirname, sep } from 'path' -import { isUrl, promisifyRoute, waitFor } from './utils' import { minify } from 'html-minifier' import Tapable from 'tapable' +import { isUrl, promisifyRoute, waitFor } from './utils' const debug = require('debug')('nuxt:generate') const copy = pify(fs.copy) diff --git a/lib/module-container.js b/lib/module-container.js index 7136af1466..8a46732f5c 100755 --- a/lib/module-container.js +++ b/lib/module-container.js @@ -2,8 +2,8 @@ import path from 'path' import fs from 'fs' import { uniq } from 'lodash' import hash from 'hash-sum' -import { chainFn, sequence } from './utils' import Tapable from 'tapable' +import { chainFn, sequence } from './utils' const debug = require('debug')('nuxt:module') diff --git a/lib/nuxt.js b/lib/nuxt.js index bd826df691..a52b6c6cc9 100644 --- a/lib/nuxt.js +++ b/lib/nuxt.js @@ -4,8 +4,8 @@ import fs from 'fs-extra' import pify from 'pify' import serveStatic from 'serve-static' import { resolve, join } from 'path' -import * as Utils from './utils' import Tapable from 'tapable' +import * as Utils from './utils' import Builder from './builder' import Renderer from './renderer' import Generator from './generator' diff --git a/lib/renderer.js b/lib/renderer.js index 7bf49ad78e..945fb03720 100644 --- a/lib/renderer.js +++ b/lib/renderer.js @@ -2,8 +2,8 @@ import ansiHTML from 'ansi-html' import serialize from 'serialize-javascript' import generateETag from 'etag' import fresh from 'fresh' -import { getContext, setAnsiColors, encodeHtml } from './utils' import Tapable from 'tapable' +import { getContext, setAnsiColors, encodeHtml } from './utils' const debug = require('debug')('nuxt:render') debug.color = 4 // Force blue color diff --git a/lib/webpack/base.config.js b/lib/webpack/base.config.js index 2e0011f0bc..fdadcbce9b 100644 --- a/lib/webpack/base.config.js +++ b/lib/webpack/base.config.js @@ -1,9 +1,9 @@ -import vueLoaderConfig from './vue-loader.config' +import ExtractTextPlugin from 'extract-text-webpack-plugin' import { defaults } from 'lodash' import { join } from 'path' import { isUrl, urlJoin } from '../utils' +import vueLoaderConfig from './vue-loader.config' import { styleLoader, extractStyles } from './helpers' -import ExtractTextPlugin from 'extract-text-webpack-plugin' /* |-------------------------------------------------------------------------- diff --git a/lib/webpack/client.config.js b/lib/webpack/client.config.js index ee97fc9b34..05b0ed2dbc 100644 --- a/lib/webpack/client.config.js +++ b/lib/webpack/client.config.js @@ -6,8 +6,8 @@ import FriendlyErrorsWebpackPlugin from 'friendly-errors-webpack-plugin' import ProgressBarPlugin from 'progress-bar-webpack-plugin' import { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer' import OfflinePlugin from 'offline-plugin' -import base from './base.config.js' import { resolve } from 'path' +import base from './base.config.js' /* |-------------------------------------------------------------------------- diff --git a/lib/webpack/server.config.js b/lib/webpack/server.config.js index 1acf86e0bd..62a2eb2b5e 100644 --- a/lib/webpack/server.config.js +++ b/lib/webpack/server.config.js @@ -1,9 +1,9 @@ import webpack from 'webpack' import VueSSRServerPlugin from 'vue-server-renderer/server-plugin' import nodeExternals from 'webpack-node-externals' -import base from './base.config.js' import { each } from 'lodash' import { resolve } from 'path' +import base from './base.config.js' /* |-------------------------------------------------------------------------- From c347a1bf4853802e6c3349db83508dc8d1e5e1f4 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Tue, 13 Jun 2017 01:10:44 +0430 Subject: [PATCH 040/236] generator: send back duration & errors Manual merge 7760e9a49b8f3ba85dd02406a5c5b3a43531ee50 --- lib/generator.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/generator.js b/lib/generator.js index a74e6a536b..14191d9939 100644 --- a/lib/generator.js +++ b/lib/generator.js @@ -135,5 +135,7 @@ export default class Generator extends Tapable { }) console.error('==== Error report ==== \n' + report.join('\n\n')) // eslint-disable-line no-console } + + return { duration, errors } } } From 00af7e5b53d7f7a2e5d6bbc0d51af7f7a22de81a Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Tue, 13 Jun 2017 01:11:26 +0430 Subject: [PATCH 041/236] eslint --- test/index.test.js | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/test/index.test.js b/test/index.test.js index 619cb94f5d..64b90556ce 100644 --- a/test/index.test.js +++ b/test/index.test.js @@ -24,9 +24,7 @@ test.serial('Fail when build not done and try to render', async t => { let oldExit = process.exit let oldCE = console.error // eslint-disable-line no-console let _log = '' - console.error = (s) => { - _log += s - } // eslint-disable-line no-console + console.error = (s) => { _log += s } // eslint-disable-line no-console process.exit = (code) => { process.exit = oldExit console.error = oldCE // eslint-disable-line no-console @@ -47,9 +45,7 @@ test.serial('Fail to build when no pages/ directory but is in the parent', async let oldExit = process.exit let oldCE = console.error // eslint-disable-line no-console let _log = '' - console.error = (s) => { - _log += s - } // eslint-disable-line no-console + console.error = (s) => { _log += s } // eslint-disable-line no-console process.exit = (code) => { process.exit = oldExit console.error = oldCE // eslint-disable-line no-console @@ -70,9 +66,7 @@ test.serial('Fail to build when no pages/ directory', async t => { let oldExit = process.exit let oldCE = console.error // eslint-disable-line no-console let _log = '' - console.error = (s) => { - _log += s - } // eslint-disable-line no-console + console.error = (s) => { _log += s } // eslint-disable-line no-console process.exit = (code) => { process.exit = oldExit console.error = oldCE // eslint-disable-line no-console From dfa1d915d64a48192c070b5bf6a32a48d3eedb73 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Tue, 13 Jun 2017 22:28:04 +0430 Subject: [PATCH 042/236] working version! --- lib/builder.js | 38 ++--- lib/defaults.js | 1 + lib/generator.js | 4 +- lib/module-container.js | 13 +- lib/nuxt.js | 23 +-- lib/renderer.js | 9 +- lib/server.js | 4 +- package.json | 1 + yarn.lock | 352 ++++++++++++++++++++-------------------- 9 files changed, 219 insertions(+), 226 deletions(-) diff --git a/lib/builder.js b/lib/builder.js index 0c93052aa5..a659aab4d0 100644 --- a/lib/builder.js +++ b/lib/builder.js @@ -8,7 +8,7 @@ import PostCompilePlugin from 'post-compile-webpack-plugin' import serialize from 'serialize-javascript' import { createBundleRenderer } from 'vue-server-renderer' import { join, resolve, basename, dirname } from 'path' -import Tapable from 'tapable' +import Tapable from 'tappable' import { isUrl, r, wp } from './utils' import clientWebpackConfig from './webpack/client.config.js' import serverWebpackConfig from './webpack/server.config.js' @@ -41,7 +41,7 @@ export default class Builder extends Tapable { this.options.build = _.defaultsDeep(this.options.build, extraDefaults) /* istanbul ignore if */ if (this.options.dev && isUrl(this.options.build.publicPath)) { - this.options.build.publicPath = defaults.publicPath.publicPath + this.options.build.publicPath = defaults.build.publicPath } // Stats @@ -52,21 +52,16 @@ export default class Builder extends Tapable { colors: true } - this._buildStatus = STATUS.INITIAL - } - - ready () { - if (this.options.dev) { + // Register build hook on init when in dev mode + this.nuxt.plugin('init', () => { // Don't await for builder in dev (faster startup) this.build().catch(err => { // eslint-disable-next-line no-console console.error(err) - process.exit(1) }) - return Promise.resolve(this) - } else { - return this.production() - } + }) + + this._buildStatus = STATUS.INITIAL } async build () { @@ -83,6 +78,7 @@ export default class Builder extends Tapable { }) } this._buildStatus = STATUS.BUILDING + // Check if pages dir exists and warn if not this._nuxtPages = typeof this.options.build.createRoutes !== 'function' @@ -96,6 +92,7 @@ export default class Builder extends Tapable { process.exit(1) } } + debug(`App root: ${this.options.srcDir}`) debug(`Generating ${this.options.buildDir} files...`) @@ -115,6 +112,10 @@ export default class Builder extends Tapable { } production () { + // Avoid calling this method multiple times + if (this._buildStatus === STATUS.BUILD_DONE) { + return this + } // Production, create server-renderer const serverConfig = this.getWebpackServerConfig() const bundlePath = join(serverConfig.output.path, 'server-bundle.json') @@ -125,6 +126,8 @@ export default class Builder extends Tapable { this.createRenderer(JSON.parse(bundle), JSON.parse(manifest)) this.addAppTemplate() } + // Flag to set that building is done + this._buildStatus = STATUS.BUILD_DONE return this } @@ -158,14 +161,7 @@ export default class Builder extends Tapable { options: this.options, uniqBy: _.uniqBy, isDev: this.options.dev, - router: { - mode: this.options.router.mode, - base: this.options.router.base, - middleware: this.options.router.middleware, - linkActiveClass: this.options.router.linkActiveClass, - linkExactActiveClass: this.options.router.linkExactActiveClass, - scrollBehavior: this.options.router.scrollBehavior - }, + router: this.options.router, env: this.options.env, head: this.options.head, middleware: fs.existsSync(join(this.options.srcDir, 'middleware')), @@ -217,7 +213,7 @@ export default class Builder extends Tapable { // router.extendRoutes method if (typeof this.options.router.extendRoutes === 'function') { // let the user extend the routes - this.options.router.extendRoutes(this, templateVars.router.routes || [], r) + this.options.router.extendRoutes(templateVars.router.routes, r) } // Routes for generate command this.routes = this.flatRoutes(templateVars.router.routes || []) diff --git a/lib/defaults.js b/lib/defaults.js index d8d20df8a7..8d6ff4c75f 100755 --- a/lib/defaults.js +++ b/lib/defaults.js @@ -70,6 +70,7 @@ export default { router: { mode: 'history', base: '/', + routes: [], middleware: [], linkActiveClass: 'nuxt-link-active', linkExactActiveClass: 'nuxt-link-exact-active', diff --git a/lib/generator.js b/lib/generator.js index 14191d9939..432dcecff5 100644 --- a/lib/generator.js +++ b/lib/generator.js @@ -3,7 +3,7 @@ import pify from 'pify' import _ from 'lodash' import { resolve, join, dirname, sep } from 'path' import { minify } from 'html-minifier' -import Tapable from 'tapable' +import Tapable from 'tappable' import { isUrl, promisifyRoute, waitFor } from './utils' const debug = require('debug')('nuxt:generate') @@ -25,7 +25,7 @@ export default class Generator extends Tapable { let generateRoutes = [] // Wait for nuxt.js to be ready - await this.nuxt._ready + await this.nuxt.init() // Set variables let srcStaticPath = resolve(this.options.srcDir, 'static') diff --git a/lib/module-container.js b/lib/module-container.js index 8a46732f5c..313b738632 100755 --- a/lib/module-container.js +++ b/lib/module-container.js @@ -2,7 +2,7 @@ import path from 'path' import fs from 'fs' import { uniq } from 'lodash' import hash from 'hash-sum' -import Tapable from 'tapable' +import Tapable from 'tappable' import { chainFn, sequence } from './utils' const debug = require('debug')('nuxt:module') @@ -13,15 +13,10 @@ export default class ModuleContainer extends Tapable { this.nuxt = nuxt this.options = nuxt.options this.requiredModules = [] - } - async ready () { - if (this._ready) { - return this._ready - } - // Install all modules in sequence - await sequence(this.options.modules, this.addModule.bind(this)) - return this + this.nuxt.plugin('beforeInit', () => { + return sequence(this.options.modules, this.addModule.bind(this)) + }) } addVendor (vendor) { diff --git a/lib/nuxt.js b/lib/nuxt.js index a52b6c6cc9..d8c7c087a5 100644 --- a/lib/nuxt.js +++ b/lib/nuxt.js @@ -4,7 +4,7 @@ import fs from 'fs-extra' import pify from 'pify' import serveStatic from 'serve-static' import { resolve, join } from 'path' -import Tapable from 'tapable' +import Tapable from 'tappable' import * as Utils from './utils' import Builder from './builder' import Renderer from './renderer' @@ -42,16 +42,16 @@ export default class Nuxt extends Tapable { this.componentTasks() // Create instance of core components + this.moduleContainer = new Nuxt.ModuleContainer(this) this.builder = new Nuxt.Builder(this) this.renderer = new Nuxt.Renderer(this) this.generator = new Nuxt.Generator(this) - this.moduleContainer = new Nuxt.ModuleContainer(this) // Backward compatibility this.render = this.renderer.render.bind(this.renderer) this.renderRoute = this.renderer.renderRoute.bind(this.renderer) this.renderAndGetWindow = this.renderer.renderAndGetWindow.bind(this.renderer) - this.build = this.ready.bind(this) + this.build = this.builder.build.bind(this.builder) this.generate = this.generator.generate.bind(this.generator) this.dir = options.rootDir this.srcDir = options.srcDir @@ -59,9 +59,9 @@ export default class Nuxt extends Tapable { this.Server = Nuxt.Server this.Utils = Nuxt.Utils - // Wait for all core components be ready // eslint-disable-next-line no-console - this._ready = this.ready().catch(console.error) + this._init = this.init().catch(console.error) + this.initialized = false } componentTasks () { @@ -96,12 +96,15 @@ export default class Nuxt extends Tapable { } } - async ready () { - if (this._ready) { - return this._ready + async init () { + if (this._init) { + return this._init } - await this.moduleContainer.ready() - await this.builder.ready() + // Wait for all components to be ready + await this.applyPluginsAsync('beforeInit') + await this.applyPluginsAsync('init') + await this.applyPluginsAsync('afterInit') + this.initialized = true return this } diff --git a/lib/renderer.js b/lib/renderer.js index 945fb03720..88511d9eba 100644 --- a/lib/renderer.js +++ b/lib/renderer.js @@ -2,7 +2,7 @@ import ansiHTML from 'ansi-html' import serialize from 'serialize-javascript' import generateETag from 'etag' import fresh from 'fresh' -import Tapable from 'tapable' +import Tapable from 'tappable' import { getContext, setAnsiColors, encodeHtml } from './utils' const debug = require('debug')('nuxt:render') @@ -19,8 +19,6 @@ export default class Renderer extends Tapable { } async render (req, res) { - // Wait for nuxt.js to be ready - await this.nuxt._ready // Check if project is built for production if (!this.nuxt.builder.renderer && !this.options.dev) { console.error('> No build files found, please run `nuxt build` before launching `nuxt start`') // eslint-disable-line no-console @@ -123,8 +121,7 @@ export default class Renderer extends Tapable { async renderRoute (url, context = {}) { // Wait for nuxt.js to be ready - await this.nuxt._ready - + await this.nuxt.init() // Log rendered url debug(`Rendering url ${url}`) // Add url and isSever to the context @@ -161,7 +158,7 @@ export default class Renderer extends Tapable { async renderAndGetWindow (url, opts = {}) { if (!this.ready) { // Wait for nuxt.js to be ready - await this.nuxt._ready + await this.nuxt._init this.ready = true } diff --git a/lib/server.js b/lib/server.js index f011a34dc2..db242edb6a 100644 --- a/lib/server.js +++ b/lib/server.js @@ -10,7 +10,7 @@ class Server { // Initialize this.app = connect() this.server = http.createServer(this.app) - this.nuxt.ready() + this.nuxt.init() .then(() => { // Add Middleware this.options.serverMiddleware.forEach(m => { @@ -48,7 +48,7 @@ class Server { listen (port, host) { host = host || 'localhost' port = port || 3000 - this.nuxt.ready() + this.nuxt.init() .then(() => { this.server.listen(port, host, () => { let _host = host === '0.0.0.0' ? 'localhost' : host diff --git a/package.json b/package.json index ba306b2f61..13896c2897 100644 --- a/package.json +++ b/package.json @@ -91,6 +91,7 @@ "serialize-javascript": "^1.3.0", "serve-static": "^1.12.3", "tapable": "^0.2.6", + "tappable": "^1.0.1", "url-loader": "^0.5.8", "vue": "~2.3.3", "vue-loader": "^12.2.1", diff --git a/yarn.lock b/yarn.lock index 9d774bd451..7379f9afb8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,5 +1,7 @@ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 + + "@ava/babel-plugin-throws-helper@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@ava/babel-plugin-throws-helper/-/babel-plugin-throws-helper-2.0.0.tgz#2fc1fe3c211a71071a4eca7b8f7af5842cd1ae7c" @@ -128,7 +130,7 @@ ansi-escapes@^1.1.0: version "1.4.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" -ansi-html@^0.0.7, ansi-html@0.0.7: +ansi-html@0.0.7, ansi-html@^0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" @@ -248,14 +250,14 @@ asn1@~0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + assert-plus@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" -assert-plus@^1.0.0, assert-plus@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - assert@^1.1.1: version "1.4.1" resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" @@ -1335,15 +1337,7 @@ center-align@^0.1.1: align-text "^0.1.3" lazy-cache "^1.0.3" -chalk@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" - dependencies: - ansi-styles "~1.0.0" - has-color "~0.1.0" - strip-ansi "~0.1.0" - -chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3, chalk@1.1.3: +chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" dependencies: @@ -1353,6 +1347,14 @@ chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3, chalk@1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" +chalk@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" + dependencies: + ansi-styles "~1.0.0" + has-color "~0.1.0" + strip-ansi "~0.1.0" + chokidar@^1.4.2, chokidar@^1.4.3, chokidar@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" @@ -1529,7 +1531,7 @@ combined-stream@^1.0.5, combined-stream@~1.0.5: dependencies: delayed-stream "~1.0.0" -commander@^2.9.0, commander@~2.9.0, commander@2.9.x: +commander@2.9.x, commander@^2.9.0, commander@~2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" dependencies: @@ -1855,7 +1857,7 @@ csso@~2.3.1: clap "^1.0.9" source-map "^0.5.3" -"cssom@>= 0.3.2 < 0.4.0", cssom@0.3.x: +cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": version "0.3.2" resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.2.tgz#b8036170c79f07a90ff2f16e22284027a243848b" @@ -1899,13 +1901,7 @@ debug-log@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/debug-log/-/debug-log-1.0.1.tgz#2307632d4c04382b8df8a32f70b895046d52745f" -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, debug@2.2.0: +debug@2.2.0, debug@~2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" dependencies: @@ -1917,6 +1913,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: + version "2.6.8" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" + dependencies: + ms "2.0.0" + 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" @@ -1974,7 +1976,7 @@ delegates@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" -depd@~1.1.0, depd@1.1.0: +depd@1.1.0, depd@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" @@ -2015,16 +2017,16 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" -doctrine@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.0.0.tgz#c73d8d2909d22291e1a007a395804da8b665fe63" +doctrine@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" dependencies: esutils "^2.0.2" isarray "^1.0.0" -doctrine@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" +doctrine@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.0.0.tgz#c73d8d2909d22291e1a007a395804da8b665fe63" dependencies: esutils "^2.0.2" isarray "^1.0.0" @@ -2046,7 +2048,7 @@ domain-browser@^1.1.1: version "1.1.7" resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" -domelementtype@^1.3.0, domelementtype@1: +domelementtype@1, domelementtype@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2" @@ -2054,23 +2056,16 @@ domelementtype@~1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" -domhandler@^2.3.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.1.tgz#892e47000a99be55bbf3774ffea0561d8879c259" - dependencies: - domelementtype "1" - domhandler@2.1: version "2.1.0" resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.1.0.tgz#d2646f5e57f6c3bab11cf6cb05d3c0acf7412594" dependencies: domelementtype "1" -domutils@^1.5.1: - version "1.6.2" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.6.2.tgz#1958cc0b4c9426e9ed367fb1c8e854891b0fa3ff" +domhandler@^2.3.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.1.tgz#892e47000a99be55bbf3774ffea0561d8879c259" dependencies: - dom-serializer "0" domelementtype "1" domutils@1.1: @@ -2086,20 +2081,27 @@ domutils@1.5.1: dom-serializer "0" domelementtype "1" +domutils@^1.5.1: + version "1.6.2" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.6.2.tgz#1958cc0b4c9426e9ed367fb1c8e854891b0fa3ff" + dependencies: + dom-serializer "0" + domelementtype "1" + dot-prop@^4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.1.1.tgz#a8493f0b7b5eeec82525b5c7587fa7de7ca859c1" dependencies: is-obj "^1.0.0" -duplexer@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" - duplexer3@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" +duplexer@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" + ecc-jsbn@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" @@ -2206,7 +2208,7 @@ es6-error@^4.0.1, es6-error@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.0.2.tgz#eec5c726eacef51b7f6b73c20db6e1b13b069c98" -es6-iterator@^2.0.1, es6-iterator@~2.0.1, es6-iterator@2: +es6-iterator@2, es6-iterator@^2.0.1, es6-iterator@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.1.tgz#8e319c9f0453bf575d374940a655920e59ca5512" dependencies: @@ -2235,7 +2237,7 @@ es6-set@~0.1.5: es6-symbol "3.1.1" event-emitter "~0.3.5" -es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1, es6-symbol@~3.1.1, es6-symbol@3.1.1: +es6-symbol@3.1.1, es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1, es6-symbol@~3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" dependencies: @@ -2611,7 +2613,7 @@ fill-range@^2.1.0: repeat-element "^1.1.2" repeat-string "^1.5.2" -finalhandler@^1.0.3, finalhandler@~1.0.3, finalhandler@1.0.3: +finalhandler@1.0.3, finalhandler@^1.0.3, finalhandler@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.0.3.tgz#ef47e77950e999780e86022a560e3217e0d0cc89" dependencies: @@ -2698,7 +2700,7 @@ forwarded@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.0.tgz#19ef9874c4ae1c297bcf078fde63a09b66a84363" -fresh@^0.5.0, fresh@0.5.0: +fresh@0.5.0, fresh@^0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.0.tgz#f474ca5e6a9246d6fd8e0953cfa9b9c805afa78e" @@ -2988,7 +2990,7 @@ hawk@~3.1.3: hoek "2.x.x" sntp "1.x.x" -he@^1.1.0, he@1.1.x: +he@1.1.x, he@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" @@ -3113,14 +3115,14 @@ hullabaloo-config-manager@^1.0.0: resolve-from "^3.0.0" safe-buffer "^5.0.1" -iconv-lite@^0.4.17, iconv-lite@~0.4.13: - version "0.4.17" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.17.tgz#4fdaa3b38acbc2c031b045d0edcdfe1ecab18c8d" - 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.13: + version "0.4.17" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.17.tgz#4fdaa3b38acbc2c031b045d0edcdfe1ecab18c8d" + icss-replace-symbols@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" @@ -3176,7 +3178,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@2, inherits@2.0.3: +inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" @@ -3188,24 +3190,6 @@ 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@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" - dependencies: - ansi-escapes "^1.1.0" - ansi-regex "^2.0.0" - chalk "^1.0.0" - cli-cursor "^1.0.1" - cli-width "^2.0.0" - figures "^1.3.5" - lodash "^4.3.0" - readline2 "^1.0.1" - run-async "^0.1.0" - rx-lite "^3.1.2" - string-width "^1.0.1" - strip-ansi "^3.0.0" - through "^2.3.6" - inquirer@3.0.6: version "3.0.6" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.0.6.tgz#e04aaa9d05b7a3cb9b0f407d04375f0447190347" @@ -3224,6 +3208,24 @@ inquirer@3.0.6: strip-ansi "^3.0.0" through "^2.3.6" +inquirer@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" + dependencies: + ansi-escapes "^1.1.0" + ansi-regex "^2.0.0" + chalk "^1.0.0" + cli-cursor "^1.0.1" + cli-width "^2.0.0" + figures "^1.3.5" + lodash "^4.3.0" + readline2 "^1.0.1" + run-async "^0.1.0" + rx-lite "^3.1.2" + string-width "^1.0.1" + strip-ansi "^3.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" @@ -3445,14 +3447,14 @@ is-utf8@^0.2.0, is-utf8@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" -isarray@^1.0.0, isarray@~1.0.0, isarray@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - isarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" @@ -3514,7 +3516,7 @@ istanbul-reports@^1.1.1: dependencies: handlebars "^4.0.3" -jest-diff@^19.0.0, jest-diff@19.0.0: +jest-diff@19.0.0, jest-diff@^19.0.0: version "19.0.0" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-19.0.0.tgz#d1563cfc56c8b60232988fbc05d4d16ed90f063c" dependencies: @@ -3777,7 +3779,7 @@ loader-runner@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" -loader-utils@^0.2.15, loader-utils@^0.2.16, loader-utils@0.2.x: +loader-utils@0.2.x, loader-utils@^0.2.15, loader-utils@^0.2.16: version "0.2.17" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" dependencies: @@ -4037,14 +4039,14 @@ mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.15, mime-types@~2.1.7: dependencies: mime-db "~1.27.0" -mime@^1.3.4, mime@1.3.x: - version "1.3.6" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.6.tgz#591d84d3653a6b0b4a3b9df8de5aa8108e72e5e0" - mime@1.3.4: version "1.3.4" resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" +mime@1.3.x, mime@^1.3.4: + version "1.3.6" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.6.tgz#591d84d3653a6b0b4a3b9df8de5aa8108e72e5e0" + mimic-fn@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" @@ -4057,34 +4059,26 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" -minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, "minimatch@2 || 3": +"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: brace-expansion "^1.1.7" -minimist, minimist@^1.1.3, minimist@^1.2.0, minimist@1.2.0: +minimist, 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" - -minimist@0.0.8: +minimist@0.0.8, minimist@~0.0.1: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" -mkdirp@^0.5.0, mkdirp@^0.5.1, "mkdirp@>=0.5 0", mkdirp@~0.5.0, mkdirp@~0.5.1: +"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" -ms@^0.7.1: - version "0.7.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.3.tgz#708155a5e44e33f5fd0fc53e81d0d40a91be1fff" - ms@0.7.1: version "0.7.1" resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" @@ -4093,6 +4087,10 @@ ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" +ms@^0.7.1: + version "0.7.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.3.tgz#708155a5e44e33f5fd0fc53e81d0d40a91be1fff" + multimatch@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" @@ -5043,26 +5041,26 @@ public-encrypt@^4.0.0: parse-asn1 "^5.0.0" randombytes "^2.0.1" -punycode@^1.2.4, punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - punycode@1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" +punycode@^1.2.4, punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + q@^1.1.2: version "1.5.0" resolved "https://registry.yarnpkg.com/q/-/q-1.5.0.tgz#dd01bac9d06d30e6f219aecb8253ee9ebdc308f1" +qs@6.4.0, qs@~6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" + qs@~6.3.0: version "6.3.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.2.tgz#e75bd5f6e268122a2a0e0bda630b2550c166502c" -qs@~6.4.0, qs@6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" - query-string@^4.1.0: version "4.3.4" resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" @@ -5074,7 +5072,7 @@ querystring-es3@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" -querystring@^0.2.0, querystring@0.2.0: +querystring@0.2.0, querystring@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" @@ -5134,6 +5132,15 @@ read-pkg@^2.0.0: normalize-package-data "^2.3.2" path-type "^2.0.0" +readable-stream@1.0: + version "1.0.34" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.6: version "2.2.11" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.11.tgz#0796b31f8d7688007ff0b93a8088d34aa17c0f72" @@ -5146,15 +5153,6 @@ readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable string_decoder "~1.0.0" util-deprecate "~1.0.1" -readable-stream@1.0: - version "1.0.34" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - readdirp@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" @@ -5313,6 +5311,31 @@ request-promise-native@^1.0.3, request-promise-native@^1.0.4: stealthy-require "^1.1.0" tough-cookie ">=2.3.0" +request@2.79.0: + version "2.79.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + caseless "~0.11.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~2.1.1" + har-validator "~2.0.6" + hawk "~3.1.3" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + oauth-sign "~0.8.1" + qs "~6.3.0" + stringstream "~0.0.4" + tough-cookie "~2.3.0" + tunnel-agent "~0.4.1" + uuid "^3.0.0" + request@^2.79.0, request@^2.81.0: version "2.81.0" resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" @@ -5340,31 +5363,6 @@ request@^2.79.0, request@^2.81.0: tunnel-agent "^0.6.0" uuid "^3.0.0" -request@2.79.0: - version "2.79.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" - dependencies: - aws-sign2 "~0.6.0" - aws4 "^1.2.1" - caseless "~0.11.0" - combined-stream "~1.0.5" - extend "~3.0.0" - forever-agent "~0.6.1" - form-data "~2.1.1" - har-validator "~2.0.6" - hawk "~3.1.3" - http-signature "~1.1.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.7" - oauth-sign "~0.8.1" - qs "~6.3.0" - stringstream "~0.0.4" - tough-cookie "~2.3.0" - tunnel-agent "~0.4.1" - uuid "^3.0.0" - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -5432,7 +5430,7 @@ right-align@^0.1.1: dependencies: align-text "^0.1.1" -rimraf@^2.2.8, rimraf@^2.3.3, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@2: +rimraf@2, rimraf@^2.2.8, rimraf@^2.3.3, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" dependencies: @@ -5495,7 +5493,7 @@ semver-diff@^2.0.0: dependencies: semver "^5.0.3" -semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, "semver@2 || 3 || 4 || 5", semver@5.3.0: +"semver@2 || 3 || 4 || 5", semver@5.3.0, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" @@ -5521,7 +5519,7 @@ serialize-javascript@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.3.0.tgz#86a4f3752f5c7e47295449b0bbb63d64ba533f05" -serve-static@^1.12.3, serve-static@1.12.3: +serve-static@1.12.3, serve-static@^1.12.3: version "1.12.3" resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.12.3.tgz#9f4ba19e2f3030c547f8af99107838ec38d5b1e2" dependencies: @@ -5610,16 +5608,16 @@ source-map-support@^0.4.0, source-map-support@^0.4.2: dependencies: source-map "^0.5.6" +source-map@0.5.6, source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3: + version "0.5.6" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" + source-map@^0.4.4: version "0.4.4" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" dependencies: amdefine ">=0.0.4" -source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3, source-map@0.5.6, source-map@0.5.x: - version "0.5.6" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" - source-map@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" @@ -5712,16 +5710,6 @@ strict-uri-encode@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" -string_decoder@^0.10.25, string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - -string_decoder@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.2.tgz#b29e1f4e1125fa97a10382b8a533737b7491e179" - dependencies: - safe-buffer "~5.0.1" - string-length@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/string-length/-/string-length-1.0.1.tgz#56970fb1c38558e9e70b728bf3de269ac45adfac" @@ -5743,6 +5731,16 @@ string-width@^2.0.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^3.0.0" +string_decoder@^0.10.25, string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + +string_decoder@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.2.tgz#b29e1f4e1125fa97a10382b8a533737b7491e179" + dependencies: + safe-buffer "~5.0.1" + stringstream@~0.0.4: version "0.0.5" resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" @@ -5836,6 +5834,13 @@ 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" + dependencies: + pify "^3.0.0" + tapable "^0.2.6" + tar-pack@^3.4.0: version "3.4.0" resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.0.tgz#23be2d7f671a8339376cbdb0b8fe3fdebf317984" @@ -5877,10 +5882,6 @@ text-table@^0.2.0, text-table@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" -through@^2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - through2@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" @@ -5888,6 +5889,10 @@ through2@^2.0.0: readable-stream "^2.1.5" xtend "~4.0.1" +through@^2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + time-require@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/time-require/-/time-require-0.1.2.tgz#f9e12cb370fc2605e11404582ba54ef5ca2b2d98" @@ -5925,7 +5930,7 @@ toposort@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.3.tgz#f02cd8a74bd8be2fc0e98611c3bacb95a171869c" -tough-cookie@^2.3.2, tough-cookie@>=2.3.0, tough-cookie@~2.3.0: +tough-cookie@>=2.3.0, tough-cookie@^2.3.2, tough-cookie@~2.3.0: version "2.3.2" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" dependencies: @@ -5982,6 +5987,13 @@ typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" +uglify-js@3.0.x: + version "3.0.15" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.0.15.tgz#aacb323a846b234602270dead8a32441a8806f42" + dependencies: + commander "~2.9.0" + source-map "~0.5.1" + uglify-js@^2.6, uglify-js@^2.8.27: version "2.8.28" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.28.tgz#e335032df9bb20dcb918f164589d5af47f38834a" @@ -5991,13 +6003,6 @@ uglify-js@^2.6, uglify-js@^2.8.27: optionalDependencies: uglify-to-browserify "~1.0.0" -uglify-js@3.0.x: - version "3.0.15" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.0.15.tgz#aacb323a846b234602270dead8a32441a8806f42" - dependencies: - commander "~2.9.0" - source-map "~0.5.1" - uglify-to-browserify@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" @@ -6105,7 +6110,7 @@ util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" -util@^0.10.3, util@0.10.3: +util@0.10.3, util@^0.10.3: version "0.10.3" resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" dependencies: @@ -6374,18 +6379,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: - version "0.0.3" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" +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@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" -wordwrap@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" - wrap-ansi@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" @@ -6530,4 +6531,3 @@ yargs@~3.10.0: cliui "^2.1.0" decamelize "^1.0.0" window-size "0.1.0" - From 030273db498e058a7d8423f30d7fe08f29fb340c Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Wed, 14 Jun 2017 00:01:30 +0430 Subject: [PATCH 043/236] improve build lifecycle --- bin/nuxt-start | 10 +--------- lib/builder.js | 35 +++++++++++++++++++++-------------- lib/nuxt.js | 2 +- lib/renderer.js | 13 ------------- 4 files changed, 23 insertions(+), 37 deletions(-) diff --git a/bin/nuxt-start b/bin/nuxt-start index 970c87d7fd..d1d6a0b16c 100755 --- a/bin/nuxt-start +++ b/bin/nuxt-start @@ -4,7 +4,6 @@ var fs = require('fs') var parseArgs = require('minimist') var Nuxt = require('../') var resolve = require('path').resolve -var join = require('path').join var argv = parseArgs(process.argv.slice(2), { alias: { @@ -56,14 +55,7 @@ if (typeof options.rootDir !== 'string') { } options.dev = false // Force production mode (no webpack middleware called) -var buildDir = join(options.rootDir, (options.buildDir || '.nuxt'), 'dist', 'server-bundle.json') -// Check if project is built for production -if (!fs.existsSync(buildDir)) { - console.error('> No build files found, please run `nuxt build` before launching `nuxt start`') // eslint-disable-line no-console - process.exit(1) -} - var nuxt = module.exports = new Nuxt(options) var port = argv.port || process.env.PORT || process.env.npm_package_config_nuxt_port var host = argv.hostname || process.env.HOST || process.env.npm_package_config_nuxt_host -var server = nuxt.server = new nuxt.Server(nuxt).listen(port, host) +module.exports = nuxt.server = new nuxt.Server(nuxt).listen(port, host) diff --git a/lib/builder.js b/lib/builder.js index a659aab4d0..ad5bd872f1 100644 --- a/lib/builder.js +++ b/lib/builder.js @@ -52,19 +52,25 @@ export default class Builder extends Tapable { colors: true } - // Register build hook on init when in dev mode - this.nuxt.plugin('init', () => { - // Don't await for builder in dev (faster startup) - this.build().catch(err => { - // eslint-disable-next-line no-console - console.error(err) - }) + // Register lifecycle hooks + this.nuxt.plugin('afterInit', () => { + if (this.nuxt.dev) { + // But don't await for builder on dev (faster startup) + this.build().catch(err => { + // eslint-disable-next-line no-console + console.error(err) + }) + } else { + return this.production() + } }) this._buildStatus = STATUS.INITIAL } async build () { + // Ensure nuxt initialized + await this.nuxt.init() // Avoid calling this method multiple times if (this._buildStatus === STATUS.BUILD_DONE) { return this @@ -111,7 +117,7 @@ export default class Builder extends Tapable { return this } - production () { + async production () { // Avoid calling this method multiple times if (this._buildStatus === STATUS.BUILD_DONE) { return this @@ -120,13 +126,14 @@ export default class Builder extends Tapable { const serverConfig = this.getWebpackServerConfig() const bundlePath = join(serverConfig.output.path, 'server-bundle.json') const manifestPath = join(serverConfig.output.path, 'client-manifest.json') - if (fs.existsSync(bundlePath) && fs.existsSync(manifestPath)) { - const bundle = fs.readFileSync(bundlePath, 'utf8') - const manifest = fs.readFileSync(manifestPath, 'utf8') - this.createRenderer(JSON.parse(bundle), JSON.parse(manifest)) - this.addAppTemplate() + if (!fs.existsSync(bundlePath) || !fs.existsSync(manifestPath)) { + console.error('[warning] No build files found, trying to build for production') // eslint-disable-line no-console + await this.build() } - // Flag to set that building is done + const bundle = fs.readFileSync(bundlePath, 'utf8') + const manifest = fs.readFileSync(manifestPath, 'utf8') + this.createRenderer(JSON.parse(bundle), JSON.parse(manifest)) + this.addAppTemplate() this._buildStatus = STATUS.BUILD_DONE return this } diff --git a/lib/nuxt.js b/lib/nuxt.js index d8c7c087a5..5e96727f77 100644 --- a/lib/nuxt.js +++ b/lib/nuxt.js @@ -103,7 +103,7 @@ export default class Nuxt extends Tapable { // Wait for all components to be ready await this.applyPluginsAsync('beforeInit') await this.applyPluginsAsync('init') - await this.applyPluginsAsync('afterInit') + this.applyPluginsAsync('afterInit') this.initialized = true return this } diff --git a/lib/renderer.js b/lib/renderer.js index 88511d9eba..fae6fec069 100644 --- a/lib/renderer.js +++ b/lib/renderer.js @@ -19,11 +19,6 @@ export default class Renderer extends Tapable { } async render (req, res) { - // Check if project is built for production - if (!this.nuxt.builder.renderer && !this.options.dev) { - console.error('> No build files found, please run `nuxt build` before launching `nuxt start`') // eslint-disable-line no-console - process.exit(1) - } /* istanbul ignore if */ if (!this.nuxt.builder.renderer || !this.nuxt.builder.appTemplate) { return new Promise((resolve) => { @@ -120,8 +115,6 @@ export default class Renderer extends Tapable { } async renderRoute (url, context = {}) { - // Wait for nuxt.js to be ready - await this.nuxt.init() // Log rendered url debug(`Rendering url ${url}`) // Add url and isSever to the context @@ -156,12 +149,6 @@ export default class Renderer extends Tapable { } async renderAndGetWindow (url, opts = {}) { - if (!this.ready) { - // Wait for nuxt.js to be ready - await this.nuxt._init - this.ready = true - } - /* istanbul ignore if */ if (!jsdom) { try { From 103365d81ba6b83eb8c27194e8ce620c9ac86eae Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Wed, 14 Jun 2017 00:14:54 +0430 Subject: [PATCH 044/236] update nuxt tests --- test/index.test.js | 37 +++++++++++++------------------------ 1 file changed, 13 insertions(+), 24 deletions(-) diff --git a/test/index.test.js b/test/index.test.js index 64b90556ce..697144577b 100644 --- a/test/index.test.js +++ b/test/index.test.js @@ -8,32 +8,17 @@ test('Nuxt.js Class', t => { }) test.serial('Nuxt.js Instance', async t => { - const nuxt = new Nuxt({ dev: false }) + const nuxt = new Nuxt({ + dev: false, + rootDir: resolve(__dirname, 'fixtures', 'empty') + }) t.is(typeof nuxt, 'object') t.is(nuxt.options.dev, false) t.is(typeof nuxt.build, 'function') t.is(typeof nuxt.generate, 'function') -}) - -test.serial('Fail when build not done and try to render', async t => { - const nuxt = new Nuxt({ - dev: false, - rootDir: resolve(__dirname, 'fixtures/empty') - }) - return new Promise((resolve) => { - let oldExit = process.exit - let oldCE = console.error // eslint-disable-line no-console - let _log = '' - console.error = (s) => { _log += s } // eslint-disable-line no-console - process.exit = (code) => { - process.exit = oldExit - console.error = oldCE // eslint-disable-line no-console - t.is(code, 1) - t.true(_log.includes('No build files found, please run `nuxt build` before launching `nuxt start`')) - resolve() - } - nuxt.render() - }) + t.is(typeof nuxt._init.then, 'function') + await nuxt.init() + t.is(nuxt.initialized, true) }) test.serial('Fail to build when no pages/ directory but is in the parent', async t => { @@ -45,7 +30,9 @@ test.serial('Fail to build when no pages/ directory but is in the parent', async let oldExit = process.exit let oldCE = console.error // eslint-disable-line no-console let _log = '' - console.error = (s) => { _log += s } // eslint-disable-line no-console + console.error = (s) => { + _log += s + } // eslint-disable-line no-console process.exit = (code) => { process.exit = oldExit console.error = oldCE // eslint-disable-line no-console @@ -66,7 +53,9 @@ test.serial('Fail to build when no pages/ directory', async t => { let oldExit = process.exit let oldCE = console.error // eslint-disable-line no-console let _log = '' - console.error = (s) => { _log += s } // eslint-disable-line no-console + console.error = (s) => { + _log += s + } // eslint-disable-line no-console process.exit = (code) => { process.exit = oldExit console.error = oldCE // eslint-disable-line no-console From 1d95e38f9cd309012bae5dbb064bc8cbe366aa8b Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Wed, 14 Jun 2017 00:15:37 +0430 Subject: [PATCH 045/236] eslint --- test/index.test.js | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/test/index.test.js b/test/index.test.js index 697144577b..85900835c1 100644 --- a/test/index.test.js +++ b/test/index.test.js @@ -30,9 +30,7 @@ test.serial('Fail to build when no pages/ directory but is in the parent', async let oldExit = process.exit let oldCE = console.error // eslint-disable-line no-console let _log = '' - console.error = (s) => { - _log += s - } // eslint-disable-line no-console + console.error = (s) => { _log += s } // eslint-disable-line no-console process.exit = (code) => { process.exit = oldExit console.error = oldCE // eslint-disable-line no-console @@ -53,9 +51,7 @@ test.serial('Fail to build when no pages/ directory', async t => { let oldExit = process.exit let oldCE = console.error // eslint-disable-line no-console let _log = '' - console.error = (s) => { - _log += s - } // eslint-disable-line no-console + console.error = (s) => { _log += s } // eslint-disable-line no-console process.exit = (code) => { process.exit = oldExit console.error = oldCE // eslint-disable-line no-console From 277aa7e6fac2a426c57a3f9d864fd6e2be01f236 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Wed, 14 Jun 2017 00:24:23 +0430 Subject: [PATCH 046/236] refactor renderer init into it's component --- lib/nuxt.js | 50 ++++++++++++------------------------------------- lib/renderer.js | 26 +++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 38 deletions(-) diff --git a/lib/nuxt.js b/lib/nuxt.js index 5e96727f77..ab9a3e6573 100644 --- a/lib/nuxt.js +++ b/lib/nuxt.js @@ -1,8 +1,5 @@ import _ from 'lodash' -import compression from 'compression' import fs from 'fs-extra' -import pify from 'pify' -import serveStatic from 'serve-static' import { resolve, join } from 'path' import Tapable from 'tappable' import * as Utils from './utils' @@ -34,13 +31,22 @@ export default class Nuxt extends Tapable { // Apply defaults this.options = _.defaultsDeep(options, Nuxt.Defaults) + // If store defined, update store options to true + if (fs.existsSync(join(this.options.srcDir, 'store'))) { + this.options.store = true + } + + // If app.html is defined, set the template path to the user template + this.options.appTemplatePath = resolve(__dirname, 'views/app.template.html') + if (fs.existsSync(join(this.options.srcDir, 'app.html'))) { + this.options.appTemplatePath = join(this.options.srcDir, 'app.html') + } + // Resolve dirs this.options.rootDir = (typeof options.rootDir === 'string' && options.rootDir ? options.rootDir : process.cwd()) this.options.srcDir = (typeof options.srcDir === 'string' && options.srcDir ? resolve(options.rootDir, options.srcDir) : this.options.rootDir) this.options.buildDir = join(this.options.rootDir, options.buildDir) - this.componentTasks() - // Create instance of core components this.moduleContainer = new Nuxt.ModuleContainer(this) this.builder = new Nuxt.Builder(this) @@ -64,38 +70,6 @@ export default class Nuxt extends Tapable { this.initialized = false } - componentTasks () { - // TODO: This task should move into their own components instead - - // Error template - this.errorTemplate = _.template(fs.readFileSync(resolve(__dirname, 'views', 'error.html'), 'utf8'), { - interpolate: /{{([\s\S]+?)}}/g - }) - - // If store defined, update store options to true - if (fs.existsSync(join(this.options.srcDir, 'store'))) { - this.options.store = true - } - - // If app.html is defined, set the template path to the user template - this.options.appTemplatePath = resolve(__dirname, 'views/app.template.html') - if (fs.existsSync(join(this.options.srcDir, 'app.html'))) { - this.options.appTemplatePath = join(this.options.srcDir, 'app.html') - } - - // For serving static/ files to / - this.serveStatic = pify(serveStatic(resolve(this.options.srcDir, 'static'), this.options.render.static)) - // For serving .nuxt/dist/ files (only when build.publicPath is not an URL) - this.serveStaticNuxt = pify(serveStatic(resolve(this.options.buildDir, 'dist'), { - maxAge: (this.options.dev ? 0 : '1y') // 1 year in production - })) - - // gzip middleware for production - if (!this.options.dev && this.options.render.gzip) { - this.gzipMiddleware = pify(compression(this.options.render.gzip)) - } - } - async init () { if (this._init) { return this._init @@ -108,7 +82,7 @@ export default class Nuxt extends Tapable { return this } - close (callback) { + async close (callback) { let promises = [] /* istanbul ignore if */ if (this.webpackDevMiddleware) { diff --git a/lib/renderer.js b/lib/renderer.js index fae6fec069..6dc5ae4b32 100644 --- a/lib/renderer.js +++ b/lib/renderer.js @@ -3,6 +3,12 @@ import serialize from 'serialize-javascript' import generateETag from 'etag' import fresh from 'fresh' import Tapable from 'tappable' +import pify from 'pify' +import serveStatic from 'serve-static' +import compression from 'compression' +import _ from 'lodash' +import { resolve } from 'path' +import {readFileSync} from 'fs' import { getContext, setAnsiColors, encodeHtml } from './utils' const debug = require('debug')('nuxt:render') @@ -16,6 +22,26 @@ export default class Renderer extends Tapable { super() this.nuxt = nuxt this.options = nuxt.options + + this.nuxt.plugin('init', () => { + // For serving static/ files to / + this.serveStatic = pify(serveStatic(resolve(this.options.srcDir, 'static'), this.options.render.static)) + + // For serving .nuxt/dist/ files (only when build.publicPath is not an URL) + this.serveStaticNuxt = pify(serveStatic(resolve(this.options.buildDir, 'dist'), { + maxAge: (this.options.dev ? 0 : '1y') // 1 year in production + })) + + // gzip middleware for production + if (!this.options.dev && this.options.render.gzip) { + this.gzipMiddleware = pify(compression(this.options.render.gzip)) + } + + // Error template + this.errorTemplate = _.template(readFileSync(resolve(__dirname, 'views', 'error.html'), 'utf8'), { + interpolate: /{{([\s\S]+?)}}/g + }) + }) } async render (req, res) { From 5ba7d593aa727172aff30153e8755cb22c5eddab Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Wed, 14 Jun 2017 00:29:26 +0430 Subject: [PATCH 047/236] fix constructor order logic --- lib/nuxt.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/nuxt.js b/lib/nuxt.js index ab9a3e6573..7430e6fbc6 100644 --- a/lib/nuxt.js +++ b/lib/nuxt.js @@ -31,6 +31,11 @@ export default class Nuxt extends Tapable { // Apply defaults this.options = _.defaultsDeep(options, Nuxt.Defaults) + // Resolve dirs + this.options.rootDir = (typeof options.rootDir === 'string' && options.rootDir ? options.rootDir : process.cwd()) + this.options.srcDir = (typeof options.srcDir === 'string' && options.srcDir ? resolve(options.rootDir, options.srcDir) : this.options.rootDir) + this.options.buildDir = join(this.options.rootDir, options.buildDir) + // If store defined, update store options to true if (fs.existsSync(join(this.options.srcDir, 'store'))) { this.options.store = true @@ -42,11 +47,6 @@ export default class Nuxt extends Tapable { this.options.appTemplatePath = join(this.options.srcDir, 'app.html') } - // Resolve dirs - this.options.rootDir = (typeof options.rootDir === 'string' && options.rootDir ? options.rootDir : process.cwd()) - this.options.srcDir = (typeof options.srcDir === 'string' && options.srcDir ? resolve(options.rootDir, options.srcDir) : this.options.rootDir) - this.options.buildDir = join(this.options.rootDir, options.buildDir) - // Create instance of core components this.moduleContainer = new Nuxt.ModuleContainer(this) this.builder = new Nuxt.Builder(this) From f3ecfb6a92770a73402aadde6047bd14da73eb78 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Wed, 14 Jun 2017 00:44:51 +0430 Subject: [PATCH 048/236] better exit message --- lib/builder.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/builder.js b/lib/builder.js index ad5bd872f1..24eb400cad 100644 --- a/lib/builder.js +++ b/lib/builder.js @@ -90,10 +90,11 @@ export default class Builder extends Tapable { if (this._nuxtPages) { if (!fs.existsSync(join(this.options.srcDir, 'pages'))) { + let dir = this.options.srcDir if (fs.existsSync(join(this.options.srcDir, '..', 'pages'))) { - console.error('> No `pages` directory found. Did you mean to run `nuxt` in the parent (`../`) directory?') // eslint-disable-line no-console + console.error(`> No 'pages' directory found in ${dir}. Did you mean to run 'nuxt' in the parent ('../') directory?`) // eslint-disable-line no-console } else { - console.error('> Couldn\'t find a `pages` directory. Please create one under the project root') // eslint-disable-line no-console + console.error(`> Couldn't find a 'pages' directory in ${dir}. Please create one under the project root`) // eslint-disable-line no-console } process.exit(1) } From b79f8458426ac42e284f5f821b265540760d7999 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Wed, 14 Jun 2017 00:45:06 +0430 Subject: [PATCH 049/236] update tests --- test/fixtures/module/modules/template/index.js | 2 +- test/module.test.js | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/test/fixtures/module/modules/template/index.js b/test/fixtures/module/modules/template/index.js index 7e85b80d56..4ae607b4b6 100644 --- a/test/fixtures/module/modules/template/index.js +++ b/test/fixtures/module/modules/template/index.js @@ -2,7 +2,7 @@ const path = require('path') module.exports = function () { // Disable parsing pages/ - this.nuxt.createRoutes = () => {} + this.nuxt.options.build.createRoutes = () => {} // Add /api endpoint this.addTemplate({ fileName: 'router.js', diff --git a/test/module.test.js b/test/module.test.js index 59fd0c4ee3..14b79171c8 100755 --- a/test/module.test.js +++ b/test/module.test.js @@ -26,7 +26,8 @@ test('Vendor', async t => { }) test('Plugin', async t => { - t.true(nuxt.options.plugins[0].src.includes(normalize('fixtures/module/.nuxt/basic.reverse.')), 'plugin added to config') + t.true(normalize(nuxt.options.plugins[0].src) + .includes(normalize('fixtures/module/.nuxt/basic.reverse.')), 'plugin added to config') const { html } = await nuxt.renderRoute('/') t.true(html.includes('

TXUN

'), 'plugin works') }) From 5768ef50922a7d9ec05a36f048f5cbb224e8270e Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Wed, 14 Jun 2017 00:53:02 +0430 Subject: [PATCH 050/236] update render references --- lib/renderer.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/renderer.js b/lib/renderer.js index 6dc5ae4b32..d77290d380 100644 --- a/lib/renderer.js +++ b/lib/renderer.js @@ -63,7 +63,7 @@ export default class Renderer extends Tapable { await this.nuxt.builder.webpackHotMiddleware(req, res) } if (!this.options.dev && this.options.render.gzip) { - await this.nuxt.gzipMiddleware(req, res) + await this.gzipMiddleware(req, res) } // If base in req.url, remove it for the middleware and vue-router if (this.options.router.base !== '/' && req.url.indexOf(this.options.router.base) === 0) { @@ -71,12 +71,12 @@ export default class Renderer extends Tapable { req.url = req.url.replace(this.options.router.base, '/') } // Serve static/ files - await this.nuxt.serveStatic(req, res) + await this.serveStatic(req, res) // Serve .nuxt/dist/ files (only for production) if (!this.options.dev && req.url.indexOf(this.options.build.publicPath) === 0) { const url = req.url req.url = req.url.replace(this.options.build.publicPath, '/') - await this.nuxt.serveStaticNuxt(req, res) + await this.serveStaticNuxt(req, res) /* istanbul ignore next */ req.url = url } @@ -127,7 +127,7 @@ export default class Renderer extends Tapable { console.error(err) // eslint-disable-line no-console return err } - const html = this.nuxt.errorTemplate({ + const html = this.errorTemplate({ /* istanbul ignore if */ error: err, stack: ansiHTML(encodeHtml(err.stack)) From 4c07a397e215ef96d95346fa6ae4fc4e0ecefe2e Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Wed, 14 Jun 2017 01:04:28 +0430 Subject: [PATCH 051/236] builder: decouple build from production logic --- lib/builder.js | 5 ----- 1 file changed, 5 deletions(-) diff --git a/lib/builder.js b/lib/builder.js index 24eb400cad..487a762531 100644 --- a/lib/builder.js +++ b/lib/builder.js @@ -119,10 +119,6 @@ export default class Builder extends Tapable { } async production () { - // Avoid calling this method multiple times - if (this._buildStatus === STATUS.BUILD_DONE) { - return this - } // Production, create server-renderer const serverConfig = this.getWebpackServerConfig() const bundlePath = join(serverConfig.output.path, 'server-bundle.json') @@ -135,7 +131,6 @@ export default class Builder extends Tapable { const manifest = fs.readFileSync(manifestPath, 'utf8') this.createRenderer(JSON.parse(bundle), JSON.parse(manifest)) this.addAppTemplate() - this._buildStatus = STATUS.BUILD_DONE return this } From fa97b2af67580ba5ac748771eb96f02d837b427d Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Wed, 14 Jun 2017 01:07:28 +0430 Subject: [PATCH 052/236] typo --- lib/server.js | 5 ----- 1 file changed, 5 deletions(-) diff --git a/lib/server.js b/lib/server.js index db242edb6a..f18f2e1706 100644 --- a/lib/server.js +++ b/lib/server.js @@ -55,11 +55,6 @@ class Server { console.log('Ready on http://%s:%s', _host, port) // eslint-disable-line no-console }) }) - .then(() => { - this.server.listen(port, host, () => { - console.log('Ready on http://%s:%s', host, port) // eslint-disable-line no-console - }) - }) return this } From 37c92e73984d7f90ae41a14f8b20841512e471c5 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Wed, 14 Jun 2017 01:13:00 +0430 Subject: [PATCH 053/236] better build chain --- lib/builder.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/builder.js b/lib/builder.js index 487a762531..8ff1e3e5c0 100644 --- a/lib/builder.js +++ b/lib/builder.js @@ -125,7 +125,9 @@ export default class Builder extends Tapable { const manifestPath = join(serverConfig.output.path, 'client-manifest.json') if (!fs.existsSync(bundlePath) || !fs.existsSync(manifestPath)) { console.error('[warning] No build files found, trying to build for production') // eslint-disable-line no-console - await this.build() + return this.build().then(() => { + return this.production() + }) } const bundle = fs.readFileSync(bundlePath, 'utf8') const manifest = fs.readFileSync(manifestPath, 'utf8') From c519c3edff47c9fe805a36729a85bb1eee76b6ad Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Wed, 14 Jun 2017 02:39:03 +0430 Subject: [PATCH 054/236] fixes + improvements --- lib/builder.js | 43 ++++++++++++++++--------------- lib/generator.js | 4 --- lib/module-container.js | 26 +++++++------------ lib/nuxt.js | 28 +++++++++++++++++--- lib/renderer.js | 2 +- test/basic.fail.generate.test.js | 21 +++------------ test/index.test.js | 44 ++++++++++---------------------- 7 files changed, 74 insertions(+), 94 deletions(-) diff --git a/lib/builder.js b/lib/builder.js index 8ff1e3e5c0..ef27ca6667 100644 --- a/lib/builder.js +++ b/lib/builder.js @@ -53,38 +53,43 @@ export default class Builder extends Tapable { } // Register lifecycle hooks - this.nuxt.plugin('afterInit', () => { - if (this.nuxt.dev) { - // But don't await for builder on dev (faster startup) - this.build().catch(err => { - // eslint-disable-next-line no-console - console.error(err) - }) - } else { - return this.production() - } - }) + if (this.nuxt.options.dev) { + // Don't await for build on dev (faster startup) + this.nuxt.plugin('afterInit', () => { + this.build().catch(this.nuxt.errorHandler) + }) + } else { + this.nuxt.plugin('init', () => { + // Guess it is build or production + // If build is not called it may be nuxt.start + if (this._buildStatus === STATUS.INITIAL) { + return this.production() + } + }) + } this._buildStatus = STATUS.INITIAL } async build () { - // Ensure nuxt initialized - await this.nuxt.init() // Avoid calling this method multiple times if (this._buildStatus === STATUS.BUILD_DONE) { return this } + // If building if (this._buildStatus === STATUS.BUILDING) { return new Promise((resolve) => { setTimeout(() => { resolve(this.build()) - }, 300) + }, 1000) }) } this._buildStatus = STATUS.BUILDING + // Ensure nuxt initialized + await this.nuxt.init() + // Check if pages dir exists and warn if not this._nuxtPages = typeof this.options.build.createRoutes !== 'function' @@ -92,11 +97,10 @@ export default class Builder extends Tapable { if (!fs.existsSync(join(this.options.srcDir, 'pages'))) { let dir = this.options.srcDir if (fs.existsSync(join(this.options.srcDir, '..', 'pages'))) { - console.error(`> No 'pages' directory found in ${dir}. Did you mean to run 'nuxt' in the parent ('../') directory?`) // eslint-disable-line no-console + throw new Error(`No \`pages\` directory found in ${dir}. Did you mean to run \`nuxt\` in the parent (\`../\`) directory?`) } else { - console.error(`> Couldn't find a 'pages' directory in ${dir}. Please create one under the project root`) // eslint-disable-line no-console + throw new Error(`Couldn't find a \`pages\` directory in ${dir}. Please create one under the project root`) } - process.exit(1) } } @@ -124,10 +128,7 @@ export default class Builder extends Tapable { const bundlePath = join(serverConfig.output.path, 'server-bundle.json') const manifestPath = join(serverConfig.output.path, 'client-manifest.json') if (!fs.existsSync(bundlePath) || !fs.existsSync(manifestPath)) { - console.error('[warning] No build files found, trying to build for production') // eslint-disable-line no-console - return this.build().then(() => { - return this.production() - }) + throw new Error('No build files found, please run `nuxt build` before launching `nuxt start`') } const bundle = fs.readFileSync(bundlePath, 'utf8') const manifest = fs.readFileSync(manifestPath, 'utf8') diff --git a/lib/generator.js b/lib/generator.js index 432dcecff5..d73cb05cec 100644 --- a/lib/generator.js +++ b/lib/generator.js @@ -24,9 +24,6 @@ export default class Generator extends Tapable { let errors = [] let generateRoutes = [] - // Wait for nuxt.js to be ready - await this.nuxt.init() - // Set variables let srcStaticPath = resolve(this.options.srcDir, 'static') let srcBuiltPath = resolve(this.options.buildDir, 'dist') @@ -55,7 +52,6 @@ export default class Generator extends Tapable { } catch (e) { console.error('Could not resolve routes') // eslint-disable-line no-console console.error(e) // eslint-disable-line no-console - process.exit(1) throw e // eslint-disable-line no-unreachable } } diff --git a/lib/module-container.js b/lib/module-container.js index 313b738632..4f13c3b9c9 100755 --- a/lib/module-container.js +++ b/lib/module-container.js @@ -96,28 +96,20 @@ export default class ModuleContainer extends Tapable { const originalSrc = moduleOpts.src || moduleOpts // Resolve module let module = originalSrc - try { - if (typeof module === 'string') { - // Using ~ or ./ shorthand modules are resolved from project srcDir - if (module.indexOf('~') === 0 || module.indexOf('./') === 0) { - module = path.join(this.options.srcDir, module.substr(1)) - } - // eslint-disable-next-line no-eval - module = eval('require')(module) + + if (typeof module === 'string') { + // Using ~ or ./ shorthand modules are resolved from project srcDir + if (module.indexOf('~') === 0 || module.indexOf('./') === 0) { + module = path.join(this.options.srcDir, module.substr(1)) } - } catch (e) /* istanbul ignore next */ { - // eslint-disable-next-line no-console - console.error('[nuxt] Unable to resolve module', module) - // eslint-disable-next-line no-console - console.error(e) - process.exit(0) + // eslint-disable-next-line no-eval + module = eval('require')(module) } + // Validate module /* istanbul ignore if */ if (typeof module !== 'function') { - // eslint-disable-next-line no-console - console.error(`[nuxt] Module [${originalSrc}] should export a function`) - process.exit(1) + throw new Error(`[nuxt] Module ${JSON.stringify(originalSrc)} should export a function`) } // Module meta if (!module.meta) { diff --git a/lib/nuxt.js b/lib/nuxt.js index 7430e6fbc6..93ee1499cc 100644 --- a/lib/nuxt.js +++ b/lib/nuxt.js @@ -62,11 +62,12 @@ export default class Nuxt extends Tapable { this.dir = options.rootDir this.srcDir = options.srcDir this.buildDir = options.buildDir + this.dev = options.dev this.Server = Nuxt.Server this.Utils = Nuxt.Utils - // eslint-disable-next-line no-console - this._init = this.init().catch(console.error) + this.errorHandler = this.errorHandler.bind(this) + this._init = this.init().catch(this.errorHandler) this.initialized = false } @@ -74,14 +75,35 @@ export default class Nuxt extends Tapable { if (this._init) { return this._init } + // Wait for all components to be ready + // Including modules await this.applyPluginsAsync('beforeInit') + // Including Build await this.applyPluginsAsync('init') - this.applyPluginsAsync('afterInit') + // Extra jobs + this.applyPluginsAsync('afterInit').catch(this.errorHandler) + this.initialized = true return this } + errorHandler () { + // Global error handler + // Silent + if (this.options.errorHandler === false) { + return + } + // Custom eventHandler + if (typeof this.options.errorHandler === 'function') { + return this.options.errorHandler.apply(this, arguments) + } + // Default + // eslint-disable-next-line no-console + console.error.apply(this, arguments) + process.exit(1) + } + async close (callback) { let promises = [] /* istanbul ignore if */ diff --git a/lib/renderer.js b/lib/renderer.js index d77290d380..f0ae561a75 100644 --- a/lib/renderer.js +++ b/lib/renderer.js @@ -183,7 +183,7 @@ export default class Renderer extends Tapable { console.error('Fail when calling nuxt.renderAndGetWindow(url)') // eslint-disable-line no-console console.error('jsdom module is not installed') // eslint-disable-line no-console console.error('Please install jsdom with: npm install --save-dev jsdom') // eslint-disable-line no-console - process.exit(1) + throw e } } let options = { diff --git a/test/basic.fail.generate.test.js b/test/basic.fail.generate.test.js index c1c85a30fa..996dc142fd 100644 --- a/test/basic.fail.generate.test.js +++ b/test/basic.fail.generate.test.js @@ -7,29 +7,14 @@ test('Fail with routes() which throw an error', async t => { rootDir: resolve(__dirname, 'fixtures/basic'), dev: false, generate: { - routes: function () { - return new Promise((resolve, reject) => { - reject(new Error('Not today!')) - }) + async routes () { + throw new Error('Not today!') } } } const nuxt = new Nuxt(options) - return new Promise((resolve) => { - var oldExit = process.exit - var oldCE = console.error // eslint-disable-line no-console - var _log = '' - console.error = (s) => { _log += s } // eslint-disable-line no-console - process.exit = (code) => { - process.exit = oldExit - console.error = oldCE // eslint-disable-line no-console - t.is(code, 1) - t.true(_log.includes('Could not resolve routes')) - resolve() - } - nuxt.generate() + return nuxt.generate() .catch((e) => { t.true(e.message === 'Not today!') }) - }) }) diff --git a/test/index.test.js b/test/index.test.js index 85900835c1..73cce8fe9f 100644 --- a/test/index.test.js +++ b/test/index.test.js @@ -21,44 +21,28 @@ test.serial('Nuxt.js Instance', async t => { t.is(nuxt.initialized, true) }) -test.serial('Fail to build when no pages/ directory but is in the parent', async t => { +test.serial('Fail to build when no pages/ directory but is in the parent', t => { const nuxt = new Nuxt({ - dev: true, + dev: false, rootDir: resolve(__dirname, 'fixtures', 'empty', 'pages') }) - return new Promise((resolve) => { - let oldExit = process.exit - let oldCE = console.error // eslint-disable-line no-console - let _log = '' - console.error = (s) => { _log += s } // eslint-disable-line no-console - process.exit = (code) => { - process.exit = oldExit - console.error = oldCE // eslint-disable-line no-console - t.is(code, 1) - t.true(_log.includes('No `pages` directory found. Did you mean to run `nuxt` in the parent (`../`) directory?')) - resolve() - } - nuxt.build() + return nuxt.build().catch(err => { + let s = String(err) + t.true(s.includes('No `pages` directory found')) + t.true(s.includes('Did you mean to run `nuxt` in the parent (`../`) directory?')) + resolve() }) }) -test.serial('Fail to build when no pages/ directory', async t => { +test.serial('Fail to build when no pages/ directory', t => { const nuxt = new Nuxt({ - dev: true, + dev: false, rootDir: resolve(__dirname) }) - return new Promise((resolve) => { - let oldExit = process.exit - let oldCE = console.error // eslint-disable-line no-console - let _log = '' - console.error = (s) => { _log += s } // eslint-disable-line no-console - process.exit = (code) => { - process.exit = oldExit - console.error = oldCE // eslint-disable-line no-console - t.is(code, 1) - t.true(_log.includes('Couldn\'t find a `pages` directory. Please create one under the project root')) - resolve() - } - nuxt.build() + return nuxt.build().catch(err => { + let s = String(err) + t.true(s.includes('Couldn\'t find a `pages` directory')) + t.true(s.includes('Please create one under the project root')) + resolve() }) }) From ce5cb62ee64fbc0e8b31bdfeb61ea39ebc96dc1e Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Wed, 14 Jun 2017 02:50:19 +0430 Subject: [PATCH 055/236] fix index.test --- test/index.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/index.test.js b/test/index.test.js index 73cce8fe9f..cafaa08158 100644 --- a/test/index.test.js +++ b/test/index.test.js @@ -17,7 +17,7 @@ test.serial('Nuxt.js Instance', async t => { t.is(typeof nuxt.build, 'function') t.is(typeof nuxt.generate, 'function') t.is(typeof nuxt._init.then, 'function') - await nuxt.init() + await nuxt.build() t.is(nuxt.initialized, true) }) From 76c3b358ccae3c4ba2ce32460ae6c2edf3176612 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Wed, 14 Jun 2017 03:17:22 +0430 Subject: [PATCH 056/236] better No build files found error --- lib/builder.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/builder.js b/lib/builder.js index ef27ca6667..4ae2efa29f 100644 --- a/lib/builder.js +++ b/lib/builder.js @@ -128,7 +128,7 @@ export default class Builder extends Tapable { const bundlePath = join(serverConfig.output.path, 'server-bundle.json') const manifestPath = join(serverConfig.output.path, 'client-manifest.json') if (!fs.existsSync(bundlePath) || !fs.existsSync(manifestPath)) { - throw new Error('No build files found, please run `nuxt build` before launching `nuxt start`') + throw new Error(`No build files found in ${serverConfig.output.path}, please run \`nuxt build\` before launching \`nuxt start\``) } const bundle = fs.readFileSync(bundlePath, 'utf8') const manifest = fs.readFileSync(manifestPath, 'utf8') From b61694ca219bc8def106aabdc2d5c0ad4e4686c0 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Wed, 14 Jun 2017 03:22:30 +0430 Subject: [PATCH 057/236] clone options to prevent unwanted side-effects fixes with-config test that runs nuxt twice with same nuxt.config.js file --- lib/nuxt.js | 5 ++++- test/with-config.test.js | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/nuxt.js b/lib/nuxt.js index 93ee1499cc..6a6fbed55c 100644 --- a/lib/nuxt.js +++ b/lib/nuxt.js @@ -11,9 +11,12 @@ import Server from './server' import Defaults from './defaults' export default class Nuxt extends Tapable { - constructor (options = {}) { + constructor (_options = {}) { super() + // Clone options to prevent unwanted side-effects + const options = Object.assign({}, _options) + // Normalize options if (options.loading === true) { delete options.loading diff --git a/test/with-config.test.js b/test/with-config.test.js index 07c299f245..41fb678f42 100644 --- a/test/with-config.test.js +++ b/test/with-config.test.js @@ -111,4 +111,5 @@ test.after('Should be able to start Nuxt with build done', async t => { config.rootDir = rootDir config.dev = false nuxt = new Nuxt(config) + await nuxt.init() }) From 42bf9bb41d50e05bf20c7f61cdaa5a10d5edbc9a Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Wed, 14 Jun 2017 20:43:43 +0430 Subject: [PATCH 058/236] decouple builder from renderer + improvements --- bin/nuxt-dev | 6 +- bin/nuxt-start | 6 +- lib/builder.js | 428 ++++++++++++--------------------------- lib/defaults.js | 42 +++- lib/generator.js | 8 +- lib/nuxt.js | 103 ++++------ lib/renderer.js | 152 +++++++++++--- lib/utils.js | 115 +++++++++++ package.json | 1 - test/basic.test.js | 2 +- test/children.test.js | 2 +- test/error.test.js | 2 +- test/with-config.test.js | 2 +- 13 files changed, 473 insertions(+), 396 deletions(-) diff --git a/bin/nuxt-dev b/bin/nuxt-dev index 84efb2e442..df72c433c6 100755 --- a/bin/nuxt-dev +++ b/bin/nuxt-dev @@ -64,10 +64,10 @@ if (typeof options.rootDir !== 'string') { // Force development mode: add hot reloading and watching changes options.dev = true -var nuxt = module.exports = new Nuxt(options) +var nuxt = new Nuxt(options) var port = argv.port || process.env.PORT || process.env.npm_package_config_nuxt_port var host = argv.hostname || process.env.HOST || process.env.npm_package_config_nuxt_host -var server = nuxt.server = new nuxt.Server(nuxt).listen(port, host) +var server = new Nuxt.Server(nuxt).listen(port, host) listenOnConfigChanges(nuxt, server) @@ -102,3 +102,5 @@ function listenOnConfigChanges(nuxt, server) { chokidar.watch(nuxtConfigFile, Object.assign({}, nuxt.options.watchers.chokidar, { ignoreInitial: true })) .on('all', build) } + +module.exports = nuxt diff --git a/bin/nuxt-start b/bin/nuxt-start index d1d6a0b16c..bbdb5df1ae 100755 --- a/bin/nuxt-start +++ b/bin/nuxt-start @@ -55,7 +55,9 @@ if (typeof options.rootDir !== 'string') { } options.dev = false // Force production mode (no webpack middleware called) -var nuxt = module.exports = new Nuxt(options) +var nuxt = new Nuxt(options) var port = argv.port || process.env.PORT || process.env.npm_package_config_nuxt_port var host = argv.hostname || process.env.HOST || process.env.npm_package_config_nuxt_host -module.exports = nuxt.server = new nuxt.Server(nuxt).listen(port, host) +new Nuxt.Server(nuxt).listen(port, host) + +module.exports = nuxt diff --git a/lib/builder.js b/lib/builder.js index 4ae2efa29f..710769b1c2 100644 --- a/lib/builder.js +++ b/lib/builder.js @@ -4,15 +4,16 @@ import fs from 'fs-extra' import hash from 'hash-sum' import pify from 'pify' import webpack from 'webpack' -import PostCompilePlugin from 'post-compile-webpack-plugin' import serialize from 'serialize-javascript' -import { createBundleRenderer } from 'vue-server-renderer' +import webpackDevMiddleware from 'webpack-dev-middleware' +import webpackHotMiddleware from 'webpack-hot-middleware' import { join, resolve, basename, dirname } from 'path' import Tapable from 'tappable' -import { isUrl, r, wp } from './utils' +import { isUrl, r, wp, createRoutes } from './utils' import clientWebpackConfig from './webpack/client.config.js' import serverWebpackConfig from './webpack/server.config.js' import defaults from './defaults' +import MFS from 'memory-fs' const debug = require('debug')('nuxt:build') debug.color = 2 // Force green color @@ -24,12 +25,39 @@ const writeFile = pify(fs.writeFile) const mkdirp = pify(fs.mkdirp) const glob = pify(require('glob')) +const host = process.env.HOST || process.env.npm_package_config_nuxt_host || 'localhost' +const port = process.env.PORT || process.env.npm_package_config_nuxt_port || '3000' + +debug('loaded') + export default class Builder extends Tapable { constructor (nuxt) { super() this.nuxt = nuxt this.options = nuxt.options + this._buildStatus = STATUS.INITIAL + this.initialized = false + + // Fields that set on build + this.compiler = null + this.webpackDevMiddleware = null + this.webpackHotMiddleware = null + + if (nuxt.initialized) { + // If nuxt already initialized + this._init = this.init().catch(this.nuxt.errorHandler) + } else { + // Wait for hook + this.nuxt.plugin('init', this.init.bind(this)) + } + } + + async init () { + if (this._init) { + return this._init + } + // Add extra loaders only if they are not already provided let extraDefaults = {} if (this.options.build && !Array.isArray(this.options.build.loaders)) { @@ -38,37 +66,25 @@ export default class Builder extends Tapable { if (this.options.build && !Array.isArray(this.options.build.postcss)) { extraDefaults.postcss = defaultsPostcss } - this.options.build = _.defaultsDeep(this.options.build, extraDefaults) + _.defaultsDeep(this.options.build, extraDefaults) + /* istanbul ignore if */ if (this.options.dev && isUrl(this.options.build.publicPath)) { this.options.build.publicPath = defaults.build.publicPath } - // Stats - this.webpackStats = { + // If store defined, update store options to true unless explicitly disabled + if (this.options.store !== false && fs.existsSync(join(this.options.srcDir, 'store'))) { + this.options.store = true + } + + // Mute stats on dev + this.webpackStats = this.options.dev ? '' : { chunks: false, children: false, modules: false, colors: true } - - // Register lifecycle hooks - if (this.nuxt.options.dev) { - // Don't await for build on dev (faster startup) - this.nuxt.plugin('afterInit', () => { - this.build().catch(this.nuxt.errorHandler) - }) - } else { - this.nuxt.plugin('init', () => { - // Guess it is build or production - // If build is not called it may be nuxt.start - if (this._buildStatus === STATUS.INITIAL) { - return this.production() - } - }) - } - - this._buildStatus = STATUS.INITIAL } async build () { @@ -76,7 +92,6 @@ export default class Builder extends Tapable { if (this._buildStatus === STATUS.BUILD_DONE) { return this } - // If building if (this._buildStatus === STATUS.BUILDING) { return new Promise((resolve) => { @@ -92,7 +107,6 @@ export default class Builder extends Tapable { // Check if pages dir exists and warn if not this._nuxtPages = typeof this.options.build.createRoutes !== 'function' - if (this._nuxtPages) { if (!fs.existsSync(join(this.options.srcDir, 'pages'))) { let dir = this.options.srcDir @@ -113,39 +127,19 @@ export default class Builder extends Tapable { if (!this.options.dev) { await mkdirp(r(this.options.buildDir, 'dist')) } + // Generate routes and interpret the template files await this.generateRoutesAndFiles() - // Generate .nuxt/dist/ files - await this.buildFiles() + + // Start webpack build + await this.webpackBuild() + // Flag to set that building is done this._buildStatus = STATUS.BUILD_DONE - return this - } - async production () { - // Production, create server-renderer - const serverConfig = this.getWebpackServerConfig() - const bundlePath = join(serverConfig.output.path, 'server-bundle.json') - const manifestPath = join(serverConfig.output.path, 'client-manifest.json') - if (!fs.existsSync(bundlePath) || !fs.existsSync(manifestPath)) { - throw new Error(`No build files found in ${serverConfig.output.path}, please run \`nuxt build\` before launching \`nuxt start\``) - } - const bundle = fs.readFileSync(bundlePath, 'utf8') - const manifest = fs.readFileSync(manifestPath, 'utf8') - this.createRenderer(JSON.parse(bundle), JSON.parse(manifest)) - this.addAppTemplate() return this } - addAppTemplate () { - let templatePath = resolve(this.options.buildDir, 'dist', 'index.html') - if (fs.existsSync(templatePath)) { - this.appTemplate = _.template(fs.readFileSync(templatePath, 'utf8'), { - interpolate: /{{([\s\S]+?)}}/g - }) - } - } - async generateRoutesAndFiles () { debug('Generating files...') // -- Templates -- @@ -171,7 +165,7 @@ export default class Builder extends Tapable { env: this.options.env, head: this.options.head, middleware: fs.existsSync(join(this.options.srcDir, 'middleware')), - store: this.options.store || fs.existsSync(join(this.options.srcDir, 'store')), + store: this.options.store, css: this.options.css, plugins: this.options.plugins.map((p, i) => { if (typeof p === 'string') p = { src: p } @@ -180,7 +174,7 @@ export default class Builder extends Tapable { }), appPath: './App.vue', layouts: Object.assign({}, this.options.layouts), - loading: (typeof this.options.loading === 'string' ? r(this.options.srcDir, this.options.loading) : this.options.loading), + loading: typeof this.options.loading === 'string' ? r(this.options.srcDir, this.options.loading) : this.options.loading, transition: this.options.transition, components: { ErrorPage: this.options.ErrorPage ? r(this.options.ErrorPage) : null @@ -212,7 +206,7 @@ export default class Builder extends Tapable { if (this._nuxtPages) { // Use nuxt.js createRoutes bases on pages/ const files = await glob('pages/**/*.vue', { cwd: this.options.srcDir }) - templateVars.router.routes = this.createRoutes(files, this.options.srcDir) + templateVars.router.routes = createRoutes(files, this.options.srcDir) } else { templateVars.router.routes = this.options.build.createRoutes(this.options.srcDir) } @@ -221,8 +215,6 @@ export default class Builder extends Tapable { // let the user extend the routes this.options.router.extendRoutes(templateVars.router.routes, r) } - // Routes for generate command - this.routes = this.flatRoutes(templateVars.router.routes || []) // -- Store -- // Add store if needed @@ -290,258 +282,100 @@ export default class Builder extends Tapable { })) } - async buildFiles () { + webpackBuild () { + debug('Building files...') + let compilersOptions = [] + + // Client + let clientConfig = clientWebpackConfig.call(this) + clientConfig.name = '$client' + compilersOptions.push(clientConfig) + + // Server + if (this.options.ssr !== false) { + let serverConfig = serverWebpackConfig.call(this) + serverConfig.name = '$server' + compilersOptions.push(serverConfig) + } + + // Leverage webpack multi-compiler for faster builds + this.compiler = webpack(compilersOptions) + + // Access to compilers with name + this.compiler.compilers.forEach(compiler => { + if (compiler.name) { + this.compiler[compiler.name] = compiler + } + }) + + // Add middleware for dev if (this.options.dev) { - debug('Adding webpack middleware...') - this.createWebpackMiddleware() - this.webpackWatchAndUpdate() - this.watchFiles() - } else { - debug('Building files...') - await this.webpackRunClient() - await this.webpackRunServer() - this.addAppTemplate() + this.webpackDev() } - } - createRoutes (files, srcDir) { - let routes = [] - files.forEach((file) => { - let keys = file.replace(/^pages/, '').replace(/\.vue$/, '').replace(/\/{2,}/g, '/').split('/').slice(1) - let route = { name: '', path: '', component: r(srcDir, file) } - let parent = routes - keys.forEach((key, i) => { - route.name = route.name ? route.name + '-' + key.replace('_', '') : key.replace('_', '') - route.name += (key === '_') ? 'all' : '' - let child = _.find(parent, { name: route.name }) - if (child) { - if (!child.children) { - child.children = [] - } - parent = child.children - route.path = '' - } else { - if (key === 'index' && (i + 1) === keys.length) { - route.path += (i > 0 ? '' : '/') - } else { - route.path += '/' + (key === '_' ? '*' : key.replace('_', ':')) - if (key !== '_' && key.indexOf('_') !== -1) { - route.path += '?' - } - } - } - }) - // Order Routes path - parent.push(route) - parent.sort((a, b) => { - if (!a.path.length || a.path === '/') { - return -1 - } - if (!b.path.length || b.path === '/') { - return 1 - } - let res = 0 - let _a = a.path.split('/') - let _b = b.path.split('/') - for (let i = 0; i < _a.length; i++) { - if (res !== 0) { - break - } - let y = (_a[i].indexOf('*') > -1) ? 2 : (_a[i].indexOf(':') > -1 ? 1 : 0) - let z = (_b[i].indexOf('*') > -1) ? 2 : (_b[i].indexOf(':') > -1 ? 1 : 0) - res = y - z - if (i === _b.length - 1 && res === 0) { - res = 1 - } - } - return res === 0 ? -1 : res - }) - }) - return this.cleanChildrenRoutes(routes) - } - - cleanChildrenRoutes (routes, isChild = false) { - let start = -1 - let routesIndex = [] - routes.forEach((route) => { - if (/-index$/.test(route.name) || route.name === 'index') { - // Save indexOf 'index' key in name - let res = route.name.split('-') - let s = res.indexOf('index') - start = (start === -1 || s < start) ? s : start - routesIndex.push(res) - } - }) - routes.forEach((route) => { - route.path = (isChild) ? route.path.replace('/', '') : route.path - if (route.path.indexOf('?') > -1) { - let names = route.name.split('-') - let paths = route.path.split('/') - if (!isChild) { - paths.shift() - } // clean first / for parents - routesIndex.forEach((r) => { - let i = r.indexOf('index') - start // children names - if (i < paths.length) { - for (let a = 0; a <= i; a++) { - if (a === i) { - paths[a] = paths[a].replace('?', '') - } - if (a < i && names[a] !== r[a]) { - break - } - } - } - }) - route.path = (isChild ? '' : '/') + paths.join('/') - } - route.name = route.name.replace(/-index$/, '') - if (route.children) { - if (route.children.find((child) => child.path === '')) { - delete route.name - } - route.children = this.cleanChildrenRoutes(route.children, true) - } - }) - return routes - } - - flatRoutes (router, path = '', routes = []) { - router.forEach((r) => { - if (!r.path.includes(':') && !r.path.includes('*')) { - if (r.children) { - this.flatRoutes(r.children, path + r.path + '/', routes) - } else { - routes.push((r.path === '' && path[path.length - 1] === '/' ? path.slice(0, -1) : path) + r.path) - } - } - }) - return routes - } - - getWebpackClientConfig () { - return clientWebpackConfig.call(this) - } - - getWebpackServerConfig () { - return serverWebpackConfig.call(this) - } - - createWebpackMiddleware () { - const clientConfig = this.getWebpackClientConfig() - const host = process.env.HOST || process.env.npm_package_config_nuxt_host || 'localhost' - const port = process.env.PORT || process.env.npm_package_config_nuxt_port || '3000' - - // setup on the fly compilation + hot-reload - clientConfig.entry.app = _.flatten(['webpack-hot-middleware/client?reload=true', clientConfig.entry.app]) - clientConfig.plugins.push( - new webpack.HotModuleReplacementPlugin(), - new webpack.NoEmitOnErrorsPlugin(), - new PostCompilePlugin(stats => { - if (!stats.hasErrors() && !stats.hasWarnings()) { - // We don't use os.host() here because browsers have special behaviour with localhost - // For example chrome allows Geolocation api only to https or localhost origins - let _host = host === '0.0.0.0' ? 'localhost' : host - console.log(`> Open http://${_host}:${port}\n`) // eslint-disable-line no-console - } - }) - ) - const clientCompiler = webpack(clientConfig) - this.clientCompiler = clientCompiler - // Add the middleware to the instance context - this.webpackDevMiddleware = pify(require('webpack-dev-middleware')(clientCompiler, { - publicPath: clientConfig.output.publicPath, - stats: this.webpackStats, - quiet: true, - noInfo: true, - watchOptions: this.options.watchers.webpack - })) - this.webpackHotMiddleware = pify(require('webpack-hot-middleware')(clientCompiler, { - log: () => { - } - })) - clientCompiler.plugin('done', () => { - const fs = this.webpackDevMiddleware.fileSystem - const filePath = join(clientConfig.output.path, 'index.html') - if (fs.existsSync(filePath)) { - const template = fs.readFileSync(filePath, 'utf-8') - this.appTemplate = _.template(template, { - interpolate: /{{([\s\S]+?)}}/g - }) - } - this.watchHandler() - }) - } - - webpackWatchAndUpdate () { - const MFS = require('memory-fs') // <- dependencies of webpack - const serverFS = new MFS() - const clientFS = this.clientCompiler.outputFileSystem - const serverConfig = this.getWebpackServerConfig() - const serverCompiler = webpack(serverConfig) - const bundlePath = join(serverConfig.output.path, 'server-bundle.json') - const manifestPath = join(serverConfig.output.path, 'client-manifest.json') - serverCompiler.outputFileSystem = serverFS - const watchHandler = (err) => { - if (err) throw err - const bundleExists = serverFS.existsSync(bundlePath) - const manifestExists = clientFS.existsSync(manifestPath) - if (bundleExists && manifestExists) { - const bundle = serverFS.readFileSync(bundlePath, 'utf8') - const manifest = clientFS.readFileSync(manifestPath, 'utf8') - this.createRenderer(JSON.parse(bundle), JSON.parse(manifest)) - } - } - this.watchHandler = watchHandler - this.webpackServerWatcher = serverCompiler.watch(this.options.watchers.webpack, watchHandler) - } - - webpackRunClient () { + // Start build return new Promise((resolve, reject) => { - const clientConfig = this.getWebpackClientConfig() - const clientCompiler = webpack(clientConfig) - clientCompiler.run((err, stats) => { - if (err) return reject(err) - console.log('[nuxt:build:client]\n', stats.toString(this.webpackStats)) // eslint-disable-line no-console - if (stats.hasErrors()) { - return reject(new Error('Webpack build exited with errors')) + this.compiler.run((err, multiStats) => { + if (err) { + return reject(err) + } + for (let _stats of multiStats.stats) { + console.log(_stats.toString(this.webpackStats)) // eslint-disable-line no-console + if (_stats.hasErrors()) { + return reject(new Error('Webpack build exited with errors')) + } } resolve() }) }) } - webpackRunServer () { - return new Promise((resolve, reject) => { - const serverConfig = this.getWebpackServerConfig() - const serverCompiler = webpack(serverConfig) - serverCompiler.run((err, stats) => { - if (err) return reject(err) - console.log('[nuxt:build:server]\n', stats.toString(this.webpackStats)) // eslint-disable-line no-console - if (stats.hasErrors()) return reject(new Error('Webpack build exited with errors')) - const bundlePath = join(serverConfig.output.path, 'server-bundle.json') - const manifestPath = join(serverConfig.output.path, 'client-manifest.json') - readFile(bundlePath, 'utf8') - .then(bundle => { - readFile(manifestPath, 'utf8') - .then(manifest => { - this.createRenderer(JSON.parse(bundle), JSON.parse(manifest)) - resolve() - }) - }) - }) - }) - } + webpackDev () { + debug('Adding webpack middleware...') - createRenderer (bundle, manifest) { - // Create bundle renderer to give a fresh context for every request - this.renderer = createBundleRenderer(bundle, Object.assign({ - clientManifest: manifest, - runInNewContext: false, - basedir: this.options.rootDir - }, this.options.build.ssr)) - this.renderToString = pify(this.renderer.renderToString) - this.renderToStream = this.renderer.renderToStream + // Use MFS for faster builds + let mfs = new MFS() + this.compiler.compilers.forEach(compiler => { + compiler.outputFileSystem = mfs + }) + + let clientConfig = this.compiler.$client.options + + // Setup on the fly compilation + hot-reload + clientConfig.entry.app = _.flatten(['webpack-hot-middleware/client?reload=true', clientConfig.entry.app]) + clientConfig.plugins.push( + new webpack.HotModuleReplacementPlugin(), + new webpack.NoEmitOnErrorsPlugin() + ) + + // Create webpack dev middleware + this.webpackDevMiddleware = pify(webpackDevMiddleware(this.compiler.$client, { + publicPath: clientConfig.output.publicPath, + stats: this.webpackStats, + quiet: true, + noInfo: true, + watchOptions: this.options.watchers.webpack + })) + + this.webpackHotMiddleware = pify(webpackHotMiddleware(this.compiler.$client, { + log: false, + heartbeat: 2500 + })) + + // Run after compilation is done + this.compiler.plugin('done', async stats => { + // Reload renderer if available + if (this.nuxt.renderer) { + await this.nuxt.renderer.loadResources(mfs) + } + // Show open URL + if (!stats.hasErrors() && !stats.hasWarnings()) { + let _host = host === '0.0.0.0' ? 'localhost' : host + console.log(`> Open http://${_host}:${port}\n`) // eslint-disable-line no-console + } + }) + + this.watchFiles() } watchFiles () { diff --git a/lib/defaults.js b/lib/defaults.js index 8d6ff4c75f..137e31e56d 100755 --- a/lib/defaults.js +++ b/lib/defaults.js @@ -1,4 +1,43 @@ -export default { +import _ from 'lodash' +import { join, resolve } from 'path' +import { existsSync } from 'fs' + +export default function defaults (_options) { + // Clone options to prevent unwanted side-effects + const options = Object.assign({}, _options) + + // Normalize options + if (options.loading === true) { + delete options.loading + } + if (options.router && typeof options.router.middleware === 'string') { + options.router.middleware = [options.router.middleware] + } + if (options.router && typeof options.router.base === 'string') { + options._routerBaseSpecified = true + } + if (typeof options.transition === 'string') { + options.transition = { name: options.transition } + } + + // Apply defaults + _.defaultsDeep(options, defaultOptions) + + // Resolve dirs + options.rootDir = (typeof options.rootDir === 'string' && options.rootDir ? options.rootDir : process.cwd()) + options.srcDir = (typeof options.srcDir === 'string' && options.srcDir ? resolve(options.rootDir, options.srcDir) : options.rootDir) + options.buildDir = join(options.rootDir, options.buildDir) + + // If app.html is defined, set the template path to the user template + options.appTemplatePath = resolve(__dirname, 'views/app.template.html') + if (existsSync(join(options.srcDir, 'app.html'))) { + options.appTemplatePath = join(options.srcDir, 'app.html') + } + + return options +} + +const defaultOptions = { dev: (process.env.NODE_ENV !== 'production'), buildDir: '.nuxt', build: { @@ -78,6 +117,7 @@ export default { scrollBehavior: null }, render: { + ssr: {}, http2: { push: false }, diff --git a/lib/generator.js b/lib/generator.js index d73cb05cec..61bf3f142e 100644 --- a/lib/generator.js +++ b/lib/generator.js @@ -4,7 +4,7 @@ import _ from 'lodash' import { resolve, join, dirname, sep } from 'path' import { minify } from 'html-minifier' import Tapable from 'tappable' -import { isUrl, promisifyRoute, waitFor } from './utils' +import { isUrl, promisifyRoute, waitFor, flatRoutes } from './utils' const debug = require('debug')('nuxt:generate') const copy = pify(fs.copy) @@ -12,6 +12,8 @@ const remove = pify(fs.remove) const writeFile = pify(fs.writeFile) const mkdirp = pify(fs.mkdirp) +debug('loaded') + export default class Generator extends Tapable { constructor (nuxt) { super() @@ -31,7 +33,7 @@ export default class Generator extends Tapable { let distNuxtPath = join(distPath, (isUrl(this.options.build.publicPath) ? '' : this.options.build.publicPath)) // Launch build process - await this.nuxt.builder.build() + await this.nuxt.build() // Clean destination folder await remove(distPath) @@ -78,7 +80,7 @@ export default class Generator extends Tapable { } // Generate only index.html for router.mode = 'hash' - let routes = (this.options.router.mode === 'hash') ? ['/'] : this.nuxt.builder.routes + let routes = (this.options.router.mode === 'hash') ? ['/'] : flatRoutes(this.options.router.routes) routes = decorateWithPayloads(routes) while (routes.length) { diff --git a/lib/nuxt.js b/lib/nuxt.js index 6a6fbed55c..415909c329 100644 --- a/lib/nuxt.js +++ b/lib/nuxt.js @@ -1,77 +1,29 @@ -import _ from 'lodash' -import fs from 'fs-extra' -import { resolve, join } from 'path' import Tapable from 'tappable' import * as Utils from './utils' -import Builder from './builder' import Renderer from './renderer' -import Generator from './generator' import ModuleContainer from './module-container' import Server from './server' -import Defaults from './defaults' +import defaults from './defaults' export default class Nuxt extends Tapable { constructor (_options = {}) { super() - // Clone options to prevent unwanted side-effects - const options = Object.assign({}, _options) + this.options = defaults(_options) - // Normalize options - if (options.loading === true) { - delete options.loading - } - if (options.router && typeof options.router.middleware === 'string') { - options.router.middleware = [options.router.middleware] - } - if (options.router && typeof options.router.base === 'string') { - this._routerBaseSpecified = true - } - if (typeof options.transition === 'string') { - options.transition = { name: options.transition } - } - - // Apply defaults - this.options = _.defaultsDeep(options, Nuxt.Defaults) - - // Resolve dirs - this.options.rootDir = (typeof options.rootDir === 'string' && options.rootDir ? options.rootDir : process.cwd()) - this.options.srcDir = (typeof options.srcDir === 'string' && options.srcDir ? resolve(options.rootDir, options.srcDir) : this.options.rootDir) - this.options.buildDir = join(this.options.rootDir, options.buildDir) - - // If store defined, update store options to true - if (fs.existsSync(join(this.options.srcDir, 'store'))) { - this.options.store = true - } - - // If app.html is defined, set the template path to the user template - this.options.appTemplatePath = resolve(__dirname, 'views/app.template.html') - if (fs.existsSync(join(this.options.srcDir, 'app.html'))) { - this.options.appTemplatePath = join(this.options.srcDir, 'app.html') - } + this.initialized = false + this.errorHandler = this.errorHandler.bind(this) // Create instance of core components this.moduleContainer = new Nuxt.ModuleContainer(this) - this.builder = new Nuxt.Builder(this) this.renderer = new Nuxt.Renderer(this) - this.generator = new Nuxt.Generator(this) // Backward compatibility this.render = this.renderer.render.bind(this.renderer) this.renderRoute = this.renderer.renderRoute.bind(this.renderer) this.renderAndGetWindow = this.renderer.renderAndGetWindow.bind(this.renderer) - this.build = this.builder.build.bind(this.builder) - this.generate = this.generator.generate.bind(this.generator) - this.dir = options.rootDir - this.srcDir = options.srcDir - this.buildDir = options.buildDir - this.dev = options.dev - this.Server = Nuxt.Server - this.Utils = Nuxt.Utils - this.errorHandler = this.errorHandler.bind(this) this._init = this.init().catch(this.errorHandler) - this.initialized = false } async init () { @@ -79,29 +31,56 @@ export default class Nuxt extends Tapable { return this._init } + // Call to build on dev + if (this.options.dev) { + this.builder.build().catch(this.errorHandler) + } + // Wait for all components to be ready - // Including modules await this.applyPluginsAsync('beforeInit') - // Including Build await this.applyPluginsAsync('init') - // Extra jobs + this.initialized = true this.applyPluginsAsync('afterInit').catch(this.errorHandler) - this.initialized = true return this } + get builder () { + if (this._builder) { + return this._builder + } + const Builder = require('./builder').default + this._builder = new Builder(this) + return this._builder + } + + get generator () { + if (this._generator) { + return this._generator + } + const Generator = require('./generator').default + this._generator = new Generator(this) + return this._generator + } + + build () { + return this.builder.build.apply(this.builder, arguments) + } + + generate () { + return this.generator.generate.apply(this.generator, arguments) + } + errorHandler () { - // Global error handler // Silent if (this.options.errorHandler === false) { return } - // Custom eventHandler + // Custom errorHandler if (typeof this.options.errorHandler === 'function') { return this.options.errorHandler.apply(this, arguments) } - // Default + // Default handler // eslint-disable-next-line no-console console.error.apply(this, arguments) process.exit(1) @@ -131,6 +110,9 @@ export default class Nuxt extends Tapable { if (this.customFilesWatcher) { this.customFilesWatcher.close() } + + promises.push(this.applyPluginsAsync('close')) + return Promise.all(promises).then(() => { if (typeof callback === 'function') callback() }) @@ -138,10 +120,7 @@ export default class Nuxt extends Tapable { } // Add core components to Nuxt class -Nuxt.Defaults = Defaults Nuxt.Utils = Utils Nuxt.Renderer = Renderer -Nuxt.Builder = Builder Nuxt.ModuleContainer = ModuleContainer Nuxt.Server = Server -Nuxt.Generator = Generator diff --git a/lib/renderer.js b/lib/renderer.js index f0ae561a75..bead1a7796 100644 --- a/lib/renderer.js +++ b/lib/renderer.js @@ -7,8 +7,9 @@ import pify from 'pify' import serveStatic from 'serve-static' import compression from 'compression' import _ from 'lodash' -import { resolve } from 'path' -import {readFileSync} from 'fs' +import { resolve, join } from 'path' +import fs from 'fs-extra' +import { createBundleRenderer } from 'vue-server-renderer' import { getContext, setAnsiColors, encodeHtml } from './utils' const debug = require('debug')('nuxt:render') @@ -17,61 +18,149 @@ setAnsiColors(ansiHTML) let jsdom = null +const parseTemplate = templateStr => _.template(templateStr, { + interpolate: /{{([\s\S]+?)}}/g +}) + export default class Renderer extends Tapable { constructor (nuxt) { super() this.nuxt = nuxt this.options = nuxt.options - this.nuxt.plugin('init', () => { - // For serving static/ files to / - this.serveStatic = pify(serveStatic(resolve(this.options.srcDir, 'static'), this.options.render.static)) + // Will be loaded by createRenderer + this.bundleRenderer = null + this.renderToStream = null + this.renderToString = null - // For serving .nuxt/dist/ files (only when build.publicPath is not an URL) - this.serveStaticNuxt = pify(serveStatic(resolve(this.options.buildDir, 'dist'), { - maxAge: (this.options.dev ? 0 : '1y') // 1 year in production - })) + if (nuxt.initialized) { + // If nuxt already initialized + this._init = this.init().catch(this.nuxt.errorHandler) + } else { + // Wait for hook + this.nuxt.plugin('init', this.init.bind(this)) + } + } - // gzip middleware for production - if (!this.options.dev && this.options.render.gzip) { - this.gzipMiddleware = pify(compression(this.options.render.gzip)) + async init () { + if (this._init) { + return this._init + } + + // Renderer runtime resources + this.resources = { + clientManifest: null, + serverBundle: null, + appTemplate: null, + errorTemplate: parseTemplate(fs.readFileSync(resolve(__dirname, 'views', 'error.html'), 'utf8')) + } + + // For serving static/ files to / + this.serveStatic = pify(serveStatic(resolve(this.options.srcDir, 'static'), this.options.render.static)) + + // For serving .nuxt/dist/ files (only when build.publicPath is not an URL) + this.serveStaticNuxt = pify(serveStatic(resolve(this.options.buildDir, 'dist'), { + maxAge: (this.options.dev ? 0 : '1y') // 1 year in production + })) + + // gzip middleware for production + if (!this.options.dev && this.options.render.gzip) { + this.gzipMiddleware = pify(compression(this.options.render.gzip)) + } + + // Try to load resources from fs + return this.loadResources() + } + + async loadResources (_fs = fs, distPath) { + distPath = distPath || resolve(this.options.buildDir, 'dist') + + const resourceMap = { + clientManifest: { + path: join(distPath, 'client-manifest.json'), + transform: JSON.parse + }, + serverBundle: { + path: join(distPath, 'server-bundle.json'), + transform: JSON.parse + }, + appTemplate: { + path: join(distPath, 'index.html'), + transform: parseTemplate } + } - // Error template - this.errorTemplate = _.template(readFileSync(resolve(__dirname, 'views', 'error.html'), 'utf8'), { - interpolate: /{{([\s\S]+?)}}/g - }) + Object.keys(resourceMap).forEach(resourceKey => { + let { path, transform } = resourceMap[resourceKey] + let data + if (_fs.existsSync(path)) { + data = _fs.readFileSync(path, 'utf8') + if (typeof transform === 'function') { + data = transform(data) + } + } + if (data) { + this.resources[resourceKey] = data + } }) + + this.createRenderer() + } + + createRenderer () { + // If resources are not yet provided + if (!this.resources.serverBundle || !this.resources.clientManifest) { + return + } + + // Create bundle renderer for SSR + this.bundleRenderer = createBundleRenderer(this.resources.serverBundle, Object.assign({ + clientManifest: this.resources.clientManifest, + runInNewContext: false, + basedir: this.options.rootDir + }, this.options.render.ssr)) + + // Promisify renderToString + this.bundleRenderer.renderToString = pify(this.bundleRenderer.renderToString) + + debug('ready') } async render (req, res) { /* istanbul ignore if */ - if (!this.nuxt.builder.renderer || !this.nuxt.builder.appTemplate) { + if (!this.bundleRenderer || !this.resources.appTemplate) { return new Promise((resolve) => { setTimeout(() => { resolve(this.render(req, res)) }, 1000) }) } + // Get context const context = getContext(req, res) res.statusCode = 200 + try { - if (this.options.dev) { - // Call webpack middleware only in development + // Call webpack middleware only in development + if (this.options.dev && this.nuxt.builder && this.nuxt.builder.webpackDevMiddleware) { await this.nuxt.builder.webpackDevMiddleware(req, res) await this.nuxt.builder.webpackHotMiddleware(req, res) } - if (!this.options.dev && this.options.render.gzip) { + + // Gzip middleware for production + if (this.gzipMiddleware) { await this.gzipMiddleware(req, res) } + // If base in req.url, remove it for the middleware and vue-router if (this.options.router.base !== '/' && req.url.indexOf(this.options.router.base) === 0) { // Compatibility with base url for dev server req.url = req.url.replace(this.options.router.base, '/') } + // Serve static/ files await this.serveStatic(req, res) + // Serve .nuxt/dist/ files (only for production) if (!this.options.dev && req.url.indexOf(this.options.build.publicPath) === 0) { const url = req.url @@ -80,17 +169,22 @@ export default class Renderer extends Tapable { /* istanbul ignore next */ req.url = url } + if (this.options.dev && req.url.indexOf(this.options.build.publicPath) === 0 && req.url.includes('.hot-update.json')) { res.statusCode = 404 return res.end() } + const { html, error, redirected, resourceHints } = await this.renderRoute(req.url, context) + if (redirected) { return html } + if (error) { res.statusCode = context.nuxt.error.statusCode || 500 } + // ETag header if (!error && this.options.render.etag) { const etag = generateETag(html, this.options.render.etag) @@ -101,6 +195,7 @@ export default class Renderer extends Tapable { } res.setHeader('ETag', etag) } + // HTTP2 push headers if (!error && this.options.render.http2.push) { // Parse resourceHints to extract HTTP.2 prefetch/push headers @@ -118,6 +213,8 @@ export default class Renderer extends Tapable { // https://blog.cloudflare.com/http-2-server-push-with-multiple-assets-per-link-header res.setHeader('Link', pushAssets.join(',')) } + + // Send response res.setHeader('Content-Type', 'text/html; charset=utf-8') res.setHeader('Content-Length', Buffer.byteLength(html)) res.end(html, 'utf8') @@ -127,11 +224,13 @@ export default class Renderer extends Tapable { console.error(err) // eslint-disable-line no-console return err } - const html = this.errorTemplate({ + // Render error template + const html = this.resources.errorTemplate({ /* istanbul ignore if */ error: err, stack: ansiHTML(encodeHtml(err.stack)) }) + // Send response res.statusCode = 500 res.setHeader('Content-Type', 'text/html; charset=utf-8') res.setHeader('Content-Length', Buffer.byteLength(html)) @@ -143,29 +242,34 @@ export default class Renderer extends Tapable { async renderRoute (url, context = {}) { // Log rendered url debug(`Rendering url ${url}`) + // Add url and isSever to the context context.url = url context.isServer = true + // Call renderToString from the bundleRenderer and generate the HTML (will update the context as well) - let APP = await this.nuxt.builder.renderToString(context) + let APP = await this.bundleRenderer.renderToString(context) + if (!context.nuxt.serverRendered) { APP = '
' } const m = context.meta.inject() let HEAD = m.meta.text() + m.title.text() + m.link.text() + m.style.text() + m.script.text() + m.noscript.text() - if (this._routerBaseSpecified) { + if (this.options._routerBaseSpecified) { HEAD += `` } const resourceHints = context.renderResourceHints() HEAD += resourceHints + context.renderStyles() APP += `` APP += context.renderScripts() - const html = this.nuxt.builder.appTemplate({ + + const html = this.resources.appTemplate({ HTML_ATTRS: 'data-n-head-ssr ' + m.htmlAttrs.text(), BODY_ATTRS: m.bodyAttrs.text(), HEAD, APP }) + return { html, resourceHints, diff --git a/lib/utils.js b/lib/utils.js index 326b153e93..9bf2167488 100644 --- a/lib/utils.js +++ b/lib/utils.js @@ -97,3 +97,118 @@ export function r () { args = args.map(normalize) return wp(resolve.apply(null, args)) } + +export function flatRoutes (router, path = '', routes = []) { + router.forEach((r) => { + if (!r.path.includes(':') && !r.path.includes('*')) { + if (r.children) { + flatRoutes(r.children, path + r.path + '/', routes) + } else { + routes.push((r.path === '' && path[path.length - 1] === '/' ? path.slice(0, -1) : path) + r.path) + } + } + }) + return routes +} + +export function cleanChildrenRoutes (routes, isChild = false) { + let start = -1 + let routesIndex = [] + routes.forEach((route) => { + if (/-index$/.test(route.name) || route.name === 'index') { + // Save indexOf 'index' key in name + let res = route.name.split('-') + let s = res.indexOf('index') + start = (start === -1 || s < start) ? s : start + routesIndex.push(res) + } + }) + routes.forEach((route) => { + route.path = (isChild) ? route.path.replace('/', '') : route.path + if (route.path.indexOf('?') > -1) { + let names = route.name.split('-') + let paths = route.path.split('/') + if (!isChild) { + paths.shift() + } // clean first / for parents + routesIndex.forEach((r) => { + let i = r.indexOf('index') - start // children names + if (i < paths.length) { + for (let a = 0; a <= i; a++) { + if (a === i) { + paths[a] = paths[a].replace('?', '') + } + if (a < i && names[a] !== r[a]) { + break + } + } + } + }) + route.path = (isChild ? '' : '/') + paths.join('/') + } + route.name = route.name.replace(/-index$/, '') + if (route.children) { + if (route.children.find((child) => child.path === '')) { + delete route.name + } + route.children = cleanChildrenRoutes(route.children, true) + } + }) + return routes +} + +export function createRoutes (files, srcDir) { + let routes = [] + files.forEach((file) => { + let keys = file.replace(/^pages/, '').replace(/\.vue$/, '').replace(/\/{2,}/g, '/').split('/').slice(1) + let route = { name: '', path: '', component: r(srcDir, file) } + let parent = routes + keys.forEach((key, i) => { + route.name = route.name ? route.name + '-' + key.replace('_', '') : key.replace('_', '') + route.name += (key === '_') ? 'all' : '' + let child = _.find(parent, { name: route.name }) + if (child) { + if (!child.children) { + child.children = [] + } + parent = child.children + route.path = '' + } else { + if (key === 'index' && (i + 1) === keys.length) { + route.path += (i > 0 ? '' : '/') + } else { + route.path += '/' + (key === '_' ? '*' : key.replace('_', ':')) + if (key !== '_' && key.indexOf('_') !== -1) { + route.path += '?' + } + } + } + }) + // Order Routes path + parent.push(route) + parent.sort((a, b) => { + if (!a.path.length || a.path === '/') { + return -1 + } + if (!b.path.length || b.path === '/') { + return 1 + } + let res = 0 + let _a = a.path.split('/') + let _b = b.path.split('/') + for (let i = 0; i < _a.length; i++) { + if (res !== 0) { + break + } + let y = (_a[i].indexOf('*') > -1) ? 2 : (_a[i].indexOf(':') > -1 ? 1 : 0) + let z = (_b[i].indexOf('*') > -1) ? 2 : (_b[i].indexOf(':') > -1 ? 1 : 0) + res = y - z + if (i === _b.length - 1 && res === 0) { + res = 1 + } + } + return res === 0 ? -1 : res + }) + }) + return cleanChildrenRoutes(routes) +} diff --git a/package.json b/package.json index 13896c2897..242035d12c 100644 --- a/package.json +++ b/package.json @@ -84,7 +84,6 @@ "offline-plugin": "^4.8.1", "opencollective": "^1.0.3", "pify": "^3.0.0", - "post-compile-webpack-plugin": "^0.1.1", "preload-webpack-plugin": "^1.2.2", "progress-bar-webpack-plugin": "^1.9.3", "script-ext-html-webpack-plugin": "^1.8.1", diff --git a/test/basic.test.js b/test/basic.test.js index e064a5a4db..2b246363cf 100755 --- a/test/basic.test.js +++ b/test/basic.test.js @@ -18,7 +18,7 @@ test.before('Init Nuxt.js', async t => { } nuxt = new Nuxt(options) await nuxt.build() - server = new nuxt.Server(nuxt) + server = new Nuxt.Server(nuxt) server.listen(port, 'localhost') }) diff --git a/test/children.test.js b/test/children.test.js index 2536ed4e22..d79f5a768c 100644 --- a/test/children.test.js +++ b/test/children.test.js @@ -15,7 +15,7 @@ test.before('Init Nuxt.js', async t => { } nuxt = new Nuxt(options) await nuxt.build() - server = new nuxt.Server(nuxt) + server = new Nuxt.Server(nuxt) server.listen(port, 'localhost') }) diff --git a/test/error.test.js b/test/error.test.js index 26fba45f6e..c11446ba1a 100644 --- a/test/error.test.js +++ b/test/error.test.js @@ -15,7 +15,7 @@ test.before('Init Nuxt.js', async t => { } nuxt = new Nuxt(options) await nuxt.build() - server = new nuxt.Server(nuxt) + server = new Nuxt.Server(nuxt) server.listen(port, 'localhost') }) diff --git a/test/with-config.test.js b/test/with-config.test.js index 41fb678f42..0cab513c7c 100644 --- a/test/with-config.test.js +++ b/test/with-config.test.js @@ -17,7 +17,7 @@ test.before('Init Nuxt.js', async t => { config.dev = false nuxt = new Nuxt(config) await nuxt.build() - server = new nuxt.Server(nuxt) + server = new Nuxt.Server(nuxt) server.listen(port, 'localhost') }) From 36c1deda17f23d629201e4cd13398e5ed6546802 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Wed, 14 Jun 2017 20:47:49 +0430 Subject: [PATCH 059/236] fix tests --- test/basic.dev.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/basic.dev.test.js b/test/basic.dev.test.js index 42e60e22fa..58ed448ad4 100644 --- a/test/basic.dev.test.js +++ b/test/basic.dev.test.js @@ -16,7 +16,7 @@ test.before('Init Nuxt.js', async t => { } nuxt = new Nuxt(options) await nuxt.build() - server = new nuxt.Server(nuxt) + server = new Nuxt.Server(nuxt) server.listen(port, 'localhost') }) From 17d0082861c7e9b90fe1fbc81ab9dc1fdbcad4c2 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Wed, 14 Jun 2017 21:03:04 +0430 Subject: [PATCH 060/236] prevent calling init multi times --- lib/builder.js | 5 ++++- lib/renderer.js | 9 +++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/lib/builder.js b/lib/builder.js index 710769b1c2..977c13f127 100644 --- a/lib/builder.js +++ b/lib/builder.js @@ -49,7 +49,10 @@ export default class Builder extends Tapable { this._init = this.init().catch(this.nuxt.errorHandler) } else { // Wait for hook - this.nuxt.plugin('init', this.init.bind(this)) + this.nuxt.plugin('init', () => { + this._init = this.init() + return this._init + }) } } diff --git a/lib/renderer.js b/lib/renderer.js index bead1a7796..5e21128016 100644 --- a/lib/renderer.js +++ b/lib/renderer.js @@ -28,17 +28,18 @@ export default class Renderer extends Tapable { this.nuxt = nuxt this.options = nuxt.options - // Will be loaded by createRenderer + // Will be set by createRenderer this.bundleRenderer = null - this.renderToStream = null - this.renderToString = null if (nuxt.initialized) { // If nuxt already initialized this._init = this.init().catch(this.nuxt.errorHandler) } else { // Wait for hook - this.nuxt.plugin('init', this.init.bind(this)) + this.nuxt.plugin('init', () => { + this._init = this.init() + return this._init + }) } } From a00378102b20bb4f3375b9386c5f809816afe2dd Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Wed, 14 Jun 2017 21:22:23 +0430 Subject: [PATCH 061/236] move bundleRenderer to renderRoute with proper timeout --- lib/renderer.js | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/lib/renderer.js b/lib/renderer.js index 5e21128016..7f93d4f418 100644 --- a/lib/renderer.js +++ b/lib/renderer.js @@ -128,15 +128,6 @@ export default class Renderer extends Tapable { } async render (req, res) { - /* istanbul ignore if */ - if (!this.bundleRenderer || !this.resources.appTemplate) { - return new Promise((resolve) => { - setTimeout(() => { - resolve(this.render(req, res)) - }, 1000) - }) - } - // Get context const context = getContext(req, res) res.statusCode = 200 @@ -240,7 +231,20 @@ export default class Renderer extends Tapable { } } - async renderRoute (url, context = {}) { + async renderRoute (url, context = {}, ctr = 0) { + /* istanbul ignore if */ + if (!this.bundleRenderer || !this.resources.appTemplate) { + if (ctr > 5) { + // Don't wait more than 5 seconds + return Promise.reject(new Error('bundleRenderer is not ready')) + } + return new Promise((resolve) => { + setTimeout(() => { + resolve(this.renderRoute(url, context, ctr++)) + }, 1000) + }) + } + // Log rendered url debug(`Rendering url ${url}`) From 4569b3a46f23a781f463ee862f5359f52ee66f82 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Wed, 14 Jun 2017 21:28:14 +0430 Subject: [PATCH 062/236] remove ssr === false condition --- lib/builder.js | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/lib/builder.js b/lib/builder.js index 977c13f127..0db6874ab7 100644 --- a/lib/builder.js +++ b/lib/builder.js @@ -295,11 +295,9 @@ export default class Builder extends Tapable { compilersOptions.push(clientConfig) // Server - if (this.options.ssr !== false) { - let serverConfig = serverWebpackConfig.call(this) - serverConfig.name = '$server' - compilersOptions.push(serverConfig) - } + let serverConfig = serverWebpackConfig.call(this) + serverConfig.name = '$server' + compilersOptions.push(serverConfig) // Leverage webpack multi-compiler for faster builds this.compiler = webpack(compilersOptions) From de51b8a6da8602894323439de4cc9fd23f9267b5 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Wed, 14 Jun 2017 21:41:38 +0430 Subject: [PATCH 063/236] set this.resources in constructor Prevent error when access methods earlier than init is called --- lib/renderer.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/renderer.js b/lib/renderer.js index 7f93d4f418..ba93de2195 100644 --- a/lib/renderer.js +++ b/lib/renderer.js @@ -31,6 +31,14 @@ export default class Renderer extends Tapable { // Will be set by createRenderer this.bundleRenderer = null + // Renderer runtime resources + this.resources = { + clientManifest: null, + serverBundle: null, + appTemplate: null, + errorTemplate: parseTemplate(fs.readFileSync(resolve(__dirname, 'views', 'error.html'), 'utf8')) + } + if (nuxt.initialized) { // If nuxt already initialized this._init = this.init().catch(this.nuxt.errorHandler) @@ -48,14 +56,6 @@ export default class Renderer extends Tapable { return this._init } - // Renderer runtime resources - this.resources = { - clientManifest: null, - serverBundle: null, - appTemplate: null, - errorTemplate: parseTemplate(fs.readFileSync(resolve(__dirname, 'views', 'error.html'), 'utf8')) - } - // For serving static/ files to / this.serveStatic = pify(serveStatic(resolve(this.options.srcDir, 'static'), this.options.render.static)) From 8691e21efb27a141828b8de84c09a1fced506772 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Wed, 14 Jun 2017 21:58:20 +0430 Subject: [PATCH 064/236] remove unnecessary initialized --- lib/builder.js | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/builder.js b/lib/builder.js index 0db6874ab7..e22b455f3e 100644 --- a/lib/builder.js +++ b/lib/builder.js @@ -37,7 +37,6 @@ export default class Builder extends Tapable { this.options = nuxt.options this._buildStatus = STATUS.INITIAL - this.initialized = false // Fields that set on build this.compiler = null From 3747e3cc3602b73cb9dd3be53ed00832bd9f8054 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Wed, 14 Jun 2017 22:02:25 +0430 Subject: [PATCH 065/236] refactor more into defaults --- lib/builder.js | 13 +------------ lib/defaults.js | 11 +++++++++++ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/lib/builder.js b/lib/builder.js index e22b455f3e..42eb59719b 100644 --- a/lib/builder.js +++ b/lib/builder.js @@ -9,10 +9,9 @@ import webpackDevMiddleware from 'webpack-dev-middleware' import webpackHotMiddleware from 'webpack-hot-middleware' import { join, resolve, basename, dirname } from 'path' import Tapable from 'tappable' -import { isUrl, r, wp, createRoutes } from './utils' +import { r, wp, createRoutes } from './utils' import clientWebpackConfig from './webpack/client.config.js' import serverWebpackConfig from './webpack/server.config.js' -import defaults from './defaults' import MFS from 'memory-fs' const debug = require('debug')('nuxt:build') @@ -70,16 +69,6 @@ export default class Builder extends Tapable { } _.defaultsDeep(this.options.build, extraDefaults) - /* istanbul ignore if */ - if (this.options.dev && isUrl(this.options.build.publicPath)) { - this.options.build.publicPath = defaults.build.publicPath - } - - // If store defined, update store options to true unless explicitly disabled - if (this.options.store !== false && fs.existsSync(join(this.options.srcDir, 'store'))) { - this.options.store = true - } - // Mute stats on dev this.webpackStats = this.options.dev ? '' : { chunks: false, diff --git a/lib/defaults.js b/lib/defaults.js index 137e31e56d..b1cb609ed3 100755 --- a/lib/defaults.js +++ b/lib/defaults.js @@ -1,6 +1,7 @@ import _ from 'lodash' import { join, resolve } from 'path' import { existsSync } from 'fs' +import { isUrl } from './utils' export default function defaults (_options) { // Clone options to prevent unwanted side-effects @@ -34,6 +35,16 @@ export default function defaults (_options) { options.appTemplatePath = join(options.srcDir, 'app.html') } + // Ignore publicPath on dev + if (options.dev && isUrl(options.build.publicPath)) { + options.build.publicPath = defaultOptions.build.publicPath + } + + // If store defined, update store options to true unless explicitly disabled + if (options.store !== false && existsSync(join(options.srcDir, 'store'))) { + this.options.store = true + } + return options } From 7343af0d5f23790a2b1ee8561a2c33f84aad0574 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Wed, 14 Jun 2017 22:08:07 +0430 Subject: [PATCH 066/236] typo --- lib/defaults.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/defaults.js b/lib/defaults.js index b1cb609ed3..d34475e5e0 100755 --- a/lib/defaults.js +++ b/lib/defaults.js @@ -42,7 +42,7 @@ export default function defaults (_options) { // If store defined, update store options to true unless explicitly disabled if (options.store !== false && existsSync(join(options.srcDir, 'store'))) { - this.options.store = true + options.store = true } return options From 59f8e48549c3482afdb29e0d25f37e2f2fbe3efc Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Wed, 14 Jun 2017 22:09:32 +0430 Subject: [PATCH 067/236] builder no longer needs init --- lib/builder.js | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/lib/builder.js b/lib/builder.js index 42eb59719b..ab6920c236 100644 --- a/lib/builder.js +++ b/lib/builder.js @@ -42,23 +42,6 @@ export default class Builder extends Tapable { this.webpackDevMiddleware = null this.webpackHotMiddleware = null - if (nuxt.initialized) { - // If nuxt already initialized - this._init = this.init().catch(this.nuxt.errorHandler) - } else { - // Wait for hook - this.nuxt.plugin('init', () => { - this._init = this.init() - return this._init - }) - } - } - - async init () { - if (this._init) { - return this._init - } - // Add extra loaders only if they are not already provided let extraDefaults = {} if (this.options.build && !Array.isArray(this.options.build.loaders)) { From e2ee016a22bf915b04a38032382ca6d15a6d52a6 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Wed, 14 Jun 2017 22:12:20 +0430 Subject: [PATCH 068/236] simpler bundleRenderer check --- lib/renderer.js | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/lib/renderer.js b/lib/renderer.js index ba93de2195..f73604ce86 100644 --- a/lib/renderer.js +++ b/lib/renderer.js @@ -231,18 +231,10 @@ export default class Renderer extends Tapable { } } - async renderRoute (url, context = {}, ctr = 0) { + async renderRoute (url, context = {}) { /* istanbul ignore if */ if (!this.bundleRenderer || !this.resources.appTemplate) { - if (ctr > 5) { - // Don't wait more than 5 seconds - return Promise.reject(new Error('bundleRenderer is not ready')) - } - return new Promise((resolve) => { - setTimeout(() => { - resolve(this.renderRoute(url, context, ctr++)) - }, 1000) - }) + return Promise.reject(new Error('bundleRenderer is not available')) } // Log rendered url From 3df51f7f45f0947ef99941fcb86da406d623e8f8 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Wed, 14 Jun 2017 22:20:58 +0430 Subject: [PATCH 069/236] remove debug --- lib/builder.js | 2 -- lib/generator.js | 2 -- 2 files changed, 4 deletions(-) diff --git a/lib/builder.js b/lib/builder.js index ab6920c236..45b779a5e7 100644 --- a/lib/builder.js +++ b/lib/builder.js @@ -27,8 +27,6 @@ const glob = pify(require('glob')) const host = process.env.HOST || process.env.npm_package_config_nuxt_host || 'localhost' const port = process.env.PORT || process.env.npm_package_config_nuxt_port || '3000' -debug('loaded') - export default class Builder extends Tapable { constructor (nuxt) { super() diff --git a/lib/generator.js b/lib/generator.js index 61bf3f142e..df91c8f03c 100644 --- a/lib/generator.js +++ b/lib/generator.js @@ -12,8 +12,6 @@ const remove = pify(fs.remove) const writeFile = pify(fs.writeFile) const mkdirp = pify(fs.mkdirp) -debug('loaded') - export default class Generator extends Tapable { constructor (nuxt) { super() From 25d106e2ababd9ac6d38943ab8ad1ba3466477da Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Wed, 14 Jun 2017 23:21:14 +0430 Subject: [PATCH 070/236] runBuild option --- bin/nuxt-build | 4 +- bin/nuxt-generate | 1 + lib/builder.js | 3 - lib/defaults.js | 6 ++ lib/generator.js | 4 +- lib/nuxt.js | 29 +++---- lib/renderer.js | 4 +- test/basic.dev.test.js | 2 +- test/basic.fail.generate.test.js | 1 + test/basic.generate.test.js | 5 +- test/basic.test.js | 5 +- test/children.test.js | 6 +- test/dynamic-routes.test.js | 130 ++++++++++++++++--------------- test/error.test.js | 6 +- test/index.test.js | 9 ++- test/module.test.js | 3 +- test/with-config.test.js | 4 +- 17 files changed, 123 insertions(+), 99 deletions(-) diff --git a/bin/nuxt-build b/bin/nuxt-build index 53b125765e..8c4fffd038 100755 --- a/bin/nuxt-build +++ b/bin/nuxt-build @@ -51,6 +51,8 @@ if (typeof options.rootDir !== 'string') { } // Create production build when calling `nuxt build` options.dev = false +options.runBuild = true // Force doing production build before init + // Analyze option options.build = options.build || {} if (argv.analyze) { @@ -59,7 +61,7 @@ if (argv.analyze) { console.log('[nuxt] Building...') // eslint-disable-line no-console var nuxt = module.exports = new Nuxt(options) -nuxt.build() +nuxt.init() .then(() => { console.log('[nuxt] Building done') // eslint-disable-line no-console }) diff --git a/bin/nuxt-generate b/bin/nuxt-generate index b39f8de6e6..e9607b174a 100755 --- a/bin/nuxt-generate +++ b/bin/nuxt-generate @@ -47,6 +47,7 @@ if (typeof options.rootDir !== 'string') { options.rootDir = rootDir } options.dev = false // Force production mode (no webpack middleware called) +options.runBuild = true // Force doing production build before init console.log('[nuxt] Generating...') // eslint-disable-line no-console var nuxt = module.exports = new Nuxt(options) diff --git a/lib/builder.js b/lib/builder.js index 45b779a5e7..160cb58518 100644 --- a/lib/builder.js +++ b/lib/builder.js @@ -74,9 +74,6 @@ export default class Builder extends Tapable { } this._buildStatus = STATUS.BUILDING - // Ensure nuxt initialized - await this.nuxt.init() - // Check if pages dir exists and warn if not this._nuxtPages = typeof this.options.build.createRoutes !== 'function' if (this._nuxtPages) { diff --git a/lib/defaults.js b/lib/defaults.js index d34475e5e0..1a2195cc73 100755 --- a/lib/defaults.js +++ b/lib/defaults.js @@ -45,11 +45,17 @@ export default function defaults (_options) { options.store = true } + // runBuild can not be enabled for dev === true + if (options.dev === true) { + options.runBuild = false + } + return options } const defaultOptions = { dev: (process.env.NODE_ENV !== 'production'), + runBuild: false, buildDir: '.nuxt', build: { analyze: false, diff --git a/lib/generator.js b/lib/generator.js index df91c8f03c..3cc54b6d93 100644 --- a/lib/generator.js +++ b/lib/generator.js @@ -30,8 +30,8 @@ export default class Generator extends Tapable { let distPath = resolve(this.options.rootDir, this.options.generate.dir) let distNuxtPath = join(distPath, (isUrl(this.options.build.publicPath) ? '' : this.options.build.publicPath)) - // Launch build process - await this.nuxt.build() + // Wait for nuxt be ready + await this.nuxt.init() // Clean destination folder await remove(distPath) diff --git a/lib/nuxt.js b/lib/nuxt.js index 415909c329..38cf9769b7 100644 --- a/lib/nuxt.js +++ b/lib/nuxt.js @@ -23,6 +23,18 @@ export default class Nuxt extends Tapable { this.renderRoute = this.renderer.renderRoute.bind(this.renderer) this.renderAndGetWindow = this.renderer.renderAndGetWindow.bind(this.renderer) + // Builder is lazy loaded, so register plugin here + this.plugin('init', async () => { + // Call to build on dev + if (this.options.dev) { + this.builder.build().catch(this.errorHandler) + } + // If explicitly runBuild required + if (this.options.runBuild) { + await this.builder.build() + } + }) + this._init = this.init().catch(this.errorHandler) } @@ -31,17 +43,12 @@ export default class Nuxt extends Tapable { return this._init } - // Call to build on dev - if (this.options.dev) { - this.builder.build().catch(this.errorHandler) - } - // Wait for all components to be ready - await this.applyPluginsAsync('beforeInit') - await this.applyPluginsAsync('init') - this.initialized = true - this.applyPluginsAsync('afterInit').catch(this.errorHandler) + await this.applyPluginsAsync('beforeInit') // 1- Modules + await this.applyPluginsAsync('init') // 2- Builder + await this.applyPluginsAsync('afterInit') // 3- Renderer + this.initialized = true return this } @@ -63,10 +70,6 @@ export default class Nuxt extends Tapable { return this._generator } - build () { - return this.builder.build.apply(this.builder, arguments) - } - generate () { return this.generator.generate.apply(this.generator, arguments) } diff --git a/lib/renderer.js b/lib/renderer.js index f73604ce86..f51fb396df 100644 --- a/lib/renderer.js +++ b/lib/renderer.js @@ -44,7 +44,7 @@ export default class Renderer extends Tapable { this._init = this.init().catch(this.nuxt.errorHandler) } else { // Wait for hook - this.nuxt.plugin('init', () => { + this.nuxt.plugin('afterInit', () => { this._init = this.init() return this._init }) @@ -123,8 +123,6 @@ export default class Renderer extends Tapable { // Promisify renderToString this.bundleRenderer.renderToString = pify(this.bundleRenderer.renderToString) - - debug('ready') } async render (req, res) { diff --git a/test/basic.dev.test.js b/test/basic.dev.test.js index 58ed448ad4..108bd5c35d 100644 --- a/test/basic.dev.test.js +++ b/test/basic.dev.test.js @@ -15,7 +15,7 @@ test.before('Init Nuxt.js', async t => { dev: true } nuxt = new Nuxt(options) - await nuxt.build() + await nuxt.init() server = new Nuxt.Server(nuxt) server.listen(port, 'localhost') }) diff --git a/test/basic.fail.generate.test.js b/test/basic.fail.generate.test.js index 996dc142fd..b8861e8e0a 100644 --- a/test/basic.fail.generate.test.js +++ b/test/basic.fail.generate.test.js @@ -6,6 +6,7 @@ test('Fail with routes() which throw an error', async t => { const options = { rootDir: resolve(__dirname, 'fixtures/basic'), dev: false, + runBuild: true, generate: { async routes () { throw new Error('Not today!') diff --git a/test/basic.generate.test.js b/test/basic.generate.test.js index cc0c160912..cd270c13ac 100644 --- a/test/basic.generate.test.js +++ b/test/basic.generate.test.js @@ -4,6 +4,7 @@ import http from 'http' import serveStatic from 'serve-static' import finalhandler from 'finalhandler' import rp from 'request-promise-native' + const port = 4002 const url = (route) => 'http://localhost:' + port + route @@ -17,10 +18,12 @@ test.before('Init Nuxt.js', async t => { let config = require(resolve(rootDir, 'nuxt.config.js')) config.rootDir = rootDir config.dev = false + config.runBuild = true nuxt = new Nuxt(config) try { await nuxt.generate() // throw an error (of /validate route) - } catch (err) {} + } catch (err) { + } const serve = serveStatic(resolve(__dirname, 'fixtures/basic/dist')) server = http.createServer((req, res) => { serve(req, res, finalhandler(req, res)) diff --git a/test/basic.test.js b/test/basic.test.js index 2b246363cf..71372e0636 100755 --- a/test/basic.test.js +++ b/test/basic.test.js @@ -14,10 +14,11 @@ test.before('Init Nuxt.js', async t => { const Nuxt = require('../') const options = { rootDir: resolve(__dirname, 'fixtures/basic'), - dev: false + dev: false, + runBuild: true } nuxt = new Nuxt(options) - await nuxt.build() + await nuxt.init() server = new Nuxt.Server(nuxt) server.listen(port, 'localhost') }) diff --git a/test/children.test.js b/test/children.test.js index d79f5a768c..5bae366e0b 100644 --- a/test/children.test.js +++ b/test/children.test.js @@ -1,5 +1,6 @@ import test from 'ava' import { resolve } from 'path' + const port = 4004 // const url = (route) => 'http://localhost:' + port + route @@ -11,10 +12,11 @@ test.before('Init Nuxt.js', async t => { const Nuxt = require('../') const options = { rootDir: resolve(__dirname, 'fixtures/children'), - dev: false + dev: false, + runBuild: true } nuxt = new Nuxt(options) - await nuxt.build() + await nuxt.init() server = new Nuxt.Server(nuxt) server.listen(port, 'localhost') }) diff --git a/test/dynamic-routes.test.js b/test/dynamic-routes.test.js index 40bd5446d2..ebd1760d44 100644 --- a/test/dynamic-routes.test.js +++ b/test/dynamic-routes.test.js @@ -2,79 +2,81 @@ import test from 'ava' import { resolve } from 'path' import fs from 'fs' import pify from 'pify' + const readFile = pify(fs.readFile) test.before('Init Nuxt.js', async t => { const Nuxt = require('../') const nuxt = new Nuxt({ rootDir: resolve(__dirname, 'fixtures/dynamic-routes'), - dev: false + dev: false, + runBuild: true }) - await nuxt.build() + await nuxt.init() }) test('Check .nuxt/router.js', t => { return readFile(resolve(__dirname, './fixtures/dynamic-routes/.nuxt/router.js'), 'utf-8') - .then((routerFile) => { - routerFile = routerFile - .slice(routerFile.indexOf('routes: [')) - .replace('routes: [', '[') - .replace(/ _[0-9A-z]+,/g, ' "",') - routerFile = routerFile.substr(routerFile.indexOf('['), routerFile.lastIndexOf(']') + 1) - let routes = eval('( ' + routerFile + ')') // eslint-disable-line no-eval - // pages/index.vue - t.is(routes[0].path, '/') - t.is(routes[0].name, 'index') - // pages/test/index.vue - t.is(routes[1].path, '/test') - t.is(routes[1].name, 'test') - // pages/posts.vue - t.is(routes[2].path, '/posts') - t.is(routes[2].name, 'posts') - t.is(routes[2].children.length, 1) - // pages/posts/_id.vue - t.is(routes[2].children[0].path, ':id?') - t.is(routes[2].children[0].name, 'posts-id') - // pages/parent.vue - t.is(routes[3].path, '/parent') - t.falsy(routes[3].name) // parent route has no name - // pages/parent/*.vue - t.is(routes[3].children.length, 3) // parent has 3 children - t.deepEqual(routes[3].children.map((r) => r.path), ['', 'teub', 'child']) - t.deepEqual(routes[3].children.map((r) => r.name), ['parent', 'parent-teub', 'parent-child']) - // pages/test/projects/index.vue - t.is(routes[4].path, '/test/projects') - t.is(routes[4].name, 'test-projects') - // pages/test/users.vue - t.is(routes[5].path, '/test/users') - t.falsy(routes[5].name) // parent route has no name - // pages/test/users/*.vue - t.is(routes[5].children.length, 5) // parent has 5 children - t.deepEqual(routes[5].children.map((r) => r.path), ['', 'projects', 'projects/:category', ':id', ':index/teub']) - t.deepEqual(routes[5].children.map((r) => r.name), ['test-users', 'test-users-projects', 'test-users-projects-category', 'test-users-id', 'test-users-index-teub']) - // pages/test/songs/toto.vue - t.is(routes[6].path, '/test/songs/toto') - t.is(routes[6].name, 'test-songs-toto') - // pages/test/songs/_id.vue - t.is(routes[7].path, '/test/songs/:id?') - t.is(routes[7].name, 'test-songs-id') - // pages/test/projects/_category.vue - t.is(routes[8].path, '/test/projects/:category') - t.is(routes[8].name, 'test-projects-category') - // pages/users/_id.vue - t.is(routes[9].path, '/users/:id?') - t.is(routes[9].name, 'users-id') - // pages/test/_.vue - t.is(routes[10].path, '/test/*') - t.is(routes[10].name, 'test-all') - // pages/_slug.vue - t.is(routes[11].path, '/:slug') - t.is(routes[11].name, 'slug') - // pages/_key/_id.vue - t.is(routes[12].path, '/:key/:id?') - t.is(routes[12].name, 'key-id') - // pages/_.vue - t.is(routes[13].path, '/*') - t.is(routes[13].name, 'all') - }) + .then((routerFile) => { + routerFile = routerFile + .slice(routerFile.indexOf('routes: [')) + .replace('routes: [', '[') + .replace(/ _[0-9A-z]+,/g, ' "",') + routerFile = routerFile.substr(routerFile.indexOf('['), routerFile.lastIndexOf(']') + 1) + let routes = eval('( ' + routerFile + ')') // eslint-disable-line no-eval + // pages/index.vue + t.is(routes[0].path, '/') + t.is(routes[0].name, 'index') + // pages/test/index.vue + t.is(routes[1].path, '/test') + t.is(routes[1].name, 'test') + // pages/posts.vue + t.is(routes[2].path, '/posts') + t.is(routes[2].name, 'posts') + t.is(routes[2].children.length, 1) + // pages/posts/_id.vue + t.is(routes[2].children[0].path, ':id?') + t.is(routes[2].children[0].name, 'posts-id') + // pages/parent.vue + t.is(routes[3].path, '/parent') + t.falsy(routes[3].name) // parent route has no name + // pages/parent/*.vue + t.is(routes[3].children.length, 3) // parent has 3 children + t.deepEqual(routes[3].children.map((r) => r.path), ['', 'teub', 'child']) + t.deepEqual(routes[3].children.map((r) => r.name), ['parent', 'parent-teub', 'parent-child']) + // pages/test/projects/index.vue + t.is(routes[4].path, '/test/projects') + t.is(routes[4].name, 'test-projects') + // pages/test/users.vue + t.is(routes[5].path, '/test/users') + t.falsy(routes[5].name) // parent route has no name + // pages/test/users/*.vue + t.is(routes[5].children.length, 5) // parent has 5 children + t.deepEqual(routes[5].children.map((r) => r.path), ['', 'projects', 'projects/:category', ':id', ':index/teub']) + t.deepEqual(routes[5].children.map((r) => r.name), ['test-users', 'test-users-projects', 'test-users-projects-category', 'test-users-id', 'test-users-index-teub']) + // pages/test/songs/toto.vue + t.is(routes[6].path, '/test/songs/toto') + t.is(routes[6].name, 'test-songs-toto') + // pages/test/songs/_id.vue + t.is(routes[7].path, '/test/songs/:id?') + t.is(routes[7].name, 'test-songs-id') + // pages/test/projects/_category.vue + t.is(routes[8].path, '/test/projects/:category') + t.is(routes[8].name, 'test-projects-category') + // pages/users/_id.vue + t.is(routes[9].path, '/users/:id?') + t.is(routes[9].name, 'users-id') + // pages/test/_.vue + t.is(routes[10].path, '/test/*') + t.is(routes[10].name, 'test-all') + // pages/_slug.vue + t.is(routes[11].path, '/:slug') + t.is(routes[11].name, 'slug') + // pages/_key/_id.vue + t.is(routes[12].path, '/:key/:id?') + t.is(routes[12].name, 'key-id') + // pages/_.vue + t.is(routes[13].path, '/*') + t.is(routes[13].name, 'all') + }) }) diff --git a/test/error.test.js b/test/error.test.js index c11446ba1a..ddd3fa4ada 100644 --- a/test/error.test.js +++ b/test/error.test.js @@ -1,5 +1,6 @@ import test from 'ava' import { resolve } from 'path' + const port = 4005 const url = (route) => 'http://localhost:' + port + route @@ -11,10 +12,11 @@ test.before('Init Nuxt.js', async t => { const Nuxt = require('../') const options = { rootDir: resolve(__dirname, 'fixtures/error'), - dev: false + dev: false, + runBuild: true } nuxt = new Nuxt(options) - await nuxt.build() + await nuxt.init() server = new Nuxt.Server(nuxt) server.listen(port, 'localhost') }) diff --git a/test/index.test.js b/test/index.test.js index cafaa08158..b54b304715 100644 --- a/test/index.test.js +++ b/test/index.test.js @@ -10,6 +10,7 @@ test('Nuxt.js Class', t => { test.serial('Nuxt.js Instance', async t => { const nuxt = new Nuxt({ dev: false, + runBuild: true, rootDir: resolve(__dirname, 'fixtures', 'empty') }) t.is(typeof nuxt, 'object') @@ -17,16 +18,17 @@ test.serial('Nuxt.js Instance', async t => { t.is(typeof nuxt.build, 'function') t.is(typeof nuxt.generate, 'function') t.is(typeof nuxt._init.then, 'function') - await nuxt.build() + await nuxt.init() t.is(nuxt.initialized, true) }) test.serial('Fail to build when no pages/ directory but is in the parent', t => { const nuxt = new Nuxt({ dev: false, + runBuild: true, rootDir: resolve(__dirname, 'fixtures', 'empty', 'pages') }) - return nuxt.build().catch(err => { + return nuxt.init().catch(err => { let s = String(err) t.true(s.includes('No `pages` directory found')) t.true(s.includes('Did you mean to run `nuxt` in the parent (`../`) directory?')) @@ -37,9 +39,10 @@ test.serial('Fail to build when no pages/ directory but is in the parent', t => test.serial('Fail to build when no pages/ directory', t => { const nuxt = new Nuxt({ dev: false, + runBuild: true, rootDir: resolve(__dirname) }) - return nuxt.build().catch(err => { + return nuxt.init().catch(err => { let s = String(err) t.true(s.includes('Couldn\'t find a `pages` directory')) t.true(s.includes('Please create one under the project root')) diff --git a/test/module.test.js b/test/module.test.js index 14b79171c8..646408e92d 100755 --- a/test/module.test.js +++ b/test/module.test.js @@ -15,8 +15,9 @@ test.before('Init Nuxt.js', async t => { let config = require(resolve(rootDir, 'nuxt.config.js')) config.rootDir = rootDir config.dev = false + config.runBuild = true nuxt = new Nuxt(config) - await nuxt.build() + await nuxt.init() server = new nuxt.Server(nuxt) server.listen(port, 'localhost') }) diff --git a/test/with-config.test.js b/test/with-config.test.js index 0cab513c7c..78668a2688 100644 --- a/test/with-config.test.js +++ b/test/with-config.test.js @@ -15,8 +15,9 @@ test.before('Init Nuxt.js', async t => { let config = require(resolve(rootDir, 'nuxt.config.js')) config.rootDir = rootDir config.dev = false + config.runBuild = true nuxt = new Nuxt(config) - await nuxt.build() + await nuxt.init() server = new Nuxt.Server(nuxt) server.listen(port, 'localhost') }) @@ -110,6 +111,7 @@ test.after('Should be able to start Nuxt with build done', async t => { let config = require(resolve(rootDir, 'nuxt.config.js')) config.rootDir = rootDir config.dev = false + config.runBuild = true nuxt = new Nuxt(config) await nuxt.init() }) From 15bc36afb0ac0cfe465bf69111da223b1a9972e8 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Thu, 15 Jun 2017 14:33:54 +0430 Subject: [PATCH 071/236] fix some tests --- test/fixtures/module/modules/template/index.js | 2 +- test/index.test.js | 7 +------ test/module.test.js | 2 +- 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/test/fixtures/module/modules/template/index.js b/test/fixtures/module/modules/template/index.js index 4ae607b4b6..4a2d917897 100644 --- a/test/fixtures/module/modules/template/index.js +++ b/test/fixtures/module/modules/template/index.js @@ -6,6 +6,6 @@ module.exports = function () { // Add /api endpoint this.addTemplate({ fileName: 'router.js', - src: path.resolve(this.nuxt.srcDir, 'router.js') + src: path.resolve(this.options.srcDir, 'router.js') }) } diff --git a/test/index.test.js b/test/index.test.js index b54b304715..21e09014f3 100644 --- a/test/index.test.js +++ b/test/index.test.js @@ -9,13 +9,10 @@ test('Nuxt.js Class', t => { test.serial('Nuxt.js Instance', async t => { const nuxt = new Nuxt({ - dev: false, - runBuild: true, rootDir: resolve(__dirname, 'fixtures', 'empty') }) t.is(typeof nuxt, 'object') - t.is(nuxt.options.dev, false) - t.is(typeof nuxt.build, 'function') + t.is(nuxt.options.dev, true) t.is(typeof nuxt.generate, 'function') t.is(typeof nuxt._init.then, 'function') await nuxt.init() @@ -32,7 +29,6 @@ test.serial('Fail to build when no pages/ directory but is in the parent', t => let s = String(err) t.true(s.includes('No `pages` directory found')) t.true(s.includes('Did you mean to run `nuxt` in the parent (`../`) directory?')) - resolve() }) }) @@ -46,6 +42,5 @@ test.serial('Fail to build when no pages/ directory', t => { let s = String(err) t.true(s.includes('Couldn\'t find a `pages` directory')) t.true(s.includes('Please create one under the project root')) - resolve() }) }) diff --git a/test/module.test.js b/test/module.test.js index 646408e92d..bdb658a82e 100755 --- a/test/module.test.js +++ b/test/module.test.js @@ -18,7 +18,7 @@ test.before('Init Nuxt.js', async t => { config.runBuild = true nuxt = new Nuxt(config) await nuxt.init() - server = new nuxt.Server(nuxt) + server = new Nuxt.Server(nuxt) server.listen(port, 'localhost') }) From d882b1ac779f18944ac1b83579b7ae7cb21e75f7 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Thu, 15 Jun 2017 19:23:00 +0430 Subject: [PATCH 072/236] improvements --- lib/builder.js | 53 +++++++++++++++++------------------- lib/nuxt.js | 3 +- lib/renderer.js | 39 ++++++++++++++++++-------- lib/webpack/client.config.js | 11 +++++++- 4 files changed, 64 insertions(+), 42 deletions(-) diff --git a/lib/builder.js b/lib/builder.js index 160cb58518..e2c17ab7e9 100644 --- a/lib/builder.js +++ b/lib/builder.js @@ -5,10 +5,9 @@ import hash from 'hash-sum' import pify from 'pify' import webpack from 'webpack' import serialize from 'serialize-javascript' -import webpackDevMiddleware from 'webpack-dev-middleware' -import webpackHotMiddleware from 'webpack-hot-middleware' import { join, resolve, basename, dirname } from 'path' import Tapable from 'tappable' +import chalk from 'chalk' import { r, wp, createRoutes } from './utils' import clientWebpackConfig from './webpack/client.config.js' import serverWebpackConfig from './webpack/server.config.js' @@ -282,7 +281,7 @@ export default class Builder extends Tapable { // Start build return new Promise((resolve, reject) => { - this.compiler.run((err, multiStats) => { + const handler = (err, multiStats) => { if (err) { return reject(err) } @@ -292,8 +291,15 @@ export default class Builder extends Tapable { return reject(new Error('Webpack build exited with errors')) } } + // Use watch handler instead of compiler.apply('done') to prevent duplicate emits + this.applyPlugins('reload', multiStats) resolve() - }) + } + if (this.options.dev) { + this.compiler.watch(this.options.watchers.webpack, handler) + } else { + this.compiler.run(handler) + } }) } @@ -306,42 +312,33 @@ export default class Builder extends Tapable { compiler.outputFileSystem = mfs }) - let clientConfig = this.compiler.$client.options + // Watch + this.plugin('reload', () => { + // Show open URL + let _host = host === '0.0.0.0' ? 'localhost' : host + // eslint-disable-next-line no-console + console.log(chalk.bold(chalk.bgCyan.black(' OPEN ') + chalk.cyan(` http://${_host}:${port}\n`))) - // Setup on the fly compilation + hot-reload - clientConfig.entry.app = _.flatten(['webpack-hot-middleware/client?reload=true', clientConfig.entry.app]) - clientConfig.plugins.push( - new webpack.HotModuleReplacementPlugin(), - new webpack.NoEmitOnErrorsPlugin() - ) + // Reload renderer if available + if (this.nuxt.renderer) { + this.nuxt.renderer.loadResources(mfs) + } + }) - // Create webpack dev middleware - this.webpackDevMiddleware = pify(webpackDevMiddleware(this.compiler.$client, { - publicPath: clientConfig.output.publicPath, + // Create webpack Dev/Hot middleware + this.webpackDevMiddleware = pify(require('webpack-dev-middleware')(this.compiler.$client, { + publicPath: this.options.build.publicPath, stats: this.webpackStats, quiet: true, noInfo: true, watchOptions: this.options.watchers.webpack })) - this.webpackHotMiddleware = pify(webpackHotMiddleware(this.compiler.$client, { + this.webpackHotMiddleware = pify(require('webpack-hot-middleware')(this.compiler.$client, { log: false, heartbeat: 2500 })) - // Run after compilation is done - this.compiler.plugin('done', async stats => { - // Reload renderer if available - if (this.nuxt.renderer) { - await this.nuxt.renderer.loadResources(mfs) - } - // Show open URL - if (!stats.hasErrors() && !stats.hasWarnings()) { - let _host = host === '0.0.0.0' ? 'localhost' : host - console.log(`> Open http://${_host}:${port}\n`) // eslint-disable-line no-console - } - }) - this.watchFiles() } diff --git a/lib/nuxt.js b/lib/nuxt.js index 38cf9769b7..e6aafdcde9 100644 --- a/lib/nuxt.js +++ b/lib/nuxt.js @@ -1,4 +1,5 @@ import Tapable from 'tappable' +import Builder from './builder' import * as Utils from './utils' import Renderer from './renderer' import ModuleContainer from './module-container' @@ -56,7 +57,7 @@ export default class Nuxt extends Tapable { if (this._builder) { return this._builder } - const Builder = require('./builder').default + // const Builder = require('./builder').default this._builder = new Builder(this) return this._builder } diff --git a/lib/renderer.js b/lib/renderer.js index f51fb396df..0aa1729356 100644 --- a/lib/renderer.js +++ b/lib/renderer.js @@ -69,8 +69,10 @@ export default class Renderer extends Tapable { this.gzipMiddleware = pify(compression(this.options.render.gzip)) } - // Try to load resources from fs - return this.loadResources() + // Load resources from fs + if (!this.options.dev) { + return this.loadResources() + } } async loadResources (_fs = fs, distPath) { @@ -91,21 +93,32 @@ export default class Renderer extends Tapable { } } + let updated = [] + Object.keys(resourceMap).forEach(resourceKey => { let { path, transform } = resourceMap[resourceKey] - let data - if (_fs.existsSync(path)) { - data = _fs.readFileSync(path, 'utf8') - if (typeof transform === 'function') { - data = transform(data) - } + let rawKey = '$$' + resourceKey + let rawData, data + if (!_fs.existsSync(path)) { + return // Resource not exists } - if (data) { - this.resources[resourceKey] = data + rawData = _fs.readFileSync(path, 'utf8') + if (!rawData || rawData === this.resources[rawKey]) { + return // No changes } + this.resources[rawKey] = rawData + data = transform(rawData) + if (!data) { + return // Invalid data ? + } + this.resources[resourceKey] = data + updated.push(resourceKey) }) - this.createRenderer() + if (updated.length > 0) { + // debug('Updated', updated.join(', ')) + this.createRenderer() + } } createRenderer () { @@ -232,7 +245,9 @@ export default class Renderer extends Tapable { async renderRoute (url, context = {}) { /* istanbul ignore if */ if (!this.bundleRenderer || !this.resources.appTemplate) { - return Promise.reject(new Error('bundleRenderer is not available')) + return new Promise(resolve => { + setTimeout(() => resolve(this.renderRoute(url, context)), 1000) + }) } // Log rendered url diff --git a/lib/webpack/client.config.js b/lib/webpack/client.config.js index 05b0ed2dbc..f68ddf1e18 100644 --- a/lib/webpack/client.config.js +++ b/lib/webpack/client.config.js @@ -1,4 +1,4 @@ -import { each, defaults } from 'lodash' +import { each, defaults, flatten } from 'lodash' import webpack from 'webpack' import VueSSRClientPlugin from 'vue-server-renderer/client-plugin' import HTMLPlugin from 'html-webpack-plugin' @@ -88,6 +88,15 @@ export default function webpackClientConfig () { if (this.options.dev) { config.plugins.push(new FriendlyErrorsWebpackPlugin()) } + // Dev client build + if(this.options.dev){ + // Add HMR support + config.entry.app = flatten(['webpack-hot-middleware/client?name=$client&reload=true', config.entry.app]) + config.plugins.push( + new webpack.HotModuleReplacementPlugin(), + new webpack.NoEmitOnErrorsPlugin() + ) + } // Production client build if (!this.options.dev) { config.plugins.push( From 2576e8795e328d8d7a10cb4ff7cc23baf4c79009 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Thu, 15 Jun 2017 19:29:26 +0430 Subject: [PATCH 073/236] init() ~> ready() --- bin/nuxt-build | 2 +- lib/generator.js | 2 +- lib/nuxt.js | 8 ++++---- lib/renderer.js | 12 ++++++------ lib/server.js | 4 ++-- test/basic.dev.test.js | 2 +- test/basic.test.js | 2 +- test/children.test.js | 2 +- test/dynamic-routes.test.js | 2 +- test/error.test.js | 2 +- test/index.test.js | 8 ++++---- test/module.test.js | 2 +- test/with-config.test.js | 4 ++-- 13 files changed, 26 insertions(+), 26 deletions(-) diff --git a/bin/nuxt-build b/bin/nuxt-build index 8c4fffd038..0f7b956563 100755 --- a/bin/nuxt-build +++ b/bin/nuxt-build @@ -61,7 +61,7 @@ if (argv.analyze) { console.log('[nuxt] Building...') // eslint-disable-line no-console var nuxt = module.exports = new Nuxt(options) -nuxt.init() +nuxt.ready() .then(() => { console.log('[nuxt] Building done') // eslint-disable-line no-console }) diff --git a/lib/generator.js b/lib/generator.js index 3cc54b6d93..e92907d32e 100644 --- a/lib/generator.js +++ b/lib/generator.js @@ -31,7 +31,7 @@ export default class Generator extends Tapable { let distNuxtPath = join(distPath, (isUrl(this.options.build.publicPath) ? '' : this.options.build.publicPath)) // Wait for nuxt be ready - await this.nuxt.init() + await this.nuxt.ready() // Clean destination folder await remove(distPath) diff --git a/lib/nuxt.js b/lib/nuxt.js index e6aafdcde9..1a14ffd9d2 100644 --- a/lib/nuxt.js +++ b/lib/nuxt.js @@ -36,12 +36,12 @@ export default class Nuxt extends Tapable { } }) - this._init = this.init().catch(this.errorHandler) + this._ready = this.ready().catch(this.errorHandler) } - async init () { - if (this._init) { - return this._init + async ready () { + if (this._ready) { + return this._ready } // Wait for all components to be ready diff --git a/lib/renderer.js b/lib/renderer.js index 0aa1729356..c7deae435a 100644 --- a/lib/renderer.js +++ b/lib/renderer.js @@ -41,19 +41,19 @@ export default class Renderer extends Tapable { if (nuxt.initialized) { // If nuxt already initialized - this._init = this.init().catch(this.nuxt.errorHandler) + this._ready = this.ready().catch(this.nuxt.errorHandler) } else { // Wait for hook this.nuxt.plugin('afterInit', () => { - this._init = this.init() - return this._init + this._ready = this.ready() + return this._ready }) } } - async init () { - if (this._init) { - return this._init + async ready () { + if (this._ready) { + return this._ready } // For serving static/ files to / diff --git a/lib/server.js b/lib/server.js index f18f2e1706..09bd816c09 100644 --- a/lib/server.js +++ b/lib/server.js @@ -10,7 +10,7 @@ class Server { // Initialize this.app = connect() this.server = http.createServer(this.app) - this.nuxt.init() + this.nuxt.ready() .then(() => { // Add Middleware this.options.serverMiddleware.forEach(m => { @@ -48,7 +48,7 @@ class Server { listen (port, host) { host = host || 'localhost' port = port || 3000 - this.nuxt.init() + this.nuxt.ready() .then(() => { this.server.listen(port, host, () => { let _host = host === '0.0.0.0' ? 'localhost' : host diff --git a/test/basic.dev.test.js b/test/basic.dev.test.js index 108bd5c35d..be75b6cac1 100644 --- a/test/basic.dev.test.js +++ b/test/basic.dev.test.js @@ -15,7 +15,7 @@ test.before('Init Nuxt.js', async t => { dev: true } nuxt = new Nuxt(options) - await nuxt.init() + await nuxt.ready() server = new Nuxt.Server(nuxt) server.listen(port, 'localhost') }) diff --git a/test/basic.test.js b/test/basic.test.js index 71372e0636..b29df1ead9 100755 --- a/test/basic.test.js +++ b/test/basic.test.js @@ -18,7 +18,7 @@ test.before('Init Nuxt.js', async t => { runBuild: true } nuxt = new Nuxt(options) - await nuxt.init() + await nuxt.ready() server = new Nuxt.Server(nuxt) server.listen(port, 'localhost') }) diff --git a/test/children.test.js b/test/children.test.js index 5bae366e0b..01786707c9 100644 --- a/test/children.test.js +++ b/test/children.test.js @@ -16,7 +16,7 @@ test.before('Init Nuxt.js', async t => { runBuild: true } nuxt = new Nuxt(options) - await nuxt.init() + await nuxt.ready() server = new Nuxt.Server(nuxt) server.listen(port, 'localhost') }) diff --git a/test/dynamic-routes.test.js b/test/dynamic-routes.test.js index ebd1760d44..b2256a9951 100644 --- a/test/dynamic-routes.test.js +++ b/test/dynamic-routes.test.js @@ -12,7 +12,7 @@ test.before('Init Nuxt.js', async t => { dev: false, runBuild: true }) - await nuxt.init() + await nuxt.ready() }) test('Check .nuxt/router.js', t => { diff --git a/test/error.test.js b/test/error.test.js index ddd3fa4ada..ab361c4d03 100644 --- a/test/error.test.js +++ b/test/error.test.js @@ -16,7 +16,7 @@ test.before('Init Nuxt.js', async t => { runBuild: true } nuxt = new Nuxt(options) - await nuxt.init() + await nuxt.ready() server = new Nuxt.Server(nuxt) server.listen(port, 'localhost') }) diff --git a/test/index.test.js b/test/index.test.js index 21e09014f3..066578f632 100644 --- a/test/index.test.js +++ b/test/index.test.js @@ -15,8 +15,8 @@ test.serial('Nuxt.js Instance', async t => { t.is(nuxt.options.dev, true) t.is(typeof nuxt.generate, 'function') t.is(typeof nuxt._init.then, 'function') - await nuxt.init() - t.is(nuxt.initialized, true) + await nuxt.ready() + t.is(nuxt.readyialized, true) }) test.serial('Fail to build when no pages/ directory but is in the parent', t => { @@ -25,7 +25,7 @@ test.serial('Fail to build when no pages/ directory but is in the parent', t => runBuild: true, rootDir: resolve(__dirname, 'fixtures', 'empty', 'pages') }) - return nuxt.init().catch(err => { + return nuxt.ready().catch(err => { let s = String(err) t.true(s.includes('No `pages` directory found')) t.true(s.includes('Did you mean to run `nuxt` in the parent (`../`) directory?')) @@ -38,7 +38,7 @@ test.serial('Fail to build when no pages/ directory', t => { runBuild: true, rootDir: resolve(__dirname) }) - return nuxt.init().catch(err => { + return nuxt.ready().catch(err => { let s = String(err) t.true(s.includes('Couldn\'t find a `pages` directory')) t.true(s.includes('Please create one under the project root')) diff --git a/test/module.test.js b/test/module.test.js index bdb658a82e..eca4d7bfea 100755 --- a/test/module.test.js +++ b/test/module.test.js @@ -17,7 +17,7 @@ test.before('Init Nuxt.js', async t => { config.dev = false config.runBuild = true nuxt = new Nuxt(config) - await nuxt.init() + await nuxt.ready() server = new Nuxt.Server(nuxt) server.listen(port, 'localhost') }) diff --git a/test/with-config.test.js b/test/with-config.test.js index 78668a2688..a7366ea65d 100644 --- a/test/with-config.test.js +++ b/test/with-config.test.js @@ -17,7 +17,7 @@ test.before('Init Nuxt.js', async t => { config.dev = false config.runBuild = true nuxt = new Nuxt(config) - await nuxt.init() + await nuxt.ready() server = new Nuxt.Server(nuxt) server.listen(port, 'localhost') }) @@ -113,5 +113,5 @@ test.after('Should be able to start Nuxt with build done', async t => { config.dev = false config.runBuild = true nuxt = new Nuxt(config) - await nuxt.init() + await nuxt.ready() }) From ce959878e79ae2c28f6cfc330da37fb48b4ad3dc Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Thu, 15 Jun 2017 19:30:23 +0430 Subject: [PATCH 074/236] eslint --- lib/webpack/client.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/webpack/client.config.js b/lib/webpack/client.config.js index f68ddf1e18..5bb047b234 100644 --- a/lib/webpack/client.config.js +++ b/lib/webpack/client.config.js @@ -89,7 +89,7 @@ export default function webpackClientConfig () { config.plugins.push(new FriendlyErrorsWebpackPlugin()) } // Dev client build - if(this.options.dev){ + if (this.options.dev) { // Add HMR support config.entry.app = flatten(['webpack-hot-middleware/client?name=$client&reload=true', config.entry.app]) config.plugins.push( From d68b4f0c00b1459d17666eb4a082f90645ced987 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Thu, 15 Jun 2017 20:56:13 +0430 Subject: [PATCH 075/236] webpack3 --- lib/utils.js | 2 +- package.json | 8 +- yarn.lock | 239 +++++++++++++++------------------------------------ 3 files changed, 76 insertions(+), 173 deletions(-) diff --git a/lib/utils.js b/lib/utils.js index 9bf2167488..2f2fbac7b8 100644 --- a/lib/utils.js +++ b/lib/utils.js @@ -89,7 +89,7 @@ const sysSep = _.escapeRegExp(sep) const normalize = string => string.replace(reqSep, sysSep) export function r () { - let args = Array.from(arguments) + let args = Array.prototype.slice.apply(arguments) if (_.last(args).includes('~')) { return wp(_.last(args)) diff --git a/package.json b/package.json index 242035d12c..af39026350 100644 --- a/package.json +++ b/package.json @@ -91,7 +91,7 @@ "serve-static": "^1.12.3", "tapable": "^0.2.6", "tappable": "^1.0.1", - "url-loader": "^0.5.8", + "url-loader": "^0.5.9", "vue": "~2.3.3", "vue-loader": "^12.2.1", "vue-meta": "^1.0.4", @@ -100,7 +100,7 @@ "vue-ssr-html-stream": "^2.2.0", "vue-template-compiler": "~2.3.3", "vuex": "^2.3.1", - "webpack": "^2.6.1", + "webpack": "^3.0.0-rc.2", "webpack-bundle-analyzer": "^2.8.2", "webpack-dev-middleware": "^1.10.2", "webpack-hot-middleware": "^2.18.0", @@ -115,9 +115,9 @@ "babel-preset-stage-2": "^6.24.1", "codecov": "^2.2.0", "copy-webpack-plugin": "^4.0.1", - "eslint": "^3.19.0", + "eslint": "^4.0.0", "eslint-config-standard": "^10.2.1", - "eslint-plugin-html": "^2.0.3", + "eslint-plugin-html": "^3.0.0", "eslint-plugin-import": "^2.3.0", "eslint-plugin-node": "^5.0.0", "eslint-plugin-promise": "^3.5.0", diff --git a/yarn.lock b/yarn.lock index 7379f9afb8..c44bae33a7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -86,10 +86,14 @@ acorn@^5.0.0, acorn@^5.0.1, acorn@^5.0.3: version "5.0.3" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.0.3.tgz#c460df08491463f028ccb82eab3730bf01087b3d" -ajv-keywords@^1.0.0, ajv-keywords@^1.1.1: +ajv-keywords@^1.0.0: version "1.5.1" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" +ajv-keywords@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.0.tgz#a296e17f7bfae7c1ce4f7e0de53d29cb32162df0" + ajv@^4.7.0, ajv@^4.9.1: version "4.11.8" resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" @@ -97,7 +101,7 @@ ajv@^4.7.0, ajv@^4.9.1: co "^4.6.0" json-stable-stringify "^1.0.1" -ajv@^5.0.0: +ajv@^5.0.0, ajv@^5.1.5: version "5.1.5" resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.1.5.tgz#8734931b601f00d4feef7c65738d77d1b65d1f68" dependencies: @@ -1408,12 +1412,6 @@ cli-boxes@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" -cli-cursor@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" - dependencies: - restore-cursor "^1.0.1" - cli-cursor@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" @@ -1566,7 +1564,7 @@ concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" -concat-stream@^1.5.2: +concat-stream@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" dependencies: @@ -2074,20 +2072,13 @@ domutils@1.1: dependencies: domelementtype "1" -domutils@1.5.1: +domutils@1.5.1, domutils@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" dependencies: dom-serializer "0" domelementtype "1" -domutils@^1.5.1: - version "1.6.2" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.6.2.tgz#1958cc0b4c9426e9ed367fb1c8e854891b0fa3ff" - dependencies: - dom-serializer "0" - domelementtype "1" - dot-prop@^4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.1.1.tgz#a8493f0b7b5eeec82525b5c7587fa7de7ca859c1" @@ -2300,9 +2291,9 @@ eslint-module-utils@^2.0.0: debug "2.2.0" pkg-dir "^1.0.0" -eslint-plugin-html@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-html/-/eslint-plugin-html-2.0.3.tgz#7c89883ab0c85fa5d28b666a14a4e906aa90b897" +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" dependencies: htmlparser2 "^3.8.2" @@ -2338,45 +2329,49 @@ eslint-plugin-standard@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-3.0.1.tgz#34d0c915b45edc6f010393c7eef3823b08565cf2" -eslint@^3.19.0: - version "3.19.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc" +eslint-scope@^3.7.1: + version "3.7.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8" dependencies: - babel-code-frame "^6.16.0" + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.0.0.tgz#7277c01437fdf41dccd168d5aa0e49b75ca1f260" + dependencies: + babel-code-frame "^6.22.0" chalk "^1.1.3" - concat-stream "^1.5.2" - debug "^2.1.1" + concat-stream "^1.6.0" + debug "^2.6.8" doctrine "^2.0.0" - escope "^3.6.0" - espree "^3.4.0" + eslint-scope "^3.7.1" + espree "^3.4.3" esquery "^1.0.0" estraverse "^4.2.0" esutils "^2.0.2" file-entry-cache "^2.0.0" - glob "^7.0.3" - globals "^9.14.0" - ignore "^3.2.0" + glob "^7.1.2" + globals "^9.17.0" + ignore "^3.3.3" imurmurhash "^0.1.4" - inquirer "^0.12.0" - is-my-json-valid "^2.10.0" + inquirer "^3.0.6" + is-my-json-valid "^2.16.0" is-resolvable "^1.0.0" - js-yaml "^3.5.1" - json-stable-stringify "^1.0.0" + js-yaml "^3.8.4" + json-stable-stringify "^1.0.1" levn "^0.3.0" - lodash "^4.0.0" - mkdirp "^0.5.0" + lodash "^4.17.4" + mkdirp "^0.5.1" natural-compare "^1.4.0" optionator "^0.8.2" - path-is-inside "^1.0.1" - pluralize "^1.2.1" - progress "^1.1.8" - require-uncached "^1.0.2" - shelljs "^0.7.5" - strip-bom "^3.0.0" + path-is-inside "^1.0.2" + pluralize "^4.0.0" + progress "^2.0.0" + require-uncached "^1.0.3" strip-json-comments "~2.0.1" - table "^3.7.8" + table "^4.0.1" text-table "~0.2.0" - user-home "^2.0.0" espower-location-detector@^1.0.0: version "1.0.0" @@ -2387,7 +2382,7 @@ espower-location-detector@^1.0.0: source-map "^0.5.0" xtend "^4.0.0" -espree@^3.4.0: +espree@^3.4.3: version "3.4.3" resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.3.tgz#2910b5ccd49ce893c2ffffaab4fd8b3a31b82374" dependencies: @@ -2481,10 +2476,6 @@ execa@^0.5.0: signal-exit "^3.0.0" strip-eof "^1.0.0" -exit-hook@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" - expand-brackets@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" @@ -2569,13 +2560,6 @@ fastparse@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8" -figures@^1.3.5: - version "1.7.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" - dependencies: - escape-string-regexp "^1.0.5" - object-assign "^4.1.0" - figures@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" @@ -2837,7 +2821,7 @@ glob@^6.0.4: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.2: +glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.2: version "7.1.2" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" dependencies: @@ -2848,7 +2832,7 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.2: once "^1.3.0" path-is-absolute "^1.0.0" -globals@^9.0.0, globals@^9.14.0: +globals@^9.0.0, globals@^9.17.0: version "9.18.0" resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" @@ -3141,7 +3125,7 @@ ignore-by-default@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" -ignore@^3.2.0, ignore@^3.3.3: +ignore@^3.3.3: version "3.3.3" resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.3.tgz#432352e57accd87ab3110e82d3fea0e47812156d" @@ -3190,7 +3174,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: @@ -3208,24 +3192,6 @@ inquirer@3.0.6: strip-ansi "^3.0.0" through "^2.3.6" -inquirer@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" - dependencies: - ansi-escapes "^1.1.0" - ansi-regex "^2.0.0" - chalk "^1.0.0" - cli-cursor "^1.0.1" - cli-width "^2.0.0" - figures "^1.3.5" - lodash "^4.3.0" - readline2 "^1.0.1" - run-async "^0.1.0" - rx-lite "^3.1.2" - string-width "^1.0.1" - strip-ansi "^3.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" @@ -3340,7 +3306,7 @@ is-glob@^3.1.0: dependencies: is-extglob "^2.1.0" -is-my-json-valid@^2.10.0, is-my-json-valid@^2.12.4: +is-my-json-valid@^2.12.4, is-my-json-valid@^2.16.0: version "2.16.0" resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693" dependencies: @@ -3598,7 +3564,7 @@ js-tokens@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" -js-yaml@^3.4.3, js-yaml@^3.5.1, js-yaml@^3.8.2: +js-yaml@^3.4.3, js-yaml@^3.8.2, js-yaml@^3.8.4: version "3.8.4" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.4.tgz#520b4564f86573ba96662af85a8cafa7b4b5a6f6" dependencies: @@ -3662,7 +3628,7 @@ json-schema@0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" -json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: +json-stable-stringify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" dependencies: @@ -4100,10 +4066,6 @@ multimatch@^2.1.0: arrify "^1.0.0" minimatch "^3.0.0" -mute-stream@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" - mute-stream@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" @@ -4359,10 +4321,6 @@ once@^1.3.0, once@^1.3.3: dependencies: wrappy "1" -onetime@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" - onetime@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" @@ -4557,7 +4515,7 @@ path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" -path-is-inside@^1.0.1: +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" @@ -4662,18 +4620,14 @@ plur@^2.0.0: dependencies: irregular-plurals "^1.0.0" -pluralize@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" +pluralize@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-4.0.0.tgz#59b708c1c0190a2f692f1c7618c446b052fd1762" pn@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/pn/-/pn-1.0.0.tgz#1cf5a30b0d806cd18f88fc41a6b5d4ad615b3ba9" -post-compile-webpack-plugin@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/post-compile-webpack-plugin/-/post-compile-webpack-plugin-0.1.1.tgz#1b1a0eea890ce748556ca49e066a48c900e0b370" - postcss-calc@^5.2.0: version "5.3.1" resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e" @@ -5012,6 +4966,10 @@ progress@^1.1.8: version "1.1.8" resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" +progress@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f" + proto-list@~1.2.1: version "1.2.4" resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" @@ -5162,20 +5120,6 @@ readdirp@^2.0.0: readable-stream "^2.0.2" set-immediate-shim "^1.0.1" -readline2@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - mute-stream "0.0.5" - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - dependencies: - resolve "^1.1.6" - redent@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" @@ -5379,7 +5323,7 @@ require-precompiled@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/require-precompiled/-/require-precompiled-0.1.0.tgz#5a1b52eb70ebed43eb982e974c85ab59571e56fa" -require-uncached@^1.0.2: +require-uncached@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" dependencies: @@ -5410,13 +5354,6 @@ resolve@^1.1.6, resolve@^1.2.0, resolve@^1.3.3: dependencies: path-parse "^1.0.5" -restore-cursor@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" - dependencies: - exit-hook "^1.0.0" - onetime "^1.0.0" - restore-cursor@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" @@ -5443,22 +5380,12 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^2.0.0" inherits "^2.0.1" -run-async@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" - dependencies: - once "^1.3.0" - run-async@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" dependencies: is-promise "^2.1.0" -rx-lite@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" - rx@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" @@ -5550,14 +5477,6 @@ sha.js@^2.4.0, sha.js@^2.4.8: dependencies: inherits "^2.0.1" -shelljs@^0.7.5: - version "0.7.8" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.8.tgz#decbcf874b0d1e5fb72e14b164a9683048e9acb3" - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - sigmund@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" @@ -5594,10 +5513,6 @@ 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" -source-list-map@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-1.1.2.tgz#9889019d1024cce55cdc069498337ef6186a11a1" - source-list-map@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085" @@ -5819,9 +5734,9 @@ symbol-tree@^3.2.1: version "3.2.2" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" -table@^3.7.8: - version "3.8.3" - resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" +table@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/table/-/table-4.0.1.tgz#a8116c133fac2c61f4a420ab6cdf5c4d61f0e435" dependencies: ajv "^4.7.0" ajv-keywords "^1.0.0" @@ -6076,9 +5991,9 @@ upper-case@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" -url-loader@^0.5.8: - version "0.5.8" - resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-0.5.8.tgz#b9183b1801e0f847718673673040bc9dc1c715c5" +url-loader@^0.5.9: + version "0.5.9" + resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-0.5.9.tgz#cc8fea82c7b906e7777019250869e569e995c295" dependencies: loader-utils "^1.0.2" mime "1.3.x" @@ -6100,12 +6015,6 @@ urlgrey@0.4.4: version "0.4.4" resolved "https://registry.yarnpkg.com/urlgrey/-/urlgrey-0.4.4.tgz#892fe95960805e85519f1cd4389f2cb4cbb7652f" -user-home@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" - dependencies: - os-homedir "^1.0.0" - util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -6292,13 +6201,6 @@ webpack-node-externals@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/webpack-node-externals/-/webpack-node-externals-1.6.0.tgz#232c62ec6092b100635a3d29d83c1747128df9bd" -webpack-sources@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.2.3.tgz#17c62bfaf13c707f9d02c479e0dcdde8380697fb" - dependencies: - source-list-map "^1.1.1" - source-map "~0.5.3" - webpack-sources@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.0.1.tgz#c7356436a4d13123be2e2426a05d1dad9cbe65cf" @@ -6306,21 +6208,22 @@ webpack-sources@^1.0.1: source-list-map "^2.0.0" source-map "~0.5.3" -webpack@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.6.1.tgz#2e0457f0abb1ac5df3ab106c69c672f236785f07" +webpack@^3.0.0-rc.2: + version "3.0.0-rc.2" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.0.0-rc.2.tgz#20c903580fa9fba8497bc1c6455810d3d397c958" dependencies: acorn "^5.0.0" acorn-dynamic-import "^2.0.0" - ajv "^4.7.0" - ajv-keywords "^1.1.1" + ajv "^5.1.5" + ajv-keywords "^2.0.0" async "^2.1.2" enhanced-resolve "^3.0.0" + escope "^3.6.0" interpret "^1.0.0" json-loader "^0.5.4" json5 "^0.5.1" loader-runner "^2.3.0" - loader-utils "^0.2.16" + loader-utils "^1.1.0" memory-fs "~0.4.1" mkdirp "~0.5.0" node-libs-browser "^2.0.0" @@ -6329,7 +6232,7 @@ webpack@^2.6.1: tapable "~0.2.5" uglify-js "^2.8.27" watchpack "^1.3.1" - webpack-sources "^0.2.3" + webpack-sources "^1.0.1" yargs "^6.0.0" whatwg-encoding@^1.0.1: From 5722a92c4c0150c9c67af1dde195e40026990aa4 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Fri, 16 Jun 2017 02:49:53 +0430 Subject: [PATCH 076/236] many improvements --- bin/nuxt-dev | 6 +- lib/builder.js | 107 +++++++++++++-------- lib/nuxt.js | 53 +++++------ lib/renderer.js | 16 +++- lib/server.js | 45 ++++++--- lib/utils.js | 4 + lib/webpack/base.config.js | 39 ++++++-- lib/webpack/client.config.js | 155 +++++++++++++++++-------------- lib/webpack/server.config.js | 22 +++-- lib/webpack/vue-loader.config.js | 3 +- 10 files changed, 268 insertions(+), 182 deletions(-) diff --git a/bin/nuxt-dev b/bin/nuxt-dev index df72c433c6..7f52e988f5 100755 --- a/bin/nuxt-dev +++ b/bin/nuxt-dev @@ -87,12 +87,10 @@ function listenOnConfigChanges(nuxt, server) { options.rootDir = rootDir nuxt.close() .then(() => { - nuxt.renderer = null debug('Rebuilding the app...') - return new Nuxt(options).build() - }) - .then((nuxt) => { + var nuxt = new Nuxt(options) server.nuxt = nuxt + return nuxt.ready() }) .catch((error) => { console.error('Error while rebuild the app:', error) // eslint-disable-line no-console diff --git a/lib/builder.js b/lib/builder.js index e2c17ab7e9..2f1eb98b35 100644 --- a/lib/builder.js +++ b/lib/builder.js @@ -7,11 +7,11 @@ import webpack from 'webpack' import serialize from 'serialize-javascript' import { join, resolve, basename, dirname } from 'path' import Tapable from 'tappable' -import chalk from 'chalk' +import MFS from 'memory-fs' +import { sequence, parallel } from "./utils" import { r, wp, createRoutes } from './utils' import clientWebpackConfig from './webpack/client.config.js' import serverWebpackConfig from './webpack/server.config.js' -import MFS from 'memory-fs' const debug = require('debug')('nuxt:build') debug.color = 2 // Force green color @@ -23,9 +23,6 @@ const writeFile = pify(fs.writeFile) const mkdirp = pify(fs.mkdirp) const glob = pify(require('glob')) -const host = process.env.HOST || process.env.npm_package_config_nuxt_host || 'localhost' -const port = process.env.PORT || process.env.npm_package_config_nuxt_port || '3000' - export default class Builder extends Tapable { constructor (nuxt) { super() @@ -50,7 +47,7 @@ export default class Builder extends Tapable { _.defaultsDeep(this.options.build, extraDefaults) // Mute stats on dev - this.webpackStats = this.options.dev ? '' : { + this.webpackStats = this.options.dev ? false : { chunks: false, children: false, modules: false, @@ -220,7 +217,7 @@ export default class Builder extends Tapable { })) // Interpret and move template files to .nuxt/ - return Promise.all(templatesFiles.map(async ({ src, dst, options, custom }) => { + await Promise.all(templatesFiles.map(async ({ src, dst, options, custom }) => { // Add template to watchers this.options.build.watch.push(src) // Render template to dst @@ -245,7 +242,7 @@ export default class Builder extends Tapable { // Write file await writeFile(path, content, 'utf8') // Fix webpack loop (https://github.com/webpack/watchpack/issues/25#issuecomment-287789288) - const dateFS = Date.now() / 1000 - 30 + const dateFS = Date.now() / 1000 - 1000 return utimes(path, dateFS, dateFS) })) } @@ -256,16 +253,23 @@ export default class Builder extends Tapable { // Client let clientConfig = clientWebpackConfig.call(this) - clientConfig.name = '$client' compilersOptions.push(clientConfig) // Server let serverConfig = serverWebpackConfig.call(this) - serverConfig.name = '$server' compilersOptions.push(serverConfig) - // Leverage webpack multi-compiler for faster builds - this.compiler = webpack(compilersOptions) + // Simulate webpack multi compiler interface + // Separate compilers are simpler, safer and faster + this.compiler = { cache: {}, compilers: [] } + compilersOptions.forEach(compilersOption => { + this.compiler.compilers.push(webpack(compilersOption)) + }) + this.compiler.plugin = (...args) => { + this.compiler.compilers.forEach(compiler => { + compiler.plugin(...args) + }) + } // Access to compilers with name this.compiler.compilers.forEach(compiler => { @@ -274,71 +278,84 @@ export default class Builder extends Tapable { } }) - // Add middleware for dev + // Add dev Stuff if (this.options.dev) { this.webpackDev() } - // Start build - return new Promise((resolve, reject) => { - const handler = (err, multiStats) => { + // Start Builds + return parallel(this.compiler.compilers, compiler => new Promise((resolve, reject) => { + let _resolved = false + const handler = (err, stats) => { + if (_resolved) return + _resolved = true if (err) { return reject(err) } - for (let _stats of multiStats.stats) { - console.log(_stats.toString(this.webpackStats)) // eslint-disable-line no-console - if (_stats.hasErrors()) { + if (!this.options.dev) { + // Show build stats for production + console.log(stats.toString(this.webpackStats)) // eslint-disable-line no-console + if (stats.hasErrors()) { return reject(new Error('Webpack build exited with errors')) } } - // Use watch handler instead of compiler.apply('done') to prevent duplicate emits - this.applyPlugins('reload', multiStats) resolve() } if (this.options.dev) { - this.compiler.watch(this.options.watchers.webpack, handler) + if (compiler.options.name === 'client') { + // Client watch is started by dev-middleware + resolve() + } else { + // Build and watch for changes + compiler.watch(this.options.watchers.webpack, handler) + } } else { - this.compiler.run(handler) + // Production build + compiler.run(handler) } - }) + })) } webpackDev () { - debug('Adding webpack middleware...') - - // Use MFS for faster builds + // Use shared MFS + Cache for faster builds let mfs = new MFS() this.compiler.compilers.forEach(compiler => { compiler.outputFileSystem = mfs + compiler.cache = this.compiler.cache }) - // Watch - this.plugin('reload', () => { - // Show open URL - let _host = host === '0.0.0.0' ? 'localhost' : host - // eslint-disable-next-line no-console - console.log(chalk.bold(chalk.bgCyan.black(' OPEN ') + chalk.cyan(` http://${_host}:${port}\n`))) - + // Run after each compile + this.compiler.plugin('done', stats => { + console.log(stats.toString(this.webpackStats)) // eslint-disable-line no-console // Reload renderer if available if (this.nuxt.renderer) { this.nuxt.renderer.loadResources(mfs) } }) - // Create webpack Dev/Hot middleware - this.webpackDevMiddleware = pify(require('webpack-dev-middleware')(this.compiler.$client, { + // Add dev Middleware + debug('Adding webpack middleware...') + + // Create webpack dev middleware + this.webpackDevMiddleware = pify(require('webpack-dev-middleware')(this.compiler.client, { publicPath: this.options.build.publicPath, stats: this.webpackStats, - quiet: true, noInfo: true, + quiet: true, watchOptions: this.options.watchers.webpack })) - this.webpackHotMiddleware = pify(require('webpack-hot-middleware')(this.compiler.$client, { + this.webpackHotMiddleware = pify(require('webpack-hot-middleware')(this.compiler.client, { log: false, heartbeat: 2500 })) + // Stop webpack middleware on nuxt.close() + this.nuxt.plugin('close', () => new Promise(resolve => { + this.webpackDevMiddleware.close(() => resolve()) + })) + + // Start watching files this.watchFiles() } @@ -360,13 +377,21 @@ export default class Builder extends Tapable { }) /* istanbul ignore next */ const refreshFiles = _.debounce(this.generateRoutesAndFiles, 200) - // Watch for internals - this.filesWatcher = chokidar.watch(patterns, options) + + // Watch for src Files + let filesWatcher = chokidar.watch(patterns, options) .on('add', refreshFiles) .on('unlink', refreshFiles) + // Watch for custom provided files - this.customFilesWatcher = chokidar.watch(_.uniq(this.options.build.watch), options) + let customFilesWatcher = chokidar.watch(_.uniq(this.options.build.watch), options) .on('change', refreshFiles) + + // Stop watching on nuxt.close() + this.nuxt.plugin('close', () => { + filesWatcher.close() + customFilesWatcher.close() + }) } } diff --git a/lib/nuxt.js b/lib/nuxt.js index 1a14ffd9d2..499d254343 100644 --- a/lib/nuxt.js +++ b/lib/nuxt.js @@ -1,11 +1,14 @@ import Tapable from 'tappable' -import Builder from './builder' +import chalk from 'chalk' import * as Utils from './utils' import Renderer from './renderer' import ModuleContainer from './module-container' import Server from './server' import defaults from './defaults' +const defaultHost = process.env.HOST || process.env.npm_package_config_nuxt_host || 'localhost' +const defaultPort = process.env.PORT || process.env.npm_package_config_nuxt_port || '3000' + export default class Nuxt extends Tapable { constructor (_options = {}) { super() @@ -57,7 +60,7 @@ export default class Nuxt extends Tapable { if (this._builder) { return this._builder } - // const Builder = require('./builder').default + const Builder = require('./builder').default this._builder = new Builder(this) return this._builder } @@ -90,36 +93,28 @@ export default class Nuxt extends Tapable { process.exit(1) } + serverReady ({ host = defaultHost, port = defaultPort } = {}) { + let _host = host === '0.0.0.0' ? 'localhost' : host + + // eslint-disable-next-line no-console + console.log('\n' + chalk.bold(chalk.bgBlue.black(' OPEN ') + chalk.blue(` http://${_host}:${port}\n`))) + + return this.applyPluginsAsync('serverReady').catch(this.errorHandler) + } + async close (callback) { - let promises = [] - /* istanbul ignore if */ - if (this.webpackDevMiddleware) { - const p = new Promise((resolve, reject) => { - this.webpackDevMiddleware.close(() => resolve()) - }) - promises.push(p) - } - /* istanbul ignore if */ - if (this.webpackServerWatcher) { - const p = new Promise((resolve, reject) => { - this.webpackServerWatcher.close(() => resolve()) - }) - promises.push(p) - } - /* istanbul ignore if */ - if (this.filesWatcher) { - this.filesWatcher.close() - } - /* istanbul ignore if */ - if (this.customFilesWatcher) { - this.customFilesWatcher.close() - } + // Call for close + await this.applyPluginsAsync('close') - promises.push(this.applyPluginsAsync('close')) + // Remove all references + delete this._generator + delete this._builder - return Promise.all(promises).then(() => { - if (typeof callback === 'function') callback() - }) + this.initialized = false + + if (typeof callback === 'function') { + callback() + } } } diff --git a/lib/renderer.js b/lib/renderer.js index c7deae435a..d9c311fbcb 100644 --- a/lib/renderer.js +++ b/lib/renderer.js @@ -10,6 +10,7 @@ import _ from 'lodash' import { resolve, join } from 'path' import fs from 'fs-extra' import { createBundleRenderer } from 'vue-server-renderer' +import chalk from 'chalk' import { getContext, setAnsiColors, encodeHtml } from './utils' const debug = require('debug')('nuxt:render') @@ -39,6 +40,7 @@ export default class Renderer extends Tapable { errorTemplate: parseTemplate(fs.readFileSync(resolve(__dirname, 'views', 'error.html'), 'utf8')) } + // Initialize if (nuxt.initialized) { // If nuxt already initialized this._ready = this.ready().catch(this.nuxt.errorHandler) @@ -71,16 +73,18 @@ export default class Renderer extends Tapable { // Load resources from fs if (!this.options.dev) { - return this.loadResources() + await this.loadResources() } + + return this } - async loadResources (_fs = fs, distPath) { - distPath = distPath || resolve(this.options.buildDir, 'dist') + async loadResources (_fs = fs, isServer) { + let distPath = resolve(this.options.buildDir, 'dist') const resourceMap = { clientManifest: { - path: join(distPath, 'client-manifest.json'), + path: join(distPath, 'vue-ssr-client-manifest.json'), transform: JSON.parse }, serverBundle: { @@ -116,7 +120,7 @@ export default class Renderer extends Tapable { }) if (updated.length > 0) { - // debug('Updated', updated.join(', ')) + // debug('Updated', updated.join(', '), isServer) this.createRenderer() } } @@ -136,6 +140,8 @@ export default class Renderer extends Tapable { // Promisify renderToString this.bundleRenderer.renderToString = pify(this.bundleRenderer.renderToString) + + this.nuxt.serverReady() } async render (req, res) { diff --git a/lib/server.js b/lib/server.js index 09bd816c09..f0082e8e7c 100644 --- a/lib/server.js +++ b/lib/server.js @@ -8,17 +8,33 @@ class Server { this.options = nuxt.options // Initialize + 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() { + if (this._ready) { + return this._ready + } + this.app = connect() this.server = http.createServer(this.app) - this.nuxt.ready() - .then(() => { - // Add Middleware - this.options.serverMiddleware.forEach(m => { - this.useMiddleware(m) - }) - // Add default render middleware - this.useMiddleware(this.render.bind(this)) - }) + + // Add Middleware + this.options.serverMiddleware.forEach(m => { + this.useMiddleware(m) + }) + // Add default render middleware + this.useMiddleware(this.render.bind(this)) + return this } @@ -49,12 +65,13 @@ class Server { host = host || 'localhost' port = port || 3000 this.nuxt.ready() - .then(() => { - this.server.listen(port, host, () => { - let _host = host === '0.0.0.0' ? 'localhost' : host - console.log('Ready on http://%s:%s', _host, port) // eslint-disable-line no-console + .then(() => { + this.server.listen(port, host, () => { + // Renderer calls showURL when server is really ready + // this.nuxt.showURL(host, port) + }) }) - }) + .catch(this.nuxt.errorHandler) return this } diff --git a/lib/utils.js b/lib/utils.js index 2f2fbac7b8..fcfe7eba4b 100644 --- a/lib/utils.js +++ b/lib/utils.js @@ -63,6 +63,10 @@ export function sequence (tasks, fn) { return tasks.reduce((promise, task) => promise.then(() => fn(task)), Promise.resolve()) } +export function parallel (tasks, fn) { + return Promise.all(tasks.map(task => fn(task))) +} + export function chainFn (base, fn) { /* istanbul ignore if */ if (!(fn instanceof Function)) { diff --git a/lib/webpack/base.config.js b/lib/webpack/base.config.js index fdadcbce9b..fd15de3ac2 100644 --- a/lib/webpack/base.config.js +++ b/lib/webpack/base.config.js @@ -1,6 +1,8 @@ import ExtractTextPlugin from 'extract-text-webpack-plugin' import { defaults } from 'lodash' -import { join } from 'path' +import { join, resolve, } from 'path' +import webpack from 'webpack' +import { cloneDeep } from 'lodash' import { isUrl, urlJoin } from '../utils' import vueLoaderConfig from './vue-loader.config' import { styleLoader, extractStyles } from './helpers' @@ -15,12 +17,15 @@ import { styleLoader, extractStyles } from './helpers' */ export default function webpackBaseConfig ({ isClient, isServer }) { const nodeModulesDir = join(__dirname, '..', 'node_modules') - let config = { - devtool: (this.options.dev ? 'cheap-module-source-map' : false), + + const config = { + devtool: this.options.dev ? 'cheap-module-source-map' : false, entry: { vendor: ['vue', 'vue-router', 'vue-meta'] }, output: { + path: resolve(this.options.buildDir, 'dist'), + filename: this.options.build.filenames.app, publicPath: (isUrl(this.options.build.publicPath) ? this.options.build.publicPath : urlJoin(this.options.router.base, this.options.build.publicPath)) @@ -28,7 +33,7 @@ export default function webpackBaseConfig ({ isClient, isServer }) { performance: { maxEntrypointSize: 300000, maxAssetSize: 300000, - hints: (this.options.dev ? false : 'warning') + hints: this.options.dev ? false : 'warning' }, resolve: { extensions: ['.js', '.json', '.vue', '.ts'], @@ -57,6 +62,7 @@ export default function webpackBaseConfig ({ isClient, isServer }) { ] }, module: { + noParse: /es6-promise\.js$/, // avoid webpack shimming process rules: [ { test: /\.vue$/, @@ -98,12 +104,33 @@ export default function webpackBaseConfig ({ isClient, isServer }) { }, plugins: this.options.build.plugins } + // CSS extraction if (extractStyles.call(this)) { config.plugins.push( new ExtractTextPlugin({ filename: this.options.build.filenames.css }) ) } - // Return config - return config + + // -------------------------------------- + // Dev specific config + // -------------------------------------- + if (this.options.dev) { + // + } + + // -------------------------------------- + // Production specific config + // -------------------------------------- + if (!this.options.dev) { + // This is needed in webpack 2 for minify CSS + config.plugins.push( + new webpack.LoaderOptionsPlugin({ + minimize: true + }) + ) + } + + // Clone deep avoid leaking config between Client and Server + return cloneDeep(config) } diff --git a/lib/webpack/client.config.js b/lib/webpack/client.config.js index 5bb047b234..3b2e320b9a 100644 --- a/lib/webpack/client.config.js +++ b/lib/webpack/client.config.js @@ -22,89 +22,108 @@ import base from './base.config.js' export default function webpackClientConfig () { let config = base.call(this, { isClient: true }) + config.name = 'client' + // Entry config.entry.app = resolve(this.options.buildDir, 'client.js') // Add vendors - if (this.options.store) { - config.entry.vendor.push('vuex') + if (!this.options.dev) { + if (this.options.store) { + config.entry.vendor.push('vuex') + } + config.entry.vendor = config.entry.vendor.concat(this.options.build.vendor) + // Extract vendor chunks for better caching + config.plugins.push( + new webpack.optimize.CommonsChunkPlugin({ + name: 'vendor', + filename: this.options.build.filenames.vendor, + minChunks (module) { + // A module is extracted into the vendor chunk when... + return ( + // If it's inside node_modules + /node_modules/.test(module.context) && + // Do not externalize if the request is a CSS file + !/\.(css|less|scss|sass|styl|stylus)$/.test(module.request) + ) + } + }) + ) } - config.entry.vendor = config.entry.vendor.concat(this.options.build.vendor) - // Output - config.output.path = resolve(this.options.buildDir, 'dist') - config.output.filename = this.options.build.filenames.app - - // env object defined in nuxt.config.js + // Env object defined in nuxt.config.js let env = {} each(this.options.env, (value, key) => { env['process.env.' + key] = (typeof value === 'string' ? JSON.stringify(value) : value) }) - // Webpack plugins - config.plugins = (config.plugins || []).concat([ - // Strip comments in Vue code - new webpack.DefinePlugin(Object.assign(env, { - 'process.env.NODE_ENV': JSON.stringify(env.NODE_ENV || (this.options.dev ? 'development' : 'production')), - 'process.BROWSER_BUILD': true, - 'process.SERVER_BUILD': false, - 'process.browser': true, - 'process.server': true - })), - // Extract vendor chunks for better caching - new webpack.optimize.CommonsChunkPlugin({ - name: 'vendor', - filename: this.options.build.filenames.vendor, - minChunks (module) { - // A module is extracted into the vendor chunk when... - return ( - // If it's inside node_modules - /node_modules/.test(module.context) && - // Do not externalize if the request is a CSS file - !/\.(css|less|scss|sass|styl|stylus)$/.test(module.request) - ) - } - }), - // Extract webpack runtime & manifest + + // Webpack common plugins + if (!Array.isArray(config.plugins)) { + config.plugins = [] + } + + // Generate output HTML + config.plugins.push( + new HTMLPlugin({ + template: this.options.appTemplatePath, + inject: false + }) + ) + + // Generate vue-ssr-client-manifest + config.plugins.push( + new VueSSRClientPlugin({ + filename: 'vue-ssr-client-manifest.json' + }) + ) + + // Extract webpack runtime & manifest + config.plugins.push( new webpack.optimize.CommonsChunkPlugin({ name: 'manifest', minChunks: Infinity, filename: this.options.build.filenames.manifest - }), - // Generate output HTML - new HTMLPlugin({ - template: this.options.appTemplatePath, - inject: false // <- Resources will be injected using vue server renderer - }), - // Generate client manifest json - new VueSSRClientPlugin({ - filename: 'client-manifest.json' }) - ]) - // client bundle progress bar + ) + + + // Define Env + config.plugins.push( + new webpack.DefinePlugin(Object.assign(env, { + 'process.env.NODE_ENV': JSON.stringify(env.NODE_ENV || (this.options.dev ? 'development' : 'production')), + 'process.env.VUE_ENV': JSON.stringify('client'), + 'process.browser': true, + 'process.server': false + })) + ) + + // Build progress bar config.plugins.push( new ProgressBarPlugin() ) - // Add friendly error plugin + + // -------------------------------------- + // Dev specific config + // -------------------------------------- if (this.options.dev) { + // Add friendly error plugin config.plugins.push(new FriendlyErrorsWebpackPlugin()) - } - // Dev client build - if (this.options.dev) { + // Add HMR support - config.entry.app = flatten(['webpack-hot-middleware/client?name=$client&reload=true', config.entry.app]) + config.entry.app = ['webpack-hot-middleware/client?name=$client&reload=true', config.entry.app] + config.output.filename = '[name].js' config.plugins.push( new webpack.HotModuleReplacementPlugin(), new webpack.NoEmitOnErrorsPlugin() ) } - // Production client build + + // -------------------------------------- + // Production specific config + // -------------------------------------- if (!this.options.dev) { + // Minify JS config.plugins.push( - // This is needed in webpack 2 for minifying CSS - new webpack.LoaderOptionsPlugin({ - minimize: true - }), - // Minify JS new webpack.optimize.UglifyJsPlugin({ sourceMap: true, compress: { @@ -112,7 +131,15 @@ export default function webpackClientConfig () { } }) ) + + // Webpack Bundle Analyzer + if (this.options.build.analyze) { + config.plugins.push( + new BundleAnalyzerPlugin(Object.assign({}, this.options.build.analyze)) + ) + } } + // Extend config if (typeof this.options.build.extend === 'function') { this.options.build.extend.call(this, config, { @@ -120,22 +147,6 @@ export default function webpackClientConfig () { isClient: true }) } - // Offline-plugin integration - if (!this.options.dev && this.options.offline) { - const offlineOpts = typeof this.options.offline === 'object' ? this.options.offline : {} - config.plugins.push( - new OfflinePlugin(defaults(offlineOpts, {})) - ) - } - // Webpack Bundle Analyzer - if (!this.options.dev && this.options.build.analyze) { - let options = {} - if (typeof this.options.build.analyze === 'object') { - options = this.options.build.analyze - } - config.plugins.push( - new BundleAnalyzerPlugin(options) - ) - } + return config } diff --git a/lib/webpack/server.config.js b/lib/webpack/server.config.js index 62a2eb2b5e..185a19a0fe 100644 --- a/lib/webpack/server.config.js +++ b/lib/webpack/server.config.js @@ -13,6 +13,8 @@ import base from './base.config.js' export default function webpackServerConfig () { let config = base.call(this, { isServer: true }) + config.name = 'server' + // env object defined in nuxt.config.js let env = {} each(this.options.env, (value, key) => { @@ -24,7 +26,6 @@ export default function webpackServerConfig () { devtool: (this.options.dev ? 'source-map' : false), entry: resolve(this.options.buildDir, 'server.js'), output: Object.assign({}, config.output, { - path: resolve(this.options.buildDir, 'dist'), filename: 'server-bundle.js', libraryTarget: 'commonjs2' }), @@ -32,6 +33,8 @@ export default function webpackServerConfig () { hints: false }, externals: [ + // https://webpack.js.org/configuration/externals/#externals + // https://github.com/liady/webpack-node-externals nodeExternals({ // load non-javascript files with extensions, presumably via loaders whitelist: [/\.(?!(?:js|json)$).{1,5}$/i] @@ -42,21 +45,19 @@ export default function webpackServerConfig () { filename: 'server-bundle.json' }), new webpack.DefinePlugin(Object.assign(env, { - 'process.env.NODE_ENV': JSON.stringify(this.options.dev ? 'development' : 'production'), - 'process.BROWSER_BUILD': false, // deprecated - 'process.SERVER_BUILD': true, // deprecated + 'process.env.NODE_ENV': JSON.stringify(env.NODE_ENV || (this.options.dev ? 'development' : 'production')), + 'process.env.VUE_ENV': JSON.stringify('server'), 'process.browser': false, 'process.server': true })) ]) }) - // This is needed in webpack 2 for minifying CSS + + // -------------------------------------- + // Production specific config + // -------------------------------------- if (!this.options.dev) { - config.plugins.push( - new webpack.LoaderOptionsPlugin({ - minimize: true - }) - ) + } // Extend config @@ -66,5 +67,6 @@ export default function webpackServerConfig () { isServer: true }) } + return config } diff --git a/lib/webpack/vue-loader.config.js b/lib/webpack/vue-loader.config.js index fcb7a0c90a..d8f3a1171c 100644 --- a/lib/webpack/vue-loader.config.js +++ b/lib/webpack/vue-loader.config.js @@ -9,7 +9,7 @@ export default function ({ isClient }) { })) // https://github.com/vuejs/vue-loader/blob/master/docs/en/configurations - let config = { + const config = { postcss: this.options.build.postcss, loaders: { 'js': 'babel-loader?' + babelOptions, @@ -23,6 +23,7 @@ export default function ({ isClient }) { preserveWhitespace: false, extractCSS: extractStyles.call(this) } + // Return the config return config } From 644d19f7ecd63d79620ec436e90199c621d2e0b4 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Fri, 16 Jun 2017 02:58:08 +0430 Subject: [PATCH 077/236] eslint --- lib/builder.js | 7 +++---- lib/nuxt.js | 4 ++-- lib/renderer.js | 1 - lib/server.js | 2 +- lib/webpack/base.config.js | 5 ++--- lib/webpack/client.config.js | 4 +--- 6 files changed, 9 insertions(+), 14 deletions(-) diff --git a/lib/builder.js b/lib/builder.js index 2f1eb98b35..2f9251b8c7 100644 --- a/lib/builder.js +++ b/lib/builder.js @@ -8,8 +8,7 @@ import serialize from 'serialize-javascript' import { join, resolve, basename, dirname } from 'path' import Tapable from 'tappable' import MFS from 'memory-fs' -import { sequence, parallel } from "./utils" -import { r, wp, createRoutes } from './utils' +import { r, wp, createRoutes, parallel } from './utils' import clientWebpackConfig from './webpack/client.config.js' import serverWebpackConfig from './webpack/server.config.js' @@ -294,7 +293,7 @@ export default class Builder extends Tapable { } if (!this.options.dev) { // Show build stats for production - console.log(stats.toString(this.webpackStats)) // eslint-disable-line no-console + console.log(stats.toString(this.webpackStats)) // eslint-disable-line no-console if (stats.hasErrors()) { return reject(new Error('Webpack build exited with errors')) } @@ -326,7 +325,7 @@ export default class Builder extends Tapable { // Run after each compile this.compiler.plugin('done', stats => { - console.log(stats.toString(this.webpackStats)) // eslint-disable-line no-console + console.log(stats.toString(this.webpackStats)) // eslint-disable-line no-console // Reload renderer if available if (this.nuxt.renderer) { this.nuxt.renderer.loadResources(mfs) diff --git a/lib/nuxt.js b/lib/nuxt.js index 499d254343..99ed0a87ca 100644 --- a/lib/nuxt.js +++ b/lib/nuxt.js @@ -49,8 +49,8 @@ export default class Nuxt extends Tapable { // 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.applyPluginsAsync('init') // 2- Builder + await this.applyPluginsAsync('afterInit') // 3- Renderer this.initialized = true return this diff --git a/lib/renderer.js b/lib/renderer.js index d9c311fbcb..cc5b93ca80 100644 --- a/lib/renderer.js +++ b/lib/renderer.js @@ -10,7 +10,6 @@ import _ from 'lodash' import { resolve, join } from 'path' import fs from 'fs-extra' import { createBundleRenderer } from 'vue-server-renderer' -import chalk from 'chalk' import { getContext, setAnsiColors, encodeHtml } from './utils' const debug = require('debug')('nuxt:render') diff --git a/lib/server.js b/lib/server.js index f0082e8e7c..661a3e7a1a 100644 --- a/lib/server.js +++ b/lib/server.js @@ -20,7 +20,7 @@ class Server { } } - async ready() { + async ready () { if (this._ready) { return this._ready } diff --git a/lib/webpack/base.config.js b/lib/webpack/base.config.js index fd15de3ac2..25b56c8206 100644 --- a/lib/webpack/base.config.js +++ b/lib/webpack/base.config.js @@ -1,8 +1,7 @@ import ExtractTextPlugin from 'extract-text-webpack-plugin' -import { defaults } from 'lodash' -import { join, resolve, } from 'path' +import { defaults, cloneDeep } from 'lodash' +import { join, resolve } from 'path' import webpack from 'webpack' -import { cloneDeep } from 'lodash' import { isUrl, urlJoin } from '../utils' import vueLoaderConfig from './vue-loader.config' import { styleLoader, extractStyles } from './helpers' diff --git a/lib/webpack/client.config.js b/lib/webpack/client.config.js index 3b2e320b9a..da7e553555 100644 --- a/lib/webpack/client.config.js +++ b/lib/webpack/client.config.js @@ -1,11 +1,10 @@ -import { each, defaults, flatten } from 'lodash' +import { each } from 'lodash' import webpack from 'webpack' import VueSSRClientPlugin from 'vue-server-renderer/client-plugin' import HTMLPlugin from 'html-webpack-plugin' import FriendlyErrorsWebpackPlugin from 'friendly-errors-webpack-plugin' import ProgressBarPlugin from 'progress-bar-webpack-plugin' import { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer' -import OfflinePlugin from 'offline-plugin' import { resolve } from 'path' import base from './base.config.js' @@ -86,7 +85,6 @@ export default function webpackClientConfig () { }) ) - // Define Env config.plugins.push( new webpack.DefinePlugin(Object.assign(env, { From 42b603304d1b1f810ba44d8bb33692604b5db467 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Fri, 16 Jun 2017 03:08:43 +0430 Subject: [PATCH 078/236] fix tests --- lib/nuxt.js | 2 +- test/index.test.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/nuxt.js b/lib/nuxt.js index 99ed0a87ca..6ffc424243 100644 --- a/lib/nuxt.js +++ b/lib/nuxt.js @@ -39,7 +39,7 @@ export default class Nuxt extends Tapable { } }) - this._ready = this.ready().catch(this.errorHandler) + this._ready = this.ready() } async ready () { diff --git a/test/index.test.js b/test/index.test.js index 066578f632..ae20a2ef74 100644 --- a/test/index.test.js +++ b/test/index.test.js @@ -14,9 +14,9 @@ test.serial('Nuxt.js Instance', async t => { t.is(typeof nuxt, 'object') t.is(nuxt.options.dev, true) t.is(typeof nuxt.generate, 'function') - t.is(typeof nuxt._init.then, 'function') + t.is(typeof nuxt._ready.then, 'function') await nuxt.ready() - t.is(nuxt.readyialized, true) + t.is(nuxt.initialized, true) }) test.serial('Fail to build when no pages/ directory but is in the parent', t => { From 25f11a05abb22281e4e50823331afb9b2984c270 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Fri, 16 Jun 2017 03:17:47 +0430 Subject: [PATCH 079/236] fix tests --- test/with-config.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/with-config.test.js b/test/with-config.test.js index a7366ea65d..f621ca9f2d 100644 --- a/test/with-config.test.js +++ b/test/with-config.test.js @@ -91,7 +91,7 @@ test('/test/about-bis (added with extendRoutes)', async t => { test('Check stats.json generated by build.analyze', t => { const stats = require(resolve(__dirname, 'fixtures/with-config/.nuxt/dist/stats.json')) - t.is(stats.assets.length, 29) + t.is(stats.assets.length, 26) }) test('Check /test.txt with custom serve-static options', async t => { From 0895b333ecf21f5e13b933234e3401c08f585300 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Fri, 16 Jun 2017 03:30:53 +0430 Subject: [PATCH 080/236] fix devMiddleware with baseUrl --- lib/renderer.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/renderer.js b/lib/renderer.js index cc5b93ca80..12b5f74f46 100644 --- a/lib/renderer.js +++ b/lib/renderer.js @@ -149,12 +149,6 @@ export default class Renderer extends Tapable { res.statusCode = 200 try { - // Call webpack middleware only in development - if (this.options.dev && this.nuxt.builder && this.nuxt.builder.webpackDevMiddleware) { - await this.nuxt.builder.webpackDevMiddleware(req, res) - await this.nuxt.builder.webpackHotMiddleware(req, res) - } - // Gzip middleware for production if (this.gzipMiddleware) { await this.gzipMiddleware(req, res) @@ -166,6 +160,12 @@ export default class Renderer extends Tapable { req.url = req.url.replace(this.options.router.base, '/') } + // Call webpack middleware only in development + if (this.options.dev && this.nuxt.builder && this.nuxt.builder.webpackDevMiddleware) { + await this.nuxt.builder.webpackDevMiddleware(req, res) + await this.nuxt.builder.webpackHotMiddleware(req, res) + } + // Serve static/ files await this.serveStatic(req, res) From 829ffa634bc03f83320d1aebcc2e8599908e4d95 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Fri, 16 Jun 2017 17:12:45 +0430 Subject: [PATCH 081/236] refactor structure --- {lib/app => app}/App.vue | 0 {lib/app => app}/client.js | 0 {lib/app => app}/components/nuxt-child.js | 0 {lib/app => app}/components/nuxt-error.vue | 0 {lib/app => app}/components/nuxt-link.js | 0 {lib/app => app}/components/nuxt-loading.vue | 0 {lib/app => app}/components/nuxt.vue | 0 {lib/app => app}/index.js | 0 {lib/app => app}/layouts/default.vue | 0 {lib/app => app}/middleware.js | 0 {lib/app => app}/router.js | 0 {lib/app => app}/server.js | 0 {lib/app => app}/store.js | 0 {lib/app => app}/utils.js | 0 {lib => app}/views/app.template.html | 0 {lib => app}/views/error.html | 0 bin/nuxt | 8 +- bin/nuxt-build | 34 +- bin/nuxt-dev | 38 +- bin/nuxt-generate | 36 +- bin/nuxt-start | 22 +- build/rollup.config.js | 106 +++ index.js | 20 +- package.json | 21 +- {lib => src/builder}/builder.js | 21 +- {lib => src/builder}/generator.js | 2 +- src/builder/index.js | 7 + {lib => src/builder}/webpack/base.config.js | 2 +- {lib => src/builder}/webpack/client.config.js | 0 {lib => src/builder}/webpack/helpers.js | 0 {lib => src/builder}/webpack/server.config.js | 0 .../builder}/webpack/vue-loader.config.js | 0 {lib => src/common}/utils.js | 0 src/core/index.js | 15 + lib/module-container.js => src/core/module.js | 5 +- {lib => src/core}/nuxt.js | 28 +- lib/defaults.js => src/core/options.js | 6 +- {lib => src/core}/renderer.js | 13 +- {lib => src/core}/server.js | 3 +- webpack.config.js | 59 -- yarn.lock | 627 +++++++++++++++++- 41 files changed, 873 insertions(+), 200 deletions(-) rename {lib/app => app}/App.vue (100%) rename {lib/app => app}/client.js (100%) rename {lib/app => app}/components/nuxt-child.js (100%) rename {lib/app => app}/components/nuxt-error.vue (100%) rename {lib/app => app}/components/nuxt-link.js (100%) rename {lib/app => app}/components/nuxt-loading.vue (100%) rename {lib/app => app}/components/nuxt.vue (100%) rename {lib/app => app}/index.js (100%) rename {lib/app => app}/layouts/default.vue (100%) rename {lib/app => app}/middleware.js (100%) rename {lib/app => app}/router.js (100%) rename {lib/app => app}/server.js (100%) rename {lib/app => app}/store.js (100%) rename {lib/app => app}/utils.js (100%) rename {lib => app}/views/app.template.html (100%) rename {lib => app}/views/error.html (100%) create mode 100755 build/rollup.config.js rename {lib => src/builder}/builder.js (95%) rename {lib => src/builder}/generator.js (98%) create mode 100755 src/builder/index.js rename {lib => src/builder}/webpack/base.config.js (99%) rename {lib => src/builder}/webpack/client.config.js (100%) rename {lib => src/builder}/webpack/helpers.js (100%) rename {lib => src/builder}/webpack/server.config.js (100%) rename {lib => src/builder}/webpack/vue-loader.config.js (100%) rename {lib => src/common}/utils.js (100%) create mode 100755 src/core/index.js rename lib/module-container.js => src/core/module.js (96%) rename {lib => src/core}/nuxt.js (81%) rename lib/defaults.js => src/core/options.js (95%) rename {lib => src/core}/renderer.js (96%) rename {lib => src/core}/server.js (96%) delete mode 100644 webpack.config.js diff --git a/lib/app/App.vue b/app/App.vue similarity index 100% rename from lib/app/App.vue rename to app/App.vue diff --git a/lib/app/client.js b/app/client.js similarity index 100% rename from lib/app/client.js rename to app/client.js diff --git a/lib/app/components/nuxt-child.js b/app/components/nuxt-child.js similarity index 100% rename from lib/app/components/nuxt-child.js rename to app/components/nuxt-child.js diff --git a/lib/app/components/nuxt-error.vue b/app/components/nuxt-error.vue similarity index 100% rename from lib/app/components/nuxt-error.vue rename to app/components/nuxt-error.vue diff --git a/lib/app/components/nuxt-link.js b/app/components/nuxt-link.js similarity index 100% rename from lib/app/components/nuxt-link.js rename to app/components/nuxt-link.js diff --git a/lib/app/components/nuxt-loading.vue b/app/components/nuxt-loading.vue similarity index 100% rename from lib/app/components/nuxt-loading.vue rename to app/components/nuxt-loading.vue diff --git a/lib/app/components/nuxt.vue b/app/components/nuxt.vue similarity index 100% rename from lib/app/components/nuxt.vue rename to app/components/nuxt.vue diff --git a/lib/app/index.js b/app/index.js similarity index 100% rename from lib/app/index.js rename to app/index.js diff --git a/lib/app/layouts/default.vue b/app/layouts/default.vue similarity index 100% rename from lib/app/layouts/default.vue rename to app/layouts/default.vue diff --git a/lib/app/middleware.js b/app/middleware.js similarity index 100% rename from lib/app/middleware.js rename to app/middleware.js diff --git a/lib/app/router.js b/app/router.js similarity index 100% rename from lib/app/router.js rename to app/router.js diff --git a/lib/app/server.js b/app/server.js similarity index 100% rename from lib/app/server.js rename to app/server.js diff --git a/lib/app/store.js b/app/store.js similarity index 100% rename from lib/app/store.js rename to app/store.js diff --git a/lib/app/utils.js b/app/utils.js similarity index 100% rename from lib/app/utils.js rename to app/utils.js diff --git a/lib/views/app.template.html b/app/views/app.template.html similarity index 100% rename from lib/views/app.template.html rename to app/views/app.template.html diff --git a/lib/views/error.html b/app/views/error.html similarity index 100% rename from lib/views/error.html rename to app/views/error.html diff --git a/bin/nuxt b/bin/nuxt index 4e9019757d..04764d440f 100755 --- a/bin/nuxt +++ b/bin/nuxt @@ -1,9 +1,9 @@ #!/usr/bin/env node -var join = require('path').join +const join = require('path').join -var defaultCommand = 'dev' -var commands = new Set([ +const defaultCommand = 'dev' +const commands = new Set([ defaultCommand, 'init', 'build', @@ -19,6 +19,6 @@ if (commands.has(cmd)) { cmd = defaultCommand } -var bin = join(__dirname, 'nuxt-' + cmd) +const bin = join(__dirname, 'nuxt-' + cmd) require(bin) diff --git a/bin/nuxt-build b/bin/nuxt-build index 0f7b956563..5d70258cef 100755 --- a/bin/nuxt-build +++ b/bin/nuxt-build @@ -3,11 +3,13 @@ // Show logs process.env.DEBUG = 'nuxt:*' -var fs = require('fs') -var parseArgs = require('minimist') -var without = require('lodash').without -var Nuxt = require('../') -var resolve = require('path').resolve +const fs = require('fs') +const parseArgs = require('minimist') +const without = require('lodash').without +const { Nuxt } = require('../') +const resolve = require('path').resolve +const debug = require('debug')('nuxt:build') +debug.color = 2 // Force green color const argv = parseArgs(process.argv.slice(2), { alias: { @@ -36,8 +38,8 @@ if (argv.help) { process.exit(0) } -var rootDir = resolve(argv._[0] || '.') -var nuxtConfigFile = resolve(rootDir, argv['config-file']) +const rootDir = resolve(argv._[0] || '.') +const nuxtConfigFile = resolve(rootDir, argv['config-file']) var options = {} if (fs.existsSync(nuxtConfigFile)) { @@ -59,13 +61,13 @@ if (argv.analyze) { options.build.analyze = true } -console.log('[nuxt] Building...') // eslint-disable-line no-console -var nuxt = module.exports = new Nuxt(options) +debug('Building...') +const nuxt = module.exports = new Nuxt(options) nuxt.ready() -.then(() => { - console.log('[nuxt] Building done') // eslint-disable-line no-console -}) -.catch((err) => { - console.error(err) // eslint-disable-line no-console - process.exit(1) -}) + .then(() => { + debug('Building done') + }) + .catch((err) => { + console.error(err) // eslint-disable-line no-console + process.exit(1) + }) diff --git a/bin/nuxt-dev b/bin/nuxt-dev index 7f52e988f5..f42e911ba0 100755 --- a/bin/nuxt-dev +++ b/bin/nuxt-dev @@ -3,17 +3,17 @@ // Show logs process.env.DEBUG = 'nuxt:*' -var _ = require('lodash') -var debug = require('debug')('nuxt:build') +const _ = require('lodash') +const debug = require('debug')('nuxt:build') debug.color = 2 // force green color -var fs = require('fs') -var parseArgs = require('minimist') -var Nuxt = require('../') -var chokidar = require('chokidar') -var resolve = require('path').resolve -var without = require('lodash').without +const fs = require('fs') +const parseArgs = require('minimist') +const { Nuxt,Server } = require('../') +const chokidar = require('chokidar') +const resolve = require('path').resolve +const without = require('lodash').without -var argv = parseArgs(process.argv.slice(2), { +const argv = parseArgs(process.argv.slice(2), { alias: { h: 'help', H: 'hostname', @@ -48,8 +48,8 @@ if (argv.help) { process.exit(0) } -var rootDir = resolve(argv._[0] || '.') -var nuxtConfigFile = resolve(rootDir, argv['config-file']) +const rootDir = resolve(argv._[0] || '.') +const nuxtConfigFile = resolve(rootDir, argv['config-file']) var options = {} if (fs.existsSync(nuxtConfigFile)) { @@ -64,19 +64,19 @@ if (typeof options.rootDir !== 'string') { // Force development mode: add hot reloading and watching changes options.dev = true -var nuxt = new Nuxt(options) -var port = argv.port || process.env.PORT || process.env.npm_package_config_nuxt_port -var host = argv.hostname || process.env.HOST || process.env.npm_package_config_nuxt_host -var server = new Nuxt.Server(nuxt).listen(port, host) +const nuxt = new Nuxt(options) +const port = argv.port || process.env.PORT || process.env.npm_package_config_nuxt_port +const host = argv.hostname || process.env.HOST || process.env.npm_package_config_nuxt_host +const server = new Server(nuxt).listen(port, host) listenOnConfigChanges(nuxt, server) -function listenOnConfigChanges(nuxt, server) { +function listenOnConfigChanges (nuxt, server) { // Listen on nuxt.config.js changes - var build = _.debounce(() => { + const build = _.debounce(() => { debug('[nuxt.config.js] changed') delete require.cache[nuxtConfigFile] - var options = {} + const options = {} if (fs.existsSync(nuxtConfigFile)) { try { options = require(nuxtConfigFile) @@ -88,7 +88,7 @@ function listenOnConfigChanges(nuxt, server) { nuxt.close() .then(() => { debug('Rebuilding the app...') - var nuxt = new Nuxt(options) + const nuxt = new Nuxt(options) server.nuxt = nuxt return nuxt.ready() }) diff --git a/bin/nuxt-generate b/bin/nuxt-generate index e9607b174a..ad7d4da2e0 100755 --- a/bin/nuxt-generate +++ b/bin/nuxt-generate @@ -3,12 +3,14 @@ // Show logs process.env.DEBUG = 'nuxt:*' -var fs = require('fs') -var parseArgs = require('minimist') -var Nuxt = require('../') -var resolve = require('path').resolve +const fs = require('fs') +const parseArgs = require('minimist') +const debug = require('debug')('nuxt:generate') -var argv = parseArgs(process.argv.slice(2), { +const { Nuxt } = require('../') +const resolve = require('path').resolve + +const argv = parseArgs(process.argv.slice(2), { alias: { h: 'help', c: 'config-file' @@ -33,8 +35,8 @@ if (argv.help) { process.exit(0) } -var rootDir = resolve(argv._[0] || '.') -var nuxtConfigFile = resolve(rootDir, argv['config-file']) +const rootDir = resolve(argv._[0] || '.') +const nuxtConfigFile = resolve(rootDir, argv['config-file']) var options = {} if (fs.existsSync(nuxtConfigFile)) { @@ -49,14 +51,14 @@ if (typeof options.rootDir !== 'string') { options.dev = false // Force production mode (no webpack middleware called) options.runBuild = true // Force doing production build before init -console.log('[nuxt] Generating...') // eslint-disable-line no-console -var nuxt = module.exports = new Nuxt(options) +debug('Generating...') +const nuxt = module.exports = new Nuxt(options) nuxt.generate() -.then(() => { - console.log('[nuxt] Generate done') // eslint-disable-line no-console - process.exit(0) -}) -.catch((err) => { - console.error(err) // eslint-disable-line no-console - process.exit(1) -}) + .then(() => { + debug('Generate done') + process.exit(0) + }) + .catch((err) => { + console.error(err) // eslint-disable-line no-console + process.exit(1) + }) diff --git a/bin/nuxt-start b/bin/nuxt-start index bbdb5df1ae..34c73f6a72 100755 --- a/bin/nuxt-start +++ b/bin/nuxt-start @@ -1,11 +1,11 @@ #!/usr/bin/env node -var fs = require('fs') -var parseArgs = require('minimist') -var Nuxt = require('../') -var resolve = require('path').resolve +const fs = require('fs') +const parseArgs = require('minimist') +const { Nuxt, Server } = require('../') +const resolve = require('path').resolve -var argv = parseArgs(process.argv.slice(2), { +const argv = parseArgs(process.argv.slice(2), { alias: { h: 'help', H: 'hostname', @@ -40,8 +40,8 @@ if (argv.help) { process.exit(0) } -var rootDir = resolve(argv._[0] || '.') -var nuxtConfigFile = resolve(rootDir, argv['config-file']) +const rootDir = resolve(argv._[0] || '.') +const nuxtConfigFile = resolve(rootDir, argv['config-file']) var options = {} if (fs.existsSync(nuxtConfigFile)) { @@ -55,9 +55,9 @@ if (typeof options.rootDir !== 'string') { } options.dev = false // Force production mode (no webpack middleware called) -var nuxt = new Nuxt(options) -var port = argv.port || process.env.PORT || process.env.npm_package_config_nuxt_port -var host = argv.hostname || process.env.HOST || process.env.npm_package_config_nuxt_host -new Nuxt.Server(nuxt).listen(port, host) +const nuxt = new Nuxt(options) +const port = argv.port || process.env.PORT || process.env.npm_package_config_nuxt_port +const host = argv.hostname || process.env.HOST || process.env.npm_package_config_nuxt_host +new Server(nuxt).listen(port, host) module.exports = nuxt diff --git a/build/rollup.config.js b/build/rollup.config.js new file mode 100755 index 0000000000..75e03d0074 --- /dev/null +++ b/build/rollup.config.js @@ -0,0 +1,106 @@ +// Some parts brought from https://github.com/vuejs/vue/blob/dev/build/config.js +const { resolve } = require('path') +const rollupBabel = require('rollup-plugin-babel') +const rollupAlias = require('rollup-plugin-alias') +const rollupCommonJS = require('rollup-plugin-commonjs') +const rollupReplace = require('rollup-plugin-replace') +const rollupResolve = require('rollup-plugin-node-resolve') +const packageJson = require('../package.json') + +const dependencies = Object.keys(packageJson.dependencies) +const version = packageJson.version || process.env.VERSION + +// ----------------------------- +// Banner +// ----------------------------- +const banner = + '/*!\n' + + ' * Nuxt.js v' + version + '\n' + + ' * Released under the MIT License.\n' + + ' */' + + +// ----------------------------- +// Aliases +// ----------------------------- +const rootDir = resolve(__dirname, '..') +const srcDir = resolve(rootDir, 'src') +const distDir = resolve(rootDir, 'dist') + +const aliases = { + core: resolve(srcDir, 'core/index.js'), + builder: resolve(srcDir, 'builder/index.js'), + common: resolve(srcDir, 'common/index.js'), + utils: resolve(srcDir, 'common/utils.js'), + app: resolve(srcDir, 'app'), +} + +// ----------------------------- +// Builds +// ----------------------------- +const builds = { + core: { + entry: resolve(srcDir, 'core/index.js'), + dest: resolve(distDir, 'core.js') + }, + builder: { + entry: resolve(srcDir, 'builder/index.js'), + dest: resolve(distDir, 'builder.js') + } +} + +// ----------------------------- +// Default config +// ----------------------------- +function genConfig (opts) { + const config = { + entry: opts.entry, + dest: opts.dest, + external: ['fs', 'path'].concat(dependencies, opts.external), + format: opts.format || 'cjs', + banner: opts.banner || banner, + moduleName: opts.moduleName || 'Nuxt', + sourceMap: true, + plugins: [ + rollupAlias(Object.assign({ + resolve: ['.js', '.json', '.jsx', '.ts'] + }, aliases, opts.alias)), + + rollupCommonJS(), + + rollupResolve({ jsnext: true }), + + rollupBabel(Object.assign({ + exclude: 'node_modules/**', + runtimeHelpers: true, + plugins: [ + ['transform-runtime', { 'helpers': false, 'polyfill': false }], + 'transform-async-to-generator', + 'array-includes' + ], + presets: [ + 'babel-preset-es2015-rollup' + ] + }, opts.babel)), + + rollupReplace({ + __VERSION__: version + }) + ].concat(opts.plugins || []) + } + + if (opts.env) { + config.plugins.push(rollupReplace({ + 'process.env.NODE_ENV': JSON.stringify(opts.env) + })) + } + + return config +} + +if (process.env.TARGET) { + module.exports = genConfig(builds[process.env.TARGET]) +} else { + exports.getBuild = name => genConfig(builds[name]) + exports.getAllBuilds = () => Object.keys(builds).map(name => genConfig(builds[name])) +} diff --git a/index.js b/index.js index 8e7487a896..fa3a31ff19 100644 --- a/index.js +++ b/index.js @@ -4,8 +4,24 @@ * Released under the MIT License. */ +const path = require('path') + process.noDeprecation = true -var Nuxt = require('./dist/nuxt.js') +// Node Source Map Support +// https://github.com/evanw/node-source-map-support +require('source-map-support').install(); -module.exports = Nuxt.default ? Nuxt.default : Nuxt +const Core = require('./dist/core.js') + +// ------------------------------------------------------------------ +// Polyfill Builder into Core +const Builder = require('./dist/builder') +// Use special env flag to specify app dir without modify builder +if (!process.env.NUXT_APP_TEMPALTE_DIR) { + process.env.NUXT_APP_TEMPALTE_DIR = path.resolve(__dirname, 'app') +} +Object.assign(Core, Builder) +// ------------------------------------------------------------------ + +module.exports = Core.default ? Core.default : Core diff --git a/package.json b/package.json index af39026350..53fefac7d8 100644 --- a/package.json +++ b/package.json @@ -46,8 +46,11 @@ "test": "npm run lint && nyc ava --verbose --serial test/", "coverage": "nyc report --reporter=text-lcov > coverage.lcov && codecov", "lint": "eslint --ext .js,.vue bin lib pages test/*.js --ignore-pattern lib/app", - "build": "webpack", - "watch": "webpack --watch", + "build": "npm run build:core && npm run build:builder", + "build:core": "rollup -c build/rollup.config.js --environment TARGET:core", + "watch": "npm run build:core -- -w", + "build:builder": "rollup -c build/rollup.config.js --environment TARGET:builder", + "watch:builder": "npm run build:builder -- -w", "precommit": "npm run lint", "prepublish": "npm run build", "postinstall": "opencollective postinstall" @@ -63,6 +66,7 @@ "babel-loader": "^7.0.0", "babel-preset-es2015": "^6.24.1", "babel-preset-vue-app": "^1.2.0", + "chalk": "^1.1.3", "chokidar": "^1.7.0", "compression": "^1.6.2", "connect": "^3.6.2", @@ -89,6 +93,7 @@ "script-ext-html-webpack-plugin": "^1.8.1", "serialize-javascript": "^1.3.0", "serve-static": "^1.12.3", + "source-map-support": "^0.4.15", "tapable": "^0.2.6", "tappable": "^1.0.1", "url-loader": "^0.5.9", @@ -112,6 +117,7 @@ "babel-plugin-array-includes": "^2.0.3", "babel-plugin-transform-async-to-generator": "^6.24.1", "babel-plugin-transform-runtime": "^6.23.0", + "babel-preset-es2015-rollup": "^3.0.0", "babel-preset-stage-2": "^6.24.1", "codecov": "^2.2.0", "copy-webpack-plugin": "^4.0.1", @@ -125,10 +131,19 @@ "finalhandler": "^1.0.3", "jsdom": "^11.0.0", "json-loader": "^0.5.4", + "lerna": "2.0.0-rc.5", "nyc": "^11.0.2", "request": "^2.81.0", "request-promise-native": "^1.0.4", - "std-mocks": "^1.0.1" + "rollup": "^0.43.0", + "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", + "std-mocks": "^1.0.1", + "uglify-js": "^3.0.17" }, "collective": { "type": "opencollective", diff --git a/lib/builder.js b/src/builder/builder.js similarity index 95% rename from lib/builder.js rename to src/builder/builder.js index 2f9251b8c7..7667d03448 100644 --- a/lib/builder.js +++ b/src/builder/builder.js @@ -8,7 +8,9 @@ import serialize from 'serialize-javascript' import { join, resolve, basename, dirname } from 'path' import Tapable from 'tappable' import MFS from 'memory-fs' -import { r, wp, createRoutes, parallel } from './utils' +import webpackDevMiddleware from 'webpack-dev-middleware' +import webpackHotMiddleware from 'webpack-hot-middleware' +import { r, wp, createRoutes, parallel } from 'utils' import clientWebpackConfig from './webpack/client.config.js' import serverWebpackConfig from './webpack/server.config.js' @@ -119,7 +121,9 @@ export default class Builder extends Tapable { 'components/nuxt-loading.vue', 'components/nuxt-child.js', 'components/nuxt-link.js', - 'components/nuxt.vue' + 'components/nuxt.vue', + 'views/app.template.html', + 'views/error.html' ] const templateVars = { options: this.options, @@ -199,7 +203,9 @@ export default class Builder extends Tapable { const customFileExists = fs.existsSync(customPath) return { - src: customFileExists ? customPath : r(__dirname, 'app', file), + src: customFileExists + ? customPath + : r(__dirname, '../app', file), // Relative to dist dst: file, custom: customFileExists } @@ -325,7 +331,10 @@ export default class Builder extends Tapable { // Run after each compile this.compiler.plugin('done', stats => { - console.log(stats.toString(this.webpackStats)) // eslint-disable-line no-console + // Don't reload failed builds + if (stats.hasErrors() || stats.hasWarnings()) { + return + } // Reload renderer if available if (this.nuxt.renderer) { this.nuxt.renderer.loadResources(mfs) @@ -336,7 +345,7 @@ export default class Builder extends Tapable { debug('Adding webpack middleware...') // Create webpack dev middleware - this.webpackDevMiddleware = pify(require('webpack-dev-middleware')(this.compiler.client, { + this.webpackDevMiddleware = pify(webpackDevMiddleware(this.compiler.client, { publicPath: this.options.build.publicPath, stats: this.webpackStats, noInfo: true, @@ -344,7 +353,7 @@ export default class Builder extends Tapable { watchOptions: this.options.watchers.webpack })) - this.webpackHotMiddleware = pify(require('webpack-hot-middleware')(this.compiler.client, { + this.webpackHotMiddleware = pify(webpackHotMiddleware(this.compiler.client, { log: false, heartbeat: 2500 })) diff --git a/lib/generator.js b/src/builder/generator.js similarity index 98% rename from lib/generator.js rename to src/builder/generator.js index e92907d32e..4095fd4b6f 100644 --- a/lib/generator.js +++ b/src/builder/generator.js @@ -4,7 +4,7 @@ import _ from 'lodash' import { resolve, join, dirname, sep } from 'path' import { minify } from 'html-minifier' import Tapable from 'tappable' -import { isUrl, promisifyRoute, waitFor, flatRoutes } from './utils' +import { isUrl, promisifyRoute, waitFor, flatRoutes } from 'utils' const debug = require('debug')('nuxt:generate') const copy = pify(fs.copy) diff --git a/src/builder/index.js b/src/builder/index.js new file mode 100755 index 0000000000..34547d0c2a --- /dev/null +++ b/src/builder/index.js @@ -0,0 +1,7 @@ +import Builder from './builder' +import Generator from './generator' + +export default { + Builder, + Generator +} diff --git a/lib/webpack/base.config.js b/src/builder/webpack/base.config.js similarity index 99% rename from lib/webpack/base.config.js rename to src/builder/webpack/base.config.js index 25b56c8206..8fb8dbc652 100644 --- a/lib/webpack/base.config.js +++ b/src/builder/webpack/base.config.js @@ -2,7 +2,7 @@ import ExtractTextPlugin from 'extract-text-webpack-plugin' import { defaults, cloneDeep } from 'lodash' import { join, resolve } from 'path' import webpack from 'webpack' -import { isUrl, urlJoin } from '../utils' +import { isUrl, urlJoin } from 'utils' import vueLoaderConfig from './vue-loader.config' import { styleLoader, extractStyles } from './helpers' diff --git a/lib/webpack/client.config.js b/src/builder/webpack/client.config.js similarity index 100% rename from lib/webpack/client.config.js rename to src/builder/webpack/client.config.js diff --git a/lib/webpack/helpers.js b/src/builder/webpack/helpers.js similarity index 100% rename from lib/webpack/helpers.js rename to src/builder/webpack/helpers.js diff --git a/lib/webpack/server.config.js b/src/builder/webpack/server.config.js similarity index 100% rename from lib/webpack/server.config.js rename to src/builder/webpack/server.config.js diff --git a/lib/webpack/vue-loader.config.js b/src/builder/webpack/vue-loader.config.js similarity index 100% rename from lib/webpack/vue-loader.config.js rename to src/builder/webpack/vue-loader.config.js diff --git a/lib/utils.js b/src/common/utils.js similarity index 100% rename from lib/utils.js rename to src/common/utils.js diff --git a/src/core/index.js b/src/core/index.js new file mode 100755 index 0000000000..19e55a107e --- /dev/null +++ b/src/core/index.js @@ -0,0 +1,15 @@ +import Options from './options' +import ModuleContainer from './module' +import Nuxt from './nuxt' +import Renderer from './renderer' +import Server from './server' +import * as Utils from 'utils' + +export default { + Options, + ModuleContainer, + Nuxt, + Renderer, + Server, + Utils +} diff --git a/lib/module-container.js b/src/core/module.js similarity index 96% rename from lib/module-container.js rename to src/core/module.js index 4f13c3b9c9..e25ae67cd5 100755 --- a/lib/module-container.js +++ b/src/core/module.js @@ -3,7 +3,7 @@ import fs from 'fs' import { uniq } from 'lodash' import hash from 'hash-sum' import Tapable from 'tappable' -import { chainFn, sequence } from './utils' +import { chainFn, sequence } from 'utils' const debug = require('debug')('nuxt:module') @@ -102,8 +102,7 @@ export default class ModuleContainer extends Tapable { if (module.indexOf('~') === 0 || module.indexOf('./') === 0) { module = path.join(this.options.srcDir, module.substr(1)) } - // eslint-disable-next-line no-eval - module = eval('require')(module) + module = require(module) } // Validate module diff --git a/lib/nuxt.js b/src/core/nuxt.js similarity index 81% rename from lib/nuxt.js rename to src/core/nuxt.js index 6ffc424243..b07016894c 100644 --- a/lib/nuxt.js +++ b/src/core/nuxt.js @@ -1,10 +1,9 @@ import Tapable from 'tappable' import chalk from 'chalk' -import * as Utils from './utils' +import ModuleContainer from './module' import Renderer from './renderer' -import ModuleContainer from './module-container' -import Server from './server' -import defaults from './defaults' +import Options from './options' +import Core from './index' const defaultHost = process.env.HOST || process.env.npm_package_config_nuxt_host || 'localhost' const defaultPort = process.env.PORT || process.env.npm_package_config_nuxt_port || '3000' @@ -13,14 +12,14 @@ export default class Nuxt extends Tapable { constructor (_options = {}) { super() - this.options = defaults(_options) + this.options = Options(_options) this.initialized = false this.errorHandler = this.errorHandler.bind(this) // Create instance of core components - this.moduleContainer = new Nuxt.ModuleContainer(this) - this.renderer = new Nuxt.Renderer(this) + this.moduleContainer = new ModuleContainer(this) + this.renderer = new Renderer(this) // Backward compatibility this.render = this.renderer.render.bind(this.renderer) @@ -60,8 +59,7 @@ export default class Nuxt extends Tapable { if (this._builder) { return this._builder } - const Builder = require('./builder').default - this._builder = new Builder(this) + this._builder = new Core.Builder(this) return this._builder } @@ -69,8 +67,7 @@ export default class Nuxt extends Tapable { if (this._generator) { return this._generator } - const Generator = require('./generator').default - this._generator = new Generator(this) + this._generator = new Core.Generator(this) return this._generator } @@ -93,6 +90,7 @@ export default class Nuxt extends Tapable { process.exit(1) } + // Both Renderer & Server depend on this method serverReady ({ host = defaultHost, port = defaultPort } = {}) { let _host = host === '0.0.0.0' ? 'localhost' : host @@ -113,13 +111,7 @@ export default class Nuxt extends Tapable { this.initialized = false if (typeof callback === 'function') { - callback() + await callback() } } } - -// Add core components to Nuxt class -Nuxt.Utils = Utils -Nuxt.Renderer = Renderer -Nuxt.ModuleContainer = ModuleContainer -Nuxt.Server = Server diff --git a/lib/defaults.js b/src/core/options.js similarity index 95% rename from lib/defaults.js rename to src/core/options.js index 1a2195cc73..42e2e5e29a 100755 --- a/lib/defaults.js +++ b/src/core/options.js @@ -1,9 +1,9 @@ import _ from 'lodash' import { join, resolve } from 'path' import { existsSync } from 'fs' -import { isUrl } from './utils' +import { isUrl } from 'utils' -export default function defaults (_options) { +export default function Options (_options) { // Clone options to prevent unwanted side-effects const options = Object.assign({}, _options) @@ -30,7 +30,7 @@ export default function defaults (_options) { options.buildDir = join(options.rootDir, options.buildDir) // If app.html is defined, set the template path to the user template - options.appTemplatePath = resolve(__dirname, 'views/app.template.html') + options.appTemplatePath = resolve(options.buildDir, 'views/app.template.html') if (existsSync(join(options.srcDir, 'app.html'))) { options.appTemplatePath = join(options.srcDir, 'app.html') } diff --git a/lib/renderer.js b/src/core/renderer.js similarity index 96% rename from lib/renderer.js rename to src/core/renderer.js index 12b5f74f46..6388293758 100644 --- a/lib/renderer.js +++ b/src/core/renderer.js @@ -10,7 +10,7 @@ import _ from 'lodash' import { resolve, join } from 'path' import fs from 'fs-extra' import { createBundleRenderer } from 'vue-server-renderer' -import { getContext, setAnsiColors, encodeHtml } from './utils' +import { getContext, setAnsiColors, encodeHtml } from 'utils' const debug = require('debug')('nuxt:render') debug.color = 4 // Force blue color @@ -36,7 +36,7 @@ export default class Renderer extends Tapable { clientManifest: null, serverBundle: null, appTemplate: null, - errorTemplate: parseTemplate(fs.readFileSync(resolve(__dirname, 'views', 'error.html'), 'utf8')) + errorTemplate: '
{{ stack }}
' // Will be loaded on ready } // Initialize @@ -70,6 +70,11 @@ export default class Renderer extends Tapable { this.gzipMiddleware = pify(compression(this.options.render.gzip)) } + const errorTemplatePath = resolve(this.options.buildDir, 'views/error.html') + if (fs.existsSync(errorTemplatePath)) { + this.resources.errorTemplate = parseTemplate(fs.readFileSync(errorTemplatePath, 'utf8')) + } + // Load resources from fs if (!this.options.dev) { await this.loadResources() @@ -140,7 +145,9 @@ export default class Renderer extends Tapable { // Promisify renderToString this.bundleRenderer.renderToString = pify(this.bundleRenderer.renderToString) - this.nuxt.serverReady() + if (!this.options.runBuild) { + this.nuxt.serverReady() + } } async render (req, res) { diff --git a/lib/server.js b/src/core/server.js similarity index 96% rename from lib/server.js rename to src/core/server.js index 661a3e7a1a..fb094e0f8c 100644 --- a/lib/server.js +++ b/src/core/server.js @@ -46,8 +46,7 @@ class Server { if (src.indexOf('~') === 0 || src.indexOf('./') === 0) { src = path.join(this.nuxt.options.srcDir, src.substr(1)) } - // eslint-disable-next-line no-eval - m = eval('require')(src) + m = require(src) } if (m instanceof Function) { this.app.use(m) diff --git a/webpack.config.js b/webpack.config.js deleted file mode 100644 index 946eb0d6db..0000000000 --- a/webpack.config.js +++ /dev/null @@ -1,59 +0,0 @@ - -// Until babel-loader 7 is released -process.noDeprecation = true - -var nodeExternals = require('webpack-node-externals') -var ProgressBarPlugin = require('progress-bar-webpack-plugin') -var CopyWebpackPlugin = require('copy-webpack-plugin') -var resolve = require('path').resolve -var r = function (p) { return resolve(__dirname, p) } - -module.exports = { - target: 'node', - node: { - __dirname: false, - __filename: false - }, - devtool: 'source-map', - entry: r('./lib/nuxt.js'), - output: { - path: r('./dist'), - filename: 'nuxt.js', - libraryTarget: 'commonjs2' - }, - externals: [ - nodeExternals() - ], - module: { - rules: [ - { - test: /\.json$/, - loader: 'json-loader' - }, - { - test: /\.js$/, - loader: 'babel-loader', - exclude: /node_modules/, - query: { - plugins: [ - 'transform-async-to-generator', - 'array-includes', - 'transform-runtime' - ], - presets: [ - ['es2015', { modules: false }], - 'stage-2' - ], - cacheDirectory: true - } - } - ] - }, - plugins: [ - new CopyWebpackPlugin([ - { from: 'lib/app', to: 'app' }, - { from: 'lib/views', to: 'views' } - ]), - new ProgressBarPlugin() - ] -} diff --git a/yarn.lock b/yarn.lock index c44bae33a7..9c7c9a3089 100644 --- a/yarn.lock +++ b/yarn.lock @@ -41,6 +41,13 @@ version "6.0.78" resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.78.tgz#5d4a3f579c1524e01ee21bf474e6fba09198f470" +JSONStream@^1.0.4: + version "1.3.1" + resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.1.tgz#707f761e01dae9e16f1bcf93703b78c70966579a" + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + abab@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.3.tgz#b81de5f7274ec4e756d797cd834f303642724e5d" @@ -78,7 +85,7 @@ acorn@^3.0.4: version "3.3.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" -acorn@^4.0.3, acorn@^4.0.4: +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" @@ -86,6 +93,10 @@ acorn@^5.0.0, acorn@^5.0.1, acorn@^5.0.3: version "5.0.3" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.0.3.tgz#c460df08491463f028ccb82eab3730bf01087b3d" +add-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" + ajv-keywords@^1.0.0: version "1.5.1" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" @@ -224,6 +235,10 @@ array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" +array-ify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" + array-union@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" @@ -272,7 +287,7 @@ async-each@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" -async@^1.4.0: +async@^1.4.0, async@^1.5.0: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" @@ -421,7 +436,7 @@ babel-code-frame@^6.11.0, babel-code-frame@^6.16.0, babel-code-frame@^6.22.0: esutils "^2.0.2" js-tokens "^3.0.0" -babel-core@^6.17.0, babel-core@^6.24.1: +babel-core@6, babel-core@^6.17.0, babel-core@^6.24.1: version "6.25.0" resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.25.0.tgz#7dd42b0463c742e9d5296deb3ec67a9322dad729" dependencies: @@ -625,6 +640,12 @@ babel-plugin-espower@^2.3.2: espurify "^1.6.0" estraverse "^4.1.1" +babel-plugin-external-helpers@^6.18.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-external-helpers/-/babel-plugin-external-helpers-6.22.0.tgz#2285f48b02bd5dede85175caf8c62e86adccefa1" + dependencies: + babel-runtime "^6.22.0" + babel-plugin-syntax-async-functions@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" @@ -718,7 +739,7 @@ babel-plugin-transform-es2015-block-scoping@^6.23.0, babel-plugin-transform-es20 babel-types "^6.24.1" lodash "^4.2.0" -babel-plugin-transform-es2015-classes@^6.23.0, babel-plugin-transform-es2015-classes@^6.24.1: +babel-plugin-transform-es2015-classes@^6.23.0, babel-plugin-transform-es2015-classes@^6.24.1, babel-plugin-transform-es2015-classes@^6.9.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" dependencies: @@ -947,7 +968,15 @@ babel-preset-env@^1.2.1: invariant "^2.2.2" semver "^5.3.0" -babel-preset-es2015@^6.24.1: +babel-preset-es2015-rollup@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/babel-preset-es2015-rollup/-/babel-preset-es2015-rollup-3.0.0.tgz#854b63ecde2ee98cac40e882f67bfcf185b1f24a" + dependencies: + babel-plugin-external-helpers "^6.18.0" + babel-preset-es2015 "^6.3.13" + require-relative "^0.8.7" + +babel-preset-es2015@^6.24.1, babel-preset-es2015@^6.3.13: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939" dependencies: @@ -1151,6 +1180,12 @@ brorand@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" +browser-resolve@^1.11.0: + version "1.11.2" + resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce" + dependencies: + resolve "1.1.7" + browserify-aes@^1.0.0, browserify-aes@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.0.6.tgz#5e7725dbdef1fd5930d4ebab48567ce451c48a0a" @@ -1232,7 +1267,7 @@ buffer@^4.3.0: ieee754 "^1.1.4" isarray "^1.0.0" -builtin-modules@^1.0.0, builtin-modules@^1.1.1: +builtin-modules@^1.0.0, builtin-modules@^1.1.0, builtin-modules@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" @@ -1240,6 +1275,10 @@ 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" +byline@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/byline/-/byline-5.0.0.tgz#741c5216468eadc457b03410118ad77de8c1ddb1" + bytes@2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.3.0.tgz#d5b680a165b6201739acb611542aabc2d8ceb070" @@ -1453,6 +1492,13 @@ clone@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" +cmd-shim@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-2.0.2.tgz#6fcbda99483a8fd15d7d30a196ca69d688a2efdb" + dependencies: + graceful-fs "^4.1.2" + mkdirp "~0.5.0" + co-with-promise@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co-with-promise/-/co-with-promise-4.6.0.tgz#413e7db6f5893a60b942cf492c4bec93db415ab7" @@ -1523,12 +1569,23 @@ colors@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" +columnify@^1.5.4: + version "1.5.4" + resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb" + dependencies: + strip-ansi "^3.0.0" + wcwidth "^1.0.0" + combined-stream@^1.0.5, combined-stream@~1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" dependencies: delayed-stream "~1.0.0" +command-join@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/command-join/-/command-join-2.0.0.tgz#52e8b984f4872d952ff1bdc8b98397d27c7144cf" + commander@2.9.x, commander@^2.9.0, commander@~2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" @@ -1543,6 +1600,13 @@ commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" +compare-func@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-1.3.2.tgz#99dd0ba457e1f9bc722b12c08ec33eeab31fa648" + dependencies: + array-ify "^1.0.0" + dot-prop "^3.0.0" + compressible@~2.0.8: version "2.0.10" resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.10.tgz#feda1c7f7617912732b29bf8cf26252a20b9eecd" @@ -1564,7 +1628,7 @@ concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" -concat-stream@^1.6.0: +concat-stream@^1.4.10, concat-stream@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" dependencies: @@ -1635,6 +1699,152 @@ content-type@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed" +conventional-changelog-angular@^1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-1.3.4.tgz#7d7cdfbd358948312904d02229a61fd6075cf455" + dependencies: + compare-func "^1.3.1" + github-url-from-git "^1.4.0" + q "^1.4.1" + +conventional-changelog-atom@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-0.1.0.tgz#67a47c66a42b2f8909ef1587c9989ae1de730b92" + dependencies: + q "^1.4.1" + +conventional-changelog-cli@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/conventional-changelog-cli/-/conventional-changelog-cli-1.3.1.tgz#1cd5a9dbae25ffb5ffe67afef1e136eaceefd2d5" + dependencies: + add-stream "^1.0.0" + conventional-changelog "^1.1.3" + lodash "^4.1.0" + meow "^3.7.0" + tempfile "^1.1.1" + +conventional-changelog-codemirror@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-0.1.0.tgz#7577a591dbf9b538e7a150a7ee62f65a2872b334" + dependencies: + q "^1.4.1" + +conventional-changelog-core@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-1.9.0.tgz#de5dfbc091847656508d4a389e35c9a1bc49e7f4" + dependencies: + conventional-changelog-writer "^1.1.0" + conventional-commits-parser "^1.0.0" + dateformat "^1.0.12" + get-pkg-repo "^1.0.0" + git-raw-commits "^1.2.0" + git-remote-origin-url "^2.0.0" + git-semver-tags "^1.2.0" + lodash "^4.0.0" + normalize-package-data "^2.3.5" + q "^1.4.1" + read-pkg "^1.1.0" + read-pkg-up "^1.0.1" + through2 "^2.0.0" + +conventional-changelog-ember@^0.2.6: + version "0.2.6" + resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-0.2.6.tgz#8b7355419f5127493c4c562473ab2fc792f1c2b6" + dependencies: + q "^1.4.1" + +conventional-changelog-eslint@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-0.1.0.tgz#a52411e999e0501ce500b856b0a643d0330907e2" + dependencies: + q "^1.4.1" + +conventional-changelog-express@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-0.1.0.tgz#55c6c841c811962036c037bdbd964a54ae310fce" + dependencies: + q "^1.4.1" + +conventional-changelog-jquery@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-jquery/-/conventional-changelog-jquery-0.1.0.tgz#0208397162e3846986e71273b6c79c5b5f80f510" + dependencies: + q "^1.4.1" + +conventional-changelog-jscs@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-jscs/-/conventional-changelog-jscs-0.1.0.tgz#0479eb443cc7d72c58bf0bcf0ef1d444a92f0e5c" + dependencies: + q "^1.4.1" + +conventional-changelog-jshint@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-0.1.0.tgz#00cab8e9a3317487abd94c4d84671342918d2a07" + dependencies: + compare-func "^1.3.1" + q "^1.4.1" + +conventional-changelog-writer@^1.1.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-1.4.1.tgz#3f4cb4d003ebb56989d30d345893b52a43639c8e" + dependencies: + compare-func "^1.3.1" + conventional-commits-filter "^1.0.0" + dateformat "^1.0.11" + handlebars "^4.0.2" + json-stringify-safe "^5.0.1" + lodash "^4.0.0" + meow "^3.3.0" + semver "^5.0.1" + split "^1.0.0" + through2 "^2.0.0" + +conventional-changelog@^1.1.3: + version "1.1.4" + resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-1.1.4.tgz#108bc750c2a317e200e2f9b413caaa1f8c7efa3b" + dependencies: + conventional-changelog-angular "^1.3.4" + conventional-changelog-atom "^0.1.0" + conventional-changelog-codemirror "^0.1.0" + conventional-changelog-core "^1.9.0" + conventional-changelog-ember "^0.2.6" + conventional-changelog-eslint "^0.1.0" + conventional-changelog-express "^0.1.0" + conventional-changelog-jquery "^0.1.0" + conventional-changelog-jscs "^0.1.0" + conventional-changelog-jshint "^0.1.0" + +conventional-commits-filter@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-1.0.0.tgz#6fc2a659372bc3f2339cf9ffff7e1b0344b93039" + dependencies: + is-subset "^0.1.1" + modify-values "^1.0.0" + +conventional-commits-parser@^1.0.0, conventional-commits-parser@^1.0.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-1.3.0.tgz#e327b53194e1a7ad5dc63479ee9099a52b024865" + dependencies: + JSONStream "^1.0.4" + is-text-path "^1.0.0" + lodash "^4.2.1" + meow "^3.3.0" + split2 "^2.0.0" + through2 "^2.0.0" + trim-off-newlines "^1.0.0" + +conventional-recommended-bump@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-1.0.0.tgz#6d303a27837ae938b7c68c8ddeed34559b4b0789" + dependencies: + concat-stream "^1.4.10" + conventional-commits-filter "^1.0.0" + conventional-commits-parser "^1.0.1" + git-raw-commits "^1.2.0" + git-semver-tags "^1.2.0" + meow "^3.3.0" + object-assign "^4.0.1" + convert-source-map@^1.1.0, convert-source-map@^1.2.0, convert-source-map@^1.3.0: version "1.5.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" @@ -1738,6 +1948,14 @@ cross-spawn@^4, cross-spawn@^4.0.0: lru-cache "^4.0.1" which "^1.2.9" +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + cryptiles@2.x.x: version "2.0.5" resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" @@ -1877,6 +2095,12 @@ d@1: dependencies: es5-ext "^0.10.9" +dargs@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17" + dependencies: + number-is-nan "^1.0.0" + dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" @@ -1891,6 +2115,13 @@ date-time@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/date-time/-/date-time-0.1.1.tgz#ed2f6d93d9790ce2fd66d5b5ff3edd5bbcbf3b07" +dateformat@^1.0.11, dateformat@^1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9" + dependencies: + get-stdin "^4.0.1" + meow "^3.3.0" + de-indent@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" @@ -1921,6 +2152,10 @@ 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" +dedent@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + deep-equal@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" @@ -1943,6 +2178,12 @@ default-require-extensions@^1.0.0: dependencies: strip-bom "^2.0.0" +defaults@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" + dependencies: + clone "^1.0.2" + define-properties@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" @@ -2079,6 +2320,12 @@ domutils@1.5.1, domutils@^1.5.1: dom-serializer "0" domelementtype "1" +dot-prop@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" + dependencies: + is-obj "^1.0.0" + dot-prop@^4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.1.1.tgz#a8493f0b7b5eeec82525b5c7587fa7de7ca859c1" @@ -2428,6 +2675,14 @@ estraverse@~4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.1.1.tgz#f6caca728933a850ef90661d0e17982ba47111a2" +estree-walker@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.2.1.tgz#bdafe8095383d8414d5dc2ecf4c9173b6db9412e" + +estree-walker@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.3.1.tgz#e6b1a51cf7292524e7237c312e5fe6660c1ce1aa" + esutils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" @@ -2476,6 +2731,18 @@ execa@^0.5.0: signal-exit "^3.0.0" strip-eof "^1.0.0" +execa@^0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.6.3.tgz#57b69a594f081759c69e5370f0d17b9cb11658fe" + 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" @@ -2773,7 +3040,17 @@ get-caller-file@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" -get-port@^3.0.0: +get-pkg-repo@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-1.3.0.tgz#43c6b4c048b75dd604fc5388edecde557f6335df" + dependencies: + hosted-git-info "^2.1.4" + meow "^3.3.0" + normalize-package-data "^2.3.0" + parse-github-repo-url "^1.3.0" + through2 "^2.0.0" + +get-port@^3.0.0, get-port@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.1.0.tgz#ef01b18a84ca6486970ff99e54446141a73ffd3e" @@ -2798,6 +3075,40 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" +git-raw-commits@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-1.2.0.tgz#0f3a8bfd99ae0f2d8b9224d58892975e9a52d03c" + dependencies: + dargs "^4.0.1" + lodash.template "^4.0.2" + meow "^3.3.0" + split2 "^2.0.0" + through2 "^2.0.0" + +git-remote-origin-url@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f" + dependencies: + gitconfiglocal "^1.0.0" + pify "^2.3.0" + +git-semver-tags@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-1.2.0.tgz#b31fd02c8ab578bd6c9b5cacca5e1c64c1177ac1" + dependencies: + meow "^3.3.0" + semver "^5.0.1" + +gitconfiglocal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b" + dependencies: + ini "^1.3.2" + +github-url-from-git@^1.4.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/github-url-from-git/-/github-url-from-git-1.5.0.tgz#f985fedcc0a9aa579dc88d7aff068d55cc6251a0" + glob-base@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" @@ -2847,7 +3158,7 @@ globby@^5.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" -globby@^6.0.0: +globby@^6.0.0, globby@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" dependencies: @@ -2887,7 +3198,7 @@ gzip-size@^3.0.0: dependencies: duplexer "^0.1.1" -handlebars@^4.0.3: +handlebars@^4.0.2, handlebars@^4.0.3: version "4.0.10" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.10.tgz#3d30c718b09a3d96f23ea4cc1f403c4d3ba9ff4f" dependencies: @@ -3170,7 +3481,7 @@ inherits@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" -ini@^1.3.4, ini@~1.3.0: +ini@^1.3.2, ini@^1.3.4, ini@~1.3.0: version "1.3.4" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" @@ -3238,7 +3549,7 @@ is-builtin-module@^1.0.0: dependencies: builtin-modules "^1.0.0" -is-ci@^1.0.7: +is-ci@^1.0.10, is-ci@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.0.10.tgz#f739336b2632365061a9d48270cd56ae3369318e" dependencies: @@ -3306,6 +3617,10 @@ is-glob@^3.1.0: dependencies: is-extglob "^2.1.0" +is-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" + is-my-json-valid@^2.12.4, is-my-json-valid@^2.16.0: version "2.16.0" resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693" @@ -3395,12 +3710,22 @@ is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" +is-subset@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6" + is-svg@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9" dependencies: html-comment-regex "^1.1.0" +is-text-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" + dependencies: + text-extensions "^1.0.0" + is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" @@ -3634,7 +3959,7 @@ json-stable-stringify@^1.0.1: dependencies: jsonify "~0.0.0" -json-stringify-safe@~5.0.1: +json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" @@ -3658,6 +3983,10 @@ jsonify@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" +jsonparse@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" + jsonpointer@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" @@ -3711,6 +4040,46 @@ lcid@^1.0.0: dependencies: invert-kv "^1.0.0" +lerna@2.0.0-rc.5: + version "2.0.0-rc.5" + resolved "https://registry.yarnpkg.com/lerna/-/lerna-2.0.0-rc.5.tgz#b59d168caaac6e3443078c1bce194208c9aa3090" + dependencies: + async "^1.5.0" + chalk "^1.1.1" + cmd-shim "^2.0.2" + columnify "^1.5.4" + command-join "^2.0.0" + conventional-changelog-cli "^1.3.1" + conventional-recommended-bump "^1.0.0" + dedent "^0.7.0" + execa "^0.6.3" + find-up "^2.1.0" + fs-extra "^3.0.1" + get-port "^3.1.0" + glob "^7.1.2" + globby "^6.1.0" + graceful-fs "^4.1.11" + inquirer "^3.0.6" + is-ci "^1.0.10" + load-json-file "^2.0.0" + lodash "^4.17.4" + minimatch "^3.0.4" + npmlog "^4.1.0" + p-finally "^1.0.0" + path-exists "^3.0.0" + read-cmd-shim "^1.0.1" + read-pkg "^2.0.0" + rimraf "^2.6.1" + safe-buffer "^5.0.1" + semver "^5.1.0" + signal-exit "^3.0.2" + strong-log-transformer "^1.0.6" + temp-write "^3.3.0" + write-file-atomic "^2.1.0" + write-json-file "^2.1.0" + write-pkg "^3.0.1" + yargs "^8.0.1" + leven@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" @@ -3821,7 +4190,7 @@ lodash.merge@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.0.tgz#69884ba144ac33fe699737a6086deffadd0f89c5" -lodash.template@^4.4.0: +lodash.template@^4.0.2, lodash.template@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0" dependencies: @@ -3838,7 +4207,7 @@ lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" -lodash@^4.0.0, lodash@^4.11.1, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.3.0: +lodash@^4.0.0, lodash@^4.1.0, lodash@^4.11.1, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" @@ -3884,6 +4253,18 @@ macaddress@^0.2.8: version "0.2.8" resolved "https://registry.yarnpkg.com/macaddress/-/macaddress-0.2.8.tgz#5904dc537c39ec6dbefeae902327135fa8511f12" +magic-string@^0.15.2: + version "0.15.2" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.15.2.tgz#0681d7388741bbc3addaa65060992624c6c09e9c" + dependencies: + vlq "^0.2.1" + +magic-string@^0.19.0: + version "0.19.1" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.19.1.tgz#14d768013caf2ec8fdea16a49af82fc377e75201" + dependencies: + vlq "^0.2.1" + make-dir@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.0.0.tgz#97a011751e91dd87cfadef58832ebb04936de978" @@ -3937,7 +4318,7 @@ memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1: errno "^0.1.3" readable-stream "^2.0.1" -meow@^3.7.0: +meow@^3.3.0, meow@^3.7.0: version "3.7.0" resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" dependencies: @@ -4039,12 +4420,24 @@ minimist@0.0.8, minimist@~0.0.1: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" +minimist@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.1.0.tgz#99df657a52574c21c9057497df742790b2b4c0de" + "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" +modify-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.0.tgz#e2b6cdeb9ce19f99317a53722f3dbf5df5eaaab2" + +moment@^2.6.0: + 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" @@ -4162,7 +4555,7 @@ nopt@~3.0.1: dependencies: abbrev "1" -normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: +normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5: version "2.3.8" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.8.tgz#d819eda2a9dedbd1ffa563ea4071d936782295bb" dependencies: @@ -4202,7 +4595,7 @@ npm-run-path@^2.0.0: dependencies: path-key "^2.0.0" -npmlog@^4.0.2: +npmlog@^4.0.2, npmlog@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.0.tgz#dc59bee85f64f00ed424efb2af0783df25d1c0b5" dependencies: @@ -4464,6 +4857,10 @@ parse-asn1@^5.0.0: evp_bytestokey "^1.0.0" pbkdf2 "^3.0.3" +parse-github-repo-url@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/parse-github-repo-url/-/parse-github-repo-url-1.4.0.tgz#286c53e2c9962e0641649ee3ac9508fca4dd959c" + parse-glob@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" @@ -4563,7 +4960,7 @@ performance-now@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" -pify@^2.0.0, pify@^2.3.0: +pify@^2.0.0, pify@^2.2.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -5007,7 +5404,7 @@ punycode@^1.2.4, punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" -q@^1.1.2: +q@^1.1.2, q@^1.4.1: version "1.5.0" resolved "https://registry.yarnpkg.com/q/-/q-1.5.0.tgz#dd01bac9d06d30e6f219aecb8253ee9ebdc308f1" @@ -5060,6 +5457,12 @@ rc@^1.0.1, rc@^1.1.6, rc@^1.1.7: minimist "^1.2.0" strip-json-comments "~2.0.1" +read-cmd-shim@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-1.0.1.tgz#2d5d157786a37c055d22077c32c53f8329e91c7b" + dependencies: + graceful-fs "^4.1.2" + read-pkg-up@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" @@ -5074,7 +5477,7 @@ read-pkg-up@^2.0.0: find-up "^2.0.0" read-pkg "^2.0.0" -read-pkg@^1.0.0: +read-pkg@^1.0.0, read-pkg@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" dependencies: @@ -5323,6 +5726,10 @@ require-precompiled@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/require-precompiled/-/require-precompiled-0.1.0.tgz#5a1b52eb70ebed43eb982e974c85ab59571e56fa" +require-relative@0.8.7, require-relative@^0.8.7: + version "0.8.7" + resolved "https://registry.yarnpkg.com/require-relative/-/require-relative-0.8.7.tgz#7999539fc9e047a37928fa196f8e1563dabd36de" + require-uncached@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" @@ -5348,7 +5755,11 @@ resolve-from@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" -resolve@^1.1.6, resolve@^1.2.0, resolve@^1.3.3: +resolve@1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + +resolve@^1.1.6, resolve@^1.1.7, resolve@^1.2.0, resolve@^1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.3.tgz#655907c3469a8680dc2de3a275a8fdd69691f0e5" dependencies: @@ -5380,6 +5791,75 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^2.0.0" inherits "^2.0.1" +rollup-plugin-alias@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/rollup-plugin-alias/-/rollup-plugin-alias-1.3.1.tgz#a9152fec4b6a6510dae93989517ca7853c32a6fa" + dependencies: + slash "^1.0.0" + +rollup-plugin-babel@^2.7.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rollup-plugin-babel/-/rollup-plugin-babel-2.7.1.tgz#16528197b0f938a1536f44683c7a93d573182f57" + dependencies: + babel-core "6" + babel-plugin-transform-es2015-classes "^6.9.0" + object-assign "^4.1.0" + rollup-pluginutils "^1.5.0" + +rollup-plugin-commonjs@^8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/rollup-plugin-commonjs/-/rollup-plugin-commonjs-8.0.2.tgz#98b1589bfe32a6c0f67790b60c0b499972afed89" + dependencies: + acorn "^4.0.1" + estree-walker "^0.3.0" + magic-string "^0.19.0" + resolve "^1.1.7" + rollup-pluginutils "^2.0.1" + +rollup-plugin-node-resolve@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.0.0.tgz#8b897c4c3030d5001277b0514b25d2ca09683ee0" + dependencies: + browser-resolve "^1.11.0" + builtin-modules "^1.1.0" + is-module "^1.0.0" + resolve "^1.1.6" + +rollup-plugin-replace@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/rollup-plugin-replace/-/rollup-plugin-replace-1.1.1.tgz#396315ded050a6ce43b9518a886a3f60efb1ea33" + dependencies: + magic-string "^0.15.2" + minimatch "^3.0.2" + rollup-pluginutils "^1.5.0" + +rollup-pluginutils@^1.5.0: + version "1.5.2" + resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz#1e156e778f94b7255bfa1b3d0178be8f5c552408" + dependencies: + estree-walker "^0.2.1" + minimatch "^3.0.2" + +rollup-pluginutils@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.0.1.tgz#7ec95b3573f6543a46a6461bd9a7c544525d0fc0" + dependencies: + 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" + dependencies: + chokidar "^1.7.0" + require-relative "0.8.7" + +rollup@^0.43.0: + version "0.43.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.43.0.tgz#b36bdb75fa5e0823b6de8aee18ff7b5655520543" + dependencies: + source-map-support "^0.4.0" + run-async@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" @@ -5420,7 +5900,7 @@ semver-diff@^2.0.0: dependencies: semver "^5.0.3" -"semver@2 || 3 || 4 || 5", semver@5.3.0, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0: +"semver@2 || 3 || 4 || 5", semver@5.3.0, semver@^5.0.1, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" @@ -5477,6 +5957,16 @@ sha.js@^2.4.0, sha.js@^2.4.8: dependencies: inherits "^2.0.1" +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + dependencies: + shebang-regex "^1.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + sigmund@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" @@ -5517,7 +6007,7 @@ source-list-map@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085" -source-map-support@^0.4.0, source-map-support@^0.4.2: +source-map-support@^0.4.0, source-map-support@^0.4.15, source-map-support@^0.4.2: version "0.4.15" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.15.tgz#03202df65c06d2bd8c7ec2362a193056fef8d3b1" dependencies: @@ -5564,6 +6054,18 @@ spdx-license-ids@^1.0.2: version "1.2.2" resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" +split2@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/split2/-/split2-2.1.1.tgz#7a1f551e176a90ecd3345f7246a0cfe175ef4fd0" + dependencies: + through2 "^2.0.2" + +split@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/split/-/split-1.0.0.tgz#c4395ce683abcd254bc28fe1dabb6e5c27dcffae" + dependencies: + through "2" + sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" @@ -5700,6 +6202,16 @@ strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" +strong-log-transformer@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/strong-log-transformer/-/strong-log-transformer-1.0.6.tgz#f7fb93758a69a571140181277eea0c2eb1301fa3" + dependencies: + byline "^5.0.0" + duplexer "^0.1.1" + minimist "^0.1.0" + moment "^2.6.0" + through "^2.3.4" + supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -5777,6 +6289,28 @@ tar@^2.2.1: fstream "^1.0.2" inherits "2" +temp-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d" + +temp-write@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/temp-write/-/temp-write-3.3.0.tgz#c1a96de2b36061342eae81f44ff001aec8f615a9" + dependencies: + graceful-fs "^4.1.2" + is-stream "^1.1.0" + make-dir "^1.0.0" + pify "^2.2.0" + temp-dir "^1.0.0" + uuid "^3.0.1" + +tempfile@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/tempfile/-/tempfile-1.1.1.tgz#5bcc4eaecc4ab2c707d8bc11d99ccc9a2cb287f2" + dependencies: + os-tmpdir "^1.0.0" + uuid "^2.0.1" + term-size@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/term-size/-/term-size-0.1.1.tgz#87360b96396cab5760963714cda0d0cbeecad9ca" @@ -5793,18 +6327,22 @@ test-exclude@^4.1.1: read-pkg-up "^1.0.1" require-main-filename "^1.0.1" +text-extensions@^1.0.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.5.0.tgz#d1cb2d14b5d0bc45bfdca8a08a473f68c7eb0cbc" + text-table@^0.2.0, text-table@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" -through2@^2.0.0: +through2@^2.0.0, through2@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" dependencies: readable-stream "^2.1.5" xtend "~4.0.1" -through@^2.3.6: +through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" @@ -5859,6 +6397,10 @@ trim-newlines@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" +trim-off-newlines@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" + trim-right@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" @@ -5902,9 +6444,9 @@ typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" -uglify-js@3.0.x: - version "3.0.15" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.0.15.tgz#aacb323a846b234602270dead8a32441a8806f42" +uglify-js@3.0.x, uglify-js@^3.0.17: + version "3.0.17" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.0.17.tgz#d228cd55c2df9b3d2f53f147568cb4cc4a72cc06" dependencies: commander "~2.9.0" source-map "~0.5.1" @@ -6037,7 +6579,11 @@ utils-merge@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8" -uuid@^3.0.0: +uuid@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" + +uuid@^3.0.0, uuid@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" @@ -6062,6 +6608,10 @@ verror@1.3.6: dependencies: extsprintf "1.0.2" +vlq@^0.2.1: + version "0.2.2" + resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.2.tgz#e316d5257b40b86bb43cb8d5fea5d7f54d6b0ca1" + vm-browserify@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" @@ -6155,6 +6705,12 @@ watchpack@^1.3.1: chokidar "^1.4.3" graceful-fs "^4.1.2" +wcwidth@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + dependencies: + defaults "^1.0.3" + webidl-conversions@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" @@ -6309,7 +6865,7 @@ write-file-atomic@^1.1.4: imurmurhash "^0.1.4" slide "^1.1.5" -write-file-atomic@^2.0.0: +write-file-atomic@^2.0.0, write-file-atomic@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.1.0.tgz#1769f4b551eedce419f0505deae2e26763542d37" dependencies: @@ -6317,7 +6873,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.0.0, write-json-file@^2.1.0: version "2.2.0" resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-2.2.0.tgz#51862506bbb3b619eefab7859f1fd6c6d0530876" dependencies: @@ -6335,6 +6891,13 @@ write-pkg@^2.0.0: sort-keys "^1.1.2" write-json-file "^2.0.0" +write-pkg@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/write-pkg/-/write-pkg-3.0.1.tgz#f95245805be6f6a4eb1d6c31c43b57226815e6e3" + dependencies: + sort-keys "^1.1.2" + write-json-file "^2.0.0" + write@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" From 45485f5b8ad4bc44da8b27df823b0ab073788fd6 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Fri, 16 Jun 2017 17:19:35 +0430 Subject: [PATCH 082/236] update tests --- test/basic.dev.test.js | 8 +++++--- test/basic.fail.generate.test.js | 2 +- test/basic.generate.test.js | 2 +- test/basic.test.js | 4 ++-- test/children.test.js | 4 ++-- test/dynamic-routes.test.js | 2 +- test/error.test.js | 4 ++-- test/index.test.js | 3 +-- test/module.test.js | 4 ++-- test/utils.test.js | 2 +- test/with-config.test.js | 4 ++-- 11 files changed, 20 insertions(+), 19 deletions(-) diff --git a/test/basic.dev.test.js b/test/basic.dev.test.js index be75b6cac1..5ee3d73025 100644 --- a/test/basic.dev.test.js +++ b/test/basic.dev.test.js @@ -1,6 +1,8 @@ import test from 'ava' import { resolve } from 'path' import rp from 'request-promise-native' +import { Nuxt, Server } from '../index.js' + const port = 4001 const url = (route) => 'http://localhost:' + port + route @@ -9,14 +11,13 @@ let server = null // Init nuxt.js and create server listening on localhost:4000 test.before('Init Nuxt.js', async t => { - const Nuxt = require('../') const options = { rootDir: resolve(__dirname, 'fixtures/basic'), dev: true } nuxt = new Nuxt(options) await nuxt.ready() - server = new Nuxt.Server(nuxt) + server = new Server(nuxt) server.listen(port, 'localhost') }) @@ -38,5 +39,6 @@ test('/_nuxt/test.hot-update.json should returns empty html', async t => { // Close server and ask nuxt to stop listening to file changes test.after('Closing server and nuxt.js', t => { server.close() - nuxt.close(() => {}) + nuxt.close(() => { + }) }) diff --git a/test/basic.fail.generate.test.js b/test/basic.fail.generate.test.js index b8861e8e0a..340bf4d253 100644 --- a/test/basic.fail.generate.test.js +++ b/test/basic.fail.generate.test.js @@ -1,8 +1,8 @@ import test from 'ava' import { resolve } from 'path' +import { Nuxt } from '../index.js' test('Fail with routes() which throw an error', async t => { - const Nuxt = require('../') const options = { rootDir: resolve(__dirname, 'fixtures/basic'), dev: false, diff --git a/test/basic.generate.test.js b/test/basic.generate.test.js index cd270c13ac..e896360ad0 100644 --- a/test/basic.generate.test.js +++ b/test/basic.generate.test.js @@ -4,6 +4,7 @@ import http from 'http' import serveStatic from 'serve-static' import finalhandler from 'finalhandler' import rp from 'request-promise-native' +import { Nuxt } from '../index.js' const port = 4002 const url = (route) => 'http://localhost:' + port + route @@ -13,7 +14,6 @@ let server = null // Init nuxt.js and create server listening on localhost:4000 test.before('Init Nuxt.js', async t => { - const Nuxt = require('../') const rootDir = resolve(__dirname, 'fixtures/basic') let config = require(resolve(rootDir, 'nuxt.config.js')) config.rootDir = rootDir diff --git a/test/basic.test.js b/test/basic.test.js index b29df1ead9..49a86d25c4 100755 --- a/test/basic.test.js +++ b/test/basic.test.js @@ -2,6 +2,7 @@ import test from 'ava' import { resolve } from 'path' import rp from 'request-promise-native' import stdMocks from 'std-mocks' +import { Nuxt, Server } from '../index.js' const port = 4003 const url = (route) => 'http://localhost:' + port + route @@ -11,7 +12,6 @@ let server = null // Init nuxt.js and create server listening on localhost:4000 test.before('Init Nuxt.js', async t => { - const Nuxt = require('../') const options = { rootDir: resolve(__dirname, 'fixtures/basic'), dev: false, @@ -19,7 +19,7 @@ test.before('Init Nuxt.js', async t => { } nuxt = new Nuxt(options) await nuxt.ready() - server = new Nuxt.Server(nuxt) + server = new Server(nuxt) server.listen(port, 'localhost') }) diff --git a/test/children.test.js b/test/children.test.js index 01786707c9..3424a5e15c 100644 --- a/test/children.test.js +++ b/test/children.test.js @@ -1,5 +1,6 @@ import test from 'ava' import { resolve } from 'path' +import { Nuxt, Server } from '../index.js' const port = 4004 // const url = (route) => 'http://localhost:' + port + route @@ -9,7 +10,6 @@ let server = null // Init nuxt.js and create server listening on localhost:4000 test.before('Init Nuxt.js', async t => { - const Nuxt = require('../') const options = { rootDir: resolve(__dirname, 'fixtures/children'), dev: false, @@ -17,7 +17,7 @@ test.before('Init Nuxt.js', async t => { } nuxt = new Nuxt(options) await nuxt.ready() - server = new Nuxt.Server(nuxt) + server = new Server(nuxt) server.listen(port, 'localhost') }) diff --git a/test/dynamic-routes.test.js b/test/dynamic-routes.test.js index b2256a9951..79618677cd 100644 --- a/test/dynamic-routes.test.js +++ b/test/dynamic-routes.test.js @@ -2,11 +2,11 @@ import test from 'ava' import { resolve } from 'path' import fs from 'fs' import pify from 'pify' +import { Nuxt } from '../index.js' const readFile = pify(fs.readFile) test.before('Init Nuxt.js', async t => { - const Nuxt = require('../') const nuxt = new Nuxt({ rootDir: resolve(__dirname, 'fixtures/dynamic-routes'), dev: false, diff --git a/test/error.test.js b/test/error.test.js index ab361c4d03..6f1cc7c8e3 100644 --- a/test/error.test.js +++ b/test/error.test.js @@ -1,5 +1,6 @@ import test from 'ava' import { resolve } from 'path' +import { Nuxt, Server } from '../index.js' const port = 4005 const url = (route) => 'http://localhost:' + port + route @@ -9,7 +10,6 @@ let server = null // Init nuxt.js and create server listening on localhost:4000 test.before('Init Nuxt.js', async t => { - const Nuxt = require('../') const options = { rootDir: resolve(__dirname, 'fixtures/error'), dev: false, @@ -17,7 +17,7 @@ test.before('Init Nuxt.js', async t => { } nuxt = new Nuxt(options) await nuxt.ready() - server = new Nuxt.Server(nuxt) + server = new Server(nuxt) server.listen(port, 'localhost') }) diff --git a/test/index.test.js b/test/index.test.js index ae20a2ef74..b008b1ee04 100644 --- a/test/index.test.js +++ b/test/index.test.js @@ -1,7 +1,6 @@ import test from 'ava' import { resolve } from 'path' - -const Nuxt = require('../') +import { Nuxt } from '../index.js' test('Nuxt.js Class', t => { t.is(typeof Nuxt, 'function') diff --git a/test/module.test.js b/test/module.test.js index eca4d7bfea..331d42943f 100755 --- a/test/module.test.js +++ b/test/module.test.js @@ -1,7 +1,7 @@ import test from 'ava' import { resolve, normalize } from 'path' import rp from 'request-promise-native' -import Nuxt from '..' +import { Nuxt, Server } from '../index.js' const port = 4006 const url = (route) => 'http://localhost:' + port + route @@ -18,7 +18,7 @@ test.before('Init Nuxt.js', async t => { config.runBuild = true nuxt = new Nuxt(config) await nuxt.ready() - server = new Nuxt.Server(nuxt) + server = new Server(nuxt) server.listen(port, 'localhost') }) diff --git a/test/utils.test.js b/test/utils.test.js index acd0b20c18..de741554ac 100644 --- a/test/utils.test.js +++ b/test/utils.test.js @@ -1,6 +1,6 @@ import test from 'ava' import ansiHTML from 'ansi-html' -import { Utils } from '..' +import { Utils } from '../index.js' test('encodeHtml', t => { const html = '

Hello

' diff --git a/test/with-config.test.js b/test/with-config.test.js index f621ca9f2d..def656d841 100644 --- a/test/with-config.test.js +++ b/test/with-config.test.js @@ -1,6 +1,7 @@ import test from 'ava' import { resolve } from 'path' import rp from 'request-promise-native' +import { Nuxt, Server } from '../index.js' const port = 4007 const url = (route) => 'http://localhost:' + port + route @@ -10,7 +11,6 @@ let server = null // Init nuxt.js and create server listening on localhost:4000 test.before('Init Nuxt.js', async t => { - const Nuxt = require('../') const rootDir = resolve(__dirname, 'fixtures/with-config') let config = require(resolve(rootDir, 'nuxt.config.js')) config.rootDir = rootDir @@ -18,7 +18,7 @@ test.before('Init Nuxt.js', async t => { config.runBuild = true nuxt = new Nuxt(config) await nuxt.ready() - server = new Nuxt.Server(nuxt) + server = new Server(nuxt) server.listen(port, 'localhost') }) From 8f2945111a2189b53419e84d18cecd790ef3bf9b Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Fri, 16 Jun 2017 17:34:42 +0430 Subject: [PATCH 083/236] use nuxtAppDir --- index.js | 11 +++++------ src/builder/builder.js | 4 ++-- src/core/options.js | 1 + test/with-config.test.js | 1 - 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/index.js b/index.js index fa3a31ff19..b753f4c108 100644 --- a/index.js +++ b/index.js @@ -14,14 +14,13 @@ require('source-map-support').install(); const Core = require('./dist/core.js') -// ------------------------------------------------------------------ +// Use special env flag to specify app dir without modify builder +if (!process.env.NUXT_APP_DIR) { + process.env.NUXT_APP_DIR = path.resolve(__dirname, 'app') +} + // Polyfill Builder into Core const Builder = require('./dist/builder') -// Use special env flag to specify app dir without modify builder -if (!process.env.NUXT_APP_TEMPALTE_DIR) { - process.env.NUXT_APP_TEMPALTE_DIR = path.resolve(__dirname, 'app') -} Object.assign(Core, Builder) -// ------------------------------------------------------------------ module.exports = Core.default ? Core.default : Core diff --git a/src/builder/builder.js b/src/builder/builder.js index 7667d03448..5a65c2b9d5 100644 --- a/src/builder/builder.js +++ b/src/builder/builder.js @@ -165,7 +165,7 @@ export default class Builder extends Tapable { if (!templateVars.layouts.default) { await mkdirp(r(this.options.buildDir, 'layouts')) templatesFiles.push('layouts/default.vue') - templateVars.layouts.default = r(__dirname, 'app', 'layouts', 'default.vue') + templateVars.layouts.default = r(this.options.nuxtAppDir, 'layouts', 'default.vue') } // -- Routes -- @@ -205,7 +205,7 @@ export default class Builder extends Tapable { return { src: customFileExists ? customPath - : r(__dirname, '../app', file), // Relative to dist + : r(this.options.nuxtAppDir, file), dst: file, custom: customFileExists } diff --git a/src/core/options.js b/src/core/options.js index 42e2e5e29a..a01e346cde 100755 --- a/src/core/options.js +++ b/src/core/options.js @@ -57,6 +57,7 @@ const defaultOptions = { dev: (process.env.NODE_ENV !== 'production'), runBuild: false, buildDir: '.nuxt', + nuxtAppDir: process.env.NUXT_APP_DIR || resolve(__dirname, '../app'), // relative to dist build: { analyze: false, extractCSS: false, diff --git a/test/with-config.test.js b/test/with-config.test.js index def656d841..ae4db48b02 100644 --- a/test/with-config.test.js +++ b/test/with-config.test.js @@ -106,7 +106,6 @@ test.after('Closing server and nuxt.js', t => { }) test.after('Should be able to start Nuxt with build done', async t => { - const Nuxt = require('../') const rootDir = resolve(__dirname, 'fixtures/with-config') let config = require(resolve(rootDir, 'nuxt.config.js')) config.rootDir = rootDir From 0453308e5ec11c20f174b930c0890b4ed2e9eb1e Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Fri, 16 Jun 2017 17:53:34 +0430 Subject: [PATCH 084/236] code coverage --- package.json | 5 +++++ src/builder/builder.js | 5 ++++- src/core/renderer.js | 2 ++ test/fixtures/module/modules/empty/index.js | 5 ++++- test/fixtures/with-config/nuxt.config.js | 3 +++ 5 files changed, 18 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 53fefac7d8..a1b7a717e7 100644 --- a/package.json +++ b/package.json @@ -42,6 +42,11 @@ "bin": { "nuxt": "./bin/nuxt" }, + "nyc": { + "exclude": [ + "/index.js" + ] + }, "scripts": { "test": "npm run lint && nyc ava --verbose --serial test/", "coverage": "nyc report --reporter=text-lcov > coverage.lcov && codecov", diff --git a/src/builder/builder.js b/src/builder/builder.js index 5a65c2b9d5..c1945d3f0d 100644 --- a/src/builder/builder.js +++ b/src/builder/builder.js @@ -292,7 +292,10 @@ export default class Builder extends Tapable { return parallel(this.compiler.compilers, compiler => new Promise((resolve, reject) => { let _resolved = false const handler = (err, stats) => { - if (_resolved) return + /* istanbul ignore if */ + if (_resolved) { + return + } _resolved = true if (err) { return reject(err) diff --git a/src/core/renderer.js b/src/core/renderer.js index 6388293758..44f7e90cd2 100644 --- a/src/core/renderer.js +++ b/src/core/renderer.js @@ -235,6 +235,7 @@ export default class Renderer extends Tapable { res.end(html, 'utf8') return html } catch (err) { + /* istanbul ignore if */ if (context.redirected) { console.error(err) // eslint-disable-line no-console return err @@ -306,6 +307,7 @@ export default class Renderer extends Tapable { try { jsdom = require('jsdom') } catch (e) { + // istanbul ignore next console.error('Fail when calling nuxt.renderAndGetWindow(url)') // eslint-disable-line no-console console.error('jsdom module is not installed') // eslint-disable-line no-console console.error('Please install jsdom with: npm install --save-dev jsdom') // eslint-disable-line no-console diff --git a/test/fixtures/module/modules/empty/index.js b/test/fixtures/module/modules/empty/index.js index b994d6d28a..e9d4d060d1 100755 --- a/test/fixtures/module/modules/empty/index.js +++ b/test/fixtures/module/modules/empty/index.js @@ -1,4 +1,7 @@ - module.exports = function middlewareModule (options) { // Empty module } + +module.exports.meta = { + name: 'Empty Module!' +} diff --git a/test/fixtures/with-config/nuxt.config.js b/test/fixtures/with-config/nuxt.config.js index f9e56aa032..14a13a92b8 100644 --- a/test/fixtures/with-config/nuxt.config.js +++ b/test/fixtures/with-config/nuxt.config.js @@ -39,6 +39,9 @@ module.exports = { { src: '~/assets/app.css' } ], render: { + http2: { + push: true + }, static: { maxAge: '1y' } From 2df044664a77b5434523ed908833e66ce9cde9f0 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Fri, 16 Jun 2017 18:13:45 +0430 Subject: [PATCH 085/236] code coverage --- package.json | 2 +- src/core/renderer.js | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index a1b7a717e7..5ccb3b3678 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ }, "nyc": { "exclude": [ - "/index.js" + "index.js" ] }, "scripts": { diff --git a/src/core/renderer.js b/src/core/renderer.js index 44f7e90cd2..011ae488cc 100644 --- a/src/core/renderer.js +++ b/src/core/renderer.js @@ -235,7 +235,7 @@ export default class Renderer extends Tapable { res.end(html, 'utf8') return html } catch (err) { - /* istanbul ignore if */ + /* istanbul ignore if */ if (context.redirected) { console.error(err) // eslint-disable-line no-console return err @@ -306,8 +306,7 @@ export default class Renderer extends Tapable { if (!jsdom) { try { jsdom = require('jsdom') - } catch (e) { - // istanbul ignore next + } catch (e) /* istanbul ignore next */{ console.error('Fail when calling nuxt.renderAndGetWindow(url)') // eslint-disable-line no-console console.error('jsdom module is not installed') // eslint-disable-line no-console console.error('Please install jsdom with: npm install --save-dev jsdom') // eslint-disable-line no-console From faa8db470162bb7a9a66ae9f037b6fd821dfe84d Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Fri, 16 Jun 2017 18:30:03 +0430 Subject: [PATCH 086/236] Remove `build.loaders` option Also moves default postCSS logic into webpack config --- src/builder/builder.js | 35 ------------------------------ src/builder/webpack/base.config.js | 8 +++++++ 2 files changed, 8 insertions(+), 35 deletions(-) diff --git a/src/builder/builder.js b/src/builder/builder.js index c1945d3f0d..061d61ed0a 100644 --- a/src/builder/builder.js +++ b/src/builder/builder.js @@ -37,16 +37,6 @@ export default class Builder extends Tapable { this.webpackDevMiddleware = null this.webpackHotMiddleware = null - // Add extra loaders only if they are not already provided - let extraDefaults = {} - if (this.options.build && !Array.isArray(this.options.build.loaders)) { - extraDefaults.loaders = defaultsLoaders - } - if (this.options.build && !Array.isArray(this.options.build.postcss)) { - extraDefaults.postcss = defaultsPostcss - } - _.defaultsDeep(this.options.build, extraDefaults) - // Mute stats on dev this.webpackStats = this.options.dev ? false : { chunks: false, @@ -406,31 +396,6 @@ export default class Builder extends Tapable { } } -const defaultsLoaders = [ - { - test: /\.(png|jpe?g|gif|svg)$/, - loader: 'url-loader', - query: { - limit: 1000, // 1KO - name: 'img/[name].[hash:7].[ext]' - } - }, - { - test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, - loader: 'url-loader', - query: { - limit: 1000, // 1 KO - name: 'fonts/[name].[hash:7].[ext]' - } - } -] - -const defaultsPostcss = [ - require('autoprefixer')({ - browsers: ['last 3 versions'] - }) -] - const STATUS = { INITIAL: 1, BUILD_DONE: 2, diff --git a/src/builder/webpack/base.config.js b/src/builder/webpack/base.config.js index 8fb8dbc652..5e35c1e503 100644 --- a/src/builder/webpack/base.config.js +++ b/src/builder/webpack/base.config.js @@ -17,6 +17,14 @@ import { styleLoader, extractStyles } from './helpers' export default function webpackBaseConfig ({ isClient, isServer }) { const nodeModulesDir = join(__dirname, '..', 'node_modules') + if (!Array.isArray(this.options.build.postcss)) { + this.options.build.postcss = [ + require('autoprefixer')({ + browsers: ['last 3 versions'] + }) + ] + } + const config = { devtool: this.options.dev ? 'cheap-module-source-map' : false, entry: { From 9d1765ae916de1e39184cba71300ff45f0823cd1 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Fri, 16 Jun 2017 18:34:40 +0430 Subject: [PATCH 087/236] nuxt-start: throw error if `nuxt build` not called --- bin/nuxt-start | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/bin/nuxt-start b/bin/nuxt-start index 34c73f6a72..c1ad090ba0 100755 --- a/bin/nuxt-start +++ b/bin/nuxt-start @@ -3,7 +3,7 @@ const fs = require('fs') const parseArgs = require('minimist') const { Nuxt, Server } = require('../') -const resolve = require('path').resolve +const { join, resolve } = require('path') const argv = parseArgs(process.argv.slice(2), { alias: { @@ -55,6 +55,13 @@ if (typeof options.rootDir !== 'string') { } options.dev = false // Force production mode (no webpack middleware called) +// Check if project is built for production +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) +} + const nuxt = new Nuxt(options) const port = argv.port || process.env.PORT || process.env.npm_package_config_nuxt_port const host = argv.hostname || process.env.HOST || process.env.npm_package_config_nuxt_host From c25409ff704f1ce233e034d89aa0f0991f8e6148 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Fri, 16 Jun 2017 18:42:33 +0430 Subject: [PATCH 088/236] include only src in coverage --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 5ccb3b3678..79b52b1b5e 100644 --- a/package.json +++ b/package.json @@ -43,8 +43,8 @@ "nuxt": "./bin/nuxt" }, "nyc": { - "exclude": [ - "index.js" + "include": [ + "src/**" ] }, "scripts": { From 766009dbbaf5120e16cf8828d5e98e7bb4fff0bf Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Sun, 18 Jun 2017 12:06:00 +0430 Subject: [PATCH 089/236] Cleaner structure --- index.js | 14 ++++++------- {app => lib/app}/App.vue | 0 {app => lib/app}/client.js | 0 {app => lib/app}/components/nuxt-child.js | 0 {app => lib/app}/components/nuxt-error.vue | 0 {app => lib/app}/components/nuxt-link.js | 0 {app => lib/app}/components/nuxt-loading.vue | 0 {app => lib/app}/components/nuxt.vue | 0 {app => lib/app}/index.js | 0 {app => lib/app}/layouts/default.vue | 0 {app => lib/app}/middleware.js | 0 {app => lib/app}/router.js | 0 {app => lib/app}/server.js | 0 {app => lib/app}/store.js | 0 {app => lib/app}/utils.js | 0 {app => lib/app}/views/app.template.html | 0 {app => lib/app}/views/error.html | 0 {src => lib}/builder/builder.js | 0 {src => lib}/builder/generator.js | 0 {src => lib}/builder/index.js | 0 {src => lib}/builder/webpack/base.config.js | 0 {src => lib}/builder/webpack/client.config.js | 0 {src => lib}/builder/webpack/helpers.js | 0 {src => lib}/builder/webpack/server.config.js | 0 .../builder/webpack/vue-loader.config.js | 0 {src => lib}/common/utils.js | 0 {src => lib}/core/index.js | 0 {src => lib}/core/module.js | 0 {src => lib}/core/nuxt.js | 0 {src => lib}/core/options.js | 2 +- {src => lib}/core/renderer.js | 0 {src => lib}/core/server.js | 0 package.json | 11 +++------- build/rollup.config.js => rollup.config.js | 21 +++++++++---------- 34 files changed, 21 insertions(+), 27 deletions(-) rename {app => lib/app}/App.vue (100%) rename {app => lib/app}/client.js (100%) rename {app => lib/app}/components/nuxt-child.js (100%) rename {app => lib/app}/components/nuxt-error.vue (100%) rename {app => lib/app}/components/nuxt-link.js (100%) rename {app => lib/app}/components/nuxt-loading.vue (100%) rename {app => lib/app}/components/nuxt.vue (100%) rename {app => lib/app}/index.js (100%) rename {app => lib/app}/layouts/default.vue (100%) rename {app => lib/app}/middleware.js (100%) rename {app => lib/app}/router.js (100%) rename {app => lib/app}/server.js (100%) rename {app => lib/app}/store.js (100%) rename {app => lib/app}/utils.js (100%) rename {app => lib/app}/views/app.template.html (100%) rename {app => lib/app}/views/error.html (100%) rename {src => lib}/builder/builder.js (100%) rename {src => lib}/builder/generator.js (100%) rename {src => lib}/builder/index.js (100%) rename {src => lib}/builder/webpack/base.config.js (100%) rename {src => lib}/builder/webpack/client.config.js (100%) rename {src => lib}/builder/webpack/helpers.js (100%) rename {src => lib}/builder/webpack/server.config.js (100%) rename {src => lib}/builder/webpack/vue-loader.config.js (100%) rename {src => lib}/common/utils.js (100%) rename {src => lib}/core/index.js (100%) rename {src => lib}/core/module.js (100%) rename {src => lib}/core/nuxt.js (100%) rename {src => lib}/core/options.js (99%) rename {src => lib}/core/renderer.js (100%) rename {src => lib}/core/server.js (100%) rename build/rollup.config.js => rollup.config.js (85%) diff --git a/index.js b/index.js index b753f4c108..0aa0e8afc6 100644 --- a/index.js +++ b/index.js @@ -12,15 +12,15 @@ process.noDeprecation = true // https://github.com/evanw/node-source-map-support require('source-map-support').install(); +// Require Core const Core = require('./dist/core.js') +Object.assign(exports, Core.default || Core) + +// Require Builder +const Builder = require('./dist/builder') +Object.assign(exports, Builder.default || Builder) // Use special env flag to specify app dir without modify builder if (!process.env.NUXT_APP_DIR) { - process.env.NUXT_APP_DIR = path.resolve(__dirname, 'app') + process.env.NUXT_APP_DIR = path.resolve(__dirname, 'lib/app') } - -// Polyfill Builder into Core -const Builder = require('./dist/builder') -Object.assign(Core, Builder) - -module.exports = Core.default ? Core.default : Core diff --git a/app/App.vue b/lib/app/App.vue similarity index 100% rename from app/App.vue rename to lib/app/App.vue diff --git a/app/client.js b/lib/app/client.js similarity index 100% rename from app/client.js rename to lib/app/client.js diff --git a/app/components/nuxt-child.js b/lib/app/components/nuxt-child.js similarity index 100% rename from app/components/nuxt-child.js rename to lib/app/components/nuxt-child.js diff --git a/app/components/nuxt-error.vue b/lib/app/components/nuxt-error.vue similarity index 100% rename from app/components/nuxt-error.vue rename to lib/app/components/nuxt-error.vue diff --git a/app/components/nuxt-link.js b/lib/app/components/nuxt-link.js similarity index 100% rename from app/components/nuxt-link.js rename to lib/app/components/nuxt-link.js diff --git a/app/components/nuxt-loading.vue b/lib/app/components/nuxt-loading.vue similarity index 100% rename from app/components/nuxt-loading.vue rename to lib/app/components/nuxt-loading.vue diff --git a/app/components/nuxt.vue b/lib/app/components/nuxt.vue similarity index 100% rename from app/components/nuxt.vue rename to lib/app/components/nuxt.vue diff --git a/app/index.js b/lib/app/index.js similarity index 100% rename from app/index.js rename to lib/app/index.js diff --git a/app/layouts/default.vue b/lib/app/layouts/default.vue similarity index 100% rename from app/layouts/default.vue rename to lib/app/layouts/default.vue diff --git a/app/middleware.js b/lib/app/middleware.js similarity index 100% rename from app/middleware.js rename to lib/app/middleware.js diff --git a/app/router.js b/lib/app/router.js similarity index 100% rename from app/router.js rename to lib/app/router.js diff --git a/app/server.js b/lib/app/server.js similarity index 100% rename from app/server.js rename to lib/app/server.js diff --git a/app/store.js b/lib/app/store.js similarity index 100% rename from app/store.js rename to lib/app/store.js diff --git a/app/utils.js b/lib/app/utils.js similarity index 100% rename from app/utils.js rename to lib/app/utils.js diff --git a/app/views/app.template.html b/lib/app/views/app.template.html similarity index 100% rename from app/views/app.template.html rename to lib/app/views/app.template.html diff --git a/app/views/error.html b/lib/app/views/error.html similarity index 100% rename from app/views/error.html rename to lib/app/views/error.html diff --git a/src/builder/builder.js b/lib/builder/builder.js similarity index 100% rename from src/builder/builder.js rename to lib/builder/builder.js diff --git a/src/builder/generator.js b/lib/builder/generator.js similarity index 100% rename from src/builder/generator.js rename to lib/builder/generator.js diff --git a/src/builder/index.js b/lib/builder/index.js similarity index 100% rename from src/builder/index.js rename to lib/builder/index.js diff --git a/src/builder/webpack/base.config.js b/lib/builder/webpack/base.config.js similarity index 100% rename from src/builder/webpack/base.config.js rename to lib/builder/webpack/base.config.js diff --git a/src/builder/webpack/client.config.js b/lib/builder/webpack/client.config.js similarity index 100% rename from src/builder/webpack/client.config.js rename to lib/builder/webpack/client.config.js diff --git a/src/builder/webpack/helpers.js b/lib/builder/webpack/helpers.js similarity index 100% rename from src/builder/webpack/helpers.js rename to lib/builder/webpack/helpers.js diff --git a/src/builder/webpack/server.config.js b/lib/builder/webpack/server.config.js similarity index 100% rename from src/builder/webpack/server.config.js rename to lib/builder/webpack/server.config.js diff --git a/src/builder/webpack/vue-loader.config.js b/lib/builder/webpack/vue-loader.config.js similarity index 100% rename from src/builder/webpack/vue-loader.config.js rename to lib/builder/webpack/vue-loader.config.js diff --git a/src/common/utils.js b/lib/common/utils.js similarity index 100% rename from src/common/utils.js rename to lib/common/utils.js diff --git a/src/core/index.js b/lib/core/index.js similarity index 100% rename from src/core/index.js rename to lib/core/index.js diff --git a/src/core/module.js b/lib/core/module.js similarity index 100% rename from src/core/module.js rename to lib/core/module.js diff --git a/src/core/nuxt.js b/lib/core/nuxt.js similarity index 100% rename from src/core/nuxt.js rename to lib/core/nuxt.js diff --git a/src/core/options.js b/lib/core/options.js similarity index 99% rename from src/core/options.js rename to lib/core/options.js index a01e346cde..ae36a265e6 100755 --- a/src/core/options.js +++ b/lib/core/options.js @@ -57,7 +57,7 @@ const defaultOptions = { dev: (process.env.NODE_ENV !== 'production'), runBuild: false, buildDir: '.nuxt', - nuxtAppDir: process.env.NUXT_APP_DIR || resolve(__dirname, '../app'), // relative to dist + nuxtAppDir: process.env.NUXT_APP_DIR || resolve(__dirname, '../lib/app'), // Relative to dist build: { analyze: false, extractCSS: false, diff --git a/src/core/renderer.js b/lib/core/renderer.js similarity index 100% rename from src/core/renderer.js rename to lib/core/renderer.js diff --git a/src/core/server.js b/lib/core/server.js similarity index 100% rename from src/core/server.js rename to lib/core/server.js diff --git a/package.json b/package.json index 79b52b1b5e..0cb911de65 100644 --- a/package.json +++ b/package.json @@ -42,19 +42,14 @@ "bin": { "nuxt": "./bin/nuxt" }, - "nyc": { - "include": [ - "src/**" - ] - }, "scripts": { "test": "npm run lint && nyc ava --verbose --serial test/", "coverage": "nyc report --reporter=text-lcov > coverage.lcov && codecov", - "lint": "eslint --ext .js,.vue bin lib pages test/*.js --ignore-pattern lib/app", + "lint": "eslint --ext .js,.vue bin lib pages test/*.js --ignore-pattern app", "build": "npm run build:core && npm run build:builder", - "build:core": "rollup -c build/rollup.config.js --environment TARGET:core", + "build:core": "rollup -c rollup.config.js --environment TARGET:core", "watch": "npm run build:core -- -w", - "build:builder": "rollup -c build/rollup.config.js --environment TARGET:builder", + "build:builder": "rollup -c rollup.config.js --environment TARGET:builder", "watch:builder": "npm run build:builder -- -w", "precommit": "npm run lint", "prepublish": "npm run build", diff --git a/build/rollup.config.js b/rollup.config.js similarity index 85% rename from build/rollup.config.js rename to rollup.config.js index 75e03d0074..32aadd37c8 100755 --- a/build/rollup.config.js +++ b/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 rollupResolve = 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 @@ -19,20 +19,19 @@ const banner = ' * Released under the MIT License.\n' + ' */' - // ----------------------------- // Aliases // ----------------------------- -const rootDir = resolve(__dirname, '..') -const srcDir = resolve(rootDir, 'src') +const rootDir = resolve(__dirname) +const libDir = resolve(rootDir, 'lib') const distDir = resolve(rootDir, 'dist') const aliases = { - core: resolve(srcDir, 'core/index.js'), - builder: resolve(srcDir, 'builder/index.js'), - common: resolve(srcDir, 'common/index.js'), - utils: resolve(srcDir, 'common/utils.js'), - app: resolve(srcDir, 'app'), + core: resolve(libDir, 'core/index.js'), + builder: resolve(libDir, 'builder/index.js'), + common: resolve(libDir, 'common/index.js'), + utils: resolve(libDir, 'common/utils.js'), + app: resolve(libDir, 'app'), } // ----------------------------- @@ -40,11 +39,11 @@ const aliases = { // ----------------------------- const builds = { core: { - entry: resolve(srcDir, 'core/index.js'), + entry: resolve(libDir, 'core/index.js'), dest: resolve(distDir, 'core.js') }, builder: { - entry: resolve(srcDir, 'builder/index.js'), + entry: resolve(libDir, 'builder/index.js'), dest: resolve(distDir, 'builder.js') } } From d593d117209aa20f0474a6a2bff636a989f9bf85 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Sun, 18 Jun 2017 12:15:13 +0430 Subject: [PATCH 090/236] common index.js --- lib/common/index.js | 5 +++++ 1 file changed, 5 insertions(+) create mode 100755 lib/common/index.js diff --git a/lib/common/index.js b/lib/common/index.js new file mode 100755 index 0000000000..46498a8c10 --- /dev/null +++ b/lib/common/index.js @@ -0,0 +1,5 @@ +import * as Utils from './utils' + +export default { + Utils +} From 6146de34f87ffbf8fb8ba8b5425980bf10616646 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Sun, 18 Jun 2017 12:40:24 +0430 Subject: [PATCH 091/236] temporary for for Core.Builder --- index.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index 0aa0e8afc6..c31a643f6f 100644 --- a/index.js +++ b/index.js @@ -14,11 +14,15 @@ require('source-map-support').install(); // Require Core const Core = require('./dist/core.js') -Object.assign(exports, Core.default || Core) +// Object.assign(exports, Core.default || Core) // Require Builder const Builder = require('./dist/builder') -Object.assign(exports, Builder.default || Builder) +// Object.assign(exports, Builder.default || Builder) + +// FIXME +Object.assign(Core.default || Core, Builder.default || Builder) +module.exports = Core.default || Core // Use special env flag to specify app dir without modify builder if (!process.env.NUXT_APP_DIR) { From fa9bc9445bf7f4778768b01992f073201935ea35 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Sun, 18 Jun 2017 12:48:45 +0430 Subject: [PATCH 092/236] forbid access to server-bundle.json in production (#916) --- lib/core/renderer.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/core/renderer.js b/lib/core/renderer.js index 011ae488cc..d93365a5bc 100644 --- a/lib/core/renderer.js +++ b/lib/core/renderer.js @@ -180,6 +180,11 @@ export default class Renderer extends Tapable { if (!this.options.dev && req.url.indexOf(this.options.build.publicPath) === 0) { const url = req.url req.url = req.url.replace(this.options.build.publicPath, '/') + // Forbid access to sensitive data (#916) + if (req.url.includes('server-bundle.json')) { + res.statusCode = 404 + return res.end() + } await this.serveStaticNuxt(req, res) /* istanbul ignore next */ req.url = url @@ -306,7 +311,7 @@ export default class Renderer extends Tapable { if (!jsdom) { try { jsdom = require('jsdom') - } catch (e) /* istanbul ignore next */{ + } catch (e) /* istanbul ignore next */ { console.error('Fail when calling nuxt.renderAndGetWindow(url)') // eslint-disable-line no-console console.error('jsdom module is not installed') // eslint-disable-line no-console console.error('Please install jsdom with: npm install --save-dev jsdom') // eslint-disable-line no-console From 20f93b8b54b57d867ae9ddef70514ff72f7f0c5f Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Sun, 18 Jun 2017 14:05:00 +0430 Subject: [PATCH 093/236] migrate require to ES6 imports --- lib/builder/builder.js | 6 ++++-- lib/builder/generator.js | 3 ++- lib/builder/webpack/base.config.js | 3 ++- lib/core/module.js | 3 ++- lib/core/renderer.js | 4 +++- lib/core/server.js | 6 +++--- 6 files changed, 16 insertions(+), 9 deletions(-) diff --git a/lib/builder/builder.js b/lib/builder/builder.js index 061d61ed0a..cf9b127b71 100644 --- a/lib/builder/builder.js +++ b/lib/builder/builder.js @@ -11,10 +11,12 @@ import MFS from 'memory-fs' import webpackDevMiddleware from 'webpack-dev-middleware' import webpackHotMiddleware from 'webpack-hot-middleware' import { r, wp, createRoutes, parallel } from 'utils' +import Debug from 'debug' +import Glob from 'glob' import clientWebpackConfig from './webpack/client.config.js' import serverWebpackConfig from './webpack/server.config.js' -const debug = require('debug')('nuxt:build') +const debug = Debug('nuxt:build') debug.color = 2 // Force green color const remove = pify(fs.remove) @@ -22,7 +24,7 @@ const readFile = pify(fs.readFile) const utimes = pify(fs.utimes) const writeFile = pify(fs.writeFile) const mkdirp = pify(fs.mkdirp) -const glob = pify(require('glob')) +const glob = pify(Glob) export default class Builder extends Tapable { constructor (nuxt) { diff --git a/lib/builder/generator.js b/lib/builder/generator.js index 4095fd4b6f..e9ac779805 100644 --- a/lib/builder/generator.js +++ b/lib/builder/generator.js @@ -5,8 +5,9 @@ import { resolve, join, dirname, sep } from 'path' import { minify } from 'html-minifier' import Tapable from 'tappable' import { isUrl, promisifyRoute, waitFor, flatRoutes } from 'utils' +import Debug from 'debug' -const debug = require('debug')('nuxt:generate') +const debug = Debug('nuxt:generate') const copy = pify(fs.copy) const remove = pify(fs.remove) const writeFile = pify(fs.writeFile) diff --git a/lib/builder/webpack/base.config.js b/lib/builder/webpack/base.config.js index 5e35c1e503..ce1440d8fa 100644 --- a/lib/builder/webpack/base.config.js +++ b/lib/builder/webpack/base.config.js @@ -3,6 +3,7 @@ import { defaults, cloneDeep } from 'lodash' import { join, resolve } from 'path' import webpack from 'webpack' import { isUrl, urlJoin } from 'utils' +import autoprefixer from 'autoprefixer' import vueLoaderConfig from './vue-loader.config' import { styleLoader, extractStyles } from './helpers' @@ -19,7 +20,7 @@ export default function webpackBaseConfig ({ isClient, isServer }) { if (!Array.isArray(this.options.build.postcss)) { this.options.build.postcss = [ - require('autoprefixer')({ + autoprefixer({ browsers: ['last 3 versions'] }) ] diff --git a/lib/core/module.js b/lib/core/module.js index e25ae67cd5..fdd2746764 100755 --- a/lib/core/module.js +++ b/lib/core/module.js @@ -4,8 +4,9 @@ import { uniq } from 'lodash' import hash from 'hash-sum' import Tapable from 'tappable' import { chainFn, sequence } from 'utils' +import Debug from 'debug' -const debug = require('debug')('nuxt:module') +const debug = Debug('nuxt:module') export default class ModuleContainer extends Tapable { constructor (nuxt) { diff --git a/lib/core/renderer.js b/lib/core/renderer.js index d93365a5bc..8fa9fb0d7a 100644 --- a/lib/core/renderer.js +++ b/lib/core/renderer.js @@ -11,9 +11,11 @@ import { resolve, join } from 'path' import fs from 'fs-extra' import { createBundleRenderer } from 'vue-server-renderer' import { getContext, setAnsiColors, encodeHtml } from 'utils' +import Debug from 'debug' -const debug = require('debug')('nuxt:render') +const debug = Debug('nuxt:render') debug.color = 4 // Force blue color + setAnsiColors(ansiHTML) let jsdom = null diff --git a/lib/core/server.js b/lib/core/server.js index fb094e0f8c..dd27891aca 100644 --- a/lib/core/server.js +++ b/lib/core/server.js @@ -1,6 +1,6 @@ -const http = require('http') -const connect = require('connect') -const path = require('path') +import http from 'http' +import connect from 'connect' +import path from 'path' class Server { constructor (nuxt) { From 13fd8713590a5006738834d1f2aef1bfb14d75d8 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Sun, 18 Jun 2017 14:08:52 +0430 Subject: [PATCH 094/236] add http as external dependency --- rollup.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rollup.config.js b/rollup.config.js index 32aadd37c8..a6ace59fb0 100755 --- a/rollup.config.js +++ b/rollup.config.js @@ -55,7 +55,7 @@ function genConfig (opts) { const config = { entry: opts.entry, dest: opts.dest, - external: ['fs', 'path'].concat(dependencies, opts.external), + external: ['fs', 'path', 'http'].concat(dependencies, opts.external), format: opts.format || 'cjs', banner: opts.banner || banner, moduleName: opts.moduleName || 'Nuxt', From 7ea16f8bdeafac396a6bc14a7a6d1a63a3619f16 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Sun, 18 Jun 2017 14:12:03 +0430 Subject: [PATCH 095/236] update nyc config --- package.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/package.json b/package.json index 0cb911de65..c00ab289b9 100644 --- a/package.json +++ b/package.json @@ -42,6 +42,13 @@ "bin": { "nuxt": "./bin/nuxt" }, + "nyc": { + "exclude": [ + "index.js", + "node_mdoules/**/*.js", + "test/**/*.js" + ] + }, "scripts": { "test": "npm run lint && nyc ava --verbose --serial test/", "coverage": "nyc report --reporter=text-lcov > coverage.lcov && codecov", From 5a3aed3bc106d011d9c53d4f06084a96a0e5366e Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Sun, 18 Jun 2017 15:10:49 +0430 Subject: [PATCH 096/236] improve coverage --- rollup.config.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rollup.config.js b/rollup.config.js index a6ace59fb0..be2a550c8b 100755 --- a/rollup.config.js +++ b/rollup.config.js @@ -4,7 +4,7 @@ const rollupBabel = require('rollup-plugin-babel') const rollupAlias = require('rollup-plugin-alias') const rollupCommonJS = require('rollup-plugin-commonjs') const rollupReplace = require('rollup-plugin-replace') -const rollupResolve = require('rollup-plugin-node-resolve') +const rollupNodeResolve = require('rollup-plugin-node-resolve') const packageJson = require('./package.json') const dependencies = Object.keys(packageJson.dependencies) @@ -65,9 +65,9 @@ function genConfig (opts) { resolve: ['.js', '.json', '.jsx', '.ts'] }, aliases, opts.alias)), - rollupCommonJS(), + rollupNodeResolve({ main: true, jsnext: true }), - rollupResolve({ jsnext: true }), + rollupCommonJS(), rollupBabel(Object.assign({ exclude: 'node_modules/**', From c61f40e16d7952fc47420c5a39414551a770e579 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Sun, 18 Jun 2017 15:29:46 +0430 Subject: [PATCH 097/236] coverage --- package.json | 6 +++--- rollup.config.js | 9 ++++----- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index c00ab289b9..2617d3d8b2 100644 --- a/package.json +++ b/package.json @@ -44,9 +44,9 @@ }, "nyc": { "exclude": [ - "index.js", - "node_mdoules/**/*.js", - "test/**/*.js" + "test/**", + "node_modules/**", + "index.js" ] }, "scripts": { diff --git a/rollup.config.js b/rollup.config.js index be2a550c8b..3e53508217 100755 --- a/rollup.config.js +++ b/rollup.config.js @@ -65,13 +65,8 @@ function genConfig (opts) { resolve: ['.js', '.json', '.jsx', '.ts'] }, aliases, opts.alias)), - rollupNodeResolve({ main: true, jsnext: true }), - - rollupCommonJS(), - rollupBabel(Object.assign({ exclude: 'node_modules/**', - runtimeHelpers: true, plugins: [ ['transform-runtime', { 'helpers': false, 'polyfill': false }], 'transform-async-to-generator', @@ -82,6 +77,10 @@ function genConfig (opts) { ] }, opts.babel)), + rollupNodeResolve({ main: true, jsnext: true }), + + rollupCommonJS(), + rollupReplace({ __VERSION__: version }) From 18fd47ee613e36bc2735db24bcbbe396c682dee7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Sun, 18 Jun 2017 13:35:44 +0200 Subject: [PATCH 098/236] Remove npm check & update yarn.lock --- .travis.yml | 4 +- yarn.lock | 345 ++++++++++++++++++++++++++-------------------------- 2 files changed, 173 insertions(+), 176 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8f0c46e7fb..65e2ffbe5b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,9 +2,7 @@ language: node_js node_js: - "8.0" - "7.2" - - "6.9" -before_install: - - if [[ `npm -v` != 3* ]]; then npm i -g npm@3; fi + - "6.11" install: - yarn install - yarn run build diff --git a/yarn.lock b/yarn.lock index 9c7c9a3089..cccf2d7ee1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,7 +1,5 @@ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 - - "@ava/babel-plugin-throws-helper@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@ava/babel-plugin-throws-helper/-/babel-plugin-throws-helper-2.0.0.tgz#2fc1fe3c211a71071a4eca7b8f7af5842cd1ae7c" @@ -41,13 +39,6 @@ version "6.0.78" resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.78.tgz#5d4a3f579c1524e01ee21bf474e6fba09198f470" -JSONStream@^1.0.4: - version "1.3.1" - resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.1.tgz#707f761e01dae9e16f1bcf93703b78c70966579a" - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - abab@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.3.tgz#b81de5f7274ec4e756d797cd834f303642724e5d" @@ -145,7 +136,7 @@ ansi-escapes@^1.1.0: version "1.4.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" -ansi-html@0.0.7, ansi-html@^0.0.7: +ansi-html@^0.0.7, ansi-html@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" @@ -269,14 +260,14 @@ asn1@~0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - assert-plus@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" +assert-plus@^1.0.0, assert-plus@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + assert@^1.1.1: version "1.4.1" resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" @@ -436,7 +427,7 @@ babel-code-frame@^6.11.0, babel-code-frame@^6.16.0, babel-code-frame@^6.22.0: esutils "^2.0.2" js-tokens "^3.0.0" -babel-core@6, babel-core@^6.17.0, babel-core@^6.24.1: +babel-core@^6.17.0, babel-core@^6.24.1, babel-core@6: version "6.25.0" resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.25.0.tgz#7dd42b0463c742e9d5296deb3ec67a9322dad729" dependencies: @@ -1380,7 +1371,15 @@ center-align@^0.1.1: align-text "^0.1.3" lazy-cache "^1.0.3" -chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: +chalk@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" + dependencies: + ansi-styles "~1.0.0" + has-color "~0.1.0" + strip-ansi "~0.1.0" + +chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3, chalk@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" dependencies: @@ -1390,14 +1389,6 @@ chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" - dependencies: - ansi-styles "~1.0.0" - has-color "~0.1.0" - strip-ansi "~0.1.0" - chokidar@^1.4.2, chokidar@^1.4.3, chokidar@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" @@ -1586,7 +1577,7 @@ command-join@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/command-join/-/command-join-2.0.0.tgz#52e8b984f4872d952ff1bdc8b98397d27c7144cf" -commander@2.9.x, commander@^2.9.0, commander@~2.9.0: +commander@^2.9.0, commander@~2.9.0, commander@2.9.x: version "2.9.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" dependencies: @@ -1825,8 +1816,8 @@ conventional-commits-parser@^1.0.0, conventional-commits-parser@^1.0.1: version "1.3.0" resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-1.3.0.tgz#e327b53194e1a7ad5dc63479ee9099a52b024865" dependencies: - JSONStream "^1.0.4" is-text-path "^1.0.0" + JSONStream "^1.0.4" lodash "^4.2.1" meow "^3.3.0" split2 "^2.0.0" @@ -2073,7 +2064,7 @@ csso@~2.3.1: clap "^1.0.9" source-map "^0.5.3" -cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": +"cssom@>= 0.3.2 < 0.4.0", cssom@0.3.x: version "0.3.2" resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.2.tgz#b8036170c79f07a90ff2f16e22284027a243848b" @@ -2130,7 +2121,13 @@ debug-log@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/debug-log/-/debug-log-1.0.1.tgz#2307632d4c04382b8df8a32f70b895046d52745f" -debug@2.2.0, debug@~2.2.0: +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, debug@2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" dependencies: @@ -2142,12 +2139,6 @@ 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: - version "2.6.8" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" - dependencies: - ms "2.0.0" - 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" @@ -2215,7 +2206,7 @@ delegates@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" -depd@1.1.0, depd@~1.1.0: +depd@~1.1.0, depd@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" @@ -2256,16 +2247,16 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" -doctrine@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" +doctrine@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.0.0.tgz#c73d8d2909d22291e1a007a395804da8b665fe63" dependencies: esutils "^2.0.2" isarray "^1.0.0" -doctrine@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.0.0.tgz#c73d8d2909d22291e1a007a395804da8b665fe63" +doctrine@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" dependencies: esutils "^2.0.2" isarray "^1.0.0" @@ -2287,7 +2278,7 @@ domain-browser@^1.1.1: version "1.1.7" resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" -domelementtype@1, domelementtype@^1.3.0: +domelementtype@^1.3.0, domelementtype@1: version "1.3.0" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2" @@ -2295,31 +2286,31 @@ domelementtype@~1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" -domhandler@2.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.1.0.tgz#d2646f5e57f6c3bab11cf6cb05d3c0acf7412594" - dependencies: - domelementtype "1" - domhandler@^2.3.0: version "2.4.1" resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.1.tgz#892e47000a99be55bbf3774ffea0561d8879c259" dependencies: domelementtype "1" -domutils@1.1: - version "1.1.6" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.1.6.tgz#bddc3de099b9a2efacc51c623f28f416ecc57485" +domhandler@2.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.1.0.tgz#d2646f5e57f6c3bab11cf6cb05d3c0acf7412594" dependencies: domelementtype "1" -domutils@1.5.1, domutils@^1.5.1: +domutils@^1.5.1, domutils@1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" dependencies: dom-serializer "0" domelementtype "1" +domutils@1.1: + version "1.1.6" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.1.6.tgz#bddc3de099b9a2efacc51c623f28f416ecc57485" + dependencies: + domelementtype "1" + dot-prop@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" @@ -2332,14 +2323,14 @@ dot-prop@^4.1.0: dependencies: is-obj "^1.0.0" -duplexer3@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" - duplexer@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" +duplexer3@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" + ecc-jsbn@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" @@ -2446,7 +2437,7 @@ es6-error@^4.0.1, es6-error@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.0.2.tgz#eec5c726eacef51b7f6b73c20db6e1b13b069c98" -es6-iterator@2, es6-iterator@^2.0.1, es6-iterator@~2.0.1: +es6-iterator@^2.0.1, es6-iterator@~2.0.1, es6-iterator@2: version "2.0.1" resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.1.tgz#8e319c9f0453bf575d374940a655920e59ca5512" dependencies: @@ -2475,7 +2466,7 @@ es6-set@~0.1.5: es6-symbol "3.1.1" event-emitter "~0.3.5" -es6-symbol@3.1.1, es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1, es6-symbol@~3.1.1: +es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1, es6-symbol@~3.1.1, es6-symbol@3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" dependencies: @@ -2864,7 +2855,7 @@ fill-range@^2.1.0: repeat-element "^1.1.2" repeat-string "^1.5.2" -finalhandler@1.0.3, finalhandler@^1.0.3, finalhandler@~1.0.3: +finalhandler@^1.0.3, finalhandler@~1.0.3, finalhandler@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.0.3.tgz#ef47e77950e999780e86022a560e3217e0d0cc89" dependencies: @@ -2951,7 +2942,7 @@ forwarded@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.0.tgz#19ef9874c4ae1c297bcf078fde63a09b66a84363" -fresh@0.5.0, fresh@^0.5.0: +fresh@^0.5.0, fresh@0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.0.tgz#f474ca5e6a9246d6fd8e0953cfa9b9c805afa78e" @@ -3285,7 +3276,7 @@ hawk@~3.1.3: hoek "2.x.x" sntp "1.x.x" -he@1.1.x, he@^1.1.0: +he@^1.1.0, he@1.1.x: version "1.1.1" resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" @@ -3410,14 +3401,14 @@ hullabaloo-config-manager@^1.0.0: resolve-from "^3.0.0" safe-buffer "^5.0.1" -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.13: version "0.4.17" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.17.tgz#4fdaa3b38acbc2c031b045d0edcdfe1ecab18c8d" +iconv-lite@0.4.13: + version "0.4.13" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" + icss-replace-symbols@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" @@ -3473,7 +3464,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1: +inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@2, inherits@2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" @@ -3485,7 +3476,7 @@ ini@^1.3.2, 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, inquirer@3.0.6: version "3.0.6" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.0.6.tgz#e04aaa9d05b7a3cb9b0f407d04375f0447190347" dependencies: @@ -3738,14 +3729,14 @@ is-utf8@^0.2.0, is-utf8@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" +isarray@^1.0.0, isarray@~1.0.0, isarray@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + isarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" @@ -3807,7 +3798,7 @@ istanbul-reports@^1.1.1: dependencies: handlebars "^4.0.3" -jest-diff@19.0.0, jest-diff@^19.0.0: +jest-diff@^19.0.0, jest-diff@19.0.0: version "19.0.0" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-19.0.0.tgz#d1563cfc56c8b60232988fbc05d4d16ed90f063c" dependencies: @@ -3991,6 +3982,13 @@ jsonpointer@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" +JSONStream@^1.0.4: + version "1.3.1" + resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.1.tgz#707f761e01dae9e16f1bcf93703b78c70966579a" + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + jsprim@^1.2.2: version "1.4.0" resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918" @@ -4114,7 +4112,7 @@ loader-runner@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" -loader-utils@0.2.x, loader-utils@^0.2.15, loader-utils@^0.2.16: +loader-utils@^0.2.15, loader-utils@^0.2.16, loader-utils@0.2.x: version "0.2.17" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" dependencies: @@ -4386,14 +4384,14 @@ mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.15, mime-types@~2.1.7: dependencies: mime-db "~1.27.0" +mime@^1.3.4, mime@1.3.x: + version "1.3.6" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.6.tgz#591d84d3653a6b0b4a3b9df8de5aa8108e72e5e0" + mime@1.3.4: version "1.3.4" resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" -mime@1.3.x, mime@^1.3.4: - version "1.3.6" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.6.tgz#591d84d3653a6b0b4a3b9df8de5aa8108e72e5e0" - mimic-fn@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" @@ -4406,25 +4404,25 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" -"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: +minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, "minimatch@2 || 3": version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: brace-expansion "^1.1.7" -minimist, minimist@1.2.0, minimist@^1.1.3, minimist@^1.2.0: +minimist, minimist@^1.1.3, minimist@^1.2.0, minimist@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" -minimist@0.0.8, minimist@~0.0.1: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - minimist@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.1.0.tgz#99df657a52574c21c9057497df742790b2b4c0de" -"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: +minimist@~0.0.1, minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +mkdirp@^0.5.0, mkdirp@^0.5.1, "mkdirp@>=0.5 0", 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: @@ -4438,6 +4436,10 @@ moment@^2.6.0: version "2.18.1" resolved "https://registry.yarnpkg.com/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f" +ms@^0.7.1: + version "0.7.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.3.tgz#708155a5e44e33f5fd0fc53e81d0d40a91be1fff" + ms@0.7.1: version "0.7.1" resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" @@ -4446,10 +4448,6 @@ ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" -ms@^0.7.1: - version "0.7.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.3.tgz#708155a5e44e33f5fd0fc53e81d0d40a91be1fff" - multimatch@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" @@ -5396,26 +5394,26 @@ public-encrypt@^4.0.0: parse-asn1 "^5.0.0" randombytes "^2.0.1" -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - punycode@^1.2.4, punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + q@^1.1.2, q@^1.4.1: version "1.5.0" resolved "https://registry.yarnpkg.com/q/-/q-1.5.0.tgz#dd01bac9d06d30e6f219aecb8253ee9ebdc308f1" -qs@6.4.0, qs@~6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" - qs@~6.3.0: version "6.3.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.2.tgz#e75bd5f6e268122a2a0e0bda630b2550c166502c" +qs@~6.4.0, qs@6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" + query-string@^4.1.0: version "4.3.4" resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" @@ -5427,7 +5425,7 @@ querystring-es3@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" -querystring@0.2.0, querystring@^0.2.0: +querystring@^0.2.0, querystring@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" @@ -5493,15 +5491,6 @@ read-pkg@^2.0.0: normalize-package-data "^2.3.2" path-type "^2.0.0" -readable-stream@1.0: - version "1.0.34" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.6: version "2.2.11" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.11.tgz#0796b31f8d7688007ff0b93a8088d34aa17c0f72" @@ -5514,6 +5503,15 @@ readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable string_decoder "~1.0.0" util-deprecate "~1.0.1" +readable-stream@1.0: + version "1.0.34" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + readdirp@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" @@ -5658,31 +5656,6 @@ request-promise-native@^1.0.3, request-promise-native@^1.0.4: stealthy-require "^1.1.0" tough-cookie ">=2.3.0" -request@2.79.0: - version "2.79.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" - dependencies: - aws-sign2 "~0.6.0" - aws4 "^1.2.1" - caseless "~0.11.0" - combined-stream "~1.0.5" - extend "~3.0.0" - forever-agent "~0.6.1" - form-data "~2.1.1" - har-validator "~2.0.6" - hawk "~3.1.3" - http-signature "~1.1.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.7" - oauth-sign "~0.8.1" - qs "~6.3.0" - stringstream "~0.0.4" - tough-cookie "~2.3.0" - tunnel-agent "~0.4.1" - uuid "^3.0.0" - request@^2.79.0, request@^2.81.0: version "2.81.0" resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" @@ -5710,6 +5683,31 @@ request@^2.79.0, request@^2.81.0: tunnel-agent "^0.6.0" uuid "^3.0.0" +request@2.79.0: + version "2.79.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + caseless "~0.11.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~2.1.1" + har-validator "~2.0.6" + hawk "~3.1.3" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + oauth-sign "~0.8.1" + qs "~6.3.0" + stringstream "~0.0.4" + tough-cookie "~2.3.0" + tunnel-agent "~0.4.1" + uuid "^3.0.0" + require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -5726,7 +5724,7 @@ require-precompiled@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/require-precompiled/-/require-precompiled-0.1.0.tgz#5a1b52eb70ebed43eb982e974c85ab59571e56fa" -require-relative@0.8.7, require-relative@^0.8.7: +require-relative@^0.8.7, require-relative@0.8.7: version "0.8.7" resolved "https://registry.yarnpkg.com/require-relative/-/require-relative-0.8.7.tgz#7999539fc9e047a37928fa196f8e1563dabd36de" @@ -5755,16 +5753,16 @@ resolve-from@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" -resolve@1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" - resolve@^1.1.6, resolve@^1.1.7, resolve@^1.2.0, resolve@^1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.3.tgz#655907c3469a8680dc2de3a275a8fdd69691f0e5" dependencies: path-parse "^1.0.5" +resolve@1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + restore-cursor@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" @@ -5778,7 +5776,7 @@ right-align@^0.1.1: dependencies: align-text "^0.1.1" -rimraf@2, rimraf@^2.2.8, rimraf@^2.3.3, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.1: +rimraf@^2.2.8, rimraf@^2.3.3, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@2: version "2.6.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" dependencies: @@ -5900,7 +5898,7 @@ semver-diff@^2.0.0: dependencies: semver "^5.0.3" -"semver@2 || 3 || 4 || 5", semver@5.3.0, semver@^5.0.1, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0: +semver@^5.0.1, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, "semver@2 || 3 || 4 || 5", semver@5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" @@ -5926,7 +5924,7 @@ serialize-javascript@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.3.0.tgz#86a4f3752f5c7e47295449b0bbb63d64ba533f05" -serve-static@1.12.3, serve-static@^1.12.3: +serve-static@^1.12.3, serve-static@1.12.3: version "1.12.3" resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.12.3.tgz#9f4ba19e2f3030c547f8af99107838ec38d5b1e2" dependencies: @@ -6013,16 +6011,16 @@ source-map-support@^0.4.0, source-map-support@^0.4.15, source-map-support@^0.4.2 dependencies: source-map "^0.5.6" -source-map@0.5.6, source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3: - version "0.5.6" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" - source-map@^0.4.4: version "0.4.4" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" dependencies: amdefine ">=0.0.4" +source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3, source-map@0.5.6, source-map@0.5.x: + version "0.5.6" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" + source-map@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" @@ -6054,18 +6052,18 @@ spdx-license-ids@^1.0.2: version "1.2.2" resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" -split2@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/split2/-/split2-2.1.1.tgz#7a1f551e176a90ecd3345f7246a0cfe175ef4fd0" - dependencies: - through2 "^2.0.2" - split@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/split/-/split-1.0.0.tgz#c4395ce683abcd254bc28fe1dabb6e5c27dcffae" dependencies: through "2" +split2@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/split2/-/split2-2.1.1.tgz#7a1f551e176a90ecd3345f7246a0cfe175ef4fd0" + dependencies: + through2 "^2.0.2" + sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" @@ -6127,6 +6125,16 @@ strict-uri-encode@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" +string_decoder@^0.10.25, string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + +string_decoder@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.2.tgz#b29e1f4e1125fa97a10382b8a533737b7491e179" + dependencies: + safe-buffer "~5.0.1" + string-length@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/string-length/-/string-length-1.0.1.tgz#56970fb1c38558e9e70b728bf3de269ac45adfac" @@ -6148,16 +6156,6 @@ string-width@^2.0.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^3.0.0" -string_decoder@^0.10.25, string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - -string_decoder@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.2.tgz#b29e1f4e1125fa97a10382b8a533737b7491e179" - dependencies: - safe-buffer "~5.0.1" - stringstream@~0.0.4: version "0.0.5" resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" @@ -6335,6 +6333,10 @@ text-table@^0.2.0, text-table@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" +through@^2.3.4, through@^2.3.6, "through@>=2.2.7 <3", through@2: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + through2@^2.0.0, through2@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" @@ -6342,10 +6344,6 @@ through2@^2.0.0, through2@^2.0.2: readable-stream "^2.1.5" xtend "~4.0.1" -through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - time-require@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/time-require/-/time-require-0.1.2.tgz#f9e12cb370fc2605e11404582ba54ef5ca2b2d98" @@ -6383,7 +6381,7 @@ toposort@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.3.tgz#f02cd8a74bd8be2fc0e98611c3bacb95a171869c" -tough-cookie@>=2.3.0, tough-cookie@^2.3.2, tough-cookie@~2.3.0: +tough-cookie@^2.3.2, tough-cookie@>=2.3.0, tough-cookie@~2.3.0: version "2.3.2" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" dependencies: @@ -6444,13 +6442,6 @@ typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" -uglify-js@3.0.x, uglify-js@^3.0.17: - version "3.0.17" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.0.17.tgz#d228cd55c2df9b3d2f53f147568cb4cc4a72cc06" - dependencies: - commander "~2.9.0" - source-map "~0.5.1" - uglify-js@^2.6, uglify-js@^2.8.27: version "2.8.28" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.28.tgz#e335032df9bb20dcb918f164589d5af47f38834a" @@ -6460,6 +6451,13 @@ uglify-js@^2.6, uglify-js@^2.8.27: optionalDependencies: uglify-to-browserify "~1.0.0" +uglify-js@^3.0.17, uglify-js@3.0.x: + version "3.0.17" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.0.17.tgz#d228cd55c2df9b3d2f53f147568cb4cc4a72cc06" + dependencies: + commander "~2.9.0" + source-map "~0.5.1" + uglify-to-browserify@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" @@ -6561,7 +6559,7 @@ util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" -util@0.10.3, util@^0.10.3: +util@^0.10.3, util@0.10.3: version "0.10.3" resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" dependencies: @@ -6838,7 +6836,7 @@ 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, wordwrap@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" @@ -6997,3 +6995,4 @@ yargs@~3.10.0: cliui "^2.1.0" decamelize "^1.0.0" window-size "0.1.0" + From fb9b2b5e63fdbd007fd34014cb5f40b1eafffe27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Sun, 18 Jun 2017 13:36:03 +0200 Subject: [PATCH 099/236] Lint --- bin/nuxt-dev | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/nuxt-dev b/bin/nuxt-dev index f42e911ba0..229a523355 100755 --- a/bin/nuxt-dev +++ b/bin/nuxt-dev @@ -8,7 +8,7 @@ const debug = require('debug')('nuxt:build') debug.color = 2 // force green color const fs = require('fs') const parseArgs = require('minimist') -const { Nuxt,Server } = require('../') +const { Nuxt, Server } = require('../') const chokidar = require('chokidar') const resolve = require('path').resolve const without = require('lodash').without @@ -76,7 +76,7 @@ function listenOnConfigChanges (nuxt, server) { const build = _.debounce(() => { debug('[nuxt.config.js] changed') delete require.cache[nuxtConfigFile] - const options = {} + let options = {} if (fs.existsSync(nuxtConfigFile)) { try { options = require(nuxtConfigFile) From 1ff37506a79bec9b5b42bb6367b115182aa1a202 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Sun, 18 Jun 2017 16:20:43 +0430 Subject: [PATCH 100/236] simplify webpackBuild() --- lib/builder/builder.js | 38 ++++++++++++++++---------------------- 1 file changed, 16 insertions(+), 22 deletions(-) diff --git a/lib/builder/builder.js b/lib/builder/builder.js index cf9b127b71..50ced73699 100644 --- a/lib/builder/builder.js +++ b/lib/builder/builder.js @@ -282,36 +282,30 @@ export default class Builder extends Tapable { // Start Builds return parallel(this.compiler.compilers, compiler => new Promise((resolve, reject) => { - let _resolved = false - const handler = (err, stats) => { - /* istanbul ignore if */ - if (_resolved) { - return - } - _resolved = true - if (err) { - return reject(err) - } - if (!this.options.dev) { - // Show build stats for production - console.log(stats.toString(this.webpackStats)) // eslint-disable-line no-console - if (stats.hasErrors()) { - return reject(new Error('Webpack build exited with errors')) - } - } - resolve() - } if (this.options.dev) { + // --- Dev Build --- if (compiler.options.name === 'client') { // Client watch is started by dev-middleware resolve() } else { // Build and watch for changes - compiler.watch(this.options.watchers.webpack, handler) + compiler.watch(this.options.watchers.webpack, (err) => { + if (err) { + return reject(err) + } + resolve() + }) } } else { - // Production build - compiler.run(handler) + // --- Production build --- + compiler.run((err, stats) => { + // Show build stats for production + console.log(stats.toString(this.webpackStats)) // eslint-disable-line no-console + if (stats.hasErrors()) { + return reject(new Error('Webpack build exited with errors')) + } + resolve() + }) } })) } From 582e8179f45275f2e7077f7d594b9e85b2ef2aa6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Sun, 18 Jun 2017 15:48:25 +0200 Subject: [PATCH 101/236] remove NUXT_APP_DIR env --- index.js | 19 +++++-------------- lib/core/options.js | 2 +- 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/index.js b/index.js index c31a643f6f..a3e2b704ee 100644 --- a/index.js +++ b/index.js @@ -1,30 +1,21 @@ /*! * Nuxt.js * (c) 2016-2017 Chopin Brothers + * Core maintainer: Pooya (@pi0) * Released under the MIT License. */ -const path = require('path') - -process.noDeprecation = true - // Node Source Map Support // https://github.com/evanw/node-source-map-support require('source-map-support').install(); +// Fix babel flag +process.noDeprecation = true + // Require Core const Core = require('./dist/core.js') -// Object.assign(exports, Core.default || Core) // Require Builder const Builder = require('./dist/builder') -// Object.assign(exports, Builder.default || Builder) -// FIXME -Object.assign(Core.default || Core, Builder.default || Builder) -module.exports = Core.default || Core - -// Use special env flag to specify app dir without modify builder -if (!process.env.NUXT_APP_DIR) { - process.env.NUXT_APP_DIR = path.resolve(__dirname, 'lib/app') -} +module.exports = Object.assign(Core, Builder) diff --git a/lib/core/options.js b/lib/core/options.js index ae36a265e6..c4e735968e 100755 --- a/lib/core/options.js +++ b/lib/core/options.js @@ -57,7 +57,7 @@ const defaultOptions = { dev: (process.env.NODE_ENV !== 'production'), runBuild: false, buildDir: '.nuxt', - nuxtAppDir: process.env.NUXT_APP_DIR || resolve(__dirname, '../lib/app'), // Relative to dist + nuxtAppDir: resolve(__dirname, '../lib/app/'), // Relative to dist build: { analyze: false, extractCSS: false, From 69e645037746ef416d49594521820d12318f2e0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Sun, 18 Jun 2017 15:49:04 +0200 Subject: [PATCH 102/236] Fix issue #908 and #916 --- lib/core/renderer.js | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/lib/core/renderer.js b/lib/core/renderer.js index 8fa9fb0d7a..f9d7114910 100644 --- a/lib/core/renderer.js +++ b/lib/core/renderer.js @@ -62,12 +62,12 @@ export default class Renderer extends Tapable { // For serving static/ files to / this.serveStatic = pify(serveStatic(resolve(this.options.srcDir, 'static'), this.options.render.static)) - // For serving .nuxt/dist/ files (only when build.publicPath is not an URL) + // For serving .nuxt/dist/ files this.serveStaticNuxt = pify(serveStatic(resolve(this.options.buildDir, 'dist'), { maxAge: (this.options.dev ? 0 : '1y') // 1 year in production })) - // gzip middleware for production + // GZIP middleware for production if (!this.options.dev && this.options.render.gzip) { this.gzipMiddleware = pify(compression(this.options.render.gzip)) } @@ -179,13 +179,11 @@ export default class Renderer extends Tapable { await this.serveStatic(req, res) // Serve .nuxt/dist/ files (only for production) - if (!this.options.dev && req.url.indexOf(this.options.build.publicPath) === 0) { + const isValidExtension = (req.url.slice(-3) === '.js') || (req.url.slice(-4) === '.css') || (req.url.slice(-4) === '.map') + if (!this.options.dev && isValidExtension) { const url = req.url - req.url = req.url.replace(this.options.build.publicPath, '/') - // Forbid access to sensitive data (#916) - if (req.url.includes('server-bundle.json')) { - res.statusCode = 404 - return res.end() + if (req.url.indexOf(this.options.build.publicPath) === 0) { + req.url = req.url.replace(this.options.build.publicPath, '/') } await this.serveStaticNuxt(req, res) /* istanbul ignore next */ From 5521925668a7a78c9d060aacf927ba2256d9bbb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Sun, 18 Jun 2017 17:41:49 +0200 Subject: [PATCH 103/236] Handle error --- lib/builder/builder.js | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/builder/builder.js b/lib/builder/builder.js index 50ced73699..a86fd46568 100644 --- a/lib/builder/builder.js +++ b/lib/builder/builder.js @@ -299,6 +299,7 @@ export default class Builder extends Tapable { } else { // --- Production build --- compiler.run((err, stats) => { + if (err) return console.error(err) // eslint-disable-line no-console // Show build stats for production console.log(stats.toString(this.webpackStats)) // eslint-disable-line no-console if (stats.hasErrors()) { From 59d7e786aa4028ee6ded9fd120dca017621a76a2 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Sun, 18 Jun 2017 20:14:01 +0430 Subject: [PATCH 104/236] Fully decouple builder runBuild flag removed --- bin/nuxt-build | 10 ++--- bin/nuxt-dev | 23 ++++++++---- bin/nuxt-generate | 9 +++-- index.js | 7 ++++ lib/builder/builder.js | 80 ++++++++++++++++++++++------------------ lib/builder/generator.js | 18 +++++---- lib/core/nuxt.js | 53 -------------------------- lib/core/options.js | 6 --- lib/core/renderer.js | 19 ++++++---- lib/core/server.js | 7 +++- 10 files changed, 104 insertions(+), 128 deletions(-) diff --git a/bin/nuxt-build b/bin/nuxt-build index 5d70258cef..0141ed65fc 100755 --- a/bin/nuxt-build +++ b/bin/nuxt-build @@ -5,8 +5,7 @@ process.env.DEBUG = 'nuxt:*' const fs = require('fs') const parseArgs = require('minimist') -const without = require('lodash').without -const { Nuxt } = require('../') +const { Nuxt, Builder } = require('../') const resolve = require('path').resolve const debug = require('debug')('nuxt:build') debug.color = 2 // Force green color @@ -53,7 +52,6 @@ if (typeof options.rootDir !== 'string') { } // Create production build when calling `nuxt build` options.dev = false -options.runBuild = true // Force doing production build before init // Analyze option options.build = options.build || {} @@ -62,8 +60,10 @@ if (argv.analyze) { } debug('Building...') -const nuxt = module.exports = new Nuxt(options) -nuxt.ready() +const nuxt = new Nuxt(options) +const builder = new Builder(nuxt) + +builder.build() .then(() => { debug('Building done') }) diff --git a/bin/nuxt-dev b/bin/nuxt-dev index 229a523355..b26fcbe623 100755 --- a/bin/nuxt-dev +++ b/bin/nuxt-dev @@ -8,10 +8,9 @@ const debug = require('debug')('nuxt:build') debug.color = 2 // force green color const fs = require('fs') const parseArgs = require('minimist') -const { Nuxt, Server } = require('../') +const { Nuxt, Server, Builder } = require('../') const chokidar = require('chokidar') const resolve = require('path').resolve -const without = require('lodash').without const argv = parseArgs(process.argv.slice(2), { alias: { @@ -65,18 +64,23 @@ if (typeof options.rootDir !== 'string') { options.dev = true const nuxt = new Nuxt(options) +const builder = new Builder(nuxt) + const port = argv.port || process.env.PORT || process.env.npm_package_config_nuxt_port const host = argv.hostname || process.env.HOST || process.env.npm_package_config_nuxt_host -const server = new Server(nuxt).listen(port, host) +const server = new Server(nuxt) +server.listen(port, host) -listenOnConfigChanges(nuxt, server) +builder.build().then(() => { + listenOnConfigChanges(nuxt, server) +}) function listenOnConfigChanges (nuxt, server) { // Listen on nuxt.config.js changes const build = _.debounce(() => { debug('[nuxt.config.js] changed') delete require.cache[nuxtConfigFile] - let options = {} + var options = {} if (fs.existsSync(nuxtConfigFile)) { try { options = require(nuxtConfigFile) @@ -84,13 +88,18 @@ function listenOnConfigChanges (nuxt, server) { return console.error(e) // eslint-disable-line no-console } } - options.rootDir = rootDir + + if (typeof options.rootDir !== 'string') { + options.rootDir = rootDir + } + nuxt.close() .then(() => { debug('Rebuilding the app...') const nuxt = new Nuxt(options) + const builder = new Builder(nuxt) server.nuxt = nuxt - return nuxt.ready() + return builder.build() }) .catch((error) => { console.error('Error while rebuild the app:', error) // eslint-disable-line no-console diff --git a/bin/nuxt-generate b/bin/nuxt-generate index ad7d4da2e0..fd97bc4fde 100755 --- a/bin/nuxt-generate +++ b/bin/nuxt-generate @@ -7,7 +7,7 @@ const fs = require('fs') const parseArgs = require('minimist') const debug = require('debug')('nuxt:generate') -const { Nuxt } = require('../') +const { Nuxt, Builder, Generator } = require('../') const resolve = require('path').resolve const argv = parseArgs(process.argv.slice(2), { @@ -49,11 +49,12 @@ if (typeof options.rootDir !== 'string') { options.rootDir = rootDir } options.dev = false // Force production mode (no webpack middleware called) -options.runBuild = true // Force doing production build before init debug('Generating...') -const nuxt = module.exports = new Nuxt(options) -nuxt.generate() +const nuxt = new Nuxt(options) +const builder = new Builder(nuxt) +const generator = new Generator(nuxt, builder) +generator.generate() .then(() => { debug('Generate done') process.exit(0) diff --git a/index.js b/index.js index a3e2b704ee..4f1b490c42 100644 --- a/index.js +++ b/index.js @@ -14,8 +14,15 @@ process.noDeprecation = true // Require Core const Core = require('./dist/core.js') +Object.assign(exports, Core.default || Core) // Require Builder const Builder = require('./dist/builder') +Object.assign(exports, Builder.default || Builder) + +// Use special env flag to specify app dir without modify builder +if (!process.env.NUXT_APP_DIR) { + process.env.NUXT_APP_DIR = path.resolve(__dirname, 'lib/app') +} module.exports = Object.assign(Core, Builder) diff --git a/lib/builder/builder.js b/lib/builder/builder.js index a86fd46568..21a55ae45c 100644 --- a/lib/builder/builder.js +++ b/lib/builder/builder.js @@ -1,6 +1,6 @@ import _ from 'lodash' import chokidar from 'chokidar' -import fs from 'fs-extra' +import fs, { remove, readFile, writeFile, mkdirp, utimes } from 'fs-extra' import hash from 'hash-sum' import pify from 'pify' import webpack from 'webpack' @@ -19,11 +19,6 @@ import serverWebpackConfig from './webpack/server.config.js' const debug = Debug('nuxt:build') debug.color = 2 // Force green color -const remove = pify(fs.remove) -const readFile = pify(fs.readFile) -const utimes = pify(fs.utimes) -const writeFile = pify(fs.writeFile) -const mkdirp = pify(fs.mkdirp) const glob = pify(Glob) export default class Builder extends Tapable { @@ -32,8 +27,6 @@ export default class Builder extends Tapable { this.nuxt = nuxt this.options = nuxt.options - this._buildStatus = STATUS.INITIAL - // Fields that set on build this.compiler = null this.webpackDevMiddleware = null @@ -46,11 +39,13 @@ export default class Builder extends Tapable { modules: false, colors: true } + + this._buildStatus = STATUS.INITIAL } async build () { - // Avoid calling this method multiple times - if (this._buildStatus === STATUS.BUILD_DONE) { + // Avoid calling build() method multiple times when dev:true + if (this._buildStatus === STATUS.BUILD_DONE && this.options.dev) { return this } // If building @@ -63,6 +58,9 @@ export default class Builder extends Tapable { } this._buildStatus = STATUS.BUILDING + // Wait for nuxt ready + await this.nuxt.ready() + // Check if pages dir exists and warn if not this._nuxtPages = typeof this.options.build.createRoutes !== 'function' if (this._nuxtPages) { @@ -258,16 +256,27 @@ export default class Builder extends Tapable { // Simulate webpack multi compiler interface // Separate compilers are simpler, safer and faster - this.compiler = { cache: {}, compilers: [] } - compilersOptions.forEach(compilersOption => { - this.compiler.compilers.push(webpack(compilersOption)) - }) + this.compiler = { compilers: [] } this.compiler.plugin = (...args) => { this.compiler.compilers.forEach(compiler => { compiler.plugin(...args) }) } + // Initialize shared FS and Cache + const sharedFS = this.options.dev && new MFS() + const sharedCache = {} + + // Initialize compilers + compilersOptions.forEach(compilersOption => { + const compiler = webpack(compilersOption) + if (sharedFS) { + compiler.outputFileSystem = sharedFS + } + compiler.cache = sharedCache + this.compiler.compilers.push(compiler) + }) + // Access to compilers with name this.compiler.compilers.forEach(compiler => { if (compiler.name) { @@ -275,6 +284,18 @@ export default class Builder extends Tapable { } }) + // Run after each compile + this.compiler.plugin('done', stats => { + // Don't reload failed builds + if (stats.hasErrors() || stats.hasWarnings()) { + return + } + // Reload renderer if available + if (this.nuxt.renderer) { + this.nuxt.renderer.loadResources(sharedFS || fs) + } + }) + // Add dev Stuff if (this.options.dev) { this.webpackDev() @@ -297,8 +318,11 @@ export default class Builder extends Tapable { }) } } else { - // --- Production build --- + // --- Production Build --- compiler.run((err, stats) => { + if (err) { + return reject(err) + } if (err) return console.error(err) // eslint-disable-line no-console // Show build stats for production console.log(stats.toString(this.webpackStats)) // eslint-disable-line no-console @@ -312,26 +336,6 @@ export default class Builder extends Tapable { } webpackDev () { - // Use shared MFS + Cache for faster builds - let mfs = new MFS() - this.compiler.compilers.forEach(compiler => { - compiler.outputFileSystem = mfs - compiler.cache = this.compiler.cache - }) - - // Run after each compile - this.compiler.plugin('done', stats => { - // Don't reload failed builds - if (stats.hasErrors() || stats.hasWarnings()) { - return - } - // Reload renderer if available - if (this.nuxt.renderer) { - this.nuxt.renderer.loadResources(mfs) - } - }) - - // Add dev Middleware debug('Adding webpack middleware...') // Create webpack dev middleware @@ -348,6 +352,12 @@ export default class Builder extends Tapable { heartbeat: 2500 })) + // Inject to renderer instance + if (this.nuxt.renderer) { + this.nuxt.renderer.webpackDevMiddleware = this.webpackDevMiddleware + this.nuxt.renderer.webpackHotMiddleware = this.webpackHotMiddleware + } + // Stop webpack middleware on nuxt.close() this.nuxt.plugin('close', () => new Promise(resolve => { this.webpackDevMiddleware.close(() => resolve()) diff --git a/lib/builder/generator.js b/lib/builder/generator.js index e9ac779805..2589134043 100644 --- a/lib/builder/generator.js +++ b/lib/builder/generator.js @@ -1,5 +1,5 @@ -import fs from 'fs-extra' -import pify from 'pify' +import fs from 'fs' +import { copy, remove, writeFile, mkdirp } from 'fs-extra' import _ from 'lodash' import { resolve, join, dirname, sep } from 'path' import { minify } from 'html-minifier' @@ -8,19 +8,16 @@ import { isUrl, promisifyRoute, waitFor, flatRoutes } from 'utils' import Debug from 'debug' const debug = Debug('nuxt:generate') -const copy = pify(fs.copy) -const remove = pify(fs.remove) -const writeFile = pify(fs.writeFile) -const mkdirp = pify(fs.mkdirp) export default class Generator extends Tapable { - constructor (nuxt) { + constructor (nuxt, builder) { super() this.nuxt = nuxt this.options = nuxt.options + this.builder = builder } - async generate () { + async generate (doBuild = true) { const s = Date.now() let errors = [] let generateRoutes = [] @@ -34,6 +31,11 @@ export default class Generator extends Tapable { // Wait for nuxt be ready await this.nuxt.ready() + // Start build process + if (this.builder && doBuild) { + await this.builder.build() + } + // Clean destination folder await remove(distPath) debug('Destination folder cleaned') diff --git a/lib/core/nuxt.js b/lib/core/nuxt.js index b07016894c..a6f9ffd510 100644 --- a/lib/core/nuxt.js +++ b/lib/core/nuxt.js @@ -1,12 +1,7 @@ import Tapable from 'tappable' -import chalk from 'chalk' import ModuleContainer from './module' import Renderer from './renderer' import Options from './options' -import Core from './index' - -const defaultHost = process.env.HOST || process.env.npm_package_config_nuxt_host || 'localhost' -const defaultPort = process.env.PORT || process.env.npm_package_config_nuxt_port || '3000' export default class Nuxt extends Tapable { constructor (_options = {}) { @@ -26,18 +21,6 @@ export default class Nuxt extends Tapable { this.renderRoute = this.renderer.renderRoute.bind(this.renderer) this.renderAndGetWindow = this.renderer.renderAndGetWindow.bind(this.renderer) - // Builder is lazy loaded, so register plugin here - this.plugin('init', async () => { - // Call to build on dev - if (this.options.dev) { - this.builder.build().catch(this.errorHandler) - } - // If explicitly runBuild required - if (this.options.runBuild) { - await this.builder.build() - } - }) - this._ready = this.ready() } @@ -55,26 +38,6 @@ export default class Nuxt extends Tapable { return this } - get builder () { - if (this._builder) { - return this._builder - } - this._builder = new Core.Builder(this) - return this._builder - } - - get generator () { - if (this._generator) { - return this._generator - } - this._generator = new Core.Generator(this) - return this._generator - } - - generate () { - return this.generator.generate.apply(this.generator, arguments) - } - errorHandler () { // Silent if (this.options.errorHandler === false) { @@ -90,26 +53,10 @@ export default class Nuxt extends Tapable { process.exit(1) } - // Both Renderer & Server depend on this method - serverReady ({ host = defaultHost, port = defaultPort } = {}) { - let _host = host === '0.0.0.0' ? 'localhost' : host - - // eslint-disable-next-line no-console - console.log('\n' + chalk.bold(chalk.bgBlue.black(' OPEN ') + chalk.blue(` http://${_host}:${port}\n`))) - - return this.applyPluginsAsync('serverReady').catch(this.errorHandler) - } - async close (callback) { // Call for close await this.applyPluginsAsync('close') - // Remove all references - delete this._generator - delete this._builder - - this.initialized = false - if (typeof callback === 'function') { await callback() } diff --git a/lib/core/options.js b/lib/core/options.js index c4e735968e..498ec8c30d 100755 --- a/lib/core/options.js +++ b/lib/core/options.js @@ -45,17 +45,11 @@ export default function Options (_options) { options.store = true } - // runBuild can not be enabled for dev === true - if (options.dev === true) { - options.runBuild = false - } - return options } const defaultOptions = { dev: (process.env.NODE_ENV !== 'production'), - runBuild: false, buildDir: '.nuxt', nuxtAppDir: resolve(__dirname, '../lib/app/'), // Relative to dist build: { diff --git a/lib/core/renderer.js b/lib/core/renderer.js index f9d7114910..b688b25b99 100644 --- a/lib/core/renderer.js +++ b/lib/core/renderer.js @@ -33,12 +33,16 @@ export default class Renderer extends Tapable { // Will be set by createRenderer this.bundleRenderer = null + // Will be available on dev + this.webpackDevMiddleware = null + this.webpackHotMiddleware = null + // Renderer runtime resources this.resources = { clientManifest: null, serverBundle: null, appTemplate: null, - errorTemplate: '
{{ stack }}
' // Will be loaded on ready + errorTemplate: parseTemplate('
{{ stack }}
') // Will be loaded on ready } // Initialize @@ -146,10 +150,6 @@ export default class Renderer extends Tapable { // Promisify renderToString this.bundleRenderer.renderToString = pify(this.bundleRenderer.renderToString) - - if (!this.options.runBuild) { - this.nuxt.serverReady() - } } async render (req, res) { @@ -170,9 +170,12 @@ export default class Renderer extends Tapable { } // Call webpack middleware only in development - if (this.options.dev && this.nuxt.builder && this.nuxt.builder.webpackDevMiddleware) { - await this.nuxt.builder.webpackDevMiddleware(req, res) - await this.nuxt.builder.webpackHotMiddleware(req, res) + if (this.webpackDevMiddleware) { + await this.webpackDevMiddleware(req, res) + } + + if (this.webpackHotMiddleware) { + await this.webpackHotMiddleware(req, res) } // Serve static/ files diff --git a/lib/core/server.js b/lib/core/server.js index dd27891aca..619f4c879f 100644 --- a/lib/core/server.js +++ b/lib/core/server.js @@ -1,6 +1,7 @@ import http from 'http' import connect from 'connect' import path from 'path' +import chalk from 'chalk' class Server { constructor (nuxt) { @@ -32,6 +33,7 @@ class Server { this.options.serverMiddleware.forEach(m => { this.useMiddleware(m) }) + // Add default render middleware this.useMiddleware(this.render.bind(this)) @@ -66,8 +68,9 @@ class Server { this.nuxt.ready() .then(() => { this.server.listen(port, host, () => { - // Renderer calls showURL when server is really ready - // this.nuxt.showURL(host, port) + let _host = host === '0.0.0.0' ? 'localhost' : host + // eslint-disable-next-line no-console + console.log('\n' + chalk.bold(chalk.bgBlue.black(' OPEN ') + chalk.blue(` http://${_host}:${port}\n`))) }) }) .catch(this.nuxt.errorHandler) From 0e5911269a832f489a62cc0d2625b5242899a865 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Sun, 18 Jun 2017 20:18:47 +0430 Subject: [PATCH 105/236] remove NUXT_APP_DIR --- index.js | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/index.js b/index.js index 4f1b490c42..a075fed972 100644 --- a/index.js +++ b/index.js @@ -17,12 +17,8 @@ const Core = require('./dist/core.js') Object.assign(exports, Core.default || Core) // Require Builder -const Builder = require('./dist/builder') +// TODO: conditionally do this when builder available +const Builder = require('./dist/builder.js') Object.assign(exports, Builder.default || Builder) -// Use special env flag to specify app dir without modify builder -if (!process.env.NUXT_APP_DIR) { - process.env.NUXT_APP_DIR = path.resolve(__dirname, 'lib/app') -} - module.exports = Object.assign(Core, Builder) From 51e603308a851b3dfc1e74d27e103b3bb0b77b56 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Sun, 18 Jun 2017 20:22:12 +0430 Subject: [PATCH 106/236] fix index.js --- index.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/index.js b/index.js index a075fed972..bfdd8a376b 100644 --- a/index.js +++ b/index.js @@ -20,5 +20,3 @@ Object.assign(exports, Core.default || Core) // TODO: conditionally do this when builder available const Builder = require('./dist/builder.js') Object.assign(exports, Builder.default || Builder) - -module.exports = Object.assign(Core, Builder) From 840a6cfe00e7b7a169fca45656fc5423f2ed67d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Sun, 18 Jun 2017 19:32:59 +0200 Subject: [PATCH 107/236] Fix small typos --- bin/nuxt-start | 2 +- index.js | 4 ++-- lib/core/server.js | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/bin/nuxt-start b/bin/nuxt-start index c1ad090ba0..97f5818f94 100755 --- a/bin/nuxt-start +++ b/bin/nuxt-start @@ -57,7 +57,7 @@ options.dev = false // Force production mode (no webpack middleware called) // Check if project is built for production const distDir = join(options.rootDir, options.buildDir || '.nuxt', 'dist' ) -if (!fs.existsSync(join(distDir,'server-bundle.json'))) { +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) } diff --git a/index.js b/index.js index bfdd8a376b..7fddc57184 100644 --- a/index.js +++ b/index.js @@ -14,9 +14,9 @@ process.noDeprecation = true // Require Core const Core = require('./dist/core.js') -Object.assign(exports, Core.default || Core) +Object.assign(exports, Core) // Require Builder // TODO: conditionally do this when builder available const Builder = require('./dist/builder.js') -Object.assign(exports, Builder.default || Builder) +Object.assign(exports, Builder) diff --git a/lib/core/server.js b/lib/core/server.js index 619f4c879f..e5f00f7eec 100644 --- a/lib/core/server.js +++ b/lib/core/server.js @@ -70,7 +70,7 @@ class Server { this.server.listen(port, host, () => { let _host = host === '0.0.0.0' ? 'localhost' : host // eslint-disable-next-line no-console - console.log('\n' + chalk.bold(chalk.bgBlue.black(' OPEN ') + chalk.blue(` http://${_host}:${port}\n`))) + console.log('\n' + chalk.bold(chalk.bgBlue.white(' OPEN ') + chalk.blue(` http://${_host}:${port}\n`))) }) }) .catch(this.nuxt.errorHandler) From c26daa9e8f525bcf087361045212fd7c5f178cb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Sun, 18 Jun 2017 19:33:23 +0200 Subject: [PATCH 108/236] Fix tests --- test/basic.dev.test.js | 9 ++++----- test/basic.fail.generate.test.js | 6 ++++-- test/basic.generate.test.js | 6 ++++-- test/basic.test.js | 4 ++-- test/children.test.js | 4 ++-- test/dynamic-routes.test.js | 4 ++-- test/error.test.js | 4 ++-- test/index.test.js | 7 +++---- test/module.test.js | 4 ++-- test/with-config.test.js | 14 ++------------ 10 files changed, 27 insertions(+), 35 deletions(-) diff --git a/test/basic.dev.test.js b/test/basic.dev.test.js index 5ee3d73025..b0639decd8 100644 --- a/test/basic.dev.test.js +++ b/test/basic.dev.test.js @@ -1,7 +1,7 @@ import test from 'ava' import { resolve } from 'path' import rp from 'request-promise-native' -import { Nuxt, Server } from '../index.js' +import { Nuxt, Server, Builder } from '../index.js' const port = 4001 const url = (route) => 'http://localhost:' + port + route @@ -16,7 +16,7 @@ test.before('Init Nuxt.js', async t => { dev: true } nuxt = new Nuxt(options) - await nuxt.ready() + await new Builder(nuxt).build() server = new Server(nuxt) server.listen(port, 'localhost') }) @@ -37,8 +37,7 @@ test('/_nuxt/test.hot-update.json should returns empty html', async t => { }) // Close server and ask nuxt to stop listening to file changes -test.after('Closing server and nuxt.js', t => { +test.after('Closing server and nuxt.js', async t => { server.close() - nuxt.close(() => { - }) + await nuxt.close(() => {}) }) diff --git a/test/basic.fail.generate.test.js b/test/basic.fail.generate.test.js index 340bf4d253..4a7bed3f51 100644 --- a/test/basic.fail.generate.test.js +++ b/test/basic.fail.generate.test.js @@ -1,6 +1,6 @@ import test from 'ava' import { resolve } from 'path' -import { Nuxt } from '../index.js' +import { Nuxt, Builder, Generator } from '../index.js' test('Fail with routes() which throw an error', async t => { const options = { @@ -14,7 +14,9 @@ test('Fail with routes() which throw an error', async t => { } } const nuxt = new Nuxt(options) - return nuxt.generate() + const builder = new Builder(nuxt) + const generator = new Generator(nuxt, builder) + return generator.generate() .catch((e) => { t.true(e.message === 'Not today!') }) diff --git a/test/basic.generate.test.js b/test/basic.generate.test.js index e896360ad0..b75e71a4b2 100644 --- a/test/basic.generate.test.js +++ b/test/basic.generate.test.js @@ -4,7 +4,7 @@ import http from 'http' import serveStatic from 'serve-static' import finalhandler from 'finalhandler' import rp from 'request-promise-native' -import { Nuxt } from '../index.js' +import { Nuxt, Builder, Generator } from '../index.js' const port = 4002 const url = (route) => 'http://localhost:' + port + route @@ -20,8 +20,10 @@ test.before('Init Nuxt.js', async t => { config.dev = false config.runBuild = true nuxt = new Nuxt(config) + const builder = new Builder(nuxt) + const generator = new Generator(nuxt, builder) try { - await nuxt.generate() // throw an error (of /validate route) + await generator.generate() // throw an error (of /validate route) } catch (err) { } const serve = serveStatic(resolve(__dirname, 'fixtures/basic/dist')) diff --git a/test/basic.test.js b/test/basic.test.js index 49a86d25c4..e1fa0820eb 100755 --- a/test/basic.test.js +++ b/test/basic.test.js @@ -2,7 +2,7 @@ import test from 'ava' import { resolve } from 'path' import rp from 'request-promise-native' import stdMocks from 'std-mocks' -import { Nuxt, Server } from '../index.js' +import { Nuxt, Server, Builder } from '../index.js' const port = 4003 const url = (route) => 'http://localhost:' + port + route @@ -18,7 +18,7 @@ test.before('Init Nuxt.js', async t => { runBuild: true } nuxt = new Nuxt(options) - await nuxt.ready() + await new Builder(nuxt).build() server = new Server(nuxt) server.listen(port, 'localhost') }) diff --git a/test/children.test.js b/test/children.test.js index 3424a5e15c..6f5629df3b 100644 --- a/test/children.test.js +++ b/test/children.test.js @@ -1,6 +1,6 @@ import test from 'ava' import { resolve } from 'path' -import { Nuxt, Server } from '../index.js' +import { Nuxt, Server, Builder } from '../index.js' const port = 4004 // const url = (route) => 'http://localhost:' + port + route @@ -16,7 +16,7 @@ test.before('Init Nuxt.js', async t => { runBuild: true } nuxt = new Nuxt(options) - await nuxt.ready() + await new Builder(nuxt).build() server = new Server(nuxt) server.listen(port, 'localhost') }) diff --git a/test/dynamic-routes.test.js b/test/dynamic-routes.test.js index 79618677cd..9ac8eeda2d 100644 --- a/test/dynamic-routes.test.js +++ b/test/dynamic-routes.test.js @@ -2,7 +2,7 @@ import test from 'ava' import { resolve } from 'path' import fs from 'fs' import pify from 'pify' -import { Nuxt } from '../index.js' +import { Nuxt, Builder } from '../index.js' const readFile = pify(fs.readFile) @@ -12,7 +12,7 @@ test.before('Init Nuxt.js', async t => { dev: false, runBuild: true }) - await nuxt.ready() + await new Builder(nuxt).build() }) test('Check .nuxt/router.js', t => { diff --git a/test/error.test.js b/test/error.test.js index 6f1cc7c8e3..7ed40fa136 100644 --- a/test/error.test.js +++ b/test/error.test.js @@ -1,6 +1,6 @@ import test from 'ava' import { resolve } from 'path' -import { Nuxt, Server } from '../index.js' +import { Nuxt, Server, Builder } from '../index.js' const port = 4005 const url = (route) => 'http://localhost:' + port + route @@ -16,7 +16,7 @@ test.before('Init Nuxt.js', async t => { runBuild: true } nuxt = new Nuxt(options) - await nuxt.ready() + await new Builder(nuxt).build() server = new Server(nuxt) server.listen(port, 'localhost') }) diff --git a/test/index.test.js b/test/index.test.js index b008b1ee04..8e3fbf745e 100644 --- a/test/index.test.js +++ b/test/index.test.js @@ -1,6 +1,6 @@ import test from 'ava' import { resolve } from 'path' -import { Nuxt } from '../index.js' +import { Nuxt, Builder } from '../index.js' test('Nuxt.js Class', t => { t.is(typeof Nuxt, 'function') @@ -12,7 +12,6 @@ test.serial('Nuxt.js Instance', async t => { }) t.is(typeof nuxt, 'object') t.is(nuxt.options.dev, true) - t.is(typeof nuxt.generate, 'function') t.is(typeof nuxt._ready.then, 'function') await nuxt.ready() t.is(nuxt.initialized, true) @@ -24,7 +23,7 @@ test.serial('Fail to build when no pages/ directory but is in the parent', t => runBuild: true, rootDir: resolve(__dirname, 'fixtures', 'empty', 'pages') }) - return nuxt.ready().catch(err => { + return new Builder(nuxt).build().catch(err => { let s = String(err) t.true(s.includes('No `pages` directory found')) t.true(s.includes('Did you mean to run `nuxt` in the parent (`../`) directory?')) @@ -37,7 +36,7 @@ test.serial('Fail to build when no pages/ directory', t => { runBuild: true, rootDir: resolve(__dirname) }) - return nuxt.ready().catch(err => { + return new Builder(nuxt).build().catch(err => { let s = String(err) t.true(s.includes('Couldn\'t find a `pages` directory')) t.true(s.includes('Please create one under the project root')) diff --git a/test/module.test.js b/test/module.test.js index 331d42943f..6745df79a4 100755 --- a/test/module.test.js +++ b/test/module.test.js @@ -1,7 +1,7 @@ import test from 'ava' import { resolve, normalize } from 'path' import rp from 'request-promise-native' -import { Nuxt, Server } from '../index.js' +import { Nuxt, Server, Builder } from '../index.js' const port = 4006 const url = (route) => 'http://localhost:' + port + route @@ -17,7 +17,7 @@ test.before('Init Nuxt.js', async t => { config.dev = false config.runBuild = true nuxt = new Nuxt(config) - await nuxt.ready() + await new Builder(nuxt).build() server = new Server(nuxt) server.listen(port, 'localhost') }) diff --git a/test/with-config.test.js b/test/with-config.test.js index ae4db48b02..1b5b3169ad 100644 --- a/test/with-config.test.js +++ b/test/with-config.test.js @@ -1,7 +1,7 @@ import test from 'ava' import { resolve } from 'path' import rp from 'request-promise-native' -import { Nuxt, Server } from '../index.js' +import { Nuxt, Server, Builder } from '../index.js' const port = 4007 const url = (route) => 'http://localhost:' + port + route @@ -17,7 +17,7 @@ test.before('Init Nuxt.js', async t => { config.dev = false config.runBuild = true nuxt = new Nuxt(config) - await nuxt.ready() + await new Builder(nuxt).build() server = new Server(nuxt) server.listen(port, 'localhost') }) @@ -104,13 +104,3 @@ test.after('Closing server and nuxt.js', t => { server.close() nuxt.close() }) - -test.after('Should be able to start Nuxt with build done', async t => { - const rootDir = resolve(__dirname, 'fixtures/with-config') - let config = require(resolve(rootDir, 'nuxt.config.js')) - config.rootDir = rootDir - config.dev = false - config.runBuild = true - nuxt = new Nuxt(config) - await nuxt.ready() -}) From 289c6f221407cb3d53eaa885ab1673b3e7eba9af Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Sun, 18 Jun 2017 22:23:01 +0430 Subject: [PATCH 109/236] chalk OPEN color --- lib/core/server.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/core/server.js b/lib/core/server.js index e5f00f7eec..00cdeff0fc 100644 --- a/lib/core/server.js +++ b/lib/core/server.js @@ -1,7 +1,7 @@ -import http from 'http' -import connect from 'connect' -import path from 'path' -import chalk from 'chalk' +import http from "http"; +import connect from "connect"; +import path from "path"; +import chalk from "chalk"; class Server { constructor (nuxt) { @@ -70,7 +70,7 @@ class Server { this.server.listen(port, host, () => { let _host = host === '0.0.0.0' ? 'localhost' : host // eslint-disable-next-line no-console - console.log('\n' + chalk.bold(chalk.bgBlue.white(' OPEN ') + chalk.blue(` http://${_host}:${port}\n`))) + console.log('\n' + chalk.bold(chalk.bgBlue.black(' OPEN ') + chalk.blue(` http://${_host}:${port}\n`))) }) }) .catch(this.nuxt.errorHandler) From 87c37ca549a6651df642f09b0521a3d7b7b07b3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Sun, 18 Jun 2017 20:22:02 +0200 Subject: [PATCH 110/236] Upgrade dependencies --- package.json | 21 ++- yarn.lock | 456 ++++++++++++++++++++++++++------------------------- 2 files changed, 247 insertions(+), 230 deletions(-) diff --git a/package.json b/package.json index 2617d3d8b2..655b5fe286 100644 --- a/package.json +++ b/package.json @@ -43,10 +43,9 @@ "nuxt": "./bin/nuxt" }, "nyc": { - "exclude": [ - "test/**", - "node_modules/**", - "index.js" + "include": [ + "lib/", + "dist/" ] }, "scripts": { @@ -69,7 +68,7 @@ "dependencies": { "ansi-html": "^0.0.7", "autoprefixer": "^7.1.1", - "babel-core": "^6.24.1", + "babel-core": "^6.25.0", "babel-loader": "^7.0.0", "babel-preset-es2015": "^6.24.1", "babel-preset-vue-app": "^1.2.0", @@ -80,7 +79,7 @@ "css-loader": "^0.28.4", "debug": "^2.6.8", "etag": "^1.8.0", - "extract-text-webpack-plugin": "^2.1.0", + "extract-text-webpack-plugin": "^2.1.2", "file-loader": "^0.11.2", "fresh": "^0.5.0", "friendly-errors-webpack-plugin": "^1.6.1", @@ -104,13 +103,13 @@ "tapable": "^0.2.6", "tappable": "^1.0.1", "url-loader": "^0.5.9", - "vue": "~2.3.3", + "vue": "~2.3.4", "vue-loader": "^12.2.1", "vue-meta": "^1.0.4", - "vue-router": "^2.5.3", - "vue-server-renderer": "~2.3.3", + "vue-router": "^2.6.0", + "vue-server-renderer": "~2.3.4", "vue-ssr-html-stream": "^2.2.0", - "vue-template-compiler": "~2.3.3", + "vue-template-compiler": "~2.3.4", "vuex": "^2.3.1", "webpack": "^3.0.0-rc.2", "webpack-bundle-analyzer": "^2.8.2", @@ -150,7 +149,7 @@ "rollup-plugin-replace": "^1.1.1", "rollup-watch": "^4.0.0", "std-mocks": "^1.0.1", - "uglify-js": "^3.0.17" + "uglify-js": "^3.0.18" }, "collective": { "type": "opencollective", diff --git a/yarn.lock b/yarn.lock index cccf2d7ee1..68be9bcd5f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,5 +1,7 @@ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 + + "@ava/babel-plugin-throws-helper@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@ava/babel-plugin-throws-helper/-/babel-plugin-throws-helper-2.0.0.tgz#2fc1fe3c211a71071a4eca7b8f7af5842cd1ae7c" @@ -39,6 +41,13 @@ version "6.0.78" resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.78.tgz#5d4a3f579c1524e01ee21bf474e6fba09198f470" +JSONStream@^1.0.4: + version "1.3.1" + resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.1.tgz#707f761e01dae9e16f1bcf93703b78c70966579a" + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + abab@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.3.tgz#b81de5f7274ec4e756d797cd834f303642724e5d" @@ -104,10 +113,12 @@ ajv@^4.7.0, ajv@^4.9.1: json-stable-stringify "^1.0.1" ajv@^5.0.0, ajv@^5.1.5: - version "5.1.5" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.1.5.tgz#8734931b601f00d4feef7c65738d77d1b65d1f68" + version "5.2.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.2.0.tgz#c1735024c5da2ef75cc190713073d44f098bf486" dependencies: co "^4.6.0" + fast-deep-equal "^0.1.0" + json-schema-traverse "^0.3.0" json-stable-stringify "^1.0.1" align-text@^0.1.1, align-text@^0.1.3: @@ -136,7 +147,7 @@ ansi-escapes@^1.1.0: version "1.4.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" -ansi-html@^0.0.7, ansi-html@0.0.7: +ansi-html@0.0.7, ansi-html@^0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" @@ -149,8 +160,8 @@ ansi-styles@^2.2.1: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" ansi-styles@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.0.0.tgz#5404e93a544c4fec7f048262977bebfe3155e0c1" + version "3.1.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.1.0.tgz#09c202d5c917ec23188caa5c9cb9179cd9547750" dependencies: color-convert "^1.0.0" @@ -260,14 +271,14 @@ asn1@~0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + assert-plus@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" -assert-plus@^1.0.0, assert-plus@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - assert@^1.1.1: version "1.4.1" resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" @@ -427,7 +438,7 @@ babel-code-frame@^6.11.0, babel-code-frame@^6.16.0, babel-code-frame@^6.22.0: esutils "^2.0.2" js-tokens "^3.0.0" -babel-core@^6.17.0, babel-core@^6.24.1, babel-core@6: +babel-core@6, babel-core@^6.17.0, babel-core@^6.24.1, babel-core@^6.25.0: version "6.25.0" resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.25.0.tgz#7dd42b0463c742e9d5296deb3ec67a9322dad729" dependencies: @@ -1090,10 +1101,14 @@ babylon@^6.1.0, babylon@^6.13.0, babylon@^6.17.0, babylon@^6.17.2: version "6.17.3" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.3.tgz#1327d709950b558f204e5352587fd0290f8d8e48" -balanced-match@^0.4.1, balanced-match@^0.4.2: +balanced-match@^0.4.2: version "0.4.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + base64-js@^1.0.2: version "1.2.0" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1" @@ -1153,10 +1168,10 @@ boxen@^1.0.0: widest-line "^1.0.0" brace-expansion@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.7.tgz#3effc3c50e000531fb720eaff80f0ae8ef23cf59" + version "1.1.8" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" dependencies: - balanced-match "^0.4.1" + balanced-match "^1.0.0" concat-map "0.0.1" braces@^1.8.2: @@ -1236,11 +1251,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.3: - version "2.1.4" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.1.4.tgz#cc526af4a1312b7d2e05653e56d0c8ab70c0e053" + version "2.1.5" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.1.5.tgz#e882550df3d1cd6d481c1a3e0038f2baf13a4711" dependencies: - caniuse-lite "^1.0.30000670" - electron-to-chromium "^1.3.11" + caniuse-lite "^1.0.30000684" + electron-to-chromium "^1.3.14" buf-compare@^1.0.0: version "1.0.1" @@ -1345,12 +1360,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.30000683" - resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000683.tgz#58b57ed1e0bb9da54eaf1462985147bbe16679fa" + version "1.0.30000690" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000690.tgz#ee4e0750070f6aae6f40e76477984449bd6cb48a" -caniuse-lite@^1.0.30000670: - version "1.0.30000683" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000683.tgz#a7573707cf2acc9217ca6484d1dfbc9f13898364" +caniuse-lite@^1.0.30000670, caniuse-lite@^1.0.30000684: + version "1.0.30000690" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000690.tgz#3b232dbc0cf32bc2a888ec199852a50afa37f5ef" capture-stack-trace@^1.0.0: version "1.0.0" @@ -1371,15 +1386,7 @@ center-align@^0.1.1: align-text "^0.1.3" lazy-cache "^1.0.3" -chalk@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" - dependencies: - ansi-styles "~1.0.0" - has-color "~0.1.0" - strip-ansi "~0.1.0" - -chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3, chalk@1.1.3: +chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" dependencies: @@ -1389,6 +1396,14 @@ chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3, chalk@1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" +chalk@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" + dependencies: + ansi-styles "~1.0.0" + has-color "~0.1.0" + strip-ansi "~0.1.0" + chokidar@^1.4.2, chokidar@^1.4.3, chokidar@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" @@ -1419,14 +1434,14 @@ circular-json@^0.3.1: resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d" clap@^1.0.9: - version "1.1.3" - resolved "https://registry.yarnpkg.com/clap/-/clap-1.1.3.tgz#b3bd36e93dd4cbfb395a3c26896352445265c05b" + version "1.2.0" + resolved "https://registry.yarnpkg.com/clap/-/clap-1.2.0.tgz#59c90fe3e137104746ff19469a27a634ff68c857" dependencies: chalk "^1.1.3" clean-css@4.1.x: - version "4.1.3" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.1.3.tgz#07cfe8980edb20d455ddc23aadcf1e04c6e509ce" + version "4.1.4" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.1.4.tgz#eec8811db27457e0078d8ca921fa81b72fa82bf4" dependencies: source-map "0.5.x" @@ -1577,7 +1592,7 @@ command-join@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/command-join/-/command-join-2.0.0.tgz#52e8b984f4872d952ff1bdc8b98397d27c7144cf" -commander@^2.9.0, commander@~2.9.0, commander@2.9.x: +commander@2.9.x, commander@^2.9.0, commander@~2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" dependencies: @@ -1816,8 +1831,8 @@ conventional-commits-parser@^1.0.0, conventional-commits-parser@^1.0.1: version "1.3.0" resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-1.3.0.tgz#e327b53194e1a7ad5dc63479ee9099a52b024865" dependencies: - is-text-path "^1.0.0" JSONStream "^1.0.4" + is-text-path "^1.0.0" lodash "^4.2.1" meow "^3.3.0" split2 "^2.0.0" @@ -2064,7 +2079,7 @@ csso@~2.3.1: clap "^1.0.9" source-map "^0.5.3" -"cssom@>= 0.3.2 < 0.4.0", cssom@0.3.x: +cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": version "0.3.2" resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.2.tgz#b8036170c79f07a90ff2f16e22284027a243848b" @@ -2121,13 +2136,7 @@ debug-log@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/debug-log/-/debug-log-1.0.1.tgz#2307632d4c04382b8df8a32f70b895046d52745f" -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, debug@2.2.0: +debug@2.2.0, debug@~2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" dependencies: @@ -2139,6 +2148,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: + version "2.6.8" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" + dependencies: + ms "2.0.0" + 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" @@ -2160,8 +2175,8 @@ deep-is@~0.1.3: resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" deepmerge@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-1.3.2.tgz#1663691629d4dbfe364fa12a2a4f0aa86aa3a050" + version "1.4.3" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-1.4.3.tgz#f8c9ecb11c176b3dbfc8167b58cc5674c5e658bb" default-require-extensions@^1.0.0: version "1.0.0" @@ -2206,7 +2221,7 @@ delegates@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" -depd@~1.1.0, depd@1.1.0: +depd@1.1.0, depd@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" @@ -2247,16 +2262,16 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" -doctrine@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.0.0.tgz#c73d8d2909d22291e1a007a395804da8b665fe63" +doctrine@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" dependencies: esutils "^2.0.2" isarray "^1.0.0" -doctrine@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" +doctrine@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.0.0.tgz#c73d8d2909d22291e1a007a395804da8b665fe63" dependencies: esutils "^2.0.2" isarray "^1.0.0" @@ -2278,7 +2293,7 @@ domain-browser@^1.1.1: version "1.1.7" resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" -domelementtype@^1.3.0, domelementtype@1: +domelementtype@1, domelementtype@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2" @@ -2286,23 +2301,16 @@ domelementtype@~1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" -domhandler@^2.3.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.1.tgz#892e47000a99be55bbf3774ffea0561d8879c259" - dependencies: - domelementtype "1" - domhandler@2.1: version "2.1.0" resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.1.0.tgz#d2646f5e57f6c3bab11cf6cb05d3c0acf7412594" dependencies: domelementtype "1" -domutils@^1.5.1, domutils@1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" +domhandler@^2.3.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.1.tgz#892e47000a99be55bbf3774ffea0561d8879c259" dependencies: - dom-serializer "0" domelementtype "1" domutils@1.1: @@ -2311,6 +2319,20 @@ domutils@1.1: dependencies: domelementtype "1" +domutils@1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" + dependencies: + dom-serializer "0" + domelementtype "1" + +domutils@^1.5.1: + version "1.6.2" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.6.2.tgz#1958cc0b4c9426e9ed367fb1c8e854891b0fa3ff" + dependencies: + dom-serializer "0" + domelementtype "1" + dot-prop@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" @@ -2323,14 +2345,14 @@ dot-prop@^4.1.0: dependencies: is-obj "^1.0.0" -duplexer@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" - duplexer3@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" +duplexer@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" + ecc-jsbn@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" @@ -2354,7 +2376,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.11: +electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.14: version "1.3.14" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.14.tgz#64af0f9efd3c3c6acd57d71f83b49ca7ee9c4b43" @@ -2437,7 +2459,7 @@ es6-error@^4.0.1, es6-error@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.0.2.tgz#eec5c726eacef51b7f6b73c20db6e1b13b069c98" -es6-iterator@^2.0.1, es6-iterator@~2.0.1, es6-iterator@2: +es6-iterator@2, es6-iterator@^2.0.1, es6-iterator@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.1.tgz#8e319c9f0453bf575d374940a655920e59ca5512" dependencies: @@ -2466,7 +2488,7 @@ es6-set@~0.1.5: es6-symbol "3.1.1" event-emitter "~0.3.5" -es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1, es6-symbol@~3.1.1, es6-symbol@3.1.1: +es6-symbol@3.1.1, es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1, es6-symbol@~3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" dependencies: @@ -2797,7 +2819,7 @@ extglob@^0.3.1: dependencies: is-extglob "^1.0.0" -extract-text-webpack-plugin@^2.1.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" dependencies: @@ -2810,6 +2832,10 @@ extsprintf@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" +fast-deep-equal@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-0.1.0.tgz#5c6f4599aba6b333ee3342e2ed978672f1001f8d" + fast-levenshtein@~2.0.4: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" @@ -2855,7 +2881,7 @@ fill-range@^2.1.0: repeat-element "^1.1.2" repeat-string "^1.5.2" -finalhandler@^1.0.3, finalhandler@~1.0.3, finalhandler@1.0.3: +finalhandler@1.0.3, finalhandler@^1.0.3, finalhandler@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.0.3.tgz#ef47e77950e999780e86022a560e3217e0d0cc89" dependencies: @@ -2942,7 +2968,7 @@ forwarded@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.0.tgz#19ef9874c4ae1c297bcf078fde63a09b66a84363" -fresh@^0.5.0, fresh@0.5.0: +fresh@0.5.0, fresh@^0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.0.tgz#f474ca5e6a9246d6fd8e0953cfa9b9c805afa78e" @@ -2977,11 +3003,11 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" fsevents@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.1.tgz#f19fd28f43eeaf761680e519a203c4d0b3d31aff" + version "1.1.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.2.tgz#3282b713fb3ad80ede0e9fcf4611b5aa6fc033f4" dependencies: nan "^2.3.0" - node-pre-gyp "^0.6.29" + node-pre-gyp "^0.6.36" fstream-ignore@^1.0.5: version "1.0.5" @@ -3276,7 +3302,7 @@ hawk@~3.1.3: hoek "2.x.x" sntp "1.x.x" -he@^1.1.0, he@1.1.x: +he@1.1.x, he@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" @@ -3401,14 +3427,14 @@ hullabaloo-config-manager@^1.0.0: resolve-from "^3.0.0" safe-buffer "^5.0.1" -iconv-lite@^0.4.17, iconv-lite@~0.4.13: - version "0.4.17" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.17.tgz#4fdaa3b38acbc2c031b045d0edcdfe1ecab18c8d" - -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: + version "0.4.18" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.18.tgz#23d8656b16aae6742ac29732ea8f0336a4789cf2" + icss-replace-symbols@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" @@ -3464,7 +3490,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@2, inherits@2.0.3: +inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" @@ -3476,7 +3502,7 @@ ini@^1.3.2, 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, inquirer@^3.0.6: version "3.0.6" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.0.6.tgz#e04aaa9d05b7a3cb9b0f407d04375f0447190347" dependencies: @@ -3729,14 +3755,14 @@ is-utf8@^0.2.0, is-utf8@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" -isarray@^1.0.0, isarray@~1.0.0, isarray@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - isarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" @@ -3798,7 +3824,7 @@ istanbul-reports@^1.1.1: dependencies: handlebars "^4.0.3" -jest-diff@^19.0.0, jest-diff@19.0.0: +jest-diff@19.0.0, jest-diff@^19.0.0: version "19.0.0" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-19.0.0.tgz#d1563cfc56c8b60232988fbc05d4d16ed90f063c" dependencies: @@ -3940,6 +3966,10 @@ json-loader@^0.5.4: version "0.5.4" resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.4.tgz#8baa1365a632f58a3c46d20175fc6002c96e37de" +json-schema-traverse@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.0.tgz#0016c0b1ca1efe46d44d37541bcdfc19dcfae0db" + json-schema@0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" @@ -3982,13 +4012,6 @@ jsonpointer@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" -JSONStream@^1.0.4: - version "1.3.1" - resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.1.tgz#707f761e01dae9e16f1bcf93703b78c70966579a" - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - jsprim@^1.2.2: version "1.4.0" resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918" @@ -4112,7 +4135,7 @@ loader-runner@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" -loader-utils@^0.2.15, loader-utils@^0.2.16, loader-utils@0.2.x: +loader-utils@0.2.x, loader-utils@^0.2.15, loader-utils@^0.2.16: version "0.2.17" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" dependencies: @@ -4384,14 +4407,14 @@ mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.15, mime-types@~2.1.7: dependencies: mime-db "~1.27.0" -mime@^1.3.4, mime@1.3.x: - version "1.3.6" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.6.tgz#591d84d3653a6b0b4a3b9df8de5aa8108e72e5e0" - mime@1.3.4: version "1.3.4" resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" +mime@1.3.x, mime@^1.3.4: + version "1.3.6" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.6.tgz#591d84d3653a6b0b4a3b9df8de5aa8108e72e5e0" + mimic-fn@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" @@ -4404,13 +4427,17 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" -minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, "minimatch@2 || 3": +"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: brace-expansion "^1.1.7" -minimist, minimist@^1.1.3, minimist@^1.2.0, minimist@1.2.0: +minimist@0.0.8, minimist@~0.0.1: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +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" @@ -4418,11 +4445,7 @@ minimist@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.1.0.tgz#99df657a52574c21c9057497df742790b2b4c0de" -minimist@~0.0.1, minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - -mkdirp@^0.5.0, mkdirp@^0.5.1, "mkdirp@>=0.5 0", mkdirp@~0.5.0, mkdirp@~0.5.1: +"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: @@ -4436,11 +4459,7 @@ moment@^2.6.0: version "2.18.1" resolved "https://registry.yarnpkg.com/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f" -ms@^0.7.1: - version "0.7.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.3.tgz#708155a5e44e33f5fd0fc53e81d0d40a91be1fff" - -ms@0.7.1: +ms@0.7.1, ms@^0.7.1: version "0.7.1" resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" @@ -4526,7 +4545,7 @@ node-libs-browser@^2.0.0: util "^0.10.3" vm-browserify "0.0.4" -node-pre-gyp@^0.6.29: +node-pre-gyp@^0.6.36: version "0.6.36" resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.36.tgz#db604112cb74e0d477554e9b505b17abddfab786" dependencies: @@ -5285,8 +5304,8 @@ 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: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.1.tgz#000dbd1f8eef217aa368b9a212c5fc40b2a8f3f2" + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.2.tgz#5c4fea589f0ac3b00caa75b1cbc3a284195b7e5d" dependencies: chalk "^1.1.3" source-map "^0.5.6" @@ -5394,26 +5413,26 @@ public-encrypt@^4.0.0: parse-asn1 "^5.0.0" randombytes "^2.0.1" -punycode@^1.2.4, punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - punycode@1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" +punycode@^1.2.4, punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + q@^1.1.2, q@^1.4.1: version "1.5.0" resolved "https://registry.yarnpkg.com/q/-/q-1.5.0.tgz#dd01bac9d06d30e6f219aecb8253ee9ebdc308f1" +qs@6.4.0, qs@~6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" + qs@~6.3.0: version "6.3.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.2.tgz#e75bd5f6e268122a2a0e0bda630b2550c166502c" -qs@~6.4.0, qs@6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" - query-string@^4.1.0: version "4.3.4" resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" @@ -5425,7 +5444,7 @@ querystring-es3@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" -querystring@^0.2.0, querystring@0.2.0: +querystring@0.2.0, querystring@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" @@ -5491,6 +5510,15 @@ read-pkg@^2.0.0: normalize-package-data "^2.3.2" path-type "^2.0.0" +readable-stream@1.0: + version "1.0.34" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.6: version "2.2.11" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.11.tgz#0796b31f8d7688007ff0b93a8088d34aa17c0f72" @@ -5503,15 +5531,6 @@ readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable string_decoder "~1.0.0" util-deprecate "~1.0.1" -readable-stream@1.0: - version "1.0.34" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - readdirp@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" @@ -5656,6 +5675,31 @@ request-promise-native@^1.0.3, request-promise-native@^1.0.4: stealthy-require "^1.1.0" tough-cookie ">=2.3.0" +request@2.79.0: + version "2.79.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + caseless "~0.11.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~2.1.1" + har-validator "~2.0.6" + hawk "~3.1.3" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + oauth-sign "~0.8.1" + qs "~6.3.0" + stringstream "~0.0.4" + tough-cookie "~2.3.0" + tunnel-agent "~0.4.1" + uuid "^3.0.0" + request@^2.79.0, request@^2.81.0: version "2.81.0" resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" @@ -5683,31 +5727,6 @@ request@^2.79.0, request@^2.81.0: tunnel-agent "^0.6.0" uuid "^3.0.0" -request@2.79.0: - version "2.79.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" - dependencies: - aws-sign2 "~0.6.0" - aws4 "^1.2.1" - caseless "~0.11.0" - combined-stream "~1.0.5" - extend "~3.0.0" - forever-agent "~0.6.1" - form-data "~2.1.1" - har-validator "~2.0.6" - hawk "~3.1.3" - http-signature "~1.1.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.7" - oauth-sign "~0.8.1" - qs "~6.3.0" - stringstream "~0.0.4" - tough-cookie "~2.3.0" - tunnel-agent "~0.4.1" - uuid "^3.0.0" - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -5724,7 +5743,7 @@ require-precompiled@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/require-precompiled/-/require-precompiled-0.1.0.tgz#5a1b52eb70ebed43eb982e974c85ab59571e56fa" -require-relative@^0.8.7, require-relative@0.8.7: +require-relative@0.8.7, require-relative@^0.8.7: version "0.8.7" resolved "https://registry.yarnpkg.com/require-relative/-/require-relative-0.8.7.tgz#7999539fc9e047a37928fa196f8e1563dabd36de" @@ -5753,16 +5772,16 @@ resolve-from@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" +resolve@1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + resolve@^1.1.6, resolve@^1.1.7, resolve@^1.2.0, resolve@^1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.3.tgz#655907c3469a8680dc2de3a275a8fdd69691f0e5" dependencies: path-parse "^1.0.5" -resolve@1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" - restore-cursor@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" @@ -5776,7 +5795,7 @@ right-align@^0.1.1: dependencies: align-text "^0.1.1" -rimraf@^2.2.8, rimraf@^2.3.3, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@2: +rimraf@2, rimraf@^2.2.8, rimraf@^2.3.3, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" dependencies: @@ -5898,7 +5917,7 @@ semver-diff@^2.0.0: dependencies: semver "^5.0.3" -semver@^5.0.1, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, "semver@2 || 3 || 4 || 5", semver@5.3.0: +"semver@2 || 3 || 4 || 5", semver@5.3.0, semver@^5.0.1, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" @@ -5924,7 +5943,7 @@ serialize-javascript@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.3.0.tgz#86a4f3752f5c7e47295449b0bbb63d64ba533f05" -serve-static@^1.12.3, serve-static@1.12.3: +serve-static@1.12.3, serve-static@^1.12.3: version "1.12.3" resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.12.3.tgz#9f4ba19e2f3030c547f8af99107838ec38d5b1e2" dependencies: @@ -6011,16 +6030,16 @@ source-map-support@^0.4.0, source-map-support@^0.4.15, source-map-support@^0.4.2 dependencies: source-map "^0.5.6" +source-map@0.5.6, source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3: + version "0.5.6" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" + source-map@^0.4.4: version "0.4.4" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" dependencies: amdefine ">=0.0.4" -source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3, source-map@0.5.6, source-map@0.5.x: - version "0.5.6" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" - source-map@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" @@ -6052,18 +6071,18 @@ spdx-license-ids@^1.0.2: version "1.2.2" resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" -split@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/split/-/split-1.0.0.tgz#c4395ce683abcd254bc28fe1dabb6e5c27dcffae" - dependencies: - through "2" - split2@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/split2/-/split2-2.1.1.tgz#7a1f551e176a90ecd3345f7246a0cfe175ef4fd0" dependencies: through2 "^2.0.2" +split@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/split/-/split-1.0.0.tgz#c4395ce683abcd254bc28fe1dabb6e5c27dcffae" + dependencies: + through "2" + sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" @@ -6112,8 +6131,8 @@ stream-browserify@^2.0.1: readable-stream "^2.0.2" stream-http@^2.3.1: - version "2.7.1" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.7.1.tgz#546a51741ad5a6b07e9e31b0b10441a917df528a" + version "2.7.2" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.7.2.tgz#40a050ec8dc3b53b33d9909415c02c0bf1abfbad" dependencies: builtin-status-codes "^3.0.0" inherits "^2.0.1" @@ -6125,16 +6144,6 @@ strict-uri-encode@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" -string_decoder@^0.10.25, string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - -string_decoder@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.2.tgz#b29e1f4e1125fa97a10382b8a533737b7491e179" - dependencies: - safe-buffer "~5.0.1" - string-length@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/string-length/-/string-length-1.0.1.tgz#56970fb1c38558e9e70b728bf3de269ac45adfac" @@ -6156,6 +6165,16 @@ string-width@^2.0.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^3.0.0" +string_decoder@^0.10.25, string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + +string_decoder@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.2.tgz#b29e1f4e1125fa97a10382b8a533737b7491e179" + dependencies: + safe-buffer "~5.0.1" + stringstream@~0.0.4: version "0.0.5" resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" @@ -6333,10 +6352,6 @@ text-table@^0.2.0, text-table@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" -through@^2.3.4, through@^2.3.6, "through@>=2.2.7 <3", through@2: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - through2@^2.0.0, through2@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" @@ -6344,6 +6359,10 @@ through2@^2.0.0, through2@^2.0.2: readable-stream "^2.1.5" xtend "~4.0.1" +through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + time-require@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/time-require/-/time-require-0.1.2.tgz#f9e12cb370fc2605e11404582ba54ef5ca2b2d98" @@ -6381,7 +6400,7 @@ toposort@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.3.tgz#f02cd8a74bd8be2fc0e98611c3bacb95a171869c" -tough-cookie@^2.3.2, tough-cookie@>=2.3.0, tough-cookie@~2.3.0: +tough-cookie@>=2.3.0, tough-cookie@^2.3.2, tough-cookie@~2.3.0: version "2.3.2" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" dependencies: @@ -6442,22 +6461,22 @@ typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" +uglify-js@3.0.x, uglify-js@^3.0.18: + version "3.0.18" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.0.18.tgz#d67a3e5a0a08356b787fb1c9bddf3a807630902e" + dependencies: + commander "~2.9.0" + source-map "~0.5.1" + uglify-js@^2.6, uglify-js@^2.8.27: - version "2.8.28" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.28.tgz#e335032df9bb20dcb918f164589d5af47f38834a" + version "2.8.29" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" dependencies: source-map "~0.5.1" yargs "~3.10.0" optionalDependencies: uglify-to-browserify "~1.0.0" -uglify-js@^3.0.17, uglify-js@3.0.x: - version "3.0.17" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.0.17.tgz#d228cd55c2df9b3d2f53f147568cb4cc4a72cc06" - dependencies: - commander "~2.9.0" - source-map "~0.5.1" - uglify-to-browserify@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" @@ -6559,7 +6578,7 @@ util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" -util@^0.10.3, util@0.10.3: +util@0.10.3, util@^0.10.3: version "0.10.3" resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" dependencies: @@ -6582,8 +6601,8 @@ uuid@^2.0.1: resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" uuid@^3.0.0, uuid@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" + version "3.1.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" validate-npm-package-license@^3.0.1: version "3.0.1" @@ -6646,11 +6665,11 @@ vue-meta@^1.0.4: lodash.isplainobject "^4.0.6" object-assign "^4.1.1" -vue-router@^2.5.3: - version "2.5.3" - resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-2.5.3.tgz#073783f564b6aece6c8a59c63e298dc2aabfb51b" +vue-router@^2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-2.6.0.tgz#77b271f6e0ac6d57e8e556da58c6582fce0ab712" -vue-server-renderer@~2.3.3: +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" dependencies: @@ -6676,7 +6695,7 @@ vue-style-loader@^3.0.0: hash-sum "^1.0.2" loader-utils "^1.0.2" -vue-template-compiler@~2.3.3: +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" dependencies: @@ -6687,7 +6706,7 @@ vue-template-es2015-compiler@^1.2.2: version "1.5.2" resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.5.2.tgz#a0a6c50c941d2a4abda963f2f42c337ac450ee95" -vue@~2.3.3: +vue@~2.3.4: version "2.3.4" resolved "https://registry.yarnpkg.com/vue/-/vue-2.3.4.tgz#5ec3b87a191da8090bbef56b7cfabd4158038171" @@ -6836,7 +6855,7 @@ 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, wordwrap@~0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" @@ -6970,8 +6989,8 @@ yargs@^6.0.0: yargs-parser "^4.2.0" yargs@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.1.tgz#420ef75e840c1457a80adcca9bc6fa3849de51aa" + version "8.0.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" dependencies: camelcase "^4.1.0" cliui "^3.2.0" @@ -6995,4 +7014,3 @@ yargs@~3.10.0: cliui "^2.1.0" decamelize "^1.0.0" window-size "0.1.0" - From c8c2084bba43386ed20d08bb799e70cbe0d5a2e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Sun, 18 Jun 2017 20:27:24 +0200 Subject: [PATCH 111/236] Fix lint --- lib/core/server.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/core/server.js b/lib/core/server.js index 00cdeff0fc..619f4c879f 100644 --- a/lib/core/server.js +++ b/lib/core/server.js @@ -1,7 +1,7 @@ -import http from "http"; -import connect from "connect"; -import path from "path"; -import chalk from "chalk"; +import http from 'http' +import connect from 'connect' +import path from 'path' +import chalk from 'chalk' class Server { constructor (nuxt) { From e52d414447c37729145c05ac313783fe4b7251aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Sun, 18 Jun 2017 20:47:43 +0200 Subject: [PATCH 112/236] Add istanbul ignore --- index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.js b/index.js index 7fddc57184..a76dbcf80a 100644 --- a/index.js +++ b/index.js @@ -10,6 +10,7 @@ require('source-map-support').install(); // Fix babel flag +/* istanbul ignore else */ process.noDeprecation = true // Require Core @@ -17,6 +18,5 @@ const Core = require('./dist/core.js') Object.assign(exports, Core) // Require Builder -// TODO: conditionally do this when builder available const Builder = require('./dist/builder.js') Object.assign(exports, Builder) From e0ea1dd1ee77f68dc19234612684c80ade153aa7 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Mon, 19 Jun 2017 19:51:01 +0430 Subject: [PATCH 113/236] fix nyc coverage using babel-plugin-istanbul --- package.json | 7 ++-- rollup.config.js | 15 +++++--- yarn.lock | 99 ++++++++++++++++++++++++++++++++++++++---------- 3 files changed, 93 insertions(+), 28 deletions(-) diff --git a/package.json b/package.json index 655b5fe286..57f1760ba1 100644 --- a/package.json +++ b/package.json @@ -44,12 +44,11 @@ }, "nyc": { "include": [ - "lib/", - "dist/" + "lib" ] }, "scripts": { - "test": "npm run lint && nyc ava --verbose --serial test/", + "test": "npm run lint && cross-env NODE_ENV=test npm run build && 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": "npm run build:core && npm run build:builder", @@ -121,12 +120,14 @@ "ava": "^0.19.1", "babel-eslint": "^7.2.3", "babel-plugin-array-includes": "^2.0.3", + "babel-plugin-istanbul": "^4.1.4", "babel-plugin-transform-async-to-generator": "^6.24.1", "babel-plugin-transform-runtime": "^6.23.0", "babel-preset-es2015-rollup": "^3.0.0", "babel-preset-stage-2": "^6.24.1", "codecov": "^2.2.0", "copy-webpack-plugin": "^4.0.1", + "cross-env": "^5.0.1", "eslint": "^4.0.0", "eslint-config-standard": "^10.2.1", "eslint-plugin-html": "^3.0.0", diff --git a/rollup.config.js b/rollup.config.js index 3e53508217..ca5a74c683 100755 --- a/rollup.config.js +++ b/rollup.config.js @@ -65,6 +65,10 @@ function genConfig (opts) { resolve: ['.js', '.json', '.jsx', '.ts'] }, aliases, opts.alias)), + rollupNodeResolve({ main: true, jsnext: true }), + + rollupCommonJS(), + rollupBabel(Object.assign({ exclude: 'node_modules/**', plugins: [ @@ -74,13 +78,14 @@ function genConfig (opts) { ], presets: [ 'babel-preset-es2015-rollup' - ] + ], + "env": { + "test": { + "plugins": [ "istanbul" ] + } + } }, opts.babel)), - rollupNodeResolve({ main: true, jsnext: true }), - - rollupCommonJS(), - rollupReplace({ __VERSION__: version }) diff --git a/yarn.lock b/yarn.lock index 68be9bcd5f..46506bed45 100644 --- a/yarn.lock +++ b/yarn.lock @@ -56,6 +56,10 @@ abbrev@1: version "1.1.0" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f" +abbrev@1.0.x: + version "1.0.9" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" + accepts@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca" @@ -289,7 +293,7 @@ async-each@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" -async@^1.4.0, async@^1.5.0: +async@1.x, async@^1.4.0, async@^1.5.0: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" @@ -648,6 +652,14 @@ babel-plugin-external-helpers@^6.18.0: dependencies: babel-runtime "^6.22.0" +babel-plugin-istanbul@^4.1.4: + version "4.1.4" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.4.tgz#18dde84bf3ce329fddf3f4103fae921456d8e587" + dependencies: + find-up "^2.1.0" + istanbul-lib-instrument "^1.7.2" + test-exclude "^4.1.1" + babel-plugin-syntax-async-functions@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" @@ -1940,6 +1952,13 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: safe-buffer "^5.0.1" sha.js "^2.4.8" +cross-env@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-5.0.1.tgz#ff4e72ea43b47da2486b43a7f2043b2609e44913" + dependencies: + 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" @@ -1954,7 +1973,7 @@ cross-spawn@^4, cross-spawn@^4.0.0: lru-cache "^4.0.1" which "^1.2.9" -cross-spawn@^5.0.1: +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: @@ -2512,7 +2531,7 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.4, escape-string-regexp@^ version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" -escodegen@^1.6.1: +escodegen@1.8.x, escodegen@^1.6.1: version "1.8.1" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" dependencies: @@ -2649,7 +2668,7 @@ espree@^3.4.3: acorn "^5.0.1" acorn-jsx "^3.0.0" -esprima@^2.6.0, esprima@^2.7.1: +esprima@2.7.x, esprima@^2.6.0, esprima@^2.7.1: version "2.7.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" @@ -3139,6 +3158,16 @@ glob-parent@^2.0.0: dependencies: is-glob "^2.0.0" +glob@^5.0.15: + version "5.0.15" + resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "2 || 3" + once "^1.3.0" + path-is-absolute "^1.0.0" + glob@^6.0.4: version "6.0.4" resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" @@ -3215,7 +3244,7 @@ gzip-size@^3.0.0: dependencies: duplexer "^0.1.1" -handlebars@^4.0.2, handlebars@^4.0.3: +handlebars@^4.0.1, handlebars@^4.0.2, handlebars@^4.0.3: version "4.0.10" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.10.tgz#3d30c718b09a3d96f23ea4cc1f403c4d3ba9ff4f" dependencies: @@ -3427,11 +3456,11 @@ hullabaloo-config-manager@^1.0.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" @@ -3755,6 +3784,10 @@ is-utf8@^0.2.0, is-utf8@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" +is-windows@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.1.tgz#310db70f742d259a16a369202b51af84233310d9" + isarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" @@ -3824,6 +3857,25 @@ istanbul-reports@^1.1.1: dependencies: handlebars "^4.0.3" +istanbul@^0.4.2: + version "0.4.5" + resolved "https://registry.yarnpkg.com/istanbul/-/istanbul-0.4.5.tgz#65c7d73d4c4da84d4f3ac310b918fb0b8033733b" + dependencies: + abbrev "1.0.x" + async "1.x" + escodegen "1.8.x" + esprima "2.7.x" + glob "^5.0.15" + handlebars "^4.0.1" + js-yaml "3.x" + mkdirp "0.5.x" + nopt "3.x" + once "1.x" + resolve "1.1.x" + supports-color "^3.1.0" + which "^1.1.1" + wordwrap "^1.0.0" + jest-diff@19.0.0, jest-diff@^19.0.0: version "19.0.0" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-19.0.0.tgz#d1563cfc56c8b60232988fbc05d4d16ed90f063c" @@ -3906,7 +3958,7 @@ js-tokens@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" -js-yaml@^3.4.3, js-yaml@^3.8.2, js-yaml@^3.8.4: +js-yaml@3.x, js-yaml@^3.4.3, js-yaml@^3.8.2, js-yaml@^3.8.4: version "3.8.4" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.4.tgz#520b4564f86573ba96662af85a8cafa7b4b5a6f6" dependencies: @@ -4445,7 +4497,7 @@ minimist@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.1.0.tgz#99df657a52574c21c9057497df742790b2b4c0de" -"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: +mkdirp@0.5.x, "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: @@ -4559,6 +4611,12 @@ node-pre-gyp@^0.6.36: tar "^2.2.1" tar-pack "^3.4.0" +nopt@3.x, nopt@~3.0.1: + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + dependencies: + abbrev "1" + nopt@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" @@ -4566,12 +4624,6 @@ nopt@^4.0.1: abbrev "1" osenv "^0.1.4" -nopt@~3.0.1: - version "3.0.6" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" - dependencies: - abbrev "1" - normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5: version "2.3.8" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.8.tgz#d819eda2a9dedbd1ffa563ea4071d936782295bb" @@ -4725,7 +4777,7 @@ on-headers@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7" -once@^1.3.0, once@^1.3.3: +once@1.x, once@^1.3.0, once@^1.3.3: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" dependencies: @@ -5772,7 +5824,7 @@ resolve-from@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" -resolve@1.1.7: +resolve@1.1.7, resolve@1.1.x: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" @@ -5833,6 +5885,13 @@ rollup-plugin-commonjs@^8.0.2: resolve "^1.1.7" rollup-pluginutils "^2.0.1" +rollup-plugin-istanbul@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-istanbul/-/rollup-plugin-istanbul-1.1.0.tgz#581cf52e47e54a0bbaf782d4f4cde9594d1f01f9" + dependencies: + istanbul "^0.4.2" + rollup-pluginutils "^1.3.1" + rollup-plugin-node-resolve@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.0.0.tgz#8b897c4c3030d5001277b0514b25d2ca09683ee0" @@ -5850,7 +5909,7 @@ rollup-plugin-replace@^1.1.1: minimatch "^3.0.2" rollup-pluginutils "^1.5.0" -rollup-pluginutils@^1.5.0: +rollup-pluginutils@^1.3.1, rollup-pluginutils@^1.5.0: version "1.5.2" resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz#1e156e778f94b7255bfa1b3d0178be8f5c552408" dependencies: @@ -6833,7 +6892,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.1.1, which@^1.2.4, which@^1.2.8, which@^1.2.9: version "1.2.14" resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5" dependencies: @@ -6859,7 +6918,7 @@ 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@~1.0.0: +wordwrap@^1.0.0, wordwrap@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" From a594606f857a5dd1c376e709865f847c1e25e08c Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Mon, 19 Jun 2017 20:17:31 +0430 Subject: [PATCH 114/236] coverage --- lib/builder/builder.js | 5 +++++ lib/builder/generator.js | 1 + lib/builder/webpack/base.config.js | 1 + lib/builder/webpack/client.config.js | 1 + lib/common/utils.js | 1 + lib/core/module.js | 1 + lib/core/nuxt.js | 2 +- lib/core/options.js | 1 + lib/core/renderer.js | 33 ++++++++++++++-------------- lib/core/server.js | 2 ++ 10 files changed, 31 insertions(+), 17 deletions(-) diff --git a/lib/builder/builder.js b/lib/builder/builder.js index 21a55ae45c..1fcb834c59 100644 --- a/lib/builder/builder.js +++ b/lib/builder/builder.js @@ -45,10 +45,12 @@ export default class Builder extends Tapable { async build () { // Avoid calling build() method multiple times when dev:true + /* istanbul ignore if */ if (this._buildStatus === STATUS.BUILD_DONE && this.options.dev) { return this } // If building + /* istanbul ignore if */ if (this._buildStatus === STATUS.BUILDING) { return new Promise((resolve) => { setTimeout(() => { @@ -287,6 +289,7 @@ export default class Builder extends Tapable { // Run after each compile this.compiler.plugin('done', stats => { // Don't reload failed builds + /* istanbul ignore if */ if (stats.hasErrors() || stats.hasWarnings()) { return } @@ -311,6 +314,7 @@ export default class Builder extends Tapable { } else { // Build and watch for changes compiler.watch(this.options.watchers.webpack, (err) => { + /* istanbul ignore if */ if (err) { return reject(err) } @@ -326,6 +330,7 @@ export default class Builder extends Tapable { if (err) return console.error(err) // eslint-disable-line no-console // Show build stats for production console.log(stats.toString(this.webpackStats)) // eslint-disable-line no-console + /* istanbul ignore if */ if (stats.hasErrors()) { return reject(new Error('Webpack build exited with errors')) } diff --git a/lib/builder/generator.js b/lib/builder/generator.js index 2589134043..081c624f6d 100644 --- a/lib/builder/generator.js +++ b/lib/builder/generator.js @@ -41,6 +41,7 @@ export default class Generator extends Tapable { debug('Destination folder cleaned') // Copy static and built files + /* istanbul ignore if */ if (fs.existsSync(srcStaticPath)) { await copy(srcStaticPath, distPath) } diff --git a/lib/builder/webpack/base.config.js b/lib/builder/webpack/base.config.js index ce1440d8fa..a5c0402376 100644 --- a/lib/builder/webpack/base.config.js +++ b/lib/builder/webpack/base.config.js @@ -18,6 +18,7 @@ import { styleLoader, extractStyles } from './helpers' export default function webpackBaseConfig ({ isClient, isServer }) { const nodeModulesDir = join(__dirname, '..', 'node_modules') + /* istanbul ignore if */ if (!Array.isArray(this.options.build.postcss)) { this.options.build.postcss = [ autoprefixer({ diff --git a/lib/builder/webpack/client.config.js b/lib/builder/webpack/client.config.js index da7e553555..c32348747c 100644 --- a/lib/builder/webpack/client.config.js +++ b/lib/builder/webpack/client.config.js @@ -57,6 +57,7 @@ export default function webpackClientConfig () { }) // Webpack common plugins + /* istanbul ignore if */ if (!Array.isArray(config.plugins)) { config.plugins = [] } diff --git a/lib/common/utils.js b/lib/common/utils.js index fcfe7eba4b..dae71bd461 100644 --- a/lib/common/utils.js +++ b/lib/common/utils.js @@ -105,6 +105,7 @@ export function r () { export function flatRoutes (router, path = '', routes = []) { router.forEach((r) => { if (!r.path.includes(':') && !r.path.includes('*')) { + /* istanbul ignore if */ if (r.children) { flatRoutes(r.children, path + r.path + '/', routes) } else { diff --git a/lib/core/module.js b/lib/core/module.js index fdd2746764..e18380ff0f 100755 --- a/lib/core/module.js +++ b/lib/core/module.js @@ -38,6 +38,7 @@ export default class ModuleContainer extends Tapable { const srcPath = path.parse(src) /* istanbul ignore if */ if (!src || typeof src !== 'string' || !fs.existsSync(src)) { + /* istanbul ignore next */ debug('[nuxt] invalid template', template) return } diff --git a/lib/core/nuxt.js b/lib/core/nuxt.js index a6f9ffd510..4b05742a0c 100644 --- a/lib/core/nuxt.js +++ b/lib/core/nuxt.js @@ -38,7 +38,7 @@ export default class Nuxt extends Tapable { return this } - errorHandler () { + errorHandler /* istanbul ignore next */ () { // Silent if (this.options.errorHandler === false) { return diff --git a/lib/core/options.js b/lib/core/options.js index 498ec8c30d..90e990b3eb 100755 --- a/lib/core/options.js +++ b/lib/core/options.js @@ -36,6 +36,7 @@ export default function Options (_options) { } // Ignore publicPath on dev + /* istanbul ignore if */ if (options.dev && isUrl(options.build.publicPath)) { options.build.publicPath = defaultOptions.build.publicPath } diff --git a/lib/core/renderer.js b/lib/core/renderer.js index b688b25b99..a30ebb35b1 100644 --- a/lib/core/renderer.js +++ b/lib/core/renderer.js @@ -1,17 +1,16 @@ -import ansiHTML from 'ansi-html' -import serialize from 'serialize-javascript' -import generateETag from 'etag' -import fresh from 'fresh' -import Tapable from 'tappable' -import pify from 'pify' -import serveStatic from 'serve-static' -import compression from 'compression' -import _ from 'lodash' -import { resolve, join } from 'path' -import fs from 'fs-extra' -import { createBundleRenderer } from 'vue-server-renderer' -import { getContext, setAnsiColors, encodeHtml } from 'utils' -import Debug from 'debug' +import ansiHTML from "ansi-html"; +import serialize from "serialize-javascript"; +import generateETag from "etag"; +import fresh from "fresh"; +import Tapable from "tappable"; +import pify from "pify"; +import compression from "compression"; +import _ from "lodash"; +import { join, resolve } from "path"; +import fs from "fs-extra"; +import { createBundleRenderer } from "vue-server-renderer"; +import { encodeHtml, getContext, setAnsiColors } from "utils"; +import Debug from "debug"; const debug = Debug('nuxt:render') debug.color = 4 // Force blue color @@ -46,6 +45,7 @@ export default class Renderer extends Tapable { } // Initialize + /* istanbul ignore if */ if (nuxt.initialized) { // If nuxt already initialized this._ready = this.ready().catch(this.nuxt.errorHandler) @@ -59,6 +59,7 @@ export default class Renderer extends Tapable { } async ready () { + /* istanbul ignore if */ if (this._ready) { return this._ready } @@ -122,6 +123,7 @@ export default class Renderer extends Tapable { } this.resources[rawKey] = rawData data = transform(rawData) + /* istanbul ignore if */ if (!data) { return // Invalid data ? } @@ -337,10 +339,9 @@ export default class Renderer extends Tapable { const { window } = await jsdom.JSDOM.fromURL(url, options) // If Nuxt could not be loaded (error from the server-side) const nuxtExists = window.document.body.innerHTML.includes('window.__NUXT__') + /* istanbul ignore if */ if (!nuxtExists) { - /* istanbul ignore next */ let error = new Error('Could not load the nuxt app') - /* istanbul ignore next */ error.body = window.document.body.innerHTML throw error } diff --git a/lib/core/server.js b/lib/core/server.js index 619f4c879f..2d855d073f 100644 --- a/lib/core/server.js +++ b/lib/core/server.js @@ -9,6 +9,7 @@ class Server { this.options = nuxt.options // Initialize + /* istanbul ignore if */ if (nuxt.initialized) { // If nuxt already initialized this._ready = this.ready().catch(this.nuxt.errorHandler) @@ -22,6 +23,7 @@ class Server { } async ready () { + /* istanbul ignore if */ if (this._ready) { return this._ready } From 4880bc85adfc8ec13a0f693c2ee6dcf9ea776e4e Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Mon, 19 Jun 2017 20:39:01 +0430 Subject: [PATCH 115/236] lint --- lib/core/renderer.js | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/lib/core/renderer.js b/lib/core/renderer.js index a30ebb35b1..a04fe58f0b 100644 --- a/lib/core/renderer.js +++ b/lib/core/renderer.js @@ -1,16 +1,17 @@ -import ansiHTML from "ansi-html"; -import serialize from "serialize-javascript"; -import generateETag from "etag"; -import fresh from "fresh"; -import Tapable from "tappable"; -import pify from "pify"; -import compression from "compression"; -import _ from "lodash"; -import { join, resolve } from "path"; -import fs from "fs-extra"; -import { createBundleRenderer } from "vue-server-renderer"; -import { encodeHtml, getContext, setAnsiColors } from "utils"; -import Debug from "debug"; +import ansiHTML from 'ansi-html' +import serialize from 'serialize-javascript' +import generateETag from 'etag' +import fresh from 'fresh' +import Tapable from 'tappable' +import pify from 'pify' +import serveStatic from 'serve-static' +import compression from 'compression' +import _ from 'lodash' +import { join, resolve } from 'path' +import fs from 'fs-extra' +import { createBundleRenderer } from 'vue-server-renderer' +import { encodeHtml, getContext, setAnsiColors } from 'utils' +import Debug from 'debug' const debug = Debug('nuxt:render') debug.color = 4 // Force blue color From 3a03b573397590f0ccf9d04dbcfaff90280b3bd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Mon, 19 Jun 2017 20:18:26 +0200 Subject: [PATCH 116/236] Delete dist before build & upgrade webpack 3 --- package.json | 5 +- yarn.lock | 129 +++++++++++++++++++-------------------------------- 2 files changed, 51 insertions(+), 83 deletions(-) diff --git a/package.json b/package.json index 57f1760ba1..c7cb03e8d8 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "test": "npm run lint && cross-env NODE_ENV=test npm run build && 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": "npm run build:core && npm run build:builder", + "build": "rimraf dist/ && npm run build:core && npm run build:builder", "build:core": "rollup -c rollup.config.js --environment TARGET:core", "watch": "npm run build:core -- -w", "build:builder": "rollup -c rollup.config.js --environment TARGET:builder", @@ -110,7 +110,7 @@ "vue-ssr-html-stream": "^2.2.0", "vue-template-compiler": "~2.3.4", "vuex": "^2.3.1", - "webpack": "^3.0.0-rc.2", + "webpack": "^3.0.0", "webpack-bundle-analyzer": "^2.8.2", "webpack-dev-middleware": "^1.10.2", "webpack-hot-middleware": "^2.18.0", @@ -142,6 +142,7 @@ "nyc": "^11.0.2", "request": "^2.81.0", "request-promise-native": "^1.0.4", + "rimraf": "^2.6.1", "rollup": "^0.43.0", "rollup-plugin-alias": "^1.3.1", "rollup-plugin-babel": "^2.7.1", diff --git a/yarn.lock b/yarn.lock index 46506bed45..fd27d98524 100644 --- a/yarn.lock +++ b/yarn.lock @@ -56,10 +56,6 @@ abbrev@1: version "1.1.0" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f" -abbrev@1.0.x: - version "1.0.9" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" - accepts@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca" @@ -293,7 +289,7 @@ async-each@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" -async@1.x, async@^1.4.0, async@^1.5.0: +async@^1.4.0, async@^1.5.0: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" @@ -1110,8 +1106,8 @@ babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.23.0, babel-types@^6.24 to-fast-properties "^1.0.1" babylon@^6.1.0, babylon@^6.13.0, babylon@^6.17.0, babylon@^6.17.2: - version "6.17.3" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.3.tgz#1327d709950b558f204e5352587fd0290f8d8e48" + version "6.17.4" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.4.tgz#3e8b7402b88d22c3423e137a1577883b15ff869a" balanced-match@^0.4.2: version "0.4.2" @@ -1372,12 +1368,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.30000690" - resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000690.tgz#ee4e0750070f6aae6f40e76477984449bd6cb48a" + version "1.0.30000692" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000692.tgz#3da9a99353adbcea1e142b99f60ecc6216df47a5" caniuse-lite@^1.0.30000670, caniuse-lite@^1.0.30000684: - version "1.0.30000690" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000690.tgz#3b232dbc0cf32bc2a888ec199852a50afa37f5ef" + version "1.0.30000692" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000692.tgz#34600fd7152352d85a47f4662a3b51b02d8b646f" capture-stack-trace@^1.0.0: version "1.0.0" @@ -2194,8 +2190,8 @@ deep-is@~0.1.3: resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" deepmerge@^1.3.2: - version "1.4.3" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-1.4.3.tgz#f8c9ecb11c176b3dbfc8167b58cc5674c5e658bb" + version "1.4.4" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-1.4.4.tgz#40ef393c91af09d16a887e755337844230ad14c9" default-require-extensions@^1.0.0: version "1.0.0" @@ -2531,7 +2527,7 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.4, escape-string-regexp@^ version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" -escodegen@1.8.x, escodegen@^1.6.1: +escodegen@^1.6.1: version "1.8.1" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" dependencies: @@ -2668,7 +2664,7 @@ espree@^3.4.3: acorn "^5.0.1" acorn-jsx "^3.0.0" -esprima@2.7.x, esprima@^2.6.0, esprima@^2.7.1: +esprima@^2.6.0, esprima@^2.7.1: version "2.7.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" @@ -3158,16 +3154,6 @@ glob-parent@^2.0.0: dependencies: is-glob "^2.0.0" -glob@^5.0.15: - version "5.0.15" - resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "2 || 3" - once "^1.3.0" - path-is-absolute "^1.0.0" - glob@^6.0.4: version "6.0.4" resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" @@ -3244,7 +3230,7 @@ gzip-size@^3.0.0: dependencies: duplexer "^0.1.1" -handlebars@^4.0.1, handlebars@^4.0.2, handlebars@^4.0.3: +handlebars@^4.0.2, handlebars@^4.0.3: version "4.0.10" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.10.tgz#3d30c718b09a3d96f23ea4cc1f403c4d3ba9ff4f" dependencies: @@ -3519,7 +3505,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1: +inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" @@ -3857,25 +3843,6 @@ istanbul-reports@^1.1.1: dependencies: handlebars "^4.0.3" -istanbul@^0.4.2: - version "0.4.5" - resolved "https://registry.yarnpkg.com/istanbul/-/istanbul-0.4.5.tgz#65c7d73d4c4da84d4f3ac310b918fb0b8033733b" - dependencies: - abbrev "1.0.x" - async "1.x" - escodegen "1.8.x" - esprima "2.7.x" - glob "^5.0.15" - handlebars "^4.0.1" - js-yaml "3.x" - mkdirp "0.5.x" - nopt "3.x" - once "1.x" - resolve "1.1.x" - supports-color "^3.1.0" - which "^1.1.1" - wordwrap "^1.0.0" - jest-diff@19.0.0, jest-diff@^19.0.0: version "19.0.0" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-19.0.0.tgz#d1563cfc56c8b60232988fbc05d4d16ed90f063c" @@ -3958,7 +3925,7 @@ js-tokens@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" -js-yaml@3.x, js-yaml@^3.4.3, js-yaml@^3.8.2, js-yaml@^3.8.4: +js-yaml@^3.4.3, js-yaml@^3.8.2, js-yaml@^3.8.4: version "3.8.4" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.4.tgz#520b4564f86573ba96662af85a8cafa7b4b5a6f6" dependencies: @@ -4411,10 +4378,10 @@ merge-descriptors@1.0.1: resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" merge-source-map@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.0.3.tgz#da1415f2722a5119db07b14c4f973410863a2abf" + version "1.0.4" + resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.0.4.tgz#a5de46538dae84d4114cc5ea02b4772a6346701f" dependencies: - source-map "^0.5.3" + source-map "^0.5.6" methods@~1.1.2: version "1.1.2" @@ -4497,7 +4464,7 @@ minimist@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.1.0.tgz#99df657a52574c21c9057497df742790b2b4c0de" -mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: +"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: @@ -4611,12 +4578,6 @@ node-pre-gyp@^0.6.36: tar "^2.2.1" tar-pack "^3.4.0" -nopt@3.x, nopt@~3.0.1: - version "3.0.6" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" - dependencies: - abbrev "1" - nopt@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" @@ -4624,6 +4585,12 @@ nopt@^4.0.1: abbrev "1" osenv "^0.1.4" +nopt@~3.0.1: + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + dependencies: + abbrev "1" + normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5: version "2.3.8" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.8.tgz#d819eda2a9dedbd1ffa563ea4071d936782295bb" @@ -4688,8 +4655,8 @@ number-is-nan@^1.0.0: resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" "nwmatcher@>= 1.3.9 < 2.0.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/nwmatcher/-/nwmatcher-1.4.0.tgz#b4389362170e7ef9798c3c7716d80ebc0106fccf" + version "1.4.1" + resolved "https://registry.yarnpkg.com/nwmatcher/-/nwmatcher-1.4.1.tgz#7ae9b07b0ea804db7e25f05cb5fe4097d4e4949f" nyc@^11.0.2: version "11.0.2" @@ -4777,7 +4744,7 @@ on-headers@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7" -once@1.x, once@^1.3.0, once@^1.3.3: +once@^1.3.0, once@^1.3.3: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" dependencies: @@ -5572,14 +5539,14 @@ readable-stream@1.0: string_decoder "~0.10.x" readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.6: - version "2.2.11" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.11.tgz#0796b31f8d7688007ff0b93a8088d34aa17c0f72" + version "2.3.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.0.tgz#640f5dcda88c91a8dc60787145629170813a1ed2" dependencies: core-util-is "~1.0.0" - inherits "~2.0.1" + inherits "~2.0.3" isarray "~1.0.0" process-nextick-args "~1.0.6" - safe-buffer "~5.0.1" + safe-buffer "~5.1.0" string_decoder "~1.0.0" util-deprecate "~1.0.1" @@ -5824,7 +5791,7 @@ resolve-from@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" -resolve@1.1.7, resolve@1.1.x: +resolve@1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" @@ -5885,13 +5852,6 @@ rollup-plugin-commonjs@^8.0.2: resolve "^1.1.7" rollup-pluginutils "^2.0.1" -rollup-plugin-istanbul@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/rollup-plugin-istanbul/-/rollup-plugin-istanbul-1.1.0.tgz#581cf52e47e54a0bbaf782d4f4cde9594d1f01f9" - dependencies: - istanbul "^0.4.2" - rollup-pluginutils "^1.3.1" - rollup-plugin-node-resolve@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.0.0.tgz#8b897c4c3030d5001277b0514b25d2ca09683ee0" @@ -5909,7 +5869,7 @@ rollup-plugin-replace@^1.1.1: minimatch "^3.0.2" rollup-pluginutils "^1.5.0" -rollup-pluginutils@^1.3.1, rollup-pluginutils@^1.5.0: +rollup-pluginutils@^1.5.0: version "1.5.2" resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz#1e156e778f94b7255bfa1b3d0178be8f5c552408" dependencies: @@ -5946,7 +5906,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.0.1, safe-buffer@^5.1.0, safe-buffer@~5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.0.tgz#fe4c8460397f9eaaaa58e73be46273408a45e223" @@ -6527,7 +6487,7 @@ uglify-js@3.0.x, uglify-js@^3.0.18: commander "~2.9.0" source-map "~0.5.1" -uglify-js@^2.6, uglify-js@^2.8.27: +uglify-js@^2.6: version "2.8.29" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" dependencies: @@ -6540,6 +6500,13 @@ uglify-to-browserify@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" +uglifyjs-webpack-plugin@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.4.tgz#7829c50ee5a5b755969d4458357ed5a2dd36fbbd" + dependencies: + source-map "^0.5.6" + webpack-sources "^1.0.1" + uid-number@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" @@ -6840,9 +6807,9 @@ webpack-sources@^1.0.1: source-list-map "^2.0.0" source-map "~0.5.3" -webpack@^3.0.0-rc.2: - version "3.0.0-rc.2" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.0.0-rc.2.tgz#20c903580fa9fba8497bc1c6455810d3d397c958" +webpack@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.0.0.tgz#ee9bcebf21247f7153cb410168cab45e3a59d4d7" dependencies: acorn "^5.0.0" acorn-dynamic-import "^2.0.0" @@ -6862,7 +6829,7 @@ webpack@^3.0.0-rc.2: source-map "^0.5.3" supports-color "^3.1.0" tapable "~0.2.5" - uglify-js "^2.8.27" + uglifyjs-webpack-plugin "^0.4.4" watchpack "^1.3.1" webpack-sources "^1.0.1" yargs "^6.0.0" @@ -6892,7 +6859,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.1.1, which@^1.2.4, which@^1.2.8, which@^1.2.9: +which@^1.2.4, which@^1.2.8, which@^1.2.9: version "1.2.14" resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5" dependencies: @@ -6918,7 +6885,7 @@ 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@^1.0.0, wordwrap@~1.0.0: +wordwrap@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" From 4f9684e11779bc5c599c52577e3a7e383ce799b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Mon, 19 Jun 2017 20:20:51 +0200 Subject: [PATCH 117/236] Remove ~store & ~router --- examples/typescript/tsconfig.json | 4 +--- lib/builder/webpack/base.config.js | 2 -- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/examples/typescript/tsconfig.json b/examples/typescript/tsconfig.json index e2812a86cd..3a40a830cd 100644 --- a/examples/typescript/tsconfig.json +++ b/examples/typescript/tsconfig.json @@ -23,9 +23,7 @@ "~middleware/*": ["./middleware/*"], "~pages/*": ["./pages/*"], "~plugins/*": ["./plugins/*"], - "~static/*": ["./static/*"], - "~store": ["./.nuxt/store"], - "~router": ["./.nuxt/router"] + "~static/*": ["./static/*"] } } } diff --git a/lib/builder/webpack/base.config.js b/lib/builder/webpack/base.config.js index a5c0402376..ccb894ebd3 100644 --- a/lib/builder/webpack/base.config.js +++ b/lib/builder/webpack/base.config.js @@ -54,8 +54,6 @@ export default function webpackBaseConfig ({ isClient, isServer }) { 'assets': join(this.options.srcDir, 'assets'), // use in template with '~assets': join(this.options.srcDir, 'assets'), '~plugins': join(this.options.srcDir, 'plugins'), - '~store': join(this.options.buildDir, 'store'), - '~router': join(this.options.buildDir, 'router'), '~pages': join(this.options.srcDir, 'pages'), '~components': join(this.options.srcDir, 'components') }, From b6d82a7c5b9655b31fa343dfcc3d036eb590ad9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Mon, 19 Jun 2017 20:31:50 +0200 Subject: [PATCH 118/236] No need to use next --- examples/typescript/modules/typescript.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/examples/typescript/modules/typescript.js b/examples/typescript/modules/typescript.js index efa5413d97..ec98f8fd26 100644 --- a/examples/typescript/modules/typescript.js +++ b/examples/typescript/modules/typescript.js @@ -1,4 +1,4 @@ -module.exports = function (options, next) { +module.exports = function (options) { // Extend build this.extendBuild((config) => { // Add TypeScript loader @@ -13,6 +13,4 @@ module.exports = function (options, next) { } } }) - - next() } From 8378a772e5a79f3c8f67e944b2547e1e728282b5 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Mon, 19 Jun 2017 23:45:59 +0430 Subject: [PATCH 119/236] webpack3: Scope Hoisting --- lib/builder/webpack/base.config.js | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/lib/builder/webpack/base.config.js b/lib/builder/webpack/base.config.js index ccb894ebd3..e7396fe027 100644 --- a/lib/builder/webpack/base.config.js +++ b/lib/builder/webpack/base.config.js @@ -1,11 +1,11 @@ -import ExtractTextPlugin from 'extract-text-webpack-plugin' -import { defaults, cloneDeep } from 'lodash' -import { join, resolve } from 'path' -import webpack from 'webpack' -import { isUrl, urlJoin } from 'utils' -import autoprefixer from 'autoprefixer' -import vueLoaderConfig from './vue-loader.config' -import { styleLoader, extractStyles } from './helpers' +import ExtractTextPlugin from "extract-text-webpack-plugin"; +import { cloneDeep, defaults } from "lodash"; +import { join, resolve } from "path"; +import webpack from "webpack"; +import { isUrl, urlJoin } from "utils"; +import autoprefixer from "autoprefixer"; +import vueLoaderConfig from "./vue-loader.config"; +import { extractStyles, styleLoader } from "./helpers"; /* |-------------------------------------------------------------------------- @@ -136,6 +136,11 @@ export default function webpackBaseConfig ({ isClient, isServer }) { minimize: true }) ) + + // Scope Hoisting + config.plugins.push( + new webpack.optimize.ModuleConcatenationPlugin() + ) } // Clone deep avoid leaking config between Client and Server From adb43fbc102f2355c4234279670db1984a81d88e Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Tue, 20 Jun 2017 00:44:13 +0430 Subject: [PATCH 120/236] better production source maps --- lib/builder/webpack/base.config.js | 18 +++++++++--------- lib/builder/webpack/server.config.js | 3 ++- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/lib/builder/webpack/base.config.js b/lib/builder/webpack/base.config.js index e7396fe027..77592a731a 100644 --- a/lib/builder/webpack/base.config.js +++ b/lib/builder/webpack/base.config.js @@ -1,11 +1,11 @@ -import ExtractTextPlugin from "extract-text-webpack-plugin"; -import { cloneDeep, defaults } from "lodash"; -import { join, resolve } from "path"; -import webpack from "webpack"; -import { isUrl, urlJoin } from "utils"; -import autoprefixer from "autoprefixer"; -import vueLoaderConfig from "./vue-loader.config"; -import { extractStyles, styleLoader } from "./helpers"; +import ExtractTextPlugin from 'extract-text-webpack-plugin' +import { defaults, cloneDeep } from 'lodash' +import { join, resolve } from 'path' +import webpack from 'webpack' +import { isUrl, urlJoin } from 'utils' +import autoprefixer from 'autoprefixer' +import vueLoaderConfig from './vue-loader.config' +import { styleLoader, extractStyles } from './helpers' /* |-------------------------------------------------------------------------- @@ -28,7 +28,7 @@ export default function webpackBaseConfig ({ isClient, isServer }) { } const config = { - devtool: this.options.dev ? 'cheap-module-source-map' : false, + devtool: this.options.dev ? 'cheap-module-source-map' : 'nosources-source-map', entry: { vendor: ['vue', 'vue-router', 'vue-meta'] }, diff --git a/lib/builder/webpack/server.config.js b/lib/builder/webpack/server.config.js index 185a19a0fe..01a2fbf1d0 100644 --- a/lib/builder/webpack/server.config.js +++ b/lib/builder/webpack/server.config.js @@ -23,7 +23,8 @@ export default function webpackServerConfig () { config = Object.assign(config, { target: 'node', - devtool: (this.options.dev ? 'source-map' : false), + node: false, + devtool: 'source-map', entry: resolve(this.options.buildDir, 'server.js'), output: Object.assign({}, config.output, { filename: 'server-bundle.js', From 9fe3f0d334a8579319168d9deca9a08a8dc2e3ad Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Tue, 20 Jun 2017 01:15:48 +0430 Subject: [PATCH 121/236] webpack3: temporary disable scope hoisting Currently it makes trouble with context.require --- lib/builder/webpack/base.config.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/builder/webpack/base.config.js b/lib/builder/webpack/base.config.js index 77592a731a..97e0c4367b 100644 --- a/lib/builder/webpack/base.config.js +++ b/lib/builder/webpack/base.config.js @@ -138,9 +138,9 @@ export default function webpackBaseConfig ({ isClient, isServer }) { ) // Scope Hoisting - config.plugins.push( - new webpack.optimize.ModuleConcatenationPlugin() - ) + // config.plugins.push( + // new webpack.optimize.ModuleConcatenationPlugin() + // ) } // Clone deep avoid leaking config between Client and Server From d9a01c25f16c6759a4e96db5e8a90b62ea19b561 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Tue, 20 Jun 2017 01:33:55 +0430 Subject: [PATCH 122/236] deprecated options.build.ssr --- lib/core/renderer.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/core/renderer.js b/lib/core/renderer.js index a04fe58f0b..8fce6fb271 100644 --- a/lib/core/renderer.js +++ b/lib/core/renderer.js @@ -149,7 +149,11 @@ export default class Renderer extends Tapable { clientManifest: this.resources.clientManifest, runInNewContext: false, basedir: this.options.rootDir - }, this.options.render.ssr)) + }, this.options.render.ssr, this.options.build.ssr)) + + if(this.options.build.ssr) { + console.warn('[nuxt] `build.ssr` is deprecated and will be removed in 1.0 release, please use `renderer.ssr` instead!') + } // Promisify renderToString this.bundleRenderer.renderToString = pify(this.bundleRenderer.renderToString) From 664ce126627f9ffe5b773f70f611919c277ff557 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Mon, 19 Jun 2017 23:30:05 +0200 Subject: [PATCH 123/236] Fix: transition property beeing a function --- lib/app/client.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/app/client.js b/lib/app/client.js index fb0745b3d1..84eb3d1933 100644 --- a/lib/app/client.js +++ b/lib/app/client.js @@ -14,20 +14,21 @@ let router <%= (store ? 'let store' : '') %> function mapTransitions(Components, to, from) { - function componentTransitions(component) { + const componentTransitions = (component) => { if (!component || !component.options || !component.options.transition) { return {} } - if(typeof component.options.transition === 'function') { - return component.options.transition(to, from) + let transition = component.options.transition + if (typeof transition === 'function') { + transition = transition(to, from) } - return component.options.transition + return (typeof transition === 'string' ? { name: transition } : transition) } return Components.map((Component) => { // Clone original object to prevent overrides const transitions = Object.assign({}, componentTransitions(Component)) - // Combine transitions & prefer *leave* transitions of 'from' route - if(from && from.matched.length && from.matched[0].components.default) { + // Combine transitions & prefer `leave` transitions of 'from' route + if (from && from.matched.length && from.matched[0].components.default) { const from_transitions = componentTransitions(from.matched[0].components.default) Object.keys(from_transitions) .filter(key => from_transitions[key] && key.toLowerCase().indexOf('leave') !== -1) From be8191de6071a2b5b54fce821779d4e17426408d Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Tue, 20 Jun 2017 02:40:54 +0430 Subject: [PATCH 124/236] protect serving SSR assets in production --- lib/core/renderer.js | 54 ++++++++++++++++++++++++-------------------- 1 file changed, 30 insertions(+), 24 deletions(-) diff --git a/lib/core/renderer.js b/lib/core/renderer.js index 8fce6fb271..ab6bdc9402 100644 --- a/lib/core/renderer.js +++ b/lib/core/renderer.js @@ -24,6 +24,27 @@ const parseTemplate = templateStr => _.template(templateStr, { interpolate: /{{([\s\S]+?)}}/g }) +const resourceMap = [ + { + key: 'clientManifest', + fileName: 'vue-ssr-client-manifest.json', + transform: JSON.parse + }, + { + key: 'serverBundle', + fileName: 'server-bundle.json', + transform: JSON.parse + }, + { + key: 'appTemplate', + fileName: 'index.html', + transform: parseTemplate + } +] + +// Protector utility against request to SSR bundle files +const ssrResourceRegex = new RegExp(resourceMap.map(resource => resource.fileName).join('|'), 'i') + export default class Renderer extends Tapable { constructor (nuxt) { super() @@ -91,29 +112,15 @@ export default class Renderer extends Tapable { return this } - async loadResources (_fs = fs, isServer) { + async loadResources (_fs) { let distPath = resolve(this.options.buildDir, 'dist') - const resourceMap = { - clientManifest: { - path: join(distPath, 'vue-ssr-client-manifest.json'), - transform: JSON.parse - }, - serverBundle: { - path: join(distPath, 'server-bundle.json'), - transform: JSON.parse - }, - appTemplate: { - path: join(distPath, 'index.html'), - transform: parseTemplate - } - } - let updated = [] - Object.keys(resourceMap).forEach(resourceKey => { - let { path, transform } = resourceMap[resourceKey] - let rawKey = '$$' + resourceKey + resourceMap.forEach(({ key, fileName, transform }) => { + let rawKey = '$$' + key + const path = join(distPath, fileName) + let rawData, data if (!_fs.existsSync(path)) { return // Resource not exists @@ -128,8 +135,8 @@ export default class Renderer extends Tapable { if (!data) { return // Invalid data ? } - this.resources[resourceKey] = data - updated.push(resourceKey) + this.resources[key] = data + updated.push(key) }) if (updated.length > 0) { @@ -151,7 +158,7 @@ export default class Renderer extends Tapable { basedir: this.options.rootDir }, this.options.render.ssr, this.options.build.ssr)) - if(this.options.build.ssr) { + if (this.options.build.ssr) { console.warn('[nuxt] `build.ssr` is deprecated and will be removed in 1.0 release, please use `renderer.ssr` instead!') } @@ -189,8 +196,7 @@ export default class Renderer extends Tapable { await this.serveStatic(req, res) // Serve .nuxt/dist/ files (only for production) - const isValidExtension = (req.url.slice(-3) === '.js') || (req.url.slice(-4) === '.css') || (req.url.slice(-4) === '.map') - if (!this.options.dev && isValidExtension) { + if (!this.options.dev && !ssrResourceRegex.test(req.url)) { const url = req.url if (req.url.indexOf(this.options.build.publicPath) === 0) { req.url = req.url.replace(this.options.build.publicPath, '/') From 041d5c37a05b2b31a05fa72254a7f34bc52630a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Tue, 20 Jun 2017 00:34:50 +0200 Subject: [PATCH 125/236] Fix path undefined when refreshing files --- lib/builder/builder.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/builder/builder.js b/lib/builder/builder.js index 1fcb834c59..751a8a7e7b 100644 --- a/lib/builder/builder.js +++ b/lib/builder/builder.js @@ -389,7 +389,7 @@ export default class Builder extends Tapable { ignoreInitial: true }) /* istanbul ignore next */ - const refreshFiles = _.debounce(this.generateRoutesAndFiles, 200) + const refreshFiles = _.debounce(() => this.generateRoutesAndFiles(), 200) // Watch for src Files let filesWatcher = chokidar.watch(patterns, options) From 0c68b67dcd5243b3562c18b8d60ef3fc5446ccfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Tue, 20 Jun 2017 01:04:01 +0200 Subject: [PATCH 126/236] Update maxEntrypointSize --- lib/builder/webpack/base.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/builder/webpack/base.config.js b/lib/builder/webpack/base.config.js index ccb894ebd3..9661516302 100644 --- a/lib/builder/webpack/base.config.js +++ b/lib/builder/webpack/base.config.js @@ -40,7 +40,7 @@ export default function webpackBaseConfig ({ isClient, isServer }) { : urlJoin(this.options.router.base, this.options.build.publicPath)) }, performance: { - maxEntrypointSize: 300000, + maxEntrypointSize: 1000000, maxAssetSize: 300000, hints: this.options.dev ? false : 'warning' }, From 4a66a1085def32aa2be4f9e817c3e7e61e4bbf7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Tue, 20 Jun 2017 01:04:23 +0200 Subject: [PATCH 127/236] Update vuetify example --- .../vendor/vuetify.styl => assets/app.styl} | 2 +- examples/with-vuetify/css/app.styl | 2 - .../css/vendor/material-icons.styl | 21 -------- examples/with-vuetify/layouts/default.vue | 45 ++++++++++++++++ examples/with-vuetify/nuxt.config.js | 30 +++++++---- examples/with-vuetify/package.json | 8 ++- examples/with-vuetify/pages/about.vue | 18 +++++++ examples/with-vuetify/pages/index.vue | 51 +++---------------- 8 files changed, 95 insertions(+), 82 deletions(-) rename examples/with-vuetify/{css/vendor/vuetify.styl => assets/app.styl} (86%) delete mode 100644 examples/with-vuetify/css/app.styl delete mode 100644 examples/with-vuetify/css/vendor/material-icons.styl create mode 100644 examples/with-vuetify/layouts/default.vue create mode 100644 examples/with-vuetify/pages/about.vue diff --git a/examples/with-vuetify/css/vendor/vuetify.styl b/examples/with-vuetify/assets/app.styl similarity index 86% rename from examples/with-vuetify/css/vendor/vuetify.styl rename to examples/with-vuetify/assets/app.styl index 6865590deb..66d746eb17 100644 --- a/examples/with-vuetify/css/vendor/vuetify.styl +++ b/examples/with-vuetify/assets/app.styl @@ -11,4 +11,4 @@ $theme := { } // Import Vuetify styling -@require '~vuetify/src/stylus/main.styl' +@require '~vuetify/src/stylus/main.styl' \ No newline at end of file diff --git a/examples/with-vuetify/css/app.styl b/examples/with-vuetify/css/app.styl deleted file mode 100644 index cd1c8f9dc8..0000000000 --- a/examples/with-vuetify/css/app.styl +++ /dev/null @@ -1,2 +0,0 @@ -@require './vendor/material-icons.styl' -@require './vendor/vuetify.styl' diff --git a/examples/with-vuetify/css/vendor/material-icons.styl b/examples/with-vuetify/css/vendor/material-icons.styl deleted file mode 100644 index a063664368..0000000000 --- a/examples/with-vuetify/css/vendor/material-icons.styl +++ /dev/null @@ -1,21 +0,0 @@ -@font-face { - font-family: 'Material Icons'; - font-style: normal; - font-weight: 400; - src: local('Material Icons'), local('MaterialIcons-Regular'), url(https://fonts.gstatic.com/s/materialicons/v22/2fcrYFNaTjcS6g4U3t-Y5UEw0lE80llgEseQY3FEmqw.woff2) format('woff2'); -} -.material-icons { - font-family: 'Material Icons'; - font-weight: normal; - font-style: normal; - font-size: 24px; - line-height: 1; - letter-spacing: normal; - text-transform: none; - display: inline-block; - white-space: nowrap; - word-wrap: normal; - direction: ltr; - -webkit-font-feature-settings: 'liga'; - -webkit-font-smoothing: antialiased; -} diff --git a/examples/with-vuetify/layouts/default.vue b/examples/with-vuetify/layouts/default.vue new file mode 100644 index 0000000000..7c8e435f8a --- /dev/null +++ b/examples/with-vuetify/layouts/default.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/examples/with-vuetify/nuxt.config.js b/examples/with-vuetify/nuxt.config.js index a01ebf437d..26034324a3 100644 --- a/examples/with-vuetify/nuxt.config.js +++ b/examples/with-vuetify/nuxt.config.js @@ -2,16 +2,28 @@ const { join } = require('path') module.exports = { - build: { - vendor: ['vuetify'] - }, - plugins: ['~plugins/vuetify.js'], - css: [ - { src: join(__dirname, 'css/app.styl'), lang: 'styl' } - ], + /* + ** Head elements + ** Add Roboto font and Material Icons + */ head: { link: [ - { rel: 'preload', as: 'style', href: 'https://fonts.googleapis.com/css?family=Roboto' } + { rel: 'stylesheet', type: 'text/css', href: 'https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Material+Icons' } ] - } + }, + /* + ** Add Vuetify into vendor.bundle.js + */ + build: { + vendor: ['vuetify'], + extractCSS: true + }, + /* + ** Load Vuetify into the app + */ + plugins: ['~plugins/vuetify'], + /* + ** Load Vuetify CSS globally + */ + css: ['~assets/app.styl'] } diff --git a/examples/with-vuetify/package.json b/examples/with-vuetify/package.json index baa308ca69..646947ae35 100644 --- a/examples/with-vuetify/package.json +++ b/examples/with-vuetify/package.json @@ -1,16 +1,14 @@ { "name": "with-vuetify", "dependencies": { - "nuxt": "^0.10.7", - "vuetify": "^0.11.1" + "nuxt": "latest", + "vuetify": "latest" }, "scripts": { "dev": "nuxt", "build": "nuxt build", "start": "nuxt start", - "generate": "nuxt generate", - "predeploy": "yarn run generate", - "deploy": "surge --domain nuxt-with-vuetify-example.surge.sh dist" + "generate": "nuxt generate" }, "devDependencies": { "stylus": "^0.54.5", diff --git a/examples/with-vuetify/pages/about.vue b/examples/with-vuetify/pages/about.vue new file mode 100644 index 0000000000..4a926dad1b --- /dev/null +++ b/examples/with-vuetify/pages/about.vue @@ -0,0 +1,18 @@ + + + \ No newline at end of file diff --git a/examples/with-vuetify/pages/index.vue b/examples/with-vuetify/pages/index.vue index 80916b3b54..52573bcb7d 100644 --- a/examples/with-vuetify/pages/index.vue +++ b/examples/with-vuetify/pages/index.vue @@ -1,45 +1,8 @@ - - - - +
+

Main content

+ Primary button + Secondary button + Success button +
+ \ No newline at end of file From 185dfc1ecf5ee77a341ae134df3cd143ad0ff01a Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Tue, 20 Jun 2017 03:45:57 +0430 Subject: [PATCH 128/236] move serverMiddleware to renderer --- lib/core/nuxt.js | 2 +- lib/core/renderer.js | 143 +++++++++++++++++++++++++++---------------- lib/core/server.js | 56 +++++------------ 3 files changed, 107 insertions(+), 94 deletions(-) diff --git a/lib/core/nuxt.js b/lib/core/nuxt.js index 4b05742a0c..38b98a5775 100644 --- a/lib/core/nuxt.js +++ b/lib/core/nuxt.js @@ -17,7 +17,7 @@ export default class Nuxt extends Tapable { this.renderer = new Renderer(this) // Backward compatibility - this.render = this.renderer.render.bind(this.renderer) + this.render = (...args) => this.renderer.app(...args) this.renderRoute = this.renderer.renderRoute.bind(this.renderer) this.renderAndGetWindow = this.renderer.renderAndGetWindow.bind(this.renderer) diff --git a/lib/core/renderer.js b/lib/core/renderer.js index ab6bdc9402..4e90542632 100644 --- a/lib/core/renderer.js +++ b/lib/core/renderer.js @@ -10,8 +10,9 @@ import _ from 'lodash' import { join, resolve } from 'path' import fs from 'fs-extra' import { createBundleRenderer } from 'vue-server-renderer' -import { encodeHtml, getContext, setAnsiColors } from 'utils' +import { encodeHtml, getContext, setAnsiColors, isUrl } from 'utils' import Debug from 'debug' +import connect from 'connect' const debug = Debug('nuxt:render') debug.color = 4 // Force blue color @@ -58,6 +59,9 @@ export default class Renderer extends Tapable { this.webpackDevMiddleware = null this.webpackHotMiddleware = null + // Create new connect instance + this.app = connect() + // Renderer runtime resources this.resources = { clientManifest: null, @@ -86,25 +90,16 @@ export default class Renderer extends Tapable { return this._ready } - // For serving static/ files to / - this.serveStatic = pify(serveStatic(resolve(this.options.srcDir, 'static'), this.options.render.static)) - - // For serving .nuxt/dist/ files - this.serveStaticNuxt = pify(serveStatic(resolve(this.options.buildDir, 'dist'), { - maxAge: (this.options.dev ? 0 : '1y') // 1 year in production - })) - - // GZIP middleware for production - if (!this.options.dev && this.options.render.gzip) { - this.gzipMiddleware = pify(compression(this.options.render.gzip)) - } + // Setup all middleWare + this.setupMiddleware() + // Load error template const errorTemplatePath = resolve(this.options.buildDir, 'views/error.html') if (fs.existsSync(errorTemplatePath)) { this.resources.errorTemplate = parseTemplate(fs.readFileSync(errorTemplatePath, 'utf8')) } - // Load resources from fs + // Load SSR resources from fs if (!this.options.dev) { await this.loadResources() } @@ -166,62 +161,105 @@ export default class Renderer extends Tapable { this.bundleRenderer.renderToString = pify(this.bundleRenderer.renderToString) } - async render (req, res) { - // Get context - const context = getContext(req, res) - res.statusCode = 200 - - try { - // Gzip middleware for production - if (this.gzipMiddleware) { - await this.gzipMiddleware(req, res) + useMiddleware (m) { + // Resolve + if (typeof m === 'string') { + let src = m + // Using ~ or ./ shorthand to resolve from project srcDir + if (src.indexOf('~') === 0 || src.indexOf('./') === 0) { + src = join(this.nuxt.options.srcDir, src.substr(1)) } + m = require(src) + } + // Use middleware + if (m instanceof Function) { + this.app.use(m) + } else if (m && m.path && m.handler) { + this.app.use(m.path, m.handler) + } + } + setupMiddleware () { + // Gzip middleware for production + if (!this.options.dev && this.options.render.gzip) { + this.useMiddleware(compression(this.options.render.gzip)) + } + + // Add User provided middleware + this.options.serverMiddleware.forEach(m => { + this.useMiddleware(m) + }) + + // Common URL checks + this.useMiddleware((req, res, next) => { // If base in req.url, remove it for the middleware and vue-router if (this.options.router.base !== '/' && req.url.indexOf(this.options.router.base) === 0) { - // Compatibility with base url for dev server req.url = req.url.replace(this.options.router.base, '/') } - - // Call webpack middleware only in development - if (this.webpackDevMiddleware) { - await this.webpackDevMiddleware(req, res) - } - - if (this.webpackHotMiddleware) { - await this.webpackHotMiddleware(req, res) - } - - // Serve static/ files - await this.serveStatic(req, res) - - // Serve .nuxt/dist/ files (only for production) - if (!this.options.dev && !ssrResourceRegex.test(req.url)) { - const url = req.url - if (req.url.indexOf(this.options.build.publicPath) === 0) { - req.url = req.url.replace(this.options.build.publicPath, '/') - } - await this.serveStaticNuxt(req, res) - /* istanbul ignore next */ - req.url = url - } - - if (this.options.dev && req.url.indexOf(this.options.build.publicPath) === 0 && req.url.includes('.hot-update.json')) { + // Prevent access to SSR resources + if (ssrResourceRegex.test(req.url)) { res.statusCode = 404 return res.end() } + next() + }) + // Remove publicPath from requests when it is pointing to CDN + if (isUrl(this.options.build.publicPath)) { + this.useMiddleware((req, res, next) => { + if (req.url.indexOf(this.options.build.publicPath) === 0) { + req.url = req.url.replace(this.options.build.publicPath, '/') + } + next() + }) + } + + // Add webpack middleware only for development + if (this.options.dev) { + this.useMiddleware(async (req, res, next) => { + if (req.url.includes('.hot-update.json')) { + res.statusCode = 404 + return res.end() + } + if (this.webpackDevMiddleware) { + await this.webpackDevMiddleware(req, res) + } + if (this.webpackHotMiddleware) { + await this.webpackHotMiddleware(req, res) + } + next() + }) + } + + // For serving static/ files to / + this.useMiddleware(serveStatic(resolve(this.options.srcDir, 'static'), this.options.render.static)) + + // Serve .nuxt/dist/ files only for production + // For dev they will be served with devMiddleware + if (!this.options.dev) { + this.useMiddleware(serveStatic(resolve(this.options.buildDir, 'dist'), { + maxAge: (this.options.dev ? 0 : '1y') // 1 year in production + })) + } + + // Finally use nuxtMiddleware + this.useMiddleware(this.nuxtMiddleware.bind(this)) + } + + async nuxtMiddleware (req, res) { + // Get context + const context = getContext(req, res) + res.statusCode = 200 + try { const { html, error, redirected, resourceHints } = await this.renderRoute(req.url, context) - if (redirected) { return html } - if (error) { res.statusCode = context.nuxt.error.statusCode || 500 } - // ETag header + // Add ETag header if (!error && this.options.render.etag) { const etag = generateETag(html, this.options.render.etag) if (fresh(req.headers, { etag })) { @@ -263,7 +301,6 @@ export default class Renderer extends Tapable { } // Render error template const html = this.resources.errorTemplate({ - /* istanbul ignore if */ error: err, stack: ansiHTML(encodeHtml(err.stack)) }) diff --git a/lib/core/server.js b/lib/core/server.js index 2d855d073f..f0d71fa051 100644 --- a/lib/core/server.js +++ b/lib/core/server.js @@ -1,6 +1,4 @@ import http from 'http' -import connect from 'connect' -import path from 'path' import chalk from 'chalk' class Server { @@ -20,6 +18,9 @@ class Server { return this._ready }) } + + // Stop server on nuxt.close() + this.nuxt.plugin('close', () => this.close()) } async ready () { @@ -28,59 +29,34 @@ class Server { return this._ready } - this.app = connect() - this.server = http.createServer(this.app) + this.render = this.nuxt.renderer.app + this.server = http.createServer(this.render) - // Add Middleware - this.options.serverMiddleware.forEach(m => { - this.useMiddleware(m) - }) - - // Add default render middleware - this.useMiddleware(this.render.bind(this)) - - return this - } - - useMiddleware (m) { - // Require if needed - if (typeof m === 'string') { - let src = m - // Using ~ or ./ shorthand to resolve from project srcDir - if (src.indexOf('~') === 0 || src.indexOf('./') === 0) { - src = path.join(this.nuxt.options.srcDir, src.substr(1)) - } - m = require(src) - } - if (m instanceof Function) { - this.app.use(m) - } else if (m && m.path && m.handler) { - this.app.use(m.path, m.handler) - } - } - - render (req, res, next) { - this.nuxt.render(req, res) return this } listen (port, host) { host = host || 'localhost' port = port || 3000 - this.nuxt.ready() + return this.ready() .then(() => { this.server.listen(port, host, () => { let _host = host === '0.0.0.0' ? 'localhost' : host // eslint-disable-next-line no-console console.log('\n' + chalk.bold(chalk.bgBlue.black(' OPEN ') + chalk.blue(` http://${_host}:${port}\n`))) }) - }) - .catch(this.nuxt.errorHandler) - return this + }).catch(this.nuxt.errorHandler) } - close (cb) { - return this.server.close(cb) + close () { + return new Promise((resolve, reject) => { + this.server.close(err => { + if (err) { + return reject(err) + } + resolve() + }) + }) } } From 0ee670c6653c36f5dfeba7829935456d5a35eaca Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Tue, 20 Jun 2017 03:53:57 +0430 Subject: [PATCH 129/236] eslint --- lib/core/renderer.js | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/core/renderer.js b/lib/core/renderer.js index 4e90542632..7bf6cc3c3c 100644 --- a/lib/core/renderer.js +++ b/lib/core/renderer.js @@ -154,6 +154,7 @@ export default class Renderer extends Tapable { }, this.options.render.ssr, this.options.build.ssr)) if (this.options.build.ssr) { + // eslint-disable-next-line no-console console.warn('[nuxt] `build.ssr` is deprecated and will be removed in 1.0 release, please use `renderer.ssr` instead!') } From 0b4b46c91e6c0fbe10828754f421db0c8d088192 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Tue, 20 Jun 2017 04:00:27 +0430 Subject: [PATCH 130/236] add missing default fs for loadResources --- lib/core/renderer.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/core/renderer.js b/lib/core/renderer.js index 7bf6cc3c3c..31cd8f3087 100644 --- a/lib/core/renderer.js +++ b/lib/core/renderer.js @@ -107,7 +107,7 @@ export default class Renderer extends Tapable { return this } - async loadResources (_fs) { + async loadResources (_fs = fs) { let distPath = resolve(this.options.buildDir, 'dist') let updated = [] From bf379fc0fd9d27ef2029e562719bbb555cb03497 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Tue, 20 Jun 2017 09:13:24 +0200 Subject: [PATCH 131/236] fix: dont serve index.html when url is / and remove publicPath in production --- lib/core/renderer.js | 7 ++++--- lib/core/server.js | 3 +-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/core/renderer.js b/lib/core/renderer.js index 31cd8f3087..fff8b2ec70 100644 --- a/lib/core/renderer.js +++ b/lib/core/renderer.js @@ -10,7 +10,7 @@ import _ from 'lodash' import { join, resolve } from 'path' import fs from 'fs-extra' import { createBundleRenderer } from 'vue-server-renderer' -import { encodeHtml, getContext, setAnsiColors, isUrl } from 'utils' +import { encodeHtml, getContext, setAnsiColors } from 'utils' import Debug from 'debug' import connect from 'connect' @@ -205,8 +205,8 @@ export default class Renderer extends Tapable { next() }) - // Remove publicPath from requests when it is pointing to CDN - if (isUrl(this.options.build.publicPath)) { + // Remove publicPath from requests in production mode + if (!this.options.dev) { this.useMiddleware((req, res, next) => { if (req.url.indexOf(this.options.build.publicPath) === 0) { req.url = req.url.replace(this.options.build.publicPath, '/') @@ -239,6 +239,7 @@ export default class Renderer extends Tapable { // For dev they will be served with devMiddleware if (!this.options.dev) { this.useMiddleware(serveStatic(resolve(this.options.buildDir, 'dist'), { + index: false, // Don't serve index.html template maxAge: (this.options.dev ? 0 : '1y') // 1 year in production })) } diff --git a/lib/core/server.js b/lib/core/server.js index f0d71fa051..cec7a7f3b6 100644 --- a/lib/core/server.js +++ b/lib/core/server.js @@ -29,8 +29,7 @@ class Server { return this._ready } - this.render = this.nuxt.renderer.app - this.server = http.createServer(this.render) + this.server = http.createServer(this.nuxt.render) return this } From daa50e4efbc69e42398fca44c9e8f9a6d80ec097 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Tue, 20 Jun 2017 16:14:47 +0430 Subject: [PATCH 132/236] refactor server into nuxt --- bin/nuxt-dev | 110 ++++++++++++++++++------------------ bin/nuxt-start | 12 ++-- lib/core/index.js | 2 - lib/core/nuxt.js | 34 ++++++++++- lib/core/renderer.js | 50 ++++++++-------- lib/core/server.js | 62 -------------------- test/basic.dev.test.js | 6 +- test/basic.generate.test.js | 2 +- test/basic.test.js | 6 +- test/children.test.js | 6 +- test/error.test.js | 6 +- test/module.test.js | 6 +- test/with-config.test.js | 6 +- 13 files changed, 139 insertions(+), 169 deletions(-) delete mode 100644 lib/core/server.js diff --git a/bin/nuxt-dev b/bin/nuxt-dev index b26fcbe623..419fe79a44 100755 --- a/bin/nuxt-dev +++ b/bin/nuxt-dev @@ -8,7 +8,7 @@ const debug = require('debug')('nuxt:build') debug.color = 2 // force green color const fs = require('fs') const parseArgs = require('minimist') -const { Nuxt, Server, Builder } = require('../') +const { Nuxt, Builder } = require('../') const chokidar = require('chokidar') const resolve = require('path').resolve @@ -50,64 +50,64 @@ if (argv.help) { const rootDir = resolve(argv._[0] || '.') const nuxtConfigFile = resolve(rootDir, argv['config-file']) -var options = {} -if (fs.existsSync(nuxtConfigFile)) { - options = require(nuxtConfigFile) -} else if (argv['config-file'] !== 'nuxt.config.js') { - console.error(`> Could not load config file ${argv['config-file']}`) - process.exit(1) -} -if (typeof options.rootDir !== 'string') { - options.rootDir = rootDir -} -// Force development mode: add hot reloading and watching changes -options.dev = true +// Load config once for chokidar +const nuxtConfig = loadNuxtConfig() +_.defaultsDeep(nuxtConfig, { watchers: { chokidar: { ignoreInitial: true } } }) -const nuxt = new Nuxt(options) -const builder = new Builder(nuxt) +// Start dev +let dev = startDev() -const port = argv.port || process.env.PORT || process.env.npm_package_config_nuxt_port -const host = argv.hostname || process.env.HOST || process.env.npm_package_config_nuxt_host -const server = new Server(nuxt) -server.listen(port, host) - -builder.build().then(() => { - listenOnConfigChanges(nuxt, server) -}) - -function listenOnConfigChanges (nuxt, server) { - // Listen on nuxt.config.js changes - const build = _.debounce(() => { +// Start watching for nuxt.config.js changes +chokidar + .watch(nuxtConfigFile, nuxtConfig.watchers.chokidar) + .on('all', _.debounce(() => { debug('[nuxt.config.js] changed') - delete require.cache[nuxtConfigFile] - var options = {} - if (fs.existsSync(nuxtConfigFile)) { - try { - options = require(nuxtConfigFile) - } catch (e) { - return console.error(e) // eslint-disable-line no-console - } - } + debug('Rebuilding the app...') + dev = dev.then(startDev) + }), 2500) - if (typeof options.rootDir !== 'string') { - options.rootDir = rootDir - } +function startDev (oldNuxt) { + // Get latest environment variables + const port = argv.port || process.env.PORT || process.env.npm_package_config_nuxt_port + const host = argv.hostname || process.env.HOST || process.env.npm_package_config_nuxt_host - nuxt.close() - .then(() => { - debug('Rebuilding the app...') - const nuxt = new Nuxt(options) - const builder = new Builder(nuxt) - server.nuxt = nuxt - return builder.build() - }) - .catch((error) => { - console.error('Error while rebuild the app:', error) // eslint-disable-line no-console - process.exit(1) - }) - }, 200) - chokidar.watch(nuxtConfigFile, Object.assign({}, nuxt.options.watchers.chokidar, { ignoreInitial: true })) - .on('all', build) + // Load options + let options = {} + try { + options = loadNuxtConfig() + } catch (err) { + console.error(err) + return // Wait for next reload + } + + // Create nuxt and builder instance + const nuxt = new Nuxt(options) + const builder = new Builder(nuxt) + + return Promise.resolve() + .then(() => builder.build()) // 1- Start build + .then(() => oldNuxt ? oldNuxt.close() : Promise.resolve()) // 2- Close old nuxt after successful build + .then(() => nuxt.listen(port, host)) // 3- Start listening + .then(() => nuxt) // 4- Pass new nuxt to watch chain } -module.exports = nuxt +function loadNuxtConfig () { + let options = {} + + if (fs.existsSync(nuxtConfigFile)) { + delete require.cache[nuxtConfigFile] + options = require(nuxtConfigFile) + } else if (argv['config-file'] !== 'nuxt.config.js') { + console.error(`> Could not load config file ${argv['config-file']}`) + process.exit(1) + } + + if (typeof options.rootDir !== 'string') { + options.rootDir = rootDir + } + + // Force development mode for add hot reloading and watching changes + options.dev = true + + return options +} diff --git a/bin/nuxt-start b/bin/nuxt-start index 97f5818f94..13551694aa 100755 --- a/bin/nuxt-start +++ b/bin/nuxt-start @@ -43,17 +43,21 @@ if (argv.help) { const rootDir = resolve(argv._[0] || '.') const nuxtConfigFile = resolve(rootDir, argv['config-file']) -var options = {} +let options = {} + if (fs.existsSync(nuxtConfigFile)) { options = require(nuxtConfigFile) } else if (argv['config-file'] !== 'nuxt.config.js') { console.error(`> Could not load config file ${argv['config-file']}`) process.exit(1) } + if (typeof options.rootDir !== 'string') { options.rootDir = rootDir } -options.dev = false // Force production mode (no webpack middleware called) + +// Force production mode (no webpack middleware called) +options.dev = false // Check if project is built for production const distDir = join(options.rootDir, options.buildDir || '.nuxt', 'dist' ) @@ -65,6 +69,4 @@ if (!fs.existsSync(join(distDir, 'server-bundle.json'))) { const nuxt = new Nuxt(options) const port = argv.port || process.env.PORT || process.env.npm_package_config_nuxt_port const host = argv.hostname || process.env.HOST || process.env.npm_package_config_nuxt_host -new Server(nuxt).listen(port, host) - -module.exports = nuxt +nuxt.listen(port, host) diff --git a/lib/core/index.js b/lib/core/index.js index 19e55a107e..4bf8a61bf0 100755 --- a/lib/core/index.js +++ b/lib/core/index.js @@ -2,7 +2,6 @@ import Options from './options' import ModuleContainer from './module' import Nuxt from './nuxt' import Renderer from './renderer' -import Server from './server' import * as Utils from 'utils' export default { @@ -10,6 +9,5 @@ export default { ModuleContainer, Nuxt, Renderer, - Server, Utils } diff --git a/lib/core/nuxt.js b/lib/core/nuxt.js index 38b98a5775..f8da1adc69 100644 --- a/lib/core/nuxt.js +++ b/lib/core/nuxt.js @@ -1,7 +1,12 @@ import Tapable from 'tappable' +import chalk from 'chalk' import ModuleContainer from './module' import Renderer from './renderer' import Options from './options' +import Debug from 'debug' + +const debug = Debug('nuxt:') +debug.color = 5 export default class Nuxt extends Tapable { constructor (_options = {}) { @@ -38,6 +43,34 @@ export default class Nuxt extends Tapable { return this } + listen (port = 3000, host = 'localhost') { + return new Promise((resolve, reject) => { + const server = this.renderer.app.listen({ port, host, exclusive: false }, err => { + if (err) { + return reject(err) + } + + // Show Open URL + let _host = host === '0.0.0.0' ? 'localhost' : host + // eslint-disable-next-line no-console + console.log('\n' + chalk.bold(chalk.bgBlue.black(' OPEN ') + chalk.blue(` http://${_host}:${port}\n`))) + + // Close server on nuxt close + this.plugin('close', () => new Promise((_resolve, _reject) => { + server.close(_err => { + debug('server closed') + if (_err) { + return _reject(err) + } + _resolve() + }) + })) + + resolve() + }) + }) + } + errorHandler /* istanbul ignore next */ () { // Silent if (this.options.errorHandler === false) { @@ -54,7 +87,6 @@ export default class Nuxt extends Tapable { } async close (callback) { - // Call for close await this.applyPluginsAsync('close') if (typeof callback === 'function') { diff --git a/lib/core/renderer.js b/lib/core/renderer.js index fff8b2ec70..d6352d738d 100644 --- a/lib/core/renderer.js +++ b/lib/core/renderer.js @@ -21,31 +21,6 @@ setAnsiColors(ansiHTML) let jsdom = null -const parseTemplate = templateStr => _.template(templateStr, { - interpolate: /{{([\s\S]+?)}}/g -}) - -const resourceMap = [ - { - key: 'clientManifest', - fileName: 'vue-ssr-client-manifest.json', - transform: JSON.parse - }, - { - key: 'serverBundle', - fileName: 'server-bundle.json', - transform: JSON.parse - }, - { - key: 'appTemplate', - fileName: 'index.html', - transform: parseTemplate - } -] - -// Protector utility against request to SSR bundle files -const ssrResourceRegex = new RegExp(resourceMap.map(resource => resource.fileName).join('|'), 'i') - export default class Renderer extends Tapable { constructor (nuxt) { super() @@ -403,3 +378,28 @@ export default class Renderer extends Tapable { return window } } + +const parseTemplate = templateStr => _.template(templateStr, { + interpolate: /{{([\s\S]+?)}}/g +}) + +const resourceMap = [ + { + key: 'clientManifest', + fileName: 'vue-ssr-client-manifest.json', + transform: JSON.parse + }, + { + key: 'serverBundle', + fileName: 'server-bundle.json', + transform: JSON.parse + }, + { + key: 'appTemplate', + fileName: 'index.html', + transform: parseTemplate + } +] + +// Protector utility against request to SSR bundle files +const ssrResourceRegex = new RegExp(resourceMap.map(resource => resource.fileName).join('|'), 'i') diff --git a/lib/core/server.js b/lib/core/server.js deleted file mode 100644 index cec7a7f3b6..0000000000 --- a/lib/core/server.js +++ /dev/null @@ -1,62 +0,0 @@ -import http from 'http' -import chalk from 'chalk' - -class Server { - constructor (nuxt) { - this.nuxt = nuxt - this.options = nuxt.options - - // 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 - }) - } - - // Stop server on nuxt.close() - this.nuxt.plugin('close', () => this.close()) - } - - async ready () { - /* istanbul ignore if */ - if (this._ready) { - return this._ready - } - - this.server = http.createServer(this.nuxt.render) - - return this - } - - listen (port, host) { - host = host || 'localhost' - port = port || 3000 - return this.ready() - .then(() => { - this.server.listen(port, host, () => { - let _host = host === '0.0.0.0' ? 'localhost' : host - // eslint-disable-next-line no-console - console.log('\n' + chalk.bold(chalk.bgBlue.black(' OPEN ') + chalk.blue(` http://${_host}:${port}\n`))) - }) - }).catch(this.nuxt.errorHandler) - } - - close () { - return new Promise((resolve, reject) => { - this.server.close(err => { - if (err) { - return reject(err) - } - resolve() - }) - }) - } -} - -export default Server diff --git a/test/basic.dev.test.js b/test/basic.dev.test.js index b0639decd8..1ca828d9d1 100644 --- a/test/basic.dev.test.js +++ b/test/basic.dev.test.js @@ -1,7 +1,7 @@ import test from 'ava' import { resolve } from 'path' import rp from 'request-promise-native' -import { Nuxt, Server, Builder } from '../index.js' +import { Nuxt, Builder } from '../index.js' const port = 4001 const url = (route) => 'http://localhost:' + port + route @@ -17,8 +17,8 @@ test.before('Init Nuxt.js', async t => { } nuxt = new Nuxt(options) await new Builder(nuxt).build() - server = new Server(nuxt) - server.listen(port, 'localhost') + + await nuxt.listen(port, 'localhost') }) test('/stateless', async t => { diff --git a/test/basic.generate.test.js b/test/basic.generate.test.js index b75e71a4b2..3e01db6c8a 100644 --- a/test/basic.generate.test.js +++ b/test/basic.generate.test.js @@ -30,7 +30,7 @@ test.before('Init Nuxt.js', async t => { server = http.createServer((req, res) => { serve(req, res, finalhandler(req, res)) }) - server.listen(port) + await nuxt.listen(port) }) test('/stateless', async t => { diff --git a/test/basic.test.js b/test/basic.test.js index e1fa0820eb..2d3abd389b 100755 --- a/test/basic.test.js +++ b/test/basic.test.js @@ -2,7 +2,7 @@ import test from 'ava' import { resolve } from 'path' import rp from 'request-promise-native' import stdMocks from 'std-mocks' -import { Nuxt, Server, Builder } from '../index.js' +import { Nuxt, Builder } from '../index.js' const port = 4003 const url = (route) => 'http://localhost:' + port + route @@ -19,8 +19,8 @@ test.before('Init Nuxt.js', async t => { } nuxt = new Nuxt(options) await new Builder(nuxt).build() - server = new Server(nuxt) - server.listen(port, 'localhost') + + await nuxt.listen(port, 'localhost') }) test('/stateless', async t => { diff --git a/test/children.test.js b/test/children.test.js index 6f5629df3b..98fe9d06c8 100644 --- a/test/children.test.js +++ b/test/children.test.js @@ -1,6 +1,6 @@ import test from 'ava' import { resolve } from 'path' -import { Nuxt, Server, Builder } from '../index.js' +import { Nuxt, Builder } from '../index.js' const port = 4004 // const url = (route) => 'http://localhost:' + port + route @@ -17,8 +17,8 @@ test.before('Init Nuxt.js', async t => { } nuxt = new Nuxt(options) await new Builder(nuxt).build() - server = new Server(nuxt) - server.listen(port, 'localhost') + + await nuxt.listen(port, 'localhost') }) test('/parent', async t => { diff --git a/test/error.test.js b/test/error.test.js index 7ed40fa136..44d7fcffec 100644 --- a/test/error.test.js +++ b/test/error.test.js @@ -1,6 +1,6 @@ import test from 'ava' import { resolve } from 'path' -import { Nuxt, Server, Builder } from '../index.js' +import { Nuxt, Builder } from '../index.js' const port = 4005 const url = (route) => 'http://localhost:' + port + route @@ -17,8 +17,8 @@ test.before('Init Nuxt.js', async t => { } nuxt = new Nuxt(options) await new Builder(nuxt).build() - server = new Server(nuxt) - server.listen(port, 'localhost') + + await nuxt.listen(port, 'localhost') }) test('/ should display an error', async t => { diff --git a/test/module.test.js b/test/module.test.js index 6745df79a4..69a409a7d4 100755 --- a/test/module.test.js +++ b/test/module.test.js @@ -1,7 +1,7 @@ import test from 'ava' import { resolve, normalize } from 'path' import rp from 'request-promise-native' -import { Nuxt, Server, Builder } from '../index.js' +import { Nuxt, Builder } from '../index.js' const port = 4006 const url = (route) => 'http://localhost:' + port + route @@ -18,8 +18,8 @@ test.before('Init Nuxt.js', async t => { config.runBuild = true nuxt = new Nuxt(config) await new Builder(nuxt).build() - server = new Server(nuxt) - server.listen(port, 'localhost') + + await nuxt.listen(port, 'localhost') }) test('Vendor', async t => { diff --git a/test/with-config.test.js b/test/with-config.test.js index 1b5b3169ad..2e281bd22f 100644 --- a/test/with-config.test.js +++ b/test/with-config.test.js @@ -1,7 +1,7 @@ import test from 'ava' import { resolve } from 'path' import rp from 'request-promise-native' -import { Nuxt, Server, Builder } from '../index.js' +import { Nuxt, Builder } from '../index.js' const port = 4007 const url = (route) => 'http://localhost:' + port + route @@ -18,8 +18,8 @@ test.before('Init Nuxt.js', async t => { config.runBuild = true nuxt = new Nuxt(config) await new Builder(nuxt).build() - server = new Server(nuxt) - server.listen(port, 'localhost') + + await nuxt.listen(port, 'localhost') }) test('/', async t => { From b6544637e094c47ad9d55f194921c83a61754ad5 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Tue, 20 Jun 2017 16:34:20 +0430 Subject: [PATCH 133/236] renderer: errorMiddleware Catch all middleware errors --- lib/core/nuxt.js | 2 +- lib/core/renderer.js | 46 ++++++++++++++++++++++++++++---------------- 2 files changed, 30 insertions(+), 18 deletions(-) diff --git a/lib/core/nuxt.js b/lib/core/nuxt.js index f8da1adc69..6d56f5c8fe 100644 --- a/lib/core/nuxt.js +++ b/lib/core/nuxt.js @@ -22,7 +22,7 @@ export default class Nuxt extends Tapable { this.renderer = new Renderer(this) // Backward compatibility - this.render = (...args) => this.renderer.app(...args) + this.render = this.renderer.app this.renderRoute = this.renderer.renderRoute.bind(this.renderer) this.renderAndGetWindow = this.renderer.renderAndGetWindow.bind(this.renderer) diff --git a/lib/core/renderer.js b/lib/core/renderer.js index d6352d738d..c54820eb82 100644 --- a/lib/core/renderer.js +++ b/lib/core/renderer.js @@ -45,6 +45,10 @@ export default class Renderer extends Tapable { errorTemplate: parseTemplate('
{{ stack }}
') // Will be loaded on ready } + // Bind middleware to this context + this.nuxtMiddleware = this.nuxtMiddleware.bind(this) + this.errorMiddleware = this.errorMiddleware.bind(this) + // Initialize /* istanbul ignore if */ if (nuxt.initialized) { @@ -220,10 +224,13 @@ export default class Renderer extends Tapable { } // Finally use nuxtMiddleware - this.useMiddleware(this.nuxtMiddleware.bind(this)) + this.useMiddleware(this.nuxtMiddleware) + + // Error middleware for errors that occurred in middleware that declared above + this.useMiddleware(this.errorMiddleware) } - async nuxtMiddleware (req, res) { + async nuxtMiddleware (req, res, next) { // Get context const context = getContext(req, res) res.statusCode = 200 @@ -271,23 +278,28 @@ export default class Renderer extends Tapable { res.end(html, 'utf8') return html } catch (err) { - /* istanbul ignore if */ - if (context.redirected) { - console.error(err) // eslint-disable-line no-console - return err - } - // Render error template - const html = this.resources.errorTemplate({ - error: err, - stack: ansiHTML(encodeHtml(err.stack)) - }) - // Send response - res.statusCode = 500 - res.setHeader('Content-Type', 'text/html; charset=utf-8') - res.setHeader('Content-Length', Buffer.byteLength(html)) - res.end(html, 'utf8') + next(this.errorMiddleware(err, req, res, next, context)) + } + } + + async errorMiddleware (err, req, res, next, context) { + /* istanbul ignore if */ + if (context && context.redirected) { + console.error(err) // eslint-disable-line no-console return err } + + // Render error template + const html = this.resources.errorTemplate({ + error: err, + stack: ansiHTML(encodeHtml(err.stack)) + }) + // Send response + res.statusCode = 500 + res.setHeader('Content-Type', 'text/html; charset=utf-8') + res.setHeader('Content-Length', Buffer.byteLength(html)) + res.end(html, 'utf8') + return err } async renderRoute (url, context = {}) { From 5ad640b294abe550e1227ab964192ca8ad3379b6 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Tue, 20 Jun 2017 16:42:21 +0430 Subject: [PATCH 134/236] use nuxt.js build target --- index.js | 8 +------- lib/core/nuxt.js | 10 +++++----- lib/index.js | 4 ++++ package.json | 8 ++++---- rollup.config.js | 4 ++++ 5 files changed, 18 insertions(+), 16 deletions(-) create mode 100755 lib/index.js diff --git a/index.js b/index.js index a76dbcf80a..c3cdb2cec0 100644 --- a/index.js +++ b/index.js @@ -13,10 +13,4 @@ require('source-map-support').install(); /* istanbul ignore else */ process.noDeprecation = true -// Require Core -const Core = require('./dist/core.js') -Object.assign(exports, Core) - -// Require Builder -const Builder = require('./dist/builder.js') -Object.assign(exports, Builder) +module.exports = require('./dist/nuxt') diff --git a/lib/core/nuxt.js b/lib/core/nuxt.js index 6d56f5c8fe..482c96b210 100644 --- a/lib/core/nuxt.js +++ b/lib/core/nuxt.js @@ -56,13 +56,13 @@ export default class Nuxt extends Tapable { console.log('\n' + chalk.bold(chalk.bgBlue.black(' OPEN ') + chalk.blue(` http://${_host}:${port}\n`))) // Close server on nuxt close - this.plugin('close', () => new Promise((_resolve, _reject) => { - server.close(_err => { + this.plugin('close', () => new Promise((resolve, reject) => { + server.close(err => { debug('server closed') - if (_err) { - return _reject(err) + if (err) { + return reject(err) } - _resolve() + resolve() }) })) diff --git a/lib/index.js b/lib/index.js new file mode 100755 index 0000000000..bb877e8e7c --- /dev/null +++ b/lib/index.js @@ -0,0 +1,4 @@ +import core from './core' +import builder from './builder' + +export default Object.assign({}, core, builder) diff --git a/package.json b/package.json index c7cb03e8d8..73aca5455e 100644 --- a/package.json +++ b/package.json @@ -48,14 +48,14 @@ ] }, "scripts": { - "test": "npm run lint && cross-env NODE_ENV=test npm run build && nyc ava --verbose --serial test/ -- && nyc report --reporter=html", + "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:core && npm run build:builder", + "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", - "watch": "npm run build:core -- -w", "build:builder": "rollup -c rollup.config.js --environment TARGET:builder", - "watch:builder": "npm run build:builder -- -w", + "watch": "npm run build:nuxt -- -w", "precommit": "npm run lint", "prepublish": "npm run build", "postinstall": "opencollective postinstall" diff --git a/rollup.config.js b/rollup.config.js index ca5a74c683..859ef6c6e8 100755 --- a/rollup.config.js +++ b/rollup.config.js @@ -38,6 +38,10 @@ const aliases = { // Builds // ----------------------------- const builds = { + nuxt: { + entry: resolve(libDir, 'index.js'), + dest: resolve(distDir, 'nuxt.js') + }, core: { entry: resolve(libDir, 'core/index.js'), dest: resolve(distDir, 'core.js') From 0f8530819111b19cd872bf90aa759c8042b96301 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Tue, 20 Jun 2017 17:18:25 +0430 Subject: [PATCH 135/236] add render.resourceHints option #899 --- lib/core/options.js | 1 + lib/core/renderer.js | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/core/options.js b/lib/core/options.js index 90e990b3eb..89c70fac66 100755 --- a/lib/core/options.js +++ b/lib/core/options.js @@ -131,6 +131,7 @@ const defaultOptions = { }, render: { ssr: {}, + resourceHints: true, http2: { push: false }, diff --git a/lib/core/renderer.js b/lib/core/renderer.js index c54820eb82..c2c9324eae 100644 --- a/lib/core/renderer.js +++ b/lib/core/renderer.js @@ -328,8 +328,14 @@ export default class Renderer extends Tapable { if (this.options._routerBaseSpecified) { HEAD += `` } - const resourceHints = context.renderResourceHints() - HEAD += resourceHints + context.renderStyles() + + let resourceHints = '' + if (this.options.render.resourceHints) { + resourceHints = context.renderResourceHints() + HEAD += resourceHints + } + + HEAD += context.renderStyles() APP += `` APP += context.renderScripts() From d42819ee91e0137d28471ef9909c978c86d605b0 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Tue, 20 Jun 2017 17:25:52 +0430 Subject: [PATCH 136/236] update tests --- test/basic.dev.test.js | 4 +--- test/basic.generate.test.js | 2 +- test/basic.test.js | 2 -- test/children.test.js | 2 -- test/error.test.js | 5 ++--- test/module.test.js | 2 -- test/with-config.test.js | 2 -- 7 files changed, 4 insertions(+), 15 deletions(-) diff --git a/test/basic.dev.test.js b/test/basic.dev.test.js index 1ca828d9d1..4defc787fb 100644 --- a/test/basic.dev.test.js +++ b/test/basic.dev.test.js @@ -7,7 +7,6 @@ const port = 4001 const url = (route) => 'http://localhost:' + port + route let nuxt = null -let server = null // Init nuxt.js and create server listening on localhost:4000 test.before('Init Nuxt.js', async t => { @@ -38,6 +37,5 @@ test('/_nuxt/test.hot-update.json should returns empty html', async t => { // Close server and ask nuxt to stop listening to file changes test.after('Closing server and nuxt.js', async t => { - server.close() - await nuxt.close(() => {}) + await nuxt.close() }) diff --git a/test/basic.generate.test.js b/test/basic.generate.test.js index 3e01db6c8a..b75e71a4b2 100644 --- a/test/basic.generate.test.js +++ b/test/basic.generate.test.js @@ -30,7 +30,7 @@ test.before('Init Nuxt.js', async t => { server = http.createServer((req, res) => { serve(req, res, finalhandler(req, res)) }) - await nuxt.listen(port) + server.listen(port) }) test('/stateless', async t => { diff --git a/test/basic.test.js b/test/basic.test.js index 2d3abd389b..fe8f306879 100755 --- a/test/basic.test.js +++ b/test/basic.test.js @@ -8,7 +8,6 @@ const port = 4003 const url = (route) => 'http://localhost:' + port + route let nuxt = null -let server = null // Init nuxt.js and create server listening on localhost:4000 test.before('Init Nuxt.js', async t => { @@ -156,6 +155,5 @@ test('ETag Header', async t => { // Close server and ask nuxt to stop listening to file changes test.after('Closing server and nuxt.js', t => { - server.close() nuxt.close() }) diff --git a/test/children.test.js b/test/children.test.js index 98fe9d06c8..d6f470b868 100644 --- a/test/children.test.js +++ b/test/children.test.js @@ -6,7 +6,6 @@ const port = 4004 // const url = (route) => 'http://localhost:' + port + route let nuxt = null -let server = null // Init nuxt.js and create server listening on localhost:4000 test.before('Init Nuxt.js', async t => { @@ -57,6 +56,5 @@ test('/parent/validate-child?key=12345', async t => { // Close server and ask nuxt to stop listening to file changes test.after('Closing server and nuxt.js', t => { - server.close() nuxt.close() }) diff --git a/test/error.test.js b/test/error.test.js index 44d7fcffec..4b53f5ad56 100644 --- a/test/error.test.js +++ b/test/error.test.js @@ -6,7 +6,6 @@ const port = 4005 const url = (route) => 'http://localhost:' + port + route let nuxt = null -let server = null // Init nuxt.js and create server listening on localhost:4000 test.before('Init Nuxt.js', async t => { @@ -36,11 +35,11 @@ test('/404 should display an error too', async t => { test('/ with renderAndGetWindow()', async t => { const err = await t.throws(nuxt.renderAndGetWindow(url('/'))) - t.is(err.response.statusCode, 500) + t.true(String(err).includes('Error: socket hang up')) + // t.is(err.response.statusCode, 500) }) // Close server and ask nuxt to stop listening to file changes test.after('Closing server and nuxt.js', t => { - server.close() nuxt.close() }) diff --git a/test/module.test.js b/test/module.test.js index 69a409a7d4..9f1f7d0b57 100755 --- a/test/module.test.js +++ b/test/module.test.js @@ -7,7 +7,6 @@ const port = 4006 const url = (route) => 'http://localhost:' + port + route let nuxt = null -let server = null // Init nuxt.js and create server listening on localhost:4000 test.before('Init Nuxt.js', async t => { @@ -40,6 +39,5 @@ test('Middleware', async t => { // Close server and ask nuxt to stop listening to file changes test.after('Closing server and nuxt.js', t => { - server.close() nuxt.close() }) diff --git a/test/with-config.test.js b/test/with-config.test.js index 2e281bd22f..852ed60625 100644 --- a/test/with-config.test.js +++ b/test/with-config.test.js @@ -7,7 +7,6 @@ const port = 4007 const url = (route) => 'http://localhost:' + port + route let nuxt = null -let server = null // Init nuxt.js and create server listening on localhost:4000 test.before('Init Nuxt.js', async t => { @@ -101,6 +100,5 @@ test('Check /test.txt with custom serve-static options', async t => { // Close server and ask nuxt to stop listening to file changes test.after('Closing server and nuxt.js', t => { - server.close() nuxt.close() }) From ebc6da4c08fe95f3798081c7864975efa07a78cd Mon Sep 17 00:00:00 2001 From: Sebastien Chopin Date: Tue, 20 Jun 2017 15:07:38 +0200 Subject: [PATCH 137/236] Add server-destroy --- bin/nuxt-dev | 5 +++++ lib/core/nuxt.js | 6 +++++- package.json | 1 + yarn.lock | 4 ++++ 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/bin/nuxt-dev b/bin/nuxt-dev index 419fe79a44..19e4b9de9f 100755 --- a/bin/nuxt-dev +++ b/bin/nuxt-dev @@ -54,6 +54,11 @@ const nuxtConfigFile = resolve(rootDir, argv['config-file']) const nuxtConfig = loadNuxtConfig() _.defaultsDeep(nuxtConfig, { watchers: { chokidar: { ignoreInitial: true } } }) +// Fail if an error happened +process.on('unhandledRejection', function (err) { + throw err +}) + // Start dev let dev = startDev() diff --git a/lib/core/nuxt.js b/lib/core/nuxt.js index 482c96b210..6e4c8f534c 100644 --- a/lib/core/nuxt.js +++ b/lib/core/nuxt.js @@ -4,6 +4,7 @@ import ModuleContainer from './module' import Renderer from './renderer' import Options from './options' import Debug from 'debug' +import enableDestroy from 'server-destroy' const debug = Debug('nuxt:') debug.color = 5 @@ -57,7 +58,8 @@ export default class Nuxt extends Tapable { // Close server on nuxt close this.plugin('close', () => new Promise((resolve, reject) => { - server.close(err => { + // Destroy server by forcing every connection to be closed + server.destroy(err => { debug('server closed') if (err) { return reject(err) @@ -68,6 +70,8 @@ export default class Nuxt extends Tapable { resolve() }) + // Add server.destroy(cb) method + enableDestroy(server) }) } diff --git a/package.json b/package.json index 73aca5455e..9217bb6529 100644 --- a/package.json +++ b/package.json @@ -150,6 +150,7 @@ "rollup-plugin-node-resolve": "^3.0.0", "rollup-plugin-replace": "^1.1.1", "rollup-watch": "^4.0.0", + "server-destroy": "^1.0.1", "std-mocks": "^1.0.1", "uglify-js": "^3.0.18" }, diff --git a/yarn.lock b/yarn.lock index fd27d98524..9ee2f34524 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5971,6 +5971,10 @@ serve-static@1.12.3, serve-static@^1.12.3: parseurl "~1.3.1" send "0.15.3" +server-destroy@^1.0.1: + version "1.0.1" + resolved "https://repository.neo9.pro/content/groups/global-npm/server-destroy/-/server-destroy-1.0.1.tgz#f13bf928e42b9c3e79383e61cc3998b5d14e6cdd" + set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" From 2c12b37bf6eec40cf7c1a95fd9a6d6ef76476beb Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Tue, 20 Jun 2017 17:42:33 +0430 Subject: [PATCH 138/236] coverage --- lib/builder/builder.js | 1 + lib/core/nuxt.js | 3 +++ lib/core/renderer.js | 4 +++- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/builder/builder.js b/lib/builder/builder.js index 751a8a7e7b..55cb403eb6 100644 --- a/lib/builder/builder.js +++ b/lib/builder/builder.js @@ -324,6 +324,7 @@ export default class Builder extends Tapable { } else { // --- Production Build --- compiler.run((err, stats) => { + /* istanbul ignore if */ if (err) { return reject(err) } diff --git a/lib/core/nuxt.js b/lib/core/nuxt.js index 6e4c8f534c..229a647dda 100644 --- a/lib/core/nuxt.js +++ b/lib/core/nuxt.js @@ -47,6 +47,7 @@ export default class Nuxt extends Tapable { listen (port = 3000, host = 'localhost') { return new Promise((resolve, reject) => { const server = this.renderer.app.listen({ port, host, exclusive: false }, err => { + /* istanbul ignore if */ if (err) { return reject(err) } @@ -61,6 +62,7 @@ export default class Nuxt extends Tapable { // Destroy server by forcing every connection to be closed server.destroy(err => { debug('server closed') + /* istanbul ignore if */ if (err) { return reject(err) } @@ -93,6 +95,7 @@ export default class Nuxt extends Tapable { async close (callback) { await this.applyPluginsAsync('close') + /* istanbul ignore if */ if (typeof callback === 'function') { await callback() } diff --git a/lib/core/renderer.js b/lib/core/renderer.js index c2c9324eae..d8f7da331c 100644 --- a/lib/core/renderer.js +++ b/lib/core/renderer.js @@ -132,6 +132,7 @@ export default class Renderer extends Tapable { basedir: this.options.rootDir }, this.options.render.ssr, this.options.build.ssr)) + /* istanbul ignore if */ if (this.options.build.ssr) { // eslint-disable-next-line no-console console.warn('[nuxt] `build.ssr` is deprecated and will be removed in 1.0 release, please use `renderer.ssr` instead!') @@ -176,7 +177,8 @@ export default class Renderer extends Tapable { if (this.options.router.base !== '/' && req.url.indexOf(this.options.router.base) === 0) { req.url = req.url.replace(this.options.router.base, '/') } - // Prevent access to SSR resources + // Prevent access to SSR resources (TODO: write tests) + /* istanbul ignore if */ if (ssrResourceRegex.test(req.url)) { res.statusCode = 404 return res.end() From 365d2d8df60418885a516d0f5b9e046629b7aab2 Mon Sep 17 00:00:00 2001 From: Sebastien Chopin Date: Tue, 20 Jun 2017 15:20:16 +0200 Subject: [PATCH 139/236] Upgrade babel-laoder --- package.json | 2 +- yarn.lock | 48 +++++++++++++++++++++++++++--------------------- 2 files changed, 28 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index 9217bb6529..a905c3a454 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "ansi-html": "^0.0.7", "autoprefixer": "^7.1.1", "babel-core": "^6.25.0", - "babel-loader": "^7.0.0", + "babel-loader": "^7.1.0", "babel-preset-es2015": "^6.24.1", "babel-preset-vue-app": "^1.2.0", "chalk": "^1.1.3", diff --git a/yarn.lock b/yarn.lock index 9ee2f34524..e00ea04df6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -606,11 +606,11 @@ babel-helpers@^6.24.1: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-loader@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.0.0.tgz#2e43a66bee1fff4470533d0402c8a4532fafbaf7" +babel-loader@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.1.0.tgz#3fbf2581f085774bd9642dca9990e6d6c1491144" dependencies: - find-cache-dir "^0.1.1" + find-cache-dir "^1.0.0" loader-utils "^1.0.2" mkdirp "^0.5.1" @@ -2685,24 +2685,20 @@ esquery@^1.0.0: estraverse "^4.0.0" esrecurse@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.1.0.tgz#4713b6536adf7f2ac4f327d559e7756bff648220" + version "4.2.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.0.tgz#fa9568d98d3823f9a41d91e902dcab9ea6e5b163" dependencies: - estraverse "~4.1.0" + estraverse "^4.1.0" object-assign "^4.0.1" estraverse@^1.9.1: version "1.9.3" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" -estraverse@^4.0.0, estraverse@^4.1.1, estraverse@^4.2.0: +estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" -estraverse@~4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.1.1.tgz#f6caca728933a850ef90661d0e17982ba47111a2" - estree-walker@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.2.1.tgz#bdafe8095383d8414d5dc2ecf4c9173b6db9412e" @@ -2916,6 +2912,14 @@ find-cache-dir@^0.1.1: mkdirp "^0.5.1" pkg-dir "^1.0.0" +find-cache-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f" + dependencies: + commondir "^1.0.1" + make-dir "^1.0.0" + pkg-dir "^2.0.0" + find-up@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" @@ -3303,10 +3307,11 @@ hash-sum@^1.0.2: resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04" hash.js@^1.0.0, hash.js@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.0.3.tgz#1332ff00156c0a0ffdd8236013d07b77a0451573" + version "1.1.1" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.1.tgz#5cb2e796499224e69fd0b00ed01d2d4a16e7a323" dependencies: - inherits "^2.0.1" + inherits "^2.0.3" + minimalistic-assert "^1.0.0" hawk@~3.1.3: version "3.1.3" @@ -5349,8 +5354,8 @@ preserve@^0.2.0: resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" pretty-error@^2.0.2: - version "2.1.0" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.0.tgz#87f4e9d706a24c87d6cbee9fabec001fcf8c75d8" + version "2.1.1" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" dependencies: renderkid "^2.0.1" utila "~0.4" @@ -5973,7 +5978,7 @@ serve-static@1.12.3, serve-static@^1.12.3: server-destroy@^1.0.1: version "1.0.1" - resolved "https://repository.neo9.pro/content/groups/global-npm/server-destroy/-/server-destroy-1.0.1.tgz#f13bf928e42b9c3e79383e61cc3998b5d14e6cdd" + resolved "https://registry.yarnpkg.com/server-destroy/-/server-destroy-1.0.1.tgz#f13bf928e42b9c3e79383e61cc3998b5d14e6cdd" set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" @@ -6491,7 +6496,7 @@ uglify-js@3.0.x, uglify-js@^3.0.18: commander "~2.9.0" source-map "~0.5.1" -uglify-js@^2.6: +uglify-js@^2.6, uglify-js@^2.8.29: version "2.8.29" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" dependencies: @@ -6505,10 +6510,11 @@ uglify-to-browserify@~1.0.0: resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" uglifyjs-webpack-plugin@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.4.tgz#7829c50ee5a5b755969d4458357ed5a2dd36fbbd" + version "0.4.6" + resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz#b951f4abb6bd617e66f63eb891498e391763e309" dependencies: source-map "^0.5.6" + uglify-js "^2.8.29" webpack-sources "^1.0.1" uid-number@^0.0.6: From fb2eddb78b886537d081cade1980158325a7af96 Mon Sep 17 00:00:00 2001 From: Sebastien Chopin Date: Tue, 20 Jun 2017 15:32:02 +0200 Subject: [PATCH 140/236] Add applyPlugins for setupMiddleware --- lib/core/renderer.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/lib/core/renderer.js b/lib/core/renderer.js index c2c9324eae..e147522629 100644 --- a/lib/core/renderer.js +++ b/lib/core/renderer.js @@ -160,16 +160,14 @@ export default class Renderer extends Tapable { } setupMiddleware () { + // Apply setupMiddleware from modules first + this.applyPlugins('setupMiddleware', this.app) + // Gzip middleware for production if (!this.options.dev && this.options.render.gzip) { this.useMiddleware(compression(this.options.render.gzip)) } - // Add User provided middleware - this.options.serverMiddleware.forEach(m => { - this.useMiddleware(m) - }) - // Common URL checks this.useMiddleware((req, res, next) => { // If base in req.url, remove it for the middleware and vue-router @@ -223,6 +221,11 @@ export default class Renderer extends Tapable { })) } + // Add User provided middleware + this.options.serverMiddleware.forEach(m => { + this.useMiddleware(m) + }) + // Finally use nuxtMiddleware this.useMiddleware(this.nuxtMiddleware) From 365d51c0b7517f3f4609632ec879fd0180e11126 Mon Sep 17 00:00:00 2001 From: Sebastien Chopin Date: Tue, 20 Jun 2017 16:12:55 +0200 Subject: [PATCH 141/236] Simplify publicPath and add test for protected resources --- lib/core/options.js | 2 +- lib/core/renderer.js | 28 +++++++++++----------------- test/basic.test.js | 14 ++++++++++++-- 3 files changed, 24 insertions(+), 20 deletions(-) diff --git a/lib/core/options.js b/lib/core/options.js index 89c70fac66..25b1989ec5 100755 --- a/lib/core/options.js +++ b/lib/core/options.js @@ -49,7 +49,7 @@ export default function Options (_options) { return options } -const defaultOptions = { +export const defaultOptions = { dev: (process.env.NODE_ENV !== 'production'), buildDir: '.nuxt', nuxtAppDir: resolve(__dirname, '../lib/app/'), // Relative to dist diff --git a/lib/core/renderer.js b/lib/core/renderer.js index b949391cce..919504bfb3 100644 --- a/lib/core/renderer.js +++ b/lib/core/renderer.js @@ -10,7 +10,8 @@ import _ from 'lodash' import { join, resolve } from 'path' import fs from 'fs-extra' import { createBundleRenderer } from 'vue-server-renderer' -import { encodeHtml, getContext, setAnsiColors } from 'utils' +import { encodeHtml, getContext, setAnsiColors, isUrl } from 'utils' +import { defaultOptions } from './options' import Debug from 'debug' import connect from 'connect' @@ -175,8 +176,7 @@ export default class Renderer extends Tapable { if (this.options.router.base !== '/' && req.url.indexOf(this.options.router.base) === 0) { req.url = req.url.replace(this.options.router.base, '/') } - // Prevent access to SSR resources (TODO: write tests) - /* istanbul ignore if */ + // Prevent access to SSR resources if (ssrResourceRegex.test(req.url)) { res.statusCode = 404 return res.end() @@ -184,16 +184,6 @@ export default class Renderer extends Tapable { next() }) - // Remove publicPath from requests in production mode - if (!this.options.dev) { - this.useMiddleware((req, res, next) => { - if (req.url.indexOf(this.options.build.publicPath) === 0) { - req.url = req.url.replace(this.options.build.publicPath, '/') - } - next() - }) - } - // Add webpack middleware only for development if (this.options.dev) { this.useMiddleware(async (req, res, next) => { @@ -217,10 +207,14 @@ export default class Renderer extends Tapable { // Serve .nuxt/dist/ files only for production // For dev they will be served with devMiddleware if (!this.options.dev) { - this.useMiddleware(serveStatic(resolve(this.options.buildDir, 'dist'), { - index: false, // Don't serve index.html template - maxAge: (this.options.dev ? 0 : '1y') // 1 year in production - })) + const distDir = resolve(this.options.buildDir, 'dist') + this.useMiddleware({ + path: isUrl(this.options.build.publicPath) ? defaultOptions.build.publicPath : this.options.build.publicPath, + handler: serveStatic(distDir, { + index: false, // Don't serve index.html template + maxAge: (this.options.dev ? 0 : '1y') // 1 year in production + }) + }) } // Add User provided middleware diff --git a/test/basic.test.js b/test/basic.test.js index fe8f306879..16146f2e1c 100755 --- a/test/basic.test.js +++ b/test/basic.test.js @@ -145,14 +145,24 @@ test('/redirect2', async t => { }) test('ETag Header', async t => { - const {headers: {etag}} = await rp(url('/stateless'), {resolveWithFullResponse: true}) + const { headers: { etag } } = await rp(url('/stateless'), { resolveWithFullResponse: true }) // Validate etag t.regex(etag, /W\/".*"$/) // Verify functionality - const error = await t.throws(rp(url('/stateless'), {headers: {'If-None-Match': etag}})) + const error = await t.throws(rp(url('/stateless'), { headers: { 'If-None-Match': etag } })) t.is(error.statusCode, 304) }) +test('/_nuxt/server-bundle.json should return 404', async t => { + const err = await t.throws(rp(url('/_nuxt/server-bundle.json'), { resolveWithFullResponse: true })) + t.is(err.statusCode, 404) +}) + +test('/_nuxt/ should return 404', async t => { + const err = await t.throws(rp(url('/_nuxt/'), { resolveWithFullResponse: true })) + t.is(err.statusCode, 404) +}) + // Close server and ask nuxt to stop listening to file changes test.after('Closing server and nuxt.js', t => { nuxt.close() From e1126d799c1c9271ecdd4e4b01c3e7e13921f307 Mon Sep 17 00:00:00 2001 From: Sebastien Chopin Date: Tue, 20 Jun 2017 19:12:06 +0200 Subject: [PATCH 142/236] Use relative path --- lib/app/components/nuxt.vue | 2 +- lib/app/router.js | 2 +- lib/builder/builder.js | 24 ++++++++++++++++-------- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/lib/app/components/nuxt.vue b/lib/app/components/nuxt.vue index b6eb339a31..3c65dae1fd 100644 --- a/lib/app/components/nuxt.vue +++ b/lib/app/components/nuxt.vue @@ -6,7 +6,7 @@ \ No newline at end of file diff --git a/examples/dynamic-components/pages/index.vue b/examples/dynamic-components/pages/index.vue new file mode 100644 index 0000000000..30a3e45f32 --- /dev/null +++ b/examples/dynamic-components/pages/index.vue @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/examples/global-css/nuxt.config.js b/examples/global-css/nuxt.config.js index f5ae0a61d1..17c82e8892 100644 --- a/examples/global-css/nuxt.config.js +++ b/examples/global-css/nuxt.config.js @@ -1,12 +1,14 @@ -const { join } = require('path') - module.exports = { + head: { + titleTemplate: '%s - Nuxt.js', + meta: [ + { charset: 'utf-8' }, + { name: 'viewport', content: 'width=device-width, initial-scale=1' }, + { hid: 'description', name: 'description', content: 'Meta description' } + ] + }, css: [ - 'hover.css/css/hover-min.css', 'bulma/bulma.sass', - join(__dirname, 'css/main.css') - ], - build: { - extractCSS: true - } + '~assets/main.css' + ] } diff --git a/lib/app/client.js b/lib/app/client.js index 84eb3d1933..bdf1032952 100644 --- a/lib/app/client.js +++ b/lib/app/client.js @@ -160,9 +160,11 @@ async function render (to, from, next) { return Promise.resolve() } let promises = [] + // Create this context for asyncData & fetch (used for dynamic component injection) + const _this = { components: {} } // asyncData method if (Component.options.asyncData && typeof Component.options.asyncData === 'function') { - var promise = promisify(Component.options.asyncData, context) + var promise = promisify(Component.options.asyncData.bind(_this), context) promise.then((asyncDataResult) => { applyAsyncData(Component, asyncDataResult) <%= (loading ? 'this.$loading.increase && this.$loading.increase(30)' : '') %> @@ -170,12 +172,17 @@ async function render (to, from, next) { promises.push(promise) } if (Component.options.fetch) { - var p = Component.options.fetch(context) + var p = Component.options.fetch.call(_this, context) if (!p || (!(p instanceof Promise) && (typeof p.then !== 'function'))) { p = Promise.resolve(p) } <%= (loading ? 'p.then(() => this.$loading.increase && this.$loading.increase(30))' : '') %> promises.push(p) } return Promise.all(promises) + .then(() => { + Object.keys(_this.components).forEach((name) => { + Component.options.components[name] = _this.components[name] + }) + }) })) _lastPaths = Components.map((Component, i) => compile(to.matched[i].path)(to.params)) <%= (loading ? 'this.$loading.finish && this.$loading.finish()' : '') %> @@ -332,9 +339,7 @@ function addHotReload ($component, depth) { // Load vue app const NUXT = window.__NUXT__ || {} -if (!NUXT) { - throw new Error('[nuxt.js] cannot find the global variable __NUXT__, make sure the server is working.') -} +NUXT.components = window.__COMPONENTS__ || null // Get matched components const resolveComponents = function (router) { const path = getLocation(router.options.base) @@ -345,6 +350,10 @@ const resolveComponents = function (router) { Component = sanitizeComponent(Component) if (NUXT.serverRendered) { applyAsyncData(Component, NUXT.data[index]) + if (NUXT.components) { + Component.options.components = Object.assign(Component.options.components, NUXT.components[index]) + } + Component._Ctor = Component } match.components[key] = Component resolve(Component) diff --git a/lib/app/server.js b/lib/app/server.js index 326fa3dfd6..dbf770840c 100644 --- a/lib/app/server.js +++ b/lib/app/server.js @@ -1,6 +1,7 @@ 'use strict' import Vue from 'vue' +import clone from 'clone' import { stringify } from 'querystring' import { omit } from 'lodash' import middleware from './middleware' @@ -43,6 +44,9 @@ export default async (context) => { <%= (store ? 'context.store = store' : '') %> // Add route to the context context.route = router.currentRoute + // Components array (for dynamic components) + context.hasDynamicComponents = false + context.components = [] // Nuxt object context.nuxt = { layout: 'default', data: [], error: null<%= (store ? ', state: null' : '') %>, serverRendered: true } // Add meta infos @@ -133,8 +137,11 @@ export default async (context) => { // Call asyncData & fetch hooks on components matched by the route. let asyncDatas = await Promise.all(Components.map((Component) => { let promises = [] + // Create this context for asyncData & fetch (used for dynamic component injection) + const _this = { components: {} } + // Call asyncData if (Component.options.asyncData && typeof Component.options.asyncData === 'function') { - let promise = promisify(Component.options.asyncData, ctx) + let promise = promisify(Component.options.asyncData.bind(_this), ctx) // Call asyncData(context) promise.then((asyncDataResult) => { applyAsyncData(Component, asyncDataResult) @@ -142,10 +149,26 @@ export default async (context) => { }) promises.push(promise) } else promises.push(null) - // call fetch(context) - if (Component.options.fetch) promises.push(Component.options.fetch(ctx)) + // Call fetch(context) + if (Component.options.fetch) promises.push(Component.options.fetch.call(_this, ctx)) else promises.push(null) return Promise.all(promises) + .then((data) => { + // If not dyanmic component, return data directly + if (Object.keys(_this.components).length === 0) return data + // Tell renderer that dynamic components has been added + context.hasDynamicComponents = true + // Add Component on server side (clone of it) + Component.options.components = { + ...Component.options.components, + ...clone(_this.components) // Clone it to avoid vue to overwrite references + } + // Add components into __NUXT__ for client-side hydration + // We clone it since vue-server-renderer will update the component definition + context.components.push(sanitizeDynamicComponents(_this.components)) + // Return data to server-render them + return data + }) })) // If no Components found, returns 404 if (!Components.length) { @@ -172,10 +195,24 @@ export default async (context) => { await _app.loadLayout(layout) _app.setLayout(layout) return _app - // if (typeof error === 'string') { - // error = { statusCode: 500, message: error } - // } - // context.nuxt.error = context.error(error) - // <%= (store ? 'context.nuxt.state = store.state' : '') %> - // return _app } + +function sanitizeDynamicComponents(components) { + Object.keys(components).forEach((name) => { + const component = components[name] + // Remove SSR register hookd + if (Array.isArray(component.beforeCreate)) { + component.beforeCreate = component.beforeCreate.filter((fn) => fn !== component._ssrRegister) + if (!component.beforeCreate.length) delete component.beforeCreate + } + // Remove SSR & informations properties + delete component._ssrRegister + delete component.__file + if (component.staticRenderFns && !component.staticRenderFns.length) { + delete component.staticRenderFns + } + // Add Component to NUXT.components[i][name] + components[name] = component + }) + return clone(components) +} \ No newline at end of file diff --git a/lib/core/renderer.js b/lib/core/renderer.js index 56865b26b9..b2c0b0ba51 100644 --- a/lib/core/renderer.js +++ b/lib/core/renderer.js @@ -182,10 +182,6 @@ export default class Renderer extends Tapable { // Add webpack middleware only for development if (this.options.dev) { this.useMiddleware(async (req, res, next) => { - if (req.url.includes('.hot-update.json')) { - res.statusCode = 404 - return res.end() - } if (this.webpackDevMiddleware) { await this.webpackDevMiddleware(req, res) } @@ -328,9 +324,13 @@ export default class Renderer extends Tapable { resourceHints = context.renderResourceHints() HEAD += resourceHints } - HEAD += context.renderStyles() - APP += `` + APP += `` APP += context.renderScripts() const html = this.resources.appTemplate({ diff --git a/package.json b/package.json index 215af70b32..8c8337a083 100644 --- a/package.json +++ b/package.json @@ -74,6 +74,7 @@ "babel-preset-vue-app": "^1.2.0", "chalk": "^1.1.3", "chokidar": "^1.7.0", + "clone": "^2.1.1", "compression": "^1.6.2", "connect": "^3.6.2", "css-loader": "^0.28.4", diff --git a/yarn.lock b/yarn.lock index e00ea04df6..a9164763c2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1506,6 +1506,10 @@ clone@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" +clone@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.1.tgz#d217d1e961118e3ac9a4b8bba3285553bf647cdb" + cmd-shim@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-2.0.2.tgz#6fcbda99483a8fd15d7d30a196ca69d688a2efdb" From c348d831207aba6622e1b2c7023268bf43804044 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Mon, 3 Jul 2017 04:23:19 +0430 Subject: [PATCH 156/236] feat: basic support for ssr:false --- lib/builder/webpack/client.config.js | 3 ++- lib/core/renderer.js | 30 ++++++++++++++++++++++++++-- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/lib/builder/webpack/client.config.js b/lib/builder/webpack/client.config.js index c32348747c..c2b92005a4 100644 --- a/lib/builder/webpack/client.config.js +++ b/lib/builder/webpack/client.config.js @@ -66,7 +66,8 @@ export default function webpackClientConfig () { config.plugins.push( new HTMLPlugin({ template: this.options.appTemplatePath, - inject: false + inject: this.options.render.ssr === false, + chunksSortMode: 'dependency' }) ) diff --git a/lib/core/renderer.js b/lib/core/renderer.js index b2c0b0ba51..c3bbe7205f 100644 --- a/lib/core/renderer.js +++ b/lib/core/renderer.js @@ -120,7 +120,16 @@ export default class Renderer extends Tapable { } } + get noSSR () { + return this.options.render.ssr === false + } + createRenderer () { + // Skip if SSR is disabled + if (this.noSSR) { + return + } + // If resources are not yet provided if (!this.resources.serverBundle || !this.resources.clientManifest) { return @@ -294,7 +303,7 @@ export default class Renderer extends Tapable { async renderRoute (url, context = {}) { /* istanbul ignore if */ - if (!this.bundleRenderer || !this.resources.appTemplate) { + if (!(this.noSSR || this.bundleRenderer) || !this.resources.appTemplate) { return new Promise(resolve => { setTimeout(() => resolve(this.renderRoute(url, context)), 1000) }) @@ -307,6 +316,23 @@ export default class Renderer extends Tapable { context.url = url context.isServer = true + // Basic response if SSR is disabled + if (this.noSSR) { + let APP = '
' + let HEAD = '' + + let html = this.resources.appTemplate({ + HTML_ATTRS: '', + BODY_ATTRS: '', + HEAD, + APP + }) + + return { + html + } + } + // Call renderToString from the bundleRenderer and generate the HTML (will update the context as well) let APP = await this.bundleRenderer.renderToString(context) @@ -333,7 +359,7 @@ export default class Renderer extends Tapable { APP += `` APP += context.renderScripts() - const html = this.resources.appTemplate({ + let html = this.resources.appTemplate({ HTML_ATTRS: 'data-n-head-ssr ' + m.htmlAttrs.text(), BODY_ATTRS: m.bodyAttrs.text(), HEAD, From a587b798e4c361435a742af58dac2a768194a08a Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Mon, 3 Jul 2017 14:41:20 +0430 Subject: [PATCH 157/236] gitignore .DS_Store --- .DS_Store | Bin 6148 -> 0 bytes .gitignore | 3 +++ 2 files changed, 3 insertions(+) delete mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 1ad899dbcdc748036dd701eacb0ec11e243703d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKyJ`bL3>+mc4$`I(2Sbbi#2M3J zT*oXyY@Q(Y!ZDE|1kgGlC+ZoQs7@HV6)|Fx!@~RZ=JlH_u58Z)4k@C?#6Xc7@{2$qaAbO f?f5y0vab1>=e=-D3_9~cC+cUwb&*MdzgFN1-fR_w diff --git a/.gitignore b/.gitignore index 3395ea12b6..9e3e18df72 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,6 @@ coverage # Intellij idea *.iml .idea + +# Macos +.DS_Store From b209c80d2b51203b7a2254402dea855402b55951 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Mon, 3 Jul 2017 15:41:40 +0430 Subject: [PATCH 158/236] feat: add tappable hooks --- lib/builder/builder.js | 22 ++++++++++++++++++++-- lib/builder/generator.js | 34 ++++++++++++++++++++++------------ lib/core/module.js | 15 +++++++++++---- lib/core/nuxt.js | 9 +++++++-- lib/core/renderer.js | 6 +++--- 5 files changed, 63 insertions(+), 23 deletions(-) diff --git a/lib/builder/builder.js b/lib/builder/builder.js index 9d0de14900..8f9e859e95 100644 --- a/lib/builder/builder.js +++ b/lib/builder/builder.js @@ -43,6 +43,9 @@ 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 } @@ -66,6 +69,8 @@ export default class Builder extends Tapable { // Wait for nuxt ready await this.nuxt.ready() + await this.applyPluginsAsync('build', this) + // Check if pages dir exists and warn if not this._nuxtPages = typeof this.options.build.createRoutes !== 'function' if (this._nuxtPages) { @@ -95,6 +100,8 @@ export default class Builder extends Tapable { // Start webpack build await this.webpackBuild() + await this.applyPluginsAsync('built', this) + // Flag to set that building is done this._buildStatus = STATUS.BUILD_DONE @@ -173,6 +180,9 @@ export default class Builder extends Tapable { } else { templateVars.router.routes = this.options.build.createRoutes(this.options.srcDir) } + + await this.applyPluginsAsync('extendRoutes', {routes: templateVars.router.routes, templateVars, r}) + // router.extendRoutes method if (typeof this.options.router.extendRoutes === 'function') { // let the user extend the routes @@ -216,6 +226,8 @@ export default class Builder extends Tapable { }, t) })) + await this.applyPluginsAsync('generate', { builder: this, templatesFiles, templateVars }) + // Interpret and move template files to .nuxt/ await Promise.all(templatesFiles.map(async ({ src, dst, options, custom }) => { // Add template to watchers @@ -246,9 +258,11 @@ export default class Builder extends Tapable { const dateFS = Date.now() / 1000 - 1000 return utimes(path, dateFS, dateFS) })) + + await this.applyPluginsAsync('generated', this) } - webpackBuild () { + async webpackBuild () { debug('Building files...') let compilersOptions = [] @@ -291,7 +305,7 @@ export default class Builder extends Tapable { }) // Run after each compile - this.compiler.plugin('done', stats => { + this.compiler.plugin('done', async stats => { // Don't reload failed builds /* istanbul ignore if */ if (stats.hasErrors() || stats.hasWarnings()) { @@ -301,6 +315,8 @@ export default class Builder extends Tapable { if (this.nuxt.renderer) { this.nuxt.renderer.loadResources(sharedFS || fs) } + + await this.applyPluginsAsync('compiled', { builder: this, stats }) }) // Add dev Stuff @@ -308,6 +324,8 @@ export default class Builder extends Tapable { this.webpackDev() } + await this.applyPluginsAsync('compile', { builder: this, compiler: this.compiler }) + // Start Builds return parallel(this.compiler.compilers, compiler => new Promise((resolve, reject) => { if (this.options.dev) { diff --git a/lib/builder/generator.js b/lib/builder/generator.js index ee5ae785a7..5eb4bf0c02 100644 --- a/lib/builder/generator.js +++ b/lib/builder/generator.js @@ -15,6 +15,15 @@ export default class Generator extends Tapable { this.nuxt = nuxt this.options = nuxt.options this.builder = builder + + // Set variables + this.generateRoutes = resolve(this.options.srcDir, 'static') + 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 (doBuild = true) { @@ -22,12 +31,6 @@ export default class Generator extends Tapable { let errors = [] let generateRoutes = [] - // Set variables - let srcStaticPath = resolve(this.options.srcDir, 'static') - let srcBuiltPath = resolve(this.options.buildDir, 'dist') - let distPath = resolve(this.options.rootDir, this.options.generate.dir) - let distNuxtPath = join(distPath, (isUrl(this.options.build.publicPath) ? '' : this.options.build.publicPath)) - // Wait for nuxt be ready await this.nuxt.ready() @@ -36,16 +39,18 @@ export default class Generator extends Tapable { await this.builder.build() } + await this.applyPluginsAsync('before-generate', this) + // Clean destination folder - await remove(distPath) + await remove(this.distPath) debug('Destination folder cleaned') // Copy static and built files /* istanbul ignore if */ - if (fs.existsSync(srcStaticPath)) { - await copy(srcStaticPath, distPath) + if (fs.existsSync(this.generateRoutes)) { + await copy(this.generateRoutes, this.distPath) } - await copy(srcBuiltPath, distNuxtPath) + await copy(this.srcBuiltPath, this.distNuxtPath) debug('Static & build files copied') // Resolve config.generate.routes promises before generating the routes @@ -53,6 +58,7 @@ export default class Generator extends Tapable { try { console.log('Generating routes') // eslint-disable-line no-console generateRoutes = await promisifyRoute(this.options.generate.routes || []) + await this.applyPluginsAsync('generateRoutes', {generator: this, generateRoutes}) } catch (e) { console.error('Could not resolve routes') // eslint-disable-line no-console console.error(e) // eslint-disable-line no-console @@ -85,6 +91,8 @@ export default class Generator extends Tapable { let routes = (this.options.router.mode === 'hash') ? ['/'] : flatRoutes(this.options.router.routes) routes = decorateWithPayloads(routes) + await this.applyPluginsAsync('generate', {generator: this, routes}) + while (routes.length) { let n = 0 await Promise.all(routes.splice(0, 500).map(async ({ route, payload }) => { @@ -111,7 +119,7 @@ export default class Generator extends Tapable { let path = join(route, sep, 'index.html') // /about -> /about/index.html path = (path === '/404/index.html') ? '/404.html' : path // /404 -> /404.html debug('Generate file: ' + path) - path = join(distPath, path) + path = join(this.distPath, path) // Make sure the sub folders are created await mkdirp(dirname(path)) await writeFile(path, html, 'utf8') @@ -120,7 +128,7 @@ export default class Generator extends Tapable { // Add .nojekyll file to let Github Pages add the _nuxt/ folder // https://help.github.com/articles/files-that-start-with-an-underscore-are-missing/ - const nojekyllPath = resolve(distPath, '.nojekyll') + const nojekyllPath = resolve(this.distPath, '.nojekyll') writeFile(nojekyllPath, '') const duration = Math.round((Date.now() - s) / 100) / 10 debug(`HTML Files generated in ${duration}s`) @@ -137,6 +145,8 @@ export default class Generator extends Tapable { console.error('==== Error report ==== \n' + report.join('\n\n')) // eslint-disable-line no-console } + await this.applyPluginsAsync('generated', this) + return { duration, errors } } } diff --git a/lib/core/module.js b/lib/core/module.js index 4cb9a5bcb5..8876fab3b0 100755 --- a/lib/core/module.js +++ b/lib/core/module.js @@ -15,8 +15,9 @@ export default class ModuleContainer extends Tapable { this.options = nuxt.options this.requiredModules = [] - this.nuxt.plugin('beforeInit', () => { - return sequence(this.options.modules, this.addModule.bind(this)) + this.nuxt.plugin('beforeInit', async () => { + await sequence(this.options.modules, this.addModule.bind(this)) + await this.applyPluginsAsync('ready', this) }) } @@ -81,11 +82,14 @@ export default class ModuleContainer extends Tapable { return this.addModule(moduleOpts, true) } - addModule (moduleOpts, requireOnce) { + async addModule (moduleOpts, requireOnce) { /* istanbul ignore if */ if (!moduleOpts) { return } + + await this.applyPluginsAsync('add', {moduleOpts, requireOnce}) + // Allow using babel style array options if (Array.isArray(moduleOpts)) { moduleOpts = { @@ -93,12 +97,13 @@ export default class ModuleContainer extends Tapable { options: moduleOpts[1] } } + // Allows passing runtime options to each module const options = moduleOpts.options || (typeof moduleOpts === 'object' ? moduleOpts : {}) const originalSrc = moduleOpts.src || moduleOpts + // Resolve module let module = originalSrc - if (typeof module === 'string') { module = require(this.nuxt.resolvePath(module)) } @@ -108,6 +113,7 @@ export default class ModuleContainer extends Tapable { if (typeof module !== 'function') { throw new Error(`[nuxt] Module ${JSON.stringify(originalSrc)} should export a function`) } + // Module meta if (!module.meta) { module.meta = {} @@ -121,6 +127,7 @@ export default class ModuleContainer extends Tapable { this.requiredModules.push(module.meta.name) } } + // Call module with `this` context and pass options return new Promise((resolve, reject) => { const result = module.call(this, options, err => { diff --git a/lib/core/nuxt.js b/lib/core/nuxt.js index 3b138a5cdd..1c5dfbd95b 100644 --- a/lib/core/nuxt.js +++ b/lib/core/nuxt.js @@ -79,18 +79,23 @@ export default class Nuxt extends Tapable { } errorHandler /* istanbul ignore next */() { + // Apply plugins + // eslint-disable-next-line no-console + this.applyPluginsAsync('error', ...arguments).catch(console.error) + // Silent if (this.options.errorHandler === false) { return } + // Custom errorHandler if (typeof this.options.errorHandler === 'function') { return this.options.errorHandler.apply(this, arguments) } + // Default handler // eslint-disable-next-line no-console - console.error.apply(this, arguments) - process.exit(1) + console.error(...arguments) } resolvePath (path) { diff --git a/lib/core/renderer.js b/lib/core/renderer.js index c3bbe7205f..36338fa055 100644 --- a/lib/core/renderer.js +++ b/lib/core/renderer.js @@ -71,7 +71,7 @@ export default class Renderer extends Tapable { } // Setup all middleWare - this.setupMiddleware() + await this.setupMiddleware() // Load error template const errorTemplatePath = resolve(this.options.buildDir, 'views/error.html') @@ -165,9 +165,9 @@ export default class Renderer extends Tapable { } } - setupMiddleware () { + async setupMiddleware () { // Apply setupMiddleware from modules first - this.applyPlugins('setupMiddleware', this.app) + await this.applyPluginsAsync('setupMiddleware', this.app) // Gzip middleware for production if (!this.options.dev && this.options.render.gzip) { From 205113dfce08682482cc3ef133bea035595f26ef Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Mon, 3 Jul 2017 15:47:22 +0430 Subject: [PATCH 159/236] update tests --- test/basic.dev.test.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/test/basic.dev.test.js b/test/basic.dev.test.js index 4defc787fb..61ddaf077e 100644 --- a/test/basic.dev.test.js +++ b/test/basic.dev.test.js @@ -26,14 +26,14 @@ test('/stateless', async t => { t.true(html.includes('

My component!

')) }) -test('/_nuxt/test.hot-update.json should returns empty html', async t => { - try { - await rp(url('/_nuxt/test.hot-update.json')) - } catch (err) { - t.is(err.statusCode, 404) - t.is(err.response.body, '') - } -}) +// test('/_nuxt/test.hot-update.json should returns empty html', async t => { +// try { +// await rp(url('/_nuxt/test.hot-update.json')) +// } catch (err) { +// t.is(err.statusCode, 404) +// t.is(err.response.body, '') +// } +// }) // Close server and ask nuxt to stop listening to file changes test.after('Closing server and nuxt.js', async t => { From bf1065f438bb3e048f5285941cd92c84c0c6e7c9 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Mon, 3 Jul 2017 15:58:10 +0430 Subject: [PATCH 160/236] more webpack friendly tappable hooks --- lib/builder/builder.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/builder/builder.js b/lib/builder/builder.js index 8f9e859e95..776fefb37f 100644 --- a/lib/builder/builder.js +++ b/lib/builder/builder.js @@ -316,7 +316,7 @@ export default class Builder extends Tapable { this.nuxt.renderer.loadResources(sharedFS || fs) } - await this.applyPluginsAsync('compiled', { builder: this, stats }) + await this.applyPluginsAsync('done', { builder: this, stats }) }) // Add dev Stuff @@ -327,7 +327,7 @@ export default class Builder extends Tapable { await this.applyPluginsAsync('compile', { builder: this, compiler: this.compiler }) // Start Builds - return parallel(this.compiler.compilers, compiler => new Promise((resolve, reject) => { + await parallel(this.compiler.compilers, compiler => new Promise((resolve, reject) => { if (this.options.dev) { // --- Dev Build --- if (compiler.options.name === 'client') { @@ -361,6 +361,8 @@ export default class Builder extends Tapable { }) } })) + + await this.applyPluginsAsync('compiled', this) } webpackDev () { From 14c67f935e35151c760447890f364d6f38b853b5 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Mon, 3 Jul 2017 15:58:38 +0430 Subject: [PATCH 161/236] eslint --- test/basic.dev.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/basic.dev.test.js b/test/basic.dev.test.js index 61ddaf077e..a415ed4322 100644 --- a/test/basic.dev.test.js +++ b/test/basic.dev.test.js @@ -1,6 +1,6 @@ import test from 'ava' import { resolve } from 'path' -import rp from 'request-promise-native' +// import rp from 'request-promise-native' import { Nuxt, Builder } from '../index.js' const port = 4001 From d3cacd0e5889ea92b413da97af0c96546c4d653f Mon Sep 17 00:00:00 2001 From: Sebastien Chopin Date: Mon, 3 Jul 2017 13:53:37 +0200 Subject: [PATCH 162/236] Add back error handler on nuxt-dev --- bin/nuxt-dev | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/bin/nuxt-dev b/bin/nuxt-dev index 419fe79a44..19e4b9de9f 100755 --- a/bin/nuxt-dev +++ b/bin/nuxt-dev @@ -54,6 +54,11 @@ const nuxtConfigFile = resolve(rootDir, argv['config-file']) const nuxtConfig = loadNuxtConfig() _.defaultsDeep(nuxtConfig, { watchers: { chokidar: { ignoreInitial: true } } }) +// Fail if an error happened +process.on('unhandledRejection', function (err) { + throw err +}) + // Start dev let dev = startDev() From 825d0e4c8220619c5cea5411ec126cf11df503e4 Mon Sep 17 00:00:00 2001 From: Daniel West Date: Mon, 3 Jul 2017 18:19:29 +0100 Subject: [PATCH 163/236] Configurable key property for transitions The vue-router component can have a 'key' property which means it's easier to configure transitions between routes with slugs. With this change in a layout template you can use ```html ``` And the following for example ```js computed: { routerViewKey () { if (this.$route.name === 'service') { return this.$route.name } else { return this.$route.fullPath } } } ``` This would implement the functionality that @myst729 mentioned here https://github.com/vuejs/vue-router/issues/474 for vue-router - some routes can just switch, but some you may want to transition as though it's a complete new page to an end-user This is a possible resolution to issue raised here https://github.com/nuxt/nuxt.js/issues/1021 --- lib/app/components/nuxt.vue | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/app/components/nuxt.vue b/lib/app/components/nuxt.vue index 34502e88bf..567454a4fb 100644 --- a/lib/app/components/nuxt.vue +++ b/lib/app/components/nuxt.vue @@ -1,6 +1,6 @@ \ No newline at end of file diff --git a/test/fixtures/ssr/lib/db.js b/test/fixtures/ssr/lib/db.js new file mode 100644 index 0000000000..9c173807f6 --- /dev/null +++ b/test/fixtures/ssr/lib/db.js @@ -0,0 +1,4 @@ + +let idCtr = 0 + +export const nextId = () => ++idCtr diff --git a/test/fixtures/ssr/pages/asyncData.vue b/test/fixtures/ssr/pages/asyncData.vue new file mode 100644 index 0000000000..5f194666ed --- /dev/null +++ b/test/fixtures/ssr/pages/asyncData.vue @@ -0,0 +1,15 @@ + + + diff --git a/test/fixtures/ssr/pages/component.vue b/test/fixtures/ssr/pages/component.vue new file mode 100644 index 0000000000..316ad6e5ec --- /dev/null +++ b/test/fixtures/ssr/pages/component.vue @@ -0,0 +1,15 @@ + + + \ No newline at end of file diff --git a/test/fixtures/ssr/pages/data.vue b/test/fixtures/ssr/pages/data.vue new file mode 100644 index 0000000000..f627b7b373 --- /dev/null +++ b/test/fixtures/ssr/pages/data.vue @@ -0,0 +1,15 @@ + + + diff --git a/test/fixtures/ssr/pages/fetch.vue b/test/fixtures/ssr/pages/fetch.vue new file mode 100644 index 0000000000..27ed0ec8bc --- /dev/null +++ b/test/fixtures/ssr/pages/fetch.vue @@ -0,0 +1,14 @@ + + + diff --git a/test/fixtures/ssr/pages/store.vue b/test/fixtures/ssr/pages/store.vue new file mode 100644 index 0000000000..767e0f3b23 --- /dev/null +++ b/test/fixtures/ssr/pages/store.vue @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/test/fixtures/ssr/store/index.js b/test/fixtures/ssr/store/index.js new file mode 100644 index 0000000000..e98ccc4f5d --- /dev/null +++ b/test/fixtures/ssr/store/index.js @@ -0,0 +1,22 @@ +import { nextId } from '@/lib/db' + +export const state = () => { + return { + id: nextId(), + id2: 0 + } +} + +export const mutations = { + setId2 (state, id) { + state.id2 = id + } +} + +export const actions = { + nuxtServerInit ({ commit, state }, { route }) { + if (route.query.onServerInit === '1') { + commit('setId2', nextId()) + } + } +} diff --git a/test/ssr.test.js b/test/ssr.test.js new file mode 100755 index 0000000000..09a3bc0aa7 --- /dev/null +++ b/test/ssr.test.js @@ -0,0 +1,84 @@ +import test from 'ava' +import { resolve } from 'path' +import { Nuxt, Builder, Utils } from '..' +import { uniq } from 'lodash' + +const port = 4008 +let nuxt = null + +// Utils +const range = n => [...Array(n).keys()] +const FOOBAR_REGEX = /([\s\S]*)<\/foobar>/ +const match = (regex, text) => (regex.exec(text) || [])[1] + +// Init nuxt.js and create server listening on localhost:4000 +test.before('Init Nuxt.js', async t => { + const options = { + rootDir: resolve(__dirname, 'fixtures/ssr'), + dev: false, + render: { + resourceHints: false + }, + build: { + extractCSS: true + } + } + nuxt = new Nuxt(options) + await new Builder(nuxt).build() + await nuxt.listen(port, 'localhost') +}) + +// == Uniq Test == +// The idea behind is pages using a shared nextId() which retuns an increamenting id +// So all responses should strictly be different and length of unique responses should equal to responses +// We strictly compare {id} section +// Because other response parts such as window.__NUXT may be different resulting false positive passes. +const uniqueTest = async (t, url) => { + let results = [] + + await Utils.parallel(range(20), async () => { + let { html } = await nuxt.renderRoute(url) + let foobar = match(FOOBAR_REGEX, html) + results.push(parseInt(foobar)) + }) + + let isUnique = uniq(results).length === results.length + + if (!isUnique) { + /* eslint-disable no-console */ + console.log(url + '\n' + results.join(', ') + '\n') + } + + t.true(isUnique) + + return results +} + +test('unique responses with data()', async t => { + await uniqueTest(t, '/data') +}) + +test('unique responses with component', async t => { + await uniqueTest(t, '/component') +}) + +test('unique responses with asyncData()', async t => { + await uniqueTest(t, '/asyncData') +}) + +test('unique responses with store initial state', async t => { + await uniqueTest(t, '/store') +}) + +test('unique responses with nuxtServerInit', async t => { + await uniqueTest(t, '/store?onServerInit=1') +}) + +test('unique responses with fetch', async t => { + await uniqueTest(t, '/fetch') +}) + +// Close server and ask nuxt to stop listening to file changes +test.after('Closing server and nuxt.js', t => { + nuxt.close() +}) From bfd8475979e2474aa174ce8dd9a7575574a95f6b Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Mon, 3 Jul 2017 22:59:38 +0430 Subject: [PATCH 165/236] test(ssr): async components --- test/fixtures/ssr/pages/asyncComponent.vue | 18 ++++++++++++++++++ test/ssr.test.js | 4 ++++ 2 files changed, 22 insertions(+) create mode 100644 test/fixtures/ssr/pages/asyncComponent.vue diff --git a/test/fixtures/ssr/pages/asyncComponent.vue b/test/fixtures/ssr/pages/asyncComponent.vue new file mode 100644 index 0000000000..ec29b62d43 --- /dev/null +++ b/test/fixtures/ssr/pages/asyncComponent.vue @@ -0,0 +1,18 @@ + + + \ No newline at end of file diff --git a/test/ssr.test.js b/test/ssr.test.js index 09a3bc0aa7..e45201fb04 100755 --- a/test/ssr.test.js +++ b/test/ssr.test.js @@ -62,6 +62,10 @@ test('unique responses with component', async t => { await uniqueTest(t, '/component') }) +test('unique responses with async components', async t => { + await uniqueTest(t, '/asyncComponent') +}) + test('unique responses with asyncData()', async t => { await uniqueTest(t, '/asyncData') }) From 71faf7cae364bf5821abf2a57785522842676c51 Mon Sep 17 00:00:00 2001 From: Sebastien Chopin Date: Tue, 4 Jul 2017 15:41:43 +0200 Subject: [PATCH 166/236] IE9: fix issue with Array.find and String.includes --- examples/custom-build/pages/index.vue | 10 ++++++++++ examples/nested-routes/nuxt.config.js | 10 ++++++++++ examples/nested-routes/pages/index/_id.vue | 1 + lib/app/store.js | 7 ++++++- 4 files changed, 27 insertions(+), 1 deletion(-) diff --git a/examples/custom-build/pages/index.vue b/examples/custom-build/pages/index.vue index 5be0248820..163d8e58ea 100644 --- a/examples/custom-build/pages/index.vue +++ b/examples/custom-build/pages/index.vue @@ -7,6 +7,16 @@ + + \ No newline at end of file diff --git a/examples/dynamic-components/components/image.vue b/examples/dynamic-components/components/image.vue new file mode 100644 index 0000000000..f60da9a50e --- /dev/null +++ b/examples/dynamic-components/components/image.vue @@ -0,0 +1,36 @@ + + + + + \ No newline at end of file diff --git a/examples/dynamic-components/components/text.vue b/examples/dynamic-components/components/text.vue new file mode 100644 index 0000000000..856ed0f78c --- /dev/null +++ b/examples/dynamic-components/components/text.vue @@ -0,0 +1,17 @@ + + + + + \ No newline at end of file diff --git a/examples/dynamic-components/js/messages.js b/examples/dynamic-components/js/messages.js new file mode 100644 index 0000000000..3d826501b3 --- /dev/null +++ b/examples/dynamic-components/js/messages.js @@ -0,0 +1,16 @@ +const messages = [ + { component: 'vText', data: 'Welcome to the Dynamic Component demo!' }, + { component: 'vText', data: 'Look at this nice picture:' }, + { component: 'vImage', data: 'https://placeimg.com/350/200/animals' }, + { component: 'vText', data: 'If you prefer, look at this code component:' }, + { component: 'vCode', data: 'var a = 1;\nvar b = 2;\nb = a;' }, + { component: 'vText', data: 'End of demo 🎉' }, +] + +function streamMessages (fn, i = 0) { + if (i >= messages.length) return + fn(messages[i]) + setTimeout(() => streamMessages(fn, i + 1), 2000) +} + +export default streamMessages \ No newline at end of file diff --git a/examples/dynamic-components/nuxt.config.js b/examples/dynamic-components/nuxt.config.js new file mode 100644 index 0000000000..7656e08270 --- /dev/null +++ b/examples/dynamic-components/nuxt.config.js @@ -0,0 +1,9 @@ +module.exports = { + head: { + titleTemplate: 'Nuxt.js - Dynamic Components', + meta: [ + { charset: 'utf-8' }, + { name: 'viewport', content: 'width=device-width, initial-scale=1' } + ] + } +} \ No newline at end of file diff --git a/examples/dynamic-components/package.json b/examples/dynamic-components/package.json index ac286a63f4..061ad4c4fb 100644 --- a/examples/dynamic-components/package.json +++ b/examples/dynamic-components/package.json @@ -1,5 +1,5 @@ { - "name": "dynamic-component-nuxt", + "name": "dynamic-components-nuxt", "dependencies": { "nuxt": "latest" }, diff --git a/examples/dynamic-components/pages/index.vue b/examples/dynamic-components/pages/index.vue old mode 100644 new mode 100755 index 30a3e45f32..9435270fd1 --- a/examples/dynamic-components/pages/index.vue +++ b/examples/dynamic-components/pages/index.vue @@ -1,9 +1,64 @@ \ No newline at end of file + + + + + \ No newline at end of file From 2dafa52bc4efd13094595cca41fbbbbcbf54cf8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Sun, 9 Jul 2017 01:47:13 +0200 Subject: [PATCH 200/236] Update README --- examples/dynamic-components/README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/examples/dynamic-components/README.md b/examples/dynamic-components/README.md index d64ba5270a..48a715ecf0 100644 --- a/examples/dynamic-components/README.md +++ b/examples/dynamic-components/README.md @@ -1,3 +1,5 @@ -# Hello World with Nuxt.js +# Dynamic Components with Nuxt.js -https://nuxtjs.org/examples +Demo: https://nuxt-chat.surge.sh + +Video: https://www.youtube.com/watch?v=HzDea5-PFaw \ No newline at end of file From 272ae52c73bfb8731aef9055ee448dfe80297024 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Sun, 9 Jul 2017 01:50:26 +0200 Subject: [PATCH 201/236] Remove first timeout --- examples/dynamic-components/pages/index.vue | 2 -- 1 file changed, 2 deletions(-) diff --git a/examples/dynamic-components/pages/index.vue b/examples/dynamic-components/pages/index.vue index 9435270fd1..dcacf3cf6a 100755 --- a/examples/dynamic-components/pages/index.vue +++ b/examples/dynamic-components/pages/index.vue @@ -23,7 +23,6 @@ export default { messages: [] }), mounted () { - setTimeout(() => { // Listen to new messages streamMessages(async (message) => { // Make sure to wait for async chunk to be loaded before adding the message @@ -31,7 +30,6 @@ export default { // Add the message to the list this.messages.push(message) }) - }, 1000) }, components } From dca165828a305c6826bc4131f4488c6c41725bda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Sun, 9 Jul 2017 02:09:03 +0200 Subject: [PATCH 202/236] Update README.md --- examples/dynamic-components/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/dynamic-components/README.md b/examples/dynamic-components/README.md index 48a715ecf0..06b42c7783 100644 --- a/examples/dynamic-components/README.md +++ b/examples/dynamic-components/README.md @@ -1,5 +1,5 @@ # Dynamic Components with Nuxt.js -Demo: https://nuxt-chat.surge.sh +Demo: https://nuxt-chat.now.sh -Video: https://www.youtube.com/watch?v=HzDea5-PFaw \ No newline at end of file +Video: https://www.youtube.com/watch?v=HzDea5-PFaw From 505aed45756a4ad0b05b53570bed15ea127a0cd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Sun, 9 Jul 2017 02:35:07 +0200 Subject: [PATCH 203/236] =?UTF-8?q?Use=20transitions=20for=20=F0=9F=99=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/dynamic-components/pages/index.vue | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/examples/dynamic-components/pages/index.vue b/examples/dynamic-components/pages/index.vue index dcacf3cf6a..c66cfacb68 100755 --- a/examples/dynamic-components/pages/index.vue +++ b/examples/dynamic-components/pages/index.vue @@ -1,11 +1,11 @@ @@ -58,5 +58,13 @@ ul li { background: white; border: 1px #ddd solid; overflow: hidden; + opacity: 1; +} +.list-enter-active, .list-leave-active { + transition: all 0.4s; +} +.list-enter, .list-leave-to { + opacity: 0; + transform: translateY(20px); } \ No newline at end of file From 2a76ff4d2796a6aadb0aabe9e4246824735fbdd3 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Sun, 9 Jul 2017 14:10:37 +0430 Subject: [PATCH 204/236] feat: build.devMiddleware and build.hotMiddleware options Closes #1025 --- lib/builder/builder.js | 8 ++++---- lib/core/options.js | 4 +++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/builder/builder.js b/lib/builder/builder.js index 776fefb37f..08352af0bd 100644 --- a/lib/builder/builder.js +++ b/lib/builder/builder.js @@ -369,18 +369,18 @@ export default class Builder extends Tapable { debug('Adding webpack middleware...') // Create webpack dev middleware - this.webpackDevMiddleware = pify(webpackDevMiddleware(this.compiler.client, { + this.webpackDevMiddleware = pify(webpackDevMiddleware(this.compiler.client, Object.assign({ publicPath: this.options.build.publicPath, stats: this.webpackStats, noInfo: true, quiet: true, watchOptions: this.options.watchers.webpack - })) + }, this.options.build.devMiddleware))) - this.webpackHotMiddleware = pify(webpackHotMiddleware(this.compiler.client, { + this.webpackHotMiddleware = pify(webpackHotMiddleware(this.compiler.client, Object.assign({ log: false, heartbeat: 2500 - })) + }, this.options.build.hotMiddleware))) // Inject to renderer instance if (this.nuxt.renderer) { diff --git a/lib/core/options.js b/lib/core/options.js index 2a9f615d6e..3e21abf6c1 100755 --- a/lib/core/options.js +++ b/lib/core/options.js @@ -69,7 +69,9 @@ export const defaultOptions = { babel: {}, postcss: [], templates: [], - watch: [] + watch: [], + devMiddleware: {}, + hotMiddleware: {} }, generate: { dir: 'dist', From 270c490a9de2199f3b4c1cc2424a10b4af651914 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Sun, 9 Jul 2017 12:00:08 +0200 Subject: [PATCH 205/236] Add generate.concurrency option --- lib/builder/generator.js | 2 +- lib/core/options.js | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/builder/generator.js b/lib/builder/generator.js index 1f01bea614..1019afafd6 100644 --- a/lib/builder/generator.js +++ b/lib/builder/generator.js @@ -68,7 +68,7 @@ export default class Generator extends Tapable { // Start generate process while (routes.length) { let n = 0 - await Promise.all(routes.splice(0, 500).map(async ({ route, payload }) => { + await Promise.all(routes.splice(0, this.options.generate.concurrency).map(async ({ route, payload }) => { await waitFor(n++ * this.options.generate.interval) await this.generateRoute({route, payload, errors}) })) diff --git a/lib/core/options.js b/lib/core/options.js index 2a9f615d6e..3eb0017b26 100755 --- a/lib/core/options.js +++ b/lib/core/options.js @@ -74,6 +74,7 @@ export const defaultOptions = { generate: { dir: 'dist', routes: [], + concurrency: 500, interval: 0, minify: { collapseBooleanAttributes: true, From f083990dbd9cce75756caee6c3c1067d0bea0ff2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Sun, 9 Jul 2017 12:15:12 +0200 Subject: [PATCH 206/236] Update dependencies --- package.json | 1 - yarn.lock | 600 ++++++++------------------------------------------- 2 files changed, 91 insertions(+), 510 deletions(-) diff --git a/package.json b/package.json index 5285e81346..c8ad463b1c 100644 --- a/package.json +++ b/package.json @@ -141,7 +141,6 @@ "finalhandler": "^1.0.3", "jsdom": "^11.1.0", "json-loader": "^0.5.4", - "lerna": "2.0.0-rc.5", "nyc": "^11.0.3", "request": "^2.81.0", "request-promise-native": "^1.0.4", diff --git a/yarn.lock b/yarn.lock index 557677c584..5e04c53d03 100644 --- a/yarn.lock +++ b/yarn.lock @@ -48,13 +48,6 @@ version "6.0.79" resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.79.tgz#5efe7d4a6d8c453c7e9eaf55d931f4a22fac5169" -JSONStream@^1.0.4: - version "1.3.1" - resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.1.tgz#707f761e01dae9e16f1bcf93703b78c70966579a" - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - abab@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.3.tgz#b81de5f7274ec4e756d797cd834f303642724e5d" @@ -97,12 +90,8 @@ acorn@^4.0.1, acorn@^4.0.3, acorn@^4.0.4: resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" acorn@^5.0.0, acorn@^5.0.1, acorn@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.0.3.tgz#c460df08491463f028ccb82eab3730bf01087b3d" - -add-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" + version "5.1.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.1.1.tgz#53fe161111f912ab999ee887a90a0bc52822fd75" ajv-keywords@^1.0.0: version "1.5.1" @@ -119,12 +108,12 @@ ajv@^4.7.0, ajv@^4.9.1: co "^4.6.0" json-stable-stringify "^1.0.1" -ajv@^5.0.0, ajv@^5.1.5: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.2.0.tgz#c1735024c5da2ef75cc190713073d44f098bf486" +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" dependencies: co "^4.6.0" - fast-deep-equal "^0.1.0" + fast-deep-equal "^1.0.0" json-schema-traverse "^0.3.0" json-stable-stringify "^1.0.1" @@ -233,8 +222,8 @@ arr-exclude@^1.0.0: resolved "https://registry.yarnpkg.com/arr-exclude/-/arr-exclude-1.0.0.tgz#dfc7c2e552a270723ccda04cf3128c8cbfe5c631" arr-flatten@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.3.tgz#a274ed85ac08849b6bd7847c4580745dc51adfb1" + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" array-differ@^1.0.0: version "1.0.0" @@ -252,10 +241,6 @@ array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" -array-ify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" - array-union@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" @@ -304,7 +289,7 @@ async-each@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" -async@^1.4.0, async@^1.5.0: +async@^1.4.0: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" @@ -334,14 +319,14 @@ autoprefixer@^6.3.1: postcss-value-parser "^3.2.3" autoprefixer@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-7.1.1.tgz#97bc854c7d0b979f8d6489de547a0d17fb307f6d" + version "7.1.2" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-7.1.2.tgz#fbeaf07d48fd878e0682bf7cbeeade728adb2b18" dependencies: - browserslist "^2.1.3" - caniuse-lite "^1.0.30000670" + browserslist "^2.1.5" + caniuse-lite "^1.0.30000697" normalize-range "^0.1.2" num2fraction "^1.2.2" - postcss "^6.0.1" + postcss "^6.0.6" postcss-value-parser "^3.2.3" ava-init@^0.2.0: @@ -1274,7 +1259,7 @@ browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6: caniuse-db "^1.0.30000639" electron-to-chromium "^1.2.7" -browserslist@^2.1.2, browserslist@^2.1.3: +browserslist@^2.1.2, browserslist@^2.1.5: version "2.1.5" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.1.5.tgz#e882550df3d1cd6d481c1a3e0038f2baf13a4711" dependencies: @@ -1305,10 +1290,6 @@ 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" -byline@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/byline/-/byline-5.0.0.tgz#741c5216468eadc457b03410118ad77de8c1ddb1" - bytes@2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.3.0.tgz#d5b680a165b6201739acb611542aabc2d8ceb070" @@ -1384,12 +1365,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.30000696" - resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000696.tgz#e71f5c61e1f96c7a3af4e791ac5db55e11737604" + version "1.0.30000697" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000697.tgz#20ce6a9ceeef4ef4a15dc8e80f2e8fb9049e8d77" -caniuse-lite@^1.0.30000670, caniuse-lite@^1.0.30000684: - version "1.0.30000696" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000696.tgz#30f2695d2a01a0dfd779a26ab83f4d134b3da5cc" +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" capture-stack-trace@^1.0.0: version "1.0.0" @@ -1456,10 +1437,11 @@ ci-info@^1.0.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.0.0.tgz#dc5285f2b4e251821683681c381c3388f46ec534" cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.3.tgz#eeabf194419ce900da3018c207d212f2a6df0a07" + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" dependencies: inherits "^2.0.1" + safe-buffer "^5.0.1" circular-json@^0.3.1: version "0.3.1" @@ -1472,8 +1454,8 @@ clap@^1.0.9: chalk "^1.1.3" clean-css@4.1.x: - version "4.1.5" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.1.5.tgz#d09a87a02a5375117589796ae76a063cacdb541a" + version "4.1.6" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.1.6.tgz#5a47beb526994cb4f7bf36188a55ed3b45528f0b" dependencies: source-map "0.5.x" @@ -1534,13 +1516,6 @@ clone@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.1.tgz#d217d1e961118e3ac9a4b8bba3285553bf647cdb" -cmd-shim@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-2.0.2.tgz#6fcbda99483a8fd15d7d30a196ca69d688a2efdb" - dependencies: - graceful-fs "^4.1.2" - mkdirp "~0.5.0" - co-with-promise@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co-with-promise/-/co-with-promise-4.6.0.tgz#413e7db6f5893a60b942cf492c4bec93db415ab7" @@ -1552,8 +1527,8 @@ co@^4.6.0: resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" coa@~1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.3.tgz#1b54a5e1dcf77c990455d4deea98c564416dc893" + version "1.0.4" + resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.4.tgz#a9ef153660d6a86a8bdec0289a5c684d217432fd" dependencies: q "^1.1.2" @@ -1611,23 +1586,12 @@ colors@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" -columnify@^1.5.4: - version "1.5.4" - resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb" - dependencies: - strip-ansi "^3.0.0" - wcwidth "^1.0.0" - combined-stream@^1.0.5, combined-stream@~1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" dependencies: delayed-stream "~1.0.0" -command-join@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/command-join/-/command-join-2.0.0.tgz#52e8b984f4872d952ff1bdc8b98397d27c7144cf" - commander@2.9.x, commander@^2.9.0, commander@~2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" @@ -1642,13 +1606,6 @@ commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" -compare-func@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-1.3.2.tgz#99dd0ba457e1f9bc722b12c08ec33eeab31fa648" - dependencies: - array-ify "^1.0.0" - dot-prop "^3.0.0" - compressible@~2.0.8: version "2.0.10" resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.10.tgz#feda1c7f7617912732b29bf8cf26252a20b9eecd" @@ -1670,7 +1627,7 @@ concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" -concat-stream@^1.4.10, concat-stream@^1.6.0: +concat-stream@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" dependencies: @@ -1757,152 +1714,6 @@ content-type@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed" -conventional-changelog-angular@^1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-1.3.4.tgz#7d7cdfbd358948312904d02229a61fd6075cf455" - dependencies: - compare-func "^1.3.1" - github-url-from-git "^1.4.0" - q "^1.4.1" - -conventional-changelog-atom@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-0.1.0.tgz#67a47c66a42b2f8909ef1587c9989ae1de730b92" - dependencies: - q "^1.4.1" - -conventional-changelog-cli@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/conventional-changelog-cli/-/conventional-changelog-cli-1.3.1.tgz#1cd5a9dbae25ffb5ffe67afef1e136eaceefd2d5" - dependencies: - add-stream "^1.0.0" - conventional-changelog "^1.1.3" - lodash "^4.1.0" - meow "^3.7.0" - tempfile "^1.1.1" - -conventional-changelog-codemirror@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-0.1.0.tgz#7577a591dbf9b538e7a150a7ee62f65a2872b334" - dependencies: - q "^1.4.1" - -conventional-changelog-core@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-1.9.0.tgz#de5dfbc091847656508d4a389e35c9a1bc49e7f4" - dependencies: - conventional-changelog-writer "^1.1.0" - conventional-commits-parser "^1.0.0" - dateformat "^1.0.12" - get-pkg-repo "^1.0.0" - git-raw-commits "^1.2.0" - git-remote-origin-url "^2.0.0" - git-semver-tags "^1.2.0" - lodash "^4.0.0" - normalize-package-data "^2.3.5" - q "^1.4.1" - read-pkg "^1.1.0" - read-pkg-up "^1.0.1" - through2 "^2.0.0" - -conventional-changelog-ember@^0.2.6: - version "0.2.6" - resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-0.2.6.tgz#8b7355419f5127493c4c562473ab2fc792f1c2b6" - dependencies: - q "^1.4.1" - -conventional-changelog-eslint@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-0.1.0.tgz#a52411e999e0501ce500b856b0a643d0330907e2" - dependencies: - q "^1.4.1" - -conventional-changelog-express@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-0.1.0.tgz#55c6c841c811962036c037bdbd964a54ae310fce" - dependencies: - q "^1.4.1" - -conventional-changelog-jquery@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-jquery/-/conventional-changelog-jquery-0.1.0.tgz#0208397162e3846986e71273b6c79c5b5f80f510" - dependencies: - q "^1.4.1" - -conventional-changelog-jscs@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-jscs/-/conventional-changelog-jscs-0.1.0.tgz#0479eb443cc7d72c58bf0bcf0ef1d444a92f0e5c" - dependencies: - q "^1.4.1" - -conventional-changelog-jshint@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-0.1.0.tgz#00cab8e9a3317487abd94c4d84671342918d2a07" - dependencies: - compare-func "^1.3.1" - q "^1.4.1" - -conventional-changelog-writer@^1.1.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-1.4.1.tgz#3f4cb4d003ebb56989d30d345893b52a43639c8e" - dependencies: - compare-func "^1.3.1" - conventional-commits-filter "^1.0.0" - dateformat "^1.0.11" - handlebars "^4.0.2" - json-stringify-safe "^5.0.1" - lodash "^4.0.0" - meow "^3.3.0" - semver "^5.0.1" - split "^1.0.0" - through2 "^2.0.0" - -conventional-changelog@^1.1.3: - version "1.1.4" - resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-1.1.4.tgz#108bc750c2a317e200e2f9b413caaa1f8c7efa3b" - dependencies: - conventional-changelog-angular "^1.3.4" - conventional-changelog-atom "^0.1.0" - conventional-changelog-codemirror "^0.1.0" - conventional-changelog-core "^1.9.0" - conventional-changelog-ember "^0.2.6" - conventional-changelog-eslint "^0.1.0" - conventional-changelog-express "^0.1.0" - conventional-changelog-jquery "^0.1.0" - conventional-changelog-jscs "^0.1.0" - conventional-changelog-jshint "^0.1.0" - -conventional-commits-filter@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-1.0.0.tgz#6fc2a659372bc3f2339cf9ffff7e1b0344b93039" - dependencies: - is-subset "^0.1.1" - modify-values "^1.0.0" - -conventional-commits-parser@^1.0.0, conventional-commits-parser@^1.0.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-1.3.0.tgz#e327b53194e1a7ad5dc63479ee9099a52b024865" - dependencies: - JSONStream "^1.0.4" - is-text-path "^1.0.0" - lodash "^4.2.1" - meow "^3.3.0" - split2 "^2.0.0" - through2 "^2.0.0" - trim-off-newlines "^1.0.0" - -conventional-recommended-bump@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-1.0.0.tgz#6d303a27837ae938b7c68c8ddeed34559b4b0789" - dependencies: - concat-stream "^1.4.10" - conventional-commits-filter "^1.0.0" - conventional-commits-parser "^1.0.1" - git-raw-commits "^1.2.0" - git-semver-tags "^1.2.0" - meow "^3.3.0" - object-assign "^4.0.1" - convert-source-map@^1.1.0, convert-source-map@^1.2.0, convert-source-map@^1.3.0: version "1.5.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" @@ -2013,7 +1824,7 @@ cross-spawn@^4, cross-spawn@^4.0.0: lru-cache "^4.0.1" which "^1.2.9" -cross-spawn@^5.0.1, cross-spawn@^5.1.0: +cross-spawn@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" dependencies: @@ -2160,12 +1971,6 @@ d@1: dependencies: es5-ext "^0.10.9" -dargs@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17" - dependencies: - number-is-nan "^1.0.0" - dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" @@ -2180,13 +1985,6 @@ date-time@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/date-time/-/date-time-0.1.1.tgz#ed2f6d93d9790ce2fd66d5b5ff3edd5bbcbf3b07" -dateformat@^1.0.11, dateformat@^1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9" - dependencies: - get-stdin "^4.0.1" - meow "^3.3.0" - de-indent@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" @@ -2217,10 +2015,6 @@ 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" -dedent@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" - deep-equal@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" @@ -2234,8 +2028,8 @@ deep-is@~0.1.3: resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" deepmerge@^1.3.2: - version "1.4.4" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-1.4.4.tgz#40ef393c91af09d16a887e755337844230ad14c9" + version "1.5.0" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-1.5.0.tgz#00bc5b88fd23b8130f9f5049071c3420e07a5465" default-require-extensions@^1.0.0: version "1.0.0" @@ -2243,12 +2037,6 @@ default-require-extensions@^1.0.0: dependencies: strip-bom "^2.0.0" -defaults@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" - dependencies: - clone "^1.0.2" - define-properties@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" @@ -2384,12 +2172,6 @@ domutils@^1.5.1: dom-serializer "0" domelementtype "1" -dot-prop@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" - dependencies: - is-obj "^1.0.0" - dot-prop@^4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.1.1.tgz#a8493f0b7b5eeec82525b5c7587fa7de7ca859c1" @@ -2464,7 +2246,7 @@ encoding@^0.1.11: dependencies: iconv-lite "~0.4.13" -enhanced-resolve@^3.0.0: +enhanced-resolve@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.3.0.tgz#950964ecc7f0332a42321b673b38dc8ff15535b3" dependencies: @@ -2598,7 +2380,7 @@ eslint-import-resolver-node@^0.3.1: debug "^2.6.8" resolve "^1.2.0" -eslint-module-utils@^2.0.0: +eslint-module-utils@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.1.1.tgz#abaec824177613b8a95b299639e1b6facf473449" dependencies: @@ -2612,15 +2394,15 @@ eslint-plugin-html@^3.0.0: htmlparser2 "^3.8.2" eslint-plugin-import@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.6.1.tgz#f580be62bb809421d46e338372764afcc9f59bf6" + version "2.7.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.7.0.tgz#21de33380b9efb55f5ef6d2e210ec0e07e7fa69f" dependencies: builtin-modules "^1.1.1" contains-path "^0.1.0" debug "^2.6.8" doctrine "1.5.0" eslint-import-resolver-node "^0.3.1" - eslint-module-utils "^2.0.0" + eslint-module-utils "^2.1.1" has "^1.0.1" lodash.cond "^4.3.0" minimatch "^3.0.3" @@ -2651,9 +2433,10 @@ eslint-scope@^3.7.1: estraverse "^4.1.1" eslint@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.1.1.tgz#facbdfcfe3e0facd3a8b80dc98c4e6c13ae582df" + version "4.2.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.2.0.tgz#a2b3184111b198e02e9c7f3cca625a5e01c56b3d" dependencies: + ajv "^5.2.0" babel-code-frame "^6.22.0" chalk "^1.1.3" concat-stream "^1.6.0" @@ -2670,7 +2453,6 @@ eslint@^4.1.1: ignore "^3.3.3" imurmurhash "^0.1.4" inquirer "^3.0.6" - is-my-json-valid "^2.16.0" is-resolvable "^1.0.0" js-yaml "^3.8.4" json-stable-stringify "^1.0.1" @@ -2708,9 +2490,9 @@ esprima@^2.6.0, esprima@^2.7.1: version "2.7.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" -esprima@^3.1.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" +esprima@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" espurify@^1.6.0: version "1.7.0" @@ -2795,18 +2577,6 @@ execa@^0.5.0: signal-exit "^3.0.0" strip-eof "^1.0.0" -execa@^0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.6.3.tgz#57b69a594f081759c69e5370f0d17b9cb11658fe" - 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" @@ -2883,9 +2653,9 @@ extsprintf@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" -fast-deep-equal@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-0.1.0.tgz#5c6f4599aba6b333ee3342e2ed978672f1001f8d" +fast-deep-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff" fast-diff@^1.1.1: version "1.1.1" @@ -3124,17 +2894,7 @@ get-caller-file@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" -get-pkg-repo@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz#c73b489c06d80cc5536c2c853f9e05232056972d" - dependencies: - hosted-git-info "^2.1.4" - meow "^3.3.0" - normalize-package-data "^2.3.0" - parse-github-repo-url "^1.3.0" - through2 "^2.0.0" - -get-port@^3.0.0, get-port@^3.1.0: +get-port@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.1.0.tgz#ef01b18a84ca6486970ff99e54446141a73ffd3e" @@ -3159,40 +2919,6 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" -git-raw-commits@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-1.2.0.tgz#0f3a8bfd99ae0f2d8b9224d58892975e9a52d03c" - dependencies: - dargs "^4.0.1" - lodash.template "^4.0.2" - meow "^3.3.0" - split2 "^2.0.0" - through2 "^2.0.0" - -git-remote-origin-url@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f" - dependencies: - gitconfiglocal "^1.0.0" - pify "^2.3.0" - -git-semver-tags@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-1.2.0.tgz#b31fd02c8ab578bd6c9b5cacca5e1c64c1177ac1" - dependencies: - meow "^3.3.0" - semver "^5.0.1" - -gitconfiglocal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b" - dependencies: - ini "^1.3.2" - -github-url-from-git@^1.4.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/github-url-from-git/-/github-url-from-git-1.5.0.tgz#f985fedcc0a9aa579dc88d7aff068d55cc6251a0" - glob-base@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" @@ -3242,7 +2968,7 @@ globby@^5.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" -globby@^6.0.0, globby@^6.1.0: +globby@^6.0.0: version "6.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" dependencies: @@ -3282,7 +3008,7 @@ gzip-size@^3.0.0: dependencies: duplexer "^0.1.1" -handlebars@^4.0.2, handlebars@^4.0.3: +handlebars@^4.0.3: version "4.0.10" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.10.tgz#3d30c718b09a3d96f23ea4cc1f403c4d3ba9ff4f" dependencies: @@ -3495,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.13: +iconv-lite@^0.4.17: version "0.4.18" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.18.tgz#23d8656b16aae6742ac29732ea8f0336a4789cf2" @@ -3573,7 +3299,7 @@ inherits@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" -ini@^1.3.2, ini@^1.3.4, ini@~1.3.0: +ini@^1.3.4, ini@~1.3.0: version "1.3.4" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" @@ -3641,7 +3367,7 @@ is-builtin-module@^1.0.0: dependencies: builtin-modules "^1.0.0" -is-ci@^1.0.10, is-ci@^1.0.7: +is-ci@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.0.10.tgz#f739336b2632365061a9d48270cd56ae3369318e" dependencies: @@ -3713,7 +3439,7 @@ is-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" -is-my-json-valid@^2.12.4, is-my-json-valid@^2.16.0: +is-my-json-valid@^2.12.4: version "2.16.0" resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693" dependencies: @@ -3802,22 +3528,12 @@ is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" -is-subset@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6" - is-svg@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9" dependencies: html-comment-regex "^1.1.0" -is-text-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" - dependencies: - text-extensions "^1.0.0" - is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" @@ -3925,11 +3641,11 @@ js-tokens@^3.0.0: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" js-yaml@^3.4.3, js-yaml@^3.8.2, js-yaml@^3.8.4: - version "3.8.4" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.4.tgz#520b4564f86573ba96662af85a8cafa7b4b5a6f6" + version "3.9.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.9.0.tgz#4ffbbf25c2ac963b8299dc74da7e3740de1c18ce" dependencies: argparse "^1.0.7" - esprima "^3.1.1" + esprima "^4.0.0" js-yaml@~3.7.0: version "3.7.0" @@ -3998,7 +3714,7 @@ json-stable-stringify@^1.0.1: dependencies: jsonify "~0.0.0" -json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: +json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" @@ -4013,8 +3729,8 @@ jsonfile@^2.1.0: graceful-fs "^4.1.6" jsonfile@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-3.0.0.tgz#92e7c7444e5ffd5fa32e6a9ae8b85034df8347d0" + version "3.0.1" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-3.0.1.tgz#a5ecc6f65f53f662c4415c7675a0331d0992ec66" optionalDependencies: graceful-fs "^4.1.6" @@ -4022,10 +3738,6 @@ jsonify@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" -jsonparse@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" - jsonpointer@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" @@ -4079,46 +3791,6 @@ lcid@^1.0.0: dependencies: invert-kv "^1.0.0" -lerna@2.0.0-rc.5: - version "2.0.0-rc.5" - resolved "https://registry.yarnpkg.com/lerna/-/lerna-2.0.0-rc.5.tgz#b59d168caaac6e3443078c1bce194208c9aa3090" - dependencies: - async "^1.5.0" - chalk "^1.1.1" - cmd-shim "^2.0.2" - columnify "^1.5.4" - command-join "^2.0.0" - conventional-changelog-cli "^1.3.1" - conventional-recommended-bump "^1.0.0" - dedent "^0.7.0" - execa "^0.6.3" - find-up "^2.1.0" - fs-extra "^3.0.1" - get-port "^3.1.0" - glob "^7.1.2" - globby "^6.1.0" - graceful-fs "^4.1.11" - inquirer "^3.0.6" - is-ci "^1.0.10" - load-json-file "^2.0.0" - lodash "^4.17.4" - minimatch "^3.0.4" - npmlog "^4.1.0" - p-finally "^1.0.0" - path-exists "^3.0.0" - read-cmd-shim "^1.0.1" - read-pkg "^2.0.0" - rimraf "^2.6.1" - safe-buffer "^5.0.1" - semver "^5.1.0" - signal-exit "^3.0.2" - strong-log-transformer "^1.0.6" - temp-write "^3.3.0" - write-file-atomic "^2.1.0" - write-json-file "^2.1.0" - write-pkg "^3.0.1" - yargs "^8.0.1" - levn@^0.3.0, levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" @@ -4229,7 +3901,7 @@ lodash.sortby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" -lodash.template@^4.0.2, lodash.template@^4.4.0: +lodash.template@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0" dependencies: @@ -4246,7 +3918,7 @@ lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" -lodash@^4.0.0, lodash@^4.1.0, lodash@^4.11.1, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0: +lodash@^4.0.0, lodash@^4.11.1, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.3.0: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" @@ -4357,7 +4029,7 @@ memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1: errno "^0.1.3" readable-stream "^2.0.1" -meow@^3.3.0, meow@^3.7.0: +meow@^3.7.0: version "3.7.0" resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" dependencies: @@ -4459,21 +4131,13 @@ 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.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.1.0.tgz#99df657a52574c21c9057497df742790b2b4c0de" - "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" -modify-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.0.tgz#e2b6cdeb9ce19f99317a53722f3dbf5df5eaaab2" - -moment@^2.18.1, moment@^2.6.0: +moment@^2.18.1: version "2.18.1" resolved "https://registry.yarnpkg.com/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f" @@ -4594,7 +4258,7 @@ nopt@~3.0.1: dependencies: abbrev "1" -normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5: +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: version "2.4.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" dependencies: @@ -4634,7 +4298,7 @@ npm-run-path@^2.0.0: dependencies: path-key "^2.0.0" -npmlog@^4.0.2, npmlog@^4.1.0: +npmlog@^4.0.2: version "4.1.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" dependencies: @@ -4896,10 +4560,6 @@ parse-asn1@^5.0.0: evp_bytestokey "^1.0.0" pbkdf2 "^3.0.3" -parse-github-repo-url@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/parse-github-repo-url/-/parse-github-repo-url-1.4.0.tgz#286c53e2c9962e0641649ee3ac9508fca4dd959c" - parse-glob@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" @@ -4999,7 +4659,7 @@ performance-now@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" -pify@^2.0.0, pify@^2.2.0, pify@^2.3.0: +pify@^2.0.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -5325,9 +4985,9 @@ postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0 source-map "^0.5.6" supports-color "^3.2.3" -postcss@^6.0.1: - version "6.0.5" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.5.tgz#efa34f745ca25bd3b3cbd15aa4e03112b8237f3c" +postcss@^6.0.1, postcss@^6.0.6: + version "6.0.6" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.6.tgz#bba4d58e884fc78c840d1539e10eddaabb8f73bd" dependencies: chalk "^2.0.1" source-map "^0.5.6" @@ -5437,7 +5097,7 @@ punycode@^1.2.4, punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" -q@^1.1.2, q@^1.4.1: +q@^1.1.2: version "1.5.0" resolved "https://registry.yarnpkg.com/q/-/q-1.5.0.tgz#dd01bac9d06d30e6f219aecb8253ee9ebdc308f1" @@ -5490,12 +5150,6 @@ rc@^1.0.1, rc@^1.1.6, rc@^1.1.7: minimist "^1.2.0" strip-json-comments "~2.0.1" -read-cmd-shim@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-1.0.1.tgz#2d5d157786a37c055d22077c32c53f8329e91c7b" - dependencies: - graceful-fs "^4.1.2" - read-pkg-up@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" @@ -5510,7 +5164,7 @@ read-pkg-up@^2.0.0: find-up "^2.0.0" read-pkg "^2.0.0" -read-pkg@^1.0.0, read-pkg@^1.1.0: +read-pkg@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" dependencies: @@ -5939,7 +5593,7 @@ semver-diff@^2.0.0: dependencies: semver "^5.0.3" -"semver@2 || 3 || 4 || 5", semver@5.3.0, semver@^5.0.1, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0: +"semver@2 || 3 || 4 || 5", semver@5.3.0, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" @@ -6042,12 +5696,6 @@ sort-keys@^1.0.0, sort-keys@^1.1.1, sort-keys@^1.1.2: 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" @@ -6079,8 +5727,8 @@ source-map@~0.2.0: amdefine ">=0.0.4" spawn-wrap@^1.3.7: - version "1.3.7" - resolved "https://registry.yarnpkg.com/spawn-wrap/-/spawn-wrap-1.3.7.tgz#beb8bf4426d64b2b06871e0d7dee2643f1f8d1bc" + version "1.3.8" + resolved "https://registry.yarnpkg.com/spawn-wrap/-/spawn-wrap-1.3.8.tgz#fa2a79b990cbb0bb0018dca6748d88367b19ec31" dependencies: foreground-child "^1.5.6" mkdirp "^0.5.0" @@ -6103,18 +5751,6 @@ spdx-license-ids@^1.0.2: version "1.2.2" resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" -split2@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/split2/-/split2-2.1.1.tgz#7a1f551e176a90ecd3345f7246a0cfe175ef4fd0" - dependencies: - through2 "^2.0.2" - -split@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/split/-/split-1.0.0.tgz#c4395ce683abcd254bc28fe1dabb6e5c27dcffae" - dependencies: - through "2" - sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" @@ -6257,16 +5893,6 @@ strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" -strong-log-transformer@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/strong-log-transformer/-/strong-log-transformer-1.0.6.tgz#f7fb93758a69a571140181277eea0c2eb1301fa3" - dependencies: - byline "^5.0.0" - duplexer "^0.1.1" - minimist "^0.1.0" - moment "^2.6.0" - through "^2.3.4" - supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -6278,8 +5904,8 @@ supports-color@^3.1.0, supports-color@^3.1.2, supports-color@^3.2.3: has-flag "^1.0.0" supports-color@^4.0.0, supports-color@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.1.0.tgz#92cc14bb3dad8928ca5656c33e19a19f20af5c7a" + version "4.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.2.0.tgz#ad986dc7eb2315d009b4d77c8169c2231a684037" dependencies: has-flag "^2.0.0" @@ -6350,28 +5976,6 @@ tar@^2.2.1: fstream "^1.0.2" inherits "2" -temp-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d" - -temp-write@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/temp-write/-/temp-write-3.3.0.tgz#c1a96de2b36061342eae81f44ff001aec8f615a9" - dependencies: - graceful-fs "^4.1.2" - is-stream "^1.1.0" - make-dir "^1.0.0" - pify "^2.2.0" - temp-dir "^1.0.0" - uuid "^3.0.1" - -tempfile@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/tempfile/-/tempfile-1.1.1.tgz#5bcc4eaecc4ab2c707d8bc11d99ccc9a2cb287f2" - dependencies: - os-tmpdir "^1.0.0" - uuid "^2.0.1" - term-size@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/term-size/-/term-size-0.1.1.tgz#87360b96396cab5760963714cda0d0cbeecad9ca" @@ -6388,22 +5992,18 @@ test-exclude@^4.1.1: read-pkg-up "^1.0.1" require-main-filename "^1.0.1" -text-extensions@^1.0.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.5.0.tgz#d1cb2d14b5d0bc45bfdca8a08a473f68c7eb0cbc" - text-table@^0.2.0, text-table@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" -through2@^2.0.0, through2@^2.0.2: +through2@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" dependencies: readable-stream "^2.1.5" xtend "~4.0.1" -through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6: +through@^2.3.6: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" @@ -6458,7 +6058,7 @@ trim-newlines@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" -trim-off-newlines@^1.0.0, trim-off-newlines@^1.0.1: +trim-off-newlines@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" @@ -6506,8 +6106,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.23" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.0.23.tgz#a58c6b97e6d6763d94dbc265fe8e8c1725e64666" + version "3.0.24" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.0.24.tgz#ee93400ad9857fb7a1671778db83f6a23f033121" dependencies: commander "~2.9.0" source-map "~0.5.1" @@ -6525,7 +6125,7 @@ uglify-to-browserify@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" -uglifyjs-webpack-plugin@^0.4.4: +uglifyjs-webpack-plugin@^0.4.6: version "0.4.6" resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz#b951f4abb6bd617e66f63eb891498e391763e309" dependencies: @@ -6648,11 +6248,7 @@ utils-merge@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8" -uuid@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" - -uuid@^3.0.0, uuid@^3.0.1: +uuid@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" @@ -6774,12 +6370,6 @@ watchpack@^1.3.1: chokidar "^1.4.3" graceful-fs "^4.1.2" -wcwidth@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" - dependencies: - defaults "^1.0.3" - webidl-conversions@^4.0.0, webidl-conversions@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.1.tgz#8015a17ab83e7e1b311638486ace81da6ce206a0" @@ -6810,12 +6400,11 @@ webpack-dev-middleware@^1.11.0: range-parser "^1.0.3" webpack-hot-middleware@^2.18.1: - version "2.18.1" - resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.18.1.tgz#8b7f4f17a058974213e5058cc861da281506a8a9" + version "2.18.2" + resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.18.2.tgz#84dee643f037c3d59c9de142548430371aa8d3b2" dependencies: ansi-html "0.0.7" html-entities "^1.2.0" - path-browserify "0.0.0" querystring "^0.2.0" strip-ansi "^3.0.0" @@ -6831,15 +6420,15 @@ webpack-sources@^1.0.1: source-map "~0.5.3" webpack@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.0.0.tgz#ee9bcebf21247f7153cb410168cab45e3a59d4d7" + version "3.1.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.1.0.tgz#ac0675e500db835f9ab2369d29ba096f51ad0731" dependencies: acorn "^5.0.0" acorn-dynamic-import "^2.0.0" ajv "^5.1.5" ajv-keywords "^2.0.0" async "^2.1.2" - enhanced-resolve "^3.0.0" + enhanced-resolve "^3.3.0" escope "^3.6.0" interpret "^1.0.0" json-loader "^0.5.4" @@ -6852,7 +6441,7 @@ webpack@^3.0.0: source-map "^0.5.3" supports-color "^3.1.0" tapable "~0.2.5" - uglifyjs-webpack-plugin "^0.4.4" + uglifyjs-webpack-plugin "^0.4.6" watchpack "^1.3.1" webpack-sources "^1.0.1" yargs "^6.0.0" @@ -6936,7 +6525,7 @@ write-file-atomic@^1.1.4: imurmurhash "^0.1.4" slide "^1.1.5" -write-file-atomic@^2.0.0, write-file-atomic@^2.1.0: +write-file-atomic@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.1.0.tgz#1769f4b551eedce419f0505deae2e26763542d37" dependencies: @@ -6944,7 +6533,7 @@ write-file-atomic@^2.0.0, write-file-atomic@^2.1.0: imurmurhash "^0.1.4" slide "^1.1.5" -write-json-file@^2.0.0, write-json-file@^2.1.0, write-json-file@^2.2.0: +write-json-file@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-2.2.0.tgz#51862506bbb3b619eefab7859f1fd6c6d0530876" dependencies: @@ -6962,13 +6551,6 @@ write-pkg@^2.0.0: sort-keys "^1.1.2" write-json-file "^2.0.0" -write-pkg@^3.0.1: - version "3.1.0" - resolved "https://registry.yarnpkg.com/write-pkg/-/write-pkg-3.1.0.tgz#030a9994cc9993d25b4e75a9f1a1923607291ce9" - dependencies: - sort-keys "^2.0.0" - write-json-file "^2.2.0" - write@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" From b921191f91f26818ff53b85b5eb8d84d888355c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Sun, 9 Jul 2017 12:15:28 +0200 Subject: [PATCH 207/236] Fix typo --- examples/custom-build/pages/index.vue | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/examples/custom-build/pages/index.vue b/examples/custom-build/pages/index.vue index 163d8e58ea..5be0248820 100644 --- a/examples/custom-build/pages/index.vue +++ b/examples/custom-build/pages/index.vue @@ -7,16 +7,6 @@ - -