Niedzielski has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/382702 )

Change subject: Chore: upgrade dependencies
......................................................................

Chore: upgrade dependencies

• TypeScript v2.5.2 → 2.5.3

  extract-text-webpack-plugin v3.0.0 → 3.0.1
  @types/extract-text-webpack-plugin v2.1.0 → 3.0.0

  style-loader v0.18.2 → 0.19.0
  • New option to disable hot module replacement (previously always on
    even in production). (Added.)
  • iframes support.
  • "Before" insertion support.

  webpack-dev-server v2.8.2 → 2.9.1
  Error overlay is now translucent.

  https://github.com/Microsoft/TypeScript/releases/tag/v2.5.3
  
https://github.com/webpack-contrib/extract-text-webpack-plugin/releases/tag/v3.0.1
  https://github.com/webpack-contrib/style-loader/releases/tag/v0.19.0
  https://github.com/webpack/webpack-dev-server/releases/tag/v2.9.0
  https://github.com/webpack/webpack-dev-server/releases/tag/v2.9.1

• Express v4.15.3 → 4.16.1
  New JSON escape option
  (https://expressjs.com/en/4x/api.html#app.settings.table).

  Compression v1.7.0 → 1.7.1
  @types/node v8.0.28 → 8.0.32

  https://github.com/expressjs/express/releases/tag/4.15.4
  https://github.com/expressjs/express/releases/tag/4.15.5
  https://github.com/expressjs/express/releases/tag/4.16.0
  https://github.com/expressjs/express/releases/tag/4.16.1
  https://github.com/expressjs/compression/releases/tag/1.7.1

• ESLint v4.7.0 → 4.8.0
  New --report-unused-disable-directives option replaces
  eslint-plugin-eslint-comment
  
(https://eslint.org/docs/user-guide/command-line-interface#--report-unused-disable-directives).
  (Added.)

  Prettier v1.7.0 → 1.7.4
  eslint-config-prettier v2.5.0 → 2.6.0

  eslint-plugin-prettier v2.1.2 → 2.3.1
  Support for .prettierrc configuration files. (It seems just as good to
  keep all our configuration in .eslintrc.)

  eslint-plugin-jsdoc v3.1.2 → 3.1.3

  https://github.com/eslint/eslint/releases/tag/v4.7.1
  https://github.com/eslint/eslint/releases/tag/v4.7.2
  https://github.com/eslint/eslint/releases/tag/v4.8.0
  https://github.com/prettier/prettier/releases/tag/1.7.1
  https://github.com/prettier/prettier/releases/tag/1.7.2
  https://github.com/prettier/prettier/releases/tag/1.7.3
  https://github.com/prettier/prettier/releases/tag/1.7.4
  
https://github.com/prettier/eslint-plugin-prettier/blob/62085cc/CHANGELOG.md#v220-2017-08-16
  
https://github.com/prettier/eslint-plugin-prettier/blob/62085cc/CHANGELOG.md#v230-2017-09-18
  
https://github.com/prettier/eslint-plugin-prettier/blob/62085cc/CHANGELOG.md#v231-2017-09-18
  https://github.com/gajus/eslint-plugin-jsdoc/releases/tag/v3.1.3

• Mocha v3.5.3 → 4.0.1
  • Drop Node.js v5.x.x and earlier support.
  • The --compilers option is deprecated for --require
    (https://github.com/mochajs/mocha/wiki/compilers-deprecation).
    (Updated.)
  • Mocha no longer forces the process to exit once all tests complete.
    Any code which would normally prevent node from exiting will do so
    when executed in Mocha.
  • Indent contexts for better readability when reporting failures

  Sinon v3.0.0 → 4.0.1

  https://github.com/mochajs/mocha/releases/tag/v4.0.0
  https://github.com/mochajs/mocha/releases/tag/v4.0.1
  https://github.com/sinonjs/sinon/releases/tag/v3.1.0
  https://github.com/sinonjs/sinon/releases/tag/v3.2.0
  https://github.com/sinonjs/sinon/releases/tag/v3.2.1
  https://github.com/sinonjs/sinon/releases/tag/v3.3.0
  https://github.com/sinonjs/sinon/releases/tag/v4.0.0
  https://github.com/sinonjs/sinon/releases/tag/v4.0.1

Change-Id: Iad4c7377b6546a4d7c68ded304a3d263d50919d4
---
M package-lock.json
M package.json
M test/mocha.opts
M webpack.config.ts
4 files changed, 639 insertions(+), 348 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/marvin refs/changes/02/382702/1

diff --git a/package-lock.json b/package-lock.json
index 3234cf5..8d26de0 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -38,13 +38,13 @@
       "integrity": 
"sha512-UpN389YLcQEIn1t4Kxc8TlCrg43r6o8IcF57LvmbCGNhWzz0dEg4AaUsN6IHrrSjPzPmmJ1FLYXGPP/expXOWg==",
       "dev": true,
       "requires": {
-        "@types/node": "8.0.28"
+        "@types/node": "8.0.32"
       }
     },
     "@types/extract-text-webpack-plugin": {
-      "version": "2.1.0",
-      "resolved": 
"https://registry.npmjs.org/@types/extract-text-webpack-plugin/-/extract-text-webpack-plugin-2.1.0.tgz";,
-      "integrity": "sha1-2w64WdG2HqXSoLda00tP8xehg3k=",
+      "version": "3.0.0",
+      "resolved": 
"https://registry.npmjs.org/@types/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.0.tgz";,
+      "integrity": 
"sha512-QUoYLBzHsWGzfKnThJlDrjrM/plUFlEl558ixQpnXpm0J7QiVxWveGelRcVJRZoabEsUhrziFeiuAl4tOS5Muw==",
       "dev": true,
       "requires": {
         "@types/webpack": "3.0.9"
@@ -69,9 +69,9 @@
       "dev": true
     },
     "@types/node": {
-      "version": "8.0.28",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-8.0.28.tgz";,
-      "integrity": 
"sha512-HupkFXEv3O3KSzcr3Ylfajg0kaerBg1DyaZzRBBQfrU3NN1mTBRE7sCveqHwXLS5Yrjvww8qFzkzYQQakG9FuQ==",
+      "version": "8.0.32",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-8.0.32.tgz";,
+      "integrity": 
"sha512-n1zzgeQehndikZc/8N4rGSZc99cO6Tb3OInKzvWYniJsT/jet3m57buaBFa5cMeVNFosN4PKZ2LM1y16CFD7Rg==",
       "dev": true
     },
     "@types/node-fetch": {
@@ -80,7 +80,7 @@
       "integrity": "sha1-UhB46PDGmhWOUCIAWsqS0mIPbVc=",
       "dev": true,
       "requires": {
-        "@types/node": "8.0.28"
+        "@types/node": "8.0.32"
       }
     },
     "@types/serve-static": {
@@ -111,7 +111,7 @@
       "integrity": 
"sha512-Bskfd5wztYbQ/mvU4rgHUB3fKcjW2hA6o/F0JN8O+jRPJQDN/2pPV6SmdIiFm2vLyyN/XQzoCULTE05ZOpnNbQ==",
       "dev": true,
       "requires": {
-        "@types/node": "8.0.28"
+        "@types/node": "8.0.32"
       }
     },
     "@types/uglify-js": {
@@ -129,7 +129,7 @@
       "integrity": 
"sha512-xXqusBBKbYb8fA1jtE3iO75uRW1ejqGuH93V+6fhbfNY59ndKjfhftJVxcSaYAMDjmFTRBHy82d+513JKuHD5g==",
       "dev": true,
       "requires": {
-        "@types/node": "8.0.28",
+        "@types/node": "8.0.32",
         "@types/tapable": "0.2.3",
         "@types/uglify-js": "2.6.29"
       }
@@ -141,11 +141,11 @@
       "dev": true
     },
     "accepts": {
-      "version": "1.3.3",
-      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz";,
-      "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=",
+      "version": "1.3.4",
+      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz";,
+      "integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=",
       "requires": {
-        "mime-types": "2.1.16",
+        "mime-types": "2.1.17",
         "negotiator": "0.6.1"
       }
     },
@@ -202,9 +202,9 @@
       }
     },
     "ajv-keywords": {
-      "version": "1.5.1",
-      "resolved": 
"https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz";,
-      "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=",
+      "version": "2.1.0",
+      "resolved": 
"https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.0.tgz";,
+      "integrity": "sha1-opbhf3v658HOT34N5T0pyzIWLfA=",
       "dev": true
     },
     "align-text": {
@@ -234,9 +234,9 @@
       }
     },
     "ansi-escapes": {
-      "version": "2.0.0",
-      "resolved": 
"https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-2.0.0.tgz";,
-      "integrity": "sha1-W65SvkJIeN2Xg+iRDj/Cki6DyBs=",
+      "version": "3.0.0",
+      "resolved": 
"https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz";,
+      "integrity": 
"sha512-O/klc27mWNUigtv0F8NJWbLF00OcegQalkqKURWdosW08YZKi4m6CnSUSvIZG1otNJbTWhN01Hhz389DW7mvDQ==",
       "dev": true
     },
     "ansi-html": {
@@ -306,6 +306,12 @@
       "version": "0.0.1",
       "resolved": 
"https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz";,
       "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=",
+      "dev": true
+    },
+    "array-find-index": {
+      "version": "1.0.2",
+      "resolved": 
"https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz";,
+      "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
       "dev": true
     },
     "array-flatten": {
@@ -470,6 +476,38 @@
       "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz";,
       "integrity": 
"sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
       "dev": true
+    },
+    "body-parser": {
+      "version": "1.18.2",
+      "resolved": 
"https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz";,
+      "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=",
+      "requires": {
+        "bytes": "3.0.0",
+        "content-type": "1.0.4",
+        "debug": "2.6.9",
+        "depd": "1.1.1",
+        "http-errors": "1.6.2",
+        "iconv-lite": "0.4.19",
+        "on-finished": "2.3.0",
+        "qs": "6.5.1",
+        "raw-body": "2.3.2",
+        "type-is": "1.6.15"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "2.6.9",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz";,
+          "integrity": 
"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+          "requires": {
+            "ms": "2.0.0"
+          }
+        },
+        "iconv-lite": {
+          "version": "0.4.19",
+          "resolved": 
"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz";,
+          "integrity": 
"sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ=="
+        }
+      }
     },
     "bonjour": {
       "version": "3.5.0",
@@ -708,9 +746,9 @@
       "dev": true
     },
     "bytes": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.5.0.tgz";,
