From 443d10443281cac5ce5bdbc76afcd357a9b1d2b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C4=83t=C4=83lin=20Mari=C8=99?= Date: Wed, 9 Aug 2017 19:52:41 +0000 Subject: [PATCH] Upgrade: `eslint-plugin-typescript` to `v0.5.0` Close #416 --- .eslintrc.json | 7 +- package-lock.json | 2076 ++++++++--------- package.json | 2 +- src/lib/connectors/cdp/cdp-launcher.ts | 2 +- src/lib/connectors/cdp/cdp.ts | 2 +- src/lib/connectors/jsdom/jsdom-async-html.ts | 22 +- src/lib/connectors/jsdom/jsdom.ts | 10 +- src/lib/connectors/shared/async-html.ts | 31 +- .../shared/remote-debugging-connector.ts | 8 +- src/lib/connectors/utils/requester.ts | 2 +- src/lib/rule-context.ts | 12 +- .../highest-available-document-mode.ts | 2 +- .../meta-charset-utf-8/meta-charset-utf-8.ts | 2 +- src/lib/sonar.ts | 14 +- src/lib/utils/normalize-rules.ts | 4 +- tests/helpers/rule-runner.ts | 10 +- tests/helpers/rule-test-type.ts | 6 +- tests/helpers/test-server.ts | 10 +- tests/lib/config/config-validator.ts | 6 +- tests/lib/connectors/utils/requester.ts | 2 +- tests/lib/rules/axe/tests.ts | 6 +- tests/lib/rules/content-type/tests.ts | 6 +- tests/lib/rules/disown-opener/tests.ts | 8 +- .../highest-available-document-mode/tests.ts | 8 +- tests/lib/rules/html-checker/tests.ts | 12 +- tests/lib/rules/manifest-exists/tests.ts | 4 +- .../rules/manifest-file-extension/tests.ts | 4 +- tests/lib/rules/manifest-is-valid/tests.ts | 4 +- tests/lib/rules/meta-charset-utf-8/tests.ts | 4 +- .../lib/rules/no-disallowed-headers/tests.ts | 10 +- .../rules/no-friendly-error-pages/tests.ts | 4 +- tests/lib/rules/no-html-only-headers/tests.ts | 10 +- .../rules/no-protocol-relative-urls/tests.ts | 4 +- tests/lib/rules/ssllabs/tests.ts | 8 +- .../rules/strict-transport-security/tests.ts | 8 +- .../lib/rules/x-content-type-options/tests.ts | 4 +- tests/lib/sonar.ts | 6 +- tests/lib/utils/location-helpers.ts | 2 +- 38 files changed, 1058 insertions(+), 1284 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index 9c90df54e0f..14014176216 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -252,6 +252,11 @@ "wrap-regex": "error", "yoda": ["error", "never"], - "typescript/type-annotation-spacing": "error" + "typescript/explicit-member-accessibility": "error", + "typescript/interface-name-prefix": [ "error", "always" ], + "typescript/no-angle-bracket-type-assertion": "error", + "typescript/no-namespace": "error", + "typescript/no-unused-vars": "error", + "typescript/no-use-before-define": "error" } } diff --git a/package-lock.json b/package-lock.json index 6579c32586d..b9fe754d7a4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -122,7 +122,7 @@ "integrity": "sha512-b7mVHoURu1xaP/V6xw1sYwyv9V0EZ7euyi+sdnbnTZxEkAh4/hzPsI6Eflq+ZzHQ/Tgl7l16Jz+0oz8F46MLnA==", "dev": true, "requires": { - "@types/node": "8.0.14" + "@types/node": "8.0.20" } }, "@types/file-type": { @@ -131,7 +131,7 @@ "integrity": "sha512-FYwRAsFc+B9WNB+nlcMYFPwowKuarYU5vyUK/nwKQKcB+W6CSREbpaTlTWcxd8rKdFLCU+1ZeOBvOJe0pq+8oQ==", "dev": true, "requires": { - "@types/node": "8.0.14" + "@types/node": "8.0.20" } }, "@types/fs-extra": { @@ -140,7 +140,17 @@ "integrity": "sha512-PlKJw6ujJXLJjbvB3T0UCbY3jibKM6/Ya5cc9j1q+mYDeK3aR4Dp+20ZwxSuvJr9mIoPxp7+IL4aMOEvsscRTA==", "dev": true, "requires": { - "@types/node": "8.0.14" + "@types/node": "8.0.20" + } + }, + "@types/glob": { + "version": "5.0.30", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-5.0.30.tgz", + "integrity": "sha1-ECZAnFYlqGiQdGAoCNCCsoZ7ilE=", + "dev": true, + "requires": { + "@types/minimatch": "2.0.29", + "@types/node": "8.0.20" } }, "@types/handlebars": { @@ -161,7 +171,7 @@ "integrity": "sha1-qjuL2ivlErGuCgV7lC6GnDcKVWk=", "dev": true, "requires": { - "@types/node": "8.0.14" + "@types/node": "8.0.20" } }, "@types/is-my-json-valid": { @@ -176,7 +186,7 @@ "integrity": "sha512-7C2fXDVHdW+E9JPh++CabVkUbcmI+aI9CYUY4kzPn3UUgnOEk/6vsnBnGv0hs9JHR7mc3+6VUSLdm7SHdg4/lg==", "dev": true, "requires": { - "@types/node": "8.0.14", + "@types/node": "8.0.20", "@types/tough-cookie": "2.3.1", "parse5": "3.0.2" } @@ -194,9 +204,9 @@ "dev": true }, "@types/lodash": { - "version": "4.14.70", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.70.tgz", - "integrity": "sha512-uvDjWW3m7SFUhSpohfQvj32gRsVgRxA0Z0OfMJh8m/JuX4YJLHeEwRBuHJgvNgTAVBpJDFKVFeyrREuMwkE9Qw==", + "version": "4.14.72", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.72.tgz", + "integrity": "sha512-dkP0sYfet4QlzJkL9gWf+ZxEsYwuhqLtkthzzQzPOpb5pDpiwL7gf3Kfgh/Lp1KQeAAq9AjjlE0eZjr22T/w2A==", "dev": true }, "@types/marked": { @@ -229,13 +239,13 @@ "integrity": "sha512-9UvtpVx/f9ly3T0bTri3DNQYyRWoJ2CPwvBKCeD0BOG41XQBVCx4wr1aKcdOv3Uv+oeqJoFRrgAOxxO3hrFg5g==", "dev": true, "requires": { - "@types/node": "8.0.14" + "@types/node": "8.0.20" } }, "@types/node": { - "version": "8.0.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.0.14.tgz", - "integrity": "sha512-lrtgE/5FeTdcuxgsDbLUIFJ33dTp4TkbKkTDZt/ueUMeqmGYqJRQd908q5Yj9EzzWSMonEhMr1q/CQlgVGEt4w==", + "version": "8.0.20", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.0.20.tgz", + "integrity": "sha512-MnB7YEpmLUyEWRVRhKpRs4swwqITnY8BcVFPoTuCl99SCplI/lLUiU5vcJ/OANDqwkpdIg0pDEM38K22KQT2RA==", "dev": true }, "@types/serve-static": { @@ -249,12 +259,13 @@ } }, "@types/shelljs": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@types/shelljs/-/shelljs-0.7.2.tgz", - "integrity": "sha512-NanpA4ybcKXr32Zg7sgHvOfir/AeoOdN7+8TpnWueHkmPhVZLSPWU4LLl7y7d2FG08jaxE18HZjlATjttmjHCQ==", + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@types/shelljs/-/shelljs-0.7.4.tgz", + "integrity": "sha512-/RQcPAeUMEz4h2p818OZ4ghBJEliVf2MneJGiKl35guqJ1+CTNu+v1zP1qG9Dym61aktec60riIkja1X+GPS3A==", "dev": true, "requires": { - "@types/node": "8.0.14" + "@types/glob": "5.0.30", + "@types/node": "8.0.20" } }, "@types/sinon": { @@ -297,7 +308,7 @@ "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=", "dev": true, "requires": { - "mime-types": "2.1.15", + "mime-types": "2.1.16", "negotiator": "0.6.1" } }, @@ -407,27 +418,32 @@ } } }, + "ansi-escapes": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-2.0.0.tgz", + "integrity": "sha1-W65SvkJIeN2Xg+iRDj/Cki6DyBs=" + }, "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "ansi-styles": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.1.0.tgz", - "integrity": "sha1-CcIC1ckX7CMYjKpcnLkXnNlUd1A=", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "requires": { "color-convert": "1.9.0" } }, "anymatch": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.0.tgz", - "integrity": "sha1-o+Uvo5FoyCX/V7AkgSbOWo/5VQc=", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", + "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", "dev": true, "requires": { - "arrify": "1.0.1", - "micromatch": "2.3.11" + "micromatch": "2.3.11", + "normalize-path": "2.1.1" } }, "aproba": { @@ -590,7 +606,7 @@ "@ava/write-file-atomic": "2.2.0", "@concordance/react": "1.0.0", "ansi-escapes": "2.0.0", - "ansi-styles": "3.1.0", + "ansi-styles": "3.2.0", "arr-flatten": "1.1.0", "array-union": "1.0.2", "array-uniq": "1.0.3", @@ -600,13 +616,13 @@ "babel-core": "6.25.0", "bluebird": "3.5.0", "caching-transform": "1.0.1", - "chalk": "2.0.1", + "chalk": "2.1.0", "chokidar": "1.7.0", "clean-stack": "1.3.0", "clean-yaml-object": "0.1.0", "cli-cursor": "2.1.0", "cli-spinners": "1.0.0", - "cli-truncate": "1.0.0", + "cli-truncate": "1.1.0", "co-with-promise": "4.6.0", "code-excerpt": "2.1.0", "common-path-prefix": "1.0.0", @@ -615,7 +631,7 @@ "core-assert": "0.2.1", "currently-unhandled": "0.4.1", "debug": "2.6.8", - "dot-prop": "4.1.1", + "dot-prop": "4.2.0", "empower-core": "0.6.2", "equal-length": "1.0.1", "figures": "2.0.0", @@ -627,13 +643,13 @@ "hullabaloo-config-manager": "1.1.1", "ignore-by-default": "1.0.1", "import-local": "0.1.1", - "indent-string": "3.1.0", + "indent-string": "3.2.0", "is-ci": "1.0.10", "is-generator-fn": "1.0.0", "is-obj": "1.0.1", "is-observable": "0.2.0", "is-promise": "2.1.0", - "js-yaml": "3.9.0", + "js-yaml": "3.9.1", "last-line-stream": "1.0.0", "lodash.clonedeepwith": "4.5.0", "lodash.debounce": "4.0.8", @@ -660,60 +676,26 @@ "stack-utils": "1.0.1", "strip-ansi": "4.0.0", "strip-bom-buf": "1.0.0", - "supports-color": "4.2.0", + "supports-color": "4.2.1", "time-require": "0.1.2", "trim-off-newlines": "1.0.1", "unique-temp-dir": "1.0.0", "update-notifier": "2.2.0" }, "dependencies": { - "ansi-escapes": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-2.0.0.tgz", - "integrity": "sha1-W65SvkJIeN2Xg+iRDj/Cki6DyBs=", - "dev": true - }, "ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "requires": { - "restore-cursor": "2.0.0" - } - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, - "requires": { - "escape-string-regexp": "1.0.5" - } - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "requires": { - "mimic-fn": "1.1.0" - } - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "debug": { + "version": "2.6.8", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", + "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", "dev": true, "requires": { - "onetime": "2.0.1", - "signal-exit": "3.0.2" + "ms": "2.0.0" } }, "strip-ansi": { @@ -764,7 +746,7 @@ "babel-core": "6.25.0", "babel-polyfill": "6.23.0", "babel-register": "6.24.1", - "babel-runtime": "6.23.0", + "babel-runtime": "6.25.0", "chokidar": "1.7.0", "commander": "2.11.0", "convert-source-map": "1.5.0", @@ -837,7 +819,7 @@ "babel-helpers": "6.24.1", "babel-messages": "6.23.0", "babel-register": "6.24.1", - "babel-runtime": "6.23.0", + "babel-runtime": "6.25.0", "babel-template": "6.25.0", "babel-traverse": "6.25.0", "babel-types": "6.25.0", @@ -853,6 +835,15 @@ "source-map": "0.5.6" }, "dependencies": { + "debug": { + "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" + } + }, "source-map": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", @@ -868,7 +859,7 @@ "dev": true, "requires": { "babel-messages": "6.23.0", - "babel-runtime": "6.23.0", + "babel-runtime": "6.25.0", "babel-types": "6.25.0", "detect-indent": "4.0.0", "jsesc": "1.3.0", @@ -898,7 +889,7 @@ "dev": true, "requires": { "babel-helper-explode-assignable-expression": "6.24.1", - "babel-runtime": "6.23.0", + "babel-runtime": "6.25.0", "babel-types": "6.25.0" } }, @@ -909,7 +900,7 @@ "dev": true, "requires": { "babel-helper-hoist-variables": "6.24.1", - "babel-runtime": "6.23.0", + "babel-runtime": "6.25.0", "babel-traverse": "6.25.0", "babel-types": "6.25.0" } @@ -920,7 +911,7 @@ "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", "dev": true, "requires": { - "babel-runtime": "6.23.0", + "babel-runtime": "6.25.0", "babel-traverse": "6.25.0", "babel-types": "6.25.0" } @@ -932,7 +923,7 @@ "dev": true, "requires": { "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.23.0", + "babel-runtime": "6.25.0", "babel-template": "6.25.0", "babel-traverse": "6.25.0", "babel-types": "6.25.0" @@ -944,7 +935,7 @@ "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", "dev": true, "requires": { - "babel-runtime": "6.23.0", + "babel-runtime": "6.25.0", "babel-types": "6.25.0" } }, @@ -954,7 +945,7 @@ "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", "dev": true, "requires": { - "babel-runtime": "6.23.0", + "babel-runtime": "6.25.0", "babel-types": "6.25.0" } }, @@ -964,7 +955,7 @@ "integrity": "sha1-024i+rEAjXnYhkjjIRaGgShFbOg=", "dev": true, "requires": { - "babel-runtime": "6.23.0", + "babel-runtime": "6.25.0", "babel-types": "6.25.0", "lodash": "4.17.4" } @@ -976,7 +967,7 @@ "dev": true, "requires": { "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.23.0", + "babel-runtime": "6.25.0", "babel-template": "6.25.0", "babel-traverse": "6.25.0", "babel-types": "6.25.0" @@ -988,7 +979,7 @@ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "dev": true, "requires": { - "babel-runtime": "6.23.0", + "babel-runtime": "6.25.0", "babel-template": "6.25.0" } }, @@ -998,7 +989,7 @@ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "6.23.0" + "babel-runtime": "6.25.0" } }, "babel-plugin-check-es2015-constants": { @@ -1007,7 +998,7 @@ "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", "dev": true, "requires": { - "babel-runtime": "6.23.0" + "babel-runtime": "6.25.0" } }, "babel-plugin-espower": { @@ -1019,7 +1010,7 @@ "babel-generator": "6.25.0", "babylon": "6.17.4", "call-matcher": "1.0.1", - "core-js": "2.4.1", + "core-js": "2.5.0", "espower-location-detector": "1.0.0", "espurify": "1.7.0", "estraverse": "4.2.0" @@ -1062,7 +1053,7 @@ "requires": { "babel-helper-remap-async-to-generator": "6.24.1", "babel-plugin-syntax-async-functions": "6.13.0", - "babel-runtime": "6.23.0" + "babel-runtime": "6.25.0" } }, "babel-plugin-transform-es2015-destructuring": { @@ -1071,7 +1062,7 @@ "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", "dev": true, "requires": { - "babel-runtime": "6.23.0" + "babel-runtime": "6.25.0" } }, "babel-plugin-transform-es2015-function-name": { @@ -1081,7 +1072,7 @@ "dev": true, "requires": { "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.23.0", + "babel-runtime": "6.25.0", "babel-types": "6.25.0" } }, @@ -1092,7 +1083,7 @@ "dev": true, "requires": { "babel-plugin-transform-strict-mode": "6.24.1", - "babel-runtime": "6.23.0", + "babel-runtime": "6.25.0", "babel-template": "6.25.0", "babel-types": "6.25.0" } @@ -1105,7 +1096,7 @@ "requires": { "babel-helper-call-delegate": "6.24.1", "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.23.0", + "babel-runtime": "6.25.0", "babel-template": "6.25.0", "babel-traverse": "6.25.0", "babel-types": "6.25.0" @@ -1117,7 +1108,7 @@ "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", "dev": true, "requires": { - "babel-runtime": "6.23.0" + "babel-runtime": "6.25.0" } }, "babel-plugin-transform-es2015-sticky-regex": { @@ -1127,7 +1118,7 @@ "dev": true, "requires": { "babel-helper-regex": "6.24.1", - "babel-runtime": "6.23.0", + "babel-runtime": "6.25.0", "babel-types": "6.25.0" } }, @@ -1138,7 +1129,7 @@ "dev": true, "requires": { "babel-helper-regex": "6.24.1", - "babel-runtime": "6.23.0", + "babel-runtime": "6.25.0", "regexpu-core": "2.0.0" } }, @@ -1150,7 +1141,7 @@ "requires": { "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", "babel-plugin-syntax-exponentiation-operator": "6.13.0", - "babel-runtime": "6.23.0" + "babel-runtime": "6.25.0" } }, "babel-plugin-transform-strict-mode": { @@ -1159,7 +1150,7 @@ "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", "dev": true, "requires": { - "babel-runtime": "6.23.0", + "babel-runtime": "6.25.0", "babel-types": "6.25.0" } }, @@ -1169,8 +1160,8 @@ "integrity": "sha1-g2TKYt+Or7gwSZ9pkXdGbDsDSZ0=", "dev": true, "requires": { - "babel-runtime": "6.23.0", - "core-js": "2.4.1", + "babel-runtime": "6.25.0", + "core-js": "2.5.0", "regenerator-runtime": "0.10.5" } }, @@ -1191,8 +1182,8 @@ "dev": true, "requires": { "babel-core": "6.25.0", - "babel-runtime": "6.23.0", - "core-js": "2.4.1", + "babel-runtime": "6.25.0", + "core-js": "2.5.0", "home-or-tmp": "2.0.0", "lodash": "4.17.4", "mkdirp": "0.5.1", @@ -1200,12 +1191,12 @@ } }, "babel-runtime": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "integrity": "sha1-CpSJ8UTecO+zzkMArM2zKeL8VDs=", + "version": "6.25.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.25.0.tgz", + "integrity": "sha1-M7mOql1IK7AajRqmtDetKwGuxBw=", "dev": true, "requires": { - "core-js": "2.4.1", + "core-js": "2.5.0", "regenerator-runtime": "0.10.5" } }, @@ -1215,7 +1206,7 @@ "integrity": "sha1-ZlJBFmt8KqTGGdceGSlpVSsQwHE=", "dev": true, "requires": { - "babel-runtime": "6.23.0", + "babel-runtime": "6.25.0", "babel-traverse": "6.25.0", "babel-types": "6.25.0", "babylon": "6.17.4", @@ -1230,13 +1221,24 @@ "requires": { "babel-code-frame": "6.22.0", "babel-messages": "6.23.0", - "babel-runtime": "6.23.0", + "babel-runtime": "6.25.0", "babel-types": "6.25.0", "babylon": "6.17.4", "debug": "2.6.8", "globals": "9.18.0", "invariant": "2.2.2", "lodash": "4.17.4" + }, + "dependencies": { + "debug": { + "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" + } + } } }, "babel-types": { @@ -1245,7 +1247,7 @@ "integrity": "sha1-cK+ySNVmDl0Y+BHZHIMDtUE0oY4=", "dev": true, "requires": { - "babel-runtime": "6.23.0", + "babel-runtime": "6.25.0", "esutils": "2.0.2", "lodash": "4.17.4", "to-fast-properties": "1.0.3" @@ -1278,9 +1280,9 @@ } }, "binary-extensions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.8.0.tgz", - "integrity": "sha1-SOyNFt9Dd+rl+liEaCSAr02Vx3Q=", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.9.0.tgz", + "integrity": "sha1-ZlBsFs5vTWkopbPNajPKQelB43s=", "dev": true }, "block-stream": { @@ -1305,14 +1307,14 @@ } }, "boxen": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.2.0.tgz", - "integrity": "sha512-tfKK3nq0qXXOxvXEYW1k1XNRrDuQzO2oFPvLD3Fs1I58n0leuTNlftBmu3seUCyZvDfiqgRaxlqZs9WJAbSA7g==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.2.1.tgz", + "integrity": "sha1-DxHn/jRO25OXl3/BPt5/ZNlWSB0=", "dev": true, "requires": { "ansi-align": "2.0.0", "camelcase": "4.1.0", - "chalk": "2.0.1", + "chalk": "2.1.0", "cli-boxes": "1.0.0", "string-width": "2.1.1", "term-size": "1.2.0", @@ -1379,12 +1381,12 @@ } }, "browserslist": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.2.0.tgz", - "integrity": "sha512-t09UuOv/4/hrL1y4wZ871+kKE6E2bkdMD6duZtV7FZIHFpsmdQfW63BH3bAjkfpkbP/eFKyenUbDUKigV/VmRw==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.3.2.tgz", + "integrity": "sha512-arvLUwBTsmpfmyMfoBQH8WWICiyaVkMxJsft73/rTRU80rAPSXsi3M0uYBcUH22w7MG475eET31F4M0+31w81g==", "requires": { - "caniuse-lite": "1.0.30000702", - "electron-to-chromium": "1.3.16" + "caniuse-lite": "1.0.30000715", + "electron-to-chromium": "1.3.18" } }, "buf-compare": { @@ -1438,7 +1440,7 @@ "integrity": "sha1-UTTQd5hPcSpU2tPL9i3ijc5BbKg=", "dev": true, "requires": { - "core-js": "2.4.1", + "core-js": "2.5.0", "deep-equal": "1.0.1", "espurify": "1.7.0", "estraverse": "4.2.0" @@ -1501,16 +1503,16 @@ "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-2.0.0.tgz", "integrity": "sha1-sd21pZZrFvSNxJmERNS7xsfZ2DQ=", "requires": { - "browserslist": "2.2.0", - "caniuse-lite": "1.0.30000702", + "browserslist": "2.3.2", + "caniuse-lite": "1.0.30000715", "lodash.memoize": "4.1.2", "lodash.uniq": "4.5.0" } }, "caniuse-lite": { - "version": "1.0.30000702", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000702.tgz", - "integrity": "sha1-vWbkA0VSj+DAAZF9HT9VRU32NPE=" + "version": "1.0.30000715", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000715.tgz", + "integrity": "sha1-wyf15tkH687GLN5ZjDvw3Xk/uaA=" }, "canvas-prebuilt": { "version": "1.6.0", @@ -1542,13 +1544,13 @@ } }, "chalk": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.0.1.tgz", - "integrity": "sha512-Mp+FXEI+FrwY/XYV45b2YD3E8i3HwnEAoFcM0qlZzq/RZ9RwWitt2Y/c7cqRAz70U7hfekqx6qNYthuKFO6K0g==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", + "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", "requires": { - "ansi-styles": "3.1.0", + "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", - "supports-color": "4.2.0" + "supports-color": "4.2.1" } }, "character-entities": { @@ -1575,7 +1577,7 @@ "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", "dev": true, "requires": { - "anymatch": "1.3.0", + "anymatch": "1.3.2", "async-each": "1.0.1", "fsevents": "1.1.2", "glob-parent": "2.0.0", @@ -1594,7 +1596,7 @@ "@types/core-js": "0.9.42", "@types/mkdirp": "0.3.29", "@types/node": "6.0.66", - "lighthouse-logger": "1.0.0", + "lighthouse-logger": "1.0.1", "mkdirp": "0.5.1", "rimraf": "2.6.1" }, @@ -1612,9 +1614,9 @@ } }, "chrome-remote-interface": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/chrome-remote-interface/-/chrome-remote-interface-0.24.2.tgz", - "integrity": "sha512-KmG2wHqlnTEPwdmc0baW4qpSEldN6zAHrkwCquo6wsFnOFkmvYZRv4Kbko7GylFyrLjbyUQzUCMwfxNIftIhvA==", + "version": "0.24.3", + "resolved": "https://registry.npmjs.org/chrome-remote-interface/-/chrome-remote-interface-0.24.3.tgz", + "integrity": "sha512-gP95+r8RHCO+SGZzYRghEE6YUbMYcDOifQC2WHK6ZtR7sh8PayHjwI5cbxfFN0iDeAPAUNRrvlFLYjqBATNwiQ==", "requires": { "commander": "2.1.0", "ws": "2.0.3" @@ -1626,9 +1628,9 @@ "integrity": "sha1-3FKF8rTiUYIWg2gcOBwziPRuxTQ=" }, "circular-json": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.1.tgz", - "integrity": "sha1-vos2rvzN6LPKeqLWr8B6NyQsDS0=" + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", + "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==" }, "clean-stack": { "version": "1.3.0", @@ -1648,18 +1650,26 @@ "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", "dev": true }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "requires": { + "restore-cursor": "2.0.0" + } + }, "cli-spinners": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.0.0.tgz", "integrity": "sha1-75h+09SDkaw9q5GAtAanQhgNbmo=" }, "cli-truncate": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-1.0.0.tgz", - "integrity": "sha1-IeuR9Hs/ZWDwBNt3p2m0Zo2cVRg=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-1.1.0.tgz", + "integrity": "sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==", "dev": true, "requires": { - "slice-ansi": "0.0.4", + "slice-ansi": "1.0.0", "string-width": "2.1.1" }, "dependencies": { @@ -1675,6 +1685,15 @@ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, + "slice-ansi": { + "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" + } + }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -1839,17 +1858,17 @@ "lodash.flattendeep": "4.4.0", "lodash.merge": "4.6.0", "md5-hex": "2.0.0", - "semver": "5.3.0", + "semver": "5.4.1", "well-known-symbols": "1.0.0" } }, "configstore": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.0.tgz", - "integrity": "sha1-Rd+QcHPibfoc9LLVL1tgVF6qEdE=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.1.tgz", + "integrity": "sha512-5oNkD/L++l0O6xGXxb1EWS7SivtjfGQlRyxJsYgE0Z495/L81e2h4/d3r969hoPXuFItzNOKMtsXgYG4c7dYvw==", "dev": true, "requires": { - "dot-prop": "4.1.1", + "dot-prop": "4.2.0", "graceful-fs": "4.1.11", "make-dir": "1.0.0", "unique-string": "1.0.0", @@ -1919,9 +1938,9 @@ } }, "core-js": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", - "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.0.tgz", + "integrity": "sha1-VpwFCRi+ZIazg3VSAorgRmtxcIY=", "dev": true }, "core-util-is": { @@ -1935,14 +1954,14 @@ "integrity": "sha1-GFvgGFEdhycN7czCkxceN2VauI8=", "dev": true, "requires": { - "babel-runtime": "6.23.0", + "babel-runtime": "6.25.0", "chokidar": "1.7.0", "duplexer": "0.1.1", "glob": "7.1.2", "glob2base": "0.0.12", "minimatch": "3.0.4", "mkdirp": "0.5.1", - "resolve": "1.3.3", + "resolve": "1.4.0", "safe-buffer": "5.1.1", "shell-quote": "1.6.1", "subarg": "1.0.0" @@ -1964,7 +1983,7 @@ "requires": { "lru-cache": "4.1.1", "shebang-command": "1.2.0", - "which": "1.2.14" + "which": "1.3.0" } }, "cryptiles": { @@ -2028,9 +2047,9 @@ } }, "debug": { - "version": "2.6.8", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.0.0.tgz", + "integrity": "sha512-XQkHxxqbsCb+zFurCHbotmJZl5jXsxvkRt952pT6Hpo7LmjWAJF12d9/kqBg5owjbLADbBDli1olravjSiSg8g==", "requires": { "ms": "2.0.0" } @@ -2106,9 +2125,9 @@ "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" }, "depd": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz", - "integrity": "sha1-4b2Cxqq2ztlluXuIsX7T5SjKGMM=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", + "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", "dev": true }, "destroy": { @@ -2142,9 +2161,9 @@ } }, "dot-prop": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.1.1.tgz", - "integrity": "sha1-qEk/C3te7sglJbXHWH+n3nyoWcE=", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", + "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", "dev": true, "requires": { "is-obj": "1.0.1" @@ -2178,9 +2197,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.16", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.16.tgz", - "integrity": "sha1-0OAmc1dUdwkBrjAaIWZMukXZL30=" + "version": "1.3.18", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.18.tgz", + "integrity": "sha1-PcyZ2j5rZl9qu8ccKK1Ros1zGpw=" }, "empower-core": { "version": "0.6.2", @@ -2189,7 +2208,7 @@ "dev": true, "requires": { "call-signature": "0.0.2", - "core-js": "2.4.1" + "core-js": "2.5.0" } }, "encodeurl": { @@ -2220,13 +2239,14 @@ } }, "es-abstract": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.7.0.tgz", - "integrity": "sha1-363ndOAb/Nl/lhgCmMRJyGI/uUw=", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.8.0.tgz", + "integrity": "sha512-Cf9/h5MrXtExM20gSS55YFrGKCyPrRBjIVBtVyy8vmlsDfe0NPKMWj65tPLgzyfPuapWxh5whpXCtW4+AW5mRg==", "dev": true, "requires": { "es-to-primitive": "1.1.1", "function-bind": "1.1.0", + "has": "1.0.1", "is-callable": "1.1.3", "is-regex": "1.0.4" } @@ -2293,9 +2313,9 @@ } }, "eslint": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.3.0.tgz", - "integrity": "sha1-/NfJY3a780yF7mftABKimWQrEI8=", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.4.1.tgz", + "integrity": "sha1-mc1+r8/8ov+Zpcj18qR01jZLS9M=", "requires": { "ajv": "5.2.2", "babel-code-frame": "6.22.0", @@ -2305,7 +2325,7 @@ "debug": "2.6.8", "doctrine": "2.0.0", "eslint-scope": "3.7.1", - "espree": "3.4.3", + "espree": "3.5.0", "esquery": "1.0.0", "estraverse": "4.2.0", "esutils": "2.0.2", @@ -2315,9 +2335,9 @@ "globals": "9.18.0", "ignore": "3.3.3", "imurmurhash": "0.1.4", - "inquirer": "3.2.0", + "inquirer": "3.2.1", "is-resolvable": "1.0.0", - "js-yaml": "3.9.0", + "js-yaml": "3.9.1", "json-stable-stringify": "1.0.1", "levn": "0.3.0", "lodash": "4.17.4", @@ -2329,7 +2349,7 @@ "pluralize": "4.0.0", "progress": "2.0.0", "require-uncached": "1.0.3", - "semver": "5.3.0", + "semver": "5.4.1", "strip-json-comments": "2.0.1", "table": "4.0.1", "text-table": "0.2.0" @@ -2346,11 +2366,6 @@ "json-stable-stringify": "1.0.1" } }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", @@ -2368,68 +2383,23 @@ "supports-color": "2.0.0" } }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + "debug": { + "version": "2.6.8", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", + "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", + "requires": { + "ms": "2.0.0" + } }, "pluralize": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-4.0.0.tgz", "integrity": "sha1-WbcIwcAZCi9pLxx2GMRGsFL9F2I=" }, - "progress": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", - "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=" - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": { - "ansi-regex": "3.0.0" - } - } - } - }, "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - }, - "table": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/table/-/table-4.0.1.tgz", - "integrity": "sha1-qBFsEz+sLGH0pCCrbN9cTWHw5DU=", - "requires": { - "ajv": "4.11.8", - "ajv-keywords": "1.5.1", - "chalk": "1.1.3", - "lodash": "4.17.4", - "slice-ansi": "0.0.4", - "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=", - "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" - } - } - } } } }, @@ -2440,7 +2410,18 @@ "dev": true, "requires": { "debug": "2.6.8", - "resolve": "1.3.3" + "resolve": "1.4.0" + }, + "dependencies": { + "debug": { + "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" + } + } } }, "eslint-module-utils": { @@ -2453,6 +2434,15 @@ "pkg-dir": "1.0.0" }, "dependencies": { + "debug": { + "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" + } + }, "find-up": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", @@ -2501,6 +2491,15 @@ "read-pkg-up": "2.0.0" }, "dependencies": { + "debug": { + "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" + } + }, "doctrine": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", @@ -2525,9 +2524,9 @@ } }, "eslint-plugin-typescript": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-typescript/-/eslint-plugin-typescript-0.3.0.tgz", - "integrity": "sha1-vDUl7zp/NeDm6qoBYXM8gmcxc/0=", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-typescript/-/eslint-plugin-typescript-0.5.0.tgz", + "integrity": "sha1-1sWzXnSNKQHomuvyFzGXTWUvFm4=", "dev": true, "requires": { "requireindex": "1.1.0" @@ -2563,9 +2562,9 @@ } }, "espree": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.4.3.tgz", - "integrity": "sha1-KRC1zNSc6JPC//+qtP2LOjG4I3Q=", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.0.tgz", + "integrity": "sha1-mDWGJb3QVYYeon4oZ+pyn69GPY0=", "requires": { "acorn": "5.1.1", "acorn-jsx": "3.0.1" @@ -2582,7 +2581,7 @@ "integrity": "sha1-HFz2y8zDLm9jk4C9T5kfq5up0iY=", "dev": true, "requires": { - "core-js": "2.4.1" + "core-js": "2.5.0" } }, "esquery": { @@ -2672,9 +2671,9 @@ } }, "express": { - "version": "4.15.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.15.3.tgz", - "integrity": "sha1-urZdDwOqgMNYQIly/HAPkWlEtmI=", + "version": "4.15.4", + "resolved": "https://registry.npmjs.org/express/-/express-4.15.4.tgz", + "integrity": "sha1-Ay4iU0ic+PzgJma+yj0R7XotrtE=", "dev": true, "requires": { "accepts": "1.3.3", @@ -2683,23 +2682,23 @@ "content-type": "1.0.2", "cookie": "0.3.1", "cookie-signature": "1.0.6", - "debug": "2.6.7", - "depd": "1.1.0", + "debug": "2.6.8", + "depd": "1.1.1", "encodeurl": "1.0.1", "escape-html": "1.0.3", "etag": "1.8.0", - "finalhandler": "1.0.3", + "finalhandler": "1.0.4", "fresh": "0.5.0", "merge-descriptors": "1.0.1", "methods": "1.1.2", "on-finished": "2.3.0", "parseurl": "1.3.1", "path-to-regexp": "0.1.7", - "proxy-addr": "1.1.4", - "qs": "6.4.0", + "proxy-addr": "1.1.5", + "qs": "6.5.0", "range-parser": "1.2.0", - "send": "0.15.3", - "serve-static": "1.12.3", + "send": "0.15.4", + "serve-static": "1.12.4", "setprototypeof": "1.0.3", "statuses": "1.3.1", "type-is": "1.6.15", @@ -2708,13 +2707,19 @@ }, "dependencies": { "debug": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz", - "integrity": "sha1-krrR9tBbu2u6Isyoi80OyJTChh4=", + "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" } + }, + "qs": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.0.tgz", + "integrity": "sha512-fjVFjW9yhqMhVGwRExCXLhJKrLlkYSaxNWdyc9rmHlrVZbk35YHH312dFd7191uQeXkI3mKLZTIbSvIeFwFemg==", + "dev": true } } }, @@ -2729,7 +2734,7 @@ "integrity": "sha1-HtkZnanL/i7y96MbL96LDRI2iXI=", "requires": { "iconv-lite": "0.4.18", - "jschardet": "1.5.0", + "jschardet": "1.5.1", "tmp": "0.0.31" } }, @@ -2743,9 +2748,9 @@ } }, "extsprintf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", - "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" }, "fast-deep-equal": { "version": "1.0.0", @@ -2763,6 +2768,14 @@ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "requires": { + "escape-string-regexp": "1.0.5" + } + }, "file-entry-cache": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", @@ -2812,12 +2825,12 @@ } }, "finalhandler": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.3.tgz", - "integrity": "sha1-70fneVDpmXgOhgIqVg4yF+DQzIk=", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.4.tgz", + "integrity": "sha512-16l/r8RgzlXKmFOhZpHBztvye+lAhC5SU7hXavnerC9UfZqZxxXl3BzL8MhffPT3kF61lj9Oav2LKEzh0ei7tg==", "dev": true, "requires": { - "debug": "2.6.7", + "debug": "2.6.8", "encodeurl": "1.0.1", "escape-html": "1.0.3", "on-finished": "2.3.0", @@ -2827,9 +2840,9 @@ }, "dependencies": { "debug": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz", - "integrity": "sha1-krrR9tBbu2u6Isyoi80OyJTChh4=", + "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" @@ -2868,7 +2881,7 @@ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz", "integrity": "sha1-+oZxTnLCHbiGAXYezy9VXRq8a5Y=", "requires": { - "circular-json": "0.3.1", + "circular-json": "0.3.3", "del": "2.2.2", "graceful-fs": "4.1.11", "write": "0.2.1" @@ -2913,7 +2926,7 @@ "requires": { "asynckit": "0.4.0", "combined-stream": "1.0.5", - "mime-types": "2.1.15" + "mime-types": "2.1.16" } }, "formatio": { @@ -2943,6 +2956,17 @@ "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=", "dev": true }, + "fs-extra": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.1.tgz", + "integrity": "sha1-f8DGyJV/mD9X8waiTlud3Y0N2IA=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "3.0.1", + "universalify": "0.1.1" + } + }, "fs-readdir-recursive": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.0.0.tgz", @@ -2967,15 +2991,13 @@ "dependencies": { "abbrev": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz", - "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=", + "bundled": true, "dev": true, "optional": true }, "ajv": { "version": "4.11.8", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -2985,21 +3007,18 @@ }, "ansi-regex": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "bundled": true, "dev": true }, "aproba": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.1.1.tgz", - "integrity": "sha1-ldNgDwdxCqDpKYxyatXs8urLq6s=", + "bundled": true, "dev": true, "optional": true }, "are-we-there-yet": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", - "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3009,49 +3028,42 @@ }, "asn1": { "version": "0.2.3", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "bundled": true, "dev": true, "optional": true }, "assert-plus": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", + "bundled": true, "dev": true, "optional": true }, "asynckit": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "bundled": true, "dev": true, "optional": true }, "aws-sign2": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "bundled": true, "dev": true, "optional": true }, "aws4": { "version": "1.6.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", - "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", + "bundled": true, "dev": true, "optional": true }, "balanced-match": { "version": "0.4.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "bundled": true, "dev": true }, "bcrypt-pbkdf": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", - "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3060,8 +3072,7 @@ }, "block-stream": { "version": "0.0.9", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "bundled": true, "dev": true, "requires": { "inherits": "2.0.3" @@ -3069,8 +3080,7 @@ }, "boom": { "version": "2.10.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "bundled": true, "dev": true, "requires": { "hoek": "2.16.3" @@ -3078,8 +3088,7 @@ }, "brace-expansion": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz", - "integrity": "sha1-Pv/DxQ4ABTH7cg6v+A8K6O8jz1k=", + "bundled": true, "dev": true, "requires": { "balanced-match": "0.4.2", @@ -3088,34 +3097,29 @@ }, "buffer-shims": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", - "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", + "bundled": true, "dev": true }, "caseless": { "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "bundled": true, "dev": true, "optional": true }, "co": { "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "bundled": true, "dev": true, "optional": true }, "code-point-at": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "bundled": true, "dev": true }, "combined-stream": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "bundled": true, "dev": true, "requires": { "delayed-stream": "1.0.0" @@ -3123,26 +3127,22 @@ }, "concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "bundled": true, "dev": true }, "console-control-strings": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "bundled": true, "dev": true }, "core-util-is": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "bundled": true, "dev": true }, "cryptiles": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3151,8 +3151,7 @@ }, "dashdash": { "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3161,8 +3160,7 @@ "dependencies": { "assert-plus": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "bundled": true, "dev": true, "optional": true } @@ -3170,8 +3168,7 @@ }, "debug": { "version": "2.6.8", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3180,28 +3177,24 @@ }, "deep-extend": { "version": "0.4.2", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", - "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=", + "bundled": true, "dev": true, "optional": true }, "delayed-stream": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "bundled": true, "dev": true }, "delegates": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "bundled": true, "dev": true, "optional": true }, "ecc-jsbn": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", - "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3210,28 +3203,24 @@ }, "extend": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", + "bundled": true, "dev": true, "optional": true }, "extsprintf": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", - "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=", + "bundled": true, "dev": true }, "forever-agent": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "bundled": true, "dev": true, "optional": true }, "form-data": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", - "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3242,14 +3231,12 @@ }, "fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "bundled": true, "dev": true }, "fstream": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", - "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "bundled": true, "dev": true, "requires": { "graceful-fs": "4.1.11", @@ -3260,8 +3247,7 @@ }, "fstream-ignore": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz", - "integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3272,8 +3258,7 @@ }, "gauge": { "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3289,8 +3274,7 @@ }, "getpass": { "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3299,8 +3283,7 @@ "dependencies": { "assert-plus": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "bundled": true, "dev": true, "optional": true } @@ -3308,8 +3291,7 @@ }, "glob": { "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "bundled": true, "dev": true, "requires": { "fs.realpath": "1.0.0", @@ -3322,21 +3304,18 @@ }, "graceful-fs": { "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "bundled": true, "dev": true }, "har-schema": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", - "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", + "bundled": true, "dev": true, "optional": true }, "har-validator": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", - "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3346,15 +3325,13 @@ }, "has-unicode": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "bundled": true, "dev": true, "optional": true }, "hawk": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3366,14 +3343,12 @@ }, "hoek": { "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "bundled": true, "dev": true }, "http-signature": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3384,8 +3359,7 @@ }, "inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "bundled": true, "dev": true, "requires": { "once": "1.4.0", @@ -3394,21 +3368,18 @@ }, "inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "bundled": true, "dev": true }, "ini": { "version": "1.3.4", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", - "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=", + "bundled": true, "dev": true, "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "bundled": true, "dev": true, "requires": { "number-is-nan": "1.0.1" @@ -3416,28 +3387,24 @@ }, "is-typedarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "bundled": true, "dev": true, "optional": true }, "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "bundled": true, "dev": true }, "isstream": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "bundled": true, "dev": true, "optional": true }, "jodid25519": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz", - "integrity": "sha1-BtSRIlUJNBlHfUJWM2BuDpB4KWc=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3446,22 +3413,19 @@ }, "jsbn": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "bundled": true, "dev": true, "optional": true }, "json-schema": { "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "bundled": true, "dev": true, "optional": true }, "json-stable-stringify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3470,22 +3434,19 @@ }, "json-stringify-safe": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "bundled": true, "dev": true, "optional": true }, "jsonify": { "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "bundled": true, "dev": true, "optional": true }, "jsprim": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz", - "integrity": "sha1-o7h+QCmNjDgFUtjMdiigu5WiKRg=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3497,8 +3458,7 @@ "dependencies": { "assert-plus": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "bundled": true, "dev": true, "optional": true } @@ -3506,14 +3466,12 @@ }, "mime-db": { "version": "1.27.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz", - "integrity": "sha1-gg9XIpa70g7CXtVeW13oaeVDbrE=", + "bundled": true, "dev": true }, "mime-types": { "version": "2.1.15", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz", - "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=", + "bundled": true, "dev": true, "requires": { "mime-db": "1.27.0" @@ -3521,8 +3479,7 @@ }, "minimatch": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "bundled": true, "dev": true, "requires": { "brace-expansion": "1.1.7" @@ -3530,14 +3487,12 @@ }, "minimist": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "bundled": true, "dev": true }, "mkdirp": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "bundled": true, "dev": true, "requires": { "minimist": "0.0.8" @@ -3545,15 +3500,13 @@ }, "ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "bundled": true, "dev": true, "optional": true }, "node-pre-gyp": { "version": "0.6.36", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.36.tgz", - "integrity": "sha1-22BBEst04NR3VU6bUFsXq936t4Y=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3570,8 +3523,7 @@ }, "nopt": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3581,8 +3533,7 @@ }, "npmlog": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.0.tgz", - "integrity": "sha512-ocolIkZYZt8UveuiDS0yAkkIjid1o7lPG8cYm05yNYzBn8ykQtaiPMEGp8fY9tKdDgm8okpdKzkvu1y9hUYugA==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3594,28 +3545,24 @@ }, "number-is-nan": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "bundled": true, "dev": true }, "oauth-sign": { "version": "0.8.2", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "bundled": true, "dev": true, "optional": true }, "object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "bundled": true, "dev": true, "optional": true }, "once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "bundled": true, "dev": true, "requires": { "wrappy": "1.0.2" @@ -3623,22 +3570,19 @@ }, "os-homedir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "bundled": true, "dev": true, "optional": true }, "os-tmpdir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "bundled": true, "dev": true, "optional": true }, "osenv": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz", - "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3648,41 +3592,35 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "bundled": true, "dev": true }, "performance-now": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", - "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", + "bundled": true, "dev": true, "optional": true }, "process-nextick-args": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "bundled": true, "dev": true }, "punycode": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "bundled": true, "dev": true, "optional": true }, "qs": { "version": "6.4.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", - "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", + "bundled": true, "dev": true, "optional": true }, "rc": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz", - "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3694,8 +3632,7 @@ "dependencies": { "minimist": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "bundled": true, "dev": true, "optional": true } @@ -3703,8 +3640,7 @@ }, "readable-stream": { "version": "2.2.9", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.9.tgz", - "integrity": "sha1-z3jsb0ptHrQ9JkiMrJfwQudLf8g=", + "bundled": true, "dev": true, "requires": { "buffer-shims": "1.0.0", @@ -3718,8 +3654,7 @@ }, "request": { "version": "2.81.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", - "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3749,8 +3684,7 @@ }, "rimraf": { "version": "2.6.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", - "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", + "bundled": true, "dev": true, "requires": { "glob": "7.1.2" @@ -3758,35 +3692,30 @@ }, "safe-buffer": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", - "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=", + "bundled": true, "dev": true }, "semver": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "bundled": true, "dev": true, "optional": true }, "set-blocking": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "bundled": true, "dev": true, "optional": true }, "signal-exit": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "bundled": true, "dev": true, "optional": true }, "sntp": { "version": "1.0.9", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3795,8 +3724,7 @@ }, "sshpk": { "version": "1.13.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.0.tgz", - "integrity": "sha1-/yo+T9BEl1Vf7Zezmg/YL6+zozw=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3813,8 +3741,7 @@ "dependencies": { "assert-plus": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "bundled": true, "dev": true, "optional": true } @@ -3822,8 +3749,7 @@ }, "string_decoder": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz", - "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=", + "bundled": true, "dev": true, "requires": { "safe-buffer": "5.0.1" @@ -3831,8 +3757,7 @@ }, "string-width": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "bundled": true, "dev": true, "requires": { "code-point-at": "1.1.0", @@ -3842,15 +3767,13 @@ }, "stringstream": { "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", + "bundled": true, "dev": true, "optional": true }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "bundled": true, "dev": true, "requires": { "ansi-regex": "2.1.1" @@ -3858,15 +3781,13 @@ }, "strip-json-comments": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "bundled": true, "dev": true, "optional": true }, "tar": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", - "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "bundled": true, "dev": true, "requires": { "block-stream": "0.0.9", @@ -3876,8 +3797,7 @@ }, "tar-pack": { "version": "3.4.0", - "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.4.0.tgz", - "integrity": "sha1-I74tf2cagzk3bL2wuP4/3r8xeYQ=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3893,8 +3813,7 @@ }, "tough-cookie": { "version": "2.3.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", - "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3903,8 +3822,7 @@ }, "tunnel-agent": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3913,35 +3831,30 @@ }, "tweetnacl": { "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "bundled": true, "dev": true, "optional": true }, "uid-number": { "version": "0.0.6", - "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", - "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=", + "bundled": true, "dev": true, "optional": true }, "util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "bundled": true, "dev": true }, "uuid": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz", - "integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE=", + "bundled": true, "dev": true, "optional": true }, "verror": { "version": "1.3.6", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", - "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3950,13 +3863,17 @@ }, "wide-align": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", - "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", + "bundled": true, "dev": true, "optional": true, "requires": { "string-width": "1.0.2" } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true } } }, @@ -4272,12 +4189,12 @@ } }, "http-errors": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.1.tgz", - "integrity": "sha1-X4uO2YrKVFZWv1cplzh/kEpyIlc=", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", + "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", "dev": true, "requires": { - "depd": "1.1.0", + "depd": "1.1.1", "inherits": "2.0.3", "setprototypeof": "1.0.3", "statuses": "1.3.1" @@ -4289,7 +4206,7 @@ "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", "requires": { "assert-plus": "0.2.0", - "jsprim": "1.4.0", + "jsprim": "1.4.1", "sshpk": "1.13.1" } }, @@ -4299,10 +4216,10 @@ "integrity": "sha512-ztKnkZV0TmxnumCDHHgLGNiDnotu4EHCp9YMkznWuo4uTtCyJ+cu+RNcxUeXYKTllpvLFWnbfWry09yzszgg+A==", "dev": true, "requires": { - "dot-prop": "4.1.1", + "dot-prop": "4.2.0", "es6-error": "4.0.2", "graceful-fs": "4.1.11", - "indent-string": "3.1.0", + "indent-string": "3.2.0", "json5": "0.5.1", "lodash.clonedeep": "4.5.0", "lodash.clonedeepwith": "4.5.0", @@ -4386,9 +4303,9 @@ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" }, "indent-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.1.0.tgz", - "integrity": "sha1-CP9DNGAziDmbMp5rlTjcejz13n0=", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", "dev": true }, "inflight": { @@ -4411,12 +4328,12 @@ "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=" }, "inquirer": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.2.0.tgz", - "integrity": "sha512-4CyUYMP7lOBkiUU1rR24WGrfRX6SucwbY2Mqb1PdApU24wnTIk4TsnkQwV72dDdIKZ2ycLP+fWCV+tA7wwgoew==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.2.1.tgz", + "integrity": "sha512-QgW3eiPN8gpj/K5vVpHADJJgrrF0ho/dZGylikGX7iqAdRgC9FVKYKWFLx6hZDBFcOLEoSqINYrVPeFAeG/PdA==", "requires": { "ansi-escapes": "2.0.0", - "chalk": "2.0.1", + "chalk": "2.1.0", "cli-cursor": "2.1.0", "cli-width": "2.1.0", "external-editor": "2.0.4", @@ -4431,72 +4348,16 @@ "through": "2.3.8" }, "dependencies": { - "ansi-escapes": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-2.0.0.tgz", - "integrity": "sha1-W65SvkJIeN2Xg+iRDj/Cki6DyBs=" - }, "ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "requires": { - "restore-cursor": "2.0.0" - } - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "requires": { - "escape-string-regexp": "1.0.5" - } - }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" }, - "mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "requires": { - "mimic-fn": "1.1.0" - } - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "requires": { - "onetime": "2.0.1", - "signal-exit": "3.0.2" - } - }, - "run-async": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", - "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", - "requires": { - "is-promise": "2.1.0" - } - }, - "rx-lite": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", - "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=" - }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -4531,9 +4392,9 @@ } }, "ipaddr.js": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.3.0.tgz", - "integrity": "sha1-HgOlL9rYOou7KyXL9JmLTP/NPew=", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.4.0.tgz", + "integrity": "sha1-KWrKh4qCGBbluF0KKFqZvP9FgvA=", "dev": true }, "irregular-plurals": { @@ -4570,7 +4431,7 @@ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { - "binary-extensions": "1.8.0" + "binary-extensions": "1.9.0" } }, "is-buffer": { @@ -4900,7 +4761,7 @@ "babel-types": "6.25.0", "babylon": "6.17.4", "istanbul-lib-coverage": "1.1.1", - "semver": "5.3.0" + "semver": "5.4.1" } }, "js-string-escape": { @@ -4915,9 +4776,9 @@ "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" }, "js-yaml": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.9.0.tgz", - "integrity": "sha512-0LoUNELX4S+iofCT8f4uEHIiRBR+c2AINyC8qRWfC6QNruLtxVZRJaPcu/xwMgFIgDxF25tGHaDjvxzJCNE9yw==", + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.9.1.tgz", + "integrity": "sha512-CbcG379L1e+mWBnLvHWWeLs8GyV/EMw862uLI3c+GxVyDHWZcjZinwuBd3iW2pgxgIlksW/1vNJa4to+RvDOww==", "requires": { "argparse": "1.0.9", "esprima": "4.0.0" @@ -4930,9 +4791,9 @@ "optional": true }, "jschardet": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/jschardet/-/jschardet-1.5.0.tgz", - "integrity": "sha512-+Q8JsoEQbrdE+a/gg1F9XO92gcKXgpE5UACqr0sIubjDmBEkd+OOWPGzQeMrWSLxd73r4dHxBeRW7edHu5LmJQ==" + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/jschardet/-/jschardet-1.5.1.tgz", + "integrity": "sha512-vE2hT1D0HLZCLLclfBSfkfTTedhVj0fubHpJBHKwwUWX0nSbhPAfk+SG9rTX95BYNmau8rGFfCeaT6T5OW1C2A==" }, "jsdom": { "version": "11.1.0", @@ -4966,26 +4827,6 @@ "version": "4.0.13", "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" - }, - "request-promise-native": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.4.tgz", - "integrity": "sha1-hpiOyO7kCORVefzoO/0Fs635oVU=", - "requires": { - "request-promise-core": "1.1.1", - "stealthy-require": "1.1.1", - "tough-cookie": "2.3.2" - }, - "dependencies": { - "request-promise-core": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.1.tgz", - "integrity": "sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY=", - "requires": { - "lodash": "4.17.4" - } - } - } } } }, @@ -5044,14 +4885,14 @@ "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=" }, "jsprim": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz", - "integrity": "sha1-o7h+QCmNjDgFUtjMdiigu5WiKRg=", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "requires": { "assert-plus": "1.0.0", - "extsprintf": "1.0.2", + "extsprintf": "1.3.0", "json-schema": "0.2.3", - "verror": "1.3.6" + "verror": "1.10.0" }, "dependencies": { "assert-plus": { @@ -5109,11 +4950,21 @@ } }, "lighthouse-logger": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.0.0.tgz", - "integrity": "sha1-xqvfu78LSlQaszhkgCy62JRLzIw=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.0.1.tgz", + "integrity": "sha1-8HPYP3rLyWcpvxAKEhyPAGmRrmE=", "requires": { "debug": "2.6.8" + }, + "dependencies": { + "debug": { + "version": "2.6.8", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", + "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", + "requires": { + "ms": "2.0.0" + } + } } }, "linkify-it": { @@ -5349,9 +5200,9 @@ "dev": true }, "markdown-it": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.3.1.tgz", - "integrity": "sha1-L0tiKUjM3Bk9ZvPKLUMSWsSscyM=", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.3.2.tgz", + "integrity": "sha512-4J92IhJq1kGoyXddwzzfjr9cEKGexBfFsZooKYMhMLLlWa4+dlSPDUUP7y+xQOCebIj61aLmKlowg//YcdPP1w==", "dev": true, "requires": { "argparse": "1.0.9", @@ -5367,7 +5218,7 @@ "integrity": "sha1-NzIMqUSTgCT9a0IbJAGtNJNJWIo=", "dev": true, "requires": { - "markdown-it": "8.3.1" + "markdown-it": "8.3.2" } }, "markdownlint-cli": { @@ -5620,18 +5471,11 @@ "integrity": "sha1-SNJtI1WJZRcErFkWygYAGRQmaHg=" }, "mime-types": { - "version": "2.1.15", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz", - "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=", + "version": "2.1.16", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.16.tgz", + "integrity": "sha1-K4WKUuXs1RbbiXrCvodIeDBpjiM=", "requires": { - "mime-db": "1.27.0" - }, - "dependencies": { - "mime-db": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz", - "integrity": "sha1-gg9XIpa70g7CXtVeW13oaeVDbrE=" - } + "mime-db": "1.29.0" } }, "mimic-fn": { @@ -5692,6 +5536,11 @@ "minimatch": "3.0.4" } }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" + }, "nan": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/nan/-/nan-2.6.2.tgz", @@ -5762,7 +5611,7 @@ "rc": "1.2.1", "request": "2.81.0", "rimraf": "2.6.1", - "semver": "5.3.0", + "semver": "5.4.1", "tar": "2.2.1", "tar-pack": "3.4.0" } @@ -5800,7 +5649,7 @@ "requires": { "hosted-git-info": "2.5.0", "is-builtin-module": "1.0.0", - "semver": "5.3.0", + "semver": "5.4.1", "validate-npm-package-license": "3.0.1" } }, @@ -5886,9 +5735,9 @@ "integrity": "sha1-eumwew6oBNt+JfBctf5Al9TklJ8=" }, "nyc": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.0.3.tgz", - "integrity": "sha1-DCi8ZpqFFiFwm/eghQMDS+44ErY=", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.1.0.tgz", + "integrity": "sha1-1rPF4WiSolr2MTi6SEZ2qooi7ac=", "dev": true, "requires": { "archy": "1.0.0", @@ -5903,7 +5752,7 @@ "glob": "7.1.2", "istanbul-lib-coverage": "1.1.1", "istanbul-lib-hook": "1.0.7", - "istanbul-lib-instrument": "1.7.3", + "istanbul-lib-instrument": "1.7.4", "istanbul-lib-report": "1.1.1", "istanbul-lib-source-maps": "1.2.1", "istanbul-reports": "1.1.1", @@ -5914,7 +5763,7 @@ "resolve-from": "2.0.0", "rimraf": "2.6.1", "signal-exit": "3.0.2", - "spawn-wrap": "1.3.7", + "spawn-wrap": "1.3.8", "test-exclude": "4.1.1", "yargs": "8.0.2", "yargs-parser": "5.0.0" @@ -5922,8 +5771,7 @@ "dependencies": { "align-text": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "bundled": true, "dev": true, "requires": { "kind-of": "3.2.2", @@ -5933,26 +5781,22 @@ }, "amdefine": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "bundled": true, "dev": true }, "ansi-regex": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "bundled": true, "dev": true }, "ansi-styles": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "bundled": true, "dev": true }, "append-transform": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", - "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", + "bundled": true, "dev": true, "requires": { "default-require-extensions": "1.0.0" @@ -5960,58 +5804,50 @@ }, "archy": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "bundled": true, "dev": true }, "arr-diff": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "bundled": true, "dev": true, "requires": { - "arr-flatten": "1.0.3" + "arr-flatten": "1.1.0" } }, "arr-flatten": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.0.3.tgz", - "integrity": "sha1-onTthawIhJtr14R8RYB0XcUa37E=", + "version": "1.1.0", + "bundled": true, "dev": true }, "array-unique": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "bundled": true, "dev": true }, "arrify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "bundled": true, "dev": true }, "async": { "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "bundled": true, "dev": true }, "babel-code-frame": { "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz", - "integrity": "sha1-AnYgvuVnqIwyVhV05/0IAdMxGOQ=", + "bundled": true, "dev": true, "requires": { "chalk": "1.1.3", "esutils": "2.0.2", - "js-tokens": "3.0.1" + "js-tokens": "3.0.2" } }, "babel-generator": { "version": "6.25.0", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.25.0.tgz", - "integrity": "sha1-M6GvcNXyiQrrRlpKd5PB32qeqfw=", + "bundled": true, "dev": true, "requires": { "babel-messages": "6.23.0", @@ -6026,8 +5862,7 @@ }, "babel-messages": { "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "bundled": true, "dev": true, "requires": { "babel-runtime": "6.23.0" @@ -6035,8 +5870,7 @@ }, "babel-runtime": { "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "integrity": "sha1-CpSJ8UTecO+zzkMArM2zKeL8VDs=", + "bundled": true, "dev": true, "requires": { "core-js": "2.4.1", @@ -6045,8 +5879,7 @@ }, "babel-template": { "version": "6.25.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz", - "integrity": "sha1-ZlJBFmt8KqTGGdceGSlpVSsQwHE=", + "bundled": true, "dev": true, "requires": { "babel-runtime": "6.23.0", @@ -6058,8 +5891,7 @@ }, "babel-traverse": { "version": "6.25.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", - "integrity": "sha1-IldJfi/NGbie3BPEyROB+VEklvE=", + "bundled": true, "dev": true, "requires": { "babel-code-frame": "6.22.0", @@ -6075,8 +5907,7 @@ }, "babel-types": { "version": "6.25.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz", - "integrity": "sha1-cK+ySNVmDl0Y+BHZHIMDtUE0oY4=", + "bundled": true, "dev": true, "requires": { "babel-runtime": "6.23.0", @@ -6087,20 +5918,17 @@ }, "babylon": { "version": "6.17.4", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.17.4.tgz", - "integrity": "sha1-Pot0AriNIsNCPhN6FXeIOxX/hpo=", + "bundled": true, "dev": true }, "balanced-match": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "bundled": true, "dev": true }, "brace-expansion": { "version": "1.1.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "bundled": true, "dev": true, "requires": { "balanced-match": "1.0.0", @@ -6109,8 +5937,7 @@ }, "braces": { "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "bundled": true, "dev": true, "requires": { "expand-range": "1.8.2", @@ -6120,14 +5947,12 @@ }, "builtin-modules": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "bundled": true, "dev": true }, "caching-transform": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-1.0.1.tgz", - "integrity": "sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE=", + "bundled": true, "dev": true, "requires": { "md5-hex": "1.3.0", @@ -6137,15 +5962,13 @@ }, "camelcase": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "bundled": true, "dev": true, "optional": true }, "center-align": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -6155,8 +5978,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "bundled": true, "dev": true, "requires": { "ansi-styles": "2.2.1", @@ -6168,8 +5990,7 @@ }, "cliui": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -6180,8 +6001,7 @@ "dependencies": { "wordwrap": { "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "bundled": true, "dev": true, "optional": true } @@ -6189,38 +6009,32 @@ }, "code-point-at": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "bundled": true, "dev": true }, "commondir": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "bundled": true, "dev": true }, "concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "bundled": true, "dev": true }, "convert-source-map": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz", - "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=", + "bundled": true, "dev": true }, "core-js": { "version": "2.4.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", - "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", + "bundled": true, "dev": true }, "cross-spawn": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", - "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", + "bundled": true, "dev": true, "requires": { "lru-cache": "4.1.1", @@ -6229,8 +6043,7 @@ }, "debug": { "version": "2.6.8", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", + "bundled": true, "dev": true, "requires": { "ms": "2.0.0" @@ -6238,20 +6051,17 @@ }, "debug-log": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/debug-log/-/debug-log-1.0.1.tgz", - "integrity": "sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8=", + "bundled": true, "dev": true }, "decamelize": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "bundled": true, "dev": true }, "default-require-extensions": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", - "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", + "bundled": true, "dev": true, "requires": { "strip-bom": "2.0.0" @@ -6259,8 +6069,7 @@ }, "detect-indent": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "bundled": true, "dev": true, "requires": { "repeating": "2.0.1" @@ -6268,8 +6077,7 @@ }, "error-ex": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", - "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "bundled": true, "dev": true, "requires": { "is-arrayish": "0.2.1" @@ -6277,20 +6085,17 @@ }, "escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "bundled": true, "dev": true }, "esutils": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "bundled": true, "dev": true }, "execa": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.5.1.tgz", - "integrity": "sha1-3j+4XLjW6RyFvLzrFkWBeFy1ezY=", + "bundled": true, "dev": true, "requires": { "cross-spawn": "4.0.2", @@ -6304,8 +6109,7 @@ }, "expand-brackets": { "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "bundled": true, "dev": true, "requires": { "is-posix-bracket": "0.1.1" @@ -6313,8 +6117,7 @@ }, "expand-range": { "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "bundled": true, "dev": true, "requires": { "fill-range": "2.2.3" @@ -6322,8 +6125,7 @@ }, "extglob": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "bundled": true, "dev": true, "requires": { "is-extglob": "1.0.0" @@ -6331,14 +6133,12 @@ }, "filename-regex": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "bundled": true, "dev": true }, "fill-range": { "version": "2.2.3", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", - "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "bundled": true, "dev": true, "requires": { "is-number": "2.1.0", @@ -6350,8 +6150,7 @@ }, "find-cache-dir": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", - "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", + "bundled": true, "dev": true, "requires": { "commondir": "1.0.1", @@ -6361,8 +6160,7 @@ }, "find-up": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "bundled": true, "dev": true, "requires": { "locate-path": "2.0.0" @@ -6370,14 +6168,12 @@ }, "for-in": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "bundled": true, "dev": true }, "for-own": { "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "bundled": true, "dev": true, "requires": { "for-in": "1.0.2" @@ -6385,8 +6181,7 @@ }, "foreground-child": { "version": "1.5.6", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", - "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", + "bundled": true, "dev": true, "requires": { "cross-spawn": "4.0.2", @@ -6395,20 +6190,17 @@ }, "fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "bundled": true, "dev": true }, "get-caller-file": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "bundled": true, "dev": true }, "get-stream": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", + "bundled": true, "dev": true, "requires": { "object-assign": "4.1.1", @@ -6417,8 +6209,7 @@ }, "glob": { "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", + "bundled": true, "dev": true, "requires": { "fs.realpath": "1.0.0", @@ -6431,8 +6222,7 @@ }, "glob-base": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "bundled": true, "dev": true, "requires": { "glob-parent": "2.0.0", @@ -6441,8 +6231,7 @@ }, "glob-parent": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "bundled": true, "dev": true, "requires": { "is-glob": "2.0.1" @@ -6450,20 +6239,17 @@ }, "globals": { "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=", + "bundled": true, "dev": true }, "graceful-fs": { "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "bundled": true, "dev": true }, "handlebars": { "version": "4.0.10", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.10.tgz", - "integrity": "sha1-PTDHGLCaPZbyPqTMH0A8TTup/08=", + "bundled": true, "dev": true, "requires": { "async": "1.5.2", @@ -6474,8 +6260,7 @@ "dependencies": { "source-map": { "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "bundled": true, "dev": true, "requires": { "amdefine": "1.0.1" @@ -6485,8 +6270,7 @@ }, "has-ansi": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "bundled": true, "dev": true, "requires": { "ansi-regex": "2.1.1" @@ -6494,26 +6278,22 @@ }, "has-flag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "bundled": true, "dev": true }, "hosted-git-info": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.4.2.tgz", - "integrity": "sha1-AHa59GonBQbduq6lZJaJdGBhKmc=", + "version": "2.5.0", + "bundled": true, "dev": true }, "imurmurhash": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "bundled": true, "dev": true }, "inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "bundled": true, "dev": true, "requires": { "once": "1.4.0", @@ -6522,14 +6302,12 @@ }, "inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "bundled": true, "dev": true }, "invariant": { "version": "2.2.2", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", - "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", + "bundled": true, "dev": true, "requires": { "loose-envify": "1.3.1" @@ -6537,26 +6315,22 @@ }, "invert-kv": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "bundled": true, "dev": true }, "is-arrayish": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "bundled": true, "dev": true }, "is-buffer": { "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz", - "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=", + "bundled": true, "dev": true }, "is-builtin-module": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "bundled": true, "dev": true, "requires": { "builtin-modules": "1.1.1" @@ -6564,14 +6338,12 @@ }, "is-dotfile": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "bundled": true, "dev": true }, "is-equal-shallow": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "bundled": true, "dev": true, "requires": { "is-primitive": "2.0.0" @@ -6579,20 +6351,17 @@ }, "is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "bundled": true, "dev": true }, "is-extglob": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "bundled": true, "dev": true }, "is-finite": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "bundled": true, "dev": true, "requires": { "number-is-nan": "1.0.1" @@ -6600,8 +6369,7 @@ }, "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "bundled": true, "dev": true, "requires": { "number-is-nan": "1.0.1" @@ -6609,8 +6377,7 @@ }, "is-glob": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "bundled": true, "dev": true, "requires": { "is-extglob": "1.0.0" @@ -6618,8 +6385,7 @@ }, "is-number": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "bundled": true, "dev": true, "requires": { "kind-of": "3.2.2" @@ -6627,44 +6393,37 @@ }, "is-posix-bracket": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "bundled": true, "dev": true }, "is-primitive": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "bundled": true, "dev": true }, "is-stream": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "bundled": true, "dev": true }, "is-utf8": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "bundled": true, "dev": true }, "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "bundled": true, "dev": true }, "isexe": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "bundled": true, "dev": true }, "isobject": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "bundled": true, "dev": true, "requires": { "isarray": "1.0.0" @@ -6672,23 +6431,20 @@ }, "istanbul-lib-coverage": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz", - "integrity": "sha1-c7+5mIhSmUFck9OKPprfeEp3qdo=", + "bundled": true, "dev": true }, "istanbul-lib-hook": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.0.7.tgz", - "integrity": "sha1-3WYH8DB2V4/n1vKmMM8UO0m6zdw=", + "bundled": true, "dev": true, "requires": { "append-transform": "0.4.0" } }, "istanbul-lib-instrument": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.7.3.tgz", - "integrity": "sha1-klsjkWPqvdaMxASPUsL6T4mez6c=", + "version": "1.7.4", + "bundled": true, "dev": true, "requires": { "babel-generator": "6.25.0", @@ -6702,8 +6458,7 @@ }, "istanbul-lib-report": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz", - "integrity": "sha1-8OVfVmVf+jQiIIC3oM1HYOFAX8k=", + "bundled": true, "dev": true, "requires": { "istanbul-lib-coverage": "1.1.1", @@ -6714,8 +6469,7 @@ "dependencies": { "supports-color": { "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "bundled": true, "dev": true, "requires": { "has-flag": "1.0.0" @@ -6725,8 +6479,7 @@ }, "istanbul-lib-source-maps": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.1.tgz", - "integrity": "sha1-pv4ay6jOCO68Y45XLilNJnAIqgw=", + "bundled": true, "dev": true, "requires": { "debug": "2.6.8", @@ -6738,29 +6491,25 @@ }, "istanbul-reports": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.1.tgz", - "integrity": "sha1-BCvlyJ4XW8P4ZSPKqynAFOd/7k4=", + "bundled": true, "dev": true, "requires": { "handlebars": "4.0.10" } }, "js-tokens": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.1.tgz", - "integrity": "sha1-COnxMkhKLEWjCQfp3E1VZ7fxFNc=", + "version": "3.0.2", + "bundled": true, "dev": true }, "jsesc": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "bundled": true, "dev": true }, "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "bundled": true, "dev": true, "requires": { "is-buffer": "1.1.5" @@ -6768,15 +6517,13 @@ }, "lazy-cache": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "bundled": true, "dev": true, "optional": true }, "lcid": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "bundled": true, "dev": true, "requires": { "invert-kv": "1.0.0" @@ -6784,8 +6531,7 @@ }, "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=", + "bundled": true, "dev": true, "requires": { "graceful-fs": "4.1.11", @@ -6797,8 +6543,7 @@ }, "locate-path": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "bundled": true, "dev": true, "requires": { "p-locate": "2.0.0", @@ -6807,37 +6552,32 @@ "dependencies": { "path-exists": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "bundled": true, "dev": true } } }, "lodash": { "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "bundled": true, "dev": true }, "longest": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "bundled": true, "dev": true }, "loose-envify": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", - "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "bundled": true, "dev": true, "requires": { - "js-tokens": "3.0.1" + "js-tokens": "3.0.2" } }, "lru-cache": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", - "integrity": "sha1-Yi4y6CSItJJ5EUpPns9F581rulU=", + "bundled": true, "dev": true, "requires": { "pseudomap": "1.0.2", @@ -6846,8 +6586,7 @@ }, "md5-hex": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-1.3.0.tgz", - "integrity": "sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ=", + "bundled": true, "dev": true, "requires": { "md5-o-matic": "0.1.1" @@ -6855,14 +6594,12 @@ }, "md5-o-matic": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/md5-o-matic/-/md5-o-matic-0.1.1.tgz", - "integrity": "sha1-givM1l4RfFFPqxdrJZRdVBAKA8M=", + "bundled": true, "dev": true }, "mem": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "bundled": true, "dev": true, "requires": { "mimic-fn": "1.1.0" @@ -6870,8 +6607,7 @@ }, "merge-source-map": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz", - "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=", + "bundled": true, "dev": true, "requires": { "source-map": "0.5.6" @@ -6879,8 +6615,7 @@ }, "micromatch": { "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "bundled": true, "dev": true, "requires": { "arr-diff": "2.0.0", @@ -6900,14 +6635,12 @@ }, "mimic-fn": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz", - "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=", + "bundled": true, "dev": true }, "minimatch": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "bundled": true, "dev": true, "requires": { "brace-expansion": "1.1.8" @@ -6915,14 +6648,12 @@ }, "minimist": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "bundled": true, "dev": true }, "mkdirp": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "bundled": true, "dev": true, "requires": { "minimist": "0.0.8" @@ -6930,17 +6661,15 @@ }, "ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "bundled": true, "dev": true }, "normalize-package-data": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.8.tgz", - "integrity": "sha1-2Bntoqne29H/pWPqQHHZNngilbs=", + "version": "2.4.0", + "bundled": true, "dev": true, "requires": { - "hosted-git-info": "2.4.2", + "hosted-git-info": "2.5.0", "is-builtin-module": "1.0.0", "semver": "5.3.0", "validate-npm-package-license": "3.0.1" @@ -6948,8 +6677,7 @@ }, "normalize-path": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "bundled": true, "dev": true, "requires": { "remove-trailing-separator": "1.0.2" @@ -6957,8 +6685,7 @@ }, "npm-run-path": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "bundled": true, "dev": true, "requires": { "path-key": "2.0.1" @@ -6966,20 +6693,17 @@ }, "number-is-nan": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "bundled": true, "dev": true }, "object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "bundled": true, "dev": true }, "object.omit": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "bundled": true, "dev": true, "requires": { "for-own": "0.1.5", @@ -6988,8 +6712,7 @@ }, "once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "bundled": true, "dev": true, "requires": { "wrappy": "1.0.2" @@ -6997,8 +6720,7 @@ }, "optimist": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "bundled": true, "dev": true, "requires": { "minimist": "0.0.8", @@ -7007,14 +6729,12 @@ }, "os-homedir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "bundled": true, "dev": true }, "os-locale": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.0.0.tgz", - "integrity": "sha1-FZGN7VEFIrge565aMJ1U9jn8OaQ=", + "bundled": true, "dev": true, "requires": { "execa": "0.5.1", @@ -7024,20 +6744,17 @@ }, "p-finally": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "bundled": true, "dev": true }, "p-limit": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz", - "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=", + "bundled": true, "dev": true }, "p-locate": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "bundled": true, "dev": true, "requires": { "p-limit": "1.1.0" @@ -7045,8 +6762,7 @@ }, "parse-glob": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "bundled": true, "dev": true, "requires": { "glob-base": "0.3.0", @@ -7057,8 +6773,7 @@ }, "parse-json": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "bundled": true, "dev": true, "requires": { "error-ex": "1.3.1" @@ -7066,8 +6781,7 @@ }, "path-exists": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "bundled": true, "dev": true, "requires": { "pinkie-promise": "2.0.1" @@ -7075,26 +6789,22 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "bundled": true, "dev": true }, "path-key": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "bundled": true, "dev": true }, "path-parse": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", - "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "bundled": true, "dev": true }, "path-type": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "bundled": true, "dev": true, "requires": { "graceful-fs": "4.1.11", @@ -7104,20 +6814,17 @@ }, "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "bundled": true, "dev": true }, "pinkie": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "bundled": true, "dev": true }, "pinkie-promise": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "bundled": true, "dev": true, "requires": { "pinkie": "2.0.4" @@ -7125,8 +6832,7 @@ }, "pkg-dir": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", - "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "bundled": true, "dev": true, "requires": { "find-up": "1.1.2" @@ -7134,8 +6840,7 @@ "dependencies": { "find-up": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "bundled": true, "dev": true, "requires": { "path-exists": "2.1.0", @@ -7146,20 +6851,17 @@ }, "preserve": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "bundled": true, "dev": true }, "pseudomap": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "bundled": true, "dev": true }, "randomatic": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", - "integrity": "sha1-x6vpzIuHwLqodrGf3oP9RkeX44w=", + "bundled": true, "dev": true, "requires": { "is-number": "3.0.0", @@ -7168,8 +6870,7 @@ "dependencies": { "is-number": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "bundled": true, "dev": true, "requires": { "kind-of": "3.2.2" @@ -7177,8 +6878,7 @@ "dependencies": { "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "bundled": true, "dev": true, "requires": { "is-buffer": "1.1.5" @@ -7188,8 +6888,7 @@ }, "kind-of": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "bundled": true, "dev": true, "requires": { "is-buffer": "1.1.5" @@ -7199,19 +6898,17 @@ }, "read-pkg": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "bundled": true, "dev": true, "requires": { "load-json-file": "1.1.0", - "normalize-package-data": "2.3.8", + "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=", + "bundled": true, "dev": true, "requires": { "find-up": "1.1.2", @@ -7220,8 +6917,7 @@ "dependencies": { "find-up": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "bundled": true, "dev": true, "requires": { "path-exists": "2.1.0", @@ -7232,14 +6928,12 @@ }, "regenerator-runtime": { "version": "0.10.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", - "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", + "bundled": true, "dev": true }, "regex-cache": { "version": "0.4.3", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz", - "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=", + "bundled": true, "dev": true, "requires": { "is-equal-shallow": "0.1.3", @@ -7248,26 +6942,22 @@ }, "remove-trailing-separator": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.0.2.tgz", - "integrity": "sha1-abBi2XhyetFNxrVrpKt3L9jXBRE=", + "bundled": true, "dev": true }, "repeat-element": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "bundled": true, "dev": true }, "repeat-string": { "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "bundled": true, "dev": true }, "repeating": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "bundled": true, "dev": true, "requires": { "is-finite": "1.0.2" @@ -7275,26 +6965,22 @@ }, "require-directory": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "bundled": true, "dev": true }, "require-main-filename": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "bundled": true, "dev": true }, "resolve-from": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", - "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=", + "bundled": true, "dev": true }, "right-align": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -7303,8 +6989,7 @@ }, "rimraf": { "version": "2.6.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", - "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", + "bundled": true, "dev": true, "requires": { "glob": "7.1.2" @@ -7312,38 +6997,32 @@ }, "semver": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "bundled": true, "dev": true }, "set-blocking": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "bundled": true, "dev": true }, "signal-exit": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "bundled": true, "dev": true }, "slide": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", - "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", + "bundled": true, "dev": true }, "source-map": { "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "bundled": true, "dev": true }, "spawn-wrap": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.3.7.tgz", - "integrity": "sha1-vri/RCbWSysGhx4Nfe4mQ/H40bw=", + "version": "1.3.8", + "bundled": true, "dev": true, "requires": { "foreground-child": "1.5.6", @@ -7356,8 +7035,7 @@ }, "spdx-correct": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", - "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "bundled": true, "dev": true, "requires": { "spdx-license-ids": "1.2.2" @@ -7365,38 +7043,46 @@ }, "spdx-expression-parse": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", - "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", + "bundled": true, "dev": true }, "spdx-license-ids": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", - "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", + "bundled": true, "dev": true }, "string-width": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.0.0.tgz", - "integrity": "sha1-Y1xUNsxypuDDh87KJ41OLuxSaH4=", + "version": "2.1.0", + "bundled": true, "dev": true, "requires": { "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "3.0.1" + "strip-ansi": "4.0.0" }, "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, "is-fullwidth-code-point": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "bundled": true, "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } } } }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "bundled": true, "dev": true, "requires": { "ansi-regex": "2.1.1" @@ -7404,8 +7090,7 @@ }, "strip-bom": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "bundled": true, "dev": true, "requires": { "is-utf8": "0.2.1" @@ -7413,20 +7098,17 @@ }, "strip-eof": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "bundled": true, "dev": true }, "supports-color": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "bundled": true, "dev": true }, "test-exclude": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.1.1.tgz", - "integrity": "sha1-TYSWSwlmsAh+zDNKLOAC09k0HiY=", + "bundled": true, "dev": true, "requires": { "arrify": "1.0.1", @@ -7438,20 +7120,17 @@ }, "to-fast-properties": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "bundled": true, "dev": true }, "trim-right": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "bundled": true, "dev": true }, "uglify-js": { "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -7462,8 +7141,7 @@ "dependencies": { "yargs": { "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -7477,15 +7155,13 @@ }, "uglify-to-browserify": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "bundled": true, "dev": true, "optional": true }, "validate-npm-package-license": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", - "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", + "bundled": true, "dev": true, "requires": { "spdx-correct": "1.0.2", @@ -7494,8 +7170,7 @@ }, "which": { "version": "1.2.14", - "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz", - "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=", + "bundled": true, "dev": true, "requires": { "isexe": "2.0.0" @@ -7503,27 +7178,23 @@ }, "which-module": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "bundled": true, "dev": true }, "window-size": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "bundled": true, "dev": true, "optional": true }, "wordwrap": { "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "bundled": true, "dev": true }, "wrap-ansi": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "bundled": true, "dev": true, "requires": { "string-width": "1.0.2", @@ -7532,8 +7203,7 @@ "dependencies": { "string-width": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "bundled": true, "dev": true, "requires": { "code-point-at": "1.1.0", @@ -7545,14 +7215,12 @@ }, "wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "bundled": true, "dev": true }, "write-file-atomic": { "version": "1.3.4", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", - "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", + "bundled": true, "dev": true, "requires": { "graceful-fs": "4.1.11", @@ -7562,20 +7230,17 @@ }, "y18n": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "bundled": true, "dev": true }, "yallist": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "bundled": true, "dev": true }, "yargs": { "version": "8.0.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", - "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", + "bundled": true, "dev": true, "requires": { "camelcase": "4.1.0", @@ -7587,7 +7252,7 @@ "require-directory": "2.1.1", "require-main-filename": "1.0.1", "set-blocking": "2.0.0", - "string-width": "2.0.0", + "string-width": "2.1.0", "which-module": "2.0.0", "y18n": "3.2.1", "yargs-parser": "7.0.0" @@ -7595,14 +7260,12 @@ "dependencies": { "camelcase": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "bundled": true, "dev": true }, "cliui": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "bundled": true, "dev": true, "requires": { "string-width": "1.0.2", @@ -7612,8 +7275,7 @@ "dependencies": { "string-width": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "bundled": true, "dev": true, "requires": { "code-point-at": "1.1.0", @@ -7625,8 +7287,7 @@ }, "load-json-file": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "bundled": true, "dev": true, "requires": { "graceful-fs": "4.1.11", @@ -7637,8 +7298,7 @@ }, "path-type": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "bundled": true, "dev": true, "requires": { "pify": "2.3.0" @@ -7646,19 +7306,17 @@ }, "read-pkg": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "bundled": true, "dev": true, "requires": { "load-json-file": "2.0.0", - "normalize-package-data": "2.3.8", + "normalize-package-data": "2.4.0", "path-type": "2.0.0" } }, "read-pkg-up": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "bundled": true, "dev": true, "requires": { "find-up": "2.1.0", @@ -7667,14 +7325,12 @@ }, "strip-bom": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "bundled": true, "dev": true }, "yargs-parser": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", - "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", + "bundled": true, "dev": true, "requires": { "camelcase": "4.1.0" @@ -7684,8 +7340,7 @@ }, "yargs-parser": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", - "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "bundled": true, "dev": true, "requires": { "camelcase": "3.0.0" @@ -7693,8 +7348,7 @@ "dependencies": { "camelcase": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "bundled": true, "dev": true } } @@ -7768,6 +7422,14 @@ "wrappy": "1.0.2" } }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "requires": { + "mimic-fn": "1.1.0" + } + }, "optimist": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", @@ -7831,31 +7493,6 @@ "supports-color": "2.0.0" } }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "requires": { - "restore-cursor": "2.0.0" - } - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "requires": { - "mimic-fn": "1.1.0" - } - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "requires": { - "onetime": "2.0.1", - "signal-exit": "3.0.2" - } - }, "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", @@ -7935,7 +7572,7 @@ "got": "6.7.1", "registry-auth-token": "3.3.1", "registry-url": "3.1.0", - "semver": "5.3.0" + "semver": "5.4.1" } }, "parse-entities": { @@ -7984,13 +7621,13 @@ "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.2.tgz", "integrity": "sha1-Be/1fw70V3+xRKefi5qWemzERRA=", "requires": { - "@types/node": "6.0.84" + "@types/node": "6.0.85" }, "dependencies": { "@types/node": { - "version": "6.0.84", - "resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.84.tgz", - "integrity": "sha512-1SvEazClhUBRNroJM3oB3xf3u2r6xGmHDGbdigqNPHvNKLl8/BtATgO9eC04ZLuovpSh0B20BF1QJxdi+qmTlg==" + "version": "6.0.85", + "resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.85.tgz", + "integrity": "sha512-6qLZpfQFO/g5Ns2e7RsW6brk0Q6Xzwiw7kVVU/XiQNOiJXSojhX76GP457PBYIsNMH2WfcGgcnZB4awFDHrwpA==" } } }, @@ -8162,17 +7799,16 @@ "progress": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", - "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", - "dev": true + "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=" }, "proxy-addr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.1.4.tgz", - "integrity": "sha1-J+VF9pYKRKYn2bREZ+NcG2tM4vM=", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.1.5.tgz", + "integrity": "sha1-ccDuOxAt4/IC87ZPYI0XP8uhqRg=", "dev": true, "requires": { "forwarded": "0.1.0", - "ipaddr.js": "1.3.0" + "ipaddr.js": "1.4.0" } }, "proxyquire": { @@ -8336,7 +7972,7 @@ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", "requires": { - "resolve": "1.3.3" + "resolve": "1.4.0" } }, "redent": { @@ -8510,7 +8146,7 @@ "is-typedarray": "1.0.0", "isstream": "0.1.2", "json-stringify-safe": "5.0.1", - "mime-types": "2.1.15", + "mime-types": "2.1.16", "oauth-sign": "0.8.2", "performance-now": "0.2.0", "qs": "6.4.0", @@ -8540,6 +8176,16 @@ "lodash": "4.17.4" } }, + "request-promise-native": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.4.tgz", + "integrity": "sha1-hpiOyO7kCORVefzoO/0Fs635oVU=", + "requires": { + "request-promise-core": "1.1.1", + "stealthy-require": "1.1.1", + "tough-cookie": "2.3.2" + } + }, "require-main-filename": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", @@ -8568,9 +8214,9 @@ "dev": true }, "resolve": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.3.3.tgz", - "integrity": "sha1-ZVkHw0aahoDcLeOidaj91paR8OU=", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz", + "integrity": "sha512-aW7sVKPufyHqOmyyLzg/J+8606v5nevBgaliIlV7nUpVMsDnoBGV/cbSLNjZAg9q0Cfd/+easKVKQ8vOu8fn1Q==", "requires": { "path-parse": "1.0.5" } @@ -8597,6 +8243,15 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=" }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "requires": { + "onetime": "2.0.1", + "signal-exit": "3.0.2" + } + }, "retry": { "version": "0.10.1", "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", @@ -8620,17 +8275,25 @@ "glob": "7.1.2" } }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "requires": { + "is-promise": "2.1.0" + } + }, "rx-lite": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz", - "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=" + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", + "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=" }, "rx-lite-aggregates": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", "requires": { - "rx-lite": "3.1.2" + "rx-lite": "4.0.8" } }, "safe-buffer": { @@ -8655,9 +8318,9 @@ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "semver": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=" + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", + "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" }, "semver-diff": { "version": "2.1.0", @@ -8665,23 +8328,23 @@ "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "dev": true, "requires": { - "semver": "5.3.0" + "semver": "5.4.1" } }, "send": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/send/-/send-0.15.3.tgz", - "integrity": "sha1-UBP5+ZAj31DRvZiSwZ4979HVMwk=", + "version": "0.15.4", + "resolved": "https://registry.npmjs.org/send/-/send-0.15.4.tgz", + "integrity": "sha1-mF+qPihLAnPHkzZKNcZze9k5Bbk=", "dev": true, "requires": { - "debug": "2.6.7", - "depd": "1.1.0", + "debug": "2.6.8", + "depd": "1.1.1", "destroy": "1.0.4", "encodeurl": "1.0.1", "escape-html": "1.0.3", "etag": "1.8.0", "fresh": "0.5.0", - "http-errors": "1.6.1", + "http-errors": "1.6.2", "mime": "1.3.4", "ms": "2.0.0", "on-finished": "2.3.0", @@ -8690,9 +8353,9 @@ }, "dependencies": { "debug": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz", - "integrity": "sha1-krrR9tBbu2u6Isyoi80OyJTChh4=", + "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" @@ -8701,15 +8364,15 @@ } }, "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.12.4", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.12.4.tgz", + "integrity": "sha1-m2qpjutyU8Tu3Ewfb9vKYJkBqWE=", "dev": true, "requires": { "encodeurl": "1.0.1", "escape-html": "1.0.3", "parseurl": "1.3.1", - "send": "0.15.3" + "send": "0.15.4" } }, "set-blocking": { @@ -8770,9 +8433,9 @@ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, "sinon": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-3.0.0.tgz", - "integrity": "sha512-oGoqOflgmoKm+lHkGsUw5IjxOu3Nat0WfoJpWFj8sklC1KDCGamkg/nDJGJAv9hXLY5KiflDoY/7ewgfsbNLTA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-3.2.0.tgz", + "integrity": "sha512-Jg2Bcp+X5L0d5bMQqQzMPMh/oZ/TwwcgbVG5Z4xRPxKYqWYw75O6m4LrEhrQdOE10RsoaEQMwTFNn4rHjTyKew==", "dev": true, "requires": { "diff": "3.3.0", @@ -8982,7 +8645,7 @@ "dev": true, "requires": { "define-properties": "1.1.2", - "es-abstract": "1.7.0", + "es-abstract": "1.8.0", "function-bind": "1.1.0" } }, @@ -9051,9 +8714,9 @@ } }, "supports-color": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.2.0.tgz", - "integrity": "sha512-Ts0Mu/A1S1aZxEJNG88I4Oc9rcZSBFNac5e27yh4j2mqbhZSSzR1Ah79EYwSn9Zuh7lrlGD2cVGzw1RKGzyLSg==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.2.1.tgz", + "integrity": "sha512-qxzYsob3yv6U+xMzPrv170y8AwGP7i74g+pbixCfD6rgso8BscLT2qXIuz6TpOaiJZ3mFgT5O9lyT9nMU4LfaA==", "requires": { "has-flag": "2.0.0" } @@ -9069,6 +8732,72 @@ "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=" }, + "table": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/table/-/table-4.0.1.tgz", + "integrity": "sha1-qBFsEz+sLGH0pCCrbN9cTWHw5DU=", + "requires": { + "ajv": "4.11.8", + "ajv-keywords": "1.5.1", + "chalk": "1.1.3", + "lodash": "4.17.4", + "slice-ansi": "0.0.4", + "string-width": "2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, "tar": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", @@ -9092,6 +8821,16 @@ "rimraf": "2.6.1", "tar": "2.2.1", "uid-number": "0.0.6" + }, + "dependencies": { + "debug": { + "version": "2.6.8", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", + "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", + "requires": { + "ms": "2.0.0" + } + } } }, "term-size": { @@ -9363,20 +9102,20 @@ "integrity": "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=" }, "ts-node": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-3.2.0.tgz", - "integrity": "sha1-mBTwwBQXhJAM8S/vEZetS39NI9E=", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-3.3.0.tgz", + "integrity": "sha1-wTxqMCTjC+EYDdUwOPwgkonUv2k=", "dev": true, "requires": { "arrify": "1.0.1", - "chalk": "2.0.1", + "chalk": "2.1.0", "diff": "3.3.0", "make-error": "1.3.0", "minimist": "1.2.0", "mkdirp": "0.5.1", "source-map-support": "0.4.15", "tsconfig": "6.0.0", - "v8flags": "2.1.1", + "v8flags": "3.0.0", "yn": "2.0.0" }, "dependencies": { @@ -9385,6 +9124,21 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true + }, + "user-home": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", + "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=", + "dev": true + }, + "v8flags": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.0.0.tgz", + "integrity": "sha512-AGl+C+4qpeSu2g3JxCD/mGFFOs/vVZ3XREkD3ibQXEqr4Y4zgIrPWW124/IKJFHOIVFIoH8miWrLf0o84HYjwA==", + "dev": true, + "requires": { + "user-home": "1.1.1" + } } } }, @@ -9433,7 +9187,7 @@ "dev": true, "requires": { "media-typer": "0.3.0", - "mime-types": "2.1.15" + "mime-types": "2.1.16" } }, "typedarray": { @@ -9450,10 +9204,10 @@ "@types/fs-extra": "4.0.0", "@types/handlebars": "4.0.35", "@types/highlight.js": "9.1.9", - "@types/lodash": "4.14.70", + "@types/lodash": "4.14.72", "@types/marked": "0.0.28", "@types/minimatch": "2.0.29", - "@types/shelljs": "0.7.2", + "@types/shelljs": "0.7.4", "fs-extra": "4.0.1", "handlebars": "4.0.10", "highlight.js": "9.12.0", @@ -9466,16 +9220,11 @@ "typescript": "2.4.1" }, "dependencies": { - "fs-extra": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.1.tgz", - "integrity": "sha1-f8DGyJV/mD9X8waiTlud3Y0N2IA=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "3.0.1", - "universalify": "0.1.1" - } + "typescript": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.4.1.tgz", + "integrity": "sha1-w8yxbdqgsjFN4DHn5v7onlujRrw=", + "dev": true } } }, @@ -9486,19 +9235,27 @@ "dev": true }, "typescript": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.4.1.tgz", - "integrity": "sha1-w8yxbdqgsjFN4DHn5v7onlujRrw=", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.4.2.tgz", + "integrity": "sha1-+DlfhdRZJ2BnyYiqQYN6j4KHCEQ=", "dev": true }, "typescript-eslint-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/typescript-eslint-parser/-/typescript-eslint-parser-5.0.0.tgz", - "integrity": "sha1-w0NpEIg2ilfCFbOH24DtQYYAgz4=", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/typescript-eslint-parser/-/typescript-eslint-parser-5.0.1.tgz", + "integrity": "sha1-ChG3yUTcVtS9OCbcvT1SqIUJjz4=", "dev": true, "requires": { "lodash.unescape": "4.0.1", "semver": "5.3.0" + }, + "dependencies": { + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + } } }, "uc.micro": { @@ -9643,9 +9400,9 @@ "integrity": "sha1-G1g3z5DAc22IYncytmHBOPht5y8=", "dev": true, "requires": { - "boxen": "1.2.0", + "boxen": "1.2.1", "chalk": "1.1.3", - "configstore": "3.1.0", + "configstore": "3.1.1", "import-lazy": "2.1.0", "is-npm": "1.0.0", "latest-version": "3.1.0", @@ -9752,11 +9509,20 @@ "dev": true }, "verror": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", - "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { - "extsprintf": "1.0.2" + "assert-plus": "1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "1.3.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + } } }, "vfile": { @@ -9813,9 +9579,9 @@ } }, "which": { - "version": "1.2.14", - "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz", - "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", + "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", "requires": { "isexe": "2.0.0" } diff --git a/package.json b/package.json index 48b7a3739dc..ae6d02131eb 100644 --- a/package.json +++ b/package.json @@ -84,7 +84,7 @@ "cpx": "^1.5.0", "eslint-plugin-import": "^2.3.0", "eslint-plugin-markdown": "^1.0.0-beta.7", - "eslint-plugin-typescript": "^0.3.0", + "eslint-plugin-typescript": "^0.5.0", "express": "^4.15.3", "husky": "^0.14.3", "markdownlint-cli": "^0.3.1", diff --git a/src/lib/connectors/cdp/cdp-launcher.ts b/src/lib/connectors/cdp/cdp-launcher.ts index 05f9016ffc7..fb2151bb988 100644 --- a/src/lib/connectors/cdp/cdp-launcher.ts +++ b/src/lib/connectors/cdp/cdp-launcher.ts @@ -22,7 +22,7 @@ import { BrowserInfo, LauncherOptions } from '../../types'; // eslint-disable-li export class CDPLauncher extends Launcher { - constructor(options: LauncherOptions) { + public constructor(options: LauncherOptions) { super(options); } diff --git a/src/lib/connectors/cdp/cdp.ts b/src/lib/connectors/cdp/cdp.ts index 7c6cae0804f..0bd198aca09 100644 --- a/src/lib/connectors/cdp/cdp.ts +++ b/src/lib/connectors/cdp/cdp.ts @@ -18,7 +18,7 @@ import { CDPLauncher } from './cdp-launcher'; import { Sonar } from '../../sonar'; // eslint-disable-line no-unused-vars class CDPConnector extends Connector { - constructor(server: Sonar, config: object, launcher: ILauncher) { + public constructor(server: Sonar, config: object, launcher: ILauncher) { super(server, config, launcher); } } diff --git a/src/lib/connectors/jsdom/jsdom-async-html.ts b/src/lib/connectors/jsdom/jsdom-async-html.ts index 80198fb61cd..cb6c3b1810f 100644 --- a/src/lib/connectors/jsdom/jsdom-async-html.ts +++ b/src/lib/connectors/jsdom/jsdom-async-html.ts @@ -4,7 +4,7 @@ import { IAsyncHTMLDocument, IAsyncHTMLElement } from '../../types'; //eslint-di export class JSDOMAsyncHTMLDocument implements IAsyncHTMLDocument { private _document: HTMLDocument - constructor(document: HTMLDocument) { + public constructor(document: HTMLDocument) { this._document = document; } @@ -12,16 +12,16 @@ export class JSDOMAsyncHTMLDocument implements IAsyncHTMLDocument { // Public methods // ------------------------------------------------------------------------------ - querySelectorAll(selector: string): Promise> { + public querySelectorAll(selector: string): Promise> { const elements = Array.prototype.slice.call(this._document.querySelectorAll(selector)) .map((element) => { - return new JSDOMAsyncHTMLElement(element); // eslint-disable-line no-use-before-define + return new JSDOMAsyncHTMLElement(element); // eslint-disable-line no-use-before-define, typescript/no-use-before-define }); return Promise.resolve(elements); } - pageHTML(): Promise { + public pageHTML(): Promise { return Promise.resolve(this._document.children[0].outerHTML); } } @@ -31,7 +31,7 @@ export class JSDOMAsyncHTMLElement implements IAsyncHTMLElement { protected _htmlelement: HTMLElement; private _ownerDocument: IAsyncHTMLDocument; - constructor(htmlelement: HTMLElement) { + public constructor(htmlelement: HTMLElement) { this._htmlelement = htmlelement; this._ownerDocument = new JSDOMAsyncHTMLDocument(htmlelement.ownerDocument); } @@ -40,15 +40,15 @@ export class JSDOMAsyncHTMLElement implements IAsyncHTMLElement { // Public methods // ------------------------------------------------------------------------------ - getAttribute(name: string): string { + public getAttribute(name: string): string { return this._htmlelement.getAttribute(name); } - isSame(element: JSDOMAsyncHTMLElement): boolean { + public isSame(element: JSDOMAsyncHTMLElement): boolean { return this._htmlelement === element._htmlelement; } - outerHTML(): Promise { + public outerHTML(): Promise { return Promise.resolve(this._htmlelement.outerHTML); } @@ -56,15 +56,15 @@ export class JSDOMAsyncHTMLElement implements IAsyncHTMLElement { // Getters // ------------------------------------------------------------------------------ - get attributes(): NamedNodeMap { + public get attributes(): NamedNodeMap { return this._htmlelement.attributes; } - get nodeName(): string { + public get nodeName(): string { return this._htmlelement.nodeName; } - get ownerDocument(): IAsyncHTMLDocument { + public get ownerDocument(): IAsyncHTMLDocument { return this._ownerDocument; } } diff --git a/src/lib/connectors/jsdom/jsdom.ts b/src/lib/connectors/jsdom/jsdom.ts index f2ee8543d9a..1c0da60ed58 100644 --- a/src/lib/connectors/jsdom/jsdom.ts +++ b/src/lib/connectors/jsdom/jsdom.ts @@ -78,7 +78,7 @@ class JSDOMConnector implements IConnector { private _window: Window; private _document: JSDOMAsyncHTMLDocument; - constructor(server: Sonar, config: object) { + public constructor(server: Sonar, config: object) { this._options = Object.assign({}, defaultOptions, config); this._headers = this._options.headers; this._request = new Requester(this._options); @@ -158,7 +158,7 @@ class JSDOMConnector implements IConnector { await this._server.emitAsync(eventName, event); for (let i = 0; i < element.children.length; i++) { - const child: HTMLElement = element.children[i]; + const child: HTMLElement = element.children[i] as HTMLElement; debug('next children'); const traverseDown: ITraverseDown = { resource: this._finalHref }; @@ -471,15 +471,15 @@ class JSDOMConnector implements IConnector { // Getters // ------------------------------------------------------------------------------ - get dom(): JSDOMAsyncHTMLDocument { + public get dom(): JSDOMAsyncHTMLDocument { return this._document; } - get headers(): object { + public get headers(): object { return this._targetNetworkData.response.headers; } - get html(): Promise { + public get html(): Promise { return this._document.pageHTML(); } } diff --git a/src/lib/connectors/shared/async-html.ts b/src/lib/connectors/shared/async-html.ts index b8a2141ef9e..70d2cd197da 100644 --- a/src/lib/connectors/shared/async-html.ts +++ b/src/lib/connectors/shared/async-html.ts @@ -9,7 +9,7 @@ export class AsyncHTMLDocument implements IAsyncHTMLDocument { /** A map with all the nodes accessible using `nodeId` */ private _nodes: Map = new Map(); - constructor(DOM) { + public constructor(DOM) { this._DOM = DOM; } @@ -33,7 +33,7 @@ export class AsyncHTMLDocument implements IAsyncHTMLDocument { // Public methods // ------------------------------------------------------------------------------ - async querySelectorAll(selector: string): Promise> { + public async querySelectorAll(selector: string): Promise> { let nodeIds; try { @@ -43,17 +43,17 @@ export class AsyncHTMLDocument implements IAsyncHTMLDocument { } return nodeIds.map((nodeId) => { - return new AsyncHTMLElement(this._nodes.get(nodeId), this, this._DOM); // eslint-disable-line no-use-before-define + return new AsyncHTMLElement(this._nodes.get(nodeId), this, this._DOM); // eslint-disable-line no-use-before-define, typescript/no-use-before-define }); } - async pageHTML(): Promise { + public async pageHTML(): Promise { const { outerHTML } = await this._DOM.getOuterHTML({ nodeId: this._dom.nodeId }); return outerHTML; } - async load() { + public async load() { const { root: dom } = await this._DOM.getDocument({ depth: -1 }); this.trackNodes(dom); @@ -64,7 +64,7 @@ export class AsyncHTMLDocument implements IAsyncHTMLDocument { // Getters // ------------------------------------------------------------------------------ - get root() { + public get root() { return this._dom; } } @@ -77,7 +77,7 @@ export class AsyncHTMLElement implements IAsyncHTMLElement { private _attributesArray: Array<{ name: string, value: string }> = []; private _attributesMap: Map = new Map(); - constructor(htmlelement, ownerDocument, DOM) { + public constructor(htmlelement, ownerDocument, DOM) { if (typeof htmlelement === 'number') { throw new Error(); } @@ -99,7 +99,7 @@ export class AsyncHTMLElement implements IAsyncHTMLElement { // Public methods // ------------------------------------------------------------------------------ - getAttribute(name: string): string { + public getAttribute(name: string): string { if (this._attributesArray.length === 0) { this.initializeAttributes(); } @@ -109,11 +109,11 @@ export class AsyncHTMLElement implements IAsyncHTMLElement { return typeof value === 'string' ? value : null; } - isSame(element: AsyncHTMLElement): boolean { + public isSame(element: AsyncHTMLElement): boolean { return this._htmlelement.nodeId === element._htmlelement.nodeId; } - async outerHTML(): Promise { + public async outerHTML(): Promise { const { outerHTML } = await this._DOM.getOuterHTML({ nodeId: this._htmlelement.nodeId }); return outerHTML; @@ -123,24 +123,27 @@ export class AsyncHTMLElement implements IAsyncHTMLElement { // Getters // ------------------------------------------------------------------------------ - get attributes() { + public get attributes() { if (this._attributesArray.length === 0) { this.initializeAttributes(); } return this._attributesArray; } - get children() { + + public get children() { if (this._htmlelement.children) { return this._htmlelement.children; } return []; } - get nodeName(): string { + + public get nodeName(): string { return this._htmlelement.nodeName; } - get ownerDocument(): IAsyncHTMLDocument { + + public get ownerDocument(): IAsyncHTMLDocument { return this._ownerDocument; } } diff --git a/src/lib/connectors/shared/remote-debugging-connector.ts b/src/lib/connectors/shared/remote-debugging-connector.ts index 25a552d342a..994c6bcef25 100644 --- a/src/lib/connectors/shared/remote-debugging-connector.ts +++ b/src/lib/connectors/shared/remote-debugging-connector.ts @@ -69,7 +69,7 @@ export class Connector implements IConnector { private _targetNetworkData: INetworkData; private launcher: ILauncher; - constructor(server: Sonar, config: object, launcher: ILauncher) { + public constructor(server: Sonar, config: object, launcher: ILauncher) { const defaultOptions = { loadCompleteRetryInterval: 250, maxLoadWaitTime: 30000, @@ -786,15 +786,15 @@ export class Connector implements IConnector { // Getters // ------------------------------------------------------------------------------ - get dom(): AsyncHTMLDocument { + public get dom(): AsyncHTMLDocument { return this._dom; } - get headers() { + public get headers() { return this._targetNetworkData.response.headers; } - get html(): Promise { + public get html(): Promise { return this._dom.pageHTML(); } } diff --git a/src/lib/connectors/utils/requester.ts b/src/lib/connectors/utils/requester.ts index c95a03daa60..762cce1cc31 100644 --- a/src/lib/connectors/utils/requester.ts +++ b/src/lib/connectors/utils/requester.ts @@ -45,7 +45,7 @@ export class Requester { /** Maximum number of redirects */ private _maxRedirects: number = 10; - constructor(customOptions?: { [key: string]: any }) { + public constructor(customOptions?: { [key: string]: any }) { if (customOptions) { customOptions.followRedirect = false; this._maxRedirects = customOptions.maxRedirects || this._maxRedirects; diff --git a/src/lib/rule-context.ts b/src/lib/rule-context.ts index 8d3a1b1cc72..a7e42b153dd 100644 --- a/src/lib/rule-context.ts +++ b/src/lib/rule-context.ts @@ -18,7 +18,7 @@ export class RuleContext { private severity: Severity private sonar: Sonar - constructor(ruleId: string, sonar: Sonar, severity: Severity | string, options, meta: IRuleMetadata) { + public constructor(ruleId: string, sonar: Sonar, severity: Severity | string, options, meta: IRuleMetadata) { this.id = ruleId; this.options = options; @@ -31,27 +31,27 @@ export class RuleContext { } /** The DOM of the page. */ - get pageDOM() { + public get pageDOM() { return this.sonar.pageDOM; } /** The original HTML of the page. */ - get pageContent() { + public get pageContent() { return this.sonar.pageContent; } /** The headers of the response when retrieving the HTML. */ - get pageHeaders() { + public get pageHeaders() { return this.sonar.pageHeaders; } /** List of browsers to target as specified by the sonar configuration. */ - get targetedBrowsers(): Array { + public get targetedBrowsers(): Array { return this.sonar.targetedBrowsers; } /** Custom configuration (if any) for the given rule */ - get ruleOptions() { + public get ruleOptions() { if (Array.isArray(this.options)) { return this.options[1]; } diff --git a/src/lib/rules/highest-available-document-mode/highest-available-document-mode.ts b/src/lib/rules/highest-available-document-mode/highest-available-document-mode.ts index eb503eba88c..445cc3a0561 100644 --- a/src/lib/rules/highest-available-document-mode/highest-available-document-mode.ts +++ b/src/lib/rules/highest-available-document-mode/highest-available-document-mode.ts @@ -73,7 +73,7 @@ const rule: IRuleBuilder = { const checkMetaTag = async (resource: string) => { - const pageDOM = context.pageDOM; + const pageDOM: IAsyncHTMLDocument = context.pageDOM as IAsyncHTMLDocument; const XUACompatibleMetaTags: Array = getXUACompatibleMetaTags(await pageDOM.querySelectorAll('meta')); // By default, if the user did not request the meta tag to diff --git a/src/lib/rules/meta-charset-utf-8/meta-charset-utf-8.ts b/src/lib/rules/meta-charset-utf-8/meta-charset-utf-8.ts index 4b949d37949..9bd58192b0c 100644 --- a/src/lib/rules/meta-charset-utf-8/meta-charset-utf-8.ts +++ b/src/lib/rules/meta-charset-utf-8/meta-charset-utf-8.ts @@ -74,7 +74,7 @@ const rule: IRuleBuilder = { // // but for regular HTML, it should not be used. - const pageDOM: IAsyncHTMLDocument = context.pageDOM; + const pageDOM: IAsyncHTMLDocument = context.pageDOM as IAsyncHTMLDocument; const charsetMetaTags: Array = getCharsetMetaTags(await pageDOM.querySelectorAll('meta')); if (charsetMetaTags.length === 0) { diff --git a/src/lib/sonar.ts b/src/lib/sonar.ts index 87e1065e4ef..8a5ad01f5f1 100644 --- a/src/lib/sonar.ts +++ b/src/lib/sonar.ts @@ -40,23 +40,23 @@ export class Sonar extends EventEmitter { private ignoredUrls: Map>; private _formatter: string - get pageDOM(): object { + public get pageDOM(): object { return this.connector.dom; } - get pageContent(): Promise { + public get pageContent(): Promise { return this.connector.html; } - get pageHeaders(): object { + public get pageHeaders(): object { return this.connector.headers; } - get targetedBrowsers(): Array { + public get targetedBrowsers(): Array { return this.browsersList; } - get formatter(): string { + public get formatter(): string { return this._formatter; } @@ -70,7 +70,7 @@ export class Sonar extends EventEmitter { }); } - constructor(config: IConfig) { + public constructor(config: IConfig) { super({ delimiter: '::', maxListeners: 0, @@ -268,7 +268,7 @@ export class Sonar extends EventEmitter { return this.connector.querySelectorAll(selector); } - emitAsync(event: string | Array, ...values: Array): Promise> { + public emitAsync(event: string | Array, ...values: Array): Promise> { const ignoredUrls: Array = this.ignoredUrls.get('all'); if (this.isIgnored(ignoredUrls, values[0].resource)) { diff --git a/src/lib/utils/normalize-rules.ts b/src/lib/utils/normalize-rules.ts index c45a5e5f7ed..3572a7a2990 100644 --- a/src/lib/utils/normalize-rules.ts +++ b/src/lib/utils/normalize-rules.ts @@ -11,12 +11,12 @@ const shortHandRulePrefixes = { '?': 'warning' }; -interface NormalizedRule extends Object { +interface INormalizedRule extends Object { ruleLevel: string; ruleName: string; } -const normalizeRule = (rule: string): NormalizedRule => { +const normalizeRule = (rule: string): INormalizedRule => { let ruleLevel: string; let ruleName: string; diff --git a/tests/helpers/rule-runner.ts b/tests/helpers/rule-runner.ts index e466c51444d..b7e8ce6e558 100644 --- a/tests/helpers/rule-runner.ts +++ b/tests/helpers/rule-runner.ts @@ -11,11 +11,11 @@ import { ids as connectors } from './connectors'; import { createServer } from './test-server'; import { IConfig, IElementFound, INetworkData, IRule, IRuleBuilder } from '../../src/lib/types'; // eslint-disable-line no-unused-vars import * as resourceLoader from '../../src/lib/utils/resource-loader'; -import { RuleTest } from './rule-test-type'; // eslint-disable-line no-unused-vars +import { IRuleTest } from './rule-test-type'; // eslint-disable-line no-unused-vars import { Sonar } from '../../src/lib/sonar'; /** Executes all the tests from `ruleTests` in the rule whose id is `ruleId` */ -export const testRule = (ruleId: string, ruleTests: Array, configs: { [key: string]: any } = {}) => { +export const testRule = (ruleId: string, ruleTests: Array, configs: { [key: string]: any } = {}) => { /** Creates a valid sonar configuration. Eventually we should * test all available connectors and not only JSDOM */ @@ -96,7 +96,7 @@ export const testRule = (ruleId: string, ruleTests: Array, configs: { /** Creates a new connector with just the rule to be tested and executing * any required `before` task as indicated by `ruleTest`. */ - const createConnector = async (t, ruleTest: RuleTest, connector: string, attemp: number): Promise => { + const createConnector = async (t, ruleTest: IRuleTest, connector: string, attemp: number): Promise => { const { server } = t.context; const { serverConfig } = ruleTest; @@ -116,7 +116,7 @@ export const testRule = (ruleId: string, ruleTests: Array, configs: { /** Stops a connector executing any required `after` task as indicated by * `ruleTest`. */ - const stopConnector = async (ruleTest: RuleTest, connector): Promise => { + const stopConnector = async (ruleTest: IRuleTest, connector): Promise => { if (ruleTest.after) { await ruleTest.after(); } @@ -125,7 +125,7 @@ export const testRule = (ruleId: string, ruleTests: Array, configs: { }; /** Runs a test for the rule being tested */ - const runRule = (t, ruleTest: RuleTest, connector: string) => { + const runRule = (t, ruleTest: IRuleTest, connector: string) => { return retry(async (bail, attemp) => { if (attemp > 1) { console.log(`[${connector}]${ruleTest.name} - try ${attemp}`); diff --git a/tests/helpers/rule-test-type.ts b/tests/helpers/rule-test-type.ts index a52c0dacca5..35600b8d85d 100644 --- a/tests/helpers/rule-test-type.ts +++ b/tests/helpers/rule-test-type.ts @@ -1,12 +1,12 @@ import { IProblemLocation } from '../../src/lib/types'; -export interface Report { +export interface IReport { /** The message to validate */ message: string, position?: IProblemLocation } -export interface RuleTest { +export interface IRuleTest { /** The code to execute before `closing` the connector. */ after?(); /** The code to execute before creating the connector. */ @@ -14,7 +14,7 @@ export interface RuleTest { /** The name of the test. */ name: string; /** The expected results of the execution. */ - reports?: Array; + reports?: Array; /** The configuration `test-server` should use. */ serverConfig?: any; /** The url to `executeOn` if different than `localhost`. */ diff --git a/tests/helpers/test-server.ts b/tests/helpers/test-server.ts index 5e9acd7c2c1..5eca38e7daf 100644 --- a/tests/helpers/test-server.ts +++ b/tests/helpers/test-server.ts @@ -23,7 +23,7 @@ class Server { private _port: number = startPort; private _isHTTPS: boolean; - constructor(isHTTPS?: boolean) { + public constructor(isHTTPS?: boolean) { this._app = express(); this._app.disable('x-powered-by'); this._app.use((req, res, next) => { @@ -53,7 +53,7 @@ class Server { }; /** Applies the configuration for routes to the server. */ - configure(configuration: ServerConfiguration) { + public configure(configuration: ServerConfiguration) { let customFavicon = false; if (typeof configuration === 'string') { @@ -122,7 +122,7 @@ class Server { } /** Starts listening on the given port. */ - start() { + public start() { return new Promise(async (resolve, reject) => { let options; @@ -156,11 +156,11 @@ class Server { } /** Stops the server and frees the port. */ - stop() { + public stop() { this._server.close(); } - get port() { + public get port() { return this._port; } } diff --git a/tests/lib/config/config-validator.ts b/tests/lib/config/config-validator.ts index d858a2f4a36..b37db2b37e7 100644 --- a/tests/lib/config/config-validator.ts +++ b/tests/lib/config/config-validator.ts @@ -23,7 +23,7 @@ const validConfig = { const invalidConfig = { formatter: 'json' }; test('if config has an invalid schema, it should return false', (t) => { - const valid = configValidator.validateConfig(invalidConfig); + const valid = configValidator.validateConfig(invalidConfig as any); t.false(valid); }); @@ -33,13 +33,13 @@ test(`if rule severity isn't valid, it should return false`, (t) => { config.rules['disallowed-headers'] = ['no-valid-severity', {}]; - const valid = configValidator.validateConfig(config); + const valid = configValidator.validateConfig(config as any); t.false(valid); }); test('if config is valid, it should return true', (t) => { - const valid = configValidator.validateConfig(validConfig); + const valid = configValidator.validateConfig(validConfig as any); t.true(valid); }); diff --git a/tests/lib/connectors/utils/requester.ts b/tests/lib/connectors/utils/requester.ts index 1ac35d6ae95..ed5e8eb67cf 100644 --- a/tests/lib/connectors/utils/requester.ts +++ b/tests/lib/connectors/utils/requester.ts @@ -163,7 +163,7 @@ test(`Requester follows all hops, reports the right number and returns the final server.configure(hopsServerConfig); - const { response } = await requester.get(`http://localhost:${server.port}/hop301`); + const { response } = await requester.get(`http://localhost:${server.port}/hop301`) as INetworkData; t.is(response.hops.length, Object.keys(hopsServerConfig).length - 1); t.is(response.body.content, hopsServerConfig['/']); diff --git a/tests/lib/rules/axe/tests.ts b/tests/lib/rules/axe/tests.ts index 7bbce55e91b..062e9b2dc07 100644 --- a/tests/lib/rules/axe/tests.ts +++ b/tests/lib/rules/axe/tests.ts @@ -1,6 +1,6 @@ /* eslint sort-keys: 0, no-undefined: 0 */ -import { RuleTest } from '../../../helpers/rule-test-type'; // eslint-disable-line no-unused-vars +import { IRuleTest } from '../../../helpers/rule-test-type'; // eslint-disable-line no-unused-vars import * as ruleRunner from '../../../helpers/rule-runner'; import { getRuleName } from '../../../../src/lib/utils/rule-helpers'; import { generateHTMLPage } from '../../../helpers/misc'; @@ -20,7 +20,7 @@ const html = { tabindex: generateHTMLPage(undefined, `
Header
Skip`) }; -const tests: Array = [ +const tests: Array = [ { name: `Page doesn't have any a11y problems and passes`, serverConfig: html.noProblems @@ -37,7 +37,7 @@ const tests: Array = [ } ]; -const testsWithCustomConfiguration: Array = [ +const testsWithCustomConfiguration: Array = [ { name: `Page doesn't have any a11y problems and passes`, serverConfig: html.noProblems diff --git a/tests/lib/rules/content-type/tests.ts b/tests/lib/rules/content-type/tests.ts index c0dd18b3956..71cacc63c07 100644 --- a/tests/lib/rules/content-type/tests.ts +++ b/tests/lib/rules/content-type/tests.ts @@ -4,7 +4,7 @@ import * as fs from 'fs'; import { generateHTMLPage } from '../../../helpers/misc'; import { getRuleName } from '../../../../src/lib/utils/rule-helpers'; -import { RuleTest } from '../../../helpers/rule-test-type'; // eslint-disable-line no-unused-vars +import { IRuleTest } from '../../../helpers/rule-test-type'; // eslint-disable-line no-unused-vars import * as ruleRunner from '../../../helpers/rule-runner'; const ruleName = getRuleName(__dirname); @@ -34,7 +34,7 @@ const generateHTMLPageData = (content: string) => { }; }; -const testsForDefaults: Array = [ +const testsForDefaults: Array = [ // No `Content-Type` header. @@ -282,7 +282,7 @@ const testsForDefaults: Array = [ } ]; -const testsForConfigs: Array = [ +const testsForConfigs: Array = [ { name: `Script is served with 'Content-Type' header with the correct media type but wrong because of the custom config`, reports: [{ message: generateRequireValueMessage('text/javascript') }], diff --git a/tests/lib/rules/disown-opener/tests.ts b/tests/lib/rules/disown-opener/tests.ts index f853f400c52..2d003e39b2d 100644 --- a/tests/lib/rules/disown-opener/tests.ts +++ b/tests/lib/rules/disown-opener/tests.ts @@ -5,7 +5,7 @@ import * as pluralize from 'pluralize'; import { cutString } from '../../../../src/lib/utils/misc'; import { generateHTMLPage } from '../../../helpers/misc'; import { getRuleName } from '../../../../src/lib/utils/rule-helpers'; -import { RuleTest } from '../../../helpers/rule-test-type'; // eslint-disable-line no-unused-vars +import { IRuleTest } from '../../../helpers/rule-test-type'; // eslint-disable-line no-unused-vars import * as ruleRunner from '../../../helpers/rule-runner'; const ruleName = getRuleName(__dirname); @@ -14,7 +14,7 @@ const generateMissingMessage = (value: string, linkTypes: Array): string return `'${cutString(value, 100)}' is missing 'rel' ${pluralize('value', linkTypes.length)} '${linkTypes.join('\', \'')}'`; }; -const testsForDefaults: Array = [ +const testsForDefaults: Array = [ // No 'target="_blank"' @@ -152,7 +152,7 @@ const testsForDefaults: Array = [ } ]; -const testsForBrowsersListConfig: Array = [ +const testsForBrowsersListConfig: Array = [ { name: `'a' with 'href="https://example.com"' has 'target="_blank"', and 'noopener' is supported by all targeted browsers`, reports: [{ message: generateMissingMessage('test', ['noopener']) }], @@ -164,7 +164,7 @@ const testsForBrowsersListConfig: Array = [ } ]; -const testsForIncludeSameOriginURLsConfig: Array = [ +const testsForIncludeSameOriginURLsConfig: Array = [ { name: `'a' with 'href=""' has 'target="_blank"'`, reports: [{ message: generateMissingMessage('test', ['noopener', 'noreferrer']) }], diff --git a/tests/lib/rules/highest-available-document-mode/tests.ts b/tests/lib/rules/highest-available-document-mode/tests.ts index 8856c7aa631..354cd831ed1 100644 --- a/tests/lib/rules/highest-available-document-mode/tests.ts +++ b/tests/lib/rules/highest-available-document-mode/tests.ts @@ -2,7 +2,7 @@ import { generateHTMLPage } from '../../../helpers/misc'; import { getRuleName } from '../../../../src/lib/utils/rule-helpers'; -import { RuleTest } from '../../../helpers/rule-test-type'; // eslint-disable-line no-unused-vars +import { IRuleTest } from '../../../helpers/rule-test-type'; // eslint-disable-line no-unused-vars import * as ruleRunner from '../../../helpers/rule-runner'; const ruleName = getRuleName(__dirname); @@ -13,7 +13,7 @@ const generateHTMLPageWithMetaTag = (metaTagValue: string = 'iE=eDgE') => { return generateHTMLPage(``); }; -const testsForDefaults: Array = [ +const testsForDefaults: Array = [ { name: `HTML page is served without 'X-UA-Compatible' header`, reports: [{ message: `'x-ua-compatible' header was not specified` }], @@ -40,7 +40,7 @@ const testsForDefaults: Array = [ } ]; -const testsForRequireMetaTagConfig: Array = [ +const testsForRequireMetaTagConfig: Array = [ { name: `'X-UA-Compatible' meta tag is not specified`, reports: [{ message: `No 'x-ua-compatible' meta tag was specified` }], @@ -91,7 +91,7 @@ const testsForRequireMetaTagConfig: Array = [ } ]; -const testsForTargetBrowsersConfig: Array = [ +const testsForTargetBrowsersConfig: Array = [ { name: `HTML page is served with 'X-UA-Compatible' header but the targeted browsers don't support document modes`, reports: [{ message: `'x-ua-compatible' header is not needed` }], diff --git a/tests/lib/rules/html-checker/tests.ts b/tests/lib/rules/html-checker/tests.ts index 5ede3fbd99d..db42c2a5fc4 100644 --- a/tests/lib/rules/html-checker/tests.ts +++ b/tests/lib/rules/html-checker/tests.ts @@ -2,7 +2,7 @@ import * as mock from 'mock-require'; -import { RuleTest } from '../../../helpers/rule-test-type'; // eslint-disable-line no-unused-vars +import { IRuleTest } from '../../../helpers/rule-test-type'; // eslint-disable-line no-unused-vars import * as ruleRunner from '../../../helpers/rule-runner'; import { getRuleName } from '../../../../src/lib/utils/rule-helpers'; @@ -87,7 +87,7 @@ const htmlCheckerMock = (response) => { mock('html-validator', mockedChecker); }; -const testsForDefaults: Array = [ +const testsForDefaults: Array = [ { name: 'No reports if HTML checker returns no messages', serverUrl: exampleUrl, @@ -117,7 +117,7 @@ const testsForDefaults: Array = [ } ]; -const testsForIgnoreStringConfigs: Array = [ +const testsForIgnoreStringConfigs: Array = [ { name: 'Ignore selected message(string) from the report', serverUrl: exampleUrl, @@ -134,7 +134,7 @@ const testsForIgnoreStringConfigs: Array = [ } ]; -const testsForIgnoreArrayConfigs: Array = [ +const testsForIgnoreArrayConfigs: Array = [ { name: 'Ignore selected messages(array) from the report', serverUrl: exampleUrl, @@ -144,7 +144,7 @@ const testsForIgnoreArrayConfigs: Array = [ } ]; -const testsForValidatorConfig: Array = [ +const testsForValidatorConfig: Array = [ { name: 'Use configed validator service other than the default', serverUrl: exampleUrl, @@ -161,7 +161,7 @@ const testsForValidatorConfig: Array = [ } ]; -const testsForErrors: Array = [ +const testsForErrors: Array = [ { name: 'Reports error when not able to get result from the HTML Checker', serverUrl: exampleUrl, diff --git a/tests/lib/rules/manifest-exists/tests.ts b/tests/lib/rules/manifest-exists/tests.ts index 7ae0f6560c1..238fdd7b55e 100644 --- a/tests/lib/rules/manifest-exists/tests.ts +++ b/tests/lib/rules/manifest-exists/tests.ts @@ -2,12 +2,12 @@ import { generateHTMLPage } from '../../../helpers/misc'; import { getRuleName } from '../../../../src/lib/utils/rule-helpers'; -import { RuleTest } from '../../../helpers/rule-test-type'; // eslint-disable-line no-unused-vars +import { IRuleTest } from '../../../helpers/rule-test-type'; // eslint-disable-line no-unused-vars import * as ruleRunner from '../../../helpers/rule-runner'; const htmlWithManifestSpecified = generateHTMLPage(``); -const tests: Array = [ +const tests: Array = [ { name: `Web app manifest is not specified`, reports: [{ message: 'Web app manifest not specified' }], diff --git a/tests/lib/rules/manifest-file-extension/tests.ts b/tests/lib/rules/manifest-file-extension/tests.ts index eb94d9c98a0..b8687a0f280 100644 --- a/tests/lib/rules/manifest-file-extension/tests.ts +++ b/tests/lib/rules/manifest-file-extension/tests.ts @@ -2,10 +2,10 @@ import { generateHTMLPage } from '../../../helpers/misc'; import { getRuleName } from '../../../../src/lib/utils/rule-helpers'; -import { RuleTest } from '../../../helpers/rule-test-type'; // eslint-disable-line no-unused-vars +import { IRuleTest } from '../../../helpers/rule-test-type'; // eslint-disable-line no-unused-vars import * as ruleRunner from '../../../helpers/rule-runner'; -const tests: Array = [ +const tests: Array = [ { name: `Web app manifest file is not specified`, serverConfig: generateHTMLPage('') diff --git a/tests/lib/rules/manifest-is-valid/tests.ts b/tests/lib/rules/manifest-is-valid/tests.ts index e16ba171183..026a7c9d200 100644 --- a/tests/lib/rules/manifest-is-valid/tests.ts +++ b/tests/lib/rules/manifest-is-valid/tests.ts @@ -2,12 +2,12 @@ import { generateHTMLPage } from '../../../helpers/misc'; import { getRuleName } from '../../../../src/lib/utils/rule-helpers'; -import { RuleTest } from '../../../helpers/rule-test-type'; // eslint-disable-line no-unused-vars +import { IRuleTest } from '../../../helpers/rule-test-type'; // eslint-disable-line no-unused-vars import * as ruleRunner from '../../../helpers/rule-runner'; const htmlWithManifestSpecified = generateHTMLPage(''); -const tests: Array = [ +const tests: Array = [ { name: `Web app manifest is not specified`, serverConfig: generateHTMLPage('') diff --git a/tests/lib/rules/meta-charset-utf-8/tests.ts b/tests/lib/rules/meta-charset-utf-8/tests.ts index a344c980a25..a51c5ac86af 100644 --- a/tests/lib/rules/meta-charset-utf-8/tests.ts +++ b/tests/lib/rules/meta-charset-utf-8/tests.ts @@ -2,13 +2,13 @@ import { generateHTMLPage } from '../../../helpers/misc'; import { getRuleName } from '../../../../src/lib/utils/rule-helpers'; -import { RuleTest } from '../../../helpers/rule-test-type'; // eslint-disable-line no-unused-vars +import { IRuleTest } from '../../../helpers/rule-test-type'; // eslint-disable-line no-unused-vars import * as ruleRunner from '../../../helpers/rule-runner'; const metaCharset = ''; const metaHttpEquiv = ''; -const tests: Array = [ +const tests: Array = [ { name: `'charset' meta tag is not specified`, reports: [{ message: `No charset meta tag was specified` }], diff --git a/tests/lib/rules/no-disallowed-headers/tests.ts b/tests/lib/rules/no-disallowed-headers/tests.ts index f0b27d1a533..50e3e85fa85 100644 --- a/tests/lib/rules/no-disallowed-headers/tests.ts +++ b/tests/lib/rules/no-disallowed-headers/tests.ts @@ -4,7 +4,7 @@ import * as pluralize from 'pluralize'; import { generateHTMLPage } from '../../../helpers/misc'; import { getRuleName } from '../../../../src/lib/utils/rule-helpers'; -import { RuleTest } from '../../../helpers/rule-test-type'; // eslint-disable-line no-unused-vars +import { IRuleTest } from '../../../helpers/rule-test-type'; // eslint-disable-line no-unused-vars import * as ruleRunner from '../../../helpers/rule-runner'; const ruleName = getRuleName(__dirname); @@ -16,7 +16,7 @@ const generateMessage = (values: Array): string => { return `'${values.join('\', \'')}' ${pluralize('header', values.length)} ${pluralize('is', values.length)} disallowed`; }; -const testsForDefaults: Array = [ +const testsForDefaults: Array = [ { name: `HTML page is served without any of the disallowed headers`, serverConfig: { '/': '' } @@ -58,7 +58,7 @@ const testsForDefaults: Array = [ } ]; -const testsForIgnoreConfigs: Array = [ +const testsForIgnoreConfigs: Array = [ { name: `HTML page is served with disallowed headers that are ignored because of configs`, serverConfig: { @@ -72,7 +72,7 @@ const testsForIgnoreConfigs: Array = [ } ]; -const testsForIncludeConfigs: Array = [ +const testsForIncludeConfigs: Array = [ { name: `HTML page is served with disallowed headers that are enforced because of configs`, reports: [{ message: generateMessage(['server', 'x-test-2']) }], @@ -88,7 +88,7 @@ const testsForIncludeConfigs: Array = [ } ]; -const testsForConfigs: Array = [ +const testsForConfigs: Array = [ { name: `HTML page is served with disallowed headers that are both ignored and enforced because of configs`, reports: [{ message: generateMessage(['x-powered-by', 'x-test-1']) }], diff --git a/tests/lib/rules/no-friendly-error-pages/tests.ts b/tests/lib/rules/no-friendly-error-pages/tests.ts index a753498bbcc..1f950fc7db8 100644 --- a/tests/lib/rules/no-friendly-error-pages/tests.ts +++ b/tests/lib/rules/no-friendly-error-pages/tests.ts @@ -2,7 +2,7 @@ import { generateHTMLPage } from '../../../helpers/misc'; import { getRuleName } from '../../../../src/lib/utils/rule-helpers'; -import { RuleTest } from '../../../helpers/rule-test-type'; // eslint-disable-line no-unused-vars +import { IRuleTest } from '../../../helpers/rule-test-type'; // eslint-disable-line no-unused-vars import * as ruleRunner from '../../../helpers/rule-runner'; const ruleName = getRuleName(__dirname); @@ -68,7 +68,7 @@ const testsForWhenRuleDoesNotApply = [{ } }]; -const tests: Array = []; +const tests: Array = []; addTests(tests, statusCodesWith256Threshold, 256); addTests(tests, statusCodesWith512Threshold, 512); diff --git a/tests/lib/rules/no-html-only-headers/tests.ts b/tests/lib/rules/no-html-only-headers/tests.ts index d76bd130ee3..74751404a82 100644 --- a/tests/lib/rules/no-html-only-headers/tests.ts +++ b/tests/lib/rules/no-html-only-headers/tests.ts @@ -4,7 +4,7 @@ import * as pluralize from 'pluralize'; import { generateHTMLPage } from '../../../helpers/misc'; import { getRuleName } from '../../../../src/lib/utils/rule-helpers'; -import { RuleTest } from '../../../helpers/rule-test-type'; // eslint-disable-line no-unused-vars +import { IRuleTest } from '../../../helpers/rule-test-type'; // eslint-disable-line no-unused-vars import * as ruleRunner from '../../../helpers/rule-runner'; const ruleName = getRuleName(__dirname); @@ -14,7 +14,7 @@ const generateMessage = (values: Array): string => { return `'${values.join('\', \'')}' ${pluralize('header', values.length)} ${pluralize('is', values.length)} not needed`; }; -const testsForDefaults: Array = [ +const testsForDefaults: Array = [ { name: `Non HTML resource is served without unneded headers`, serverConfig: { @@ -120,7 +120,7 @@ const testsForDefaults: Array = [ } ]; -const testsForIgnoreConfigs: Array = [ +const testsForIgnoreConfigs: Array = [ { name: `Non HTML resource is served with one unneded headers but ignored because of configs`, serverConfig: { @@ -143,7 +143,7 @@ const testsForIgnoreConfigs: Array = [ } ]; -const testsForIncludeConfigs: Array = [ +const testsForIncludeConfigs: Array = [ { name: `Non HTML resource is served with unneded headers because of configs`, reports: [{ message: generateMessage(['content-security-policy', 'x-test-1', 'x-ua-compatible']) }], @@ -169,7 +169,7 @@ const testsForIncludeConfigs: Array = [ } ]; -const testsForConfigs: Array = [ +const testsForConfigs: Array = [ { name: `Non HTML resource is served with unneded headers that are both ignored and enforced because of configs`, reports: [{ message: generateMessage(['content-security-policy', 'x-test-1', 'x-ua-compatible']) }], diff --git a/tests/lib/rules/no-protocol-relative-urls/tests.ts b/tests/lib/rules/no-protocol-relative-urls/tests.ts index b6b234aa7ab..127516853bf 100644 --- a/tests/lib/rules/no-protocol-relative-urls/tests.ts +++ b/tests/lib/rules/no-protocol-relative-urls/tests.ts @@ -2,10 +2,10 @@ import { generateHTMLPage } from '../../../helpers/misc'; import { getRuleName } from '../../../../src/lib/utils/rule-helpers'; -import { RuleTest } from '../../../helpers/rule-test-type'; // eslint-disable-line no-unused-vars +import { IRuleTest } from '../../../helpers/rule-test-type'; // eslint-disable-line no-unused-vars import * as ruleRunner from '../../../helpers/rule-runner'; -const tests: Array = [ +const tests: Array = [ { name: `'link' with no initial slashes passes the rule`, serverConfig: generateHTMLPage('') diff --git a/tests/lib/rules/ssllabs/tests.ts b/tests/lib/rules/ssllabs/tests.ts index 63150b832a2..dea816b8d83 100644 --- a/tests/lib/rules/ssllabs/tests.ts +++ b/tests/lib/rules/ssllabs/tests.ts @@ -2,7 +2,7 @@ import * as mock from 'mock-require'; -import { RuleTest } from '../../../helpers/rule-test-type'; // eslint-disable-line no-unused-vars +import { IRuleTest } from '../../../helpers/rule-test-type'; // eslint-disable-line no-unused-vars import * as ruleRunner from '../../../helpers/rule-runner'; import { getRuleName } from '../../../../src/lib/utils/rule-helpers'; @@ -34,7 +34,7 @@ const results = { nohttps: { endpoints: [{ details: { protocols: [] } }] } }; -const testsForDefaults: Array = [ +const testsForDefaults: Array = [ { name: `Site with with A+ grade passes`, serverUrl: 'https://example.com', @@ -59,7 +59,7 @@ const testsForDefaults: Array = [ } ]; -const testsForConfigs: Array = [ +const testsForConfigs: Array = [ { name: `Site with A+ grade passes with A+ minimum`, serverUrl: 'https://example.com', @@ -88,7 +88,7 @@ const testsForConfigs: Array = [ } ]; -const testsForErrors: Array = [ +const testsForErrors: Array = [ { name: 'Issue gettings results from SSL Labs reports error', reports: [{ message: `Couldn't get results from SSL Labs for https://example.com/.` }], diff --git a/tests/lib/rules/strict-transport-security/tests.ts b/tests/lib/rules/strict-transport-security/tests.ts index 1c696176aeb..40f353c8798 100644 --- a/tests/lib/rules/strict-transport-security/tests.ts +++ b/tests/lib/rules/strict-transport-security/tests.ts @@ -1,7 +1,7 @@ /* eslint sort-keys: 0, no-undefined: 0 */ import * as mock from 'mock-require'; -import { RuleTest } from '../../../helpers/rule-test-type'; // eslint-disable-line no-unused-vars +import { IRuleTest } from '../../../helpers/rule-test-type'; // eslint-disable-line no-unused-vars import * as ruleRunner from '../../../helpers/rule-runner'; import { generateHTMLPage } from '../../../helpers/misc'; import { getRuleName } from '../../../../src/lib/utils/rule-helpers'; @@ -96,7 +96,7 @@ const generateHTMLPageData = (content: string) => { const htmlPageWithScriptData = generateHTMLPageData(generateHTMLPage(undefined, '')); const htmlPageWithManifestData = generateHTMLPageData(generateHTMLPage('')); -const defaultTests: Array = [ +const defaultTests: Array = [ { name: `HTML page is served over HTTPS without 'Strict-Transport-Security' header specified`, serverConfig: faviconHeaderMaxAgeOnly, @@ -186,14 +186,14 @@ const defaultTests: Array = [ } ]; -const configMaxAgeTests: Array = [{ +const configMaxAgeTests: Array = [{ name: `Change the minimum max-age value`, // the max-age that passes before is now too short serverConfig: Object.assign({}, faviconHeaderMaxAgeOnly, { '/': { headers: maxAgeOnlyHeader } }), reports: [{ message: generateTooShortError(OkayMaxAge + 1) }] }]; -const configPreloadTets: Array = [ +const configPreloadTets: Array = [ { name: `The 'Strict-Transport-Security' header doesn't have 'preload' attribute`, serverConfig: Object.assign({}, faviconHeaderMaxAgeOnly, { '/': { headers: maxAgeOnlyHeader } }) diff --git a/tests/lib/rules/x-content-type-options/tests.ts b/tests/lib/rules/x-content-type-options/tests.ts index cb229a19ba6..f49d89ebbe2 100644 --- a/tests/lib/rules/x-content-type-options/tests.ts +++ b/tests/lib/rules/x-content-type-options/tests.ts @@ -2,7 +2,7 @@ import { generateHTMLPage } from '../../../helpers/misc'; import { getRuleName } from '../../../../src/lib/utils/rule-helpers'; -import { RuleTest } from '../../../helpers/rule-test-type'; // eslint-disable-line no-unused-vars +import { IRuleTest } from '../../../helpers/rule-test-type'; // eslint-disable-line no-unused-vars import * as ruleRunner from '../../../helpers/rule-runner'; // Error messages. @@ -26,7 +26,7 @@ const htmlPageWithManifestData = generateHTMLPageData(generateHTMLPage(' = [ +const tests: Array = [ { name: `HTML page is served without 'X-Content-Type-Options' header`, reports: [{ message: noHeaderMessage }], diff --git a/tests/lib/sonar.ts b/tests/lib/sonar.ts index b2e7e5d79ab..7748b2f586b 100644 --- a/tests/lib/sonar.ts +++ b/tests/lib/sonar.ts @@ -43,7 +43,7 @@ test.afterEach.always((t) => { test(`If config is an empty object, we should throw an error`, (t) => { t.throws(() => { // {} to avoid the type checking if not is not possible to use just {} - const sonarObject = new Sonar({}); // eslint-disable-line no-unused-vars + const sonarObject = new Sonar({} as any); // eslint-disable-line no-unused-vars }, Error); }); @@ -57,10 +57,10 @@ test(`If config doesn't have any rule, we shouldn't create any rules`, (t) => { test(`If the config object is invalid, we should throw an error`, (t) => { t.throws(() => { - const sonarObject = new Sonar({ // eslint-disable-line no-unused-vars + const sonarObject = new Sonar({ // eslint-disable-line no-unused-vars invalidProperty: 'invalid', randomProperty: 'random' - }); + } as any); }, Error); }); diff --git a/tests/lib/utils/location-helpers.ts b/tests/lib/utils/location-helpers.ts index c02a142d59e..932dafafea2 100644 --- a/tests/lib/utils/location-helpers.ts +++ b/tests/lib/utils/location-helpers.ts @@ -38,7 +38,7 @@ const getElement = (markup: string) => { /** AVA Macro for findInElement */ const findInElementMacro = async (t, info, expectedPosition) => { const element = getElement(info.markup); - const position = await findInElement(element, info.content); + const position = await findInElement(element as IAsyncHTMLElement, info.content); t.deepEqual(position, expectedPosition); };