diff --git a/.babelrc b/.babelrc index 988e0d6f03..04af60f9a1 100644 --- a/.babelrc +++ b/.babelrc @@ -1,6 +1,7 @@ { "presets": ["es2015"], "plugins": [ + "transform-object-rest-spread", ["transform-async-to-module-method", { "module": "bluebird", "method": "coroutine" diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 66f392d3a1..60f628a1e9 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -1,6 +1,6 @@ { "name": "habitica", - "version": "3.107.1", + "version": "3.108.0", "dependencies": { "@gulp-sourcemaps/map-sources": { "version": "1.0.0", @@ -28,9 +28,9 @@ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.1.tgz" }, "@types/node": { - "version": "8.0.19", + "version": "8.0.17", "from": "@types/node@*", - "resolved": "http://registry.npmjs.org/@types/node/-/node-8.0.19.tgz" + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.0.17.tgz" }, "@types/serve-static": { "version": "1.7.31", @@ -69,11 +69,37 @@ } } }, + "acorn-jsx": { + "version": "3.0.1", + "from": "acorn-jsx@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "dev": true, + "dependencies": { + "acorn": { + "version": "3.3.0", + "from": "acorn@>=3.0.4 <4.0.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "dev": true + } + } + }, "addressparser": { "version": "1.0.1", "from": "addressparser@1.0.1", "resolved": "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz" }, + "adm-zip": { + "version": "0.4.7", + "from": "adm-zip@0.4.7", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.7.tgz", + "dev": true + }, + "after": { + "version": "0.8.2", + "from": "after@0.8.2", + "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", + "dev": true + }, "agent-base": { "version": "2.1.1", "from": "agent-base@>=2.0.0 <3.0.0", @@ -246,6 +272,18 @@ } } }, + "ansi-escapes": { + "version": "1.4.0", + "from": "ansi-escapes@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "dev": true + }, + "ansi-html": { + "version": "0.0.7", + "from": "ansi-html@0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "dev": true + }, "ansi-regex": { "version": "2.1.1", "from": "ansi-regex@>=2.0.0 <3.0.0", @@ -293,6 +331,12 @@ "from": "apn@>=1.7.6 <2.0.0", "resolved": "https://registry.npmjs.org/apn/-/apn-1.7.8.tgz" }, + "append-transform": { + "version": "0.4.0", + "from": "append-transform@>=0.4.0 <0.5.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", + "dev": true + }, "aproba": { "version": "1.1.2", "from": "aproba@>=1.0.3 <2.0.0", @@ -383,6 +427,18 @@ "from": "array-unique@>=0.2.1 <0.3.0", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz" }, + "arraybuffer.slice": { + "version": "0.0.6", + "from": "arraybuffer.slice@0.0.6", + "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz", + "dev": true + }, + "arrify": { + "version": "1.0.1", + "from": "arrify@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "dev": true + }, "asap": { "version": "1.0.0", "from": "asap@>=1.0.0 <1.1.0", @@ -408,6 +464,18 @@ "from": "assert-plus@>=0.2.0 <0.3.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz" }, + "assertion-error": { + "version": "1.0.2", + "from": "assertion-error@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.2.tgz", + "dev": true + }, + "ast-types": { + "version": "0.9.12", + "from": "ast-types@>=0.0.0 <1.0.0", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.12.tgz", + "dev": true + }, "astw": { "version": "2.2.0", "from": "astw@>=2.0.0 <3.0.0", @@ -450,9 +518,9 @@ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz" }, "aws-sdk": { - "version": "2.94.0", + "version": "2.93.0", "from": "aws-sdk@>=2.0.25 <3.0.0", - "resolved": "http://registry.npmjs.org/aws-sdk/-/aws-sdk-2.94.0.tgz", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.93.0.tgz", "dependencies": { "sax": { "version": "1.2.1", @@ -571,6 +639,20 @@ "from": "babel-plugin-check-es2015-constants@>=6.22.0 <7.0.0", "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz" }, + "babel-plugin-istanbul": { + "version": "4.1.4", + "from": "babel-plugin-istanbul@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.4.tgz", + "dev": true, + "dependencies": { + "find-up": { + "version": "2.1.0", + "from": "find-up@>=2.1.0 <3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "dev": true + } + } + }, "babel-plugin-syntax-async-functions": { "version": "6.13.0", "from": "babel-plugin-syntax-async-functions@>=6.13.0 <7.0.0", @@ -761,11 +843,23 @@ "from": "babylon@>=6.17.2 <7.0.0", "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.17.4.tgz" }, + "backo2": { + "version": "1.0.2", + "from": "backo2@1.0.2", + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "dev": true + }, "balanced-match": { "version": "1.0.0", "from": "balanced-match@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz" }, + "base64-arraybuffer": { + "version": "0.1.5", + "from": "base64-arraybuffer@0.1.5", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", + "dev": true + }, "base64-js": { "version": "1.2.1", "from": "base64-js@>=1.0.2 <2.0.0", @@ -776,6 +870,12 @@ "from": "base64-stream@>=0.1.2 <0.2.0", "resolved": "https://registry.npmjs.org/base64-stream/-/base64-stream-0.1.3.tgz" }, + "base64id": { + "version": "1.0.0", + "from": "base64id@1.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", + "dev": true + }, "basic-auth": { "version": "1.1.0", "from": "basic-auth@>=1.0.4 <2.0.0", @@ -797,6 +897,12 @@ "from": "beeper@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz" }, + "better-assert": { + "version": "1.0.2", + "from": "better-assert@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", + "dev": true + }, "big.js": { "version": "3.1.3", "from": "big.js@>=3.1.3 <4.0.0", @@ -871,6 +977,12 @@ "from": "bl@>=1.1.2 <1.2.0", "resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz" }, + "blob": { + "version": "0.0.4", + "from": "blob@0.0.4", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", + "dev": true + }, "block-stream": { "version": "0.0.9", "from": "block-stream@*", @@ -924,9 +1036,9 @@ "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.0.0-alpha.6.tgz" }, "bootstrap-vue": { - "version": "0.16.1", - "from": "bootstrap-vue@>=0.16.1 <0.17.0", - "resolved": "https://registry.npmjs.org/bootstrap-vue/-/bootstrap-vue-0.16.1.tgz", + "version": "0.18.0", + "from": "bootstrap-vue@0.18.0", + "resolved": "https://registry.npmjs.org/bootstrap-vue/-/bootstrap-vue-0.18.0.tgz", "dependencies": { "tether": { "version": "1.4.0", @@ -1547,6 +1659,24 @@ "from": "cached-path-relative@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.1.tgz" }, + "caller-path": { + "version": "0.1.0", + "from": "caller-path@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "dev": true + }, + "callsite": { + "version": "1.0.0", + "from": "callsite@1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "dev": true + }, + "callsites": { + "version": "0.2.0", + "from": "callsites@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "dev": true + }, "camel-case": { "version": "3.0.0", "from": "camel-case@>=3.0.0 <3.1.0", @@ -1618,6 +1748,50 @@ "from": "center-align@>=0.1.1 <0.2.0", "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz" }, + "chai": { + "version": "3.5.0", + "from": "chai@>=3.4.0 <4.0.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz", + "dev": true + }, + "chai-as-promised": { + "version": "5.3.0", + "from": "chai-as-promised@>=5.1.0 <6.0.0", + "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-5.3.0.tgz", + "dev": true + }, + "chai-dom": { + "version": "1.2.2", + "from": "chai-dom@1.2.2", + "resolved": "https://registry.npmjs.org/chai-dom/-/chai-dom-1.2.2.tgz", + "dev": true + }, + "chai-jquery": { + "version": "2.0.0", + "from": "chai-jquery@2.0.0", + "resolved": "https://registry.npmjs.org/chai-jquery/-/chai-jquery-2.0.0.tgz", + "dev": true + }, + "chai-nightwatch": { + "version": "0.1.1", + "from": "chai-nightwatch@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/chai-nightwatch/-/chai-nightwatch-0.1.1.tgz", + "dev": true, + "dependencies": { + "assertion-error": { + "version": "1.0.0", + "from": "assertion-error@1.0.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.0.tgz", + "dev": true + } + } + }, + "chai-things": { + "version": "0.2.0", + "from": "chai-things@0.2.0", + "resolved": "https://registry.npmjs.org/chai-things/-/chai-things-0.2.0.tgz", + "dev": true + }, "chainsaw": { "version": "0.1.0", "from": "chainsaw@>=0.1.0 <0.2.0", @@ -1702,11 +1876,111 @@ "from": "chokidar@>=1.4.3 <2.0.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz" }, + "chromedriver": { + "version": "2.31.0", + "from": "chromedriver@>=2.27.2 <3.0.0", + "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-2.31.0.tgz", + "dev": true, + "dependencies": { + "caseless": { + "version": "0.12.0", + "from": "caseless@>=0.12.0 <0.13.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "dev": true + }, + "concat-stream": { + "version": "1.6.0", + "from": "concat-stream@1.6.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", + "dev": true + }, + "debug": { + "version": "2.2.0", + "from": "debug@2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "dev": true + }, + "extract-zip": { + "version": "1.6.5", + "from": "extract-zip@>=1.6.5 <2.0.0", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.5.tgz", + "dev": true, + "dependencies": { + "mkdirp": { + "version": "0.5.0", + "from": "mkdirp@0.5.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz", + "dev": true + } + } + }, + "form-data": { + "version": "2.1.4", + "from": "form-data@>=2.1.1 <2.2.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "dev": true + }, + "har-validator": { + "version": "4.2.1", + "from": "har-validator@>=4.2.1 <4.3.0", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", + "dev": true + }, + "ms": { + "version": "0.7.1", + "from": "ms@0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "dev": true + }, + "qs": { + "version": "6.4.0", + "from": "qs@>=6.4.0 <6.5.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", + "dev": true + }, + "readable-stream": { + "version": "2.3.3", + "from": "readable-stream@>=2.2.2 <3.0.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "dev": true + }, + "request": { + "version": "2.81.0", + "from": "request@>=2.81.0 <3.0.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", + "dev": true + }, + "string_decoder": { + "version": "1.0.3", + "from": "string_decoder@>=1.0.3 <1.1.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "from": "tunnel-agent@>=0.6.0 <0.7.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "dev": true + }, + "yauzl": { + "version": "2.4.1", + "from": "yauzl@2.4.1", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", + "dev": true + } + } + }, "cipher-base": { "version": "1.0.4", "from": "cipher-base@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz" }, + "circular-json": { + "version": "0.3.3", + "from": "circular-json@>=0.3.1 <0.4.0", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", + "dev": true + }, "clap": { "version": "1.2.0", "from": "clap@>=1.0.9 <2.0.0", @@ -1739,6 +2013,12 @@ "from": "cli-spinners@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.0.0.tgz" }, + "cli-width": { + "version": "2.1.0", + "from": "cli-width@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.1.0.tgz", + "dev": true + }, "cliui": { "version": "2.1.0", "from": "cliui@>=2.1.0 <3.0.0", @@ -1816,6 +2096,12 @@ "from": "colors@>=1.0.0 <1.1.0", "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz" }, + "combine-lists": { + "version": "1.0.1", + "from": "combine-lists@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/combine-lists/-/combine-lists-1.0.1.tgz", + "dev": true + }, "combine-source-map": { "version": "0.7.2", "from": "combine-source-map@>=0.7.1 <0.8.0", @@ -1843,11 +2129,23 @@ "from": "commondir@>=1.0.1 <2.0.0", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" }, + "component-bind": { + "version": "1.0.0", + "from": "component-bind@1.0.0", + "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", + "dev": true + }, "component-emitter": { "version": "1.2.1", "from": "component-emitter@>=1.2.0 <2.0.0", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz" }, + "component-inherit": { + "version": "0.0.3", + "from": "component-inherit@0.0.3", + "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", + "dev": true + }, "compressible": { "version": "2.0.11", "from": "compressible@>=2.0.10 <2.1.0", @@ -1902,6 +2200,32 @@ } } }, + "connect": { + "version": "3.6.2", + "from": "connect@>=3.6.0 <4.0.0", + "resolved": "http://registry.npmjs.org/connect/-/connect-3.6.2.tgz", + "dev": true, + "dependencies": { + "debug": { + "version": "2.6.7", + "from": "debug@2.6.7", + "resolved": "http://registry.npmjs.org/debug/-/debug-2.6.7.tgz", + "dev": true + }, + "finalhandler": { + "version": "1.0.3", + "from": "finalhandler@1.0.3", + "resolved": "http://registry.npmjs.org/finalhandler/-/finalhandler-1.0.3.tgz", + "dev": true + } + } + }, + "connect-history-api-fallback": { + "version": "1.3.0", + "from": "connect-history-api-fallback@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.3.0.tgz", + "dev": true + }, "connect-ratelimit": { "version": "0.0.7", "from": "connect-ratelimit@0.0.7", @@ -2041,6 +2365,50 @@ "from": "coupon-code@>=0.4.5 <0.5.0", "resolved": "https://registry.npmjs.org/coupon-code/-/coupon-code-0.4.5.tgz" }, + "coveralls": { + "version": "2.13.1", + "from": "coveralls@>=2.11.2 <3.0.0", + "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-2.13.1.tgz", + "dev": true, + "dependencies": { + "esprima": { + "version": "2.7.3", + "from": "esprima@>=2.6.0 <3.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "dev": true + }, + "form-data": { + "version": "2.1.4", + "from": "form-data@>=2.1.1 <2.2.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "dev": true + }, + "js-yaml": { + "version": "3.6.1", + "from": "js-yaml@3.6.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz", + "dev": true + }, + "minimist": { + "version": "1.2.0", + "from": "minimist@1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "dev": true + }, + "qs": { + "version": "6.3.2", + "from": "qs@>=6.3.0 <6.4.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz", + "dev": true + }, + "request": { + "version": "2.79.0", + "from": "request@2.79.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", + "dev": true + } + } + }, "create-ecdh": { "version": "4.0.0", "from": "create-ecdh@>=4.0.0 <5.0.0", @@ -2061,6 +2429,40 @@ "from": "create-hmac@>=1.1.0 <2.0.0", "resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz" }, + "cross-env": { + "version": "4.0.0", + "from": "cross-env@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-4.0.0.tgz", + "dev": true, + "dependencies": { + "is-windows": { + "version": "1.0.1", + "from": "is-windows@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.1.tgz", + "dev": true + } + } + }, + "cross-spawn": { + "version": "5.1.0", + "from": "cross-spawn@>=5.0.1 <6.0.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "dev": true, + "dependencies": { + "lru-cache": { + "version": "4.1.1", + "from": "lru-cache@>=4.0.1 <5.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", + "dev": true + }, + "which": { + "version": "1.3.0", + "from": "which@>=1.2.9 <2.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", + "dev": true + } + } + }, "cryptiles": { "version": "2.0.5", "from": "cryptiles@>=2.0.0 <3.0.0", @@ -2147,6 +2549,12 @@ "from": "csso@>=2.3.1 <2.4.0", "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz" }, + "csv": { + "version": "0.3.7", + "from": "csv@>=0.3.6 <0.4.0", + "resolved": "https://registry.npmjs.org/csv/-/csv-0.3.7.tgz", + "dev": true + }, "csv-stringify": { "version": "1.0.4", "from": "csv-stringify@>=1.0.2 <2.0.0", @@ -2162,9 +2570,15 @@ "from": "currently-unhandled@>=0.4.1 <0.5.0", "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz" }, + "custom-event": { + "version": "1.0.1", + "from": "custom-event@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "dev": true + }, "cwait": { "version": "1.0.1", - "from": "cwait@>=1.0.1 <1.1.0", + "from": "cwait@1.0.1", "resolved": "https://registry.npmjs.org/cwait/-/cwait-1.0.1.tgz" }, "cwise": { @@ -2508,11 +2922,43 @@ } } }, + "deep-diff": { + "version": "0.1.7", + "from": "deep-diff@>=0.1.4 <0.2.0", + "resolved": "https://registry.npmjs.org/deep-diff/-/deep-diff-0.1.7.tgz", + "dev": true + }, + "deep-eql": { + "version": "0.1.3", + "from": "deep-eql@>=0.1.3 <0.2.0", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz", + "dev": true, + "dependencies": { + "type-detect": { + "version": "0.1.1", + "from": "type-detect@0.1.1", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz", + "dev": true + } + } + }, "deep-extend": { "version": "0.4.2", "from": "deep-extend@>=0.4.0 <0.5.0", "resolved": "http://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz" }, + "deep-is": { + "version": "0.1.3", + "from": "deep-is@>=0.1.3 <0.2.0", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "dev": true + }, + "default-require-extensions": { + "version": "1.0.0", + "from": "default-require-extensions@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", + "dev": true + }, "defaults": { "version": "1.0.3", "from": "defaults@>=1.0.0 <2.0.0", @@ -2523,6 +2969,20 @@ "from": "defined@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz" }, + "degenerator": { + "version": "1.0.4", + "from": "degenerator@>=1.0.2 <1.1.0", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-1.0.4.tgz", + "dev": true, + "dependencies": { + "esprima": { + "version": "3.1.3", + "from": "esprima@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "dev": true + } + } + }, "del": { "version": "3.0.0", "from": "del@>=3.0.0 <4.0.0", @@ -2590,6 +3050,12 @@ "from": "detective@>=4.0.0 <5.0.0", "resolved": "https://registry.npmjs.org/detective/-/detective-4.5.0.tgz" }, + "di": { + "version": "0.0.1", + "from": "di@>=0.0.1 <0.0.2", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "dev": true + }, "diff": { "version": "3.2.0", "from": "diff@3.2.0", @@ -2600,6 +3066,12 @@ "from": "diffie-hellman@>=5.0.0 <6.0.0", "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz" }, + "doctrine": { + "version": "2.0.0", + "from": "doctrine@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz", + "dev": true + }, "doctypes": { "version": "1.1.0", "from": "doctypes@>=1.1.0 <2.0.0", @@ -2617,6 +3089,12 @@ } } }, + "dom-serialize": { + "version": "2.2.1", + "from": "dom-serialize@>=2.2.0 <3.0.0", + "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", + "dev": true + }, "dom-serializer": { "version": "0.1.0", "from": "dom-serializer@>=0.0.0 <1.0.0", @@ -2764,9 +3242,9 @@ "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz" }, "duplexify": { - "version": "3.5.1", + "version": "3.5.0", "from": "duplexify@>=3.2.0 <4.0.0", - "resolved": "http://registry.npmjs.org/duplexify/-/duplexify-3.5.1.tgz" + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.0.tgz" }, "each-async": { "version": "1.1.1", @@ -2801,6 +3279,12 @@ "from": "ee-first@1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" }, + "ejs": { + "version": "0.8.3", + "from": "ejs@0.8.3", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-0.8.3.tgz", + "dev": true + }, "electron-to-chromium": { "version": "1.3.16", "from": "electron-to-chromium@>=1.2.7 <2.0.0", @@ -2811,6 +3295,12 @@ "from": "elliptic@>=6.0.0 <7.0.0", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz" }, + "emitter-component": { + "version": "1.0.1", + "from": "emitter-component@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/emitter-component/-/emitter-component-1.0.1.tgz", + "dev": true + }, "emojis-list": { "version": "2.1.0", "from": "emojis-list@>=2.0.0 <3.0.0", @@ -2833,11 +3323,75 @@ } } }, + "engine.io": { + "version": "1.8.3", + "from": "engine.io@1.8.3", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-1.8.3.tgz", + "dev": true, + "dependencies": { + "debug": { + "version": "2.3.3", + "from": "debug@2.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", + "dev": true + }, + "ms": { + "version": "0.7.2", + "from": "ms@0.7.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", + "dev": true + }, + "ws": { + "version": "1.1.2", + "from": "ws@1.1.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.2.tgz", + "dev": true + } + } + }, + "engine.io-client": { + "version": "1.8.3", + "from": "engine.io-client@1.8.3", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-1.8.3.tgz", + "dev": true, + "dependencies": { + "debug": { + "version": "2.3.3", + "from": "debug@2.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", + "dev": true + }, + "ms": { + "version": "0.7.2", + "from": "ms@0.7.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", + "dev": true + }, + "ws": { + "version": "1.1.2", + "from": "ws@1.1.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.2.tgz", + "dev": true + } + } + }, + "engine.io-parser": { + "version": "1.3.2", + "from": "engine.io-parser@1.3.2", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.3.2.tgz", + "dev": true + }, "enhanced-resolve": { "version": "3.4.1", "from": "enhanced-resolve@>=3.3.0 <4.0.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz" }, + "ent": { + "version": "2.2.0", + "from": "ent@>=2.2.0 <2.3.0", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "dev": true + }, "entities": { "version": "1.1.1", "from": "entities@>=1.1.1 <1.2.0", @@ -2870,11 +3424,39 @@ } } }, + "es6-map": { + "version": "0.1.5", + "from": "es6-map@>=0.1.3 <0.2.0", + "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", + "dev": true, + "dependencies": { + "d": { + "version": "1.0.0", + "from": "d@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "dev": true + } + } + }, "es6-promise": { "version": "3.3.1", "from": "es6-promise@>=3.0.2 <4.0.0", "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz" }, + "es6-set": { + "version": "0.1.5", + "from": "es6-set@>=0.1.5 <0.2.0", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", + "dev": true, + "dependencies": { + "d": { + "version": "1.0.0", + "from": "d@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "dev": true + } + } + }, "es6-symbol": { "version": "3.1.1", "from": "es6-symbol@>=3.1.0 <3.2.0", @@ -2942,11 +3524,180 @@ } } }, + "escope": { + "version": "3.6.0", + "from": "escope@>=3.6.0 <4.0.0", + "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", + "dev": true, + "dependencies": { + "d": { + "version": "1.0.0", + "from": "d@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "dev": true + }, + "es6-weak-map": { + "version": "2.0.2", + "from": "es6-weak-map@>=2.0.1 <3.0.0", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", + "dev": true + } + } + }, + "eslint": { + "version": "3.19.0", + "from": "eslint@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.19.0.tgz", + "dev": true, + "dependencies": { + "cli-cursor": { + "version": "1.0.2", + "from": "cli-cursor@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "dev": true + }, + "glob": { + "version": "7.1.2", + "from": "glob@>=7.0.3 <8.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "dev": true + }, + "inquirer": { + "version": "0.12.0", + "from": "inquirer@>=0.12.0 <0.13.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", + "dev": true + }, + "mute-stream": { + "version": "0.0.5", + "from": "mute-stream@0.0.5", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", + "dev": true + }, + "readline2": { + "version": "1.0.1", + "from": "readline2@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", + "dev": true + }, + "restore-cursor": { + "version": "1.0.1", + "from": "restore-cursor@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", + "dev": true + }, + "strip-bom": { + "version": "3.0.0", + "from": "strip-bom@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "dev": true + }, + "user-home": { + "version": "2.0.0", + "from": "user-home@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", + "dev": true + } + } + }, + "eslint-config-habitrpg": { + "version": "3.0.0", + "from": "eslint-config-habitrpg@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-habitrpg/-/eslint-config-habitrpg-3.0.0.tgz", + "dev": true + }, + "eslint-friendly-formatter": { + "version": "2.0.7", + "from": "eslint-friendly-formatter@>=2.0.5 <3.0.0", + "resolved": "https://registry.npmjs.org/eslint-friendly-formatter/-/eslint-friendly-formatter-2.0.7.tgz", + "dev": true, + "dependencies": { + "minimist": { + "version": "1.2.0", + "from": "minimist@>=1.2.0 <2.0.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "dev": true + } + } + }, + "eslint-loader": { + "version": "1.9.0", + "from": "eslint-loader@>=1.3.0 <2.0.0", + "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-1.9.0.tgz", + "dev": true, + "dependencies": { + "loader-utils": { + "version": "1.1.0", + "from": "loader-utils@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", + "dev": true + } + } + }, + "eslint-plugin-html": { + "version": "2.0.3", + "from": "eslint-plugin-html@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-html/-/eslint-plugin-html-2.0.3.tgz", + "dev": true, + "dependencies": { + "domhandler": { + "version": "2.4.1", + "from": "domhandler@>=2.3.0 <3.0.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.1.tgz", + "dev": true + }, + "htmlparser2": { + "version": "3.9.2", + "from": "htmlparser2@>=3.8.2 <4.0.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz", + "dev": true + } + } + }, + "eslint-plugin-lodash": { + "version": "2.4.4", + "from": "eslint-plugin-lodash@>=2.3.5 <3.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-lodash/-/eslint-plugin-lodash-2.4.4.tgz", + "dev": true, + "optional": true + }, + "eslint-plugin-mocha": { + "version": "4.11.0", + "from": "eslint-plugin-mocha@>=4.7.0 <5.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-4.11.0.tgz", + "dev": true + }, + "espree": { + "version": "3.4.3", + "from": "espree@>=3.4.0 <4.0.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.4.3.tgz", + "dev": true, + "dependencies": { + "acorn": { + "version": "5.1.1", + "from": "acorn@>=5.0.1 <6.0.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.1.1.tgz", + "dev": true + } + } + }, "esprima": { "version": "1.0.4", "from": "esprima@>=1.0.4 <1.1.0", "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz" }, + "esquery": { + "version": "1.0.0", + "from": "esquery@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz", + "dev": true + }, + "esrecurse": { + "version": "4.2.0", + "from": "esrecurse@>=4.1.0 <5.0.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", + "dev": true + }, "estraverse": { "version": "4.2.0", "from": "estraverse@>=4.1.1 <5.0.0", @@ -2994,6 +3745,12 @@ "from": "events@>=1.1.1 <2.0.0", "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz" }, + "eventsource-polyfill": { + "version": "0.9.6", + "from": "eventsource-polyfill@>=0.9.6 <0.10.0", + "resolved": "https://registry.npmjs.org/eventsource-polyfill/-/eventsource-polyfill-0.9.6.tgz", + "dev": true + }, "evp_bytestokey": { "version": "1.0.0", "from": "evp_bytestokey@>=1.0.0 <2.0.0", @@ -3022,6 +3779,50 @@ "from": "exit@>=0.1.1 <0.2.0", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" }, + "exit-hook": { + "version": "1.1.1", + "from": "exit-hook@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", + "dev": true + }, + "expand-braces": { + "version": "0.1.2", + "from": "expand-braces@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz", + "dev": true, + "dependencies": { + "array-slice": { + "version": "0.2.3", + "from": "array-slice@>=0.2.3 <0.3.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", + "dev": true + }, + "braces": { + "version": "0.1.5", + "from": "braces@>=0.1.2 <0.2.0", + "resolved": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz", + "dev": true + }, + "expand-range": { + "version": "0.1.1", + "from": "expand-range@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz", + "dev": true + }, + "is-number": { + "version": "0.1.1", + "from": "is-number@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz", + "dev": true + }, + "repeat-string": { + "version": "0.2.2", + "from": "repeat-string@>=0.2.2 <0.3.0", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-0.2.2.tgz", + "dev": true + } + } + }, "expand-brackets": { "version": "0.1.5", "from": "expand-brackets@>=0.1.4 <0.2.0", @@ -3037,6 +3838,12 @@ "from": "expand-tilde@>=1.2.2 <2.0.0", "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz" }, + "expect.js": { + "version": "0.2.0", + "from": "expect.js@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/expect.js/-/expect.js-0.2.0.tgz", + "dev": true + }, "express": { "version": "4.14.1", "from": "express@>=4.14.0 <4.15.0", @@ -3187,6 +3994,12 @@ "from": "fast-deep-equal@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz" }, + "fast-levenshtein": { + "version": "2.0.6", + "from": "fast-levenshtein@>=2.0.4 <2.1.0", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "dev": true + }, "fastparse": { "version": "1.1.1", "from": "fastparse@>=1.1.1 <2.0.0", @@ -3207,6 +4020,12 @@ "from": "figures@>=1.3.2 <2.0.0", "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz" }, + "file-entry-cache": { + "version": "2.0.0", + "from": "file-entry-cache@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", + "dev": true + }, "file-loader": { "version": "0.10.1", "from": "file-loader@>=0.10.0 <0.11.0", @@ -3224,6 +4043,12 @@ "from": "file-type@>=3.1.0 <4.0.0", "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz" }, + "file-uri-to-path": { + "version": "1.0.0", + "from": "file-uri-to-path@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "dev": true + }, "file-url": { "version": "2.0.2", "from": "file-url@>=2.0.0 <3.0.0", @@ -3249,6 +4074,26 @@ "from": "filenamify-url@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/filenamify-url/-/filenamify-url-1.0.0.tgz" }, + "fileset": { + "version": "2.0.3", + "from": "fileset@>=2.0.2 <3.0.0", + "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", + "dev": true, + "dependencies": { + "glob": { + "version": "7.1.2", + "from": "glob@>=7.0.3 <8.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "dev": true + } + } + }, + "filesize": { + "version": "3.5.10", + "from": "filesize@>=3.5.9 <4.0.0", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.5.10.tgz", + "dev": true + }, "fill-range": { "version": "2.2.3", "from": "fill-range@>=2.1.0 <3.0.0", @@ -3336,6 +4181,32 @@ "from": "flagged-respawn@>=0.3.2 <0.4.0", "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-0.3.2.tgz" }, + "flat-cache": { + "version": "1.2.2", + "from": "flat-cache@>=1.2.1 <2.0.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz", + "dev": true, + "dependencies": { + "del": { + "version": "2.2.2", + "from": "del@>=2.0.2 <3.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", + "dev": true + }, + "glob": { + "version": "7.1.2", + "from": "glob@>=7.0.3 <8.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "dev": true + }, + "globby": { + "version": "5.0.0", + "from": "globby@>=5.0.0 <6.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", + "dev": true + } + } + }, "flatten": { "version": "1.0.2", "from": "flatten@>=1.0.2 <2.0.0", @@ -3378,6 +4249,12 @@ } } }, + "formatio": { + "version": "1.1.1", + "from": "formatio@1.1.1", + "resolved": "https://registry.npmjs.org/formatio/-/formatio-1.1.1.tgz", + "dev": true + }, "formidable": { "version": "1.1.1", "from": "formidable@>=1.0.17 <2.0.0", @@ -3418,6 +4295,662 @@ "from": "fs.realpath@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" }, + "fsevents": { + "version": "1.1.2", + "from": "fsevents@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.2.tgz", + "optional": true, + "dependencies": { + "abbrev": { + "version": "1.1.0", + "from": "abbrev@1.1.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz", + "optional": true + }, + "ajv": { + "version": "4.11.8", + "from": "ajv@4.11.8", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "from": "ansi-regex@2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" + }, + "aproba": { + "version": "1.1.1", + "from": "aproba@1.1.1", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.1.1.tgz", + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "from": "are-we-there-yet@1.1.4", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", + "optional": true + }, + "asn1": { + "version": "0.2.3", + "from": "asn1@0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "optional": true + }, + "assert-plus": { + "version": "0.2.0", + "from": "assert-plus@0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "optional": true + }, + "asynckit": { + "version": "0.4.0", + "from": "asynckit@0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "optional": true + }, + "aws-sign2": { + "version": "0.6.0", + "from": "aws-sign2@0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "optional": true + }, + "aws4": { + "version": "1.6.0", + "from": "aws4@1.6.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", + "optional": true + }, + "balanced-match": { + "version": "0.4.2", + "from": "balanced-match@0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz" + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "from": "bcrypt-pbkdf@1.0.1", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "optional": true + }, + "block-stream": { + "version": "0.0.9", + "from": "block-stream@0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz" + }, + "boom": { + "version": "2.10.1", + "from": "boom@2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz" + }, + "brace-expansion": { + "version": "1.1.7", + "from": "brace-expansion@1.1.7", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz" + }, + "buffer-shims": { + "version": "1.0.0", + "from": "buffer-shims@1.0.0", + "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz" + }, + "caseless": { + "version": "0.12.0", + "from": "caseless@0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "optional": true + }, + "co": { + "version": "4.6.0", + "from": "co@4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "from": "code-point-at@1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz" + }, + "combined-stream": { + "version": "1.0.5", + "from": "combined-stream@1.0.5", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz" + }, + "concat-map": { + "version": "0.0.1", + "from": "concat-map@0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + }, + "console-control-strings": { + "version": "1.1.0", + "from": "console-control-strings@1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz" + }, + "core-util-is": { + "version": "1.0.2", + "from": "core-util-is@1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + }, + "cryptiles": { + "version": "2.0.5", + "from": "cryptiles@2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "optional": true + }, + "dashdash": { + "version": "1.14.1", + "from": "dashdash@1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "optional": true, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "from": "assert-plus@1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "optional": true + } + } + }, + "debug": { + "version": "2.6.8", + "from": "debug@2.6.8", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", + "optional": true + }, + "deep-extend": { + "version": "0.4.2", + "from": "deep-extend@0.4.2", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", + "optional": true + }, + "delayed-stream": { + "version": "1.0.0", + "from": "delayed-stream@1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" + }, + "delegates": { + "version": "1.0.0", + "from": "delegates@1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "optional": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "from": "ecc-jsbn@0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "optional": true + }, + "extend": { + "version": "3.0.1", + "from": "extend@3.0.1", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "optional": true + }, + "extsprintf": { + "version": "1.0.2", + "from": "extsprintf@1.0.2", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz" + }, + "forever-agent": { + "version": "0.6.1", + "from": "forever-agent@0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "optional": true + }, + "form-data": { + "version": "2.1.4", + "from": "form-data@2.1.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "optional": true + }, + "fs.realpath": { + "version": "1.0.0", + "from": "fs.realpath@1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + }, + "fstream": { + "version": "1.0.11", + "from": "fstream@1.0.11", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz" + }, + "fstream-ignore": { + "version": "1.0.5", + "from": "fstream-ignore@1.0.5", + "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz", + "optional": true + }, + "gauge": { + "version": "2.7.4", + "from": "gauge@2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "optional": true + }, + "getpass": { + "version": "0.1.7", + "from": "getpass@0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "optional": true, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "from": "assert-plus@1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "optional": true + } + } + }, + "glob": { + "version": "7.1.2", + "from": "glob@7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz" + }, + "graceful-fs": { + "version": "4.1.11", + "from": "graceful-fs@4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz" + }, + "har-schema": { + "version": "1.0.5", + "from": "har-schema@1.0.5", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", + "optional": true + }, + "har-validator": { + "version": "4.2.1", + "from": "har-validator@4.2.1", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", + "optional": true + }, + "has-unicode": { + "version": "2.0.1", + "from": "has-unicode@2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "optional": true + }, + "hawk": { + "version": "3.1.3", + "from": "hawk@3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "optional": true + }, + "hoek": { + "version": "2.16.3", + "from": "hoek@2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz" + }, + "http-signature": { + "version": "1.1.1", + "from": "http-signature@1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "optional": true + }, + "inflight": { + "version": "1.0.6", + "from": "inflight@1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + }, + "inherits": { + "version": "2.0.3", + "from": "inherits@2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + }, + "ini": { + "version": "1.3.4", + "from": "ini@1.3.4", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "from": "is-fullwidth-code-point@1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" + }, + "is-typedarray": { + "version": "1.0.0", + "from": "is-typedarray@1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "optional": true + }, + "isarray": { + "version": "1.0.0", + "from": "isarray@1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + }, + "isstream": { + "version": "0.1.2", + "from": "isstream@0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "optional": true + }, + "jodid25519": { + "version": "1.0.2", + "from": "jodid25519@1.0.2", + "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz", + "optional": true + }, + "jsbn": { + "version": "0.1.1", + "from": "jsbn@0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "optional": true + }, + "json-schema": { + "version": "0.2.3", + "from": "json-schema@0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "optional": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "from": "json-stable-stringify@1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "optional": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "from": "json-stringify-safe@5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "optional": true + }, + "jsonify": { + "version": "0.0.0", + "from": "jsonify@0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "optional": true + }, + "jsprim": { + "version": "1.4.0", + "from": "jsprim@1.4.0", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz", + "optional": true, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "from": "assert-plus@1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "optional": true + } + } + }, + "mime-db": { + "version": "1.27.0", + "from": "mime-db@1.27.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz" + }, + "mime-types": { + "version": "2.1.15", + "from": "mime-types@2.1.15", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz" + }, + "minimatch": { + "version": "3.0.4", + "from": "minimatch@3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" + }, + "minimist": { + "version": "0.0.8", + "from": "minimist@0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" + }, + "mkdirp": { + "version": "0.5.1", + "from": "mkdirp@0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz" + }, + "ms": { + "version": "2.0.0", + "from": "ms@2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "optional": true + }, + "node-pre-gyp": { + "version": "0.6.36", + "from": "node-pre-gyp@^0.6.36", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.36.tgz", + "optional": true + }, + "nopt": { + "version": "4.0.1", + "from": "nopt@4.0.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "optional": true + }, + "npmlog": { + "version": "4.1.0", + "from": "npmlog@4.1.0", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.0.tgz", + "optional": true + }, + "number-is-nan": { + "version": "1.0.1", + "from": "number-is-nan@1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" + }, + "oauth-sign": { + "version": "0.8.2", + "from": "oauth-sign@0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "from": "object-assign@4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "optional": true + }, + "once": { + "version": "1.4.0", + "from": "once@1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + }, + "os-homedir": { + "version": "1.0.2", + "from": "os-homedir@1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "from": "os-tmpdir@1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "optional": true + }, + "osenv": { + "version": "0.1.4", + "from": "osenv@0.1.4", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz", + "optional": true + }, + "path-is-absolute": { + "version": "1.0.1", + "from": "path-is-absolute@1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + }, + "performance-now": { + "version": "0.2.0", + "from": "performance-now@0.2.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", + "optional": true + }, + "process-nextick-args": { + "version": "1.0.7", + "from": "process-nextick-args@1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz" + }, + "punycode": { + "version": "1.4.1", + "from": "punycode@1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "optional": true + }, + "qs": { + "version": "6.4.0", + "from": "qs@6.4.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", + "optional": true + }, + "rc": { + "version": "1.2.1", + "from": "rc@1.2.1", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz", + "optional": true, + "dependencies": { + "minimist": { + "version": "1.2.0", + "from": "minimist@1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "optional": true + } + } + }, + "readable-stream": { + "version": "2.2.9", + "from": "readable-stream@2.2.9", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.9.tgz" + }, + "request": { + "version": "2.81.0", + "from": "request@2.81.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", + "optional": true + }, + "rimraf": { + "version": "2.6.1", + "from": "rimraf@2.6.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz" + }, + "safe-buffer": { + "version": "5.0.1", + "from": "safe-buffer@5.0.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz" + }, + "semver": { + "version": "5.3.0", + "from": "semver@5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "from": "set-blocking@2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "from": "signal-exit@3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "optional": true + }, + "sntp": { + "version": "1.0.9", + "from": "sntp@1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "optional": true + }, + "sshpk": { + "version": "1.13.0", + "from": "sshpk@1.13.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.0.tgz", + "optional": true, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "from": "assert-plus@1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "optional": true + } + } + }, + "string_decoder": { + "version": "1.0.1", + "from": "string_decoder@1.0.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz" + }, + "string-width": { + "version": "1.0.2", + "from": "string-width@1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" + }, + "stringstream": { + "version": "0.0.5", + "from": "stringstream@0.0.5", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "optional": true + }, + "strip-ansi": { + "version": "3.0.1", + "from": "strip-ansi@3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" + }, + "strip-json-comments": { + "version": "2.0.1", + "from": "strip-json-comments@2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "optional": true + }, + "tar": { + "version": "2.2.1", + "from": "tar@2.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz" + }, + "tar-pack": { + "version": "3.4.0", + "from": "tar-pack@3.4.0", + "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.4.0.tgz", + "optional": true + }, + "tough-cookie": { + "version": "2.3.2", + "from": "tough-cookie@2.3.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", + "optional": true + }, + "tunnel-agent": { + "version": "0.6.0", + "from": "tunnel-agent@0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "optional": true + }, + "tweetnacl": { + "version": "0.14.5", + "from": "tweetnacl@0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "optional": true + }, + "uid-number": { + "version": "0.0.6", + "from": "uid-number@0.0.6", + "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", + "optional": true + }, + "util-deprecate": { + "version": "1.0.2", + "from": "util-deprecate@1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + }, + "uuid": { + "version": "3.0.1", + "from": "uuid@3.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz", + "optional": true + }, + "verror": { + "version": "1.3.6", + "from": "verror@1.3.6", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", + "optional": true + }, + "wide-align": { + "version": "1.1.2", + "from": "wide-align@1.1.2", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", + "optional": true + }, + "wrappy": { + "version": "1.0.2", + "from": "wrappy@1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + } + } + }, "fstream": { "version": "1.0.11", "from": "fstream@>=1.0.2 <2.0.0", @@ -3428,6 +4961,26 @@ "from": "fstream-ignore@>=1.0.5 <1.1.0", "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz" }, + "ftp": { + "version": "0.3.10", + "from": "ftp@>=0.3.10 <0.4.0", + "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz", + "dev": true, + "dependencies": { + "isarray": { + "version": "0.0.1", + "from": "isarray@0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "from": "readable-stream@>=1.1.0 <1.2.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "dev": true + } + } + }, "function-bind": { "version": "1.1.0", "from": "function-bind@>=1.0.2 <2.0.0", @@ -3483,6 +5036,20 @@ "from": "get-stream@>=3.0.0 <4.0.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz" }, + "get-uri": { + "version": "2.0.1", + "from": "get-uri@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-2.0.1.tgz", + "dev": true, + "dependencies": { + "data-uri-to-buffer": { + "version": "1.2.0", + "from": "data-uri-to-buffer@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz", + "dev": true + } + } + }, "getobject": { "version": "0.1.0", "from": "getobject@>=0.1.0 <0.2.0", @@ -3523,6 +5090,12 @@ "resolved": "https://registry.npmjs.org/gifsicle/-/gifsicle-3.0.4.tgz", "optional": true }, + "gitbook-plugin-github": { + "version": "2.0.0", + "from": "gitbook-plugin-github@2.0.0", + "resolved": "https://registry.npmjs.org/gitbook-plugin-github/-/gitbook-plugin-github-2.0.0.tgz", + "dev": true + }, "glob": { "version": "4.5.3", "from": "glob@>=4.3.5 <5.0.0", @@ -4047,6 +5620,20 @@ "from": "habitrpg/grunt-hashres#v0.4.2", "resolved": "git://github.com/habitrpg/grunt-hashres.git#dc85db6d3002e29e1b7c5ee186b80d708d2f0e0b" }, + "grunt-karma": { + "version": "0.12.2", + "from": "grunt-karma@>=0.12.1 <0.13.0", + "resolved": "https://registry.npmjs.org/grunt-karma/-/grunt-karma-0.12.2.tgz", + "dev": true, + "dependencies": { + "lodash": { + "version": "3.10.1", + "from": "lodash@>=3.10.1 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "dev": true + } + } + }, "grunt-known-options": { "version": "1.1.0", "from": "grunt-known-options@>=1.1.0 <1.2.0", @@ -4546,11 +6133,31 @@ "from": "has-ansi@>=2.0.0 <3.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" }, + "has-binary": { + "version": "0.1.7", + "from": "has-binary@0.1.7", + "resolved": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.7.tgz", + "dev": true, + "dependencies": { + "isarray": { + "version": "0.0.1", + "from": "isarray@0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "dev": true + } + } + }, "has-color": { "version": "0.1.7", "from": "has-color@>=0.1.0 <0.2.0", "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz" }, + "has-cors": { + "version": "1.1.0", + "from": "has-cors@1.1.0", + "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", + "dev": true + }, "has-flag": { "version": "1.0.0", "from": "has-flag@>=1.0.0 <2.0.0", @@ -4641,6 +6248,12 @@ "from": "html-comment-regex@>=1.1.0 <2.0.0", "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz" }, + "html-entities": { + "version": "1.2.1", + "from": "html-entities@>=1.2.0 <2.0.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", + "dev": true + }, "html-minifier": { "version": "3.5.3", "from": "html-minifier@>=3.2.3 <4.0.0", @@ -4702,6 +6315,38 @@ } } }, + "http-proxy": { + "version": "1.16.2", + "from": "http-proxy@>=1.16.2 <2.0.0", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz", + "dev": true + }, + "http-proxy-agent": { + "version": "1.0.0", + "from": "http-proxy-agent@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-1.0.0.tgz", + "dev": true + }, + "http-proxy-middleware": { + "version": "0.17.4", + "from": "http-proxy-middleware@>=0.17.0 <0.18.0", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz", + "dev": true, + "dependencies": { + "is-extglob": { + "version": "2.1.1", + "from": "is-extglob@>=2.1.0 <3.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "dev": true + }, + "is-glob": { + "version": "3.1.0", + "from": "is-glob@>=3.1.0 <4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "dev": true + } + } + }, "http-signature": { "version": "1.1.1", "from": "http-signature@>=1.1.0 <1.2.0", @@ -4791,6 +6436,12 @@ "from": "iferr@>=0.1.5 <0.2.0", "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz" }, + "ignore": { + "version": "3.3.3", + "from": "ignore@>=3.2.0 <4.0.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.3.tgz", + "dev": true + }, "ignore-by-default": { "version": "1.0.1", "from": "ignore-by-default@>=1.0.0 <2.0.0", @@ -5065,6 +6716,12 @@ "from": "ini@>=1.3.0 <1.4.0", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz" }, + "inject-loader": { + "version": "3.0.1", + "from": "inject-loader@>=3.0.0-beta4 <4.0.0", + "resolved": "https://registry.npmjs.org/inject-loader/-/inject-loader-3.0.1.tgz", + "dev": true + }, "inline-source-map": { "version": "0.6.2", "from": "inline-source-map@>=0.6.0 <0.7.0", @@ -5191,7 +6848,7 @@ }, "intro.js": { "version": "2.6.0", - "from": "intro.js@latest", + "from": "http://registry.npmjs.org/intro.js/-/intro.js-2.6.0.tgz", "resolved": "http://registry.npmjs.org/intro.js/-/intro.js-2.6.0.tgz" }, "invariant": { @@ -5425,6 +7082,12 @@ "from": "is-relative@>=0.2.1 <0.3.0", "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.2.1.tgz" }, + "is-resolvable": { + "version": "1.0.0", + "from": "is-resolvable@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz", + "dev": true + }, "is-retry-allowed": { "version": "1.1.0", "from": "is-retry-allowed@>=1.0.0 <2.0.0", @@ -5490,6 +7153,12 @@ "from": "isarray@>=1.0.0 <1.1.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" }, + "isbinaryfile": { + "version": "3.0.2", + "from": "isbinaryfile@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.2.tgz", + "dev": true + }, "isexe": { "version": "2.0.0", "from": "isexe@>=2.0.0 <3.0.0", @@ -5505,6 +7174,128 @@ "from": "isstream@>=0.1.2 <0.2.0", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" }, + "istanbul": { + "version": "1.1.0-alpha.1", + "from": "istanbul@>=1.1.0-alpha.1 <2.0.0", + "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-1.1.0-alpha.1.tgz", + "dev": true, + "dependencies": { + "abbrev": { + "version": "1.0.9", + "from": "abbrev@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", + "dev": true + }, + "which": { + "version": "1.3.0", + "from": "which@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", + "dev": true + }, + "wordwrap": { + "version": "1.0.0", + "from": "wordwrap@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "dev": true + } + } + }, + "istanbul-api": { + "version": "1.1.11", + "from": "istanbul-api@>=1.1.0-alpha <2.0.0", + "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.1.11.tgz", + "dev": true, + "dependencies": { + "async": { + "version": "2.5.0", + "from": "async@>=2.1.4 <3.0.0", + "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", + "dev": true + } + } + }, + "istanbul-lib-coverage": { + "version": "1.1.1", + "from": "istanbul-lib-coverage@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz", + "dev": true + }, + "istanbul-lib-hook": { + "version": "1.0.7", + "from": "istanbul-lib-hook@>=1.0.7 <2.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.0.7.tgz", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "1.7.4", + "from": "istanbul-lib-instrument@>=1.7.2 <2.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.7.4.tgz", + "dev": true, + "dependencies": { + "semver": { + "version": "5.4.1", + "from": "semver@>=5.3.0 <6.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", + "dev": true + } + } + }, + "istanbul-lib-report": { + "version": "1.1.1", + "from": "istanbul-lib-report@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz", + "dev": true, + "dependencies": { + "supports-color": { + "version": "3.2.3", + "from": "supports-color@>=3.1.2 <4.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "dev": true + } + } + }, + "istanbul-lib-source-maps": { + "version": "1.2.1", + "from": "istanbul-lib-source-maps@>=1.2.1 <2.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.1.tgz", + "dev": true + }, + "istanbul-reports": { + "version": "1.1.1", + "from": "istanbul-reports@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.1.tgz", + "dev": true, + "dependencies": { + "handlebars": { + "version": "4.0.10", + "from": "handlebars@>=4.0.3 <5.0.0", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.10.tgz", + "dev": true + }, + "source-map": { + "version": "0.4.4", + "from": "source-map@>=0.4.4 <0.5.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "dev": true + }, + "uglify-js": { + "version": "2.8.29", + "from": "uglify-js@>=2.6.0 <3.0.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "dev": true, + "optional": true, + "dependencies": { + "source-map": { + "version": "0.5.6", + "from": "source-map@~0.5.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "dev": true, + "optional": true + } + } + } + } + }, "jade": { "version": "1.11.0", "from": "jade@>=1.11.0 <1.12.0", @@ -5546,6 +7337,38 @@ } } }, + "jasmine": { + "version": "2.4.1", + "from": "jasmine@2.4.1", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.4.1.tgz", + "dev": true, + "dependencies": { + "glob": { + "version": "3.2.11", + "from": "glob@>=3.2.11 <4.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", + "dev": true + }, + "minimatch": { + "version": "0.3.0", + "from": "minimatch@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", + "dev": true + } + } + }, + "jasmine-core": { + "version": "2.4.1", + "from": "jasmine-core@>=2.4.0 <2.5.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.4.1.tgz", + "dev": true + }, + "jasminewd2": { + "version": "0.0.9", + "from": "jasminewd2@0.0.9", + "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-0.0.9.tgz", + "dev": true + }, "jmespath": { "version": "0.15.0", "from": "jmespath@0.15.0", @@ -5707,6 +7530,276 @@ "from": "kareem@1.2.1", "resolved": "https://registry.npmjs.org/kareem/-/kareem-1.2.1.tgz" }, + "karma": { + "version": "1.7.0", + "from": "karma@>=1.3.0 <2.0.0", + "resolved": "https://registry.npmjs.org/karma/-/karma-1.7.0.tgz", + "dev": true, + "dependencies": { + "colors": { + "version": "1.1.2", + "from": "colors@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "dev": true + }, + "glob": { + "version": "7.1.2", + "from": "glob@>=7.1.1 <8.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "dev": true + }, + "lodash": { + "version": "3.10.1", + "from": "lodash@>=3.8.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "dev": true + }, + "mime": { + "version": "1.3.6", + "from": "mime@>=1.3.4 <2.0.0", + "resolved": "http://registry.npmjs.org/mime/-/mime-1.3.6.tgz", + "dev": true + }, + "tmp": { + "version": "0.0.31", + "from": "tmp@0.0.31", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz", + "dev": true + } + } + }, + "karma-babel-preprocessor": { + "version": "6.0.1", + "from": "karma-babel-preprocessor@>=6.0.1 <7.0.0", + "resolved": "https://registry.npmjs.org/karma-babel-preprocessor/-/karma-babel-preprocessor-6.0.1.tgz", + "dev": true + }, + "karma-chai-plugins": { + "version": "0.6.1", + "from": "karma-chai-plugins@>=0.6.0 <0.7.0", + "resolved": "https://registry.npmjs.org/karma-chai-plugins/-/karma-chai-plugins-0.6.1.tgz", + "dev": true, + "dependencies": { + "chai": { + "version": "3.4.1", + "from": "chai@3.4.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-3.4.1.tgz", + "dev": true + }, + "chai-as-promised": { + "version": "5.1.0", + "from": "chai-as-promised@5.1.0", + "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-5.1.0.tgz", + "dev": true + }, + "lolex": { + "version": "1.3.2", + "from": "lolex@1.3.2", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-1.3.2.tgz", + "dev": true + }, + "sinon": { + "version": "1.17.2", + "from": "sinon@1.17.2", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-1.17.2.tgz", + "dev": true + }, + "sinon-chai": { + "version": "2.8.0", + "from": "sinon-chai@2.8.0", + "resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-2.8.0.tgz", + "dev": true + } + } + }, + "karma-coverage": { + "version": "0.5.5", + "from": "karma-coverage@>=0.5.3 <0.6.0", + "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-0.5.5.tgz", + "dev": true, + "dependencies": { + "abbrev": { + "version": "1.0.9", + "from": "abbrev@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", + "dev": true + }, + "dateformat": { + "version": "1.0.12", + "from": "dateformat@>=1.0.6 <2.0.0", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", + "dev": true + }, + "escodegen": { + "version": "1.8.1", + "from": "escodegen@>=1.8.0 <1.9.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", + "dev": true, + "dependencies": { + "source-map": { + "version": "0.2.0", + "from": "source-map@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", + "dev": true, + "optional": true + } + } + }, + "esprima": { + "version": "2.7.3", + "from": "esprima@>=2.7.0 <2.8.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "dev": true + }, + "estraverse": { + "version": "1.9.3", + "from": "estraverse@>=1.9.1 <2.0.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", + "dev": true + }, + "glob": { + "version": "5.0.15", + "from": "glob@>=5.0.15 <6.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "dev": true + }, + "handlebars": { + "version": "4.0.10", + "from": "handlebars@>=4.0.1 <5.0.0", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.10.tgz", + "dev": true, + "dependencies": { + "source-map": { + "version": "0.4.4", + "from": "source-map@>=0.4.4 <0.5.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "dev": true + } + } + }, + "istanbul": { + "version": "0.4.5", + "from": "istanbul@>=0.4.0 <0.5.0", + "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz", + "dev": true + }, + "resolve": { + "version": "1.1.7", + "from": "resolve@>=1.1.0 <1.2.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "from": "supports-color@>=3.1.0 <4.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "dev": true + }, + "uglify-js": { + "version": "2.8.29", + "from": "uglify-js@>=2.6.0 <3.0.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "dev": true, + "optional": true + }, + "which": { + "version": "1.3.0", + "from": "which@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", + "dev": true + }, + "wordwrap": { + "version": "1.0.0", + "from": "wordwrap@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "dev": true + } + } + }, + "karma-mocha": { + "version": "0.2.2", + "from": "karma-mocha@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/karma-mocha/-/karma-mocha-0.2.2.tgz", + "dev": true + }, + "karma-mocha-reporter": { + "version": "1.3.0", + "from": "karma-mocha-reporter@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/karma-mocha-reporter/-/karma-mocha-reporter-1.3.0.tgz", + "dev": true, + "dependencies": { + "chalk": { + "version": "1.1.1", + "from": "chalk@1.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.1.tgz", + "dev": true + } + } + }, + "karma-phantomjs-launcher": { + "version": "1.0.4", + "from": "karma-phantomjs-launcher@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-1.0.4.tgz", + "dev": true + }, + "karma-sinon-chai": { + "version": "1.2.4", + "from": "karma-sinon-chai@>=1.2.0 <1.3.0", + "resolved": "https://registry.npmjs.org/karma-sinon-chai/-/karma-sinon-chai-1.2.4.tgz", + "dev": true + }, + "karma-sinon-stub-promise": { + "version": "1.0.0", + "from": "karma-sinon-stub-promise@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/karma-sinon-stub-promise/-/karma-sinon-stub-promise-1.0.0.tgz", + "dev": true + }, + "karma-sourcemap-loader": { + "version": "0.3.7", + "from": "karma-sourcemap-loader@>=0.3.7 <0.4.0", + "resolved": "https://registry.npmjs.org/karma-sourcemap-loader/-/karma-sourcemap-loader-0.3.7.tgz", + "dev": true + }, + "karma-spec-reporter": { + "version": "0.0.24", + "from": "karma-spec-reporter@0.0.24", + "resolved": "https://registry.npmjs.org/karma-spec-reporter/-/karma-spec-reporter-0.0.24.tgz", + "dev": true, + "dependencies": { + "colors": { + "version": "0.6.2", + "from": "colors@>=0.6.0 <0.7.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", + "dev": true + } + } + }, + "karma-webpack": { + "version": "2.0.4", + "from": "karma-webpack@>=2.0.2 <3.0.0", + "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-2.0.4.tgz", + "dev": true, + "dependencies": { + "async": { + "version": "0.9.2", + "from": "async@>=0.9.0 <0.10.0", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "dev": true + }, + "lodash": { + "version": "3.10.1", + "from": "lodash@>=3.8.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "dev": true + }, + "source-map": { + "version": "0.1.43", + "from": "source-map@>=0.1.41 <0.2.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "dev": true + } + } + }, "kew": { "version": "0.7.0", "from": "kew@>=0.7.0 <0.8.0", @@ -5720,7 +7813,7 @@ "kind-of": { "version": "3.2.2", "from": "kind-of@>=3.0.2 <4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" + "resolved": "http://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" }, "klaw": { "version": "1.3.1", @@ -5762,7 +7855,7 @@ "lazy-debug-legacy": { "version": "0.0.1", "from": "lazy-debug-legacy@>=0.0.0 <0.1.0", - "resolved": "http://registry.npmjs.org/lazy-debug-legacy/-/lazy-debug-legacy-0.0.1.tgz" + "resolved": "https://registry.npmjs.org/lazy-debug-legacy/-/lazy-debug-legacy-0.0.1.tgz" }, "lazy-req": { "version": "1.1.0", @@ -5780,6 +7873,106 @@ "from": "lcid@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz" }, + "lcov-parse": { + "version": "0.0.10", + "from": "lcov-parse@0.0.10", + "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz", + "dev": true + }, + "lcov-result-merger": { + "version": "1.2.0", + "from": "lcov-result-merger@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/lcov-result-merger/-/lcov-result-merger-1.2.0.tgz", + "dev": true, + "dependencies": { + "glob": { + "version": "5.0.15", + "from": "glob@>=5.0.3 <6.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "dev": true + }, + "glob-parent": { + "version": "3.1.0", + "from": "glob-parent@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "dev": true + }, + "glob-stream": { + "version": "5.3.5", + "from": "glob-stream@>=5.3.2 <6.0.0", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-5.3.5.tgz", + "dev": true, + "dependencies": { + "readable-stream": { + "version": "1.0.34", + "from": "readable-stream@>=1.0.33-1 <1.1.0-0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "dev": true + }, + "through2": { + "version": "0.6.5", + "from": "through2@>=0.6.0 <0.7.0", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "dev": true + } + } + }, + "gulp-sourcemaps": { + "version": "1.6.0", + "from": "gulp-sourcemaps@1.6.0", + "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "from": "is-extglob@>=2.1.0 <3.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "dev": true + }, + "is-glob": { + "version": "3.1.0", + "from": "is-glob@>=3.1.0 <4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "from": "isarray@0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "dev": true + }, + "ordered-read-streams": { + "version": "0.3.0", + "from": "ordered-read-streams@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz", + "dev": true + }, + "unique-stream": { + "version": "2.2.1", + "from": "unique-stream@>=2.0.2 <3.0.0", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz", + "dev": true + }, + "vinyl": { + "version": "1.2.0", + "from": "vinyl@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", + "dev": true + }, + "vinyl-fs": { + "version": "2.4.4", + "from": "vinyl-fs@>=2.4.3 <3.0.0", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.4.tgz", + "dev": true + } + } + }, + "levn": { + "version": "0.3.0", + "from": "levn@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "dev": true + }, "lexical-scope": { "version": "1.2.0", "from": "lexical-scope@>=1.2.0 <2.0.0", @@ -5829,6 +8022,12 @@ "from": "load-json-file@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz" }, + "loader-fs-cache": { + "version": "1.0.1", + "from": "loader-fs-cache@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.1.tgz", + "dev": true + }, "loader-runner": { "version": "2.3.0", "from": "loader-runner@>=2.3.0 <3.0.0", @@ -5839,6 +8038,20 @@ "from": "loader-utils@>=0.2.16 <0.3.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz" }, + "locate-path": { + "version": "2.0.0", + "from": "locate-path@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "dev": true, + "dependencies": { + "path-exists": { + "version": "3.0.0", + "from": "path-exists@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "dev": true + } + } + }, "lockfile": { "version": "1.0.3", "from": "lockfile@>=1.0.0 <1.1.0", @@ -5849,11 +8062,29 @@ "from": "lodash@>=4.17.4 <5.0.0", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" }, + "lodash._arraycopy": { + "version": "3.0.0", + "from": "lodash._arraycopy@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz", + "dev": true + }, + "lodash._arrayeach": { + "version": "3.0.0", + "from": "lodash._arrayeach@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz", + "dev": true + }, "lodash._baseassign": { "version": "3.2.0", "from": "lodash._baseassign@>=3.0.0 <4.0.0", "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz" }, + "lodash._baseclone": { + "version": "3.3.0", + "from": "lodash._baseclone@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-3.3.0.tgz", + "dev": true + }, "lodash._basecopy": { "version": "3.0.1", "from": "lodash._basecopy@>=3.0.0 <4.0.0", @@ -5864,6 +8095,12 @@ "from": "lodash._basecreate@>=3.0.0 <4.0.0", "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz" }, + "lodash._basefor": { + "version": "3.0.3", + "from": "lodash._basefor@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash._basefor/-/lodash._basefor-3.0.3.tgz", + "dev": true + }, "lodash._basetostring": { "version": "3.0.1", "from": "lodash._basetostring@>=3.0.0 <4.0.0", @@ -5956,6 +8193,12 @@ "from": "lodash._shimkeys@>=2.4.1 <2.5.0", "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz" }, + "lodash._stack": { + "version": "4.1.3", + "from": "lodash._stack@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash._stack/-/lodash._stack-4.1.3.tgz", + "dev": true + }, "lodash.assign": { "version": "3.2.0", "from": "lodash.assign@>=3.0.0 <4.0.0", @@ -5966,6 +8209,12 @@ "from": "lodash.camelcase@>=4.3.0 <5.0.0", "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz" }, + "lodash.clone": { + "version": "3.0.3", + "from": "lodash.clone@3.0.3", + "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-3.0.3.tgz", + "dev": true + }, "lodash.clonedeep": { "version": "4.5.0", "from": "lodash.clonedeep@>=4.3.2 <5.0.0", @@ -5986,6 +8235,20 @@ "from": "lodash.defaults@>=3.1.2 <4.0.0", "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-3.1.2.tgz" }, + "lodash.defaultsdeep": { + "version": "4.3.2", + "from": "lodash.defaultsdeep@4.3.2", + "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.3.2.tgz", + "dev": true, + "dependencies": { + "lodash._baseclone": { + "version": "4.5.7", + "from": "lodash._baseclone@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-4.5.7.tgz", + "dev": true + } + } + }, "lodash.escape": { "version": "3.2.0", "from": "lodash.escape@>=3.0.0 <4.0.0", @@ -6036,6 +8299,12 @@ "from": "lodash.keys@>=3.0.0 <4.0.0", "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz" }, + "lodash.keysin": { + "version": "4.2.0", + "from": "lodash.keysin@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.keysin/-/lodash.keysin-4.2.0.tgz", + "dev": true + }, "lodash.mapvalues": { "version": "4.6.0", "from": "lodash.mapvalues@>=4.4.0 <5.0.0", @@ -6056,6 +8325,12 @@ "from": "lodash.now@>=2.4.1 <2.5.0", "resolved": "https://registry.npmjs.org/lodash.now/-/lodash.now-2.4.1.tgz" }, + "lodash.rest": { + "version": "4.0.5", + "from": "lodash.rest@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.rest/-/lodash.rest-4.0.5.tgz", + "dev": true + }, "lodash.restparam": { "version": "3.6.1", "from": "lodash.restparam@>=3.0.0 <4.0.0", @@ -6093,17 +8368,55 @@ } } }, + "log-driver": { + "version": "1.2.5", + "from": "log-driver@1.2.5", + "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.5.tgz", + "dev": true + }, "log-symbols": { "version": "1.0.2", "from": "log-symbols@>=1.0.2 <2.0.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz" }, + "log4js": { + "version": "0.6.38", + "from": "log4js@>=0.6.31 <0.7.0", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-0.6.38.tgz", + "dev": true, + "dependencies": { + "isarray": { + "version": "0.0.1", + "from": "isarray@0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "from": "readable-stream@>=1.0.2 <1.1.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "dev": true + }, + "semver": { + "version": "4.3.6", + "from": "semver@>=4.3.3 <4.4.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", + "dev": true + } + } + }, "logalot": { "version": "2.1.0", "from": "logalot@>=2.0.0 <3.0.0", "resolved": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz", "optional": true }, + "lolex": { + "version": "1.6.0", + "from": "lolex@>=1.4.0 <2.0.0", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-1.6.0.tgz", + "dev": true + }, "longest": { "version": "1.0.1", "from": "longest@>=1.0.1 <2.0.0", @@ -6393,6 +8706,50 @@ } } }, + "mocha-nightwatch": { + "version": "3.2.2", + "from": "mocha-nightwatch@3.2.2", + "resolved": "https://registry.npmjs.org/mocha-nightwatch/-/mocha-nightwatch-3.2.2.tgz", + "dev": true, + "dependencies": { + "commander": { + "version": "2.9.0", + "from": "commander@2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "dev": true + }, + "debug": { + "version": "2.2.0", + "from": "debug@2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "dev": true + }, + "diff": { + "version": "1.4.0", + "from": "diff@1.4.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz", + "dev": true + }, + "glob": { + "version": "7.0.5", + "from": "glob@7.0.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz", + "dev": true + }, + "ms": { + "version": "0.7.1", + "from": "ms@0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "dev": true + }, + "supports-color": { + "version": "3.1.2", + "from": "supports-color@3.1.2", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz", + "dev": true + } + } + }, "modify-filename": { "version": "1.1.0", "from": "modify-filename@>=1.1.0 <2.0.0", @@ -6457,6 +8814,18 @@ "from": "mongoose-id-autoinc@>=2013.7.14-4 <2013.8.0", "resolved": "https://registry.npmjs.org/mongoose-id-autoinc/-/mongoose-id-autoinc-2013.7.14-4.tgz" }, + "mongoskin": { + "version": "2.1.0", + "from": "mongoskin@>=2.1.0 <2.2.0", + "resolved": "https://registry.npmjs.org/mongoskin/-/mongoskin-2.1.0.tgz", + "dev": true + }, + "monk": { + "version": "4.1.0", + "from": "monk@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/monk/-/monk-4.1.0.tgz", + "dev": true + }, "morgan": { "version": "1.8.2", "from": "morgan@>=1.7.0 <2.0.0", @@ -6556,6 +8925,12 @@ "from": "natives@>=1.1.0 <2.0.0", "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.0.tgz" }, + "natural-compare": { + "version": "1.4.0", + "from": "natural-compare@>=1.4.0 <2.0.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "dev": true + }, "ncname": { "version": "1.0.0", "from": "ncname@>=1.0.0 <1.1.0", @@ -6613,6 +8988,32 @@ "from": "nested-error-stacks@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-1.0.2.tgz" }, + "netmask": { + "version": "1.0.6", + "from": "netmask@>=1.0.4 <1.1.0", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz", + "dev": true + }, + "new-from": { + "version": "0.0.3", + "from": "new-from@0.0.3", + "resolved": "https://registry.npmjs.org/new-from/-/new-from-0.0.3.tgz", + "dev": true, + "dependencies": { + "isarray": { + "version": "0.0.1", + "from": "isarray@0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "from": "readable-stream@>=1.1.8 <1.2.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "dev": true + } + } + }, "next-tick": { "version": "0.2.2", "from": "next-tick@>=0.2.2 <0.3.0", @@ -6645,6 +9046,32 @@ } } }, + "nightwatch": { + "version": "0.9.16", + "from": "nightwatch@>=0.9.12 <0.10.0", + "resolved": "https://registry.npmjs.org/nightwatch/-/nightwatch-0.9.16.tgz", + "dev": true, + "dependencies": { + "minimatch": { + "version": "3.0.3", + "from": "minimatch@3.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", + "dev": true + }, + "mkpath": { + "version": "1.0.0", + "from": "mkpath@1.0.0", + "resolved": "https://registry.npmjs.org/mkpath/-/mkpath-1.0.0.tgz", + "dev": true + }, + "q": { + "version": "1.4.1", + "from": "q@1.4.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", + "dev": true + } + } + }, "no-case": { "version": "2.3.1", "from": "no-case@>=2.2.0 <3.0.0", @@ -6844,7 +9271,7 @@ }, "node-sass": { "version": "4.5.3", - "from": "node-sass@4.5.3", + "from": "node-sass@>=4.5.0 <5.0.0", "resolved": "http://registry.npmjs.org/node-sass/-/node-sass-4.5.3.tgz", "dependencies": { "caseless": { @@ -7159,6 +9586,18 @@ "from": "object-assign@>=4.0.1 <5.0.0", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" }, + "object-component": { + "version": "0.0.3", + "from": "object-component@0.0.3", + "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", + "dev": true + }, + "object-hash": { + "version": "1.1.8", + "from": "object-hash@>=1.1.4 <2.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.1.8.tgz", + "dev": true + }, "object-inspect": { "version": "0.4.0", "from": "object-inspect@>=0.4.0 <0.5.0", @@ -7226,6 +9665,12 @@ "from": "onetime@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz" }, + "opener": { + "version": "1.4.3", + "from": "opener@>=1.4.3 <2.0.0", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.4.3.tgz", + "dev": true + }, "opn": { "version": "1.0.2", "from": "opn@>=1.0.0 <1.1.0", @@ -7241,6 +9686,20 @@ "from": "optional@>=0.1.0 <0.2.0", "resolved": "https://registry.npmjs.org/optional/-/optional-0.1.4.tgz" }, + "optionator": { + "version": "0.8.2", + "from": "optionator@>=0.8.2 <0.9.0", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "dev": true, + "dependencies": { + "wordwrap": { + "version": "1.0.0", + "from": "wordwrap@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "dev": true + } + } + }, "options": { "version": "0.0.6", "from": "options@>=0.0.5", @@ -7327,6 +9786,18 @@ } } }, + "p-limit": { + "version": "1.1.0", + "from": "p-limit@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz", + "dev": true + }, + "p-locate": { + "version": "2.0.0", + "from": "p-locate@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "dev": true + }, "p-map": { "version": "1.1.1", "from": "p-map@>=1.1.1 <2.0.0", @@ -7344,6 +9815,32 @@ } } }, + "pac-proxy-agent": { + "version": "1.1.0", + "from": "pac-proxy-agent@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-1.1.0.tgz", + "dev": true + }, + "pac-resolver": { + "version": "2.0.0", + "from": "pac-resolver@>=2.0.0 <2.1.0", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-2.0.0.tgz", + "dev": true, + "dependencies": { + "co": { + "version": "3.0.6", + "from": "co@>=3.0.6 <3.1.0", + "resolved": "https://registry.npmjs.org/co/-/co-3.0.6.tgz", + "dev": true + }, + "ip": { + "version": "1.0.1", + "from": "ip@1.0.1", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.0.1.tgz", + "dev": true + } + } + }, "package-json": { "version": "0.2.0", "from": "package-json@>=0.2.0 <0.3.0", @@ -7438,6 +9935,24 @@ "from": "parse-passwd@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz" }, + "parsejson": { + "version": "0.0.3", + "from": "parsejson@0.0.3", + "resolved": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.3.tgz", + "dev": true + }, + "parseqs": { + "version": "0.0.5", + "from": "parseqs@0.0.5", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", + "dev": true + }, + "parseuri": { + "version": "0.0.5", + "from": "parseuri@0.0.5", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", + "dev": true + }, "parseurl": { "version": "1.3.1", "from": "parseurl@>=1.3.1 <1.4.0", @@ -7684,6 +10199,12 @@ "from": "plur@>=2.0.0 <3.0.0", "resolved": "https://registry.npmjs.org/plur/-/plur-2.1.2.tgz" }, + "pluralize": { + "version": "1.2.1", + "from": "pluralize@>=1.2.1 <2.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", + "dev": true + }, "pngjs2": { "version": "1.2.0", "from": "pngjs2@>=1.0.0 <2.0.0", @@ -8006,6 +10527,12 @@ "from": "postcss-zindex@>=2.0.1 <3.0.0", "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz" }, + "prelude-ls": { + "version": "1.1.2", + "from": "prelude-ls@>=1.1.2 <1.2.0", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "dev": true + }, "prepend-http": { "version": "1.0.4", "from": "prepend-http@>=1.0.0 <2.0.0", @@ -8081,11 +10608,75 @@ "from": "protocolify@>=2.0.0 <3.0.0", "resolved": "https://registry.npmjs.org/protocolify/-/protocolify-2.0.0.tgz" }, + "protractor": { + "version": "3.3.0", + "from": "protractor@>=3.1.1 <4.0.0", + "resolved": "https://registry.npmjs.org/protractor/-/protractor-3.3.0.tgz", + "dev": true, + "dependencies": { + "bl": { + "version": "1.0.3", + "from": "bl@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.0.3.tgz", + "dev": true + }, + "glob": { + "version": "6.0.4", + "from": "glob@>=6.0.0 <6.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", + "dev": true + }, + "node-uuid": { + "version": "1.4.8", + "from": "node-uuid@~1.4.7", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz", + "dev": true + }, + "q": { + "version": "1.4.1", + "from": "q@1.4.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", + "dev": true + }, + "qs": { + "version": "5.2.1", + "from": "qs@>=5.2.0 <5.3.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-5.2.1.tgz", + "dev": true + }, + "request": { + "version": "2.67.0", + "from": "request@>=2.67.0 <2.68.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.67.0.tgz", + "dev": true + }, + "tough-cookie": { + "version": "2.2.2", + "from": "tough-cookie@>=2.2.0 <2.3.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.2.tgz", + "dev": true + } + } + }, "proxy-addr": { "version": "1.1.5", "from": "proxy-addr@>=1.1.3 <1.2.0", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.1.5.tgz" }, + "proxy-agent": { + "version": "2.0.0", + "from": "proxy-agent@2.0.0", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-2.0.0.tgz", + "dev": true, + "dependencies": { + "lru-cache": { + "version": "2.6.5", + "from": "lru-cache@>=2.6.5 <2.7.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.5.tgz", + "dev": true + } + } + }, "prr": { "version": "0.0.0", "from": "prr@>=0.0.0 <0.1.0", @@ -8107,9 +10698,9 @@ "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz" }, "pug": { - "version": "2.0.0-rc.3", + "version": "2.0.0-rc.2", "from": "pug@>=2.0.0-beta.12 <3.0.0", - "resolved": "http://registry.npmjs.org/pug/-/pug-2.0.0-rc.3.tgz" + "resolved": "https://registry.npmjs.org/pug/-/pug-2.0.0-rc.2.tgz" }, "pug-attrs": { "version": "2.0.2", @@ -8151,9 +10742,9 @@ "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-1.3.2.tgz" }, "pug-filters": { - "version": "2.1.4", - "from": "pug-filters@>=2.1.4 <3.0.0", - "resolved": "http://registry.npmjs.org/pug-filters/-/pug-filters-2.1.4.tgz", + "version": "2.1.3", + "from": "pug-filters@>=2.1.3 <3.0.0", + "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-2.1.3.tgz", "dependencies": { "asap": { "version": "2.0.6", @@ -8212,19 +10803,19 @@ } }, "pug-linker": { - "version": "3.0.2", - "from": "pug-linker@>=3.0.2 <4.0.0", - "resolved": "http://registry.npmjs.org/pug-linker/-/pug-linker-3.0.2.tgz" + "version": "3.0.1", + "from": "pug-linker@>=3.0.1 <4.0.0", + "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-3.0.1.tgz" }, "pug-load": { - "version": "2.0.8", - "from": "pug-load@>=2.0.8 <3.0.0", - "resolved": "http://registry.npmjs.org/pug-load/-/pug-load-2.0.8.tgz" + "version": "2.0.7", + "from": "pug-load@>=2.0.7 <3.0.0", + "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-2.0.7.tgz" }, "pug-parser": { - "version": "3.0.1", - "from": "pug-parser@>=3.0.1 <4.0.0", - "resolved": "http://registry.npmjs.org/pug-parser/-/pug-parser-3.0.1.tgz" + "version": "3.0.0", + "from": "pug-parser@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-3.0.0.tgz" }, "pug-runtime": { "version": "2.0.3", @@ -8237,9 +10828,9 @@ "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-1.0.2.tgz" }, "pug-walk": { - "version": "1.1.4", - "from": "pug-walk@>=1.1.4 <2.0.0", - "resolved": "http://registry.npmjs.org/pug-walk/-/pug-walk-1.1.4.tgz" + "version": "1.1.3", + "from": "pug-walk@>=1.1.3 <2.0.0", + "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-1.1.3.tgz" }, "pump": { "version": "0.3.5", @@ -8273,6 +10864,12 @@ "from": "q@>=1.4.1 <2.0.0", "resolved": "https://registry.npmjs.org/q/-/q-1.5.0.tgz" }, + "qjobs": { + "version": "1.1.5", + "from": "qjobs@>=1.1.4 <2.0.0", + "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.1.5.tgz", + "dev": true + }, "qs": { "version": "6.2.3", "from": "qs@>=6.2.0 <6.3.0", @@ -8325,6 +10922,12 @@ } } }, + "ramda": { + "version": "0.24.1", + "from": "ramda@>=0.24.1 <0.25.0", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.24.1.tgz", + "dev": true + }, "randomatic": { "version": "1.1.7", "from": "randomatic@>=1.1.3 <2.0.0", @@ -8371,6 +10974,12 @@ } } }, + "raw-loader": { + "version": "0.5.1", + "from": "raw-loader@>=0.5.1 <0.6.0", + "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz", + "dev": true + }, "rc": { "version": "1.1.7", "from": "rc@>=1.1.6 <1.2.0", @@ -8614,6 +11223,12 @@ } } }, + "require-again": { + "version": "2.0.0", + "from": "require-again@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/require-again/-/require-again-2.0.0.tgz", + "dev": true + }, "require-directory": { "version": "2.1.1", "from": "require-directory@>=2.1.1 <3.0.0", @@ -8629,6 +11244,26 @@ "from": "require-main-filename@>=1.0.1 <2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz" }, + "require-uncached": { + "version": "1.0.3", + "from": "require-uncached@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "dev": true, + "dependencies": { + "resolve-from": { + "version": "1.0.1", + "from": "resolve-from@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", + "dev": true + } + } + }, + "requires-port": { + "version": "1.0.0", + "from": "requires-port@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "dev": true + }, "resolve": { "version": "1.4.0", "from": "resolve@>=1.1.4 <2.0.0", @@ -8666,6 +11301,12 @@ "from": "retry@>=0.9.0 <0.10.0", "resolved": "https://registry.npmjs.org/retry/-/retry-0.9.0.tgz" }, + "rewire": { + "version": "2.5.2", + "from": "rewire@>=2.3.3 <3.0.0", + "resolved": "https://registry.npmjs.org/rewire/-/rewire-2.5.2.tgz", + "dev": true + }, "right-align": { "version": "0.1.3", "from": "right-align@>=0.1.1 <0.2.0", @@ -8688,6 +11329,12 @@ "from": "ripemd160@>=2.0.0 <3.0.0", "resolved": "http://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz" }, + "run-async": { + "version": "0.1.0", + "from": "run-async@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", + "dev": true + }, "run-sequence": { "version": "1.2.2", "from": "run-sequence@>=1.1.4 <2.0.0", @@ -8698,6 +11345,12 @@ "from": "rx@>=2.2.27 <3.0.0", "resolved": "https://registry.npmjs.org/rx/-/rx-2.5.3.tgz" }, + "rx-lite": { + "version": "3.1.2", + "from": "rx-lite@>=3.1.2 <4.0.0", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz", + "dev": true + }, "s3-upload-stream": { "version": "1.0.7", "from": "s3-upload-stream@>=1.0.6 <2.0.0", @@ -8708,6 +11361,12 @@ "from": "safe-buffer@>=5.0.1 <6.0.0", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz" }, + "samsam": { + "version": "1.1.2", + "from": "samsam@1.1.2", + "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.1.2.tgz", + "dev": true + }, "sass-graph": { "version": "2.2.4", "from": "sass-graph@>=2.1.1 <3.0.0", @@ -8757,6 +11416,12 @@ } } }, + "saucelabs": { + "version": "1.0.1", + "from": "saucelabs@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.0.1.tgz", + "dev": true + }, "save-pixels": { "version": "2.2.1", "from": "save-pixels@>=2.2.0 <2.3.0", @@ -8820,6 +11485,38 @@ } } }, + "selenium-server": { + "version": "3.4.0", + "from": "selenium-server@>=3.0.1 <4.0.0", + "resolved": "https://registry.npmjs.org/selenium-server/-/selenium-server-3.4.0.tgz", + "dev": true + }, + "selenium-webdriver": { + "version": "2.52.0", + "from": "selenium-webdriver@2.52.0", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-2.52.0.tgz", + "dev": true, + "dependencies": { + "adm-zip": { + "version": "0.4.4", + "from": "adm-zip@0.4.4", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.4.tgz", + "dev": true + }, + "tmp": { + "version": "0.0.24", + "from": "tmp@0.0.24", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.24.tgz", + "dev": true + }, + "xml2js": { + "version": "0.4.4", + "from": "xml2js@0.4.4", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.4.tgz", + "dev": true + } + } + }, "semver": { "version": "5.0.3", "from": "semver@>=5.0.1 <5.1.0", @@ -8987,6 +11684,18 @@ } } }, + "shebang-command": { + "version": "1.2.0", + "from": "shebang-command@>=1.2.0 <2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "dev": true + }, + "shebang-regex": { + "version": "1.0.0", + "from": "shebang-regex@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "dev": true + }, "shell-quote": { "version": "1.4.3", "from": "shell-quote@>=1.4.1 <1.5.0", @@ -9019,11 +11728,43 @@ "from": "simple-html-tokenizer@>=0.1.1 <0.2.0", "resolved": "https://registry.npmjs.org/simple-html-tokenizer/-/simple-html-tokenizer-0.1.1.tgz" }, + "sinon": { + "version": "1.17.7", + "from": "sinon@>=1.17.2 <2.0.0", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-1.17.7.tgz", + "dev": true, + "dependencies": { + "lolex": { + "version": "1.3.2", + "from": "lolex@1.3.2", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-1.3.2.tgz", + "dev": true + } + } + }, + "sinon-chai": { + "version": "2.12.0", + "from": "sinon-chai@>=2.8.0 <3.0.0", + "resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-2.12.0.tgz", + "dev": true + }, + "sinon-stub-promise": { + "version": "4.0.0", + "from": "sinon-stub-promise@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/sinon-stub-promise/-/sinon-stub-promise-4.0.0.tgz", + "dev": true + }, "slash": { "version": "1.0.0", "from": "slash@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz" }, + "slice-ansi": { + "version": "0.0.4", + "from": "slice-ansi@0.0.4", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", + "dev": true + }, "sliced": { "version": "1.0.1", "from": "sliced@1.0.1", @@ -9049,11 +11790,115 @@ "from": "sntp@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz" }, + "socket.io": { + "version": "1.7.3", + "from": "socket.io@1.7.3", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-1.7.3.tgz", + "dev": true, + "dependencies": { + "debug": { + "version": "2.3.3", + "from": "debug@2.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", + "dev": true + }, + "ms": { + "version": "0.7.2", + "from": "ms@0.7.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", + "dev": true + }, + "object-assign": { + "version": "4.1.0", + "from": "object-assign@4.1.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", + "dev": true + } + } + }, + "socket.io-adapter": { + "version": "0.5.0", + "from": "socket.io-adapter@0.5.0", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz", + "dev": true, + "dependencies": { + "debug": { + "version": "2.3.3", + "from": "debug@2.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", + "dev": true + }, + "ms": { + "version": "0.7.2", + "from": "ms@0.7.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", + "dev": true + } + } + }, + "socket.io-client": { + "version": "1.7.3", + "from": "socket.io-client@1.7.3", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-1.7.3.tgz", + "dev": true, + "dependencies": { + "debug": { + "version": "2.3.3", + "from": "debug@2.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", + "dev": true + }, + "ms": { + "version": "0.7.2", + "from": "ms@0.7.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", + "dev": true + } + } + }, + "socket.io-parser": { + "version": "2.3.1", + "from": "socket.io-parser@2.3.1", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.3.1.tgz", + "dev": true, + "dependencies": { + "component-emitter": { + "version": "1.1.2", + "from": "component-emitter@1.1.2", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz", + "dev": true + }, + "debug": { + "version": "2.2.0", + "from": "debug@2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "from": "isarray@0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "dev": true + }, + "ms": { + "version": "0.7.1", + "from": "ms@0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "dev": true + } + } + }, "socks": { "version": "1.1.9", "from": "socks@1.1.9", "resolved": "https://registry.npmjs.org/socks/-/socks-1.1.9.tgz" }, + "socks-proxy-agent": { + "version": "2.1.1", + "from": "socks-proxy-agent@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-2.1.1.tgz", + "dev": true + }, "sort-keys": { "version": "1.1.2", "from": "sort-keys@>=1.0.0 <2.0.0", @@ -9535,6 +12380,12 @@ } } }, + "superagent-defaults": { + "version": "0.1.14", + "from": "superagent-defaults@>=0.1.13 <0.2.0", + "resolved": "https://registry.npmjs.org/superagent-defaults/-/superagent-defaults-0.1.14.tgz", + "dev": true + }, "supports-color": { "version": "2.0.0", "from": "supports-color@>=2.0.0 <3.0.0", @@ -9606,6 +12457,38 @@ "from": "syntax-error@>=1.1.1 <2.0.0", "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.3.0.tgz" }, + "table": { + "version": "3.8.3", + "from": "table@>=3.7.8 <4.0.0", + "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", + "dev": true, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "from": "ansi-regex@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "from": "is-fullwidth-code-point@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "from": "string-width@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "from": "strip-ansi@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "dev": true + } + } + }, "tapable": { "version": "0.2.7", "from": "tapable@>=0.2.5 <0.3.0", @@ -9699,11 +12582,23 @@ } } }, + "test-exclude": { + "version": "4.1.1", + "from": "test-exclude@>=4.1.1 <5.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.1.1.tgz", + "dev": true + }, "tether": { "version": "1.4.0", "from": "tether@>=1.4.0 <2.0.0", "resolved": "https://registry.npmjs.org/tether/-/tether-1.4.0.tgz" }, + "text-table": { + "version": "0.2.0", + "from": "text-table@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "dev": true + }, "throttleit": { "version": "0.0.2", "from": "throttleit@>=0.0.2 <0.1.0", @@ -9741,6 +12636,12 @@ "from": "through2-filter@>=2.0.0 <3.0.0", "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz" }, + "thunkify": { + "version": "2.1.2", + "from": "thunkify@>=2.1.1 <2.2.0", + "resolved": "https://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz", + "dev": true + }, "tildify": { "version": "1.2.0", "from": "tildify@>=1.0.0 <2.0.0", @@ -9805,6 +12706,12 @@ "from": "to-absolute-glob@>=0.1.1 <0.2.0", "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz" }, + "to-array": { + "version": "0.1.4", + "from": "to-array@0.1.4", + "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", + "dev": true + }, "to-arraybuffer": { "version": "1.0.1", "from": "to-arraybuffer@>=1.0.0 <2.0.0", @@ -9904,6 +12811,12 @@ "from": "trim-right@>=1.0.1 <2.0.0", "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz" }, + "tryit": { + "version": "1.0.3", + "from": "tryit@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz", + "dev": true + }, "tty-browserify": { "version": "0.0.0", "from": "tty-browserify@>=0.0.0 <0.1.0", @@ -9920,6 +12833,18 @@ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "optional": true }, + "type-check": { + "version": "0.3.2", + "from": "type-check@>=0.3.2 <0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "dev": true + }, + "type-detect": { + "version": "1.0.0", + "from": "type-detect@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz", + "dev": true + }, "type-is": { "version": "1.6.15", "from": "type-is@>=1.6.15 <1.7.0", @@ -9935,18 +12860,6 @@ "from": "uc.micro@>=1.0.3 <2.0.0", "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.3.tgz" }, - "uglify-js-harmony": { - "version": "2.7.7", - "from": "uglify-js-harmony@>=2.7.5 <3.0.0", - "resolved": "http://registry.npmjs.org/uglify-js-harmony/-/uglify-js-harmony-2.7.7.tgz", - "dependencies": { - "async": { - "version": "0.2.10", - "from": "async@>=0.2.6 <0.3.0", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" - } - } - }, "uglify-save-license": { "version": "0.4.1", "from": "uglify-save-license@>=0.4.1 <0.5.0", @@ -10259,7 +13172,7 @@ "velocity-animate": { "version": "1.5.0", "from": "velocity-animate@>=1.5.0 <2.0.0", - "resolved": "http://registry.npmjs.org/velocity-animate/-/velocity-animate-1.5.0.tgz" + "resolved": "https://registry.npmjs.org/velocity-animate/-/velocity-animate-1.5.0.tgz" }, "vendors": { "version": "1.0.1", @@ -10392,6 +13305,50 @@ "from": "vinyl-sourcemaps-apply@>=0.2.0 <0.3.0", "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz" }, + "vinyl-transform": { + "version": "1.0.0", + "from": "vinyl-transform@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/vinyl-transform/-/vinyl-transform-1.0.0.tgz", + "dev": true, + "dependencies": { + "bl": { + "version": "0.7.0", + "from": "bl@>=0.7.0 <0.8.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-0.7.0.tgz", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "from": "isarray@0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "dev": true + }, + "object-keys": { + "version": "0.4.0", + "from": "object-keys@>=0.4.0 <0.5.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "from": "readable-stream@>=1.0.2 <1.1.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "dev": true + }, + "through2": { + "version": "0.4.2", + "from": "through2@>=0.4.1 <0.5.0", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", + "dev": true + }, + "xtend": { + "version": "2.1.2", + "from": "xtend@>=2.1.1 <2.2.0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "dev": true + } + } + }, "vm-browserify": { "version": "0.0.4", "from": "vm-browserify@>=0.0.1 <0.1.0", @@ -10448,7 +13405,7 @@ }, "vue-notification": { "version": "1.3.2", - "from": "vue-notification@>=1.3.2 <2.0.0", + "from": "http://registry.npmjs.org/vue-notification/-/vue-notification-1.3.2.tgz", "resolved": "http://registry.npmjs.org/vue-notification/-/vue-notification-1.3.2.tgz" }, "vue-router": { @@ -10568,6 +13525,130 @@ } } }, + "webpack-bundle-analyzer": { + "version": "2.8.3", + "from": "webpack-bundle-analyzer@>=2.2.1 <3.0.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.8.3.tgz", + "dev": true, + "dependencies": { + "acorn": { + "version": "5.1.1", + "from": "acorn@>=5.1.1 <6.0.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.1.1.tgz", + "dev": true + }, + "debug": { + "version": "2.6.7", + "from": "debug@2.6.7", + "resolved": "http://registry.npmjs.org/debug/-/debug-2.6.7.tgz", + "dev": true + }, + "ejs": { + "version": "2.5.7", + "from": "ejs@>=2.5.6 <3.0.0", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.7.tgz", + "dev": true + }, + "etag": { + "version": "1.8.0", + "from": "etag@>=1.8.0 <1.9.0", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.0.tgz", + "dev": true + }, + "express": { + "version": "4.15.3", + "from": "express@>=4.15.2 <5.0.0", + "resolved": "http://registry.npmjs.org/express/-/express-4.15.3.tgz", + "dev": true + }, + "finalhandler": { + "version": "1.0.3", + "from": "finalhandler@>=1.0.3 <1.1.0", + "resolved": "http://registry.npmjs.org/finalhandler/-/finalhandler-1.0.3.tgz", + "dev": true + }, + "fresh": { + "version": "0.5.0", + "from": "fresh@0.5.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.0.tgz", + "dev": true + }, + "gzip-size": { + "version": "3.0.0", + "from": "gzip-size@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-3.0.0.tgz", + "dev": true + }, + "mime": { + "version": "1.3.4", + "from": "mime@1.3.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", + "dev": true + }, + "qs": { + "version": "6.4.0", + "from": "qs@6.4.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", + "dev": true + }, + "safe-buffer": { + "version": "5.0.1", + "from": "safe-buffer@>=5.0.1 <5.1.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", + "dev": true + }, + "send": { + "version": "0.15.3", + "from": "send@0.15.3", + "resolved": "http://registry.npmjs.org/send/-/send-0.15.3.tgz", + "dev": true + }, + "serve-static": { + "version": "1.12.3", + "from": "serve-static@1.12.3", + "resolved": "http://registry.npmjs.org/serve-static/-/serve-static-1.12.3.tgz", + "dev": true + }, + "ultron": { + "version": "1.1.0", + "from": "ultron@>=1.1.0 <1.2.0", + "resolved": "http://registry.npmjs.org/ultron/-/ultron-1.1.0.tgz", + "dev": true + }, + "ws": { + "version": "2.3.1", + "from": "ws@>=2.3.1 <3.0.0", + "resolved": "http://registry.npmjs.org/ws/-/ws-2.3.1.tgz", + "dev": true + } + } + }, + "webpack-dev-middleware": { + "version": "1.12.0", + "from": "webpack-dev-middleware@>=1.10.0 <2.0.0", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.0.tgz", + "dev": true, + "dependencies": { + "mime": { + "version": "1.3.6", + "from": "mime@>=1.3.4 <2.0.0", + "resolved": "http://registry.npmjs.org/mime/-/mime-1.3.6.tgz", + "dev": true + }, + "time-stamp": { + "version": "2.0.0", + "from": "time-stamp@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-2.0.0.tgz", + "dev": true + } + } + }, + "webpack-hot-middleware": { + "version": "2.18.2", + "from": "webpack-hot-middleware@>=2.6.1 <3.0.0", + "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.18.2.tgz", + "dev": true + }, "webpack-merge": { "version": "4.1.0", "from": "webpack-merge@>=4.0.0 <5.0.0", @@ -10681,6 +13762,12 @@ "from": "wrench@>=1.4.2 <1.5.0", "resolved": "https://registry.npmjs.org/wrench/-/wrench-1.4.4.tgz" }, + "write": { + "version": "0.2.1", + "from": "write@>=0.2.1 <0.3.0", + "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", + "dev": true + }, "write-file-atomic": { "version": "1.3.4", "from": "write-file-atomic@>=1.1.2 <2.0.0", @@ -10691,6 +13778,12 @@ "from": "ws@>=1.0.1 <2.0.0", "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.4.tgz" }, + "wtf-8": { + "version": "1.0.0", + "from": "wtf-8@1.0.0", + "resolved": "https://registry.npmjs.org/wtf-8/-/wtf-8-1.0.0.tgz", + "dev": true + }, "xdg-basedir": { "version": "1.0.1", "from": "xdg-basedir@>=1.0.0 <2.0.0", @@ -10728,11 +13821,23 @@ "from": "xmldom@0.1.19", "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.19.tgz" }, + "xmlhttprequest-ssl": { + "version": "1.5.3", + "from": "xmlhttprequest-ssl@1.5.3", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz", + "dev": true + }, "xpath.js": { "version": "1.0.7", "from": "xpath.js@>=0.0.3", "resolved": "https://registry.npmjs.org/xpath.js/-/xpath.js-1.0.7.tgz" }, + "xregexp": { + "version": "2.0.0", + "from": "xregexp@2.0.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz", + "dev": true + }, "xtend": { "version": "4.0.1", "from": "xtend@>=4.0.0 <5.0.0", @@ -10769,6 +13874,12 @@ "version": "2.8.0", "from": "yauzl@>=2.2.1 <3.0.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.8.0.tgz" + }, + "yeast": { + "version": "0.1.2", + "from": "yeast@0.1.2", + "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", + "dev": true } } } diff --git a/package.json b/package.json index b06c09f084..adefbb7b4d 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "bluebird": "^3.3.5", "body-parser": "^1.15.0", "bootstrap": "^4.0.0-alpha.6", - "bootstrap-vue": "^0.16.1", + "bootstrap-vue": "^0.18.0", "bower": "~1.3.12", "browserify": "~12.0.1", "compression": "^1.6.1", diff --git a/website/client/assets/scss/button.scss b/website/client/assets/scss/button.scss index 62550a9fad..1f77b30ff5 100644 --- a/website/client/assets/scss/button.scss +++ b/website/client/assets/scss/button.scss @@ -80,6 +80,10 @@ } } +.show > .btn-success.dropdown-toggle { + background: $green-50; +} + .btn-info { background: $blue-50; diff --git a/website/client/assets/scss/dropdown.scss b/website/client/assets/scss/dropdown.scss index 6923bddfd7..ba92b343d1 100644 --- a/website/client/assets/scss/dropdown.scss +++ b/website/client/assets/scss/dropdown.scss @@ -6,7 +6,7 @@ line-height: 1.43; } -.dropdown.show > .dropdown-toggle { +.dropdown.show > .dropdown-toggle:not(.btn-success) { color: $purple-200; border-color: $purple-500 !important; box-shadow: none; diff --git a/website/client/assets/scss/form.scss b/website/client/assets/scss/form.scss index 40ac7df4ac..f7f51c42a7 100644 --- a/website/client/assets/scss/form.scss +++ b/website/client/assets/scss/form.scss @@ -119,6 +119,26 @@ $bg-disabled-control: #34303a; } } +.inline-edit-input-group { + .input-group-btn { + cursor: pointer; + padding-left: 10px; + padding-right: 10px; + } + + .destroy-icon { + width: 14px; + height: 16px; + } +} + +.inline-edit-input { + margin-bottom: 0px; + border-radius: 0px; + border: none !important; + padding-left: 36px; +} + @mixin custom-radio-checked-icon ($bg-color) { background-image: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$bg-color}'/%3E%3C/svg%3E"), "#", "%23"); } diff --git a/website/client/assets/scss/task.scss b/website/client/assets/scss/task.scss index 5adb1421a9..9b72d2bfe8 100644 --- a/website/client/assets/scss/task.scss +++ b/website/client/assets/scss/task.scss @@ -20,6 +20,10 @@ &-purple { background: $purple-300; + &-color { + color: $purple-300; + } + &-control-habit { background: $purple-300; } @@ -31,6 +35,11 @@ &-worst { background: $maroon-100; + + &-color { + color: darken($maroon-100, 12%); + } + &-control-habit { background: darken($maroon-100, 12%); } @@ -47,6 +56,11 @@ &-worse { background: $red-100; + + &-color { + color: darken($red-100, 12%); + } + &-control-habit { background: darken($red-100, 12%); } @@ -63,6 +77,11 @@ &-bad { background: $orange-100; + + &-color { + color: darken($orange-100, 12%); + } + &-control-habit { background: darken($orange-100, 12%); } @@ -79,6 +98,11 @@ &-neutral { background: $yellow-100; + + &-color { + color: darken($yellow-100, 12%); + } + &-control-habit { background: darken($yellow-100, 12%); } @@ -95,6 +119,11 @@ &-good { background: $green-10; + + &-color { + color: darken($green-10, 12%); + } + &-control-habit { background: darken($green-10, 12%); } @@ -111,6 +140,11 @@ &-better { background: $blue-50; + + &-color { + color: darken($blue-50, 12%); + } + &-control-habit { background: darken($blue-50, 12%); } @@ -127,6 +161,11 @@ &-best { background: $teal-50; + + &-color { + color: darken($teal-50, 12%); + } + &-control-habit { background: darken($teal-50, 12%); } diff --git a/website/client/components/groups/membersModal.vue b/website/client/components/groups/membersModal.vue index 5e3d70cbb6..e5535c95c8 100644 --- a/website/client/components/groups/membersModal.vue +++ b/website/client/components/groups/membersModal.vue @@ -21,20 +21,25 @@ div .col-3.actions b-dropdown(:text="$t('sort')", right=true) b-dropdown-item(@click='sort(option.value)') - .svg-icon(v-html="icons.removeIcon") - | {{$t('removeMember')}} + span.dropdown-icon-item + .svg-icon.inline(v-html="icons.removeIcon") + span.text {{$t('removeMember')}} b-dropdown-item(@click='sort(option.value)') - .svg-icon(v-html="icons.messageIcon") - | {{$t('sendMessage')}} + span.dropdown-icon-item + .svg-icon.inline(v-html="icons.messageIcon") + span.text {{$t('sendMessage')}} b-dropdown-item(@click='sort(option.value)') - .svg-icon(v-html="icons.starIcon") - | {{$t('promoteToLeader')}} + span.dropdown-icon-item + .svg-icon.inline(v-html="icons.starIcon") + span.text {{$t('promoteToLeader')}} b-dropdown-item(@click='sort(option.value)') - .svg-icon(v-html="icons.starIcon") - | {{$t('addManager')}} + span.dropdown-icon-item + .svg-icon.inline(v-html="icons.starIcon") + span.text {{$t('addManager')}} b-dropdown-item(@click='sort(option.value)') - .svg-icon(v-html="icons.removeIcon") - | {{$t('removeManager2')}} + span.dropdown-icon-item + .svg-icon.inline(v-html="icons.removeIcon") + span.text {{$t('removeManager2')}} .row.gradient(v-if='members.length > 3') b-modal#remove-member(:title="$t('confirmRemoveMember')") @@ -93,11 +98,8 @@ div } } - .dropdown-menu .svg-icon { + .dropdown-icon-item .svg-icon { width: 20px; - display: inline-block; - vertical-align: bottom; - margin-right: .5em; } diff --git a/website/client/components/tasks/column.vue b/website/client/components/tasks/column.vue index 807aa5e42b..4c05c495bc 100644 --- a/website/client/components/tasks/column.vue +++ b/website/client/components/tasks/column.vue @@ -9,7 +9,7 @@ :class="{active: activeFilter.label === filter.label}", @click="activateFilter(type, filter)", ) {{ $t(filter.label) }} - .tasks-list + .tasks-list(ref="taskList") task( v-for="task in taskList", :key="task.id", :task="task", @@ -18,7 +18,11 @@ @editTask="editTask", ) .bottom-gradient - .column-background(v-if="isUser === true", :class="{'initial-description': tasks[`${type}s`].length === 0}") + .column-background( + v-if="isUser === true", + :class="{'initial-description': tasks[`${type}s`].length === 0}", + ref="columnBackground", + ) .svg-icon(v-html="icons[type]", :class="`icon-${type}`", v-once) h3(v-once) {{$t('theseAreYourTasks', {taskType: `${type}s`})}} .small-text {{$t(`${type}sDesc`)}} @@ -139,6 +143,7 @@ import dailyIcon from 'assets/svg/daily.svg'; import todoIcon from 'assets/svg/todo.svg'; import rewardIcon from 'assets/svg/reward.svg'; import bModal from 'bootstrap-vue/lib/components/modal'; +import throttle from 'lodash/throttle'; export default { components: { @@ -206,6 +211,17 @@ export default { return this.tasks[`${this.type}s`]; }, }, + watch: { + taskList: { + handler: throttle(function setColumnBackgroundVisibility () { + this.setColumnBackgroundVisibility(); + }, 250), + deep: true, + }, + }, + mounted () { + this.setColumnBackgroundVisibility(); + }, methods: { ...mapActions({loadCompletedTodos: 'tasks:fetchCompletedTodos'}), editTask (task) { @@ -217,6 +233,23 @@ export default { } this.activeFilter = filter; }, + setColumnBackgroundVisibility () { + this.$nextTick(() => { + const taskListEl = this.$refs.taskList; + const tasklistHeight = taskListEl.offsetHeight; + let combinedTasksHeights = 0; + Array.from(taskListEl.getElementsByClassName('task')).forEach(el => { + combinedTasksHeights += el.offsetHeight; + }); + const columnBackgroundStyle = this.$refs.columnBackground.style; + + if (tasklistHeight - combinedTasksHeights < 150) { + columnBackgroundStyle.display = 'none'; + } else { + columnBackgroundStyle.display = 'block'; + } + }); + }, filterTask (task) { // View if (!this.activeFilter.filter(task)) return false; diff --git a/website/client/components/tasks/task.vue b/website/client/components/tasks/task.vue index 544fdac16f..4a0433b1a2 100644 --- a/website/client/components/tasks/task.vue +++ b/website/client/components/tasks/task.vue @@ -61,10 +61,18 @@ .task { margin-bottom: 8px; box-shadow: 0 2px 2px 0 rgba($black, 0.16), 0 1px 4px 0 rgba($black, 0.12); - background: $white; + background: transparent; border-radius: 2px; z-index: 9; position: relative; + + &:hover { + box-shadow: 0 1px 8px 0 rgba($black, 0.12), 0 4px 4px 0 rgba($black, 0.16); + + .left-control, .right-control, .task-content { + border-color: $purple-500; + } + } } .task-title { @@ -87,6 +95,12 @@ padding: 8px; flex-grow: 1; cursor: pointer; + background: $white; + border: 1px solid transparent; + + &.no-right-border { + border-right: none !important; + } } .checklist { @@ -182,12 +196,20 @@ border-top-left-radius: 2px; border-bottom-left-radius: 2px; min-height: 60px; + border: 1px solid transparent; + border-right: none; + + & + .task-content { + border-left: none; + } } .right-control { border-top-right-radius: 2px; border-bottom-right-radius: 2px; min-height: 56px; + border: 1px solid transparent; + border-left: none; } .task-control, .reward-control { @@ -315,7 +337,12 @@ export default { return this.getTaskClasses(this.task, 'control'); }, contentClass () { - return this.getTaskClasses(this.task, 'content'); + const classes = []; + classes.push(this.getTaskClasses(this.task, 'content')); + if (this.task.type === 'reward' || this.task.type === 'habit') { + classes.push('no-right-border'); + } + return classes; }, showStreak () { if (this.task.streak !== undefined) return true; diff --git a/website/client/components/tasks/taskModal.vue b/website/client/components/tasks/taskModal.vue index 0f96050b3a..f12ae19057 100644 --- a/website/client/components/tasks/taskModal.vue +++ b/website/client/components/tasks/taskModal.vue @@ -25,18 +25,18 @@ form( .option(v-if="['daily', 'todo'].indexOf(task.type) > -1") label(v-once) {{ $t('checklist') }} br - .checklist-group.input-group(v-for="(item, $index) in task.checklist") - input.checklist-item.form-control(type="text", :value="item.text") + .inline-edit-input-group.checklist-group.input-group(v-for="(item, $index) in task.checklist") + input.inline-edit-input.checklist-item.form-control(type="text", :value="item.text") span.input-group-btn(@click="removeChecklistItem($index)") .svg-icon.destroy-icon(v-html="icons.destroy") - input.checklist-item.form-control(type="text", :placeholder="$t('newChecklistItem')", @keydown.enter="addChecklistItem($event)", v-model="newChecklistItem") + input.inline-edit-input.checklist-item.form-control(type="text", :placeholder="$t('newChecklistItem')", @keydown.enter="addChecklistItem($event)", v-model="newChecklistItem") .d-flex.justify-content-center(v-if="task.type === 'habit'") - .option-item(:class="{'option-item-selected': task.up === true}", @click="task.up = !task.up") + .option-item(:class="optionClass(task.up === true)", @click="task.up = !task.up") .option-item-box .task-control.habit-control(:class="controlClass.up + '-control-habit'") .svg-icon.positive(v-html="icons.positive") .option-item-label(v-once) {{ $t('positive') }} - .option-item(:class="{'option-item-selected': task.down === true}", @click="task.down = !task.down") + .option-item(:class="optionClass(task.down === true)", @click="task.down = !task.down") .option-item-box .task-control.habit-control(:class="controlClass.down + '-control-habit'") .svg-icon.negative(v-html="icons.negative") @@ -46,19 +46,19 @@ form( span.float-left {{ $t('difficulty') }} .svg-icon.info-icon(v-html="icons.information") .d-flex.justify-content-center - .option-item(:class="{'option-item-selected': task.priority === 0.1}", @click="task.priority = 0.1") + .option-item(:class="optionClass(task.priority === 0.1)", @click="task.priority = 0.1") .option-item-box .svg-icon.difficulty-trivial-icon(v-html="icons.difficultyTrivial") .option-item-label(v-once) {{ $t('trivial') }} - .option-item(:class="{'option-item-selected': task.priority === 1}", @click="task.priority = 1") + .option-item(:class="optionClass(task.priority === 1)", @click="task.priority = 1") .option-item-box .svg-icon.difficulty-normal-icon(v-html="icons.difficultyNormal") .option-item-label(v-once) {{ $t('easy') }} - .option-item(:class="{'option-item-selected': task.priority === 1.5}", @click="task.priority = 1.5") + .option-item(:class="optionClass(task.priority === 1.5)", @click="task.priority = 1.5") .option-item-box .svg-icon.difficulty-medium-icon(v-html="icons.difficultyMedium") .option-item-label(v-once) {{ $t('medium') }} - .option-item(:class="{'option-item-selected': task.priority === 2}", @click="task.priority = 2") + .option-item(:class="optionClass(task.priority === 2)", @click="task.priority = 2") .option-item-box .svg-icon.difficulty-hard-icon(v-html="icons.difficultyHard") .option-item-label(v-once) {{ $t('hard') }} @@ -227,6 +227,12 @@ form( margin-right: 0px; } + &-selected { + .option-item-label { + color: inherit !important; + } + } + &-box { width: 64px; height: 64px; @@ -263,17 +269,6 @@ form( .checklist-group { border-top: 1px solid $gray-500; - - .input-group-btn { - cursor: pointer; - padding-left: 10px; - padding-right: 10px; - } - - .destroy-icon { - width: 14px; - height: 16px; - } } .checklist-item { @@ -283,12 +278,12 @@ form( padding-left: 36px; &:last-child { - background-size: 10px 10px; - background-image: url(~client/assets/svg/for-css/positive.svg); background-repeat: no-repeat; background-position: center left 10px; border-top: 1px solid $gray-500 !important; border-bottom: 1px solid $gray-500 !important; + background-size: 10px 10px; + background-image: url(~client/assets/svg/for-css/positive.svg); } } @@ -326,6 +321,7 @@ import bDropdown from 'bootstrap-vue/lib/components/dropdown'; import bDropdownItem from 'bootstrap-vue/lib/components/dropdown-item'; import Datepicker from 'vuejs-datepicker'; import moment from 'moment'; +import uuid from 'uuid'; import informationIcon from 'assets/svg/information.svg'; import difficultyTrivialIcon from 'assets/svg/difficulty-trivial.svg'; @@ -425,8 +421,19 @@ export default { }, methods: { ...mapActions({saveTask: 'tasks:save', destroyTask: 'tasks:destroy', createTask: 'tasks:create'}), + optionClass (activeCondition) { + if (activeCondition) { + return [`${this.cssClass}-color`, 'option-item-selected']; + } else { + return []; + } + }, addChecklistItem (e) { - this.task.checklist.push({text: this.newChecklistItem, completed: false}); + this.task.checklist.push({ + id: uuid.v4(), + text: this.newChecklistItem, + completed: false, + }); this.newChecklistItem = null; e.preventDefault(); }, diff --git a/website/client/components/tasks/user.vue b/website/client/components/tasks/user.vue index 888b2466b3..5c94787242 100644 --- a/website/client/components/tasks/user.vue +++ b/website/client/components/tasks/user.vue @@ -13,27 +13,41 @@ input.form-control.input-search(type="text", :placeholder="$t('search')", v-model="searchText") .filter-panel(v-if="isFilterPanelOpen") .tags-category.d-flex(v-for="tagsType in tagsByType", v-if="tagsType.tags.length > 0", :key="tagsType.key") - .tags-header(v-once) - strong {{ $t(tagsType.key) }} - a.d-block(v-if="tagsType.key === 'tags'", v-once) {{ $t('editTags2') }} + .tags-header + strong(v-once) {{ $t(tagsType.key) }} + a.d-block(v-if="tagsType.key === 'tags' && !editingTags", @click="editTags()") {{ $t('editTags2') }} .tags-list.container - .row.no-gutters - .col-6(v-for="tag in tagsType.tags",) - label.custom-control.custom-checkbox - input.custom-control-input( - type="checkbox", - :checked="isTagSelected(tag)", - @change="toggleTag(tag)", - ) - span.custom-control-indicator - span.custom-control-description {{ tag.name }} + .row(:class="{'no-gutters': !editingTags}") + template(v-if="editingTags && tagsType.key === 'tags'") + .col-6(v-for="(tag, tagIndex) in tagsSnap") + .inline-edit-input-group.tag-edit-item.input-group + input.tag-edit-input.inline-edit-input.form-control(type="text", :value="tag.name") + span.input-group-btn(@click="removeTag(tagIndex)") + .svg-icon.destroy-icon(v-html="icons.destroy") + .col-6 + input.new-tag-item.edit-tag-item.inline-edit-input.form-control(type="text", :placeholder="$t('newTag')", @keydown.enter="addTag($event)", v-model="newTag") + template(v-else) + .col-6(v-for="(tag, tagIndex) in tagsType.tags") + label.custom-control.custom-checkbox + input.custom-control-input( + type="checkbox", + :checked="isTagSelected(tag)", + @change="toggleTag(tag)", + ) + span.custom-control-indicator + span.custom-control-description {{ tag.name }} .filter-panel-footer.clearfix - .float-left - a.reset-filters(@click="resetFilters()", v-once) {{ $t('resetFilters') }} - .float-right - a.mr-3.apply-filters(@click="applyFilters()", v-once) {{ $t('applyFilters') }} - a.cancel-filters(@click="closeFilterPanel()", v-once) {{ $t('cancel') }} + template(v-if="editingTags === true") + .text-center + a.mr-3.btn-filters-primary(@click="saveTags()", v-once) {{ $t('saveEdits') }} + a.btn-filters-secondary(@click="cancelTagsEditing()", v-once) {{ $t('cancel') }} + template(v-else) + .float-left + a.btn-filters-danger(@click="resetFilters()", v-once) {{ $t('resetFilters') }} + .float-right + a.mr-3.btn-filters-primary(@click="applyFilters()", v-once) {{ $t('applyFilters') }} + a.btn-filters-secondary(@click="closeFilterPanel()", v-once) {{ $t('cancel') }} span.input-group-btn button.btn.btn-secondary.filter-button( type="button", @@ -43,13 +57,15 @@ .d-flex.align-items-center span(v-once) {{ $t('filter') }} .svg-icon.filter-icon(v-html="icons.filter") - .col-1.offset-3 - //button.btn.btn-success(v-once) - .svg-icon.positive(v-html="icons.positive") - | {{ $t('create') }} - b-dropdown(:text="$t('create')") + #create-dropdown.col-1.offset-3 + b-dropdown(:right="true", :variant="'success'") + div(slot="button-content") + .svg-icon.positive(v-html="icons.positive") + | {{ $t('create') }} b-dropdown-item(v-for="type in columns", :key="type", @click="createTask(type)") - | {{$t(type)}} + span.dropdown-icon-item(v-once) + span.svg-icon.inline(v-html="icons[type]") + span.text {{$t(type)}} .row.tasks-columns task-column.col-3( @@ -61,6 +77,12 @@ ) + +