-      "integrity": "sha1-TJQj6i0lLCcMQbK97+/5u2tiwGo="
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz";,
+      "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
     },
     "caller-path": {
       "version": "0.1.0",
@@ -732,6 +770,24 @@
       "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz";,
       "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
       "dev": true
+    },
+    "camelcase-keys": {
+      "version": "2.1.0",
+      "resolved": 
"https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz";,
+      "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
+      "dev": true,
+      "requires": {
+        "camelcase": "2.1.1",
+        "map-obj": "1.0.1"
+      },
+      "dependencies": {
+        "camelcase": {
+          "version": "2.1.1",
+          "resolved": 
"https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz";,
+          "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
+          "dev": true
+        }
+      }
     },
     "caniuse-api": {
       "version": "1.6.1",
@@ -853,9 +909,9 @@
       }
     },
     "cli-width": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.1.0.tgz";,
-      "integrity": "sha1-sjTKIJsp72b8UY2bmNWEewDt8Ao=",
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz";,
+      "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
       "dev": true
     },
     "cliui": {
@@ -957,18 +1013,15 @@
       "dev": true
     },
     "commander": {
-      "version": "2.9.0",
-      "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz";,
-      "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=",
-      "dev": true,
-      "requires": {
-        "graceful-readlink": "1.0.1"
-      }
+      "version": "2.11.0",
+      "resolved": 
"https://registry.npmjs.org/commander/-/commander-2.11.0.tgz";,
+      "integrity": 
"sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==",
+      "dev": true
     },
     "comment-parser": {
-      "version": "0.4.0",
-      "resolved": 
"https://registry.npmjs.org/comment-parser/-/comment-parser-0.4.0.tgz";,
-      "integrity": "sha1-snSjySS2suVXaPcSrNPjADy1X1c=",
+      "version": "0.4.2",
+      "resolved": 
"https://registry.npmjs.org/comment-parser/-/comment-parser-0.4.2.tgz";,
+      "integrity": "sha1-+lo/eAEwcBFIZtx7jpzzF6ljX3Q=",
       "dev": true,
       "requires": {
         "readable-stream": "2.3.3"
@@ -979,21 +1032,31 @@
       "resolved": 
"https://registry.npmjs.org/compressible/-/compressible-2.0.11.tgz";,
       "integrity": "sha1-FnGKdd4oPtjmBAQWJaIGRYZ5fYo=",
       "requires": {
-        "mime-db": "1.29.0"
+        "mime-db": "1.30.0"
       }
     },
     "compression": {
-      "version": "1.7.0",
-      "resolved": 
"https://registry.npmjs.org/compression/-/compression-1.7.0.tgz";,
-      "integrity": "sha1-AwyfGY8WQ6BX13anOOki2kNzAS0=",
+      "version": "1.7.1",
+      "resolved": 
"https://registry.npmjs.org/compression/-/compression-1.7.1.tgz";,
+      "integrity": "sha1-7/JgPvwuIs+G810uuTWJ+YdTc9s=",
       "requires": {
-        "accepts": "1.3.3",
-        "bytes": "2.5.0",
+        "accepts": "1.3.4",
+        "bytes": "3.0.0",
         "compressible": "2.0.11",
-        "debug": "2.6.8",
+        "debug": "2.6.9",
         "on-headers": "1.0.1",
         "safe-buffer": "5.1.1",
-        "vary": "1.1.1"
+        "vary": "1.1.2"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "2.6.9",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz";,
+          "integrity": 
"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+          "requires": {
+            "ms": "2.0.0"
+          }
+        }
       }
     },
     "concat-map": {
@@ -1255,6 +1318,15 @@
         "source-map": "0.5.6"
       }
     },
+    "currently-unhandled": {
+      "version": "0.4.1",
+      "resolved": 
"https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz";,
+      "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
+      "dev": true,
+      "requires": {
+        "array-find-index": "1.0.2"
+      }
+    },
     "d": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz";,
@@ -1274,6 +1346,7 @@
       "version": "2.6.8",
       "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz";,
       "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
+      "dev": true,
       "requires": {
         "ms": "2.0.0"
       }
@@ -1301,16 +1374,6 @@
       "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz";,
       "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
       "dev": true
-    },
-    "default-gateway": {
-      "version": "2.5.0",
-      "resolved": 
"https://registry.npmjs.org/default-gateway/-/default-gateway-2.5.0.tgz";,
-      "integrity": 
"sha512-Mb+xi1aktPE+Uz5RmS3vU6Kr1fDqRvlMX3M5eneBai7LkldzM+WPjaUpz396taZgOgSw4s+CJGvd6VJJ/9W0dQ==",
-      "dev": true,
-      "requires": {
-        "execa": "0.7.0",
-        "ip-regex": "2.1.0"
-      }
     },
     "define-properties": {
       "version": "1.1.2",
@@ -1340,7 +1403,7 @@
         "object-assign": "4.1.1",
         "pify": "2.3.0",
         "pinkie-promise": "2.0.1",
-        "rimraf": "2.6.1"
+        "rimraf": "2.6.2"
       }
     },
     "depd": {
@@ -1707,9 +1770,9 @@
       }
     },
     "eslint": {
-      "version": "4.7.0",
-      "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.7.0.tgz";,
-      "integrity": "sha1-01/AfEclIL496Fs9oR6ZxXav1RU=",
+      "version": "4.8.0",
+      "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.8.0.tgz";,
+      "integrity": "sha1-Ip7w41Tg5h2DfHqA/fuoJeGZgV4=",
       "dev": true,
       "requires": {
         "ajv": "5.2.2",
@@ -1717,7 +1780,7 @@
         "chalk": "2.1.0",
         "concat-stream": "1.6.0",
         "cross-spawn": "5.1.0",
-        "debug": "3.0.1",
+        "debug": "3.1.0",
         "doctrine": "2.0.0",
         "eslint-scope": "3.7.1",
         "espree": "3.5.1",
@@ -1728,9 +1791,9 @@
         "functional-red-black-tree": "1.0.1",
         "glob": "7.1.2",
         "globals": "9.18.0",
-        "ignore": "3.3.3",
+        "ignore": "3.3.5",
         "imurmurhash": "0.1.4",
-        "inquirer": "3.2.2",
+        "inquirer": "3.3.0",
         "is-resolvable": "1.0.0",
         "js-yaml": "3.10.0",
         "json-stable-stringify": "1.0.1",
@@ -1747,7 +1810,7 @@
         "semver": "5.4.1",
         "strip-ansi": "4.0.0",
         "strip-json-comments": "2.0.1",
-        "table": "4.0.1",
+        "table": "4.0.2",
         "text-table": "0.2.0"
       },
       "dependencies": {
@@ -1778,22 +1841,12 @@
           }
         },
         "debug": {
-          "version": "3.0.1",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.0.1.tgz";,
-          "integrity": 
"sha512-6nVc6S36qbt/mutyt+UGMnawAMrPDZUPQjRZI3FS9tCtDRhvxJbK79unYBLPi+z5SLXQ3ftoVBFCblQtNSls8w==",
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz";,
+          "integrity": 
"sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
           "dev": true,
           "requires": {
             "ms": "2.0.0"
-          }
-        },
-        "espree": {
-          "version": "3.5.1",
-          "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.1.tgz";,
-          "integrity": "sha1-DJiLirRttTEAoZVK5LqZXd0n2H4=",
-          "dev": true,
-          "requires": {
-            "acorn": "5.1.1",
-            "acorn-jsx": "3.0.1"
           }
         },
         "esprima": {
@@ -1817,12 +1870,6 @@
             "argparse": "1.0.9",
             "esprima": "4.0.0"
           }
