From eddcc478e1a23622b432b9eb6bc2289166f97a74 Mon Sep 17 00:00:00 2001 From: Bryan Forbes Date: Tue, 17 Oct 2017 13:20:58 -0700 Subject: [PATCH] Convert package and tests to use Intern 4 (#66) --- .travis.yml | 4 +- Gruntfile.js | 4 +- intern.json | 97 + package-lock.json | 2304 +++++++++-------- package.json | 4 +- src/intern/ClientErrorCollector.ts | 2 +- .../functional/intern/ClientErrorCollector.ts | 39 +- tests/intern-local.ts | 11 - tests/intern-saucelabs.ts | 17 - tests/intern.ts | 74 - tests/unit/harness.ts | 14 +- tests/unit/intern/ClientErrorCollector.ts | 11 +- tests/unit/main.ts | 8 +- tests/unit/support/AssertionError.ts | 8 +- tests/unit/support/assertRender.ts | 10 +- tests/unit/support/callListener.ts | 8 +- tests/unit/support/compare.ts | 8 +- tests/unit/support/d.ts | 8 +- tests/unit/support/loadJsdom.ts | 8 +- tests/unit/support/sendEvent.ts | 24 +- 20 files changed, 1385 insertions(+), 1278 deletions(-) create mode 100644 intern.json delete mode 100644 tests/intern-local.ts delete mode 100644 tests/intern-saucelabs.ts delete mode 100644 tests/intern.ts diff --git a/.travis.yml b/.travis.yml index 15f39c2..5cd4f00 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,9 +13,7 @@ install: - travis_retry npm install script: - grunt -- grunt intern:node --combined -- grunt intern:browserstack --combined -- grunt remapIstanbul:ci +- grunt intern:browserstack - grunt uploadCoverage notifications: slack: diff --git a/Gruntfile.js b/Gruntfile.js index 39d224b..16eec9d 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -1,5 +1,7 @@ module.exports = function (grunt) { require('grunt-dojo2').initConfig(grunt, { - /* any custom configuration goes here */ + intern: { + version: 4 + } }); }; diff --git a/intern.json b/intern.json new file mode 100644 index 0000000..dd22566 --- /dev/null +++ b/intern.json @@ -0,0 +1,97 @@ +{ + "environments": [ + { "browserName": "node" } + ], + + "suites": [ + "./_build/tests/unit/all.js" + ], + + "functionalSuites": [ + "./_build/tests/functional/all.js" + ], + + "browser": { + "loader": { + "script": "dojo2", + "options": { + "packages": [ + { "name": "src", "location": "_build/src" }, + { "name": "tests", "location": "_build/tests" }, + { "name": "@dojo", "location": "node_modules/@dojo" }, + { "name": "sinon", "location": "node_modules/sinon/pkg", "main": "sinon" }, + { "name": "maquette", "location": "node_modules/maquette/dist", "main": "maquette" }, + { "name": "pepjs", "location": "node_modules/pepjs/dist", "main": "pep" } + ] + } + } + }, + + "configs": { + "coverage": { + "coverage": [ + "./_build/src/**/*.js" + ] + }, + + "remoteCapabilities": { + "capabilities": { + "project": "Dojo 2", + "name": "@dojo/test-extras", + "fixSessionCapabilities": false + } + }, + + "browserstack": { + "extends": [ "coverage", "remoteCapabilities" ], + + "tunnel": "browserstack", + "capabilities+": { + "browserstack.debug": false + }, + + "environments+": [ + { "browserName": "internet explorer", "version": "11" }, + { "browserName": "edge" }, + { "browserName": "firefox", "platform": "WINDOWS" }, + { "browserName": "chrome", "platform": "WINDOWS" }, + { "browserName": "safari", "version": "9.1", "platform": "MAC" }, + { "browserName": "iPhone", "version": "9.1" } + ], + + "maxConcurrency": 5 + }, + + "local": { + "extends": [ "coverage", "remoteCapabilities" ], + + "tunnel": "selenium", + "tunnelOptions": { + "hostname": "localhost", + "port": 4444 + }, + + "environments+": [ + { "browserName": "chrome" } + ] + }, + + "saucelabs": { + "extends": [ "coverage", "remoteCapabilities" ], + + "tunnel": "saucelabs", + "tunnelOptions": {}, + + "defaultTimeout": 10000, + "environments+": [ + { "browserName": "internet explorer", "version": [ "11.0" ], "platform": "Windows 7" }, + { "browserName": "microsoftedge", "platform": "Windows 10" }, + { "browserName": "firefox", "version": "43", "platform": "Windows 10" }, + { "browserName": "chrome", "platform": "Windows 10" }, + { "browserName": "safari", "version": "10", "platform": "OS X 10.12" }, + { "browserName": "iphone", "version": "9.3" } + ], + "maxConcurrency": 4 + } + } +} diff --git a/package-lock.json b/package-lock.json index 6f7fee6..6297693 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,9 +1,21 @@ { "name": "@dojo/test-extras", - "version": "0.1.0", + "version": "0.1.1-pre", "lockfileVersion": 1, "requires": true, "dependencies": { + "@dojo/core": { + "version": "2.0.0-beta2.4", + "resolved": "https://registry.npmjs.org/@dojo/core/-/core-2.0.0-beta2.4.tgz", + "integrity": "sha1-AjZimDJ2QxZrtUITk2hJW1CLzBQ=", + "dev": true + }, + "@dojo/has": { + "version": "2.0.0-beta2.3", + "resolved": "https://registry.npmjs.org/@dojo/has/-/has-2.0.0-beta2.3.tgz", + "integrity": "sha1-faojdQXj7KN2EG1zmMTH3tg2oOE=", + "dev": true + }, "@dojo/interfaces": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/@dojo/interfaces/-/interfaces-0.1.0.tgz", @@ -16,12 +28,109 @@ "integrity": "sha512-3qoMKkewhIUqV99JzGiAkXdJuT3HUQkSviYut9828Cv4uKOqKqnb6znE8ofZhaAuv25ZU9anHTPiC8fepONfVQ==", "dev": true }, + "@dojo/shim": { + "version": "2.0.0-beta2.4", + "resolved": "https://registry.npmjs.org/@dojo/shim/-/shim-2.0.0-beta2.4.tgz", + "integrity": "sha1-TUjz2MMmxF5k3TRq+tAK61gmPZo=", + "dev": true + }, + "@theintern/digdug": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@theintern/digdug/-/digdug-2.0.0.tgz", + "integrity": "sha512-PDcflahjSPdnJnChtWhej3l5jknGDdDl15p1+7rNxjOpb2gpgnhoWzXCfkUFJvUL/q1DuAowRQNNh2hdUk5MGw==", + "dev": true, + "requires": { + "@dojo/core": "2.0.0-beta2.4", + "@dojo/has": "2.0.0-beta2.3", + "@dojo/interfaces": "2.0.0-beta2.4", + "@dojo/shim": "2.0.0-beta2.4", + "decompress": "4.2.0", + "semver": "5.4.1" + }, + "dependencies": { + "@dojo/interfaces": { + "version": "2.0.0-beta2.4", + "resolved": "https://registry.npmjs.org/@dojo/interfaces/-/interfaces-2.0.0-beta2.4.tgz", + "integrity": "sha1-OGXj9EQJMuCNJNJPgj5UFwaiKNM=", + "dev": true + } + } + }, + "@theintern/leadfoot": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@theintern/leadfoot/-/leadfoot-2.0.0.tgz", + "integrity": "sha512-kcC/tpbdaO8DplWdZ1BeOXwII5HCwiVk3Dck0dnmm/vdqtzRE4yApY5um062PAJh8TqzT1cdR/zy4k4HWo8dBQ==", + "dev": true, + "requires": { + "@dojo/core": "2.0.0-beta2.4", + "@dojo/has": "2.0.0-beta2.3", + "@dojo/interfaces": "2.0.0-beta2.4", + "@dojo/shim": "2.0.0-beta2.4", + "@types/jszip": "0.0.33", + "jszip": "3.1.4", + "tslib": "1.7.1" + }, + "dependencies": { + "@dojo/interfaces": { + "version": "2.0.0-beta2.4", + "resolved": "https://registry.npmjs.org/@dojo/interfaces/-/interfaces-2.0.0-beta2.4.tgz", + "integrity": "sha1-OGXj9EQJMuCNJNJPgj5UFwaiKNM=", + "dev": true + } + } + }, + "@types/babel-types": { + "version": "6.25.1", + "resolved": "https://registry.npmjs.org/@types/babel-types/-/babel-types-6.25.1.tgz", + "integrity": "sha512-7Z6r20+HE0viAFhsW0d/UrC1K2tTlpXzGpNlYm8MmCv8z5PbAacFIshrM/MjlGRa5SBqxu2socpy8FHntwZKng==", + "dev": true + }, + "@types/benchmark": { + "version": "1.0.30", + "resolved": "https://registry.npmjs.org/@types/benchmark/-/benchmark-1.0.30.tgz", + "integrity": "sha1-9r6gus6xeBVZaLmYT5RUb2NndZI=", + "dev": true + }, "@types/chai": { "version": "3.4.35", "resolved": "https://registry.npmjs.org/@types/chai/-/chai-3.4.35.tgz", "integrity": "sha1-6NZfg0ktKUT4FvxiB0GCHCioyQA=", "dev": true }, + "@types/charm": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/charm/-/charm-1.0.1.tgz", + "integrity": "sha512-F9OalGhk60p/DnACfa1SWtmVTMni0+w9t/qfb5Bu7CsurkEjZFN7Z+ii/VGmYpaViPz7o3tBahRQae9O7skFlQ==", + "dev": true, + "requires": { + "@types/node": "8.0.32" + } + }, + "@types/diff": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@types/diff/-/diff-3.2.2.tgz", + "integrity": "sha512-q3zfJvaTroV5BjAAR+peTHEGAAhGrPX0z2EzCzpt2mwFA+qzUn2nigJLqSekXRtdULKmT8am7zjvTMZSapIgHw==", + "dev": true + }, + "@types/express": { + "version": "4.0.37", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.0.37.tgz", + "integrity": "sha512-tIULTLzQpFFs5/PKnFIAFOsXQxss76glppbVKR3/jddPK26SBsD5HF5grn5G2jOGtpRWSBvYmDYoduVv+3wOXg==", + "dev": true, + "requires": { + "@types/express-serve-static-core": "4.0.53", + "@types/serve-static": "1.7.32" + } + }, + "@types/express-serve-static-core": { + "version": "4.0.53", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.0.53.tgz", + "integrity": "sha512-zaGeOpEYp5G2EhjaUFdVwysDrfEYc6Q6iPhd3Kl4ip30x0tvVv7SuJvY3yzCUSuFlzAG8N5KsyY6BJg93/cn+Q==", + "dev": true, + "requires": { + "@types/node": "8.0.32" + } + }, "@types/fs-extra": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-0.0.33.tgz", @@ -62,6 +171,64 @@ "integrity": "sha512-3uQgLVw3ukDjrgi1h2qxSgsg2W7Sp/BN/P+IBgi8D019FdCcetJzJIxk0Wp1Qfcxzy3EreUnPI7/1HXhFNCRTg==", "dev": true }, + "@types/http-errors": { + "version": "1.5.34", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-1.5.34.tgz", + "integrity": "sha1-1qVvJde5XdBwR2gL+CVjLil5aBU=", + "dev": true + }, + "@types/istanbul-lib-coverage": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.0.tgz", + "integrity": "sha512-ohkhb9LehJy+PA40rDtGAji61NCgdtKLAlFoYp4cnuuQEswwdK3vz9SOIkkyc3wrk8dzjphQApNs56yyXLStaQ==", + "dev": true + }, + "@types/istanbul-lib-hook": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-hook/-/istanbul-lib-hook-1.0.0.tgz", + "integrity": "sha512-+kdaJ8hO/auIGcqPuSbd3cnTSzgM8ZW0zfYFZLP67vCmWkZV4LdC1XOXpMWnlONup+PChJMK8Q/+Qrh7WoxnUQ==", + "dev": true + }, + "@types/istanbul-lib-instrument": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-instrument/-/istanbul-lib-instrument-1.7.0.tgz", + "integrity": "sha512-BWj7zRtwVU5KzuYL/zNuVoSvYWIpT02smNMpQwQbJjwEyITEGSKsxVIT4b2bzXCWFMq76ss0sdY/5yw3NwTlIA==", + "dev": true, + "requires": { + "@types/babel-types": "6.25.1", + "@types/istanbul-lib-coverage": "1.1.0", + "@types/source-map": "0.1.29" + } + }, + "@types/istanbul-lib-report": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.0.tgz", + "integrity": "sha512-nW5QuzmMhr7fHPijtaGOemFFI8Ctrxb/dIXgouSlKmWT16RxWlGLEX/nGghIBOReKe9hPFZXoNh338nFQk2xcA==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "1.1.0" + } + }, + "@types/istanbul-lib-source-maps": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.0.tgz", + "integrity": "sha512-GxjyOSIZC/HETEo61MOjM72qdZH0F9UwfuXCKhmgqhVC7PSjE61BU2I/2eZwQ43+kSdkxKvnOBqqNZi1HHHNEA==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "1.1.0", + "@types/source-map": "0.1.29" + } + }, + "@types/istanbul-reports": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.0.tgz", + "integrity": "sha512-wrJUtE1+HuaRz0Le7fc5l1nMTermRh6wlEvOdQPilseNScyYgQK8MdgDP2cf/X8+6e1dtsX/zP4W4kH/jyHvFw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "1.1.0", + "@types/istanbul-lib-report": "1.1.0" + } + }, "@types/jquery": { "version": "3.2.13", "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.2.13.tgz", @@ -78,6 +245,12 @@ "@types/node": "8.0.32" } }, + "@types/jszip": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/jszip/-/jszip-0.0.33.tgz", + "integrity": "sha512-zAbqAUQmXP9/ryVysJO6XkogdIdtVIYYGmV7BzhKuagaS+75QZ6muJjeSaG5M8rdE5jQ8gyhkZ23r6l4ICmxyQ==", + "dev": true + }, "@types/lodash": { "version": "4.14.77", "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.77.tgz", @@ -90,6 +263,18 @@ "integrity": "sha1-RLp1Tp+lFDJYPo6zCnxN0km1L6o=", "dev": true }, + "@types/mime": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.0.tgz", + "integrity": "sha512-A2TAGbTFdBw9azHbpVd+/FkdW2T6msN1uct1O9bH3vTerEHKZhTXJUQXy+hNq1B0RagfU8U+KBdqiZpxjhOUQA==", + "dev": true + }, + "@types/mime-types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.0.tgz", + "integrity": "sha1-nKUs2jY/aZxpRmwqbM2q2RPqenM=", + "dev": true + }, "@types/minimatch": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.1.tgz", @@ -102,6 +287,37 @@ "integrity": "sha512-n1zzgeQehndikZc/8N4rGSZc99cO6Tb3OInKzvWYniJsT/jet3m57buaBFa5cMeVNFosN4PKZ2LM1y16CFD7Rg==", "dev": true }, + "@types/platform": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@types/platform/-/platform-1.3.1.tgz", + "integrity": "sha512-XI6JKLFNBmkADRd2FtUYtEuq5LDKTNXwUIodV3ZfTNkA+g4yo+rXXXdZL3fTE24S92BjpiEVaL3f64Fxm2JOgg==", + "dev": true + }, + "@types/resolve": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.4.tgz", + "integrity": "sha1-m1htZalH3qiMS8JNoLkF/pUgoNU=", + "dev": true, + "requires": { + "@types/node": "8.0.32" + } + }, + "@types/serve-static": { + "version": "1.7.32", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.7.32.tgz", + "integrity": "sha512-WpI0g7M1FiOmJ/a97Qrjafq2I938tjAZ3hZr9O7sXyA6oUhH3bqUNZIt7r1KZg8TQAKxcvxt6JjQ5XuLfIBFvg==", + "dev": true, + "requires": { + "@types/express-serve-static-core": "4.0.53", + "@types/mime": "2.0.0" + } + }, + "@types/shell-quote": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@types/shell-quote/-/shell-quote-1.6.0.tgz", + "integrity": "sha512-BFonQx849sYB2YOJZBUEfbWdaJcqRb6+ASvgUBtcmg2JRTjBaV2Wgn0SD0gWNIZ+rd7KPysPCjLUOUXnBDUlBg==", + "dev": true + }, "@types/shelljs": { "version": "0.3.33", "resolved": "https://registry.npmjs.org/@types/shelljs/-/shelljs-0.3.33.tgz", @@ -117,6 +333,27 @@ "integrity": "sha1-dLtu15KFl8Gz+xsAkAXpTcbq41c=", "dev": true }, + "@types/source-map": { + "version": "0.1.29", + "resolved": "https://registry.npmjs.org/@types/source-map/-/source-map-0.1.29.tgz", + "integrity": "sha1-1wSKYBgLCfiqbVO9oxHGtRy9cBg=", + "dev": true + }, + "@types/statuses": { + "version": "1.2.28", + "resolved": "https://registry.npmjs.org/@types/statuses/-/statuses-1.2.28.tgz", + "integrity": "sha1-zF8Z0haUFtVWzcoFtZsp5F+kl+I=", + "dev": true + }, + "@types/ws": { + "version": "0.0.42", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-0.0.42.tgz", + "integrity": "sha512-+30f9gcx24GZRD9EqqiQM+I5pRf/MJiJoEqp2X62QRwfEjdqyn9mPmjxZAEXBUVunWotE5qkadIPqf2MMcDYNw==", + "dev": true, + "requires": { + "@types/node": "8.0.32" + } + }, "abab": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz", @@ -128,6 +365,16 @@ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "dev": true }, + "accepts": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz", + "integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=", + "dev": true, + "requires": { + "mime-types": "2.1.17", + "negotiator": "0.6.1" + } + }, "acorn": { "version": "4.0.13", "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", @@ -224,6 +471,15 @@ "normalize-path": "2.1.1" } }, + "append-transform": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", + "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", + "dev": true, + "requires": { + "default-require-extensions": "1.0.0" + } + }, "argparse": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", @@ -259,12 +515,36 @@ "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=" }, + "array-filter": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", + "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=", + "dev": true + }, "array-find-index": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", "dev": true }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "array-map": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", + "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=", + "dev": true + }, + "array-reduce": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", + "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=", + "dev": true + }, "array-uniq": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", @@ -351,12 +631,134 @@ "js-tokens": "3.0.2" } }, + "babel-generator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.0.tgz", + "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=", + "dev": true, + "requires": { + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.4", + "source-map": "0.5.7", + "trim-right": "1.0.1" + }, + "dependencies": { + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true + } + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "2.5.1", + "regenerator-runtime": "0.11.0" + }, + "dependencies": { + "core-js": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", + "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=", + "dev": true + } + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.2", + "lodash": "4.17.4" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.4", + "to-fast-properties": "1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, + "base64-js": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", + "integrity": "sha1-EQHpVE9KdrG8OybUUsqW16NeeXg=", + "dev": true + }, "bcrypt-pbkdf": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", @@ -373,13 +775,13 @@ "dev": true }, "benchmark": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/benchmark/-/benchmark-2.1.1.tgz", - "integrity": "sha1-57X23NAhU67RMtScWWuBWlf2wHE=", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/benchmark/-/benchmark-2.1.4.tgz", + "integrity": "sha1-CfPeMckWQl1JjMLuVloOvzwqVik=", "dev": true, "requires": { "lodash": "4.17.4", - "platform": "1.3.1" + "platform": "1.3.4" } }, "big.js": { @@ -532,22 +934,15 @@ "electron-to-chromium": "1.3.24" } }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", - "dev": true - }, - "buffer-to-vinyl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-to-vinyl/-/buffer-to-vinyl-1.1.0.tgz", - "integrity": "sha1-APFfruOreh3aLN5tkSG//dB7ImI=", + "buffer": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-3.6.0.tgz", + "integrity": "sha1-pyyTb3e5a/UvX357RnGAYoVR3vs=", "dev": true, "requires": { - "file-type": "3.9.0", - "readable-stream": "2.3.3", - "uuid": "2.0.3", - "vinyl": "1.2.0" + "base64-js": "0.0.8", + "ieee754": "1.1.8", + "isarray": "1.0.0" }, "dependencies": { "isarray": { @@ -555,50 +950,15 @@ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - }, - "uuid": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", - "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", - "dev": true - }, - "vinyl": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", - "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", - "dev": true, - "requires": { - "clone": "1.0.2", - "clone-stats": "0.0.1", - "replace-ext": "0.0.1" - } } } }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "dev": true + }, "builtin-modules": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", @@ -668,14 +1028,17 @@ } }, "chai": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz", - "integrity": "sha1-TQJjewZ/6Vi9v906QOxW/vc3Mkc=", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.0.2.tgz", + "integrity": "sha1-L3MnxN5vOF3XeHmZ4qsCaXoyuDs=", "dev": true, "requires": { "assertion-error": "1.0.2", - "deep-eql": "0.1.3", - "type-detect": "1.0.0" + "check-error": "1.0.2", + "deep-eql": "2.0.2", + "get-func-name": "2.0.0", + "pathval": "1.1.0", + "type-detect": "4.0.3" } }, "chalk": { @@ -692,9 +1055,18 @@ } }, "charm": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/charm/-/charm-0.2.0.tgz", - "integrity": "sha1-us0G2HF3WTYvemYqHpZ691N/2os=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/charm/-/charm-1.0.2.tgz", + "integrity": "sha1-it02cVOm2aWBMxBSxAkJkdqZXjU=", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", "dev": true }, "chokidar": { @@ -1097,6 +1469,12 @@ } } }, + "content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", + "dev": true + }, "content-type": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", @@ -1108,10 +1486,22 @@ "resolved": "https://registry.npmjs.org/content-type-parser/-/content-type-parser-1.0.1.tgz", "integrity": "sha1-w+VpiMU8ZRJ/tG1AMqOpACRv3JQ=" }, - "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=", + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "core-js": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz", + "integrity": "sha1-+rg/uwstjchfpjbEudNMdUIMbWU=", "dev": true }, "core-util-is": { @@ -1350,208 +1740,107 @@ "dev": true }, "decompress": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/decompress/-/decompress-3.0.0.tgz", - "integrity": "sha1-rx3VDQbjv8QyRh033hGzjA2ZG+0=", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.0.tgz", + "integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=", "dev": true, "requires": { - "buffer-to-vinyl": "1.1.0", - "concat-stream": "1.6.0", - "decompress-tar": "3.1.0", - "decompress-tarbz2": "3.1.0", - "decompress-targz": "3.1.0", - "decompress-unzip": "3.4.0", - "stream-combiner2": "1.1.1", - "vinyl-assign": "1.2.1", - "vinyl-fs": "2.4.4" + "decompress-tar": "4.1.1", + "decompress-tarbz2": "4.1.1", + "decompress-targz": "4.1.1", + "decompress-unzip": "4.0.1", + "graceful-fs": "4.1.11", + "make-dir": "1.0.0", + "pify": "2.3.0", + "strip-dirs": "2.0.0" } }, "decompress-tar": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-3.1.0.tgz", - "integrity": "sha1-IXx4n5uURQ76rcXF5TeXj8MzxGY=", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", "dev": true, "requires": { - "is-tar": "1.0.0", - "object-assign": "2.1.1", - "strip-dirs": "1.1.1", - "tar-stream": "1.5.4", - "through2": "0.6.5", - "vinyl": "0.4.6" - }, - "dependencies": { - "clone": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", - "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", - "dev": true - }, - "object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=", - "dev": true - }, - "through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "dev": true, - "requires": { - "readable-stream": "1.0.34", - "xtend": "4.0.1" - } - }, - "vinyl": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", - "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", - "dev": true, - "requires": { - "clone": "0.2.0", - "clone-stats": "0.0.1" - } - } + "file-type": "5.2.0", + "is-stream": "1.1.0", + "tar-stream": "1.5.4" } }, "decompress-tarbz2": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-3.1.0.tgz", - "integrity": "sha1-iyOTVoE1X58YnYclag+L3ZbZZm0=", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", "dev": true, "requires": { - "is-bzip2": "1.0.0", - "object-assign": "2.1.1", + "decompress-tar": "4.1.1", + "file-type": "6.2.0", + "is-stream": "1.1.0", "seek-bzip": "1.0.5", - "strip-dirs": "1.1.1", - "tar-stream": "1.5.4", - "through2": "0.6.5", - "vinyl": "0.4.6" + "unbzip2-stream": "1.2.5" }, "dependencies": { - "clone": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", - "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", + "file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", "dev": true - }, - "object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=", - "dev": true - }, - "through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "dev": true, - "requires": { - "readable-stream": "1.0.34", - "xtend": "4.0.1" - } - }, - "vinyl": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", - "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", - "dev": true, - "requires": { - "clone": "0.2.0", - "clone-stats": "0.0.1" - } } } }, "decompress-targz": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-3.1.0.tgz", - "integrity": "sha1-ssE9+YFmJomRtxXWRH9kLpaW9aA=", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", "dev": true, "requires": { - "is-gzip": "1.0.0", - "object-assign": "2.1.1", - "strip-dirs": "1.1.1", - "tar-stream": "1.5.4", - "through2": "0.6.5", - "vinyl": "0.4.6" - }, - "dependencies": { - "clone": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", - "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", - "dev": true - }, - "object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=", - "dev": true - }, - "through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "dev": true, - "requires": { - "readable-stream": "1.0.34", - "xtend": "4.0.1" - } - }, - "vinyl": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", - "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", - "dev": true, - "requires": { - "clone": "0.2.0", - "clone-stats": "0.0.1" - } - } + "decompress-tar": "4.1.1", + "file-type": "5.2.0", + "is-stream": "1.1.0" } }, "decompress-unzip": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-3.4.0.tgz", - "integrity": "sha1-YUdbQVIGa74/7hL51inRX+ZHjus=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", "dev": true, "requires": { - "is-zip": "1.0.0", - "read-all-stream": "3.1.0", - "stat-mode": "0.2.2", - "strip-dirs": "1.1.1", - "through2": "2.0.1", - "vinyl": "1.2.0", + "file-type": "3.9.0", + "get-stream": "2.3.1", + "pify": "2.3.0", "yauzl": "2.8.0" }, "dependencies": { - "vinyl": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", - "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", + "file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", + "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=", "dev": true, "requires": { - "clone": "1.0.2", - "clone-stats": "0.0.1", - "replace-ext": "0.0.1" + "object-assign": "4.1.1", + "pinkie-promise": "2.0.1" } } } }, "deep-eql": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz", - "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-2.0.2.tgz", + "integrity": "sha1-sbrAblbwp2d3aG1Qyf63XC7XZ5o=", "dev": true, "requires": { - "type-detect": "0.1.1" + "type-detect": "3.0.0" }, "dependencies": { "type-detect": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz", - "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-3.0.0.tgz", + "integrity": "sha1-RtDMhVOrt7E6NSsNbeov1Y8tm1U=", "dev": true } } @@ -1573,6 +1862,15 @@ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" }, + "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=", + "dev": true, + "requires": { + "strip-bom": "2.0.0" + } + }, "defined": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/defined/-/defined-0.0.0.tgz", @@ -1590,6 +1888,12 @@ "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", "dev": true }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, "detect-indent": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", @@ -1605,23 +1909,6 @@ "integrity": "sha1-YOr9DSjukG5Oj/ClLBIpUhAzv5k=", "dev": true }, - "digdug": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/digdug/-/digdug-1.6.5.tgz", - "integrity": "sha512-xvpTA8tDioRRpV75nGVAm9xdSJEmesuRh8s1FVg0bUyn+OK0rZEVqYW0bY57pyxAXhDCB6Lnpf6nlFh8V4qrgg==", - "dev": true, - "requires": { - "decompress": "3.0.0", - "dojo": "2.0.0-alpha.7", - "semver": "5.4.1" - } - }, - "dojo": { - "version": "2.0.0-alpha.7", - "resolved": "https://registry.npmjs.org/dojo/-/dojo-2.0.0-alpha.7.tgz", - "integrity": "sha1-wrJdQ9j3LMycj+iaNJBqLSceXJE=", - "dev": true - }, "dot-prop": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz", @@ -1692,50 +1979,6 @@ "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", "dev": true }, - "duplexify": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.1.tgz", - "integrity": "sha512-j5goxHTwVED1Fpe5hh3q9R93Kip0Bg2KVAt4f8CEYM3UEwYcPSvWbXaUQOzdX/HtiNomipv+gU7ASQPDbV7pGQ==", - "dev": true, - "requires": { - "end-of-stream": "1.4.0", - "inherits": "2.0.3", - "readable-stream": "2.3.3", - "stream-shift": "1.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - } - } - }, "ecc-jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", @@ -1763,6 +2006,12 @@ "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", "dev": true }, + "encodeurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz", + "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=", + "dev": true + }, "end-of-stream": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz", @@ -1787,6 +2036,12 @@ "integrity": "sha1-8RLCn+paCZhTn8tqL9IUQ9KPBfc=", "dev": true }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -1820,6 +2075,12 @@ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, "eventemitter2": { "version": "0.4.14", "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", @@ -1864,6 +2125,71 @@ "fill-range": "2.2.3" } }, + "express": { + "version": "4.15.5", + "resolved": "https://registry.npmjs.org/express/-/express-4.15.5.tgz", + "integrity": "sha1-ZwI1ypWYiQpa6BcLg9tyK4Qu2Sc=", + "dev": true, + "requires": { + "accepts": "1.3.4", + "array-flatten": "1.1.1", + "content-disposition": "0.5.2", + "content-type": "1.0.4", + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "1.1.1", + "encodeurl": "1.0.1", + "escape-html": "1.0.3", + "etag": "1.8.1", + "finalhandler": "1.0.6", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "1.1.2", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "path-to-regexp": "0.1.7", + "proxy-addr": "1.1.5", + "qs": "6.5.0", + "range-parser": "1.2.0", + "send": "0.15.6", + "serve-static": "1.12.6", + "setprototypeof": "1.0.3", + "statuses": "1.3.1", + "type-is": "1.6.15", + "utils-merge": "1.0.0", + "vary": "1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "qs": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.0.tgz", + "integrity": "sha512-fjVFjW9yhqMhVGwRExCXLhJKrLlkYSaxNWdyc9rmHlrVZbk35YHH312dFd7191uQeXkI3mKLZTIbSvIeFwFemg==", + "dev": true + } + } + }, "extend": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", @@ -1943,9 +2269,9 @@ "dev": true }, "file-type": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", "dev": true }, "filename-regex": { @@ -1954,40 +2280,6 @@ "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", "dev": true }, - "fileset": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fileset/-/fileset-0.2.1.tgz", - "integrity": "sha1-WI74lzxmI7KnbfRlEFaWuWqsgGc=", - "dev": true, - "requires": { - "glob": "5.0.15", - "minimatch": "2.0.10" - }, - "dependencies": { - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "dev": true, - "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "2.0.10", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "minimatch": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", - "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=", - "dev": true, - "requires": { - "brace-expansion": "1.1.8" - } - } - } - }, "fill-range": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", @@ -2001,6 +2293,38 @@ "repeat-string": "1.6.1" } }, + "finalhandler": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.6.tgz", + "integrity": "sha1-AHrqM9Gk0+QgF/YkhIrVjSEvgU8=", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "1.0.1", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.3.1", + "unpipe": "1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, "find-up": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", @@ -2035,12 +2359,6 @@ } } }, - "first-chunk-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz", - "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=", - "dev": true - }, "flatten": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz", @@ -2086,6 +2404,18 @@ "samsam": "1.3.0" } }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, "fs-exists-sync": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz", @@ -2142,6 +2472,12 @@ "loader-utils": "0.2.17" } }, + "get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "dev": true + }, "get-stdin": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", @@ -2243,71 +2579,11 @@ } } }, - "glob-stream": { - "version": "5.3.5", - "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-5.3.5.tgz", - "integrity": "sha1-pVZlqajM3EGRWofHAeMtTgFvrSI=", - "dev": true, - "requires": { - "extend": "3.0.1", - "glob": "5.0.15", - "glob-parent": "3.1.0", - "micromatch": "2.3.11", - "ordered-read-streams": "0.3.0", - "through2": "0.6.5", - "to-absolute-glob": "0.1.1", - "unique-stream": "2.2.1" - }, - "dependencies": { - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "dev": true, - "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "3.1.0", - "path-dirname": "1.0.2" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "2.1.1" - } - }, - "through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "dev": true, - "requires": { - "readable-stream": "1.0.34", - "xtend": "4.0.1" - } - } - } + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true }, "globule": { "version": "1.2.0", @@ -2466,9 +2742,9 @@ } }, "grunt-dojo2": { - "version": "2.0.0-beta2.4", - "resolved": "https://registry.npmjs.org/grunt-dojo2/-/grunt-dojo2-2.0.0-beta2.4.tgz", - "integrity": "sha512-lWak4E+LHGqhCltXH+z7G22Chvij9eOW9X/j8PdaJdEwqIBgdDslncWtef5D0Ng9Na4etJmNmM5bG5BDs+RFYg==", + "version": "2.0.0-beta2.7", + "resolved": "https://registry.npmjs.org/grunt-dojo2/-/grunt-dojo2-2.0.0-beta2.7.tgz", + "integrity": "sha512-cLWcCZBX0nXtmxHxT1ymkIImO56SHINio07dTtQEwfL+Ese0J4/iwvyJrUZohw63hioA6jdhpvS1qBNkZ92xNQ==", "dev": true, "requires": { "codecov.io": "0.1.6", @@ -2642,32 +2918,6 @@ "typings-core": "1.6.1" } }, - "gulp-sourcemaps": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz", - "integrity": "sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw=", - "dev": true, - "requires": { - "convert-source-map": "1.5.0", - "graceful-fs": "4.1.11", - "strip-bom": "2.0.0", - "through2": "2.0.1", - "vinyl": "1.2.0" - }, - "dependencies": { - "vinyl": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", - "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", - "dev": true, - "requires": { - "clone": "1.0.2", - "clone-stats": "0.0.1", - "replace-ext": "0.0.1" - } - } - } - }, "gulp-util": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.7.tgz", @@ -2918,6 +3168,18 @@ "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", "dev": true }, + "ieee754": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", + "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=", + "dev": true + }, + "immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", + "dev": true + }, "import-lazy": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", @@ -2968,107 +3230,120 @@ "dev": true }, "intern": { - "version": "3.4.6", - "resolved": "https://registry.npmjs.org/intern/-/intern-3.4.6.tgz", - "integrity": "sha512-Blk3oIUR2X+tdAT8JoGitOjTwud68A1k+IW9Tmbzb4KfRaH4rCQSKhZXwIgrY6eAeL/LUwrLUpKPC66hieGl0g==", - "dev": true, - "requires": { - "@types/chai": "3.4.34", - "@types/node": "6.0.48", - "benchmark": "2.1.1", - "chai": "3.5.0", - "charm": "0.2.0", - "diff": "1.1.0", - "digdug": "1.6.5", - "dojo": "2.0.0-alpha.7", - "glob": "7.0.3", - "istanbul": "0.4.1", - "leadfoot": "1.7.4", - "lodash-amd": "4.16.4", - "mimetype": "0.0.8", - "platform": "1.3.1", - "source-map": "0.1.33" + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/intern/-/intern-4.0.2.tgz", + "integrity": "sha512-tq18nBU51DT36E2+jVD6T2LdfpJ2uydT/hLtbf92qUgSgj5pTOgvQWOUwiWmJ1Wc/Mz8bYTOk9YCDPFC8+6J2g==", + "dev": true, + "requires": { + "@dojo/core": "2.0.0-beta2.4", + "@dojo/has": "2.0.0-beta2.3", + "@dojo/interfaces": "2.0.0-beta2.4", + "@dojo/shim": "2.0.0-beta2.4", + "@theintern/digdug": "2.0.0", + "@theintern/leadfoot": "2.0.0", + "@types/benchmark": "1.0.30", + "@types/chai": "4.0.4", + "@types/charm": "1.0.1", + "@types/diff": "3.2.2", + "@types/express": "4.0.37", + "@types/http-errors": "1.5.34", + "@types/istanbul-lib-coverage": "1.1.0", + "@types/istanbul-lib-hook": "1.0.0", + "@types/istanbul-lib-instrument": "1.7.0", + "@types/istanbul-lib-report": "1.1.0", + "@types/istanbul-lib-source-maps": "1.2.0", + "@types/istanbul-reports": "1.1.0", + "@types/lodash": "4.14.77", + "@types/mime-types": "2.1.0", + "@types/platform": "1.3.1", + "@types/resolve": "0.0.4", + "@types/shell-quote": "1.6.0", + "@types/source-map": "0.1.29", + "@types/statuses": "1.2.28", + "@types/ws": "0.0.42", + "benchmark": "2.1.4", + "body-parser": "1.17.2", + "chai": "4.0.2", + "charm": "1.0.2", + "diff": "3.2.0", + "express": "4.15.5", + "glob": "7.1.2", + "http-errors": "1.6.2", + "istanbul-lib-coverage": "1.1.1", + "istanbul-lib-hook": "1.0.7", + "istanbul-lib-instrument": "1.7.5", + "istanbul-lib-report": "1.1.1", + "istanbul-lib-source-maps": "1.2.1", + "istanbul-reports": "1.1.2", + "lodash": "4.17.4", + "mime-types": "2.1.17", + "minimatch": "3.0.4", + "platform": "1.3.4", + "resolve": "1.4.0", + "shell-quote": "1.6.1", + "source-map": "0.5.7", + "statuses": "1.3.1", + "ws": "2.3.1" }, "dependencies": { - "@types/chai": { - "version": "3.4.34", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-3.4.34.tgz", - "integrity": "sha1-1TNXkoI7sJzd1eOMPSEbcJGDhU0=", - "dev": true - }, - "@types/node": { - "version": "6.0.48", - "resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.48.tgz", - "integrity": "sha1-hszBX2a3PLvF6zSDOYk2xYUSKzw=", - "dev": true - }, - "abbrev": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", - "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", + "@dojo/interfaces": { + "version": "2.0.0-beta2.4", + "resolved": "https://registry.npmjs.org/@dojo/interfaces/-/interfaces-2.0.0-beta2.4.tgz", + "integrity": "sha1-OGXj9EQJMuCNJNJPgj5UFwaiKNM=", "dev": true }, - "diff": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-1.1.0.tgz", - "integrity": "sha1-eYpJOBqkZBUem08Ob/Kwmooa0j8=", + "@types/chai": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.0.4.tgz", + "integrity": "sha512-cvU0HomQ7/aGDQJZsbtJXqBQ7w4J4TqLB0Z/h8mKrpRjfeZEvTbygkfJEb7fWdmwpIeDeFmIVwAEqS0OYuUv3Q==", "dev": true }, - "escodegen": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.7.1.tgz", - "integrity": "sha1-MOz89mypjcZ80v0WKr626vqM5vw=", + "body-parser": { + "version": "1.17.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.17.2.tgz", + "integrity": "sha1-+IkqvI+eYn1Crtr7yma/WrmRBO4=", "dev": true, "requires": { - "esprima": "1.2.5", - "estraverse": "1.9.3", - "esutils": "2.0.2", - "optionator": "0.5.0", - "source-map": "0.2.0" - }, - "dependencies": { - "esprima": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.5.tgz", - "integrity": "sha1-CZNQL+r2aBODJXVvMPmlH+7sEek=", - "dev": true - }, - "source-map": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", - "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", - "dev": true, - "optional": true, - "requires": { - "amdefine": "1.0.1" - } - } + "bytes": "2.4.0", + "content-type": "1.0.4", + "debug": "2.6.7", + "depd": "1.1.1", + "http-errors": "1.6.2", + "iconv-lite": "0.4.15", + "on-finished": "2.3.0", + "qs": "6.4.0", + "raw-body": "2.2.0", + "type-is": "1.6.15" } }, - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "bytes": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz", + "integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk=", "dev": true }, - "estraverse": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", - "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", - "dev": true + "debug": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz", + "integrity": "sha1-krrR9tBbu2u6Isyoi80OyJTChh4=", + "dev": true, + "requires": { + "ms": "2.0.0" + } }, - "fast-levenshtein": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.0.7.tgz", - "integrity": "sha1-AXjc3uAjuSkFGTrwlZ6KdjnP3Lk=", + "diff": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.2.0.tgz", + "integrity": "sha1-yc45Okt8vQsFinJck98pkCeGj/k=", "dev": true }, "glob": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.3.tgz", - "integrity": "sha1-CqI1kxpKlqwT1g/6wvuHe9btT1g=", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { + "fs.realpath": "1.0.0", "inflight": "1.0.6", "inherits": "2.0.3", "minimatch": "3.0.4", @@ -3076,76 +3351,54 @@ "path-is-absolute": "1.0.1" } }, - "istanbul": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.1.tgz", - "integrity": "sha1-zXMI6zSdBbnyGBYyukxKO1NNJyQ=", + "http-errors": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", + "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", "dev": true, "requires": { - "abbrev": "1.0.9", - "async": "1.5.2", - "escodegen": "1.7.1", - "esprima": "2.7.3", - "fileset": "0.2.1", - "handlebars": "4.0.10", - "js-yaml": "3.5.5", - "mkdirp": "0.5.1", - "nopt": "3.0.6", - "once": "1.4.0", - "resolve": "1.1.7", - "supports-color": "3.2.3", - "which": "1.2.14", - "wordwrap": "1.0.0" + "depd": "1.1.1", + "inherits": "2.0.3", + "setprototypeof": "1.0.3", + "statuses": "1.3.1" } }, - "levn": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.2.5.tgz", - "integrity": "sha1-uo0znQykphDjo/FFucr0iAcVUFQ=", - "dev": true, - "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" - } + "iconv-lite": { + "version": "0.4.15", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz", + "integrity": "sha1-/iZaIYrGpXz+hUkn6dBMGYJe3es=", + "dev": true }, - "optionator": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.5.0.tgz", - "integrity": "sha1-t1qJlaLUF98ltuTjhi9QqohlE2g=", - "dev": true, - "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "1.0.7", - "levn": "0.2.5", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "0.0.3" - }, - "dependencies": { - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true - } - } + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true }, - "source-map": { - "version": "0.1.33", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.33.tgz", - "integrity": "sha1-xlkpenOvGMBzsKoufMkeMWtcVww=", + "qs": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", + "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", + "dev": true + }, + "raw-body": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.2.0.tgz", + "integrity": "sha1-mUl2z2pQlqQRYoQEkvC9xdbn+5Y=", "dev": true, "requires": { - "amdefine": "1.0.1" + "bytes": "2.4.0", + "iconv-lite": "0.4.15", + "unpipe": "1.0.0" } }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "resolve": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz", + "integrity": "sha512-aW7sVKPufyHqOmyyLzg/J+8606v5nevBgaliIlV7nUpVMsDnoBGV/cbSLNjZAg9q0Cfd/+easKVKQ8vOu8fn1Q==", "dev": true, "requires": { - "has-flag": "1.0.0" + "path-parse": "1.0.5" } } } @@ -3165,6 +3418,12 @@ "loose-envify": "1.3.1" } }, + "ipaddr.js": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.4.0.tgz", + "integrity": "sha1-KWrKh4qCGBbluF0KKFqZvP9FgvA=", + "dev": true + }, "is-absolute": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.2.6.tgz", @@ -3205,12 +3464,6 @@ "builtin-modules": "1.1.1" } }, - "is-bzip2": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-bzip2/-/is-bzip2-1.0.0.tgz", - "integrity": "sha1-XuWOqlounIDiFAe+3yOuWsCRs/w=", - "dev": true - }, "is-dotfile": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", @@ -3259,16 +3512,10 @@ "integrity": "sha1-tMZLgwPTkRRJKkYNNkzPsNPAoEU=", "dev": true }, - "is-gzip": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-gzip/-/is-gzip-1.0.0.tgz", - "integrity": "sha1-bKiwe5nHeZgCWQDlVc7Y7YCHmoM=", - "dev": true - }, "is-natural-number": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-2.1.1.tgz", - "integrity": "sha1-fUxXKDd+84bD4ZSpkRv1fG3DNec=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=", "dev": true }, "is-npm": { @@ -3337,12 +3584,6 @@ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, - "is-tar": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-tar/-/is-tar-1.0.0.tgz", - "integrity": "sha1-L2suF5LB9bs2UZrKqdZcDSb+hT0=", - "dev": true - }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", @@ -3363,24 +3604,12 @@ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", "dev": true }, - "is-valid-glob": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz", - "integrity": "sha1-1LVcafUYhvm2XHDWwmItN+KfSP4=", - "dev": true - }, "is-windows": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz", "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw=", "dev": true }, - "is-zip": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-zip/-/is-zip-1.0.0.tgz", - "integrity": "sha1-R7Co/004p2QxzP2ZqOFaTIa6IyU=", - "dev": true - }, "isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", @@ -3480,34 +3709,135 @@ "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", "dev": true, "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "source-map": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", + "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", + "dev": true, + "optional": true, + "requires": { + "amdefine": "1.0.1" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "istanbul-lib-coverage": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz", + "integrity": "sha512-0+1vDkmzxqJIn5rcoEqapSB4DmPxE31EtI2dF2aCkV5esN9EWHxZ0dwgDClivMXJqE7zaYQxq30hj5L0nlTN5Q==", + "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": "sha512-3U2HB9y1ZV9UmFlE12Fx+nPtFqIymzrqCksrXujm3NVbAZIJg/RfYgO1XiIa0mbmxTjWpVEVlkIZJ25xVIAfkQ==", + "dev": true, + "requires": { + "append-transform": "0.4.0" + } + }, + "istanbul-lib-instrument": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.7.5.tgz", + "integrity": "sha1-rbWW+PDLi5XnOSBjUaOKWGryGx4=", + "dev": true, + "requires": { + "babel-generator": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "istanbul-lib-coverage": "1.1.1", + "semver": "5.4.1" + } + }, + "istanbul-lib-report": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz", + "integrity": "sha512-tvF+YmCmH4thnez6JFX06ujIA19WPa9YUiwjc1uALF2cv5dmE3It8b5I8Ob7FHJ70H9Y5yF+TDkVa/mcADuw1Q==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "1.1.1", + "mkdirp": "0.5.1", + "path-parse": "1.0.5", + "supports-color": "3.2.3" + }, + "dependencies": { + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "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": "sha512-mukVvSXCn9JQvdJl8wP/iPhqig0MRtuWuD4ZNKo6vB2Ik//AmhAKe3QnPN02dmkRe3lTudFk3rzoHhwU4hb94w==", + "dev": true, + "requires": { + "debug": "2.6.9", + "istanbul-lib-coverage": "1.1.1", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "source-map": "0.5.7" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" } }, - "source-map": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", - "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", - "dev": true, - "optional": true, - "requires": { - "amdefine": "1.0.1" - } + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "has-flag": "1.0.0" + "glob": "7.0.6" } } } }, + "istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha1-D7Lj9qqZIr085F0F2KtNXo4HvU8=", + "dev": true, + "requires": { + "handlebars": "4.0.10" + } + }, "js-base64": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.3.2.tgz", @@ -3633,12 +3963,44 @@ } }, "jszip": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-2.5.0.tgz", - "integrity": "sha1-dET9hVHd8+XacZj+oMkbyDCMwnQ=", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.1.4.tgz", + "integrity": "sha512-z6w8iYIxZ/fcgul0j/OerkYnkomH8BZigvzbxVmr2h5HkZUrPtk2kjYtLkqR9wwQxEP6ecKNoKLsbhd18jfnGA==", "dev": true, "requires": { - "pako": "0.2.9" + "core-js": "2.3.0", + "es6-promise": "3.0.2", + "lie": "3.1.1", + "pako": "1.0.6", + "readable-stream": "2.0.6" + }, + "dependencies": { + "es6-promise": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz", + "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "0.10.31", + "util-deprecate": "1.0.2" + } + } } }, "kind-of": { @@ -3666,57 +4028,6 @@ "dev": true, "optional": true }, - "lazystream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", - "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", - "dev": true, - "requires": { - "readable-stream": "2.3.3" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - } - } - }, - "leadfoot": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/leadfoot/-/leadfoot-1.7.4.tgz", - "integrity": "sha1-ojpuzqPRx/yrEk+jwpDwRz8UGtU=", - "dev": true, - "requires": { - "dojo": "2.0.0-alpha.7", - "jszip": "2.5.0" - } - }, "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", @@ -3726,6 +4037,15 @@ "type-check": "0.3.2" } }, + "lie": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", + "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=", + "dev": true, + "requires": { + "immediate": "3.0.6" + } + }, "listify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/listify/-/listify-1.0.0.tgz", @@ -3774,12 +4094,6 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" }, - "lodash-amd": { - "version": "4.16.4", - "resolved": "https://registry.npmjs.org/lodash-amd/-/lodash-amd-4.16.4.tgz", - "integrity": "sha1-2qBiWlCNwH4jcoIkqiet1qJJlDQ=", - "dev": true - }, "lodash._basecopy": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", @@ -3855,12 +4169,6 @@ "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", "dev": true }, - "lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", - "dev": true - }, "lodash.keys": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", @@ -4022,46 +4330,17 @@ "trim-newlines": "1.0.0" } }, - "merge-stream": { + "merge-descriptors": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", - "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", - "dev": true, - "requires": { - "readable-stream": "2.3.3" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - } - } + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true }, "micromatch": { "version": "2.3.11", @@ -4115,12 +4394,6 @@ "mime-db": "1.30.0" } }, - "mimetype": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mimetype/-/mimetype-0.0.8.tgz", - "integrity": "sha1-+zACJ5S793Jct7Rt+CDofdkf0IY=", - "dev": true - }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -4187,6 +4460,12 @@ "integrity": "sha1-dDmFMW49tFkoG1hxaehFc1oFQ58=", "dev": true }, + "negotiator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", + "dev": true + }, "nopt": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", @@ -4348,48 +4627,6 @@ "wordwrap": "1.0.0" } }, - "ordered-read-streams": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz", - "integrity": "sha1-cTfmmzKYuzQiR6G77jiByA4v14s=", - "dev": true, - "requires": { - "is-stream": "1.1.0", - "readable-stream": "2.3.3" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - } - } - }, "os-homedir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", @@ -4431,9 +4668,9 @@ } }, "pako": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", + "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==", "dev": true }, "parse-git-config": { @@ -4497,12 +4734,6 @@ "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", "dev": true }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true - }, "path-exists": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", @@ -4524,6 +4755,12 @@ "integrity": "sha1-XVPVeAGWRsDWiADbThRua9wqx68=", "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=", + "dev": true + }, "path-to-regexp": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", @@ -4544,6 +4781,12 @@ "pinkie-promise": "2.0.1" } }, + "pathval": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", + "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", + "dev": true + }, "pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", @@ -4602,9 +4845,9 @@ } }, "platform": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.1.tgz", - "integrity": "sha1-SSIQiSM1vTExwKCN2i2T7DVD5CM=", + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.4.tgz", + "integrity": "sha1-bw+xftqqSPIUQrOpdcBjEw8cPr0=", "dev": true }, "pleeease-filters": { @@ -5478,6 +5721,16 @@ "any-promise": "1.3.0" } }, + "proxy-addr": { + "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.2", + "ipaddr.js": "1.4.0" + } + }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", @@ -5535,6 +5788,12 @@ } } }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", + "dev": true + }, "raw-body": { "version": "2.1.7", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz", @@ -5560,52 +5819,10 @@ "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=", "dev": true, "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.4", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" - } - }, - "read-all-stream": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz", - "integrity": "sha1-NcPhd/IHjveJ7kv6+kNzB06u9Po=", - "dev": true, - "requires": { - "pinkie-promise": "2.0.1", - "readable-stream": "2.3.3" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - } + "deep-extend": "0.4.2", + "ini": "1.3.4", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" } }, "read-cache": { @@ -5740,6 +5957,12 @@ "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==", "dev": true }, + "regenerator-runtime": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz", + "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==", + "dev": true + }, "regex-cache": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", @@ -5977,6 +6200,80 @@ "semver": "5.4.1" } }, + "send": { + "version": "0.15.6", + "resolved": "https://registry.npmjs.org/send/-/send-0.15.6.tgz", + "integrity": "sha1-IPI6nJJbdiq4JwX+L52yUqzkfjQ=", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "1.1.1", + "destroy": "1.0.4", + "encodeurl": "1.0.1", + "escape-html": "1.0.3", + "etag": "1.8.1", + "fresh": "0.5.2", + "http-errors": "1.6.2", + "mime": "1.3.4", + "ms": "2.0.0", + "on-finished": "2.3.0", + "range-parser": "1.2.0", + "statuses": "1.3.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "http-errors": { + "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.1", + "inherits": "2.0.3", + "setprototypeof": "1.0.3", + "statuses": "1.3.1" + } + }, + "mime": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", + "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "serve-static": { + "version": "1.12.6", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.12.6.tgz", + "integrity": "sha1-uXN3P2NEmTTaVOW+ul4x2fQhFXc=", + "dev": true, + "requires": { + "encodeurl": "1.0.1", + "escape-html": "1.0.3", + "parseurl": "1.3.2", + "send": "0.15.6" + } + }, + "setprototypeof": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", + "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", + "dev": true + }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", @@ -5992,6 +6289,18 @@ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, + "shell-quote": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", + "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", + "dev": true, + "requires": { + "array-filter": "0.0.1", + "array-map": "0.0.0", + "array-reduce": "0.0.0", + "jsonify": "0.0.0" + } + }, "shelljs": { "version": "0.7.8", "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", @@ -6130,12 +6439,6 @@ "tweetnacl": "0.14.5" } }, - "stat-mode": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz", - "integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=", - "dev": true - }, "statuses": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", @@ -6156,63 +6459,6 @@ "duplexer": "0.1.1" } }, - "stream-combiner2": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", - "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", - "dev": true, - "requires": { - "duplexer2": "0.1.4", - "readable-stream": "2.3.3" - }, - "dependencies": { - "duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", - "dev": true, - "requires": { - "readable-stream": "2.3.3" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - } - } - }, - "stream-shift": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", - "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", - "dev": true - }, "string-hash": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz", @@ -6281,45 +6527,13 @@ "is-utf8": "0.2.1" } }, - "strip-bom-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz", - "integrity": "sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4=", - "dev": true, - "requires": { - "first-chunk-stream": "1.0.0", - "strip-bom": "2.0.0" - } - }, "strip-dirs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-1.1.1.tgz", - "integrity": "sha1-lgu9EoeETzl1pFWKoQOoJV4kVqA=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.0.0.tgz", + "integrity": "sha1-YQzbKSggDaAAT0HcuQ/JXNkZoLY=", "dev": true, "requires": { - "chalk": "1.1.3", - "get-stdin": "4.0.1", - "is-absolute": "0.1.7", - "is-natural-number": "2.1.1", - "minimist": "1.2.0", - "sum-up": "1.0.3" - }, - "dependencies": { - "is-absolute": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.1.7.tgz", - "integrity": "sha1-hHSREZ/MtftDYhfMc39/qtUPYD8=", - "dev": true, - "requires": { - "is-relative": "0.1.3" - } - }, - "is-relative": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.1.3.tgz", - "integrity": "sha1-kF/uiuhvRbPsYUvDwVyGnfCHboI=", - "dev": true - } + "is-natural-number": "4.0.1" } }, "strip-eof": { @@ -6343,15 +6557,6 @@ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true }, - "sum-up": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sum-up/-/sum-up-1.0.3.tgz", - "integrity": "sha1-HGYfZnBX9jvLeHWqFDi8FiUlFW4=", - "dev": true, - "requires": { - "chalk": "1.1.3" - } - }, "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", @@ -6532,16 +6737,6 @@ } } }, - "through2-filter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz", - "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=", - "dev": true, - "requires": { - "through2": "2.0.1", - "xtend": "4.0.1" - } - }, "throwback": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/throwback/-/throwback-1.1.1.tgz", @@ -6585,14 +6780,11 @@ } } }, - "to-absolute-glob": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz", - "integrity": "sha1-HN+kcqnvUMI57maZm2YsoOs5k38=", - "dev": true, - "requires": { - "extend-shallow": "2.0.1" - } + "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=", + "dev": true }, "touch": { "version": "1.0.0", @@ -6633,6 +6825,18 @@ "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", "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=", + "dev": true + }, + "tslib": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.7.1.tgz", + "integrity": "sha1-vIAEFkaRkjp5/oN4u+s9ogF1OOw=", + "dev": true + }, "tslint": { "version": "4.5.1", "resolved": "https://registry.npmjs.org/tslint/-/tslint-4.5.1.tgz", @@ -6701,9 +6905,9 @@ } }, "type-detect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz", - "integrity": "sha1-diIXzAbbJY7EiQihKY6LlRIejqI=", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.3.tgz", + "integrity": "sha1-Dj8mcLRAmbC0bChNE2p+9Jx0wuo=", "dev": true }, "type-is": { @@ -6864,12 +7068,28 @@ "dev": true, "optional": true }, + "ultron": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.0.tgz", + "integrity": "sha1-sHoualQagV/Go0zNRTO67DB8qGQ=", + "dev": true + }, "umd-wrapper": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/umd-wrapper/-/umd-wrapper-0.1.0.tgz", "integrity": "sha1-iym4cLCCVDqas7Siooe0uNcVMt4=", "dev": true }, + "unbzip2-stream": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.2.5.tgz", + "integrity": "sha512-izD3jxT8xkzwtXRUZjtmRwKnZoeECrfZ8ra/ketwOcusbZEp4mjULMnJOCfTDZBgGQAAY1AJ/IgxcwkavcX9Og==", + "dev": true, + "requires": { + "buffer": "3.6.0", + "through": "2.3.8" + } + }, "unc-path-regex": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", @@ -6894,16 +7114,6 @@ "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", "dev": true }, - "unique-stream": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz", - "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=", - "dev": true, - "requires": { - "json-stable-stringify": "1.0.1", - "through2-filter": "2.0.0" - } - }, "unique-string": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", @@ -7017,17 +7227,17 @@ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, + "utils-merge": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz", + "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg=", + "dev": true + }, "uuid": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==" }, - "vali-date": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz", - "integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=", - "dev": 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", @@ -7038,6 +7248,12 @@ "spdx-expression-parse": "1.0.4" } }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true + }, "verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", @@ -7065,116 +7281,6 @@ "replace-ext": "0.0.1" } }, - "vinyl-assign": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/vinyl-assign/-/vinyl-assign-1.2.1.tgz", - "integrity": "sha1-TRmIkbVRWRHXcajNnFSApGoHSkU=", - "dev": true, - "requires": { - "object-assign": "4.1.1", - "readable-stream": "2.3.3" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - } - } - }, - "vinyl-fs": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.4.tgz", - "integrity": "sha1-vm/zJwy1Xf19MGNkDegfJddTIjk=", - "dev": true, - "requires": { - "duplexify": "3.5.1", - "glob-stream": "5.3.5", - "graceful-fs": "4.1.11", - "gulp-sourcemaps": "1.6.0", - "is-valid-glob": "0.3.0", - "lazystream": "1.0.0", - "lodash.isequal": "4.5.0", - "merge-stream": "1.0.1", - "mkdirp": "0.5.1", - "object-assign": "4.1.1", - "readable-stream": "2.3.3", - "strip-bom": "2.0.0", - "strip-bom-stream": "1.0.0", - "through2": "2.0.1", - "through2-filter": "2.0.0", - "vali-date": "1.0.0", - "vinyl": "1.2.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - }, - "vinyl": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", - "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", - "dev": true, - "requires": { - "clone": "1.0.2", - "clone-stats": "0.0.1", - "replace-ext": "0.0.1" - } - } - } - }, "webidl-conversions": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", @@ -7289,6 +7395,24 @@ "slide": "1.1.6" } }, + "ws": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-2.3.1.tgz", + "integrity": "sha1-a5Sz5EfLajY/eF6vlK9jWejoHIA=", + "dev": true, + "requires": { + "safe-buffer": "5.0.1", + "ultron": "1.1.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", + "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=", + "dev": true + } + } + }, "xdg-basedir": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-2.0.0.tgz", diff --git a/package.json b/package.json index 45ccf5d..de9efba 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "@dojo/i18n": "~0.1.0", "@dojo/shim": "~0.1.0", "@dojo/widget-core": "~0.1.0", - "intern": "^3.4.3" + "intern": "~4.0.2" }, "dependencies": { "jsdom": "^10.0.0", @@ -48,7 +48,7 @@ "@types/sinon": "^1.16.31", "grunt": "~1.0.1", "grunt-dojo2": "latest", - "intern": "^3.4.3", + "intern": "~4.0.2", "sinon": "^2.2.0", "typescript": "~2.4.1" } diff --git a/src/intern/ClientErrorCollector.ts b/src/intern/ClientErrorCollector.ts index 738aa5e..d46ec41 100644 --- a/src/intern/ClientErrorCollector.ts +++ b/src/intern/ClientErrorCollector.ts @@ -1,4 +1,4 @@ -import * as Command from 'leadfoot/Command'; +import Command from '@theintern/leadfoot/Command'; export interface ClientError { message: string; diff --git a/tests/functional/intern/ClientErrorCollector.ts b/tests/functional/intern/ClientErrorCollector.ts index aab81ad..82cfe3c 100644 --- a/tests/functional/intern/ClientErrorCollector.ts +++ b/tests/functional/intern/ClientErrorCollector.ts @@ -1,27 +1,26 @@ -import * as assert from 'intern/chai!assert'; -import * as registerSuite from 'intern!object'; -import * as Suite from 'intern/lib/Suite'; -import * as Command from 'leadfoot/Command'; +const { registerSuite } = intern.getInterface('object'); +const { assert } = intern.getPlugin('chai'); + +import Command from '@theintern/leadfoot/Command'; import { Require } from '@dojo/interfaces/loader'; import ClientErrorCollector from '../../../src/intern/ClientErrorCollector'; declare const require: Require; -registerSuite({ - name: 'ClientErrorCollector', +registerSuite('ClientErrorCollector', { - 'client errors are returned'(this: Suite) { + 'client errors are returned'() { const collector = new ClientErrorCollector(this.remote); return this.remote - .get(require.toUrl('./ClientErrorCollector.html')) + .get(`${__dirname}/ClientErrorCollector.html`) .then(() => collector.init()) .execute('__throw_an_error()', []) .then(() => collector.finish()) .then((results) => { assert.isArray(results, 'Results should be an array'); - assert.strictEqual(results.length, 1, 'Should have a single element'); - const [ result ] = results; + assert.strictEqual(results!.length, 1, 'Should have a single element'); + const [ result ] = results!; assert.include(result.message, 'Ooops...', 'Should contain the correct error name'); assert.include(( result.source), 'tests/functional/intern/ClientErrorCollector.html', 'Should be from the correct source'); assert.isNumber(result.colno); @@ -34,49 +33,49 @@ registerSuite({ }); }, - 'all client errors are returned'(this: Suite) { + 'all client errors are returned'() { const collector = new ClientErrorCollector(this.remote); return this.remote - .get(require.toUrl('./ClientErrorCollector.html')) + .get(`${__dirname}/ClientErrorCollector.html`) .then(() => collector.init()) .execute('__throw_an_error()', []) .execute('__throw_an_error()', []) .then(() => collector.finish()) .then((results) => { assert.isArray(results, 'Results should be an array'); - assert.strictEqual(results.length, 2, 'Should have a single element'); + assert.strictEqual(results!.length, 2, 'Should have a single element'); }); }, - 'no client errors are returned'(this: Suite) { + 'no client errors are returned'() { const collector = new ClientErrorCollector(this.remote); return this.remote - .get(require.toUrl('./ClientErrorCollector.html')) + .get(`${__dirname}/ClientErrorCollector.html`) .then(() => collector.init()) .then(() => collector.finish()) .then((results) => { assert.isArray(results, 'Results should be an array'); - assert.strictEqual(results.length, 0, 'Should have no elements'); + assert.strictEqual(results!.length, 0, 'Should have no elements'); }); }, 'assertNoErrors': { - 'no errors'(this: Suite) { + 'no errors'() { const collector = new ClientErrorCollector(this.remote); return this.remote - .get(require.toUrl('./ClientErrorCollector.html')) + .get(`${__dirname}/ClientErrorCollector.html`) .then(() => collector.init()) .then(() => collector.assertNoErrors()); }, - 'throws on error'(this: Suite) { + 'throws on error'() { const collector = new ClientErrorCollector(this.remote); return this.remote - .get(require.toUrl('./ClientErrorCollector.html')) + .get(`${__dirname}/ClientErrorCollector.html`) .then(() => collector.init()) .execute('__throw_an_error()', []) .then>(() => { diff --git a/tests/intern-local.ts b/tests/intern-local.ts deleted file mode 100644 index 4327144..0000000 --- a/tests/intern-local.ts +++ /dev/null @@ -1,11 +0,0 @@ -export * from './intern'; - -export const tunnel = 'SeleniumTunnel'; -export const tunnelOptions = { - hostname: 'localhost', - port: '4444' -}; - -export const environments = [ - { browserName: 'chrome' } -]; diff --git a/tests/intern-saucelabs.ts b/tests/intern-saucelabs.ts deleted file mode 100644 index f1be2a8..0000000 --- a/tests/intern-saucelabs.ts +++ /dev/null @@ -1,17 +0,0 @@ -export * from './intern'; - -export const environments = [ - { browserName: 'internet explorer', version: '11.0', platform: 'Windows 7' }, - { browserName: 'microsoftedge', platform: 'Windows 10' }, - { browserName: 'firefox', platform: 'Windows 10' }, - { browserName: 'chrome', platform: 'Windows 10' }, - { browserName: 'safari', version: '10', platform: 'OS X 10.12' }, - // Andriod causing issues when run from travis - // { browserName: 'android', deviceName: 'Google Nexus 7 HD Emulator' }, - { browserName: 'iphone', version: '9.3' } -]; - -/* SauceLabs supports more max concurrency */ -export const maxConcurrency = 4; - -export const tunnel = 'SauceLabsTunnel'; diff --git a/tests/intern.ts b/tests/intern.ts deleted file mode 100644 index f5023bb..0000000 --- a/tests/intern.ts +++ /dev/null @@ -1,74 +0,0 @@ -export const proxyPort = 9000; - -// A fully qualified URL to the Intern proxy -export const proxyUrl = 'http://localhost:9000/'; - -// Default desired capabilities for all environments. Individual capabilities can be overridden by any of the -// specified browser environments in the `environments` array below as well. See -// https://code.google.com/p/selenium/wiki/DesiredCapabilities for standard Selenium capabilities and -// https://saucelabs.com/docs/additional-config#desired-capabilities for Sauce Labs capabilities. -// Note that the `build` capability will be filled in with the current commit ID from the Travis CI environment -// automatically -export const capabilities = { - 'browserstack.debug': false, - project: 'Dojo 2', - name: '@dojo/test-extras' -}; - -// Browsers to run integration testing against. Note that version numbers must be strings if used with Sauce -// OnDemand. Options that will be permutated are browserName, version, platform, and platformVersion; any other -// capabilities options specified for an environment will be copied as-is -export const environments = [ - { browserName: 'internet explorer', version: '11' }, - { browserName: 'edge' }, - { browserName: 'firefox', platform: 'WINDOWS' }, - { browserName: 'chrome', platform: 'WINDOWS' }, - { browserName: 'safari', version: '9.1', platform: 'MAC' }, - { browserName: 'iPhone', version: '9.1' } -]; - -// Maximum number of simultaneous integration tests that should be executed on the remote WebDriver service -export const maxConcurrency = 5; - -// Name of the tunnel class to use for WebDriver tests -export const tunnel = 'BrowserStackTunnel'; - -// Support running unit tests from a web server that isn't the intern proxy -export const initialBaseUrl: string | null = (function () { - if (typeof location !== 'undefined' && location.pathname.indexOf('__intern/') > -1) { - return '/'; - } - return null; -})(); - -// The desired AMD loader to use when running unit tests (client.html/client.js). Omit to use the default Dojo -// loader -export const loaders = { - 'host-browser': 'node_modules/@dojo/loader/loader.js', - 'host-node': '@dojo/loader' -}; - -// Configuration options for the module loader; any AMD configuration options supported by the specified AMD loader -// can be used here -export const loaderOptions = { - // Packages that should be registered with the loader in each testing environment - packages: [ - { name: '@dojo', location: 'node_modules/@dojo' }, - { name: 'dojo', location: 'node_modules/intern/node_modules/dojo' }, - { name: 'grunt-dojo2', location: 'node_modules/grunt-dojo2'}, - { name: 'maquette', location: 'node_modules/maquette/dist', main: 'maquette' }, - { name: 'pepjs', location: 'node_modules/pepjs/dist', main: 'pep' }, - { name: 'sinon', location: 'node_modules/sinon/pkg', main: 'sinon' }, - { name: 'src', location: '_build/src' }, - { name: 'tests', location: '_build/tests' } - ] -}; - -// Non-functional test suite(s) to run in each browser -export const suites = [ 'tests/unit/all' ]; - -// Functional test suite(s) to run in each browser once non-functional tests are completed -export const functionalSuites = [ 'tests/functional/all' ]; - -// A regular expression matching URLs to files that should not be included in code coverage analysis -export const excludeInstrumentation = /(?:node_modules|bower_components|tests)[\/\\]/; diff --git a/tests/unit/harness.ts b/tests/unit/harness.ts index f31a76e..e70d220 100644 --- a/tests/unit/harness.ts +++ b/tests/unit/harness.ts @@ -1,5 +1,6 @@ -import * as assert from 'intern/chai!assert'; -import * as registerSuite from 'intern!object'; +const { registerSuite } = intern.getInterface('object'); +const { assert } = intern.getPlugin('chai'); + import harness from '../../src/harness'; import { compareProperty } from '../../src/support/d'; @@ -69,8 +70,7 @@ class SubWidget extends WidgetBase { } } -registerSuite({ - name: 'harness', +registerSuite('harness', { 'rendering': { 'nodes are added during rendering and removed after destruction'() { @@ -477,7 +477,7 @@ registerSuite({ clickCount++; e.preventDefault(); if ('CustomEvent' in window) { - assert.instanceOf(e, window['CustomEvent'], 'should be of class custom event'); + assert(e instanceof window['CustomEvent'], 'should be of class custom event'); } assert.strictEqual(e.type, 'click', 'should be type of "click"'); assert.strictEqual(e.target, dom, 'the target should be the rendered dom'); @@ -514,7 +514,7 @@ registerSuite({ clickCount++; e.preventDefault(); if ('CustomEvent' in window) { - assert.instanceOf(e, window['CustomEvent'], 'should be of class custom event'); + assert(e instanceof window['CustomEvent'], 'should be of class custom event'); } assert.strictEqual(e.type, 'click', 'should be type of "click"'); assert.strictEqual(e.target, target, 'the target should be the rendered dom firstchild'); @@ -553,7 +553,7 @@ registerSuite({ clickCount++; e.preventDefault(); if ('CustomEvent' in window) { - assert.instanceOf(e, window['CustomEvent'], 'should be of class custom event'); + assert(e instanceof window['CustomEvent'], 'should be of class custom event'); } assert.strictEqual(e.type, 'click', 'should be type of "click"'); assert.strictEqual(e.target, target, 'the target should be the rendered dom firstchild'); diff --git a/tests/unit/intern/ClientErrorCollector.ts b/tests/unit/intern/ClientErrorCollector.ts index c3254c0..3a92c16 100644 --- a/tests/unit/intern/ClientErrorCollector.ts +++ b/tests/unit/intern/ClientErrorCollector.ts @@ -1,7 +1,8 @@ -import * as assert from 'intern/chai!assert'; -import * as registerSuite from 'intern!object'; +const { registerSuite } = intern.getInterface('object'); +const { assert } = intern.getPlugin('chai'); + import ClientErrorCollector from '../../../src/intern/ClientErrorCollector'; -import * as Command from 'leadfoot/Command'; +import Command from '@theintern/leadfoot/Command'; let resultString = ''; let lastResult: any; @@ -22,9 +23,7 @@ const mockRemote: Command = { } }; -registerSuite({ - name: 'ClientErrorCollector', - +registerSuite('ClientErrorCollector', { 'init()': { 'invocation'() { const collector = new ClientErrorCollector(mockRemote); diff --git a/tests/unit/main.ts b/tests/unit/main.ts index 908ba0a..b950053 100644 --- a/tests/unit/main.ts +++ b/tests/unit/main.ts @@ -1,5 +1,6 @@ -import * as registerSuite from 'intern!object'; -import * as assert from 'intern/chai!assert'; +const { registerSuite } = intern.getInterface('object'); +const { assert } = intern.getPlugin('chai'); + import * as main from '../../src/main'; import harness from '../../src/harness'; import assertRender from '../../src/support/assertRender'; @@ -8,8 +9,7 @@ import sendEvent from '../../src/support/sendEvent'; import ClientErrorCollector from '../../src/intern/ClientErrorCollector'; import { assignChildProperties, assignProperties, findIndex, findKey, replaceChild, replaceChildProperties, replaceProperties } from '../../src/support/d'; -registerSuite({ - name: 'main', +registerSuite('main', { 'validate api'() { assert(main); diff --git a/tests/unit/support/AssertionError.ts b/tests/unit/support/AssertionError.ts index 52ab16e..813286e 100644 --- a/tests/unit/support/AssertionError.ts +++ b/tests/unit/support/AssertionError.ts @@ -1,9 +1,9 @@ -import * as registerSuite from 'intern!object'; -import * as assert from 'intern/chai!assert'; +const { registerSuite } = intern.getInterface('object'); +const { assert } = intern.getPlugin('chai'); + import AssertionError from '../../../src/support/AssertionError'; -registerSuite({ - name: 'support/AssertionError', +registerSuite('support/AssertionError', { 'construction'() { const err = new AssertionError(); diff --git a/tests/unit/support/assertRender.ts b/tests/unit/support/assertRender.ts index b58fd5c..558190b 100644 --- a/tests/unit/support/assertRender.ts +++ b/tests/unit/support/assertRender.ts @@ -1,5 +1,6 @@ -import * as registerSuite from 'intern!object'; -import * as assert from 'intern/chai!assert'; +const { registerSuite } = intern.getInterface('object'); +const { assert } = intern.getPlugin('chai'); + import AssertionError from '../../../src/support/AssertionError'; import assertRender from '../../../src/support/assertRender'; import { v, w } from '@dojo/widget-core/d'; @@ -24,8 +25,7 @@ class OtherWidget extends WidgetBase { } } -registerSuite({ - name: 'support/assertRender', +registerSuite('support/assertRender', { 'v()': { 'tag equal'() { @@ -127,7 +127,7 @@ registerSuite({ v('div', { }, [ 'foo' ]), v('div', { }, [ 'bar' ]) ); - }, 'AssertionError: Render unexpected: Expected "foo" to equal "bar"'); + }, AssertionError, 'Render unexpected: Expected "foo" to equal "bar"'); }, 'missing child'() { diff --git a/tests/unit/support/callListener.ts b/tests/unit/support/callListener.ts index 0a5aa38..d64bd96 100644 --- a/tests/unit/support/callListener.ts +++ b/tests/unit/support/callListener.ts @@ -1,11 +1,11 @@ -import * as registerSuite from 'intern!object'; -import * as assert from 'intern/chai!assert'; +const { registerSuite } = intern.getInterface('object'); +const { assert } = intern.getPlugin('chai'); + import callListener from '../../../src/support/callListener'; import { v, w } from '@dojo/widget-core/d'; -registerSuite({ - name: 'support/callListener', +registerSuite('support/callListener', { 'should call listener'() { let count = 0; diff --git a/tests/unit/support/compare.ts b/tests/unit/support/compare.ts index 1261233..ee309c6 100644 --- a/tests/unit/support/compare.ts +++ b/tests/unit/support/compare.ts @@ -1,9 +1,9 @@ -import * as registerSuite from 'intern!object'; -import * as assert from 'intern/chai!assert'; +const { registerSuite } = intern.getInterface('object'); +const { assert } = intern.getPlugin('chai'); + import { createConstructRecord, diff, patch, CustomDiff } from '../../../src/support/compare'; -registerSuite({ - name: 'compare', +registerSuite('compare', { diff: { 'plain object': { diff --git a/tests/unit/support/d.ts b/tests/unit/support/d.ts index 49c94da..96890b9 100644 --- a/tests/unit/support/d.ts +++ b/tests/unit/support/d.ts @@ -1,5 +1,6 @@ -import * as assert from 'intern/chai!assert'; -import * as registerSuite from 'intern!object'; +const { registerSuite } = intern.getInterface('object'); +const { assert } = intern.getPlugin('chai'); + import { stub } from 'sinon'; import { assignChildProperties, @@ -16,8 +17,7 @@ import { v, w } from '@dojo/widget-core/d'; import AssertionError from '../../../src/support/AssertionError'; import assertRender from '../../../src/support/assertRender'; -registerSuite({ - name: 'support/virtualDom', +registerSuite('support/virtualDom', { 'assignChildProperties()': { 'by index'() { diff --git a/tests/unit/support/loadJsdom.ts b/tests/unit/support/loadJsdom.ts index 92455f6..2fe1562 100644 --- a/tests/unit/support/loadJsdom.ts +++ b/tests/unit/support/loadJsdom.ts @@ -1,11 +1,11 @@ -import * as registerSuite from 'intern!object'; -import * as assert from 'intern/chai!assert'; +const { registerSuite } = intern.getInterface('object'); +const { assert } = intern.getPlugin('chai'); + import has from '@dojo/has/has'; import global from '@dojo/shim/global'; import doc from '../../../src/support/loadJsdom'; -registerSuite({ - name: 'support/loadJsdom', +registerSuite('support/loadJsdom', { 'document is global and matches export'() { assert(document, 'document should be in the global scope'); diff --git a/tests/unit/support/sendEvent.ts b/tests/unit/support/sendEvent.ts index 6423a74..419b30b 100644 --- a/tests/unit/support/sendEvent.ts +++ b/tests/unit/support/sendEvent.ts @@ -1,20 +1,10 @@ +const { registerSuite } = intern.getInterface('object'); +const { assert } = intern.getPlugin('chai'); + import has from '@dojo/has/has'; -import * as registerSuite from 'intern!object'; -import * as assert from 'intern/chai!assert'; import sendEvent from '../../../src/support/sendEvent'; -const hasCustomEventConstructor = (() => { - try { - new window.CustomEvent('foo'); - return true; - } - catch (e) { - return false; - } -})(); - -registerSuite({ - name: 'support/sendEvent', +registerSuite('support/sendEvent', { 'custom event'() { const target = document.createElement('div'); @@ -63,11 +53,11 @@ registerSuite({ function listener(evt: MouseEvent) { assert.strictEqual(evt.type, 'click', 'event type should be "click"'); - if (hasCustomEventConstructor) { - assert.instanceOf(evt, ( window).MouseEvent, 'event should be an instance of MouseEvent'); + if (has('customevent-constructor')) { + assert(evt instanceof ( window).MouseEvent, 'event should be an instance of MouseEvent'); } else { - assert.instanceOf(evt, ( window).CustomEvent, 'event should be an instance of MouseEvent'); + assert.instanceOf(evt, window['CustomEvent'], 'event should be an instance of CustomEvent'); } assert.strictEqual(evt.clientX, 50); assert.strictEqual(evt.clientY, 50);