-        },
-        "pluralize": {
-          "version": "7.0.0",
-          "resolved": 
"https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz";,
-          "integrity": 
"sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==",
-          "dev": true
         },
         "strip-ansi": {
           "version": "4.0.0",
@@ -1851,9 +1898,9 @@
       "dev": true
     },
     "eslint-config-prettier": {
-      "version": "2.5.0",
-      "resolved": 
"https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-2.5.0.tgz";,
-      "integrity": "sha1-nsuSlrrk4uWaPONhqWyfgl/me3U=",
+      "version": "2.6.0",
+      "resolved": 
"https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-2.6.0.tgz";,
+      "integrity": "sha1-8h2w67Q4rWePuYlGCXxLsZi+/Mw=",
       "dev": true,
       "requires": {
         "get-stdin": "5.0.1"
@@ -1916,12 +1963,12 @@
       }
     },
     "eslint-plugin-jsdoc": {
-      "version": "3.1.2",
-      "resolved": 
"https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-3.1.2.tgz";,
-      "integrity": 
"sha512-8TBOoXWzT192M/oL/PfELmpFUxOt31Tb8Y5BrWknKFwPDSq9IhJvKB72chiEZrkIec8PUrEH/jmIK8ZLtANqPQ==",
+      "version": "3.1.3",
+      "resolved": 
"https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-3.1.3.tgz";,
+      "integrity": 
"sha512-ujXBhNQz57tLP0bs99QTDPiCX54EypczVhgg9CMJVD9iwfDeFZk5LkQHk+iPfKlV5tk8+dMm+Soxq8QmQK99ZA==",
       "dev": true,
       "requires": {
-        "comment-parser": "0.4.0",
+        "comment-parser": "0.4.2",
         "lodash": "4.17.4"
       }
     },
@@ -1935,13 +1982,13 @@
       }
     },
     "eslint-plugin-prettier": {
-      "version": "2.1.2",
-      "resolved": 
"https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-2.1.2.tgz";,
-      "integrity": "sha1-S5D07n+Sv74ukmAX4cpA62KJZeo=",
+      "version": "2.3.1",
+      "resolved": 
"https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-2.3.1.tgz";,
+      "integrity": 
"sha512-AV8shBlGN9tRZffj5v/f4uiQWlP3qiQ+lh+BhTqRLuKSyczx+HRWVkVZaf7dOmguxghAH1wftnou/JUEEChhGg==",
       "dev": true,
       "requires": {
         "fast-diff": "1.1.2",
-        "jest-docblock": "20.0.3"
+        "jest-docblock": "21.2.0"
       }
     },
     "eslint-scope": {
@@ -1952,6 +1999,16 @@
       "requires": {
         "esrecurse": "4.2.0",
         "estraverse": "4.2.0"
+      }
+    },
+    "espree": {
+      "version": "3.5.1",
+      "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.1.tgz";,
+      "integrity": "sha1-DJiLirRttTEAoZVK5LqZXd0n2H4=",
+      "dev": true,
+      "requires": {
+        "acorn": "5.1.1",
+        "acorn-jsx": "3.0.1"
       }
     },
     "esprima": {
@@ -2092,44 +2149,46 @@
       }
     },
     "express": {
-      "version": "4.15.3",
-      "resolved": "https://registry.npmjs.org/express/-/express-4.15.3.tgz";,
-      "integrity": "sha1-urZdDwOqgMNYQIly/HAPkWlEtmI=",
+      "version": "4.16.1",
+      "resolved": "https://registry.npmjs.org/express/-/express-4.16.1.tgz";,
+      "integrity": 
"sha512-STB7LZ4N0L+81FJHGla2oboUHTk4PaN1RsOkoRh9OSeEKylvF5hwKYVX1xCLFaCT7MD0BNG/gX2WFMLqY6EMBw==",
       "requires": {
-        "accepts": "1.3.3",
+        "accepts": "1.3.4",
         "array-flatten": "1.1.1",
+        "body-parser": "1.18.2",
         "content-disposition": "0.5.2",
         "content-type": "1.0.4",
         "cookie": "0.3.1",
         "cookie-signature": "1.0.6",
-        "debug": "2.6.7",
+        "debug": "2.6.9",
         "depd": "1.1.1",
         "encodeurl": "1.0.1",
         "escape-html": "1.0.3",
         "etag": "1.8.1",
-        "finalhandler": "1.0.6",
-        "fresh": "0.5.0",
+        "finalhandler": "1.1.0",
+        "fresh": "0.5.2",
         "merge-descriptors": "1.0.1",
         "methods": "1.1.2",
         "on-finished": "2.3.0",
-        "parseurl": "1.3.1",
+        "parseurl": "1.3.2",
         "path-to-regexp": "0.1.7",
-        "proxy-addr": "1.1.5",
-        "qs": "6.4.0",
+        "proxy-addr": "2.0.2",
+        "qs": "6.5.1",
         "range-parser": "1.2.0",
-        "send": "0.15.3",
-        "serve-static": "1.12.3",
-        "setprototypeof": "1.0.3",
+        "safe-buffer": "5.1.1",
+        "send": "0.16.1",
+        "serve-static": "1.13.1",
+        "setprototypeof": "1.1.0",
         "statuses": "1.3.1",
         "type-is": "1.6.15",
-        "utils-merge": "1.0.0",
-        "vary": "1.1.1"
+        "utils-merge": "1.0.1",
+        "vary": "1.1.2"
       },
       "dependencies": {
         "debug": {
-          "version": "2.6.7",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz";,
-          "integrity": "sha1-krrR9tBbu2u6Isyoi80OyJTChh4=",
+          "version": "2.6.9",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz";,
+          "integrity": 
"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
           "requires": {
             "ms": "2.0.0"
           }
@@ -2142,14 +2201,14 @@
       }
     },
     "external-editor": {
-      "version": "2.0.4",
-      "resolved": 
"https://registry.npmjs.org/external-editor/-/external-editor-2.0.4.tgz";,
-      "integrity": "sha1-HtkZnanL/i7y96MbL96LDRI2iXI=",
+      "version": "2.0.5",
+      "resolved": 
"https://registry.npmjs.org/external-editor/-/external-editor-2.0.5.tgz";,
+      "integrity": 
"sha512-Msjo64WT5W+NhOpQXh0nOHm+n0RfU1QUwDnKYvJ8dEJ8zlwLrqXNTv5mSUTJpepf41PDJGyhueTw2vNZW+Fr/w==",
       "dev": true,
       "requires": {
         "iconv-lite": "0.4.18",
         "jschardet": "1.5.1",
-        "tmp": "0.0.31"
+        "tmp": "0.0.33"
       }
     },
     "extglob": {
@@ -2162,9 +2221,9 @@
       }
     },
     "extract-text-webpack-plugin": {
-      "version": "3.0.0",
-      "resolved": 
"https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.0.tgz";,
-      "integrity": "sha1-kMqnkHvESfM1AF46x1MrQbAN5hI=",
+      "version": "3.0.1",
+      "resolved": 
"https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.1.tgz";,
+      "integrity": 
"sha512-zv0/Cg2mU8uMzeQQ3oyfJvZU4Iv/GbQYUIr/HU+8pZetT/0W3xj6XAbxoG4gsp8SbnYcFd4BOsCAZPl9NvplPw==",
       "dev": true,
       "requires": {
         "async": "2.5.0",
@@ -2221,7 +2280,7 @@
       "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=",
       "dev": true,
       "requires": {
-        "flat-cache": "1.2.2",
+        "flat-cache": "1.3.0",
         "object-assign": "4.1.1"
       }
     },
@@ -2245,9 +2304,9 @@
       }
     },
     "finalhandler": {
-      "version": "1.0.6",
-      "resolved": 
"https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.6.tgz";,
-      "integrity": "sha1-AHrqM9Gk0+QgF/YkhIrVjSEvgU8=",
+      "version": "1.1.0",
+      "resolved": 
"https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz";,
+      "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=",
       "requires": {
         "debug": "2.6.9",
         "encodeurl": "1.0.1",
@@ -2265,11 +2324,6 @@
           "requires": {
             "ms": "2.0.0"
           }
-        },
-        "parseurl": {
-          "version": "1.3.2",
-          "resolved": 
"https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz";,
-          "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M="
         }
       }
     },
@@ -2283,9 +2337,9 @@
       }
     },
     "flat-cache": {
-      "version": "1.2.2",
-      "resolved": 
"https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz";,
-      "integrity": "sha1-+oZxTnLCHbiGAXYezy9VXRq8a5Y=",
+      "version": "1.3.0",
+      "resolved": 
"https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz";,
+      "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=",
       "dev": true,
       "requires": {
         "circular-json": "0.3.3",
@@ -2327,7 +2381,7 @@
       "integrity": "sha1-87IWfZBoxGmKjVH092CjmlTYGOs=",
       "dev": true,
       "requires": {
-        "samsam": "1.2.1"
+        "samsam": "1.3.0"
       }
     },
     "forwarded": {
@@ -2336,9 +2390,9 @@
       "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
     },
     "fresh": {
-      "version": "0.5.0",
-      "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.0.tgz";,
-      "integrity": "sha1-9HTKXmqSRtb9jglTz6m5yAWvp44="
+      "version": "0.5.2",
+      "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz";,
+      "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
     },
     "from": {
       "version": "0.1.7",
@@ -2441,16 +2495,10 @@
       "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
       "dev": true
     },
-    "graceful-readlink": {
-      "version": "1.0.1",
-      "resolved": 
"https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz";,
-      "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
-      "dev": true
-    },
     "growl": {
-      "version": "1.9.2",
-      "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz";,
-      "integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=",
+      "version": "1.10.3",
+      "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.3.tgz";,
+      "integrity": 
"sha512-hKlsbA5Vu3xsh1Cg3J7jSmX/WaW6A5oBeqzM88oNbCRQFz+zUaXm6yxS4RVytp1scBoJzSYl4YAEOQIt6O8V1Q==",
       "dev": true
     },
     "handle-thing": {
@@ -2616,12 +2664,19 @@
         "inherits": "2.0.3",
         "setprototypeof": "1.0.3",
         "statuses": "1.3.1"
+      },
+      "dependencies": {
+        "setprototypeof": {
+          "version": "1.0.3",
+          "resolved": 
"https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz";,
+          "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ="
+        }
       }
     },
     "http-parser-js": {
-      "version": "0.4.6",
-      "resolved": 
"https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.6.tgz";,
-      "integrity": "sha1-GVJz9YcExFLWcQdr4gEyndNB3FU=",
+      "version": "0.4.9",
+      "resolved": 
"https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.9.tgz";,
+      "integrity": "sha1-6hoE+2St/wJC6ZdPKX3Uw8rSceE=",
       "dev": true
     },
     "http-proxy": {
@@ -2761,9 +2816,9 @@
       "dev": true
     },
     "ignore": {
-      "version": "3.3.3",
-      "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.3.tgz";,
-      "integrity": "sha1-QyNS5XrM2HqzEQ6C0/6g5HgSFW0=",
+      "version": "3.3.5",
+      "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.5.tgz";,
+      "integrity": 
"sha512-JLH93mL8amZQhh/p6mfQgVBH3M6epNq3DfsXsTSuSrInVjwyYlFE1nv2AgfRCC8PoOhM0jwQ5v8s9LgbK7yGDw==",
       "dev": true
     },
     "ignore-by-default": {
@@ -2789,6 +2844,15 @@
       "resolved": 
"https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz";,
       "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
       "dev": true
+    },
+    "indent-string": {
+      "version": "2.1.0",
+      "resolved": 
"https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz";,
+      "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
+      "dev": true,
+      "requires": {
+        "repeating": "2.0.1"
+      }
     },
     "indexes-of": {
       "version": "1.0.1",
@@ -2824,16 +2888,16 @@
       "dev": true
     },
     "inquirer": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.2.2.tgz";,
-      "integrity": 
"sha512-bTKLzEHJVATimZO/YFdLrom0lRx1BHfRYskFHfIMVkGdp8+dIZaxuU+4yrsS1lcu6YWywVQVVsfvdwESzbeqHw==",
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz";,
+      "integrity": 
"sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==",
       "dev": true,
       "requires": {
-        "ansi-escapes": "2.0.0",
+        "ansi-escapes": "3.0.0",
         "chalk": "2.1.0",
         "cli-cursor": "2.1.0",
-        "cli-width": "2.1.0",
-        "external-editor": "2.0.4",
+        "cli-width": "2.2.0",
+        "external-editor": "2.0.5",
         "figures": "2.0.0",
         "lodash": "4.17.4",
         "mute-stream": "0.0.7",
@@ -2868,7 +2932,7 @@
           "requires": {
             "ansi-styles": "3.2.0",
             "escape-string-regexp": "1.0.5",
-            "supports-color": "4.2.1"
+            "supports-color": "4.4.0"
           }
         },
         "has-flag": {
@@ -2887,9 +2951,9 @@
           }
         },
         "supports-color": {
-          "version": "4.2.1",
-          "resolved": 
"https://registry.npmjs.org/supports-color/-/supports-color-4.2.1.tgz";,
-          "integrity": 
"sha512-qxzYsob3yv6U+xMzPrv170y8AwGP7i74g+pbixCfD6rgso8BscLT2qXIuz6TpOaiJZ3mFgT5O9lyT9nMU4LfaA==",
+          "version": "4.4.0",
+          "resolved": 
"https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz";,
+          "integrity": 
"sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==",
           "dev": true,
           "requires": {
             "has-flag": "2.0.0"
@@ -2898,21 +2962,12 @@
       }
     },
     "internal-ip": {
-      "version": "2.0.3",
-      "resolved": 
"https://registry.npmjs.org/internal-ip/-/internal-ip-2.0.3.tgz";,
-      "integrity": 
"sha512-XxJMiJOjXbb9LlwH6SVTsnUPymYACunXzKg3dqU+HIC+xYIkUhMyTiT/H6xxPmhlE4zHq50lKlx0CZlyN2C76Q==",
+      "version": "1.2.0",
+      "resolved": 
"https://registry.npmjs.org/internal-ip/-/internal-ip-1.2.0.tgz";,
+      "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=",
       "dev": true,
       "requires": {
-        "default-gateway": "2.5.0",
-        "ipaddr.js": "1.5.2"
-      },
-      "dependencies": {
-        "ipaddr.js": {
-          "version": "1.5.2",
-          "resolved": 
"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.2.tgz";,
-          "integrity": "sha1-1LUFvemUaYfM8PxY2QEP+WB+P6A=",
-          "dev": true
-        }
+        "meow": "3.7.0"
       }
     },
     "interpret": {
@@ -2942,16 +2997,10 @@
       "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
       "dev": true
     },
-    "ip-regex": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz";,
-      "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=",
-      "dev": true
-    },
     "ipaddr.js": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.4.0.tgz";,
-      "integrity": "sha1-KWrKh4qCGBbluF0KKFqZvP9FgvA="
+      "version": "1.5.2",
+      "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.2.tgz";,
+      "integrity": "sha1-1LUFvemUaYfM8PxY2QEP+WB+P6A="
     },
     "is-absolute-url": {
       "version": "2.1.0",
@@ -3036,6 +3085,15 @@
       "resolved": 
"https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz";,
       "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
       "dev": true
+    },
+    "is-finite": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz";,
+      "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
+      "dev": true,
+      "requires": {
+        "number-is-nan": "1.0.1"
+      }
     },
     "is-fullwidth-code-point": {
       "version": "2.0.0",
@@ -3214,9 +3272,9 @@
       }
     },
     "jest-docblock": {
-      "version": "20.0.3",
-      "resolved": 
"https://registry.npmjs.org/jest-docblock/-/jest-docblock-20.0.3.tgz";,
-      "integrity": "sha1-F76phDQswz2DxQ++FUXqDvqkRxI=",
+      "version": "21.2.0",
+      "resolved": 
"https://registry.npmjs.org/jest-docblock/-/jest-docblock-21.2.0.tgz";,
+      "integrity": 
"sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw==",
       "dev": true
     },
     "js-base64": {
@@ -3435,12 +3493,6 @@
       "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=",
       "dev": true
     },
-    "lodash._basecreate": {
-      "version": "3.0.3",
-      "resolved": 
"https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz";,
-      "integrity": "sha1-G8ZhYU2qf8MRt9A78WgGoCE8+CE=",
-      "dev": true
-    },
     "lodash._basefor": {
       "version": "3.0.3",
       "resolved": 
"https://registry.npmjs.org/lodash._basefor/-/lodash._basefor-3.0.3.tgz";,
@@ -3499,17 +3551,6 @@
       "integrity": "sha1-9HGh2khr5g9quVXRcRVSPdHSVdU=",
       "dev": true
     },
-    "lodash.create": {
-      "version": "3.1.1",
-      "resolved": 
"https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz";,
-      "integrity": "sha1-1/KEnw29p+BGgruM1yqwIkYd6+c=",
-      "dev": true,
-      "requires": {
-        "lodash._baseassign": "3.2.0",
-        "lodash._basecreate": "3.0.3",
-        "lodash._isiterateecall": "3.0.9"
-      }
-    },
     "lodash.defaults": {
       "version": "3.1.2",
       "resolved": 
"https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-3.1.2.tgz";,
@@ -3519,6 +3560,12 @@
         "lodash.assign": "3.2.0",
         "lodash.restparam": "3.6.1"
       }
+    },
+    "lodash.get": {
+      "version": "4.4.2",
+      "resolved": 
"https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz";,
+      "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=",
+      "dev": true
     },
     "lodash.isarguments": {
       "version": "3.1.0",
@@ -3630,9 +3677,9 @@
       "dev": true
     },
     "lolex": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/lolex/-/lolex-2.1.2.tgz";,
-      "integrity": "sha1-JpS5U8nqTQE+W4v7qJHJkQJbJik=",
+      "version": "2.1.3",
+      "resolved": "https://registry.npmjs.org/lolex/-/lolex-2.1.3.tgz";,
+      "integrity": 
"sha512-BdHq78SeI+6PAUtl4atDuCt7L6E4fab3mSRtqxm4ywaXe4uP7jZ0TTcFNuU20syUjxZc2l7jFqKVMJ+AX0LnpQ==",
       "dev": true
     },
     "longest": {
@@ -3648,6 +3695,16 @@
       "dev": true,
       "requires": {
         "js-tokens": "3.0.2"
+      }
+    },
+    "loud-rejection": {
+      "version": "1.6.0",
+      "resolved": 
"https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz";,
+      "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
+      "dev": true,
+      "requires": {
+        "currently-unhandled": "0.4.1",
+        "signal-exit": "3.0.2"
       }
     },
     "lowercase-keys": {
@@ -3691,6 +3748,12 @@
       "version": "1.3.0",
       "resolved": 
"https://registry.npmjs.org/make-error/-/make-error-1.3.0.tgz";,
       "integrity": "sha1-Uq06M5zPEM5itAQLcI/nByRLi5Y=",
+      "dev": true
+    },
+    "map-obj": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz";,
+      "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
       "dev": true
     },
     "map-stream": {
@@ -3786,6 +3849,105 @@
         }
       }
     },
+    "meow": {
+      "version": "3.7.0",
+      "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz";,
+      "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
+      "dev": true,
+      "requires": {
+        "camelcase-keys": "2.1.0",
+        "decamelize": "1.2.0",
+        "loud-rejection": "1.6.0",
+        "map-obj": "1.0.1",
+        "minimist": "1.2.0",
+        "normalize-package-data": "2.4.0",
+        "object-assign": "4.1.1",
+        "read-pkg-up": "1.0.1",
+        "redent": "1.0.0",
+        "trim-newlines": "1.0.0"
+      },
+      "dependencies": {
+        "find-up": {
+          "version": "1.1.2",
+          "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz";,
+          "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+          "dev": true,
+          "requires": {
+            "path-exists": "2.1.0",
+            "pinkie-promise": "2.0.1"
+          }
+        },
+        "load-json-file": {
+          "version": "1.1.0",
+          "resolved": 
"https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz";,
+          "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "4.1.11",
+            "parse-json": "2.2.0",
+            "pify": "2.3.0",
+            "pinkie-promise": "2.0.1",
+            "strip-bom": "2.0.0"
+          }
+        },
+        "minimist": {
+          "version": "1.2.0",
+          "resolved": 
"https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz";,
+          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+          "dev": true
+        },
+        "path-exists": {
+          "version": "2.1.0",
+          "resolved": 
"https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz";,
+          "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+          "dev": true,
+          "requires": {
+            "pinkie-promise": "2.0.1"
+          }
+        },
+        "path-type": {
+          "version": "1.1.0",
+          "resolved": 
"https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz";,
+          "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "4.1.11",
+            "pify": "2.3.0",
+            "pinkie-promise": "2.0.1"
+          }
+        },
+        "read-pkg": {
+          "version": "1.1.0",
+          "resolved": 
"https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz";,
+          "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+          "dev": true,
+          "requires": {
+            "load-json-file": "1.1.0",
+            "normalize-package-data": "2.4.0",
+            "path-type": "1.1.0"
+          }
+        },
+        "read-pkg-up": {
+          "version": "1.0.1",
+          "resolved": 
"https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz";,
+          "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+          "dev": true,
+          "requires": {
+            "find-up": "1.1.2",
+            "read-pkg": "1.1.0"
+          }
+        },
+        "strip-bom": {
+          "version": "2.0.0",
+          "resolved": 
"https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz";,
+          "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+          "dev": true,
+          "requires": {
+            "is-utf8": "0.2.1"
+          }
+        }
+      }
+    },
     "merge-descriptors": {
       "version": "1.0.1",
       "resolved": 
"https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz";,
@@ -3839,21 +4001,21 @@
       }
     },
     "mime": {
-      "version": "1.3.4",
-      "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz";,
-      "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM="
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz";,
+      "integrity": 
"sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ=="
     },
     "mime-db": {
-      "version": "1.29.0",
-      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.29.0.tgz";,
-      "integrity": "sha1-SNJtI1WJZRcErFkWygYAGRQmaHg="
+      "version": "1.30.0",
+      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz";,
+      "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE="
     },
     "mime-types": {
-      "version": "2.1.16",
-      "resolved": 
"https://registry.npmjs.org/mime-types/-/mime-types-2.1.16.tgz";,
-      "integrity": "sha1-K4WKUuXs1RbbiXrCvodIeDBpjiM=",
+      "version": "2.1.17",
+      "resolved": 
"https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz";,
+      "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=",
       "requires": {
-        "mime-db": "1.29.0"
+        "mime-db": "1.30.0"
       }
     },
     "mimic-fn": {
@@ -3899,46 +4061,51 @@
       }
     },
     "mocha": {
-      "version": "3.5.3",
-      "resolved": "https://registry.npmjs.org/mocha/-/mocha-3.5.3.tgz";,
-      "integrity": 
"sha512-/6na001MJWEtYxHOV1WLfsmR4YIynkUEhBwzsb+fk2qmQ3iqsi258l/Q2MWHJMImAcNpZ8DEdYAK72NHoIQ9Eg==",
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/mocha/-/mocha-4.0.1.tgz";,
+      "integrity": 
"sha512-evDmhkoA+cBNiQQQdSKZa2b9+W2mpLoj50367lhy+Klnx9OV8XlCIhigUnn1gaTFLQCa0kdNhEGDr0hCXOQFDw==",
       "dev": true,
       "requires": {
         "browser-stdout": "1.3.0",
-        "commander": "2.9.0",
-        "debug": "2.6.8",
-        "diff": "3.2.0",
+        "commander": "2.11.0",
+        "debug": "3.1.0",
+        "diff": "3.3.1",
         "escape-string-regexp": "1.0.5",
-        "glob": "7.1.1",
-        "growl": "1.9.2",
+        "glob": "7.1.2",
+        "growl": "1.10.3",
         "he": "1.1.1",
-        "json3": "3.3.2",
-        "lodash.create": "3.1.1",
         "mkdirp": "0.5.1",
-        "supports-color": "3.1.2"
+        "supports-color": "4.4.0"
       },
       "dependencies": {
-        "glob": {
-          "version": "7.1.1",
-          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz";,
-          "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=",
+        "debug": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz";,
+          "integrity": 
"sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
           "dev": true,
           "requires": {
-            "fs.realpath": "1.0.0",
-            "inflight": "1.0.6",
-            "inherits": "2.0.3",
-            "minimatch": "3.0.4",
-            "once": "1.4.0",
-            "path-is-absolute": "1.0.1"
+            "ms": "2.0.0"
           }
         },
+        "diff": {
+          "version": "3.3.1",
+          "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.1.tgz";,
+          "integrity": 
"sha512-MKPHZDMB0o6yHyDryUOScqZibp914ksXwAMYMTHj6KO8UeKsRYNJD3oNCKjTqZon+V488P7N/HzXF8t7ZR95ww==",
+          "dev": true
+        },
+        "has-flag": {
+          "version": "2.0.0",
+          "resolved": 
"https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz";,
+          "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+          "dev": true
+        },
         "supports-color": {
-          "version": "3.1.2",
-          "resolved": 
"https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz";,
-          "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=",
+          "version": "4.4.0",
+          "resolved": 
"https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz";,
+          "integrity": 
"sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==",
           "dev": true,
           "requires": {
-            "has-flag": "1.0.0"
+            "has-flag": "2.0.0"
           }
         }
       }
@@ -3988,9 +4155,9 @@
       "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk="
     },
     "nise": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/nise/-/nise-1.1.0.tgz";,
-      "integrity": 
"sha512-lIFidCxB0mJGyq1i33tLRNojtMoYX95EAI7WQEU+/ees0w6hvXZQHZ7WD130Tjeh5+YJAUVLfQ3k/s9EA8jj+w==",
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/nise/-/nise-1.1.1.tgz";,
+      "integrity": 
"sha512-f5DMJB0MqBaSuP2NAwPx7HyVKPdaozds0KsNe9XIP3npKWt/QUg73l5TTLRTSwfG/Y3AB0ktacuxX4QNcg6vVw==",
       "dev": true,
       "requires": {
         "formatio": "1.2.0",
@@ -4540,9 +4707,9 @@
       }
     },
     "parseurl": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz";,
-      "integrity": "sha1-yKuMkiO6NIiKpkopeyiFO+wY2lY="
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz";,
+      "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M="
     },
     "path-browserify": {
       "version": "0.0.0",
@@ -4666,6 +4833,12 @@
           }
         }
       }
+    },
+    "pluralize": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz";,
+      "integrity": 
"sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==",
+      "dev": true
     },
     "portfinder": {
       "version": "1.0.13",
@@ -5280,9 +5453,9 @@
       "dev": true
     },
     "prettier": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.7.0.tgz";,
-      "integrity": 
"sha512-kIbA3UE9sYGiVCxlWg92EOHWZqte6EAkC7DS5je6NaL8g3Uw1rWe0eH+UX4Hy5OEiR9aql2vVMHeg6lR4YGxYg==",
+      "version": "1.7.4",
+      "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.7.4.tgz";,
+      "integrity": "sha1-XoYkrpNjyA+V7GRFhOzfVddPk/o=",
       "dev": true
     },
     "pretty-format": {
@@ -5309,12 +5482,12 @@
       "dev": true
     },
     "proxy-addr": {
-      "version": "1.1.5",
-      "resolved": 
"https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.1.5.tgz";,
-      "integrity": "sha1-ccDuOxAt4/IC87ZPYI0XP8uhqRg=",
+      "version": "2.0.2",
+      "resolved": 
"https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.2.tgz";,
+      "integrity": "sha1-ZXFQT0e7mI7IGAJT+F3X4UlSvew=",
       "requires": {
         "forwarded": "0.1.2",
-        "ipaddr.js": "1.4.0"
+        "ipaddr.js": "1.5.2"
       }
     },
     "prr": {
@@ -5364,9 +5537,9 @@
       "dev": true
     },
     "qs": {
-      "version": "6.4.0",
-      "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz";,
-      "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM="
+      "version": "6.5.1",
+      "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz";,
+      "integrity": 
"sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A=="
     },
     "query-string": {
       "version": "4.3.4",
@@ -5451,6 +5624,24 @@
       "resolved": 
"https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz";,
       "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4="
     },
+    "raw-body": {
+      "version": "2.3.2",
+      "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz";,
+      "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=",
+      "requires": {
+        "bytes": "3.0.0",
+        "http-errors": "1.6.2",
+        "iconv-lite": "0.4.19",
+        "unpipe": "1.0.0"
+      },
+      "dependencies": {
+        "iconv-lite": {
+          "version": "0.4.19",
+          "resolved": 
"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz";,
+          "integrity": 
"sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ=="
+        }
+      }
+    },
     "rc": {
       "version": "1.2.1",
       "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz";,
@@ -5517,6 +5708,33 @@
         "minimatch": "3.0.4",
         "readable-stream": "2.3.3",
         "set-immediate-shim": "1.0.1"
+      }
+    },
+    "redent": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz";,
+      "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
+      "dev": true,
+      "requires": {
+        "indent-string": "2.1.0",
+        "strip-indent": "1.0.1"
+      },
+      "dependencies": {
+        "get-stdin": {
+          "version": "4.0.1",
+          "resolved": 
"https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz";,
+          "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
+          "dev": true
+        },
+        "strip-indent": {
+          "version": "1.0.1",
+          "resolved": 
"https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz";,
+          "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
+          "dev": true,
+          "requires": {
+            "get-stdin": "4.0.1"
+          }
+        }
       }
     },
     "reduce-css-calc": {
@@ -5618,6 +5836,15 @@
       "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
       "dev": true
     },
+    "repeating": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz";,
+      "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+      "dev": true,
+      "requires": {
+        "is-finite": "1.0.2"
+      }
+    },
     "require-directory": {
       "version": "2.1.1",
       "resolved": 
"https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz";,
@@ -5687,9 +5914,9 @@
       }
     },
     "rimraf": {
-      "version": "2.6.1",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz";,
-      "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=",
+      "version": "2.6.2",
+      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz";,
+      "integrity": 
"sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
       "dev": true,
       "requires": {
         "glob": "7.1.2"
@@ -5735,9 +5962,9 @@
       "integrity": 
"sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="
     },
     "samsam": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.2.1.tgz";,
-      "integrity": "sha1-7dOQk6MYQ3DLhZJDsr3yVefY6mc=",
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.3.0.tgz";,
+      "integrity": 
"sha512-1HwIYD/8UlOtFS3QO3w7ey+SdSDFE4HRNLZoZRYVQefrOY3l17epswImeB1ijgJFQJodIaHcwkp3r/myBjFVbg==",
       "dev": true
     },
     "sax": {
@@ -5786,19 +6013,19 @@
       }
     },
     "send": {
-      "version": "0.15.3",
-      "resolved": "https://registry.npmjs.org/send/-/send-0.15.3.tgz";,
-      "integrity": "sha1-UBP5+ZAj31DRvZiSwZ4979HVMwk=",
+      "version": "0.16.1",
+      "resolved": "https://registry.npmjs.org/send/-/send-0.16.1.tgz";,
+      "integrity": 
"sha512-ElCLJdJIKPk6ux/Hocwhk7NFHpI3pVm/IZOYWqUmoxcgeyM+MpxHHKhb8QmlJDX1pU6WrgaHBkVNm73Sv7uc2A==",
       "requires": {
-        "debug": "2.6.7",
+        "debug": "2.6.9",
         "depd": "1.1.1",
         "destroy": "1.0.4",
         "encodeurl": "1.0.1",
         "escape-html": "1.0.3",
         "etag": "1.8.1",
-        "fresh": "0.5.0",
+        "fresh": "0.5.2",
         "http-errors": "1.6.2",
-        "mime": "1.3.4",
+        "mime": "1.4.1",
         "ms": "2.0.0",
         "on-finished": "2.3.0",
         "range-parser": "1.2.0",
@@ -5806,9 +6033,9 @@
       },
       "dependencies": {
         "debug": {
-          "version": "2.6.7",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz";,
-          "integrity": "sha1-krrR9tBbu2u6Isyoi80OyJTChh4=",
+          "version": "2.6.9",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz";,
+          "integrity": 
"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
           "requires": {
             "ms": "2.0.0"
           }
@@ -5816,29 +6043,40 @@
       }
     },
     "serve-index": {
-      "version": "1.9.0",
-      "resolved": 
"https://registry.npmjs.org/serve-index/-/serve-index-1.9.0.tgz";,
-      "integrity": "sha1-0rKA/FYNYW7oG0i/D6gqvtJIXOc=",
+      "version": "1.9.1",
+      "resolved": 
"https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz";,
+      "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=",
       "dev": true,
       "requires": {
-        "accepts": "1.3.3",
+        "accepts": "1.3.4",
         "batch": "0.6.1",
-        "debug": "2.6.8",
+        "debug": "2.6.9",
         "escape-html": "1.0.3",
         "http-errors": "1.6.2",
-        "mime-types": "2.1.16",
-        "parseurl": "1.3.1"
+        "mime-types": "2.1.17",
+        "parseurl": "1.3.2"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "2.6.9",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz";,
+          "integrity": 
"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+          "dev": true,
+          "requires": {
+            "ms": "2.0.0"
+          }
+        }
       }
     },
     "serve-static": {
-      "version": "1.12.3",
-      "resolved": 
"https://registry.npmjs.org/serve-static/-/serve-static-1.12.3.tgz";,
-      "integrity": "sha1-n0uhni8wMMVH+K+ZEHg47DjVseI=",
+      "version": "1.13.1",
+      "resolved": 
"https://registry.npmjs.org/serve-static/-/serve-static-1.13.1.tgz";,
+      "integrity": 
"sha512-hSMUZrsPa/I09VYFJwa627JJkNs0NrfL1Uzuup+GqHfToR2KcsXFymXSV90hoyw3M+msjFuQly+YzIH/q0MGlQ==",
       "requires": {
         "encodeurl": "1.0.1",
         "escape-html": "1.0.3",
-        "parseurl": "1.3.1",
-        "send": "0.15.3"
+        "parseurl": "1.3.2",
+        "send": "0.16.1"
       }
     },
     "set-blocking": {
@@ -5860,9 +6098,9 @@
       "dev": true
     },
     "setprototypeof": {
-      "version": "1.0.3",
-      "resolved": 
"https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz";,
-      "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ="
+      "version": "1.1.0",
+      "resolved": 
"https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz";,
+      "integrity": 
"sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ=="
     },
     "sha.js": {
       "version": "2.4.8",
@@ -5919,18 +6157,19 @@
       "dev": true
     },
     "sinon": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/sinon/-/sinon-3.0.0.tgz";,
-      "integrity": 
"sha512-oGoqOflgmoKm+lHkGsUw5IjxOu3Nat0WfoJpWFj8sklC1KDCGamkg/nDJGJAv9hXLY5KiflDoY/7ewgfsbNLTA==",
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/sinon/-/sinon-4.0.1.tgz";,
+      "integrity": 
"sha512-4qIY0pCWCvGCJpV/1JkFu9kbsNEZ9O34cG1oru/c7OCDtrEs50Gq/VjkA2ID5ZwLyoNx1i1ws118oh/p6fVeDg==",
       "dev": true,
       "requires": {
         "diff": "3.2.0",
         "formatio": "1.2.0",
-        "lolex": "2.1.2",
+        "lodash.get": "4.4.2",
+        "lolex": "2.1.3",
         "native-promise-only": "0.8.1",
-        "nise": "1.1.0",
+        "nise": "1.1.1",
         "path-to-regexp": "1.7.0",
-        "samsam": "1.2.1",
+        "samsam": "1.3.0",
         "text-encoding": "0.6.4",
         "type-detect": "4.0.3"
       },
@@ -5953,10 +6192,13 @@
       }
     },
     "slice-ansi": {
-      "version": "0.0.4",
-      "resolved": 
"https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz";,
-      "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=",
-      "dev": true
+      "version": "1.0.0",
+      "resolved": 
"https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz";,
+      "integrity": 
"sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==",
+      "dev": true,
+      "requires": {
+        "is-fullwidth-code-point": "2.0.0"
+      }
     },
     "sockjs": {
       "version": "0.3.18",
@@ -6212,9 +6454,9 @@
       "dev": true
     },
     "style-loader": {
-      "version": "0.18.2",
-      "resolved": 
"https://registry.npmjs.org/style-loader/-/style-loader-0.18.2.tgz";,
-      "integrity": 
"sha512-WPpJPZGUxWYHWIUMNNOYqql7zh85zGmr84FdTVWq52WTIkqlW9xSxD3QYWi/T31cqn9UNSsietVEgGn2aaSCzw==",
+      "version": "0.19.0",
+      "resolved": 
"https://registry.npmjs.org/style-loader/-/style-loader-0.19.0.tgz";,
+      "integrity": 
"sha512-9mx9sC9nX1dgP96MZOODpGC6l1RzQBITI2D5WJhu+wnbrSYVKLGuy14XJSLVQih/0GFrPpjelt+s//VcZQ2Evw==",
       "dev": true,
       "requires": {
         "loader-utils": "1.1.0",
@@ -6268,27 +6510,64 @@
       }
     },
     "table": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/table/-/table-4.0.1.tgz";,
-      "integrity": "sha1-qBFsEz+sLGH0pCCrbN9cTWHw5DU=",
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz";,
+      "integrity": 
"sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==",
       "dev": true,
       "requires": {
-        "ajv": "4.11.8",
-        "ajv-keywords": "1.5.1",
-        "chalk": "1.1.3",
+        "ajv": "5.2.3",
+        "ajv-keywords": "2.1.0",
+        "chalk": "2.1.0",
         "lodash": "4.17.4",
-        "slice-ansi": "0.0.4",
+        "slice-ansi": "1.0.0",
         "string-width": "2.1.1"
       },
       "dependencies": {
         "ajv": {
-          "version": "4.11.8",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz";,
-          "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
+          "version": "5.2.3",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.2.3.tgz";,
+          "integrity": "sha1-wG9Zh3jETGsWGrr+NGa4GtGBTtI=",
           "dev": true,
           "requires": {
             "co": "4.6.0",
+            "fast-deep-equal": "1.0.0",
+            "json-schema-traverse": "0.3.1",
             "json-stable-stringify": "1.0.1"
+          }
+        },
+        "ansi-styles": {
+          "version": "3.2.0",
+          "resolved": 
"https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz";,
+          "integrity": 
"sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+          "dev": true,
+          "requires": {
+            "color-convert": "1.9.0"
+          }
+        },
+        "chalk": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz";,
+          "integrity": 
"sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "3.2.0",
+            "escape-string-regexp": "1.0.5",
+            "supports-color": "4.4.0"
+          }
+        },
+        "has-flag": {
+          "version": "2.0.0",
+          "resolved": 
"https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz";,
+          "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+          "dev": true
+        },
+        "supports-color": {
+          "version": "4.4.0",
+          "resolved": 
"https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz";,
+          "integrity": 
"sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==",
+          "dev": true,
+          "requires": {
+            "has-flag": "2.0.0"
           }
         }
       }
@@ -6358,9 +6637,9 @@
       }
     },
     "tmp": {
-      "version": "0.0.31",
-      "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz";,
-      "integrity": "sha1-jzirlDjhcxXl29izZX6L+yd65Kc=",
+      "version": "0.0.33",
+      "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz";,
+      "integrity": 
"sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
       "dev": true,
       "requires": {
         "os-tmpdir": "1.0.2"
@@ -6380,6 +6659,12 @@
       "requires": {
         "nopt": "1.0.10"
       }
+    },
+    "trim-newlines": {
+      "version": "1.0.0",
+      "resolved": 
"https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz";,
+      "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
+      "dev": true
     },
     "tryit": {
       "version": "1.0.3",
@@ -6534,7 +6819,7 @@
       "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=",
       "requires": {
         "media-typer": "0.3.0",
-        "mime-types": "2.1.16"
+        "mime-types": "2.1.17"
       }
     },
     "typedarray": {
@@ -6544,9 +6829,9 @@
       "dev": true
     },
     "typescript": {
-      "version": "2.5.2",
-      "resolved": 
"https://registry.npmjs.org/typescript/-/typescript-2.5.2.tgz";,
-      "integrity": "sha1-A4qV99m7tCCxvzW6MdTFwd0//jQ=",
+      "version": "2.5.3",
+      "resolved": 
"https://registry.npmjs.org/typescript/-/typescript-2.5.3.tgz";,
+      "integrity": 
"sha512-ptLSQs2S4QuS6/OD1eAKG+S5G8QQtrU5RT32JULdZQtM1L3WTi34Wsu48Yndzi8xsObRAB9RPt/KhA9wlpEF6w==",
       "dev": true
     },
     "typescript-eslint-parser": {
@@ -6729,9 +7014,9 @@
       "dev": true
     },
     "utils-merge": {
-      "version": "1.0.0",
-      "resolved": 
"https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz";,
-      "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg="
+      "version": "1.0.1",
+      "resolved": 
"https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz";,
+      "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
     },
     "uuid": {
       "version": "2.0.3",
@@ -6765,9 +7050,9 @@
       "dev": true
     },
     "vary": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.1.tgz";,
-      "integrity": "sha1-Z1Neu2lMHVIldFeYRmUyP1h+jTc="
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz";,
+      "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
     },
     "vendors": {
       "version": "1.0.1",
@@ -6873,35 +7158,35 @@
       "dev": true,
       "requires": {
         "memory-fs": "0.4.1",
-        "mime": "1.3.4",
+        "mime": "1.4.1",
         "path-is-absolute": "1.0.1",
         "range-parser": "1.2.0",
         "time-stamp": "2.0.0"
       }
     },
     "webpack-dev-server": {
-      "version": "2.8.2",
-      "resolved": 
"https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.8.2.tgz";,
-      "integrity": 
"sha512-wD9bs+Z1uwvf3Jc+8ZkyMI0Xi+aJJYjC2UZplOWoo/vStelK5Mv62X2uXYEYIQEjy9wJQMzC0fEFqQsg7vVEIg==",
+      "version": "2.9.1",
+      "resolved": 
"https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.9.1.tgz";,
+      "integrity": 
"sha512-qFKs4Wg6JI6FkAQ6WFqeDCCxXEBLsDHkqJB3f9tmlqx8C68Y9vQWwcaMT4Q9H8WF32Q6QUNmgK4qQkdHfXvj/g==",
       "dev": true,
       "requires": {
         "ansi-html": "0.0.7",
         "array-includes": "3.0.3",
         "bonjour": "3.5.0",
         "chokidar": "1.7.0",
-        "compression": "1.7.0",
+        "compression": "1.7.1",
         "connect-history-api-fallback": "1.3.0",
         "del": "3.0.0",
-        "express": "4.15.3",
+        "express": "4.16.1",
         "html-entities": "1.2.1",
         "http-proxy-middleware": "0.17.4",
-        "internal-ip": "2.0.3",
+        "internal-ip": "1.2.0",
         "ip": "1.1.5",
         "loglevel": "1.5.0",
         "opn": "5.1.0",
         "portfinder": "1.0.13",
         "selfsigned": "1.10.1",
-        "serve-index": "1.9.0",
+        "serve-index": "1.9.1",
         "sockjs": "0.3.18",
         "sockjs-client": "1.1.4",
         "spdy": "3.4.7",
@@ -6939,7 +7224,7 @@
             "is-path-in-cwd": "1.0.0",
             "p-map": "1.2.0",
             "pify": "3.0.0",
-            "rimraf": "2.6.1"
+            "rimraf": "2.6.2"
           }
         },
         "find-up": {
@@ -7156,7 +7441,7 @@
       "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=",
       "dev": true,
       "requires": {
-        "http-parser-js": "0.4.6",
+        "http-parser-js": "0.4.9",
         "websocket-extensions": "0.1.2"
       }
     },
diff --git a/package.json b/package.json
index a71b824..705a815 100644
--- a/package.json
+++ b/package.json
@@ -8,7 +8,7 @@
     "watch": "run-p -s start:\\* test:watch",
     "build": "NODE_ENV=production npm-run-all --silent clean --parallel 
build:\\*",
     "format": "npm run -s lint -- --fix",
-    "lint": "eslint --cache --max-warnings 0 --ext ts,tsx,js,json .",
+    "lint": "eslint --cache --max-warnings 0 
--report-unused-disable-directives --ext ts,tsx,js,json .",
     "test": "run-p -s lint build mocha",
     "test:watch": "nodemon -i dist -e js,json,ts,tsx ${VERBOSE:--q} -x 'npm 
test -s'",
     "--- SECONDARY ---": "# Useful but rarely used scripts.",
@@ -44,9 +44,9 @@
     "npm": ">= 5"
   },
   "dependencies": {
-    "compression": "1.7.0",
+    "compression": "1.7.1",
     "domino": "1.0.29",
-    "express": "4.15.3",
+    "express": "4.16.1",
     "isomorphic-unfetch": "2.0.0",
     "path-to-regexp": "2.0.0",
     "preact": "8.2.5",
@@ -56,41 +56,41 @@
     "@types/assets-webpack-plugin": "3.5.0",
     "@types/compression": "0.0.34",
     "@types/express": "4.0.37",
-    "@types/extract-text-webpack-plugin": "2.1.0",
+    "@types/extract-text-webpack-plugin": "3.0.0",
     "@types/history": "4.6.0",
     "@types/mocha": "2.2.43",
-    "@types/node": "8.0.28",
+    "@types/node": "8.0.32",
     "@types/node-fetch": "1.6.7",
     "@types/touch": "3.1.0",
     "assets-webpack-plugin": "3.5.1",
     "copyfiles": "1.2.0",
     "css-loader": "0.28.7",
-    "eslint": "4.7.0",
+    "eslint": "4.8.0",
     "eslint-config-node-services": "2.2.3",
-    "eslint-config-prettier": "2.5.0",
+    "eslint-config-prettier": "2.6.0",
     "eslint-config-wikimedia": "0.5.0",
     "eslint-plugin-import": "2.7.0",
-    "eslint-plugin-jsdoc": "3.1.2",
+    "eslint-plugin-jsdoc": "3.1.3",
     "eslint-plugin-json": "1.2.0",
-    "eslint-plugin-prettier": "2.1.2",
-    "extract-text-webpack-plugin": "3.0.0",
+    "eslint-plugin-prettier": "2.3.1",
+    "extract-text-webpack-plugin": "3.0.1",
     "history": "4.7.2",
     "husky": "0.14.3",
     "ignore-styles": "5.0.1",
-    "mocha": "3.5.3",
+    "mocha": "4.0.1",
     "nodemon": "1.12.1",
     "npm-run-all": "4.1.1",
-    "prettier": "1.7.0",
-    "sinon": "3.0.0",
-    "style-loader": "0.18.2",
+    "prettier": "1.7.4",
+    "sinon": "4.0.1",
+    "style-loader": "0.19.0",
     "svg-inline-loader": "0.8.0",
     "touch": "3.1.0",
     "ts-loader": "2.3.7",
     "ts-node": "3.3.0",
-    "typescript": "2.5.2",
+    "typescript": "2.5.3",
     "typescript-eslint-parser": "8.0.0",
     "webpack": "3.6.0",
-    "webpack-dev-server": "2.8.2",
+    "webpack-dev-server": "2.9.1",
     "wikimedia-ui-base": "0.9.2"
   }
 }
diff --git a/test/mocha.opts b/test/mocha.opts
index 5f7a2a7..cc8598a 100644
--- a/test/mocha.opts
+++ b/test/mocha.opts
@@ -1,2 +1,2 @@
---compilers ts:ts-node/register
+--require ts-node/register
 --require ignore-styles
diff --git a/webpack.config.ts b/webpack.config.ts
index fe8433d..e5c960c 100644
--- a/webpack.config.ts
+++ b/webpack.config.ts
@@ -132,7 +132,13 @@
       {
         test: /\.css$/,
         use: ExtractTextPlugin.extract({
-          fallback: "style-loader",
+          fallback: {
+            loader: "style-loader",
+            options: {
+              // Hot module replacement is not enabled.
+              hmr: false
+            }
+          },
           use: ["css-loader"]
         })
       },

-- 
To view, visit https://gerrit.wikimedia.org/r/382702
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iad4c7377b6546a4d7c68ded304a3d263d50919d4
Gerrit-PatchSet: 1
Gerrit-Project: marvin
Gerrit-Branch: master
Gerrit-Owner: Niedzielski <[email protected]>
Gerrit-Reviewer: Sniedzielski <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to