0
0
mirror of https://github.com/twbs/bootstrap.git synced 2025-02-06 04:08:22 +01:00

Update dependencies, including Babel to v6 and zeroUnits fix.

This commit is contained in:
Bardi Harborow 2016-10-07 00:21:05 +11:00
parent e56146e592
commit d57d5a606b
19 changed files with 4129 additions and 2913 deletions

View File

@ -1,8 +1,8 @@
source 'https://rubygems.org' source 'https://rubygems.org'
group :development, :test do group :development, :test do
gem 'jekyll', '~> 3.1.2' gem 'jekyll', '~> 3.3.0'
gem 'jekyll-redirect-from', '~> 0.11.0' gem 'jekyll-redirect-from', '~> 0.11.0'
gem 'jekyll-sitemap', '~> 0.11.0' gem 'jekyll-sitemap', '~> 0.11.0'
gem 'scss_lint', '~> 0.49.0' gem 'scss_lint', '~> 0.50.2'
end end

View File

@ -2,16 +2,18 @@ GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
addressable (2.4.0) addressable (2.4.0)
colorator (0.1) colorator (1.1.0)
ffi (1.9.13) ffi (1.9.14)
ffi (1.9.13-x64-mingw32) forwardable-extended (2.6.0)
jekyll (3.1.6) jekyll (3.3.0)
colorator (~> 0.1) addressable (~> 2.4)
colorator (~> 1.0)
jekyll-sass-converter (~> 1.0) jekyll-sass-converter (~> 1.0)
jekyll-watch (~> 1.1) jekyll-watch (~> 1.1)
kramdown (~> 1.3) kramdown (~> 1.3)
liquid (~> 3.0) liquid (~> 3.0)
mercenary (~> 0.3.3) mercenary (~> 0.3.3)
pathutil (~> 0.9)
rouge (~> 1.7) rouge (~> 1.7)
safe_yaml (~> 1.0) safe_yaml (~> 1.0)
jekyll-redirect-from (0.11.0) jekyll-redirect-from (0.11.0)
@ -20,34 +22,35 @@ GEM
sass (~> 3.4) sass (~> 3.4)
jekyll-sitemap (0.11.0) jekyll-sitemap (0.11.0)
addressable (~> 2.4.0) addressable (~> 2.4.0)
jekyll-watch (1.4.0) jekyll-watch (1.5.0)
listen (~> 3.0, < 3.1) listen (~> 3.0, < 3.1)
kramdown (1.11.1) kramdown (1.12.0)
liquid (3.0.6) liquid (3.0.6)
listen (3.0.8) listen (3.0.8)
rb-fsevent (~> 0.9, >= 0.9.4) rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7) rb-inotify (~> 0.9, >= 0.9.7)
mercenary (0.3.6) mercenary (0.3.6)
rake (11.2.2) pathutil (0.14.0)
forwardable-extended (~> 2.6)
rake (11.3.0)
rb-fsevent (0.9.7) rb-fsevent (0.9.7)
rb-inotify (0.9.7) rb-inotify (0.9.7)
ffi (>= 0.5.0) ffi (>= 0.5.0)
rouge (1.11.1) rouge (1.11.1)
safe_yaml (1.0.4) safe_yaml (1.0.4)
sass (3.4.22) sass (3.4.22)
scss_lint (0.49.0) scss_lint (0.50.2)
rake (>= 0.9, < 12) rake (>= 0.9, < 12)
sass (~> 3.4.20) sass (~> 3.4.20)
PLATFORMS PLATFORMS
ruby ruby
x64-mingw32
DEPENDENCIES DEPENDENCIES
jekyll (~> 3.1.2) jekyll (~> 3.3.0)
jekyll-redirect-from (~> 0.11.0) jekyll-redirect-from (~> 0.11.0)
jekyll-sitemap (~> 0.11.0) jekyll-sitemap (~> 0.11.0)
scss_lint (~> 0.49.0) scss_lint (~> 0.50.2)
BUNDLED WITH BUNDLED WITH
1.12.5 1.13.2

View File

@ -58,8 +58,7 @@ module.exports = function (grunt) {
babel: { babel: {
dev: { dev: {
options: { options: {
sourceMap: true, sourceMap: true
modules: 'ignore'
}, },
files: { files: {
'js/dist/util.js' : 'js/src/util.js', 'js/dist/util.js' : 'js/src/util.js',
@ -77,7 +76,7 @@ module.exports = function (grunt) {
}, },
dist: { dist: {
options: { options: {
modules: 'ignore' extends: '../../js/.babelrc'
}, },
files: { files: {
'<%= concat.bootstrap.dest %>' : '<%= concat.bootstrap.dest %>' '<%= concat.bootstrap.dest %>' : '<%= concat.bootstrap.dest %>'
@ -87,8 +86,8 @@ module.exports = function (grunt) {
stamp: { stamp: {
options: { options: {
banner: '<%= banner %>\n<%= jqueryCheck %>\n<%= jqueryVersionCheck %>\n+function ($) {\n', banner: '<%= banner %>\n<%= jqueryCheck %>\n<%= jqueryVersionCheck %>\n+function () {\n',
footer: '\n}(jQuery);' footer: '\n}();'
}, },
bootstrap: { bootstrap: {
files: { files: {
@ -102,8 +101,7 @@ module.exports = function (grunt) {
// Custom function to remove all export and import statements // Custom function to remove all export and import statements
process: function (src) { process: function (src) {
return src.replace(/^(export|import).*/gm, ''); return src.replace(/^(export|import).*/gm, '');
}, }
stripBanners: false
}, },
bootstrap: { bootstrap: {
src: [ src: [
@ -165,10 +163,7 @@ module.exports = function (grunt) {
cssmin: { cssmin: {
options: { options: {
// TODO: disable `zeroUnits` optimization once clean-css 3.2 is released compatibility: 'ie9,-properties.zeroUnits',
// and then simplify the fix for https://github.com/twbs/bootstrap/issues/14837 accordingly
compatibility: 'ie9',
keepSpecialComments: '*',
sourceMap: true, sourceMap: true,
// sourceMapInlineSources: true, // sourceMapInlineSources: true,
advanced: false advanced: false

View File

@ -49,7 +49,7 @@ cdn:
css_hash: "sha384-2hfp1SzUoho7/TsGGGDaFdsuuDL0LX2hnUp6VkX3CUQ2K4K+xjboZdsXyp4oUHZj" css_hash: "sha384-2hfp1SzUoho7/TsGGGDaFdsuuDL0LX2hnUp6VkX3CUQ2K4K+xjboZdsXyp4oUHZj"
js: https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.4/js/bootstrap.min.js js: https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.4/js/bootstrap.min.js
js_hash: "sha384-VjEeINv9OSwtWFLAtmc4JCtEJXXBub00gtSnszmspDLCtC0I4z4nqz7rEFbIZLLU" js_hash: "sha384-VjEeINv9OSwtWFLAtmc4JCtEJXXBub00gtSnszmspDLCtC0I4z4nqz7rEFbIZLLU"
jquery: https://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js jquery: https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js
jquery_hash: "sha384-THPy051/pYDQGanwU6poAc/hOdQxjnOEXzbT+OuUAFqNqFjL+4IGLBgCJC3ZOShY" jquery_hash: "sha384-3ceskX3iaEnIogmQchP8opvBy3Mi7Ce34nWjpBIwVTHfGYWQS9jwHDVRnpKKHJg7"
tether: https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js tether: https://cdnjs.cloudflare.com/ajax/libs/tether/1.3.7/js/tether.min.js
tether_hash: "sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" tether_hash: "sha384-XTs3FgkjiBgo8qjEjBk0tGmf3wPrWtA6coPfQDfFEY8AnYJwjalXCiosYRBIBZX8"

View File

@ -30,6 +30,6 @@
], ],
"dependencies": { "dependencies": {
"jquery": "1.9.1 - 3", "jquery": "1.9.1 - 3",
"tether": "^1.1.1" "tether": "^1.3.7"
} }
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

3561
grunt/npm-shrinkwrap.json generated
View File

@ -5,517 +5,747 @@
"abbrev": { "abbrev": {
"version": "1.0.9", "version": "1.0.9",
"from": "abbrev@>=1.0.0 <2.0.0", "from": "abbrev@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz" "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",
"dev": true
}, },
"accepts": { "accepts": {
"version": "1.3.3", "version": "1.3.3",
"from": "accepts@>=1.3.3 <1.4.0", "from": "accepts@>=1.3.3 <1.4.0",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz" "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz",
"dev": true
}, },
"acorn": { "acorn": {
"version": "3.2.0", "version": "4.0.3",
"from": "acorn@>=3.2.0 <4.0.0", "from": "acorn@>=4.0.1 <5.0.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-3.2.0.tgz" "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.3.tgz",
"dev": true
}, },
"acorn-jsx": { "acorn-jsx": {
"version": "3.0.1", "version": "3.0.1",
"from": "acorn-jsx@>=3.0.0 <4.0.0", "from": "acorn-jsx@>=3.0.0 <4.0.0",
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz" "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz",
"dev": true,
"dependencies": {
"acorn": {
"version": "3.3.0",
"from": "acorn@>=3.0.4 <4.0.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
"dev": true
}
}
}, },
"agent-base": { "agent-base": {
"version": "2.0.1", "version": "2.0.1",
"from": "agent-base@>=2.0.0 <3.0.0", "from": "agent-base@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-2.0.1.tgz", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-2.0.1.tgz",
"dev": true,
"dependencies": { "dependencies": {
"semver": { "semver": {
"version": "5.0.3", "version": "5.0.3",
"from": "semver@>=5.0.1 <5.1.0", "from": "semver@>=5.0.1 <5.1.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz" "resolved": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz",
"dev": true
} }
} }
}, },
"ajv": {
"version": "4.7.7",
"from": "ajv@>=4.7.0 <5.0.0",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-4.7.7.tgz",
"dev": true
},
"ajv-keywords": {
"version": "1.1.1",
"from": "ajv-keywords@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.1.1.tgz",
"dev": true
},
"align-text": { "align-text": {
"version": "0.1.4", "version": "0.1.4",
"from": "align-text@>=0.1.3 <0.2.0", "from": "align-text@>=0.1.3 <0.2.0",
"resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz" "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
}, "dev": true
"alter": {
"version": "0.2.0",
"from": "alter@>=0.2.0 <0.3.0",
"resolved": "https://registry.npmjs.org/alter/-/alter-0.2.0.tgz"
}, },
"amdefine": { "amdefine": {
"version": "1.0.0", "version": "1.0.0",
"from": "amdefine@>=0.0.4", "from": "amdefine@>=0.0.4",
"resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz" "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz",
"dev": true
}, },
"ansi-escapes": { "ansi-escapes": {
"version": "1.4.0", "version": "1.4.0",
"from": "ansi-escapes@>=1.1.0 <2.0.0", "from": "ansi-escapes@>=1.1.0 <2.0.0",
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz" "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz",
"dev": true
}, },
"ansi-regex": { "ansi-regex": {
"version": "2.0.0", "version": "2.0.0",
"from": "ansi-regex@>=2.0.0 <3.0.0", "from": "ansi-regex@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz",
"dev": true
}, },
"ansi-styles": { "ansi-styles": {
"version": "2.2.1", "version": "2.2.1",
"from": "ansi-styles@>=2.2.1 <3.0.0", "from": "ansi-styles@>=2.2.1 <3.0.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
"dev": true
}, },
"anymatch": { "anymatch": {
"version": "1.3.0", "version": "1.3.0",
"from": "anymatch@>=1.3.0 <2.0.0", "from": "anymatch@>=1.3.0 <2.0.0",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.0.tgz" "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.0.tgz",
"dev": true,
"optional": true
}, },
"aproba": { "aproba": {
"version": "1.0.4", "version": "1.0.4",
"from": "aproba@>=1.0.3 <2.0.0", "from": "aproba@>=1.0.3 <2.0.0",
"resolved": "https://registry.npmjs.org/aproba/-/aproba-1.0.4.tgz" "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.0.4.tgz",
"dev": true
}, },
"archiver": { "archiver": {
"version": "1.0.0", "version": "1.1.0",
"from": "archiver@>=1.0.0 <2.0.0", "from": "archiver@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/archiver/-/archiver-1.0.0.tgz" "resolved": "https://registry.npmjs.org/archiver/-/archiver-1.1.0.tgz",
"dev": true,
"dependencies": {
"async": {
"version": "2.0.1",
"from": "async@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/async/-/async-2.0.1.tgz",
"dev": true
}
}
}, },
"archiver-utils": { "archiver-utils": {
"version": "1.2.0", "version": "1.3.0",
"from": "archiver-utils@>=1.0.0 <2.0.0", "from": "archiver-utils@>=1.3.0 <2.0.0",
"resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.2.0.tgz" "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz",
"dev": true
}, },
"are-we-there-yet": { "are-we-there-yet": {
"version": "1.1.2", "version": "1.1.2",
"from": "are-we-there-yet@>=1.1.2 <1.2.0", "from": "are-we-there-yet@>=1.1.2 <1.2.0",
"resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz" "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz",
"dev": true
}, },
"argparse": { "argparse": {
"version": "1.0.7", "version": "1.0.9",
"from": "argparse@>=1.0.7 <2.0.0", "from": "argparse@>=1.0.7 <2.0.0",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.7.tgz" "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz",
"dev": true
}, },
"arr-diff": { "arr-diff": {
"version": "2.0.0", "version": "2.0.0",
"from": "arr-diff@>=2.0.0 <3.0.0", "from": "arr-diff@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz" "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
"dev": true,
"optional": true
}, },
"arr-flatten": { "arr-flatten": {
"version": "1.0.1", "version": "1.0.1",
"from": "arr-flatten@>=1.0.1 <2.0.0", "from": "arr-flatten@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.0.1.tgz" "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.0.1.tgz",
"dev": true,
"optional": true
}, },
"array-differ": { "array-differ": {
"version": "1.0.0", "version": "1.0.0",
"from": "array-differ@>=1.0.0 <2.0.0", "from": "array-differ@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz" "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
"dev": true
}, },
"array-find-index": { "array-find-index": {
"version": "1.0.1", "version": "1.0.2",
"from": "array-find-index@>=1.0.1 <2.0.0", "from": "array-find-index@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.1.tgz" "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
"dev": true
}, },
"array-index": { "array-index": {
"version": "1.0.0", "version": "1.0.0",
"from": "array-index@>=1.0.0 <2.0.0", "from": "array-index@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/array-index/-/array-index-1.0.0.tgz" "resolved": "https://registry.npmjs.org/array-index/-/array-index-1.0.0.tgz",
"dev": true
}, },
"array-union": { "array-union": {
"version": "1.0.2", "version": "1.0.2",
"from": "array-union@>=1.0.1 <2.0.0", "from": "array-union@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz" "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
"dev": true
}, },
"array-uniq": { "array-uniq": {
"version": "1.0.3", "version": "1.0.3",
"from": "array-uniq@>=1.0.1 <2.0.0", "from": "array-uniq@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz" "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
"dev": true
}, },
"array-unique": { "array-unique": {
"version": "0.2.1", "version": "0.2.1",
"from": "array-unique@>=0.2.1 <0.3.0", "from": "array-unique@>=0.2.1 <0.3.0",
"resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz" "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
"dev": true,
"optional": true
}, },
"arrify": { "arrify": {
"version": "1.0.1", "version": "1.0.1",
"from": "arrify@>=1.0.0 <2.0.0", "from": "arrify@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz" "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
"dev": true
}, },
"asn1": { "asn1": {
"version": "0.2.3", "version": "0.2.3",
"from": "asn1@>=0.2.3 <0.3.0", "from": "asn1@>=0.2.3 <0.3.0",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz" "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
"dev": true
}, },
"assert-plus": { "assert-plus": {
"version": "0.2.0", "version": "0.2.0",
"from": "assert-plus@>=0.2.0 <0.3.0", "from": "assert-plus@>=0.2.0 <0.3.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz" "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
}, "dev": true
"ast-traverse": {
"version": "0.1.1",
"from": "ast-traverse@>=0.1.1 <0.2.0",
"resolved": "https://registry.npmjs.org/ast-traverse/-/ast-traverse-0.1.1.tgz"
},
"ast-types": {
"version": "0.8.12",
"from": "ast-types@0.8.12",
"resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.8.12.tgz"
}, },
"async": { "async": {
"version": "1.5.2", "version": "1.5.2",
"from": "async@>=1.5.2 <1.6.0", "from": "async@>=1.5.2 <1.6.0",
"resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz" "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
"dev": true
}, },
"async-each": { "async-each": {
"version": "1.0.0", "version": "1.0.1",
"from": "async-each@>=1.0.0 <2.0.0", "from": "async-each@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.0.tgz" "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
"dev": true,
"optional": true
}, },
"async-foreach": { "async-foreach": {
"version": "0.1.3", "version": "0.1.3",
"from": "async-foreach@>=0.1.3 <0.2.0", "from": "async-foreach@>=0.1.3 <0.2.0",
"resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz" "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz",
"dev": true
}, },
"autoprefixer": { "autoprefixer": {
"version": "6.3.7", "version": "6.5.0",
"from": "autoprefixer@>=6.0.3 <7.0.0", "from": "autoprefixer@>=6.5.0 <7.0.0",
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.3.7.tgz" "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.5.0.tgz",
"dev": true
}, },
"aws-sign2": { "aws-sign2": {
"version": "0.6.0", "version": "0.6.0",
"from": "aws-sign2@>=0.6.0 <0.7.0", "from": "aws-sign2@>=0.6.0 <0.7.0",
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz" "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
"dev": true
}, },
"aws4": { "aws4": {
"version": "1.4.1", "version": "1.4.1",
"from": "aws4@>=1.2.1 <2.0.0", "from": "aws4@>=1.2.1 <2.0.0",
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.4.1.tgz" "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.4.1.tgz",
"dev": true
}, },
"babel-code-frame": { "babel-code-frame": {
"version": "6.11.0", "version": "6.16.0",
"from": "babel-code-frame@>=6.8.0 <7.0.0", "from": "babel-code-frame@>=6.16.0 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.11.0.tgz" "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.16.0.tgz",
"dev": true
}, },
"babel-core": { "babel-core": {
"version": "5.8.38", "version": "6.17.0",
"from": "babel-core@>=5.0.0 <6.0.0", "from": "babel-core@>=6.0.12 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-core/-/babel-core-5.8.38.tgz", "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.17.0.tgz",
"dev": true,
"dependencies": { "dependencies": {
"babylon": {
"version": "5.8.38",
"from": "babylon@>=5.8.38 <6.0.0",
"resolved": "https://registry.npmjs.org/babylon/-/babylon-5.8.38.tgz"
},
"bluebird": {
"version": "2.10.2",
"from": "bluebird@>=2.9.33 <3.0.0",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.10.2.tgz"
},
"core-js": {
"version": "1.2.6",
"from": "core-js@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.6.tgz"
},
"globals": {
"version": "6.4.1",
"from": "globals@>=6.4.0 <7.0.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-6.4.1.tgz"
},
"js-tokens": {
"version": "1.0.1",
"from": "js-tokens@1.0.1",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-1.0.1.tgz"
},
"lodash": {
"version": "3.10.1",
"from": "lodash@>=3.10.0 <4.0.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz"
},
"minimatch": {
"version": "2.0.10",
"from": "minimatch@>=2.0.3 <3.0.0",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz"
},
"path-exists": { "path-exists": {
"version": "1.0.0", "version": "1.0.0",
"from": "path-exists@>=1.0.0 <2.0.0", "from": "path-exists@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-1.0.0.tgz" "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-1.0.0.tgz",
}, "dev": true
"repeating": {
"version": "1.1.3",
"from": "repeating@>=1.1.2 <2.0.0",
"resolved": "https://registry.npmjs.org/repeating/-/repeating-1.1.3.tgz"
} }
} }
}, },
"babel-eslint": { "babel-eslint": {
"version": "6.1.2", "version": "7.0.0",
"from": "babel-eslint@>=6.0.4 <7.0.0", "from": "babel-eslint@>=7.0.0 <8.0.0",
"resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-6.1.2.tgz" "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-7.0.0.tgz",
"dev": true
},
"babel-generator": {
"version": "6.17.0",
"from": "babel-generator@>=6.17.0 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.17.0.tgz",
"dev": true,
"dependencies": {
"jsesc": {
"version": "1.3.0",
"from": "jsesc@>=1.3.0 <2.0.0",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
"dev": true
}
}
},
"babel-helper-call-delegate": {
"version": "6.8.0",
"from": "babel-helper-call-delegate@>=6.8.0 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.8.0.tgz",
"dev": true
},
"babel-helper-define-map": {
"version": "6.9.0",
"from": "babel-helper-define-map@>=6.9.0 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.9.0.tgz",
"dev": true
},
"babel-helper-function-name": {
"version": "6.8.0",
"from": "babel-helper-function-name@>=6.8.0 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.8.0.tgz",
"dev": true
},
"babel-helper-get-function-arity": {
"version": "6.8.0",
"from": "babel-helper-get-function-arity@>=6.8.0 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.8.0.tgz",
"dev": true
},
"babel-helper-hoist-variables": {
"version": "6.8.0",
"from": "babel-helper-hoist-variables@>=6.8.0 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.8.0.tgz",
"dev": true
},
"babel-helper-optimise-call-expression": {
"version": "6.8.0",
"from": "babel-helper-optimise-call-expression@>=6.8.0 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.8.0.tgz",
"dev": true
},
"babel-helper-regex": {
"version": "6.9.0",
"from": "babel-helper-regex@>=6.8.0 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.9.0.tgz",
"dev": true
},
"babel-helper-replace-supers": {
"version": "6.16.0",
"from": "babel-helper-replace-supers@>=6.14.0 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.16.0.tgz",
"dev": true
},
"babel-helpers": {
"version": "6.16.0",
"from": "babel-helpers@>=6.16.0 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.16.0.tgz",
"dev": true
}, },
"babel-messages": { "babel-messages": {
"version": "6.8.0", "version": "6.8.0",
"from": "babel-messages@>=6.8.0 <7.0.0", "from": "babel-messages@>=6.8.0 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.8.0.tgz" "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.8.0.tgz",
"dev": true
}, },
"babel-plugin-constant-folding": { "babel-plugin-check-es2015-constants": {
"version": "1.0.1", "version": "6.8.0",
"from": "babel-plugin-constant-folding@>=1.0.1 <2.0.0", "from": "babel-plugin-check-es2015-constants@>=6.3.13 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-plugin-constant-folding/-/babel-plugin-constant-folding-1.0.1.tgz" "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.8.0.tgz",
"dev": true
}, },
"babel-plugin-dead-code-elimination": { "babel-plugin-transform-es2015-arrow-functions": {
"version": "1.0.2", "version": "6.8.0",
"from": "babel-plugin-dead-code-elimination@>=1.0.2 <2.0.0", "from": "babel-plugin-transform-es2015-arrow-functions@>=6.3.13 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-plugin-dead-code-elimination/-/babel-plugin-dead-code-elimination-1.0.2.tgz" "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.8.0.tgz",
"dev": true
}, },
"babel-plugin-eval": { "babel-plugin-transform-es2015-block-scoped-functions": {
"version": "1.0.1", "version": "6.8.0",
"from": "babel-plugin-eval@>=1.0.1 <2.0.0", "from": "babel-plugin-transform-es2015-block-scoped-functions@>=6.3.13 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-plugin-eval/-/babel-plugin-eval-1.0.1.tgz" "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.8.0.tgz",
"dev": true
}, },
"babel-plugin-inline-environment-variables": { "babel-plugin-transform-es2015-block-scoping": {
"version": "1.0.1", "version": "6.15.0",
"from": "babel-plugin-inline-environment-variables@>=1.0.1 <2.0.0", "from": "babel-plugin-transform-es2015-block-scoping@>=6.14.0 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-plugin-inline-environment-variables/-/babel-plugin-inline-environment-variables-1.0.1.tgz" "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.15.0.tgz",
"dev": true
}, },
"babel-plugin-jscript": { "babel-plugin-transform-es2015-classes": {
"version": "1.0.4", "version": "6.14.0",
"from": "babel-plugin-jscript@>=1.0.4 <2.0.0", "from": "babel-plugin-transform-es2015-classes@>=6.14.0 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-plugin-jscript/-/babel-plugin-jscript-1.0.4.tgz" "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.14.0.tgz",
"dev": true
}, },
"babel-plugin-member-expression-literals": { "babel-plugin-transform-es2015-computed-properties": {
"version": "1.0.1", "version": "6.8.0",
"from": "babel-plugin-member-expression-literals@>=1.0.1 <2.0.0", "from": "babel-plugin-transform-es2015-computed-properties@>=6.3.13 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-plugin-member-expression-literals/-/babel-plugin-member-expression-literals-1.0.1.tgz" "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.8.0.tgz",
"dev": true
}, },
"babel-plugin-property-literals": { "babel-plugin-transform-es2015-destructuring": {
"version": "1.0.1", "version": "6.16.0",
"from": "babel-plugin-property-literals@>=1.0.1 <2.0.0", "from": "babel-plugin-transform-es2015-destructuring@>=6.16.0 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-plugin-property-literals/-/babel-plugin-property-literals-1.0.1.tgz" "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.16.0.tgz",
"dev": true
}, },
"babel-plugin-proto-to-assign": { "babel-plugin-transform-es2015-duplicate-keys": {
"version": "1.0.4", "version": "6.8.0",
"from": "babel-plugin-proto-to-assign@>=1.0.3 <2.0.0", "from": "babel-plugin-transform-es2015-duplicate-keys@>=6.6.0 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-plugin-proto-to-assign/-/babel-plugin-proto-to-assign-1.0.4.tgz", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.8.0.tgz",
"dev": true
},
"babel-plugin-transform-es2015-for-of": {
"version": "6.8.0",
"from": "babel-plugin-transform-es2015-for-of@>=6.6.0 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.8.0.tgz",
"dev": true
},
"babel-plugin-transform-es2015-function-name": {
"version": "6.9.0",
"from": "babel-plugin-transform-es2015-function-name@>=6.9.0 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.9.0.tgz",
"dev": true
},
"babel-plugin-transform-es2015-literals": {
"version": "6.8.0",
"from": "babel-plugin-transform-es2015-literals@>=6.3.13 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.8.0.tgz",
"dev": true
},
"babel-plugin-transform-es2015-modules-amd": {
"version": "6.8.0",
"from": "babel-plugin-transform-es2015-modules-amd@>=6.8.0 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.8.0.tgz",
"dev": true
},
"babel-plugin-transform-es2015-modules-commonjs": {
"version": "6.16.0",
"from": "babel-plugin-transform-es2015-modules-commonjs@>=6.16.0 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.16.0.tgz",
"dev": true
},
"babel-plugin-transform-es2015-modules-strip": {
"version": "0.1.0",
"from": "babel-plugin-transform-es2015-modules-strip@>=0.1.0 <0.2.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-strip/-/babel-plugin-transform-es2015-modules-strip-0.1.0.tgz",
"dev": true
},
"babel-plugin-transform-es2015-modules-systemjs": {
"version": "6.14.0",
"from": "babel-plugin-transform-es2015-modules-systemjs@>=6.14.0 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.14.0.tgz",
"dev": true
},
"babel-plugin-transform-es2015-modules-umd": {
"version": "6.12.0",
"from": "babel-plugin-transform-es2015-modules-umd@>=6.12.0 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.12.0.tgz",
"dev": true
},
"babel-plugin-transform-es2015-object-super": {
"version": "6.8.0",
"from": "babel-plugin-transform-es2015-object-super@>=6.3.13 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.8.0.tgz",
"dev": true
},
"babel-plugin-transform-es2015-parameters": {
"version": "6.17.0",
"from": "babel-plugin-transform-es2015-parameters@>=6.16.0 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.17.0.tgz",
"dev": true
},
"babel-plugin-transform-es2015-shorthand-properties": {
"version": "6.8.0",
"from": "babel-plugin-transform-es2015-shorthand-properties@>=6.3.13 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.8.0.tgz",
"dev": true
},
"babel-plugin-transform-es2015-spread": {
"version": "6.8.0",
"from": "babel-plugin-transform-es2015-spread@>=6.3.13 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.8.0.tgz",
"dev": true
},
"babel-plugin-transform-es2015-sticky-regex": {
"version": "6.8.0",
"from": "babel-plugin-transform-es2015-sticky-regex@>=6.3.13 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.8.0.tgz",
"dev": true
},
"babel-plugin-transform-es2015-template-literals": {
"version": "6.8.0",
"from": "babel-plugin-transform-es2015-template-literals@>=6.6.0 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.8.0.tgz",
"dev": true
},
"babel-plugin-transform-es2015-typeof-symbol": {
"version": "6.8.0",
"from": "babel-plugin-transform-es2015-typeof-symbol@>=6.6.0 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.8.0.tgz",
"dev": true
},
"babel-plugin-transform-es2015-unicode-regex": {
"version": "6.11.0",
"from": "babel-plugin-transform-es2015-unicode-regex@>=6.3.13 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.11.0.tgz",
"dev": true
},
"babel-plugin-transform-regenerator": {
"version": "6.16.1",
"from": "babel-plugin-transform-regenerator@>=6.16.0 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.16.1.tgz",
"dev": true
},
"babel-plugin-transform-strict-mode": {
"version": "6.11.3",
"from": "babel-plugin-transform-strict-mode@>=6.8.0 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.11.3.tgz",
"dev": true
},
"babel-preset-es2015": {
"version": "6.16.0",
"from": "babel-preset-es2015@>=6.16.0 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.16.0.tgz",
"dev": true
},
"babel-register": {
"version": "6.16.3",
"from": "babel-register@>=6.16.0 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.16.3.tgz",
"dev": true,
"dependencies": { "dependencies": {
"lodash": { "path-exists": {
"version": "3.10.1", "version": "1.0.0",
"from": "lodash@>=3.9.3 <4.0.0", "from": "path-exists@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz" "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-1.0.0.tgz",
"dev": true
} }
} }
}, },
"babel-plugin-react-constant-elements": {
"version": "1.0.3",
"from": "babel-plugin-react-constant-elements@>=1.0.3 <2.0.0",
"resolved": "https://registry.npmjs.org/babel-plugin-react-constant-elements/-/babel-plugin-react-constant-elements-1.0.3.tgz"
},
"babel-plugin-react-display-name": {
"version": "1.0.3",
"from": "babel-plugin-react-display-name@>=1.0.3 <2.0.0",
"resolved": "https://registry.npmjs.org/babel-plugin-react-display-name/-/babel-plugin-react-display-name-1.0.3.tgz"
},
"babel-plugin-remove-console": {
"version": "1.0.1",
"from": "babel-plugin-remove-console@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/babel-plugin-remove-console/-/babel-plugin-remove-console-1.0.1.tgz"
},
"babel-plugin-remove-debugger": {
"version": "1.0.1",
"from": "babel-plugin-remove-debugger@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/babel-plugin-remove-debugger/-/babel-plugin-remove-debugger-1.0.1.tgz"
},
"babel-plugin-runtime": {
"version": "1.0.7",
"from": "babel-plugin-runtime@>=1.0.7 <2.0.0",
"resolved": "https://registry.npmjs.org/babel-plugin-runtime/-/babel-plugin-runtime-1.0.7.tgz"
},
"babel-plugin-undeclared-variables-check": {
"version": "1.0.2",
"from": "babel-plugin-undeclared-variables-check@>=1.0.2 <2.0.0",
"resolved": "https://registry.npmjs.org/babel-plugin-undeclared-variables-check/-/babel-plugin-undeclared-variables-check-1.0.2.tgz"
},
"babel-plugin-undefined-to-void": {
"version": "1.1.6",
"from": "babel-plugin-undefined-to-void@>=1.1.6 <2.0.0",
"resolved": "https://registry.npmjs.org/babel-plugin-undefined-to-void/-/babel-plugin-undefined-to-void-1.1.6.tgz"
},
"babel-runtime": { "babel-runtime": {
"version": "6.9.2", "version": "6.11.6",
"from": "babel-runtime@>=6.9.0 <7.0.0", "from": "babel-runtime@>=6.9.0 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.9.2.tgz" "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.11.6.tgz",
"dev": true
},
"babel-template": {
"version": "6.16.0",
"from": "babel-template@>=6.15.0 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.16.0.tgz",
"dev": true
}, },
"babel-traverse": { "babel-traverse": {
"version": "6.10.4", "version": "6.16.0",
"from": "babel-traverse@>=6.0.20 <7.0.0", "from": "babel-traverse@>=6.15.0 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.10.4.tgz" "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.16.0.tgz",
"dev": true
}, },
"babel-types": { "babel-types": {
"version": "6.11.1", "version": "6.16.0",
"from": "babel-types@>=6.0.19 <7.0.0", "from": "babel-types@>=6.15.0 <7.0.0",
"resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.11.1.tgz" "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.16.0.tgz",
"dev": true
}, },
"babylon": { "babylon": {
"version": "6.8.4", "version": "6.11.4",
"from": "babylon@>=6.0.18 <7.0.0", "from": "babylon@>=6.11.2 <7.0.0",
"resolved": "https://registry.npmjs.org/babylon/-/babylon-6.8.4.tgz" "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.11.4.tgz",
"dev": true
}, },
"balanced-match": { "balanced-match": {
"version": "0.4.1", "version": "0.4.2",
"from": "balanced-match@>=0.4.1 <0.5.0", "from": "balanced-match@>=0.4.1 <0.5.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.1.tgz" "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
"dev": true
}, },
"basic-auth": { "basic-auth": {
"version": "1.0.4", "version": "1.0.4",
"from": "basic-auth@>=1.0.3 <1.1.0", "from": "basic-auth@>=1.0.3 <1.1.0",
"resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.4.tgz" "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.4.tgz",
"dev": true
}, },
"batch": { "batch": {
"version": "0.5.3", "version": "0.5.3",
"from": "batch@0.5.3", "from": "batch@0.5.3",
"resolved": "https://registry.npmjs.org/batch/-/batch-0.5.3.tgz" "resolved": "https://registry.npmjs.org/batch/-/batch-0.5.3.tgz",
"dev": true
},
"bcrypt-pbkdf": {
"version": "1.0.0",
"from": "bcrypt-pbkdf@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz",
"dev": true,
"optional": true
}, },
"binary-extensions": { "binary-extensions": {
"version": "1.5.0", "version": "1.7.0",
"from": "binary-extensions@>=1.0.0 <2.0.0", "from": "binary-extensions@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.5.0.tgz" "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.7.0.tgz",
"dev": true,
"optional": true
}, },
"bl": { "bl": {
"version": "1.1.2", "version": "1.1.2",
"from": "bl@>=1.0.0 <2.0.0", "from": "bl@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz" "resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz",
"dev": true
}, },
"block-stream": { "block-stream": {
"version": "0.0.9", "version": "0.0.9",
"from": "block-stream@*", "from": "block-stream@*",
"resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz" "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
"dev": true
}, },
"bluebird": { "bluebird": {
"version": "3.4.1", "version": "3.4.6",
"from": "bluebird@>=3.1.1 <4.0.0", "from": "bluebird@>=3.0.6 <4.0.0",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.1.tgz" "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.6.tgz",
"dev": true
}, },
"body-parser": { "body-parser": {
"version": "1.14.2", "version": "1.14.2",
"from": "body-parser@>=1.14.0 <1.15.0", "from": "body-parser@>=1.14.0 <1.15.0",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.14.2.tgz", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.14.2.tgz",
"dev": true,
"dependencies": { "dependencies": {
"http-errors": { "http-errors": {
"version": "1.3.1", "version": "1.3.1",
"from": "http-errors@>=1.3.1 <1.4.0", "from": "http-errors@>=1.3.1 <1.4.0",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz" "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz",
"dev": true
},
"qs": {
"version": "5.2.0",
"from": "qs@5.2.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-5.2.0.tgz",
"dev": true
} }
} }
}, },
"boom": { "boom": {
"version": "2.10.1", "version": "2.10.1",
"from": "boom@>=2.0.0 <3.0.0", "from": "boom@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz" "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
"dev": true
}, },
"brace-expansion": { "brace-expansion": {
"version": "1.1.5", "version": "1.1.6",
"from": "brace-expansion@>=1.0.0 <2.0.0", "from": "brace-expansion@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.5.tgz" "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz",
"dev": true
}, },
"braces": { "braces": {
"version": "1.8.5", "version": "1.8.5",
"from": "braces@>=1.8.2 <2.0.0", "from": "braces@>=1.8.2 <2.0.0",
"resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz" "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
}, "dev": true,
"breakable": { "optional": true
"version": "1.0.0",
"from": "breakable@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/breakable/-/breakable-1.0.0.tgz"
}, },
"browserify-zlib": { "browserify-zlib": {
"version": "0.1.4", "version": "0.1.4",
"from": "browserify-zlib@>=0.1.4 <0.2.0", "from": "browserify-zlib@>=0.1.4 <0.2.0",
"resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz" "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz",
"dev": true
}, },
"browserslist": { "browserslist": {
"version": "1.3.5", "version": "1.4.0",
"from": "browserslist@>=1.3.4 <1.4.0", "from": "browserslist@>=1.4.0 <1.5.0",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.3.5.tgz" "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.4.0.tgz",
"dev": true
}, },
"buffer-crc32": { "buffer-crc32": {
"version": "0.2.5", "version": "0.2.5",
"from": "buffer-crc32@>=0.2.1 <0.3.0", "from": "buffer-crc32@>=0.2.1 <0.3.0",
"resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.5.tgz" "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.5.tgz",
"dev": true
}, },
"builtin-modules": { "builtin-modules": {
"version": "1.1.1", "version": "1.1.1",
"from": "builtin-modules@>=1.0.0 <2.0.0", "from": "builtin-modules@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz" "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
"dev": true
}, },
"bytes": { "bytes": {
"version": "2.2.0", "version": "2.2.0",
"from": "bytes@2.2.0", "from": "bytes@2.2.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz" "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz",
"dev": true
}, },
"caller-path": { "caller-path": {
"version": "0.1.0", "version": "0.1.0",
"from": "caller-path@>=0.1.0 <0.2.0", "from": "caller-path@>=0.1.0 <0.2.0",
"resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz" "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz",
"dev": true
}, },
"callsites": { "callsites": {
"version": "0.2.0", "version": "0.2.0",
"from": "callsites@>=0.2.0 <0.3.0", "from": "callsites@>=0.2.0 <0.3.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz" "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz",
"dev": true
}, },
"camelcase": { "camelcase": {
"version": "2.1.1", "version": "2.1.1",
"from": "camelcase@>=2.0.0 <3.0.0", "from": "camelcase@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz" "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
"dev": true
}, },
"camelcase-keys": { "camelcase-keys": {
"version": "2.1.0", "version": "2.1.0",
"from": "camelcase-keys@>=2.0.0 <3.0.0", "from": "camelcase-keys@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz" "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
"dev": true
}, },
"caniuse-db": { "caniuse-db": {
"version": "1.0.30000506", "version": "1.0.30000550",
"from": "caniuse-db@>=1.0.30000488 <2.0.0", "from": "caniuse-db@>=1.0.30000540 <2.0.0",
"resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000506.tgz" "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000550.tgz",
"dev": true
}, },
"caseless": { "caseless": {
"version": "0.11.0", "version": "0.11.0",
"from": "caseless@>=0.11.0 <0.12.0", "from": "caseless@>=0.11.0 <0.12.0",
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz" "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz",
"dev": true
}, },
"center-align": { "center-align": {
"version": "0.1.3", "version": "0.1.3",
"from": "center-align@>=0.1.1 <0.2.0", "from": "center-align@>=0.1.1 <0.2.0",
"resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz" "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
"dev": true
}, },
"chalk": { "chalk": {
"version": "1.1.3", "version": "1.1.3",
"from": "chalk@>=1.1.0 <2.0.0", "from": "chalk@>=1.1.3 <2.0.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
"dev": true,
"dependencies": { "dependencies": {
"supports-color": { "supports-color": {
"version": "2.0.0", "version": "2.0.0",
"from": "supports-color@>=2.0.0 <3.0.0", "from": "supports-color@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
"dev": true
} }
} }
}, },
"chokidar": { "chokidar": {
"version": "1.6.0", "version": "1.6.0",
"from": "chokidar@>=1.0.3 <2.0.0", "from": "chokidar@>=1.5.1 <2.0.0",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.6.0.tgz" "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.6.0.tgz",
"dev": true,
"optional": true
},
"circular-json": {
"version": "0.3.1",
"from": "circular-json@>=0.3.0 <0.4.0",
"resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.1.tgz",
"dev": true
}, },
"clean-css": { "clean-css": {
"version": "3.4.18", "version": "3.4.20",
"from": "clean-css@>=3.4.2 <3.5.0", "from": "clean-css@>=3.4.2 <3.5.0",
"resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.18.tgz", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.20.tgz",
"dev": true,
"dependencies": { "dependencies": {
"commander": {
"version": "2.8.1",
"from": "commander@>=2.8.0 <2.9.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz"
},
"source-map": { "source-map": {
"version": "0.4.4", "version": "0.4.4",
"from": "source-map@>=0.4.0 <0.5.0", "from": "source-map@>=0.4.0 <0.5.0",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz" "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
"dev": true
} }
} }
}, },
@ -523,1552 +753,1897 @@
"version": "0.6.6", "version": "0.6.6",
"from": "cli@>=0.6.0 <0.7.0", "from": "cli@>=0.6.0 <0.7.0",
"resolved": "https://registry.npmjs.org/cli/-/cli-0.6.6.tgz", "resolved": "https://registry.npmjs.org/cli/-/cli-0.6.6.tgz",
"dev": true,
"dependencies": { "dependencies": {
"glob": { "glob": {
"version": "3.2.11", "version": "3.2.11",
"from": "glob@>=3.2.1 <3.3.0", "from": "glob@>=3.2.1 <3.3.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz" "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz",
"dev": true
}, },
"minimatch": { "minimatch": {
"version": "0.3.0", "version": "0.3.0",
"from": "minimatch@>=0.3.0 <0.4.0", "from": "minimatch@>=0.3.0 <0.4.0",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz" "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
"dev": true
} }
} }
}, },
"cli-cursor": { "cli-cursor": {
"version": "1.0.2", "version": "1.0.2",
"from": "cli-cursor@>=1.0.1 <2.0.0", "from": "cli-cursor@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz" "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz",
"dev": true
}, },
"cli-table": { "cli-table": {
"version": "0.3.1", "version": "0.3.1",
"from": "cli-table@>=0.3.1 <0.4.0", "from": "cli-table@>=0.3.1 <0.4.0",
"resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz", "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz",
"dev": true,
"dependencies": { "dependencies": {
"colors": { "colors": {
"version": "1.0.3", "version": "1.0.3",
"from": "colors@1.0.3", "from": "colors@1.0.3",
"resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz" "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
"dev": true
} }
} }
}, },
"cli-width": { "cli-width": {
"version": "2.1.0", "version": "2.1.0",
"from": "cli-width@>=2.0.0 <3.0.0", "from": "cli-width@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.1.0.tgz" "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.1.0.tgz",
"dev": true
}, },
"cliui": { "cliui": {
"version": "2.1.0", "version": "2.1.0",
"from": "cliui@>=2.1.0 <3.0.0", "from": "cliui@>=2.1.0 <3.0.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
"dev": true,
"dependencies": { "dependencies": {
"wordwrap": { "wordwrap": {
"version": "0.0.2", "version": "0.0.2",
"from": "wordwrap@0.0.2", "from": "wordwrap@0.0.2",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz" "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
"dev": true
} }
} }
}, },
"co": {
"version": "4.6.0",
"from": "co@>=4.6.0 <5.0.0",
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
"dev": true
},
"code-point-at": { "code-point-at": {
"version": "1.0.0", "version": "1.0.1",
"from": "code-point-at@>=1.0.0 <2.0.0", "from": "code-point-at@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.0.0.tgz" "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.0.1.tgz",
"dev": true
}, },
"coffee-script": { "coffee-script": {
"version": "1.10.0", "version": "1.10.0",
"from": "coffee-script@>=1.10.0 <1.11.0", "from": "coffee-script@>=1.10.0 <1.11.0",
"resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.10.0.tgz" "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.10.0.tgz",
"dev": true
}, },
"colors": { "colors": {
"version": "1.1.2", "version": "1.1.2",
"from": "colors@>=1.1.2 <1.2.0", "from": "colors@>=1.1.2 <1.2.0",
"resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz" "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
"dev": true
}, },
"combined-stream": { "combined-stream": {
"version": "1.0.5", "version": "1.0.5",
"from": "combined-stream@>=1.0.5 <1.1.0", "from": "combined-stream@>=1.0.5 <1.1.0",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz" "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
"dev": true
}, },
"commander": { "commander": {
"version": "2.9.0", "version": "2.8.1",
"from": "commander@>=2.5.0 <3.0.0", "from": "commander@>=2.8.0 <2.9.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz" "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
"dev": true
}, },
"comment-parser": { "comment-parser": {
"version": "0.3.1", "version": "0.3.1",
"from": "comment-parser@>=0.3.1 <0.4.0", "from": "comment-parser@>=0.3.1 <0.4.0",
"resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.3.1.tgz" "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.3.1.tgz",
}, "dev": true
"commoner": {
"version": "0.10.4",
"from": "commoner@>=0.10.3 <0.11.0",
"resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.4.tgz",
"dependencies": {
"glob": {
"version": "5.0.15",
"from": "glob@>=5.0.15 <6.0.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz"
}
}
}, },
"compress-commons": { "compress-commons": {
"version": "1.0.0", "version": "1.1.0",
"from": "compress-commons@>=1.0.0 <2.0.0", "from": "compress-commons@>=1.1.0 <2.0.0",
"resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.0.0.tgz" "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.1.0.tgz",
"dev": true
}, },
"concat-map": { "concat-map": {
"version": "0.0.1", "version": "0.0.1",
"from": "concat-map@0.0.1", "from": "concat-map@0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"dev": true
}, },
"concat-stream": { "concat-stream": {
"version": "1.5.1", "version": "1.5.2",
"from": "concat-stream@>=1.4.6 <2.0.0", "from": "concat-stream@>=1.4.6 <2.0.0",
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.1.tgz" "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
"dev": true
}, },
"connect": { "connect": {
"version": "3.4.1", "version": "3.5.0",
"from": "connect@>=3.4.0 <4.0.0", "from": "connect@>=3.4.0 <4.0.0",
"resolved": "https://registry.npmjs.org/connect/-/connect-3.4.1.tgz" "resolved": "https://registry.npmjs.org/connect/-/connect-3.5.0.tgz",
"dev": true
}, },
"connect-livereload": { "connect-livereload": {
"version": "0.5.4", "version": "0.5.4",
"from": "connect-livereload@>=0.5.0 <0.6.0", "from": "connect-livereload@>=0.5.0 <0.6.0",
"resolved": "https://registry.npmjs.org/connect-livereload/-/connect-livereload-0.5.4.tgz" "resolved": "https://registry.npmjs.org/connect-livereload/-/connect-livereload-0.5.4.tgz",
"dev": true
}, },
"console-browserify": { "console-browserify": {
"version": "1.1.0", "version": "1.1.0",
"from": "console-browserify@>=1.1.0 <1.2.0", "from": "console-browserify@>=1.1.0 <1.2.0",
"resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz" "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
"dev": true
}, },
"console-control-strings": { "console-control-strings": {
"version": "1.1.0", "version": "1.1.0",
"from": "console-control-strings@>=1.1.0 <1.2.0", "from": "console-control-strings@>=1.1.0 <1.2.0",
"resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz" "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
"dev": true
}, },
"content-type": { "content-type": {
"version": "1.0.2", "version": "1.0.2",
"from": "content-type@>=1.0.1 <1.1.0", "from": "content-type@>=1.0.1 <1.1.0",
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz" "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz",
"dev": true
}, },
"convert-source-map": { "convert-source-map": {
"version": "1.2.0", "version": "1.3.0",
"from": "convert-source-map@>=1.1.0 <2.0.0", "from": "convert-source-map@>=1.1.0 <2.0.0",
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.2.0.tgz" "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.3.0.tgz",
"dev": true
}, },
"core-js": { "core-js": {
"version": "2.4.0", "version": "2.4.1",
"from": "core-js@>=2.4.0 <3.0.0", "from": "core-js@>=2.4.0 <3.0.0",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.0.tgz" "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
"dev": true
}, },
"core-util-is": { "core-util-is": {
"version": "1.0.2", "version": "1.0.2",
"from": "core-util-is@>=1.0.0 <1.1.0", "from": "core-util-is@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"dev": true
}, },
"crc32-stream": { "crc32-stream": {
"version": "1.0.0", "version": "1.0.0",
"from": "crc32-stream@>=1.0.0 <2.0.0", "from": "crc32-stream@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-1.0.0.tgz" "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-1.0.0.tgz",
"dev": true
}, },
"cross-spawn": { "cross-spawn": {
"version": "0.2.9", "version": "0.2.9",
"from": "cross-spawn@>=0.2.3 <0.3.0", "from": "cross-spawn@>=0.2.3 <0.3.0",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-0.2.9.tgz" "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-0.2.9.tgz",
"dev": true
}, },
"cryptiles": { "cryptiles": {
"version": "2.0.5", "version": "2.0.5",
"from": "cryptiles@>=2.0.0 <3.0.0", "from": "cryptiles@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz" "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
"dev": true
}, },
"csslint": { "csslint": {
"version": "0.10.0", "version": "0.10.0",
"from": "csslint@0.10.0", "from": "csslint@0.10.0",
"resolved": "https://registry.npmjs.org/csslint/-/csslint-0.10.0.tgz" "resolved": "https://registry.npmjs.org/csslint/-/csslint-0.10.0.tgz",
"dev": true
}, },
"cst": { "cst": {
"version": "0.4.6", "version": "0.4.6",
"from": "cst@>=0.4.3 <0.5.0", "from": "cst@>=0.4.3 <0.5.0",
"resolved": "https://registry.npmjs.org/cst/-/cst-0.4.6.tgz", "resolved": "https://registry.npmjs.org/cst/-/cst-0.4.6.tgz",
"dependencies": { "dev": true
"source-map": {
"version": "0.1.32",
"from": "source-map@0.1.32",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz"
},
"source-map-support": {
"version": "0.4.2",
"from": "source-map-support@>=0.4.0 <0.5.0",
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.2.tgz"
}
}
}, },
"currently-unhandled": { "currently-unhandled": {
"version": "0.4.1", "version": "0.4.1",
"from": "currently-unhandled@>=0.4.1 <0.5.0", "from": "currently-unhandled@>=0.4.1 <0.5.0",
"resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz" "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
"dev": true
}, },
"cycle": { "cycle": {
"version": "1.0.3", "version": "1.0.3",
"from": "cycle@>=1.0.0 <1.1.0", "from": "cycle@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz" "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz",
"dev": true
}, },
"d": { "d": {
"version": "0.1.1", "version": "0.1.1",
"from": "d@>=0.1.1 <0.2.0", "from": "d@>=0.1.1 <0.2.0",
"resolved": "https://registry.npmjs.org/d/-/d-0.1.1.tgz" "resolved": "https://registry.npmjs.org/d/-/d-0.1.1.tgz",
"dev": true
}, },
"dargs": { "dargs": {
"version": "4.1.0", "version": "4.1.0",
"from": "dargs@>=4.0.0 <5.0.0", "from": "dargs@>=4.0.0 <5.0.0",
"resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz" "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz",
"dev": true
}, },
"dashdash": { "dashdash": {
"version": "1.14.0", "version": "1.14.0",
"from": "dashdash@>=1.12.0 <2.0.0", "from": "dashdash@>=1.12.0 <2.0.0",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.0.tgz", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.0.tgz",
"dev": true,
"dependencies": { "dependencies": {
"assert-plus": { "assert-plus": {
"version": "1.0.0", "version": "1.0.0",
"from": "assert-plus@>=1.0.0 <2.0.0", "from": "assert-plus@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"dev": true
} }
} }
}, },
"date-now": { "date-now": {
"version": "0.1.4", "version": "0.1.4",
"from": "date-now@>=0.1.4 <0.2.0", "from": "date-now@>=0.1.4 <0.2.0",
"resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz" "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
"dev": true
}, },
"date-time": { "date-time": {
"version": "1.0.0", "version": "1.1.0",
"from": "date-time@>=1.0.0 <2.0.0", "from": "date-time@>=1.1.0 <2.0.0",
"resolved": "https://registry.npmjs.org/date-time/-/date-time-1.0.0.tgz" "resolved": "https://registry.npmjs.org/date-time/-/date-time-1.1.0.tgz",
"dev": true
}, },
"dateformat": { "dateformat": {
"version": "1.0.12", "version": "1.0.12",
"from": "dateformat@>=1.0.12 <1.1.0", "from": "dateformat@>=1.0.12 <1.1.0",
"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz" "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",
"dev": true
}, },
"debug": { "debug": {
"version": "2.2.0", "version": "2.2.0",
"from": "debug@>=2.2.0 <3.0.0", "from": "debug@>=2.2.0 <3.0.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz" "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"dev": true
}, },
"decamelize": { "decamelize": {
"version": "1.2.0", "version": "1.2.0",
"from": "decamelize@>=1.1.2 <2.0.0", "from": "decamelize@>=1.1.2 <2.0.0",
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
"dev": true
}, },
"deep-equal": { "deep-equal": {
"version": "1.0.1", "version": "1.0.1",
"from": "deep-equal@*", "from": "deep-equal@*",
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz" "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
"dev": true
}, },
"deep-is": { "deep-is": {
"version": "0.1.3", "version": "0.1.3",
"from": "deep-is@>=0.1.3 <0.2.0", "from": "deep-is@>=0.1.3 <0.2.0",
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz" "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
}, "dev": true
"defined": {
"version": "1.0.0",
"from": "defined@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz"
},
"defs": {
"version": "1.1.1",
"from": "defs@>=1.1.0 <1.2.0",
"resolved": "https://registry.npmjs.org/defs/-/defs-1.1.1.tgz",
"dependencies": {
"esprima-fb": {
"version": "15001.1001.0-dev-harmony-fb",
"from": "esprima-fb@~15001.1001.0-dev-harmony-fb",
"resolved": "http://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1001.0-dev-harmony-fb.tgz"
}
}
}, },
"del": { "del": {
"version": "2.2.1", "version": "2.2.2",
"from": "del@>=2.0.2 <3.0.0", "from": "del@>=2.0.2 <3.0.0",
"resolved": "https://registry.npmjs.org/del/-/del-2.2.1.tgz" "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
"dev": true
}, },
"delayed-stream": { "delayed-stream": {
"version": "1.0.0", "version": "1.0.0",
"from": "delayed-stream@>=1.0.0 <1.1.0", "from": "delayed-stream@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"dev": true
}, },
"delegates": { "delegates": {
"version": "1.0.0", "version": "1.0.0",
"from": "delegates@>=1.0.0 <2.0.0", "from": "delegates@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz" "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
"dev": true
}, },
"depd": { "depd": {
"version": "1.1.0", "version": "1.1.0",
"from": "depd@>=1.1.0 <1.2.0", "from": "depd@>=1.1.0 <1.2.0",
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz" "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz",
"dev": true
}, },
"destroy": { "destroy": {
"version": "1.0.4", "version": "1.0.4",
"from": "destroy@>=1.0.4 <1.1.0", "from": "destroy@>=1.0.4 <1.1.0",
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz" "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
"dev": true
}, },
"detect-indent": { "detect-indent": {
"version": "3.0.1", "version": "3.0.1",
"from": "detect-indent@>=3.0.0 <4.0.0", "from": "detect-indent@>=3.0.1 <4.0.0",
"resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-3.0.1.tgz", "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-3.0.1.tgz",
"dev": true,
"dependencies": { "dependencies": {
"minimist": { "minimist": {
"version": "1.2.0", "version": "1.2.0",
"from": "minimist@>=1.1.0 <2.0.0", "from": "minimist@>=1.1.0 <2.0.0",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz" "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"dev": true
}, },
"repeating": { "repeating": {
"version": "1.1.3", "version": "1.1.3",
"from": "repeating@>=1.1.0 <2.0.0", "from": "repeating@>=1.1.0 <2.0.0",
"resolved": "https://registry.npmjs.org/repeating/-/repeating-1.1.3.tgz" "resolved": "https://registry.npmjs.org/repeating/-/repeating-1.1.3.tgz",
} "dev": true
}
},
"detective": {
"version": "4.3.1",
"from": "detective@>=4.3.1 <5.0.0",
"resolved": "https://registry.npmjs.org/detective/-/detective-4.3.1.tgz",
"dependencies": {
"acorn": {
"version": "1.2.2",
"from": "acorn@>=1.0.3 <2.0.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-1.2.2.tgz"
} }
} }
}, },
"doctrine": { "doctrine": {
"version": "1.2.2", "version": "1.4.0",
"from": "doctrine@>=1.2.2 <2.0.0", "from": "doctrine@>=1.2.2 <2.0.0",
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.2.2.tgz", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.4.0.tgz",
"dependencies": { "dev": true
"esutils": {
"version": "1.1.6",
"from": "esutils@>=1.1.6 <2.0.0",
"resolved": "https://registry.npmjs.org/esutils/-/esutils-1.1.6.tgz"
}
}
}, },
"dom-serializer": { "dom-serializer": {
"version": "0.1.0", "version": "0.1.0",
"from": "dom-serializer@>=0.0.0 <1.0.0", "from": "dom-serializer@>=0.0.0 <1.0.0",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz",
"dev": true,
"dependencies": { "dependencies": {
"domelementtype": { "domelementtype": {
"version": "1.1.3", "version": "1.1.3",
"from": "domelementtype@>=1.1.1 <1.2.0", "from": "domelementtype@>=1.1.1 <1.2.0",
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz" "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
"dev": true
}, },
"entities": { "entities": {
"version": "1.1.1", "version": "1.1.1",
"from": "entities@>=1.1.1 <1.2.0", "from": "entities@>=1.1.1 <1.2.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz" "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz",
"dev": true
} }
} }
}, },
"domelementtype": { "domelementtype": {
"version": "1.3.0", "version": "1.3.0",
"from": "domelementtype@>=1.0.0 <2.0.0", "from": "domelementtype@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz" "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz",
"dev": true
}, },
"domhandler": { "domhandler": {
"version": "2.3.0", "version": "2.3.0",
"from": "domhandler@>=2.3.0 <2.4.0", "from": "domhandler@>=2.3.0 <2.4.0",
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz" "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz",
"dev": true
}, },
"domutils": { "domutils": {
"version": "1.5.1", "version": "1.5.1",
"from": "domutils@>=1.5.0 <1.6.0", "from": "domutils@>=1.5.0 <1.6.0",
"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz" "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
"dev": true
}, },
"each-async": { "each-async": {
"version": "1.1.1", "version": "1.1.1",
"from": "each-async@>=1.0.0 <2.0.0", "from": "each-async@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/each-async/-/each-async-1.1.1.tgz" "resolved": "https://registry.npmjs.org/each-async/-/each-async-1.1.1.tgz",
"dev": true
}, },
"ecc-jsbn": { "ecc-jsbn": {
"version": "0.1.1", "version": "0.1.1",
"from": "ecc-jsbn@>=0.1.1 <0.2.0", "from": "ecc-jsbn@>=0.1.1 <0.2.0",
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz" "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
"dev": true,
"optional": true
}, },
"ee-first": { "ee-first": {
"version": "1.1.1", "version": "1.1.1",
"from": "ee-first@1.1.1", "from": "ee-first@1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
"dev": true
}, },
"encodeurl": { "encodeurl": {
"version": "1.0.1", "version": "1.0.1",
"from": "encodeurl@>=1.0.1 <1.1.0", "from": "encodeurl@>=1.0.1 <1.1.0",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz" "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz",
"dev": true
}, },
"end-of-stream": { "end-of-stream": {
"version": "1.1.0", "version": "1.1.0",
"from": "end-of-stream@>=1.0.0 <2.0.0", "from": "end-of-stream@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.1.0.tgz" "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.1.0.tgz",
"dev": true,
"dependencies": {
"once": {
"version": "1.3.3",
"from": "once@>=1.3.0 <1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
"dev": true
}
}
}, },
"entities": { "entities": {
"version": "1.0.0", "version": "1.0.0",
"from": "entities@>=1.0.0 <1.1.0", "from": "entities@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz" "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz",
"dev": true
}, },
"error-ex": { "error-ex": {
"version": "1.3.0", "version": "1.3.0",
"from": "error-ex@>=1.2.0 <2.0.0", "from": "error-ex@>=1.2.0 <2.0.0",
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz" "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz",
"dev": true
}, },
"es5-ext": { "es5-ext": {
"version": "0.10.12", "version": "0.10.12",
"from": "es5-ext@>=0.10.11 <0.11.0", "from": "es5-ext@>=0.10.11 <0.11.0",
"resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz" "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz",
"dev": true
}, },
"es6-iterator": { "es6-iterator": {
"version": "2.0.0", "version": "2.0.0",
"from": "es6-iterator@>=2.0.0 <3.0.0", "from": "es6-iterator@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz" "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz",
"dev": true
}, },
"es6-map": { "es6-map": {
"version": "0.1.4", "version": "0.1.4",
"from": "es6-map@>=0.1.3 <0.2.0", "from": "es6-map@>=0.1.3 <0.2.0",
"resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.4.tgz" "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.4.tgz",
"dev": true
},
"es6-promise": {
"version": "4.0.5",
"from": "es6-promise@>=4.0.3 <4.1.0",
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.0.5.tgz",
"dev": true
}, },
"es6-set": { "es6-set": {
"version": "0.1.4", "version": "0.1.4",
"from": "es6-set@>=0.1.3 <0.2.0", "from": "es6-set@>=0.1.3 <0.2.0",
"resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.4.tgz" "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.4.tgz",
"dev": true
}, },
"es6-symbol": { "es6-symbol": {
"version": "3.1.0", "version": "3.1.0",
"from": "es6-symbol@>=3.1.0 <3.2.0", "from": "es6-symbol@>=3.1.0 <3.2.0",
"resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.0.tgz" "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.0.tgz",
"dev": true
}, },
"es6-weak-map": { "es6-weak-map": {
"version": "2.0.1", "version": "2.0.1",
"from": "es6-weak-map@>=2.0.1 <3.0.0", "from": "es6-weak-map@>=2.0.1 <3.0.0",
"resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.1.tgz" "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.1.tgz",
"dev": true
}, },
"escape-html": { "escape-html": {
"version": "1.0.3", "version": "1.0.3",
"from": "escape-html@>=1.0.3 <1.1.0", "from": "escape-html@>=1.0.3 <1.1.0",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
"dev": true
}, },
"escape-string-regexp": { "escape-string-regexp": {
"version": "1.0.5", "version": "1.0.5",
"from": "escape-string-regexp@>=1.0.2 <2.0.0", "from": "escape-string-regexp@>=1.0.2 <2.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"dev": true
}, },
"escope": { "escope": {
"version": "3.6.0", "version": "3.6.0",
"from": "escope@>=3.6.0 <4.0.0", "from": "escope@>=3.6.0 <4.0.0",
"resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz" "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz",
"dev": true
}, },
"eslint": { "eslint": {
"version": "3.1.0", "version": "3.7.1",
"from": "eslint@>=3.0.0 <4.0.0", "from": "eslint@>=3.7.1 <4.0.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-3.1.0.tgz", "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.7.1.tgz",
"dev": true,
"dependencies": { "dependencies": {
"globals": { "globals": {
"version": "9.9.0", "version": "9.10.0",
"from": "globals@>=9.2.0 <10.0.0", "from": "globals@>=9.2.0 <10.0.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-9.9.0.tgz" "resolved": "https://registry.npmjs.org/globals/-/globals-9.10.0.tgz",
"dev": true
}, },
"shelljs": { "shelljs": {
"version": "0.6.0", "version": "0.6.1",
"from": "shelljs@>=0.6.0 <0.7.0", "from": "shelljs@>=0.6.0 <0.7.0",
"resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.6.0.tgz" "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.6.1.tgz",
"dev": true
} }
} }
}, },
"espree": { "espree": {
"version": "3.1.6", "version": "3.3.2",
"from": "espree@>=3.1.6 <4.0.0", "from": "espree@>=3.3.1 <4.0.0",
"resolved": "https://registry.npmjs.org/espree/-/espree-3.1.6.tgz" "resolved": "https://registry.npmjs.org/espree/-/espree-3.3.2.tgz",
"dev": true
}, },
"esprima": { "esprima": {
"version": "2.7.2", "version": "2.7.3",
"from": "esprima@>=2.6.0 <3.0.0", "from": "esprima@>=2.6.0 <3.0.0",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.2.tgz" "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
"dev": true
}, },
"esrecurse": { "esrecurse": {
"version": "4.1.0", "version": "4.1.0",
"from": "esrecurse@>=4.1.0 <5.0.0", "from": "esrecurse@>=4.1.0 <5.0.0",
"resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.1.0.tgz", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.1.0.tgz",
"dev": true,
"dependencies": { "dependencies": {
"estraverse": { "estraverse": {
"version": "4.1.1", "version": "4.1.1",
"from": "estraverse@>=4.1.0 <4.2.0", "from": "estraverse@>=4.1.0 <4.2.0",
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.1.1.tgz" "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.1.1.tgz",
"dev": true
} }
} }
}, },
"estraverse": { "estraverse": {
"version": "4.2.0", "version": "4.2.0",
"from": "estraverse@>=4.2.0 <5.0.0", "from": "estraverse@>=4.2.0 <5.0.0",
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz" "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
"dev": true
}, },
"esutils": { "esutils": {
"version": "2.0.2", "version": "2.0.2",
"from": "esutils@>=2.0.2 <3.0.0", "from": "esutils@>=2.0.2 <3.0.0",
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz" "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
"dev": true
}, },
"etag": { "etag": {
"version": "1.7.0", "version": "1.7.0",
"from": "etag@>=1.7.0 <1.8.0", "from": "etag@>=1.7.0 <1.8.0",
"resolved": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz" "resolved": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz",
"dev": true
}, },
"event-emitter": { "event-emitter": {
"version": "0.3.4", "version": "0.3.4",
"from": "event-emitter@>=0.3.4 <0.4.0", "from": "event-emitter@>=0.3.4 <0.4.0",
"resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.4.tgz" "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.4.tgz",
"dev": true
}, },
"eventemitter2": { "eventemitter2": {
"version": "0.4.14", "version": "0.4.14",
"from": "eventemitter2@>=0.4.13 <0.5.0", "from": "eventemitter2@>=0.4.13 <0.5.0",
"resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz" "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz",
"dev": true
}, },
"exit": { "exit": {
"version": "0.1.2", "version": "0.1.2",
"from": "exit@>=0.1.1 <0.2.0", "from": "exit@>=0.1.1 <0.2.0",
"resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
"dev": true
}, },
"exit-hook": { "exit-hook": {
"version": "1.1.1", "version": "1.1.1",
"from": "exit-hook@>=1.0.0 <2.0.0", "from": "exit-hook@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz" "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz",
"dev": true
}, },
"expand-brackets": { "expand-brackets": {
"version": "0.1.5", "version": "0.1.5",
"from": "expand-brackets@>=0.1.4 <0.2.0", "from": "expand-brackets@>=0.1.4 <0.2.0",
"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz" "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
"dev": true,
"optional": true
}, },
"expand-range": { "expand-range": {
"version": "1.8.2", "version": "1.8.2",
"from": "expand-range@>=1.8.1 <2.0.0", "from": "expand-range@>=1.8.1 <2.0.0",
"resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz" "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
"dev": true,
"optional": true
}, },
"extend": { "extend": {
"version": "3.0.0", "version": "3.0.0",
"from": "extend@>=3.0.0 <3.1.0", "from": "extend@>=3.0.0 <3.1.0",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz" "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz",
"dev": true
}, },
"extglob": { "extglob": {
"version": "0.3.2", "version": "0.3.2",
"from": "extglob@>=0.3.1 <0.4.0", "from": "extglob@>=0.3.1 <0.4.0",
"resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz" "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
"dev": true,
"optional": true
}, },
"extract-zip": { "extract-zip": {
"version": "1.5.0", "version": "1.5.0",
"from": "extract-zip@>=1.5.0 <1.6.0", "from": "extract-zip@>=1.5.0 <1.6.0",
"resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.5.0.tgz", "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.5.0.tgz",
"dev": true,
"dependencies": { "dependencies": {
"concat-stream": { "concat-stream": {
"version": "1.5.0", "version": "1.5.0",
"from": "concat-stream@1.5.0", "from": "concat-stream@1.5.0",
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.0.tgz" "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.0.tgz",
"dev": true
}, },
"debug": { "debug": {
"version": "0.7.4", "version": "0.7.4",
"from": "debug@0.7.4", "from": "debug@0.7.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz" "resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz",
"dev": true
}, },
"mkdirp": { "mkdirp": {
"version": "0.5.0", "version": "0.5.0",
"from": "mkdirp@0.5.0", "from": "mkdirp@0.5.0",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz" "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz",
"dev": true
} }
} }
}, },
"extsprintf": { "extsprintf": {
"version": "1.0.2", "version": "1.0.2",
"from": "extsprintf@1.0.2", "from": "extsprintf@1.0.2",
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz" "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz",
"dev": true
}, },
"eyes": { "eyes": {
"version": "0.1.8", "version": "0.1.8",
"from": "eyes@>=0.1.0 <0.2.0", "from": "eyes@>=0.1.0 <0.2.0",
"resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz" "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz",
"dev": true
}, },
"fast-levenshtein": { "fast-levenshtein": {
"version": "1.1.3", "version": "2.0.5",
"from": "fast-levenshtein@>=1.1.0 <2.0.0", "from": "fast-levenshtein@>=2.0.4 <2.1.0",
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.3.tgz" "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.5.tgz",
"dev": true
}, },
"faye-websocket": { "faye-websocket": {
"version": "0.10.0", "version": "0.10.0",
"from": "faye-websocket@>=0.10.0 <0.11.0", "from": "faye-websocket@>=0.10.0 <0.11.0",
"resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz" "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
"dev": true
}, },
"fd-slicer": { "fd-slicer": {
"version": "1.0.1", "version": "1.0.1",
"from": "fd-slicer@>=1.0.1 <1.1.0", "from": "fd-slicer@>=1.0.1 <1.1.0",
"resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz" "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz",
"dev": true
}, },
"fg-lodash": { "fg-lodash": {
"version": "0.0.2", "version": "0.0.2",
"from": "fg-lodash@0.0.2", "from": "fg-lodash@0.0.2",
"resolved": "https://registry.npmjs.org/fg-lodash/-/fg-lodash-0.0.2.tgz", "resolved": "https://registry.npmjs.org/fg-lodash/-/fg-lodash-0.0.2.tgz",
"dev": true,
"dependencies": { "dependencies": {
"lodash": { "lodash": {
"version": "2.4.2", "version": "2.4.2",
"from": "lodash@>=2.4.1 <3.0.0", "from": "lodash@>=2.4.1 <3.0.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz" "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
"dev": true
}, },
"underscore.string": { "underscore.string": {
"version": "2.3.3", "version": "2.3.3",
"from": "underscore.string@>=2.3.3 <2.4.0", "from": "underscore.string@>=2.3.3 <2.4.0",
"resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz" "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz",
"dev": true
} }
} }
}, },
"figures": { "figures": {
"version": "1.7.0", "version": "1.7.0",
"from": "figures@>=1.3.5 <2.0.0", "from": "figures@>=1.3.5 <2.0.0",
"resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz" "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
"dev": true
}, },
"file-entry-cache": { "file-entry-cache": {
"version": "1.2.4", "version": "2.0.0",
"from": "file-entry-cache@>=1.1.1 <2.0.0", "from": "file-entry-cache@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-1.2.4.tgz" "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz",
"dev": true
}, },
"file-sync-cmp": { "file-sync-cmp": {
"version": "0.1.1", "version": "0.1.1",
"from": "file-sync-cmp@>=0.1.0 <0.2.0", "from": "file-sync-cmp@>=0.1.0 <0.2.0",
"resolved": "https://registry.npmjs.org/file-sync-cmp/-/file-sync-cmp-0.1.1.tgz" "resolved": "https://registry.npmjs.org/file-sync-cmp/-/file-sync-cmp-0.1.1.tgz",
"dev": true
}, },
"filename-regex": { "filename-regex": {
"version": "2.0.0", "version": "2.0.0",
"from": "filename-regex@>=2.0.0 <3.0.0", "from": "filename-regex@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.0.tgz" "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.0.tgz",
"dev": true,
"optional": true
}, },
"fill-range": { "fill-range": {
"version": "2.2.3", "version": "2.2.3",
"from": "fill-range@>=2.1.0 <3.0.0", "from": "fill-range@>=2.1.0 <3.0.0",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz" "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz",
"dev": true,
"optional": true
}, },
"finalhandler": { "finalhandler": {
"version": "0.4.1", "version": "0.5.0",
"from": "finalhandler@0.4.1", "from": "finalhandler@0.5.0",
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.1.tgz" "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.5.0.tgz",
"dev": true
}, },
"find-up": { "find-up": {
"version": "1.1.2", "version": "1.1.2",
"from": "find-up@>=1.0.0 <2.0.0", "from": "find-up@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz" "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
"dev": true
}, },
"findup-sync": { "findup-sync": {
"version": "0.3.0", "version": "0.3.0",
"from": "findup-sync@>=0.3.0 <0.4.0", "from": "findup-sync@>=0.3.0 <0.4.0",
"resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz",
"dev": true,
"dependencies": { "dependencies": {
"glob": { "glob": {
"version": "5.0.15", "version": "5.0.15",
"from": "glob@>=5.0.0 <5.1.0", "from": "glob@>=5.0.0 <5.1.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz" "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
"dev": true
} }
} }
}, },
"flat-cache": { "flat-cache": {
"version": "1.0.10", "version": "1.2.1",
"from": "flat-cache@>=1.0.9 <2.0.0", "from": "flat-cache@>=1.2.1 <2.0.0",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.0.10.tgz" "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.1.tgz",
"dev": true
}, },
"for-in": { "for-in": {
"version": "0.1.5", "version": "0.1.6",
"from": "for-in@>=0.1.5 <0.2.0", "from": "for-in@>=0.1.5 <0.2.0",
"resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.5.tgz" "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.6.tgz",
"dev": true,
"optional": true
}, },
"for-own": { "for-own": {
"version": "0.1.4", "version": "0.1.4",
"from": "for-own@>=0.1.3 <0.2.0", "from": "for-own@>=0.1.3 <0.2.0",
"resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.4.tgz" "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.4.tgz",
"dev": true,
"optional": true
}, },
"forever-agent": { "forever-agent": {
"version": "0.6.1", "version": "0.6.1",
"from": "forever-agent@>=0.6.1 <0.7.0", "from": "forever-agent@>=0.6.1 <0.7.0",
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
"dev": true
}, },
"form-data": { "form-data": {
"version": "1.0.0-rc4", "version": "1.0.1",
"from": "form-data@>=1.0.0-rc3 <1.1.0", "from": "form-data@>=1.0.0-rc4 <1.1.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc4.tgz" "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.1.tgz",
"dev": true,
"dependencies": {
"async": {
"version": "2.0.1",
"from": "async@>=2.0.1 <3.0.0",
"resolved": "https://registry.npmjs.org/async/-/async-2.0.1.tgz",
"dev": true
}
}
}, },
"fresh": { "fresh": {
"version": "0.3.0", "version": "0.3.0",
"from": "fresh@0.3.0", "from": "fresh@0.3.0",
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz" "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz",
"dev": true
}, },
"fs-extra": { "fs-extra": {
"version": "0.26.7", "version": "0.30.0",
"from": "fs-extra@>=0.26.4 <0.27.0", "from": "fs-extra@>=0.30.0 <0.31.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz" "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz",
}, "dev": true
"fs-readdir-recursive": {
"version": "0.1.2",
"from": "fs-readdir-recursive@>=0.1.0 <0.2.0",
"resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-0.1.2.tgz"
}, },
"fs.realpath": { "fs.realpath": {
"version": "1.0.0", "version": "1.0.0",
"from": "fs.realpath@>=1.0.0 <2.0.0", "from": "fs.realpath@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"dev": true
}, },
"fsevents": { "fsevents": {
"version": "1.0.13", "version": "1.0.14",
"from": "fsevents@>=1.0.0 <2.0.0", "from": "fsevents@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.0.13.tgz", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.0.14.tgz",
"dev": true,
"optional": true,
"dependencies": { "dependencies": {
"abbrev": { "abbrev": {
"version": "1.0.7", "version": "1.0.9",
"from": "abbrev@>=1.0.0 <2.0.0", "from": "abbrev@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.7.tgz" "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",
"dev": true,
"optional": true
}, },
"ansi-regex": { "ansi-regex": {
"version": "2.0.0", "version": "2.0.0",
"from": "ansi-regex@^2.0.0", "from": "ansi-regex@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz",
"dev": true
}, },
"ansi-styles": { "ansi-styles": {
"version": "2.2.1", "version": "2.2.1",
"from": "ansi-styles@^2.2.1", "from": "ansi-styles@>=2.2.1 <3.0.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
"dev": true,
"optional": true
}, },
"aproba": { "aproba": {
"version": "1.0.4", "version": "1.0.4",
"from": "aproba@>=1.0.3 <2.0.0", "from": "aproba@>=1.0.3 <2.0.0",
"resolved": "https://registry.npmjs.org/aproba/-/aproba-1.0.4.tgz" "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.0.4.tgz",
"dev": true,
"optional": true
}, },
"are-we-there-yet": { "are-we-there-yet": {
"version": "1.1.2", "version": "1.1.2",
"from": "are-we-there-yet@~1.1.2", "from": "are-we-there-yet@>=1.1.2 <1.2.0",
"resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz" "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz",
"dev": true,
"optional": true
}, },
"asn1": { "asn1": {
"version": "0.2.3", "version": "0.2.3",
"from": "asn1@>=0.2.3 <0.3.0", "from": "asn1@>=0.2.3 <0.3.0",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz" "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
"dev": true,
"optional": true
}, },
"assert-plus": { "assert-plus": {
"version": "0.2.0", "version": "0.2.0",
"from": "assert-plus@^0.2.0", "from": "assert-plus@>=0.2.0 <0.3.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz" "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
"dev": true,
"optional": true
}, },
"async": { "async": {
"version": "1.5.2", "version": "1.5.2",
"from": "async@^1.5.2", "from": "async@>=1.5.2 <2.0.0",
"resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz" "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
"dev": true,
"optional": true
}, },
"aws-sign2": { "aws-sign2": {
"version": "0.6.0", "version": "0.6.0",
"from": "aws-sign2@~0.6.0", "from": "aws-sign2@>=0.6.0 <0.7.0",
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz" "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
"dev": true,
"optional": true
}, },
"aws4": { "aws4": {
"version": "1.4.1", "version": "1.4.1",
"from": "aws4@>=1.2.1 <2.0.0", "from": "aws4@>=1.2.1 <2.0.0",
"resolved": "https://lunabuild.akamai.com/nexus/content/groups/npm-all/aws4/-/aws4-1.4.1.tgz" "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.4.1.tgz",
"dev": true,
"optional": true
}, },
"balanced-match": { "balanced-match": {
"version": "0.4.1", "version": "0.4.2",
"from": "balanced-match@>=0.4.1 <0.5.0", "from": "balanced-match@>=0.4.1 <0.5.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.1.tgz" "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
"dev": true
}, },
"bl": { "bl": {
"version": "1.1.2", "version": "1.1.2",
"from": "bl@>=1.1.2 <1.2.0", "from": "bl@>=1.1.2 <1.2.0",
"resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz", "resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz",
"dev": true,
"optional": true,
"dependencies": { "dependencies": {
"readable-stream": { "readable-stream": {
"version": "2.0.6", "version": "2.0.6",
"from": "readable-stream@>=2.0.5 <2.1.0", "from": "readable-stream@>=2.0.5 <2.1.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz" "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
"dev": true,
"optional": true
} }
} }
}, },
"block-stream": { "block-stream": {
"version": "0.0.9", "version": "0.0.9",
"from": "block-stream@*", "from": "block-stream@*",
"resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz" "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
"dev": true
}, },
"boom": { "boom": {
"version": "2.10.1", "version": "2.10.1",
"from": "boom@2.x.x", "from": "boom@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz" "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
"dev": true
}, },
"brace-expansion": { "brace-expansion": {
"version": "1.1.5", "version": "1.1.5",
"from": "brace-expansion@>=1.0.0 <2.0.0", "from": "brace-expansion@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.5.tgz" "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.5.tgz",
"dev": true
}, },
"buffer-shims": { "buffer-shims": {
"version": "1.0.0", "version": "1.0.0",
"from": "buffer-shims@>=1.0.0 <2.0.0", "from": "buffer-shims@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz" "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz",
"dev": true
}, },
"caseless": { "caseless": {
"version": "0.11.0", "version": "0.11.0",
"from": "caseless@~0.11.0", "from": "caseless@>=0.11.0 <0.12.0",
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz" "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz",
"dev": true,
"optional": true
}, },
"chalk": { "chalk": {
"version": "1.1.3", "version": "1.1.3",
"from": "chalk@^1.1.1", "from": "chalk@>=1.1.1 <2.0.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
"dev": true,
"optional": true
}, },
"code-point-at": { "code-point-at": {
"version": "1.0.0", "version": "1.0.0",
"from": "code-point-at@>=1.0.0 <2.0.0", "from": "code-point-at@>=1.0.0 <2.0.0",
"resolved": "https://lunabuild.akamai.com/nexus/content/groups/npm-all/code-point-at/-/code-point-at-1.0.0.tgz" "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.0.0.tgz",
"dev": true
}, },
"combined-stream": { "combined-stream": {
"version": "1.0.5", "version": "1.0.5",
"from": "combined-stream@~1.0.5", "from": "combined-stream@>=1.0.5 <1.1.0",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz" "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
"dev": true
}, },
"commander": { "commander": {
"version": "2.9.0", "version": "2.9.0",
"from": "commander@^2.9.0", "from": "commander@>=2.9.0 <3.0.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz" "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
"dev": true,
"optional": true
}, },
"concat-map": { "concat-map": {
"version": "0.0.1", "version": "0.0.1",
"from": "concat-map@0.0.1", "from": "concat-map@0.0.1",
"resolved": "https://lunabuild.akamai.com/nexus/content/groups/npm-all/concat-map/-/concat-map-0.0.1.tgz" "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"dev": true
}, },
"console-control-strings": { "console-control-strings": {
"version": "1.1.0", "version": "1.1.0",
"from": "console-control-strings@>=1.1.0 <1.2.0", "from": "console-control-strings@>=1.1.0 <1.2.0",
"resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz" "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
"dev": true
}, },
"core-util-is": { "core-util-is": {
"version": "1.0.2", "version": "1.0.2",
"from": "core-util-is@~1.0.0", "from": "core-util-is@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"dev": true
}, },
"cryptiles": { "cryptiles": {
"version": "2.0.5", "version": "2.0.5",
"from": "cryptiles@2.x.x", "from": "cryptiles@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz" "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
"dev": true,
"optional": true
}, },
"dashdash": { "dashdash": {
"version": "1.14.0", "version": "1.14.0",
"from": "dashdash@>=1.12.0 <2.0.0", "from": "dashdash@>=1.12.0 <2.0.0",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.0.tgz", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.0.tgz",
"dev": true,
"optional": true,
"dependencies": { "dependencies": {
"assert-plus": { "assert-plus": {
"version": "1.0.0", "version": "1.0.0",
"from": "assert-plus@^1.0.0", "from": "assert-plus@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"dev": true,
"optional": true
} }
} }
}, },
"debug": { "debug": {
"version": "2.2.0", "version": "2.2.0",
"from": "debug@~2.2.0", "from": "debug@>=2.2.0 <2.3.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz" "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"dev": true,
"optional": true
}, },
"deep-extend": { "deep-extend": {
"version": "0.4.1", "version": "0.4.1",
"from": "deep-extend@~0.4.0", "from": "deep-extend@>=0.4.0 <0.5.0",
"resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.1.tgz" "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.1.tgz",
"dev": true,
"optional": true
}, },
"delayed-stream": { "delayed-stream": {
"version": "1.0.0", "version": "1.0.0",
"from": "delayed-stream@~1.0.0", "from": "delayed-stream@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"dev": true
}, },
"delegates": { "delegates": {
"version": "1.0.0", "version": "1.0.0",
"from": "delegates@^1.0.0", "from": "delegates@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz" "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
"dev": true,
"optional": true
}, },
"ecc-jsbn": { "ecc-jsbn": {
"version": "0.1.1", "version": "0.1.1",
"from": "ecc-jsbn@>=0.0.1 <1.0.0", "from": "ecc-jsbn@>=0.1.1 <0.2.0",
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz" "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
"dev": true,
"optional": true
}, },
"escape-string-regexp": { "escape-string-regexp": {
"version": "1.0.5", "version": "1.0.5",
"from": "escape-string-regexp@^1.0.2", "from": "escape-string-regexp@>=1.0.2 <2.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"dev": true,
"optional": true
}, },
"extend": { "extend": {
"version": "3.0.0", "version": "3.0.0",
"from": "extend@~3.0.0", "from": "extend@>=3.0.0 <3.1.0",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz" "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz",
"dev": true,
"optional": true
}, },
"extsprintf": { "extsprintf": {
"version": "1.0.2", "version": "1.0.2",
"from": "extsprintf@1.0.2", "from": "extsprintf@1.0.2",
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz" "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz",
"dev": true
}, },
"forever-agent": { "forever-agent": {
"version": "0.6.1", "version": "0.6.1",
"from": "forever-agent@~0.6.1", "from": "forever-agent@>=0.6.1 <0.7.0",
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
"dev": true,
"optional": true
}, },
"form-data": { "form-data": {
"version": "1.0.0-rc4", "version": "1.0.0-rc4",
"from": "form-data@~1.0.0-rc3", "from": "form-data@>=1.0.0-rc4 <1.1.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc4.tgz" "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc4.tgz",
"dev": true,
"optional": true
}, },
"fs.realpath": { "fs.realpath": {
"version": "1.0.0", "version": "1.0.0",
"from": "fs.realpath@>=1.0.0 <2.0.0", "from": "fs.realpath@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"dev": true
}, },
"fstream": { "fstream": {
"version": "1.0.10", "version": "1.0.10",
"from": "fstream@>=1.0.2 <2.0.0", "from": "fstream@>=1.0.2 <2.0.0",
"resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.10.tgz" "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.10.tgz",
"dev": true
}, },
"fstream-ignore": { "fstream-ignore": {
"version": "1.0.5", "version": "1.0.5",
"from": "fstream-ignore@>=1.0.5 <1.1.0", "from": "fstream-ignore@>=1.0.5 <1.1.0",
"resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz", "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz",
"dependencies": { "dev": true,
"minimatch": { "optional": true
"version": "3.0.2",
"from": "minimatch@>=3.0.0 <4.0.0"
}
}
}, },
"gauge": { "gauge": {
"version": "2.6.0", "version": "2.6.0",
"from": "gauge@>=2.6.0 <2.7.0", "from": "gauge@>=2.6.0 <2.7.0",
"resolved": "https://registry.npmjs.org/gauge/-/gauge-2.6.0.tgz" "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.6.0.tgz",
"dev": true,
"optional": true
}, },
"generate-function": { "generate-function": {
"version": "2.0.0", "version": "2.0.0",
"from": "generate-function@^2.0.0", "from": "generate-function@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz" "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz",
"dev": true,
"optional": true
}, },
"generate-object-property": { "generate-object-property": {
"version": "1.2.0", "version": "1.2.0",
"from": "generate-object-property@^1.1.0", "from": "generate-object-property@>=1.1.0 <2.0.0",
"resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz" "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
"dev": true,
"optional": true
}, },
"getpass": { "getpass": {
"version": "0.1.6", "version": "0.1.6",
"from": "getpass@>=0.1.1 <0.2.0", "from": "getpass@>=0.1.1 <0.2.0",
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz",
"dev": true,
"optional": true,
"dependencies": { "dependencies": {
"assert-plus": { "assert-plus": {
"version": "1.0.0", "version": "1.0.0",
"from": "assert-plus@>=1.0.0 <2.0.0", "from": "assert-plus@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"dev": true,
"optional": true
} }
} }
}, },
"glob": {
"version": "7.0.5",
"from": "glob@>=7.0.5 <8.0.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz",
"dev": true
},
"graceful-fs": { "graceful-fs": {
"version": "4.1.4", "version": "4.1.4",
"from": "graceful-fs@>=4.1.2 <5.0.0", "from": "graceful-fs@>=4.1.2 <5.0.0",
"resolved": "https://lunabuild.akamai.com/nexus/content/groups/npm-all/graceful-fs/-/graceful-fs-4.1.4.tgz" "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.4.tgz",
"dev": true
}, },
"graceful-readlink": { "graceful-readlink": {
"version": "1.0.1", "version": "1.0.1",
"from": "graceful-readlink@>= 1.0.0", "from": "graceful-readlink@>=1.0.0",
"resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz" "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
"dev": true,
"optional": true
}, },
"har-validator": { "har-validator": {
"version": "2.0.6", "version": "2.0.6",
"from": "har-validator@~2.0.6", "from": "har-validator@>=2.0.6 <2.1.0",
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz" "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz",
"dev": true,
"optional": true
}, },
"has-ansi": { "has-ansi": {
"version": "2.0.0", "version": "2.0.0",
"from": "has-ansi@^2.0.0", "from": "has-ansi@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
"dev": true,
"optional": true
}, },
"has-color": { "has-color": {
"version": "0.1.7", "version": "0.1.7",
"from": "has-color@>=0.1.7 <0.2.0", "from": "has-color@>=0.1.7 <0.2.0",
"resolved": "https://lunabuild.akamai.com/nexus/content/groups/npm-all/has-color/-/has-color-0.1.7.tgz" "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz",
"dev": true,
"optional": true
}, },
"has-unicode": { "has-unicode": {
"version": "2.0.1", "version": "2.0.1",
"from": "has-unicode@>=2.0.0 <3.0.0", "from": "has-unicode@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz" "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
"dev": true,
"optional": true
}, },
"hawk": { "hawk": {
"version": "3.1.3", "version": "3.1.3",
"from": "hawk@~3.1.0", "from": "hawk@>=3.1.3 <3.2.0",
"resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz" "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
"dev": true,
"optional": true
}, },
"hoek": { "hoek": {
"version": "2.16.3", "version": "2.16.3",
"from": "hoek@2.x.x", "from": "hoek@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz" "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
"dev": true
}, },
"http-signature": { "http-signature": {
"version": "1.1.1", "version": "1.1.1",
"from": "http-signature@~1.1.0", "from": "http-signature@>=1.1.0 <1.2.0",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz" "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
"dev": true,
"optional": true
}, },
"inflight": { "inflight": {
"version": "1.0.5", "version": "1.0.5",
"from": "inflight@>=1.0.4 <2.0.0", "from": "inflight@>=1.0.4 <2.0.0",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz" "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz",
"dev": true
}, },
"inherits": { "inherits": {
"version": "2.0.1", "version": "2.0.1",
"from": "inherits@*", "from": "inherits@>=2.0.1 <2.1.0",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
"dev": true
}, },
"ini": { "ini": {
"version": "1.3.4", "version": "1.3.4",
"from": "ini@~1.3.0", "from": "ini@>=1.3.0 <1.4.0",
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz" "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz",
"dev": true,
"optional": true
}, },
"is-fullwidth-code-point": { "is-fullwidth-code-point": {
"version": "1.0.0", "version": "1.0.0",
"from": "is-fullwidth-code-point@>=1.0.0 <2.0.0", "from": "is-fullwidth-code-point@>=1.0.0 <2.0.0",
"resolved": "https://lunabuild.akamai.com/nexus/content/groups/npm-all/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
"dev": true
}, },
"is-my-json-valid": { "is-my-json-valid": {
"version": "2.13.1", "version": "2.13.1",
"from": "is-my-json-valid@^2.12.4", "from": "is-my-json-valid@>=2.12.4 <3.0.0",
"resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz" "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz",
"dev": true,
"optional": true
}, },
"is-property": { "is-property": {
"version": "1.0.2", "version": "1.0.2",
"from": "is-property@^1.0.0", "from": "is-property@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz" "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
"dev": true,
"optional": true
}, },
"is-typedarray": { "is-typedarray": {
"version": "1.0.0", "version": "1.0.0",
"from": "is-typedarray@~1.0.0", "from": "is-typedarray@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
"dev": true,
"optional": true
}, },
"isarray": { "isarray": {
"version": "1.0.0", "version": "1.0.0",
"from": "isarray@~1.0.0", "from": "isarray@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"dev": true
}, },
"isstream": { "isstream": {
"version": "0.1.2", "version": "0.1.2",
"from": "isstream@~0.1.2", "from": "isstream@>=0.1.2 <0.2.0",
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
"dev": true,
"optional": true
}, },
"jodid25519": { "jodid25519": {
"version": "1.0.2", "version": "1.0.2",
"from": "jodid25519@>=1.0.0 <2.0.0", "from": "jodid25519@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz" "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz",
"dev": true,
"optional": true
}, },
"jsbn": { "jsbn": {
"version": "0.1.0", "version": "0.1.0",
"from": "jsbn@>=0.1.0 <0.2.0", "from": "jsbn@>=0.1.0 <0.2.0",
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz" "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz",
"dev": true,
"optional": true
}, },
"json-schema": { "json-schema": {
"version": "0.2.2", "version": "0.2.2",
"from": "json-schema@0.2.2", "from": "json-schema@0.2.2",
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz" "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz",
"dev": true,
"optional": true
}, },
"json-stringify-safe": { "json-stringify-safe": {
"version": "5.0.1", "version": "5.0.1",
"from": "json-stringify-safe@~5.0.1", "from": "json-stringify-safe@>=5.0.1 <5.1.0",
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
"dev": true,
"optional": true
}, },
"jsonpointer": { "jsonpointer": {
"version": "2.0.0", "version": "2.0.0",
"from": "jsonpointer@2.0.0", "from": "jsonpointer@2.0.0",
"resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz" "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz",
"dev": true,
"optional": true
}, },
"jsprim": { "jsprim": {
"version": "1.3.0", "version": "1.3.0",
"from": "jsprim@>=1.2.2 <2.0.0", "from": "jsprim@>=1.2.2 <2.0.0",
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.0.tgz" "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.0.tgz",
"dev": true,
"optional": true
}, },
"mime-db": { "mime-db": {
"version": "1.23.0", "version": "1.23.0",
"from": "mime-db@>=1.23.0 <1.24.0", "from": "mime-db@>=1.23.0 <1.24.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz" "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz",
"dev": true
}, },
"mime-types": { "mime-types": {
"version": "2.1.11", "version": "2.1.11",
"from": "mime-types@>=2.1.7 <2.2.0", "from": "mime-types@>=2.1.7 <2.2.0",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz" "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz",
"dev": true
},
"minimatch": {
"version": "3.0.2",
"from": "minimatch@>=3.0.2 <4.0.0",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.2.tgz",
"dev": true
}, },
"minimist": { "minimist": {
"version": "0.0.8", "version": "0.0.8",
"from": "minimist@0.0.8", "from": "minimist@0.0.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
"dev": true
}, },
"mkdirp": { "mkdirp": {
"version": "0.5.1", "version": "0.5.1",
"from": "mkdirp@>=0.3.0 <0.4.0||>=0.4.0 <0.5.0||>=0.5.0 <0.6.0", "from": "mkdirp@>=0.5.0 <0.6.0",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz" "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"dev": true
}, },
"ms": { "ms": {
"version": "0.7.1", "version": "0.7.1",
"from": "ms@0.7.1", "from": "ms@0.7.1",
"resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
"dev": true,
"optional": true
}, },
"node-pre-gyp": { "node-pre-gyp": {
"version": "0.6.29", "version": "0.6.29",
"from": "node-pre-gyp@>=0.6.29 <0.7.0", "from": "node-pre-gyp@>=0.6.29 <0.7.0",
"resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.29.tgz", "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.29.tgz",
"dependencies": { "dev": true,
"nopt": { "optional": true
"version": "3.0.6",
"from": "nopt@~3.0.1",
"resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz"
}
}
}, },
"node-uuid": { "node-uuid": {
"version": "1.4.7", "version": "1.4.7",
"from": "node-uuid@~1.4.7", "from": "node-uuid@>=1.4.7 <1.5.0",
"resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz" "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz",
"dev": true,
"optional": true
},
"nopt": {
"version": "3.0.6",
"from": "nopt@>=3.0.1 <3.1.0",
"resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
"dev": true,
"optional": true
}, },
"npmlog": { "npmlog": {
"version": "3.1.2", "version": "3.1.2",
"from": "npmlog@>=3.1.2 <3.2.0", "from": "npmlog@>=3.1.2 <3.2.0",
"resolved": "https://registry.npmjs.org/npmlog/-/npmlog-3.1.2.tgz" "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-3.1.2.tgz",
"dev": true,
"optional": true
}, },
"number-is-nan": { "number-is-nan": {
"version": "1.0.0", "version": "1.0.0",
"from": "number-is-nan@>=1.0.0 <2.0.0", "from": "number-is-nan@>=1.0.0 <2.0.0",
"resolved": "https://lunabuild.akamai.com/nexus/content/groups/npm-all/number-is-nan/-/number-is-nan-1.0.0.tgz" "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz",
"dev": true
}, },
"oauth-sign": { "oauth-sign": {
"version": "0.8.2", "version": "0.8.2",
"from": "oauth-sign@>=0.8.1 <0.9.0", "from": "oauth-sign@>=0.8.1 <0.9.0",
"resolved": "https://lunabuild.akamai.com/nexus/content/groups/npm-all/oauth-sign/-/oauth-sign-0.8.2.tgz" "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
"dev": true,
"optional": true
}, },
"object-assign": { "object-assign": {
"version": "4.1.0", "version": "4.1.0",
"from": "object-assign@>=4.1.0 <5.0.0", "from": "object-assign@>=4.1.0 <5.0.0",
"resolved": "https://lunabuild.akamai.com/nexus/content/groups/npm-all/object-assign/-/object-assign-4.1.0.tgz" "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz",
"dev": true,
"optional": true
}, },
"once": { "once": {
"version": "1.3.3", "version": "1.3.3",
"from": "once@~1.3.3", "from": "once@>=1.3.0 <2.0.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz" "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
"dev": true
}, },
"path-is-absolute": { "path-is-absolute": {
"version": "1.0.0", "version": "1.0.0",
"from": "path-is-absolute@>=1.0.0 <2.0.0", "from": "path-is-absolute@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz" "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz",
"dev": true
}, },
"pinkie": { "pinkie": {
"version": "2.0.4", "version": "2.0.4",
"from": "pinkie@^2.0.0", "from": "pinkie@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
"dev": true,
"optional": true
}, },
"pinkie-promise": { "pinkie-promise": {
"version": "2.0.1", "version": "2.0.1",
"from": "pinkie-promise@>=2.0.0 <3.0.0", "from": "pinkie-promise@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
"dev": true,
"optional": true
}, },
"process-nextick-args": { "process-nextick-args": {
"version": "1.0.7", "version": "1.0.7",
"from": "process-nextick-args@>=1.0.6 <1.1.0", "from": "process-nextick-args@>=1.0.6 <1.1.0",
"resolved": "https://lunabuild.akamai.com/nexus/content/groups/npm-all/process-nextick-args/-/process-nextick-args-1.0.7.tgz" "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
"dev": true
}, },
"qs": { "qs": {
"version": "6.1.0", "version": "6.2.0",
"from": "qs@>=6.1.0 <6.2.0", "from": "qs@>=6.2.0 <6.3.0",
"resolved": "https://lunabuild.akamai.com/nexus/content/groups/npm-all/qs/-/qs-6.1.0.tgz" "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.0.tgz",
"dev": true,
"optional": true
}, },
"rc": { "rc": {
"version": "1.1.6", "version": "1.1.6",
"from": "rc@~1.1.0", "from": "rc@>=1.1.0 <1.2.0",
"resolved": "https://registry.npmjs.org/rc/-/rc-1.1.6.tgz", "resolved": "https://registry.npmjs.org/rc/-/rc-1.1.6.tgz",
"dev": true,
"optional": true,
"dependencies": { "dependencies": {
"minimist": { "minimist": {
"version": "1.2.0", "version": "1.2.0",
"from": "minimist@^1.2.0", "from": "minimist@>=1.2.0 <2.0.0",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz" "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"dev": true,
"optional": true
} }
} }
}, },
"readable-stream": { "readable-stream": {
"version": "2.1.4", "version": "2.1.4",
"from": "readable-stream@>=2.0.0 <3.0.0||>=1.1.13 <2.0.0", "from": "readable-stream@>=2.0.0 <3.0.0||>=1.1.13 <2.0.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.4.tgz" "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.4.tgz",
"dev": true
}, },
"request": { "request": {
"version": "2.72.0", "version": "2.73.0",
"from": "request@>=2.0.0 <3.0.0", "from": "request@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.72.0.tgz" "resolved": "https://registry.npmjs.org/request/-/request-2.73.0.tgz",
"dev": true,
"optional": true
}, },
"rimraf": { "rimraf": {
"version": "2.5.2", "version": "2.5.3",
"from": "rimraf@~2.5.0", "from": "rimraf@>=2.5.0 <2.6.0",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.2.tgz", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.3.tgz",
"dependencies": { "dev": true
"glob": {
"version": "7.0.5",
"from": "glob@>=7.0.0 <8.0.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz"
},
"minimatch": {
"version": "3.0.2",
"from": "minimatch@>=3.0.2 <4.0.0",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.2.tgz"
}
}
}, },
"semver": { "semver": {
"version": "5.2.0", "version": "5.2.0",
"from": "semver@>=5.2.0 <5.3.0", "from": "semver@>=5.2.0 <5.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.2.0.tgz" "resolved": "https://registry.npmjs.org/semver/-/semver-5.2.0.tgz",
"dev": true,
"optional": true
}, },
"set-blocking": { "set-blocking": {
"version": "2.0.0", "version": "2.0.0",
"from": "set-blocking@>=2.0.0 <2.1.0", "from": "set-blocking@>=2.0.0 <2.1.0",
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
"dev": true,
"optional": true
}, },
"signal-exit": { "signal-exit": {
"version": "3.0.0", "version": "3.0.0",
"from": "signal-exit@>=3.0.0 <4.0.0", "from": "signal-exit@>=3.0.0 <4.0.0",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.0.tgz" "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.0.tgz",
"dev": true,
"optional": true
}, },
"sntp": { "sntp": {
"version": "1.0.9", "version": "1.0.9",
"from": "sntp@1.x.x", "from": "sntp@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz" "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
"dev": true,
"optional": true
}, },
"sshpk": { "sshpk": {
"version": "1.8.3", "version": "1.8.3",
"from": "sshpk@>=1.7.0 <2.0.0", "from": "sshpk@>=1.7.0 <2.0.0",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.8.3.tgz", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.8.3.tgz",
"dev": true,
"optional": true,
"dependencies": { "dependencies": {
"assert-plus": { "assert-plus": {
"version": "1.0.0", "version": "1.0.0",
"from": "assert-plus@>=1.0.0 <2.0.0", "from": "assert-plus@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"dev": true,
"optional": true
} }
} }
}, },
"string_decoder": { "string_decoder": {
"version": "0.10.31", "version": "0.10.31",
"from": "string_decoder@~0.10.x", "from": "string_decoder@>=0.10.0 <0.11.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"dev": true
}, },
"string-width": { "string-width": {
"version": "1.0.1", "version": "1.0.1",
"from": "string-width@>=1.0.1 <2.0.0", "from": "string-width@>=1.0.1 <2.0.0",
"resolved": "https://lunabuild.akamai.com/nexus/content/groups/npm-all/string-width/-/string-width-1.0.1.tgz" "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.1.tgz",
"dev": true
}, },
"stringstream": { "stringstream": {
"version": "0.0.5", "version": "0.0.5",
"from": "stringstream@~0.0.4", "from": "stringstream@>=0.0.4 <0.1.0",
"resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz" "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
"dev": true,
"optional": true
}, },
"strip-ansi": { "strip-ansi": {
"version": "3.0.1", "version": "3.0.1",
"from": "strip-ansi@^3.0.0", "from": "strip-ansi@>=3.0.1 <4.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"dev": true
}, },
"strip-json-comments": { "strip-json-comments": {
"version": "1.0.4", "version": "1.0.4",
"from": "strip-json-comments@~1.0.4", "from": "strip-json-comments@>=1.0.4 <1.1.0",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz" "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz",
"dev": true,
"optional": true
}, },
"supports-color": { "supports-color": {
"version": "2.0.0", "version": "2.0.0",
"from": "supports-color@^2.0.0", "from": "supports-color@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
"dev": true,
"optional": true
}, },
"tar": { "tar": {
"version": "2.2.1", "version": "2.2.1",
"from": "tar@~2.2.0", "from": "tar@>=2.2.0 <2.3.0",
"resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz" "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
"dev": true
}, },
"tar-pack": { "tar-pack": {
"version": "3.1.4", "version": "3.1.4",
"from": "tar-pack@>=3.1.0 <3.2.0", "from": "tar-pack@>=3.1.0 <3.2.0",
"resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.1.4.tgz" "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.1.4.tgz",
"dev": true,
"optional": true
}, },
"tough-cookie": { "tough-cookie": {
"version": "2.2.2", "version": "2.2.2",
"from": "tough-cookie@~2.2.0", "from": "tough-cookie@>=2.2.0 <2.3.0",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.2.tgz" "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.2.tgz",
"dev": true,
"optional": true
}, },
"tunnel-agent": { "tunnel-agent": {
"version": "0.4.3", "version": "0.4.3",
"from": "tunnel-agent@>=0.4.1 <0.5.0", "from": "tunnel-agent@>=0.4.1 <0.5.0",
"resolved": "https://lunabuild.akamai.com/nexus/content/groups/npm-all/tunnel-agent/-/tunnel-agent-0.4.3.tgz" "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz",
"dev": true,
"optional": true
}, },
"tweetnacl": { "tweetnacl": {
"version": "0.13.3", "version": "0.13.3",
"from": "tweetnacl@>=0.13.0 <0.14.0", "from": "tweetnacl@>=0.13.0 <0.14.0",
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.3.tgz" "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.3.tgz",
"dev": true,
"optional": true
}, },
"uid-number": { "uid-number": {
"version": "0.0.6", "version": "0.0.6",
"from": "uid-number@~0.0.6", "from": "uid-number@>=0.0.6 <0.1.0",
"resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz" "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz",
"dev": true,
"optional": true
}, },
"util-deprecate": { "util-deprecate": {
"version": "1.0.2", "version": "1.0.2",
"from": "util-deprecate@~1.0.1", "from": "util-deprecate@>=1.0.1 <1.1.0",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"dev": true
}, },
"verror": { "verror": {
"version": "1.3.6", "version": "1.3.6",
"from": "verror@1.3.6", "from": "verror@1.3.6",
"resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz" "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz",
"dev": true,
"optional": true
}, },
"wide-align": { "wide-align": {
"version": "1.1.0", "version": "1.1.0",
"from": "wide-align@>=1.1.0 <2.0.0", "from": "wide-align@>=1.1.0 <2.0.0",
"resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.0.tgz" "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.0.tgz",
"dev": true,
"optional": true
}, },
"wrappy": { "wrappy": {
"version": "1.0.2", "version": "1.0.2",
"from": "wrappy@>=1.0.0 <2.0.0", "from": "wrappy@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"dev": true
}, },
"xtend": { "xtend": {
"version": "4.0.1", "version": "4.0.1",
"from": "xtend@^4.0.0", "from": "xtend@>=4.0.0 <5.0.0",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
"dev": true,
"optional": true
} }
} }
}, },
"fstream": { "fstream": {
"version": "1.0.10", "version": "1.0.10",
"from": "fstream@>=1.0.0 <2.0.0", "from": "fstream@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.10.tgz" "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.10.tgz",
"dev": true
}, },
"gather-stream": { "gather-stream": {
"version": "1.0.0", "version": "1.0.0",
"from": "gather-stream@>=1.0.0 <2.0.0", "from": "gather-stream@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/gather-stream/-/gather-stream-1.0.0.tgz" "resolved": "https://registry.npmjs.org/gather-stream/-/gather-stream-1.0.0.tgz",
"dev": true
}, },
"gauge": { "gauge": {
"version": "2.6.0", "version": "2.6.0",
"from": "gauge@>=2.6.0 <2.7.0", "from": "gauge@>=2.6.0 <2.7.0",
"resolved": "https://registry.npmjs.org/gauge/-/gauge-2.6.0.tgz" "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.6.0.tgz",
"dev": true
}, },
"gaze": { "gaze": {
"version": "1.1.0", "version": "1.1.2",
"from": "gaze@>=1.0.0 <2.0.0", "from": "gaze@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.0.tgz" "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz",
"dev": true
}, },
"generate-function": { "generate-function": {
"version": "2.0.0", "version": "2.0.0",
"from": "generate-function@>=2.0.0 <3.0.0", "from": "generate-function@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz" "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz",
"dev": true
}, },
"generate-object-property": { "generate-object-property": {
"version": "1.2.0", "version": "1.2.0",
"from": "generate-object-property@>=1.1.0 <2.0.0", "from": "generate-object-property@>=1.1.0 <2.0.0",
"resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz" "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
"dev": true
},
"get-caller-file": {
"version": "1.0.2",
"from": "get-caller-file@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
"dev": true
}, },
"get-stdin": { "get-stdin": {
"version": "4.0.1", "version": "4.0.1",
"from": "get-stdin@>=4.0.1 <5.0.0", "from": "get-stdin@>=4.0.1 <5.0.0",
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz" "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
"dev": true
}, },
"getobject": { "getobject": {
"version": "0.1.0", "version": "0.1.0",
"from": "getobject@>=0.1.0 <0.2.0", "from": "getobject@>=0.1.0 <0.2.0",
"resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz" "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz",
"dev": true
}, },
"getpass": { "getpass": {
"version": "0.1.6", "version": "0.1.6",
"from": "getpass@>=0.1.1 <0.2.0", "from": "getpass@>=0.1.1 <0.2.0",
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz",
"dev": true,
"dependencies": { "dependencies": {
"assert-plus": { "assert-plus": {
"version": "1.0.0", "version": "1.0.0",
"from": "assert-plus@>=1.0.0 <2.0.0", "from": "assert-plus@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"dev": true
} }
} }
}, },
"glob": { "glob": {
"version": "7.0.5", "version": "7.1.1",
"from": "glob@>=7.0.3 <8.0.0", "from": "glob@>=7.0.3 <8.0.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz" "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
"dev": true
}, },
"glob-base": { "glob-base": {
"version": "0.3.0", "version": "0.3.0",
"from": "glob-base@>=0.3.0 <0.4.0", "from": "glob-base@>=0.3.0 <0.4.0",
"resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz" "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
"dev": true
}, },
"glob-parent": { "glob-parent": {
"version": "2.0.0", "version": "2.0.0",
"from": "glob-parent@>=2.0.0 <3.0.0", "from": "glob-parent@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz" "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
"dev": true
}, },
"globals": { "globals": {
"version": "8.18.0", "version": "8.18.0",
"from": "globals@>=8.3.0 <9.0.0", "from": "globals@>=8.3.0 <9.0.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-8.18.0.tgz" "resolved": "https://registry.npmjs.org/globals/-/globals-8.18.0.tgz",
"dev": true
}, },
"globby": { "globby": {
"version": "5.0.0", "version": "5.0.0",
"from": "globby@>=5.0.0 <6.0.0", "from": "globby@>=5.0.0 <6.0.0",
"resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz" "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
"dev": true
}, },
"globule": { "globule": {
"version": "1.0.0", "version": "1.0.0",
"from": "globule@>=1.0.0 <2.0.0", "from": "globule@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/globule/-/globule-1.0.0.tgz", "resolved": "https://registry.npmjs.org/globule/-/globule-1.0.0.tgz",
"dev": true,
"dependencies": { "dependencies": {
"glob": {
"version": "7.0.6",
"from": "glob@>=7.0.3 <7.1.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz",
"dev": true
},
"lodash": { "lodash": {
"version": "4.9.0", "version": "4.9.0",
"from": "lodash@>=4.9.0 <4.10.0", "from": "lodash@>=4.9.0 <4.10.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.9.0.tgz" "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.9.0.tgz",
"dev": true
} }
} }
}, },
"graceful-fs": { "graceful-fs": {
"version": "4.1.4", "version": "4.1.9",
"from": "graceful-fs@>=4.1.2 <5.0.0", "from": "graceful-fs@>=4.1.2 <5.0.0",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.4.tgz" "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.9.tgz",
"dev": true
}, },
"graceful-readlink": { "graceful-readlink": {
"version": "1.0.1", "version": "1.0.1",
"from": "graceful-readlink@>=1.0.0", "from": "graceful-readlink@>=1.0.0",
"resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz" "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
"dev": true
}, },
"grunt": { "grunt": {
"version": "1.0.1", "version": "1.0.1",
"from": "grunt@>=1.0.1 <2.0.0", "from": "grunt@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.1.tgz", "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.1.tgz",
"dev": true,
"dependencies": { "dependencies": {
"glob": {
"version": "7.0.6",
"from": "glob@>=7.0.0 <7.1.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz",
"dev": true
},
"grunt-cli": { "grunt-cli": {
"version": "1.2.0", "version": "1.2.0",
"from": "grunt-cli@>=1.2.0 <1.3.0", "from": "grunt-cli@>=1.2.0 <1.3.0",
"resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.2.0.tgz" "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.2.0.tgz",
"dev": true
}, },
"js-yaml": { "js-yaml": {
"version": "3.5.5", "version": "3.5.5",
"from": "js-yaml@>=3.5.2 <3.6.0", "from": "js-yaml@>=3.5.2 <3.6.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz" "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz",
"dev": true
}, },
"rimraf": { "rimraf": {
"version": "2.2.8", "version": "2.2.8",
"from": "rimraf@>=2.2.8 <2.3.0", "from": "rimraf@>=2.2.8 <2.3.0",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz" "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
"dev": true
} }
} }
}, },
"grunt-babel": { "grunt-babel": {
"version": "5.0.3", "version": "6.0.0",
"from": "grunt-babel@>=5.0.3 <6.0.0", "from": "grunt-babel@>=6.0.0 <7.0.0",
"resolved": "https://registry.npmjs.org/grunt-babel/-/grunt-babel-5.0.3.tgz" "resolved": "https://registry.npmjs.org/grunt-babel/-/grunt-babel-6.0.0.tgz",
"dev": true
}, },
"grunt-build-control": { "grunt-build-control": {
"version": "0.7.0", "version": "0.7.1",
"from": "grunt-build-control@>=0.7.0 <0.8.0", "from": "grunt-build-control@>=0.7.1 <0.8.0",
"resolved": "https://registry.npmjs.org/grunt-build-control/-/grunt-build-control-0.7.0.tgz", "resolved": "https://registry.npmjs.org/grunt-build-control/-/grunt-build-control-0.7.1.tgz",
"dev": true,
"dependencies": { "dependencies": {
"semver": { "semver": {
"version": "4.3.6", "version": "4.3.6",
"from": "semver@>=4.3.3 <4.4.0", "from": "semver@>=4.3.3 <4.4.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz" "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
"dev": true
}, },
"shelljs": { "shelljs": {
"version": "0.2.6", "version": "0.2.6",
"from": "shelljs@>=0.2.6 <0.3.0", "from": "shelljs@>=0.2.6 <0.3.0",
"resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.2.6.tgz" "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.2.6.tgz",
"dev": true
} }
} }
}, },
"grunt-contrib-clean": { "grunt-contrib-clean": {
"version": "1.0.0", "version": "1.0.0",
"from": "grunt-contrib-clean@>=1.0.0 <2.0.0", "from": "grunt-contrib-clean@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-1.0.0.tgz" "resolved": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-1.0.0.tgz",
"dev": true
}, },
"grunt-contrib-compress": { "grunt-contrib-compress": {
"version": "1.3.0", "version": "1.3.0",
"from": "grunt-contrib-compress@>=1.1.0 <2.0.0", "from": "grunt-contrib-compress@>=1.3.0 <2.0.0",
"resolved": "https://registry.npmjs.org/grunt-contrib-compress/-/grunt-contrib-compress-1.3.0.tgz" "resolved": "https://registry.npmjs.org/grunt-contrib-compress/-/grunt-contrib-compress-1.3.0.tgz",
"dev": true
}, },
"grunt-contrib-concat": { "grunt-contrib-concat": {
"version": "1.0.1", "version": "1.0.1",
"from": "grunt-contrib-concat@>=1.0.0 <2.0.0", "from": "grunt-contrib-concat@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-1.0.1.tgz" "resolved": "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-1.0.1.tgz",
"dev": true
}, },
"grunt-contrib-connect": { "grunt-contrib-connect": {
"version": "1.0.2", "version": "1.0.2",
"from": "grunt-contrib-connect@>=1.0.0 <2.0.0", "from": "grunt-contrib-connect@>=1.0.2 <2.0.0",
"resolved": "https://registry.npmjs.org/grunt-contrib-connect/-/grunt-contrib-connect-1.0.2.tgz" "resolved": "https://registry.npmjs.org/grunt-contrib-connect/-/grunt-contrib-connect-1.0.2.tgz",
"dev": true
}, },
"grunt-contrib-copy": { "grunt-contrib-copy": {
"version": "1.0.0", "version": "1.0.0",
"from": "grunt-contrib-copy@>=1.0.0 <2.0.0", "from": "grunt-contrib-copy@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz" "resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz",
"dev": true
}, },
"grunt-contrib-cssmin": { "grunt-contrib-cssmin": {
"version": "1.0.1", "version": "1.0.2",
"from": "grunt-contrib-cssmin@>=1.0.0 <2.0.0", "from": "grunt-contrib-cssmin@>=1.0.2 <2.0.0",
"resolved": "https://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-1.0.1.tgz" "resolved": "https://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-1.0.2.tgz",
"dev": true
}, },
"grunt-contrib-qunit": { "grunt-contrib-qunit": {
"version": "1.2.0", "version": "1.2.0",
"from": "grunt-contrib-qunit@>=1.0.1 <2.0.0", "from": "grunt-contrib-qunit@>=1.2.0 <2.0.0",
"resolved": "https://registry.npmjs.org/grunt-contrib-qunit/-/grunt-contrib-qunit-1.2.0.tgz" "resolved": "https://registry.npmjs.org/grunt-contrib-qunit/-/grunt-contrib-qunit-1.2.0.tgz",
"dev": true
}, },
"grunt-contrib-sass": { "grunt-contrib-sass": {
"version": "1.0.0", "version": "1.0.0",
"from": "grunt-contrib-sass@>=1.0.0 <2.0.0", "from": "grunt-contrib-sass@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/grunt-contrib-sass/-/grunt-contrib-sass-1.0.0.tgz", "resolved": "https://registry.npmjs.org/grunt-contrib-sass/-/grunt-contrib-sass-1.0.0.tgz",
"dev": true,
"dependencies": { "dependencies": {
"async": { "async": {
"version": "0.9.2", "version": "0.9.2",
"from": "async@>=0.9.0 <0.10.0", "from": "async@>=0.9.0 <0.10.0",
"resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz" "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
"dev": true
} }
} }
}, },
"grunt-contrib-uglify": { "grunt-contrib-uglify": {
"version": "1.0.1", "version": "2.0.0",
"from": "grunt-contrib-uglify@>=1.0.0 <2.0.0", "from": "grunt-contrib-uglify@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-1.0.1.tgz" "resolved": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-2.0.0.tgz",
"dev": true
}, },
"grunt-contrib-watch": { "grunt-contrib-watch": {
"version": "1.0.0", "version": "1.0.0",
"from": "grunt-contrib-watch@>=1.0.0 <2.0.0", "from": "grunt-contrib-watch@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.0.0.tgz", "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.0.0.tgz",
"dev": true,
"dependencies": { "dependencies": {
"lodash": { "lodash": {
"version": "3.10.1", "version": "3.10.1",
"from": "lodash@>=3.10.1 <4.0.0", "from": "lodash@>=3.10.1 <4.0.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz" "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
"dev": true
} }
} }
}, },
"grunt-exec": { "grunt-exec": {
"version": "1.0.0", "version": "1.0.1",
"from": "grunt-exec@>=1.0.0 <2.0.0", "from": "grunt-exec@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/grunt-exec/-/grunt-exec-1.0.0.tgz" "resolved": "https://registry.npmjs.org/grunt-exec/-/grunt-exec-1.0.1.tgz",
"dev": true
}, },
"grunt-html": { "grunt-html": {
"version": "8.0.2", "version": "8.0.2",
"from": "grunt-html@>=8.0.1 <9.0.0", "from": "grunt-html@>=8.0.2 <9.0.0",
"resolved": "https://registry.npmjs.org/grunt-html/-/grunt-html-8.0.2.tgz" "resolved": "https://registry.npmjs.org/grunt-html/-/grunt-html-8.0.2.tgz",
"dev": true
}, },
"grunt-jekyll": { "grunt-jekyll": {
"version": "0.4.4", "version": "0.4.4",
"from": "grunt-jekyll@>=0.4.2 <0.5.0", "from": "grunt-jekyll@>=0.4.4 <0.5.0",
"resolved": "https://registry.npmjs.org/grunt-jekyll/-/grunt-jekyll-0.4.4.tgz" "resolved": "https://registry.npmjs.org/grunt-jekyll/-/grunt-jekyll-0.4.4.tgz",
"dev": true
}, },
"grunt-known-options": { "grunt-known-options": {
"version": "1.1.0", "version": "1.1.0",
"from": "grunt-known-options@>=1.1.0 <1.2.0", "from": "grunt-known-options@>=1.1.0 <1.2.0",
"resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.0.tgz" "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.0.tgz",
"dev": true
}, },
"grunt-legacy-log": { "grunt-legacy-log": {
"version": "1.0.0", "version": "1.0.0",
"from": "grunt-legacy-log@>=1.0.0 <1.1.0", "from": "grunt-legacy-log@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-1.0.0.tgz", "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-1.0.0.tgz",
"dev": true,
"dependencies": { "dependencies": {
"lodash": { "lodash": {
"version": "3.10.1", "version": "3.10.1",
"from": "lodash@>=3.10.1 <3.11.0", "from": "lodash@>=3.10.1 <3.11.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz" "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
"dev": true
} }
} }
}, },
@ -2076,11 +2651,13 @@
"version": "1.0.0", "version": "1.0.0",
"from": "grunt-legacy-log-utils@>=1.0.0 <1.1.0", "from": "grunt-legacy-log-utils@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-1.0.0.tgz", "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-1.0.0.tgz",
"dev": true,
"dependencies": { "dependencies": {
"lodash": { "lodash": {
"version": "4.3.0", "version": "4.3.0",
"from": "lodash@>=4.3.0 <4.4.0", "from": "lodash@>=4.3.0 <4.4.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.3.0.tgz" "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.3.0.tgz",
"dev": true
} }
} }
}, },
@ -2088,137 +2665,171 @@
"version": "1.0.0", "version": "1.0.0",
"from": "grunt-legacy-util@>=1.0.0 <1.1.0", "from": "grunt-legacy-util@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-1.0.0.tgz", "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-1.0.0.tgz",
"dev": true,
"dependencies": { "dependencies": {
"lodash": { "lodash": {
"version": "4.3.0", "version": "4.3.0",
"from": "lodash@>=4.3.0 <4.4.0", "from": "lodash@>=4.3.0 <4.4.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.3.0.tgz" "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.3.0.tgz",
"dev": true
} }
} }
}, },
"grunt-lib-phantomjs": { "grunt-lib-phantomjs": {
"version": "1.1.0", "version": "1.1.0",
"from": "grunt-lib-phantomjs@>=1.0.0 <2.0.0", "from": "grunt-lib-phantomjs@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/grunt-lib-phantomjs/-/grunt-lib-phantomjs-1.1.0.tgz" "resolved": "https://registry.npmjs.org/grunt-lib-phantomjs/-/grunt-lib-phantomjs-1.1.0.tgz",
"dev": true
}, },
"grunt-sass": { "grunt-sass": {
"version": "1.2.0", "version": "1.2.1",
"from": "grunt-sass@>=1.0.0 <2.0.0", "from": "grunt-sass@>=1.2.1 <2.0.0",
"resolved": "https://registry.npmjs.org/grunt-sass/-/grunt-sass-1.2.0.tgz" "resolved": "https://registry.npmjs.org/grunt-sass/-/grunt-sass-1.2.1.tgz",
"dev": true
}, },
"grunt-saucelabs": { "grunt-saucelabs": {
"version": "9.0.0", "version": "9.0.0",
"from": "grunt-saucelabs@>=9.0.0 <10.0.0", "from": "grunt-saucelabs@>=9.0.0 <10.0.0",
"resolved": "https://registry.npmjs.org/grunt-saucelabs/-/grunt-saucelabs-9.0.0.tgz" "resolved": "https://registry.npmjs.org/grunt-saucelabs/-/grunt-saucelabs-9.0.0.tgz",
}, "dev": true,
"grunt-scss-lint": {
"version": "0.3.8",
"from": "grunt-scss-lint@>=0.3.8 <0.4.0",
"resolved": "https://registry.npmjs.org/grunt-scss-lint/-/grunt-scss-lint-0.3.8.tgz",
"dependencies": { "dependencies": {
"lodash": { "lodash": {
"version": "3.10.1", "version": "4.13.1",
"from": "lodash@>=3.6.0 <4.0.0", "from": "lodash@>=4.13.1 <4.14.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz" "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.13.1.tgz",
"dev": true
} }
} }
}, },
"grunt-scss-lint": {
"version": "0.5.0",
"from": "grunt-scss-lint@>=0.5.0 <0.6.0",
"resolved": "https://registry.npmjs.org/grunt-scss-lint/-/grunt-scss-lint-0.5.0.tgz",
"dev": true
},
"grunt-stamp": { "grunt-stamp": {
"version": "0.3.0", "version": "0.3.0",
"from": "grunt-stamp@>=0.3.0 <0.4.0", "from": "grunt-stamp@>=0.3.0 <0.4.0",
"resolved": "https://registry.npmjs.org/grunt-stamp/-/grunt-stamp-0.3.0.tgz" "resolved": "https://registry.npmjs.org/grunt-stamp/-/grunt-stamp-0.3.0.tgz",
"dev": true
}, },
"gzip-size": { "gzip-size": {
"version": "1.0.0", "version": "1.0.0",
"from": "gzip-size@>=1.0.0 <2.0.0", "from": "gzip-size@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-1.0.0.tgz" "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-1.0.0.tgz",
"dev": true
}, },
"har-validator": { "har-validator": {
"version": "2.0.6", "version": "2.0.6",
"from": "har-validator@>=2.0.2 <2.1.0", "from": "har-validator@>=2.0.6 <2.1.0",
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz" "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz",
"dev": true,
"dependencies": {
"commander": {
"version": "2.9.0",
"from": "commander@>=2.9.0 <3.0.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
"dev": true
}
}
}, },
"has-ansi": { "has-ansi": {
"version": "2.0.0", "version": "2.0.0",
"from": "has-ansi@>=2.0.0 <3.0.0", "from": "has-ansi@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
"dev": true
}, },
"has-color": { "has-color": {
"version": "0.1.7", "version": "0.1.7",
"from": "has-color@>=0.1.7 <0.2.0", "from": "has-color@>=0.1.7 <0.2.0",
"resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz" "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz",
"dev": true
}, },
"has-flag": { "has-flag": {
"version": "1.0.0", "version": "1.0.0",
"from": "has-flag@>=1.0.0 <2.0.0", "from": "has-flag@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz" "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
"dev": true
}, },
"has-unicode": { "has-unicode": {
"version": "2.0.1", "version": "2.0.1",
"from": "has-unicode@>=2.0.0 <3.0.0", "from": "has-unicode@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz" "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
"dev": true
}, },
"hasha": { "hasha": {
"version": "2.2.0", "version": "2.2.0",
"from": "hasha@>=2.2.0 <3.0.0", "from": "hasha@>=2.2.0 <2.3.0",
"resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz" "resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz",
"dev": true
}, },
"hawk": { "hawk": {
"version": "3.1.3", "version": "3.1.3",
"from": "hawk@>=3.1.0 <3.2.0", "from": "hawk@>=3.1.3 <3.2.0",
"resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz" "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
"dev": true
}, },
"hoek": { "hoek": {
"version": "2.16.3", "version": "2.16.3",
"from": "hoek@>=2.0.0 <3.0.0", "from": "hoek@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz" "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
"dev": true
}, },
"home-or-tmp": { "home-or-tmp": {
"version": "1.0.0", "version": "1.0.0",
"from": "home-or-tmp@>=1.0.0 <2.0.0", "from": "home-or-tmp@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-1.0.0.tgz", "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-1.0.0.tgz",
"dev": true,
"dependencies": { "dependencies": {
"user-home": { "user-home": {
"version": "1.1.1", "version": "1.1.1",
"from": "user-home@>=1.1.1 <2.0.0", "from": "user-home@>=1.1.1 <2.0.0",
"resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz" "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz",
"dev": true
} }
} }
}, },
"hooker": { "hooker": {
"version": "0.2.3", "version": "0.2.3",
"from": "hooker@>=0.2.3 <0.3.0", "from": "hooker@>=0.2.3 <0.3.0",
"resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz" "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz",
"dev": true
}, },
"hosted-git-info": { "hosted-git-info": {
"version": "2.1.5", "version": "2.1.5",
"from": "hosted-git-info@>=2.1.4 <3.0.0", "from": "hosted-git-info@>=2.1.4 <3.0.0",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.5.tgz" "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.5.tgz",
"dev": true
}, },
"htmlhint": { "htmlhint": {
"version": "0.9.13", "version": "0.9.13",
"from": "htmlhint@>=0.9.13 <0.10.0", "from": "htmlhint@>=0.9.13 <0.10.0",
"resolved": "https://registry.npmjs.org/htmlhint/-/htmlhint-0.9.13.tgz", "resolved": "https://registry.npmjs.org/htmlhint/-/htmlhint-0.9.13.tgz",
"dev": true,
"dependencies": { "dependencies": {
"async": { "async": {
"version": "1.4.2", "version": "1.4.2",
"from": "async@1.4.2", "from": "async@1.4.2",
"resolved": "https://registry.npmjs.org/async/-/async-1.4.2.tgz" "resolved": "https://registry.npmjs.org/async/-/async-1.4.2.tgz",
"dev": true
}, },
"colors": { "colors": {
"version": "1.0.3", "version": "1.0.3",
"from": "colors@1.0.3", "from": "colors@1.0.3",
"resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz" "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
"dev": true
}, },
"commander": { "commander": {
"version": "2.6.0", "version": "2.6.0",
"from": "commander@2.6.0", "from": "commander@2.6.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.6.0.tgz" "resolved": "https://registry.npmjs.org/commander/-/commander-2.6.0.tgz",
"dev": true
}, },
"glob": { "glob": {
"version": "5.0.15", "version": "5.0.15",
"from": "glob@5.0.15", "from": "glob@5.0.15",
"resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz" "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
"dev": true
} }
} }
}, },
@ -2226,1310 +2837,1491 @@
"version": "3.8.3", "version": "3.8.3",
"from": "htmlparser2@>=3.8.0 <3.9.0", "from": "htmlparser2@>=3.8.0 <3.9.0",
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz",
"dev": true,
"dependencies": { "dependencies": {
"isarray": { "isarray": {
"version": "0.0.1", "version": "0.0.1",
"from": "isarray@0.0.1", "from": "isarray@0.0.1",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"dev": true
}, },
"readable-stream": { "readable-stream": {
"version": "1.1.14", "version": "1.1.14",
"from": "readable-stream@>=1.1.0 <1.2.0", "from": "readable-stream@>=1.1.0 <1.2.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz" "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"dev": true
} }
} }
}, },
"http-errors": { "http-errors": {
"version": "1.5.0", "version": "1.5.0",
"from": "http-errors@>=1.5.0 <1.6.0", "from": "http-errors@>=1.5.0 <1.6.0",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.5.0.tgz" "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.5.0.tgz",
"dev": true,
"dependencies": {
"inherits": {
"version": "2.0.1",
"from": "inherits@2.0.1",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
"dev": true
}
}
}, },
"http-signature": { "http-signature": {
"version": "1.1.1", "version": "1.1.1",
"from": "http-signature@>=1.1.0 <1.2.0", "from": "http-signature@>=1.1.0 <1.2.0",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz" "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
"dev": true
}, },
"http2": { "http2": {
"version": "3.3.4", "version": "3.3.6",
"from": "http2@>=3.3.4 <4.0.0", "from": "http2@>=3.3.4 <4.0.0",
"resolved": "https://registry.npmjs.org/http2/-/http2-3.3.4.tgz" "resolved": "https://registry.npmjs.org/http2/-/http2-3.3.6.tgz",
"dev": true
}, },
"https-proxy-agent": { "https-proxy-agent": {
"version": "1.0.0", "version": "1.0.0",
"from": "https-proxy-agent@>=1.0.0 <2.0.0", "from": "https-proxy-agent@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz" "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz",
"dev": true
}, },
"i": { "i": {
"version": "0.3.5", "version": "0.3.5",
"from": "i@>=0.3.0 <0.4.0", "from": "i@>=0.3.0 <0.4.0",
"resolved": "https://registry.npmjs.org/i/-/i-0.3.5.tgz" "resolved": "https://registry.npmjs.org/i/-/i-0.3.5.tgz",
"dev": true
}, },
"iconv-lite": { "iconv-lite": {
"version": "0.4.13", "version": "0.4.13",
"from": "iconv-lite@>=0.4.13 <0.5.0", "from": "iconv-lite@>=0.4.13 <0.5.0",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz" "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz",
"dev": true
}, },
"ignore": { "ignore": {
"version": "3.1.3", "version": "3.1.5",
"from": "ignore@>=3.1.2 <4.0.0", "from": "ignore@>=3.1.5 <4.0.0",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-3.1.3.tgz" "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.1.5.tgz",
"dev": true
}, },
"imurmurhash": { "imurmurhash": {
"version": "0.1.4", "version": "0.1.4",
"from": "imurmurhash@>=0.1.4 <0.2.0", "from": "imurmurhash@>=0.1.4 <0.2.0",
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
"dev": true
}, },
"in-publish": { "in-publish": {
"version": "2.0.0", "version": "2.0.0",
"from": "in-publish@>=2.0.0 <3.0.0", "from": "in-publish@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz" "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz",
"dev": true
}, },
"indent-string": { "indent-string": {
"version": "2.1.0", "version": "2.1.0",
"from": "indent-string@>=2.1.0 <3.0.0", "from": "indent-string@>=2.1.0 <3.0.0",
"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz" "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
"dev": true
}, },
"inflight": { "inflight": {
"version": "1.0.5", "version": "1.0.5",
"from": "inflight@>=1.0.4 <2.0.0", "from": "inflight@>=1.0.4 <2.0.0",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz" "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz",
"dev": true
}, },
"inherit": { "inherit": {
"version": "2.2.4", "version": "2.2.6",
"from": "inherit@>=2.2.2 <3.0.0", "from": "inherit@>=2.2.2 <3.0.0",
"resolved": "https://registry.npmjs.org/inherit/-/inherit-2.2.4.tgz" "resolved": "https://registry.npmjs.org/inherit/-/inherit-2.2.6.tgz",
"dev": true
}, },
"inherits": { "inherits": {
"version": "2.0.1", "version": "2.0.3",
"from": "inherits@>=2.0.1 <2.1.0", "from": "inherits@>=2.0.1 <2.1.0",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"dev": true
}, },
"inquirer": { "inquirer": {
"version": "0.12.0", "version": "0.12.0",
"from": "inquirer@>=0.12.0 <0.13.0", "from": "inquirer@>=0.12.0 <0.13.0",
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz" "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz",
"dev": true
}, },
"interpret": { "interpret": {
"version": "1.0.1", "version": "1.0.1",
"from": "interpret@>=1.0.0 <2.0.0", "from": "interpret@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.1.tgz" "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.1.tgz",
"dev": true
}, },
"invariant": { "invariant": {
"version": "2.2.1", "version": "2.2.1",
"from": "invariant@>=2.2.0 <3.0.0", "from": "invariant@>=2.2.0 <3.0.0",
"resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.1.tgz" "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.1.tgz",
"dev": true
}, },
"invert-kv": { "invert-kv": {
"version": "1.0.0", "version": "1.0.0",
"from": "invert-kv@>=1.0.0 <2.0.0", "from": "invert-kv@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz" "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
"dev": true
}, },
"is-arrayish": { "is-arrayish": {
"version": "0.2.1", "version": "0.2.1",
"from": "is-arrayish@>=0.2.1 <0.3.0", "from": "is-arrayish@>=0.2.1 <0.3.0",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
"dev": true
}, },
"is-binary-path": { "is-binary-path": {
"version": "1.0.1", "version": "1.0.1",
"from": "is-binary-path@>=1.0.0 <2.0.0", "from": "is-binary-path@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz" "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
"dev": true,
"optional": true
}, },
"is-buffer": { "is-buffer": {
"version": "1.1.3", "version": "1.1.4",
"from": "is-buffer@>=1.0.2 <2.0.0", "from": "is-buffer@>=1.0.2 <2.0.0",
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.3.tgz" "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.4.tgz",
"dev": true
}, },
"is-builtin-module": { "is-builtin-module": {
"version": "1.0.0", "version": "1.0.0",
"from": "is-builtin-module@>=1.0.0 <2.0.0", "from": "is-builtin-module@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz" "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
"dev": true
}, },
"is-dotfile": { "is-dotfile": {
"version": "1.0.2", "version": "1.0.2",
"from": "is-dotfile@>=1.0.0 <2.0.0", "from": "is-dotfile@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.2.tgz" "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.2.tgz",
"dev": true
}, },
"is-equal-shallow": { "is-equal-shallow": {
"version": "0.1.3", "version": "0.1.3",
"from": "is-equal-shallow@>=0.1.3 <0.2.0", "from": "is-equal-shallow@>=0.1.3 <0.2.0",
"resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz" "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
"dev": true,
"optional": true
}, },
"is-extendable": { "is-extendable": {
"version": "0.1.1", "version": "0.1.1",
"from": "is-extendable@>=0.1.1 <0.2.0", "from": "is-extendable@>=0.1.1 <0.2.0",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
"dev": true,
"optional": true
}, },
"is-extglob": { "is-extglob": {
"version": "1.0.0", "version": "1.0.0",
"from": "is-extglob@>=1.0.0 <2.0.0", "from": "is-extglob@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz" "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
"dev": true
}, },
"is-finite": { "is-finite": {
"version": "1.0.1", "version": "1.0.2",
"from": "is-finite@>=1.0.0 <2.0.0", "from": "is-finite@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.1.tgz" "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
"dev": true
}, },
"is-fullwidth-code-point": { "is-fullwidth-code-point": {
"version": "1.0.0", "version": "1.0.0",
"from": "is-fullwidth-code-point@>=1.0.0 <2.0.0", "from": "is-fullwidth-code-point@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
"dev": true
}, },
"is-glob": { "is-glob": {
"version": "2.0.1", "version": "2.0.1",
"from": "is-glob@>=2.0.0 <3.0.0", "from": "is-glob@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz" "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
}, "dev": true
"is-integer": {
"version": "1.0.6",
"from": "is-integer@>=1.0.4 <2.0.0",
"resolved": "https://registry.npmjs.org/is-integer/-/is-integer-1.0.6.tgz"
}, },
"is-my-json-valid": { "is-my-json-valid": {
"version": "2.13.1", "version": "2.15.0",
"from": "is-my-json-valid@>=2.10.0 <3.0.0", "from": "is-my-json-valid@>=2.10.0 <3.0.0",
"resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz" "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz",
"dev": true
}, },
"is-number": { "is-number": {
"version": "2.1.0", "version": "2.1.0",
"from": "is-number@>=2.1.0 <3.0.0", "from": "is-number@>=2.1.0 <3.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz" "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
"dev": true
}, },
"is-path-cwd": { "is-path-cwd": {
"version": "1.0.0", "version": "1.0.0",
"from": "is-path-cwd@>=1.0.0 <2.0.0", "from": "is-path-cwd@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz" "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
"dev": true
}, },
"is-path-in-cwd": { "is-path-in-cwd": {
"version": "1.0.0", "version": "1.0.0",
"from": "is-path-in-cwd@>=1.0.0 <2.0.0", "from": "is-path-in-cwd@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz" "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz",
"dev": true
}, },
"is-path-inside": { "is-path-inside": {
"version": "1.0.0", "version": "1.0.0",
"from": "is-path-inside@>=1.0.0 <2.0.0", "from": "is-path-inside@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz" "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz",
"dev": true
}, },
"is-posix-bracket": { "is-posix-bracket": {
"version": "0.1.1", "version": "0.1.1",
"from": "is-posix-bracket@>=0.1.0 <0.2.0", "from": "is-posix-bracket@>=0.1.0 <0.2.0",
"resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz" "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
"dev": true,
"optional": true
}, },
"is-primitive": { "is-primitive": {
"version": "2.0.0", "version": "2.0.0",
"from": "is-primitive@>=2.0.0 <3.0.0", "from": "is-primitive@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz" "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
"dev": true
}, },
"is-property": { "is-property": {
"version": "1.0.2", "version": "1.0.2",
"from": "is-property@>=1.0.0 <2.0.0", "from": "is-property@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz" "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
"dev": true
}, },
"is-resolvable": { "is-resolvable": {
"version": "1.0.0", "version": "1.0.0",
"from": "is-resolvable@>=1.0.0 <2.0.0", "from": "is-resolvable@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz" "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz",
"dev": true
}, },
"is-stream": { "is-stream": {
"version": "1.1.0", "version": "1.1.0",
"from": "is-stream@>=1.0.1 <2.0.0", "from": "is-stream@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
"dev": true
}, },
"is-travis": { "is-travis": {
"version": "1.0.0", "version": "1.0.0",
"from": "is-travis@>=1.0.0 <2.0.0", "from": "is-travis@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/is-travis/-/is-travis-1.0.0.tgz" "resolved": "https://registry.npmjs.org/is-travis/-/is-travis-1.0.0.tgz",
"dev": true
}, },
"is-typedarray": { "is-typedarray": {
"version": "1.0.0", "version": "1.0.0",
"from": "is-typedarray@>=1.0.0 <1.1.0", "from": "is-typedarray@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
"dev": true
}, },
"is-utf8": { "is-utf8": {
"version": "0.2.1", "version": "0.2.1",
"from": "is-utf8@>=0.2.0 <0.3.0", "from": "is-utf8@>=0.2.0 <0.3.0",
"resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz" "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
"dev": true
}, },
"isarray": { "isarray": {
"version": "1.0.0", "version": "1.0.0",
"from": "isarray@>=1.0.0 <1.1.0", "from": "isarray@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"dev": true
}, },
"isexe": { "isexe": {
"version": "1.1.2", "version": "1.1.2",
"from": "isexe@>=1.1.1 <2.0.0", "from": "isexe@>=1.1.1 <2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz" "resolved": "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz",
"dev": true
}, },
"isobject": { "isobject": {
"version": "2.1.0", "version": "2.1.0",
"from": "isobject@>=2.0.0 <3.0.0", "from": "isobject@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz" "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
"dev": true,
"optional": true
}, },
"isstream": { "isstream": {
"version": "0.1.2", "version": "0.1.2",
"from": "isstream@>=0.1.2 <0.2.0", "from": "isstream@>=0.1.2 <0.2.0",
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
"dev": true
}, },
"jodid25519": { "jodid25519": {
"version": "1.0.2", "version": "1.0.2",
"from": "jodid25519@>=1.0.0 <2.0.0", "from": "jodid25519@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz" "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz",
"dev": true,
"optional": true
}, },
"jquery": { "jquery": {
"version": "3.1.0", "version": "3.1.1",
"from": "jquery@>=1.9.1 <4.0.0", "from": "jquery@>=1.9.1 <4.0.0",
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.1.0.tgz" "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.1.1.tgz"
}, },
"js-base64": { "js-base64": {
"version": "2.1.9", "version": "2.1.9",
"from": "js-base64@>=2.1.9 <3.0.0", "from": "js-base64@>=2.1.9 <3.0.0",
"resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz" "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz",
"dev": true
}, },
"js-tokens": { "js-tokens": {
"version": "2.0.0", "version": "2.0.0",
"from": "js-tokens@>=2.0.0 <3.0.0", "from": "js-tokens@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-2.0.0.tgz" "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-2.0.0.tgz",
"dev": true
}, },
"js-yaml": { "js-yaml": {
"version": "3.6.1", "version": "3.6.1",
"from": "js-yaml@>=3.5.1 <4.0.0", "from": "js-yaml@>=3.5.1 <4.0.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz" "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz",
"dev": true
}, },
"jsbn": { "jsbn": {
"version": "0.1.0", "version": "0.1.0",
"from": "jsbn@>=0.1.0 <0.2.0", "from": "jsbn@>=0.1.0 <0.2.0",
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz" "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz",
"dev": true,
"optional": true
}, },
"jscs": { "jscs": {
"version": "3.0.7", "version": "3.0.7",
"from": "jscs@>=3.0.4 <4.0.0", "from": "jscs@>=3.0.7 <4.0.0",
"resolved": "https://registry.npmjs.org/jscs/-/jscs-3.0.7.tgz", "resolved": "https://registry.npmjs.org/jscs/-/jscs-3.0.7.tgz",
"dev": true,
"dependencies": { "dependencies": {
"commander": {
"version": "2.9.0",
"from": "commander@>=2.9.0 <2.10.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
"dev": true
},
"glob": { "glob": {
"version": "5.0.15", "version": "5.0.15",
"from": "glob@>=5.0.1 <6.0.0", "from": "glob@>=5.0.1 <6.0.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz" "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
"dev": true
}, },
"js-yaml": { "js-yaml": {
"version": "3.4.6", "version": "3.4.6",
"from": "js-yaml@>=3.4.0 <3.5.0", "from": "js-yaml@>=3.4.0 <3.5.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.4.6.tgz" "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.4.6.tgz",
"dev": true
}, },
"lodash": { "lodash": {
"version": "3.10.1", "version": "3.10.1",
"from": "lodash@>=3.10.0 <3.11.0", "from": "lodash@>=3.10.0 <3.11.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz" "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
"dev": true
},
"natural-compare": {
"version": "1.2.2",
"from": "natural-compare@>=1.2.2 <1.3.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.2.2.tgz",
"dev": true
}, },
"strip-bom": { "strip-bom": {
"version": "2.0.0", "version": "2.0.0",
"from": "strip-bom@>=2.0.0 <3.0.0", "from": "strip-bom@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz" "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
"dev": true
}, },
"xmlbuilder": { "xmlbuilder": {
"version": "3.1.0", "version": "3.1.0",
"from": "xmlbuilder@>=3.1.0 <4.0.0", "from": "xmlbuilder@>=3.1.0 <4.0.0",
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-3.1.0.tgz" "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-3.1.0.tgz",
"dev": true
} }
} }
}, },
"jscs-jsdoc": { "jscs-jsdoc": {
"version": "2.0.0", "version": "2.0.0",
"from": "jscs-jsdoc@>=2.0.0 <3.0.0", "from": "jscs-jsdoc@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/jscs-jsdoc/-/jscs-jsdoc-2.0.0.tgz" "resolved": "https://registry.npmjs.org/jscs-jsdoc/-/jscs-jsdoc-2.0.0.tgz",
"dev": true
}, },
"jscs-preset-wikimedia": { "jscs-preset-wikimedia": {
"version": "1.0.0", "version": "1.0.0",
"from": "jscs-preset-wikimedia@>=1.0.0 <1.1.0", "from": "jscs-preset-wikimedia@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/jscs-preset-wikimedia/-/jscs-preset-wikimedia-1.0.0.tgz" "resolved": "https://registry.npmjs.org/jscs-preset-wikimedia/-/jscs-preset-wikimedia-1.0.0.tgz",
"dev": true
}, },
"jsdoctypeparser": { "jsdoctypeparser": {
"version": "1.2.0", "version": "1.2.0",
"from": "jsdoctypeparser@>=1.2.0 <1.3.0", "from": "jsdoctypeparser@>=1.2.0 <1.3.0",
"resolved": "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-1.2.0.tgz", "resolved": "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-1.2.0.tgz",
"dev": true,
"dependencies": { "dependencies": {
"lodash": { "lodash": {
"version": "3.10.1", "version": "3.10.1",
"from": "lodash@>=3.7.0 <4.0.0", "from": "lodash@>=3.7.0 <4.0.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz" "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
"dev": true
} }
} }
}, },
"jsesc": { "jsesc": {
"version": "0.5.0", "version": "0.5.0",
"from": "jsesc@>=0.5.0 <0.6.0", "from": "jsesc@>=0.5.0 <0.6.0",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
"dev": true
}, },
"jshint": { "jshint": {
"version": "2.8.0", "version": "2.8.0",
"from": "jshint@2.8.0", "from": "jshint@2.8.0",
"resolved": "https://registry.npmjs.org/jshint/-/jshint-2.8.0.tgz", "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.8.0.tgz",
"dev": true,
"dependencies": { "dependencies": {
"lodash": { "lodash": {
"version": "3.7.0", "version": "3.7.0",
"from": "lodash@>=3.7.0 <3.8.0", "from": "lodash@>=3.7.0 <3.8.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-3.7.0.tgz" "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.7.0.tgz",
"dev": true
}, },
"minimatch": { "minimatch": {
"version": "2.0.10", "version": "2.0.10",
"from": "minimatch@>=2.0.0 <2.1.0", "from": "minimatch@>=2.0.0 <2.1.0",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz" "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
"dev": true
}, },
"shelljs": { "shelljs": {
"version": "0.3.0", "version": "0.3.0",
"from": "shelljs@>=0.3.0 <0.4.0", "from": "shelljs@>=0.3.0 <0.4.0",
"resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz" "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz",
"dev": true
} }
} }
}, },
"json-schema": { "json-schema": {
"version": "0.2.2", "version": "0.2.3",
"from": "json-schema@0.2.2", "from": "json-schema@0.2.3",
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz" "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
"dev": true
}, },
"json-stable-stringify": { "json-stable-stringify": {
"version": "1.0.1", "version": "1.0.1",
"from": "json-stable-stringify@>=1.0.0 <2.0.0", "from": "json-stable-stringify@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz" "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
"dev": true
}, },
"json-stringify-safe": { "json-stringify-safe": {
"version": "5.0.1", "version": "5.0.1",
"from": "json-stringify-safe@>=5.0.1 <5.1.0", "from": "json-stringify-safe@>=5.0.1 <5.1.0",
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
"dev": true
}, },
"json5": { "json5": {
"version": "0.4.0", "version": "0.4.0",
"from": "json5@>=0.4.0 <0.5.0", "from": "json5@>=0.4.0 <0.5.0",
"resolved": "https://registry.npmjs.org/json5/-/json5-0.4.0.tgz" "resolved": "https://registry.npmjs.org/json5/-/json5-0.4.0.tgz",
"dev": true
}, },
"jsonfile": { "jsonfile": {
"version": "2.3.1", "version": "2.4.0",
"from": "jsonfile@>=2.1.0 <3.0.0", "from": "jsonfile@>=2.1.0 <3.0.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.3.1.tgz" "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
"dev": true
}, },
"jsonify": { "jsonify": {
"version": "0.0.0", "version": "0.0.0",
"from": "jsonify@>=0.0.0 <0.1.0", "from": "jsonify@>=0.0.0 <0.1.0",
"resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz" "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
"dev": true
}, },
"jsonlint": { "jsonlint": {
"version": "1.6.2", "version": "1.6.2",
"from": "jsonlint@>=1.6.2 <1.7.0", "from": "jsonlint@>=1.6.2 <1.7.0",
"resolved": "https://registry.npmjs.org/jsonlint/-/jsonlint-1.6.2.tgz" "resolved": "https://registry.npmjs.org/jsonlint/-/jsonlint-1.6.2.tgz",
"dev": true
}, },
"jsonpointer": { "jsonpointer": {
"version": "2.0.0", "version": "4.0.0",
"from": "jsonpointer@2.0.0", "from": "jsonpointer@>=4.0.0 <5.0.0",
"resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz" "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.0.tgz",
"dev": true
}, },
"jsprim": { "jsprim": {
"version": "1.3.0", "version": "1.3.1",
"from": "jsprim@>=1.2.2 <2.0.0", "from": "jsprim@>=1.2.2 <2.0.0",
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.0.tgz" "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.1.tgz",
"dev": true
}, },
"JSV": { "JSV": {
"version": "4.0.2", "version": "4.0.2",
"from": "JSV@>=4.0.0", "from": "JSV@>=4.0.0",
"resolved": "https://registry.npmjs.org/JSV/-/JSV-4.0.2.tgz" "resolved": "https://registry.npmjs.org/JSV/-/JSV-4.0.2.tgz",
"dev": true
}, },
"kew": { "kew": {
"version": "0.7.0", "version": "0.7.0",
"from": "kew@>=0.7.0 <0.8.0", "from": "kew@>=0.7.0 <0.8.0",
"resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz" "resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz",
"dev": true
}, },
"kind-of": { "kind-of": {
"version": "3.0.3", "version": "3.0.4",
"from": "kind-of@>=3.0.2 <4.0.0", "from": "kind-of@>=3.0.2 <4.0.0",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.0.3.tgz" "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.0.4.tgz",
"dev": true
}, },
"klaw": { "klaw": {
"version": "1.3.0", "version": "1.3.0",
"from": "klaw@>=1.0.0 <2.0.0", "from": "klaw@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.0.tgz" "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.0.tgz",
"dev": true
}, },
"lazy-cache": { "lazy-cache": {
"version": "1.0.4", "version": "1.0.4",
"from": "lazy-cache@>=1.0.3 <2.0.0", "from": "lazy-cache@>=1.0.3 <2.0.0",
"resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz" "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
"dev": true
}, },
"lazystream": { "lazystream": {
"version": "1.0.0", "version": "1.0.0",
"from": "lazystream@>=1.0.0 <2.0.0", "from": "lazystream@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz" "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
"dev": true
}, },
"lcid": { "lcid": {
"version": "1.0.0", "version": "1.0.0",
"from": "lcid@>=1.0.0 <2.0.0", "from": "lcid@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz" "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
}, "dev": true
"leven": {
"version": "1.0.2",
"from": "leven@>=1.0.2 <2.0.0",
"resolved": "https://registry.npmjs.org/leven/-/leven-1.0.2.tgz"
}, },
"levn": { "levn": {
"version": "0.3.0", "version": "0.3.0",
"from": "levn@>=0.3.0 <0.4.0", "from": "levn@>=0.3.0 <0.4.0",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
"dev": true
}, },
"livereload-js": { "livereload-js": {
"version": "2.2.2", "version": "2.2.2",
"from": "livereload-js@>=2.2.0 <3.0.0", "from": "livereload-js@>=2.2.0 <3.0.0",
"resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.2.2.tgz" "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.2.2.tgz",
"dev": true
}, },
"load-grunt-tasks": { "load-grunt-tasks": {
"version": "3.5.0", "version": "3.5.2",
"from": "load-grunt-tasks@>=3.4.0 <4.0.0", "from": "load-grunt-tasks@>=3.5.2 <4.0.0",
"resolved": "https://registry.npmjs.org/load-grunt-tasks/-/load-grunt-tasks-3.5.0.tgz" "resolved": "https://registry.npmjs.org/load-grunt-tasks/-/load-grunt-tasks-3.5.2.tgz",
"dev": true
}, },
"load-json-file": { "load-json-file": {
"version": "1.1.0", "version": "1.1.0",
"from": "load-json-file@>=1.0.0 <2.0.0", "from": "load-json-file@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
"dev": true,
"dependencies": { "dependencies": {
"strip-bom": { "strip-bom": {
"version": "2.0.0", "version": "2.0.0",
"from": "strip-bom@>=2.0.0 <3.0.0", "from": "strip-bom@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz" "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
"dev": true
} }
} }
}, },
"lodash": { "lodash": {
"version": "4.13.1", "version": "4.16.4",
"from": "lodash@>=4.2.0 <5.0.0", "from": "lodash@>=4.2.0 <5.0.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.13.1.tgz" "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.4.tgz",
}, "dev": true
"lodash._baseclone": {
"version": "4.5.7",
"from": "lodash._baseclone@>=4.5.0 <4.6.0",
"resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-4.5.7.tgz"
},
"lodash._baseiteratee": {
"version": "4.7.0",
"from": "lodash._baseiteratee@>=4.7.0 <4.8.0",
"resolved": "https://registry.npmjs.org/lodash._baseiteratee/-/lodash._baseiteratee-4.7.0.tgz"
},
"lodash._basetostring": {
"version": "4.12.0",
"from": "lodash._basetostring@>=4.12.0 <4.13.0",
"resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-4.12.0.tgz"
},
"lodash._stringtopath": {
"version": "4.8.0",
"from": "lodash._stringtopath@>=4.8.0 <4.9.0",
"resolved": "https://registry.npmjs.org/lodash._stringtopath/-/lodash._stringtopath-4.8.0.tgz"
}, },
"lodash.assign": { "lodash.assign": {
"version": "4.0.9", "version": "4.2.0",
"from": "lodash.assign@>=4.0.0 <5.0.0", "from": "lodash.assign@>=4.0.9 <5.0.0",
"resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.0.9.tgz" "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
"dev": true
}, },
"lodash.clonedeep": { "lodash.clonedeep": {
"version": "4.3.2", "version": "4.5.0",
"from": "lodash.clonedeep@>=4.3.2 <5.0.0", "from": "lodash.clonedeep@>=4.3.2 <5.0.0",
"resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.3.2.tgz" "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
}, "dev": true
"lodash.keys": {
"version": "4.0.7",
"from": "lodash.keys@>=4.0.0 <5.0.0",
"resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-4.0.7.tgz"
},
"lodash.keysin": {
"version": "4.1.4",
"from": "lodash.keysin@>=4.0.0 <5.0.0",
"resolved": "https://registry.npmjs.org/lodash.keysin/-/lodash.keysin-4.1.4.tgz"
}, },
"lodash.pickby": { "lodash.pickby": {
"version": "4.4.0", "version": "4.6.0",
"from": "lodash.pickby@>=4.0.0 <5.0.0", "from": "lodash.pickby@>=4.6.0 <5.0.0",
"resolved": "https://registry.npmjs.org/lodash.pickby/-/lodash.pickby-4.4.0.tgz" "resolved": "https://registry.npmjs.org/lodash.pickby/-/lodash.pickby-4.6.0.tgz",
}, "dev": true
"lodash.rest": {
"version": "4.0.3",
"from": "lodash.rest@>=4.0.0 <5.0.0",
"resolved": "https://registry.npmjs.org/lodash.rest/-/lodash.rest-4.0.3.tgz"
}, },
"longest": { "longest": {
"version": "1.0.1", "version": "1.0.1",
"from": "longest@>=1.0.1 <2.0.0", "from": "longest@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz" "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
"dev": true
}, },
"loose-envify": { "loose-envify": {
"version": "1.2.0", "version": "1.2.0",
"from": "loose-envify@>=1.0.0 <2.0.0", "from": "loose-envify@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.2.0.tgz", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.2.0.tgz",
"dev": true,
"dependencies": { "dependencies": {
"js-tokens": { "js-tokens": {
"version": "1.0.3", "version": "1.0.3",
"from": "js-tokens@>=1.0.1 <2.0.0", "from": "js-tokens@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-1.0.3.tgz" "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-1.0.3.tgz",
"dev": true
} }
} }
}, },
"loud-rejection": { "loud-rejection": {
"version": "1.6.0", "version": "1.6.0",
"from": "loud-rejection@>=1.0.0 <2.0.0", "from": "loud-rejection@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz" "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
"dev": true
}, },
"lru-cache": { "lru-cache": {
"version": "2.7.3", "version": "2.7.3",
"from": "lru-cache@>=2.5.0 <3.0.0", "from": "lru-cache@>=2.5.0 <3.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz" "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
"dev": true
}, },
"map-obj": { "map-obj": {
"version": "1.0.1", "version": "1.0.1",
"from": "map-obj@>=1.0.1 <2.0.0", "from": "map-obj@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz" "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
"dev": true
}, },
"maxmin": { "maxmin": {
"version": "1.1.0", "version": "1.1.0",
"from": "maxmin@>=1.1.0 <2.0.0", "from": "maxmin@>=1.1.0 <2.0.0",
"resolved": "https://registry.npmjs.org/maxmin/-/maxmin-1.1.0.tgz", "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-1.1.0.tgz",
"dev": true,
"dependencies": { "dependencies": {
"pretty-bytes": { "pretty-bytes": {
"version": "1.0.4", "version": "1.0.4",
"from": "pretty-bytes@>=1.0.0 <2.0.0", "from": "pretty-bytes@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz" "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz",
"dev": true
} }
} }
}, },
"media-typer": { "media-typer": {
"version": "0.3.0", "version": "0.3.0",
"from": "media-typer@0.3.0", "from": "media-typer@0.3.0",
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
"dev": true
}, },
"meow": { "meow": {
"version": "3.7.0", "version": "3.7.0",
"from": "meow@>=3.3.0 <4.0.0", "from": "meow@>=3.3.0 <4.0.0",
"resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
"dev": true,
"dependencies": { "dependencies": {
"minimist": { "minimist": {
"version": "1.2.0", "version": "1.2.0",
"from": "minimist@>=1.1.3 <2.0.0", "from": "minimist@>=1.1.3 <2.0.0",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz" "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"dev": true
} }
} }
}, },
"micromatch": { "micromatch": {
"version": "2.3.11", "version": "2.3.11",
"from": "micromatch@>=2.1.5 <3.0.0", "from": "micromatch@>=2.1.5 <3.0.0",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz" "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
"dev": true,
"optional": true
}, },
"mime": { "mime": {
"version": "1.3.4", "version": "1.3.4",
"from": "mime@1.3.4", "from": "mime@1.3.4",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz" "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz",
"dev": true
}, },
"mime-db": { "mime-db": {
"version": "1.23.0", "version": "1.24.0",
"from": "mime-db@>=1.23.0 <1.24.0", "from": "mime-db@>=1.24.0 <1.25.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz" "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.24.0.tgz",
"dev": true
}, },
"mime-types": { "mime-types": {
"version": "2.1.11", "version": "2.1.12",
"from": "mime-types@>=2.1.11 <2.2.0", "from": "mime-types@>=2.1.11 <2.2.0",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz" "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.12.tgz",
"dev": true
}, },
"minimatch": { "minimatch": {
"version": "3.0.2", "version": "3.0.3",
"from": "minimatch@>=3.0.2 <4.0.0", "from": "minimatch@>=3.0.2 <4.0.0",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.2.tgz" "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
"dev": true
}, },
"minimist": { "minimist": {
"version": "0.0.8", "version": "0.0.8",
"from": "minimist@0.0.8", "from": "minimist@0.0.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
"dev": true
}, },
"mkdirp": { "mkdirp": {
"version": "0.5.1", "version": "0.5.1",
"from": "mkdirp@>=0.5.0 <0.6.0", "from": "mkdirp@>=0.5.0 <0.6.0",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz" "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"dev": true
}, },
"morgan": { "morgan": {
"version": "1.7.0", "version": "1.7.0",
"from": "morgan@>=1.6.1 <2.0.0", "from": "morgan@>=1.6.1 <2.0.0",
"resolved": "https://registry.npmjs.org/morgan/-/morgan-1.7.0.tgz" "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.7.0.tgz",
"dev": true
}, },
"ms": { "ms": {
"version": "0.7.1", "version": "0.7.1",
"from": "ms@0.7.1", "from": "ms@0.7.1",
"resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
"dev": true
}, },
"multimatch": { "multimatch": {
"version": "2.1.0", "version": "2.1.0",
"from": "multimatch@>=2.0.0 <3.0.0", "from": "multimatch@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz" "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz",
"dev": true
}, },
"mute-stream": { "mute-stream": {
"version": "0.0.5", "version": "0.0.5",
"from": "mute-stream@0.0.5", "from": "mute-stream@0.0.5",
"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz" "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz",
"dev": true
}, },
"nan": { "nan": {
"version": "2.4.0", "version": "2.4.0",
"from": "nan@>=2.3.2 <3.0.0", "from": "nan@>=2.3.2 <3.0.0",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.4.0.tgz" "resolved": "https://registry.npmjs.org/nan/-/nan-2.4.0.tgz",
"dev": true
}, },
"natural-compare": { "natural-compare": {
"version": "1.2.2", "version": "1.4.0",
"from": "natural-compare@>=1.2.2 <1.3.0", "from": "natural-compare@>=1.4.0 <2.0.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.2.2.tgz" "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
"dev": true
}, },
"ncp": { "ncp": {
"version": "0.4.2", "version": "0.4.2",
"from": "ncp@>=0.4.0 <0.5.0", "from": "ncp@>=0.4.0 <0.5.0",
"resolved": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz" "resolved": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz",
"dev": true
}, },
"negotiator": { "negotiator": {
"version": "0.6.1", "version": "0.6.1",
"from": "negotiator@0.6.1", "from": "negotiator@0.6.1",
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz" "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
"dev": true
}, },
"neo-async": { "neo-async": {
"version": "1.8.2", "version": "1.8.2",
"from": "neo-async@>=1.0.0 <2.0.0", "from": "neo-async@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/neo-async/-/neo-async-1.8.2.tgz" "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-1.8.2.tgz",
"dev": true
}, },
"node-gyp": { "node-gyp": {
"version": "3.4.0", "version": "3.4.0",
"from": "node-gyp@>=3.3.1 <4.0.0", "from": "node-gyp@>=3.3.1 <4.0.0",
"resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.4.0.tgz" "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.4.0.tgz",
}, "dev": true,
"node-int64": { "dependencies": {
"version": "0.4.0", "npmlog": {
"from": "node-int64@>=0.4.0 <0.5.0", "version": "3.1.2",
"resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" "from": "npmlog@>=0.0.0 <1.0.0||>=1.0.0 <2.0.0||>=2.0.0 <3.0.0||>=3.0.0 <4.0.0",
"resolved": "https://registry.npmjs.org/npmlog/-/npmlog-3.1.2.tgz",
"dev": true
}
}
}, },
"node-sass": { "node-sass": {
"version": "3.8.0", "version": "3.10.1",
"from": "node-sass@>=3.7.0 <4.0.0", "from": "node-sass@>=3.7.0 <4.0.0",
"resolved": "https://registry.npmjs.org/node-sass/-/node-sass-3.8.0.tgz", "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-3.10.1.tgz",
"dev": true,
"dependencies": { "dependencies": {
"cross-spawn": { "cross-spawn": {
"version": "3.0.1", "version": "3.0.1",
"from": "cross-spawn@>=3.0.0 <4.0.0", "from": "cross-spawn@>=3.0.0 <4.0.0",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz" "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz",
"dev": true
}, },
"lru-cache": { "lru-cache": {
"version": "4.0.1", "version": "4.0.1",
"from": "lru-cache@>=4.0.1 <5.0.0", "from": "lru-cache@>=4.0.1 <5.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.1.tgz" "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.1.tgz",
"dev": true
} }
} }
}, },
"node-uuid": { "node-uuid": {
"version": "1.4.7", "version": "1.4.7",
"from": "node-uuid@>=1.4.7 <1.5.0", "from": "node-uuid@>=1.4.7 <1.5.0",
"resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz" "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz",
"dev": true
}, },
"nomnom": { "nomnom": {
"version": "1.8.1", "version": "1.8.1",
"from": "nomnom@>=1.5.0", "from": "nomnom@>=1.5.0",
"resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz", "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz",
"dev": true,
"dependencies": { "dependencies": {
"ansi-styles": { "ansi-styles": {
"version": "1.0.0", "version": "1.0.0",
"from": "ansi-styles@>=1.0.0 <1.1.0", "from": "ansi-styles@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz" "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz",
"dev": true
}, },
"chalk": { "chalk": {
"version": "0.4.0", "version": "0.4.0",
"from": "chalk@>=0.4.0 <0.5.0", "from": "chalk@>=0.4.0 <0.5.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz" "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz",
"dev": true
}, },
"strip-ansi": { "strip-ansi": {
"version": "0.1.1", "version": "0.1.1",
"from": "strip-ansi@>=0.1.0 <0.2.0", "from": "strip-ansi@>=0.1.0 <0.2.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz" "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz",
"dev": true
} }
} }
}, },
"nopt": { "nopt": {
"version": "3.0.6", "version": "3.0.6",
"from": "nopt@>=3.0.6 <3.1.0", "from": "nopt@>=3.0.6 <3.1.0",
"resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz" "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
"dev": true
}, },
"normalize-package-data": { "normalize-package-data": {
"version": "2.3.5", "version": "2.3.5",
"from": "normalize-package-data@>=2.3.4 <3.0.0", "from": "normalize-package-data@>=2.3.4 <3.0.0",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz" "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz",
"dev": true
}, },
"normalize-path": { "normalize-path": {
"version": "2.0.1", "version": "2.0.1",
"from": "normalize-path@>=2.0.0 <3.0.0", "from": "normalize-path@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.0.1.tgz" "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.0.1.tgz",
"dev": true
}, },
"normalize-range": { "normalize-range": {
"version": "0.1.2", "version": "0.1.2",
"from": "normalize-range@>=0.1.2 <0.2.0", "from": "normalize-range@>=0.1.2 <0.2.0",
"resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
"dev": true
}, },
"npmlog": { "npmlog": {
"version": "3.1.2", "version": "4.0.0",
"from": "npmlog@>=0.0.0 <1.0.0||>=1.0.0 <2.0.0||>=2.0.0 <3.0.0||>=3.0.0 <4.0.0", "from": "npmlog@>=4.0.0 <5.0.0",
"resolved": "https://registry.npmjs.org/npmlog/-/npmlog-3.1.2.tgz" "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.0.0.tgz",
"dev": true
}, },
"num2fraction": { "num2fraction": {
"version": "1.2.2", "version": "1.2.2",
"from": "num2fraction@>=1.2.2 <2.0.0", "from": "num2fraction@>=1.2.2 <2.0.0",
"resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz" "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
"dev": true
}, },
"number-is-nan": { "number-is-nan": {
"version": "1.0.0", "version": "1.0.1",
"from": "number-is-nan@>=1.0.0 <2.0.0", "from": "number-is-nan@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz" "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
"dev": true
}, },
"oauth-sign": { "oauth-sign": {
"version": "0.8.2", "version": "0.8.2",
"from": "oauth-sign@>=0.8.0 <0.9.0", "from": "oauth-sign@>=0.8.1 <0.9.0",
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz" "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
"dev": true
}, },
"object-assign": { "object-assign": {
"version": "4.1.0", "version": "4.1.0",
"from": "object-assign@>=4.0.1 <5.0.0", "from": "object-assign@>=4.0.1 <5.0.0",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz" "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz",
"dev": true
}, },
"object.omit": { "object.omit": {
"version": "2.0.0", "version": "2.0.0",
"from": "object.omit@>=2.0.0 <3.0.0", "from": "object.omit@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.0.tgz" "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.0.tgz",
"dev": true,
"optional": true
}, },
"on-finished": { "on-finished": {
"version": "2.3.0", "version": "2.3.0",
"from": "on-finished@>=2.3.0 <2.4.0", "from": "on-finished@>=2.3.0 <2.4.0",
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz" "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
"dev": true
}, },
"on-headers": { "on-headers": {
"version": "1.0.1", "version": "1.0.1",
"from": "on-headers@>=1.0.1 <1.1.0", "from": "on-headers@>=1.0.1 <1.1.0",
"resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz" "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz",
"dev": true
}, },
"once": { "once": {
"version": "1.3.3", "version": "1.4.0",
"from": "once@>=1.3.0 <2.0.0", "from": "once@>=1.3.0 <2.0.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz" "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"dev": true
}, },
"onetime": { "onetime": {
"version": "1.1.0", "version": "1.1.0",
"from": "onetime@>=1.0.0 <2.0.0", "from": "onetime@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz" "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
"dev": true
}, },
"opn": { "opn": {
"version": "4.0.2", "version": "4.0.2",
"from": "opn@>=4.0.0 <5.0.0", "from": "opn@>=4.0.0 <5.0.0",
"resolved": "https://registry.npmjs.org/opn/-/opn-4.0.2.tgz" "resolved": "https://registry.npmjs.org/opn/-/opn-4.0.2.tgz",
"dev": true
}, },
"optionator": { "optionator": {
"version": "0.8.1", "version": "0.8.2",
"from": "optionator@>=0.8.1 <0.9.0", "from": "optionator@>=0.8.1 <0.9.0",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.1.tgz" "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
"dev": true
}, },
"os-homedir": { "os-homedir": {
"version": "1.0.1", "version": "1.0.2",
"from": "os-homedir@>=1.0.0 <2.0.0", "from": "os-homedir@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.1.tgz" "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
"dev": true
}, },
"os-locale": { "os-locale": {
"version": "1.4.0", "version": "1.4.0",
"from": "os-locale@>=1.4.0 <2.0.0", "from": "os-locale@>=1.4.0 <2.0.0",
"resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz" "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
"dev": true
}, },
"os-tmpdir": { "os-tmpdir": {
"version": "1.0.1", "version": "1.0.2",
"from": "os-tmpdir@>=1.0.1 <2.0.0", "from": "os-tmpdir@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.1.tgz" "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
"dev": true
}, },
"osenv": { "osenv": {
"version": "0.1.3", "version": "0.1.3",
"from": "osenv@>=0.0.0 <1.0.0", "from": "osenv@>=0.0.0 <1.0.0",
"resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.3.tgz" "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.3.tgz",
}, "dev": true
"output-file-sync": {
"version": "1.1.2",
"from": "output-file-sync@>=1.1.0 <2.0.0",
"resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-1.1.2.tgz"
}, },
"package": { "package": {
"version": "1.0.1", "version": "1.0.1",
"from": "package@>=1.0.0 <1.2.0", "from": "package@>=1.0.0 <1.2.0",
"resolved": "https://registry.npmjs.org/package/-/package-1.0.1.tgz" "resolved": "https://registry.npmjs.org/package/-/package-1.0.1.tgz",
"dev": true
}, },
"pako": { "pako": {
"version": "0.2.8", "version": "0.2.9",
"from": "pako@>=0.2.0 <0.3.0", "from": "pako@>=0.2.0 <0.3.0",
"resolved": "https://registry.npmjs.org/pako/-/pako-0.2.8.tgz" "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz",
"dev": true
}, },
"parse-glob": { "parse-glob": {
"version": "3.0.4", "version": "3.0.4",
"from": "parse-glob@3.0.4", "from": "parse-glob@3.0.4",
"resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz" "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
"dev": true
}, },
"parse-json": { "parse-json": {
"version": "2.2.0", "version": "2.2.0",
"from": "parse-json@>=2.2.0 <3.0.0", "from": "parse-json@>=2.2.0 <3.0.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz" "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
"dev": true
}, },
"parse-ms": { "parse-ms": {
"version": "1.0.1", "version": "1.0.1",
"from": "parse-ms@>=1.0.0 <2.0.0", "from": "parse-ms@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-1.0.1.tgz" "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-1.0.1.tgz",
"dev": true
}, },
"parserlib": { "parserlib": {
"version": "0.2.5", "version": "0.2.5",
"from": "parserlib@>=0.2.2 <0.3.0", "from": "parserlib@>=0.2.2 <0.3.0",
"resolved": "https://registry.npmjs.org/parserlib/-/parserlib-0.2.5.tgz" "resolved": "https://registry.npmjs.org/parserlib/-/parserlib-0.2.5.tgz",
"dev": true
}, },
"parseurl": { "parseurl": {
"version": "1.3.1", "version": "1.3.1",
"from": "parseurl@>=1.3.1 <1.4.0", "from": "parseurl@>=1.3.1 <1.4.0",
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz" "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz",
"dev": true
}, },
"path-array": { "path-array": {
"version": "1.0.1", "version": "1.0.1",
"from": "path-array@>=1.0.0 <2.0.0", "from": "path-array@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/path-array/-/path-array-1.0.1.tgz" "resolved": "https://registry.npmjs.org/path-array/-/path-array-1.0.1.tgz",
"dev": true
}, },
"path-exists": { "path-exists": {
"version": "2.1.0", "version": "2.1.0",
"from": "path-exists@>=2.0.0 <3.0.0", "from": "path-exists@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz" "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
"dev": true
}, },
"path-is-absolute": { "path-is-absolute": {
"version": "1.0.0", "version": "1.0.1",
"from": "path-is-absolute@>=1.0.0 <2.0.0", "from": "path-is-absolute@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz" "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"dev": true
}, },
"path-is-inside": { "path-is-inside": {
"version": "1.0.1", "version": "1.0.2",
"from": "path-is-inside@>=1.0.1 <2.0.0", "from": "path-is-inside@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.1.tgz" "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
"dev": true
}, },
"path-type": { "path-type": {
"version": "1.1.0", "version": "1.1.0",
"from": "path-type@>=1.0.0 <2.0.0", "from": "path-type@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz" "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
"dev": true
}, },
"pathval": { "pathval": {
"version": "0.1.1", "version": "0.1.1",
"from": "pathval@>=0.1.1 <0.2.0", "from": "pathval@>=0.1.1 <0.2.0",
"resolved": "https://registry.npmjs.org/pathval/-/pathval-0.1.1.tgz" "resolved": "https://registry.npmjs.org/pathval/-/pathval-0.1.1.tgz",
"dev": true
}, },
"pend": { "pend": {
"version": "1.2.0", "version": "1.2.0",
"from": "pend@>=1.2.0 <1.3.0", "from": "pend@>=1.2.0 <1.3.0",
"resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz" "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
"dev": true
}, },
"phantomjs-prebuilt": { "phantomjs-prebuilt": {
"version": "2.1.7", "version": "2.1.13",
"from": "phantomjs-prebuilt@>=2.1.3 <3.0.0", "from": "phantomjs-prebuilt@>=2.1.3 <3.0.0",
"resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.7.tgz" "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.13.tgz",
"dev": true
}, },
"pify": { "pify": {
"version": "2.3.0", "version": "2.3.0",
"from": "pify@>=2.0.0 <3.0.0", "from": "pify@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"dev": true
}, },
"pinkie": { "pinkie": {
"version": "2.0.4", "version": "2.0.4",
"from": "pinkie@>=2.0.0 <3.0.0", "from": "pinkie@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
"dev": true
}, },
"pinkie-promise": { "pinkie-promise": {
"version": "2.0.1", "version": "2.0.1",
"from": "pinkie-promise@>=2.0.0 <3.0.0", "from": "pinkie-promise@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
"dev": true
}, },
"pkg-up": { "pkg-up": {
"version": "1.0.0", "version": "1.0.0",
"from": "pkg-up@>=1.0.0 <2.0.0", "from": "pkg-up@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-1.0.0.tgz" "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-1.0.0.tgz",
"dev": true
}, },
"pkginfo": { "pkginfo": {
"version": "0.4.0", "version": "0.4.0",
"from": "pkginfo@>=0.0.0 <1.0.0", "from": "pkginfo@>=0.0.0 <1.0.0",
"resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.0.tgz" "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.0.tgz",
"dev": true
}, },
"plur": { "plur": {
"version": "1.0.0", "version": "1.0.0",
"from": "plur@>=1.0.0 <2.0.0", "from": "plur@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/plur/-/plur-1.0.0.tgz" "resolved": "https://registry.npmjs.org/plur/-/plur-1.0.0.tgz",
"dev": true
}, },
"pluralize": { "pluralize": {
"version": "1.2.1", "version": "1.2.1",
"from": "pluralize@>=1.2.1 <2.0.0", "from": "pluralize@>=1.2.1 <2.0.0",
"resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz" "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz",
"dev": true
}, },
"portscanner": { "portscanner": {
"version": "1.0.0", "version": "1.0.0",
"from": "portscanner@>=1.0.0 <2.0.0", "from": "portscanner@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/portscanner/-/portscanner-1.0.0.tgz", "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-1.0.0.tgz",
"dev": true,
"dependencies": { "dependencies": {
"async": { "async": {
"version": "0.1.15", "version": "0.1.15",
"from": "async@0.1.15", "from": "async@0.1.15",
"resolved": "https://registry.npmjs.org/async/-/async-0.1.15.tgz" "resolved": "https://registry.npmjs.org/async/-/async-0.1.15.tgz",
"dev": true
} }
} }
}, },
"postcss": { "postcss": {
"version": "5.1.0", "version": "5.2.4",
"from": "postcss@>=5.0.21 <6.0.0", "from": "postcss@>=5.2.2 <6.0.0",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-5.1.0.tgz" "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.4.tgz",
"dev": true
}, },
"postcss-cli": { "postcss-cli": {
"version": "2.5.2", "version": "2.6.0",
"from": "postcss-cli@>=2.5.2 <3.0.0", "from": "postcss-cli@>=2.6.0 <3.0.0",
"resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-2.5.2.tgz", "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-2.6.0.tgz",
"dev": true,
"dependencies": { "dependencies": {
"cliui": { "cliui": {
"version": "3.2.0", "version": "3.2.0",
"from": "cliui@>=3.0.3 <4.0.0", "from": "cliui@>=3.2.0 <4.0.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz" "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
"dev": true
}, },
"glob": { "glob": {
"version": "5.0.15", "version": "6.0.4",
"from": "glob@>=5.0.3 <6.0.0", "from": "glob@>=6.0.1 <7.0.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz" "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
"dev": true
}, },
"globby": { "globby": {
"version": "3.0.1", "version": "4.1.0",
"from": "globby@>=3.0.1 <4.0.0", "from": "globby@>=4.1.0 <5.0.0",
"resolved": "https://registry.npmjs.org/globby/-/globby-3.0.1.tgz" "resolved": "https://registry.npmjs.org/globby/-/globby-4.1.0.tgz",
"dev": true
}, },
"pinkie": { "window-size": {
"version": "1.0.0", "version": "0.2.0",
"from": "pinkie@>=1.0.0 <2.0.0", "from": "window-size@>=0.2.0 <0.3.0",
"resolved": "https://registry.npmjs.org/pinkie/-/pinkie-1.0.0.tgz" "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz",
}, "dev": true
"pinkie-promise": {
"version": "1.0.0",
"from": "pinkie-promise@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-1.0.0.tgz"
}, },
"yargs": { "yargs": {
"version": "3.32.0", "version": "4.8.1",
"from": "yargs@>=3.32.0 <4.0.0", "from": "yargs@>=4.7.1 <5.0.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz" "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz",
"dev": true
} }
} }
}, },
"postcss-flexbugs-fixes": { "postcss-flexbugs-fixes": {
"version": "2.0.0", "version": "2.0.0",
"from": "postcss-flexbugs-fixes@>=2.0.0 <3.0.0", "from": "postcss-flexbugs-fixes@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-2.0.0.tgz" "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-2.0.0.tgz",
"dev": true
}, },
"postcss-value-parser": { "postcss-value-parser": {
"version": "3.3.0", "version": "3.3.0",
"from": "postcss-value-parser@>=3.2.3 <4.0.0", "from": "postcss-value-parser@>=3.2.3 <4.0.0",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz" "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz",
"dev": true
}, },
"prelude-ls": { "prelude-ls": {
"version": "1.1.2", "version": "1.1.2",
"from": "prelude-ls@>=1.1.2 <1.2.0", "from": "prelude-ls@>=1.1.2 <1.2.0",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
"dev": true
}, },
"preserve": { "preserve": {
"version": "0.2.0", "version": "0.2.0",
"from": "preserve@>=0.2.0 <0.3.0", "from": "preserve@>=0.2.0 <0.3.0",
"resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz" "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
"dev": true,
"optional": true
}, },
"pretty-bytes": { "pretty-bytes": {
"version": "3.0.1", "version": "3.0.1",
"from": "pretty-bytes@>=3.0.1 <4.0.0", "from": "pretty-bytes@>=3.0.1 <4.0.0",
"resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-3.0.1.tgz" "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-3.0.1.tgz",
"dev": true
}, },
"pretty-ms": { "pretty-ms": {
"version": "2.1.0", "version": "2.1.0",
"from": "pretty-ms@>=2.1.0 <3.0.0", "from": "pretty-ms@>=2.1.0 <3.0.0",
"resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-2.1.0.tgz" "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-2.1.0.tgz",
"dev": true
}, },
"private": { "private": {
"version": "0.1.6", "version": "0.1.6",
"from": "private@>=0.1.6 <0.2.0", "from": "private@>=0.1.5 <0.2.0",
"resolved": "https://registry.npmjs.org/private/-/private-0.1.6.tgz" "resolved": "https://registry.npmjs.org/private/-/private-0.1.6.tgz",
"dev": true
}, },
"process-nextick-args": { "process-nextick-args": {
"version": "1.0.7", "version": "1.0.7",
"from": "process-nextick-args@>=1.0.6 <1.1.0", "from": "process-nextick-args@>=1.0.6 <1.1.0",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz" "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
"dev": true
}, },
"progress": { "progress": {
"version": "1.1.8", "version": "1.1.8",
"from": "progress@>=1.1.8 <2.0.0", "from": "progress@>=1.1.8 <2.0.0",
"resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz" "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz",
"dev": true
}, },
"prompt": { "prompt": {
"version": "0.2.14", "version": "0.2.14",
"from": "prompt@>=0.2.14 <0.3.0", "from": "prompt@>=0.2.14 <0.3.0",
"resolved": "https://registry.npmjs.org/prompt/-/prompt-0.2.14.tgz" "resolved": "https://registry.npmjs.org/prompt/-/prompt-0.2.14.tgz",
"dev": true
}, },
"pseudomap": { "pseudomap": {
"version": "1.0.2", "version": "1.0.2",
"from": "pseudomap@>=1.0.1 <2.0.0", "from": "pseudomap@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz" "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
"dev": true
}, },
"q": { "q": {
"version": "1.4.1", "version": "1.4.1",
"from": "q@>=1.1.2 <2.0.0", "from": "q@>=1.4.1 <1.5.0",
"resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz" "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",
"dev": true
}, },
"qs": { "qs": {
"version": "5.2.0", "version": "6.2.1",
"from": "qs@>=5.2.0 <5.3.0", "from": "qs@>=6.2.0 <6.3.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-5.2.0.tgz" "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.1.tgz",
"dev": true
}, },
"randomatic": { "randomatic": {
"version": "1.1.5", "version": "1.1.5",
"from": "randomatic@>=1.1.3 <2.0.0", "from": "randomatic@>=1.1.3 <2.0.0",
"resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.5.tgz" "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.5.tgz",
"dev": true,
"optional": true
}, },
"range-parser": { "range-parser": {
"version": "1.2.0", "version": "1.2.0",
"from": "range-parser@>=1.2.0 <1.3.0", "from": "range-parser@>=1.2.0 <1.3.0",
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz" "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
"dev": true
}, },
"raw-body": { "raw-body": {
"version": "2.1.7", "version": "2.1.7",
"from": "raw-body@>=2.1.5 <2.2.0", "from": "raw-body@>=2.1.5 <2.2.0",
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz",
"dev": true,
"dependencies": { "dependencies": {
"bytes": { "bytes": {
"version": "2.4.0", "version": "2.4.0",
"from": "bytes@2.4.0", "from": "bytes@2.4.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz" "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz",
"dev": true
} }
} }
}, },
"read": { "read": {
"version": "1.0.7", "version": "1.0.7",
"from": "read@>=1.0.0 <1.1.0", "from": "read@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz" "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz",
"dev": true
}, },
"read-file-stdin": { "read-file-stdin": {
"version": "0.2.1", "version": "0.2.1",
"from": "read-file-stdin@>=0.2.0 <0.3.0", "from": "read-file-stdin@>=0.2.0 <0.3.0",
"resolved": "https://registry.npmjs.org/read-file-stdin/-/read-file-stdin-0.2.1.tgz" "resolved": "https://registry.npmjs.org/read-file-stdin/-/read-file-stdin-0.2.1.tgz",
}, "dev": true
"read-json-sync": {
"version": "1.1.1",
"from": "read-json-sync@>=1.1.0 <2.0.0",
"resolved": "https://registry.npmjs.org/read-json-sync/-/read-json-sync-1.1.1.tgz"
}, },
"read-pkg": { "read-pkg": {
"version": "1.1.0", "version": "1.1.0",
"from": "read-pkg@>=1.0.0 <2.0.0", "from": "read-pkg@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz" "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
"dev": true
}, },
"read-pkg-up": { "read-pkg-up": {
"version": "1.0.1", "version": "1.0.1",
"from": "read-pkg-up@>=1.0.1 <2.0.0", "from": "read-pkg-up@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz" "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
"dev": true
}, },
"readable-stream": { "readable-stream": {
"version": "2.0.6", "version": "2.0.6",
"from": "readable-stream@>=2.0.0 <2.1.0", "from": "readable-stream@>=2.0.0 <2.1.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz" "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
"dev": true
}, },
"readdirp": { "readdirp": {
"version": "2.1.0", "version": "2.1.0",
"from": "readdirp@>=2.0.0 <3.0.0", "from": "readdirp@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz" "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz",
"dev": true,
"optional": true
}, },
"readline2": { "readline2": {
"version": "1.0.1", "version": "1.0.1",
"from": "readline2@>=1.0.1 <2.0.0", "from": "readline2@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz" "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz",
}, "dev": true
"recast": {
"version": "0.10.33",
"from": "recast@0.10.33",
"resolved": "https://registry.npmjs.org/recast/-/recast-0.10.33.tgz",
"dependencies": {
"esprima-fb": {
"version": "15001.1001.0-dev-harmony-fb",
"from": "esprima-fb@~15001.1001.0-dev-harmony-fb",
"resolved": "http://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1001.0-dev-harmony-fb.tgz"
}
}
}, },
"rechoir": { "rechoir": {
"version": "0.6.2", "version": "0.6.2",
"from": "rechoir@>=0.6.2 <0.7.0", "from": "rechoir@>=0.6.2 <0.7.0",
"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
"dev": true
}, },
"redent": { "redent": {
"version": "1.0.0", "version": "1.0.0",
"from": "redent@>=1.0.0 <2.0.0", "from": "redent@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz" "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
"dev": true
}, },
"regenerate": { "regenerate": {
"version": "1.3.1", "version": "1.3.1",
"from": "regenerate@>=1.2.1 <2.0.0", "from": "regenerate@>=1.2.1 <2.0.0",
"resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.1.tgz" "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.1.tgz",
}, "dev": true
"regenerator": {
"version": "0.8.40",
"from": "regenerator@0.8.40",
"resolved": "https://registry.npmjs.org/regenerator/-/regenerator-0.8.40.tgz",
"dependencies": {
"esprima-fb": {
"version": "15001.1001.0-dev-harmony-fb",
"from": "esprima-fb@>=15001.1001.0-dev-harmony-fb <15001.1002.0",
"resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1001.0-dev-harmony-fb.tgz"
}
}
}, },
"regenerator-runtime": { "regenerator-runtime": {
"version": "0.9.5", "version": "0.9.5",
"from": "regenerator-runtime@>=0.9.5 <0.10.0", "from": "regenerator-runtime@>=0.9.5 <0.10.0",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz" "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz",
"dev": true
}, },
"regex-cache": { "regex-cache": {
"version": "0.4.3", "version": "0.4.3",
"from": "regex-cache@>=0.4.2 <0.5.0", "from": "regex-cache@>=0.4.2 <0.5.0",
"resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz" "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz",
"dev": true,
"optional": true
}, },
"regexpu": { "regexpu-core": {
"version": "1.3.0", "version": "2.0.0",
"from": "regexpu@>=1.3.0 <2.0.0", "from": "regexpu-core@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/regexpu/-/regexpu-1.3.0.tgz" "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz",
"dev": true
}, },
"regjsgen": { "regjsgen": {
"version": "0.2.0", "version": "0.2.0",
"from": "regjsgen@>=0.2.0 <0.3.0", "from": "regjsgen@>=0.2.0 <0.3.0",
"resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz" "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
"dev": true
}, },
"regjsparser": { "regjsparser": {
"version": "0.1.5", "version": "0.1.5",
"from": "regjsparser@>=0.1.4 <0.2.0", "from": "regjsparser@>=0.1.4 <0.2.0",
"resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz" "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
"dev": true
}, },
"repeat-element": { "repeat-element": {
"version": "1.1.2", "version": "1.1.2",
"from": "repeat-element@>=1.1.2 <2.0.0", "from": "repeat-element@>=1.1.2 <2.0.0",
"resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz" "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
"dev": true
}, },
"repeat-string": { "repeat-string": {
"version": "1.5.4", "version": "1.5.4",
"from": "repeat-string@>=1.5.2 <2.0.0", "from": "repeat-string@>=1.5.2 <2.0.0",
"resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.5.4.tgz" "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.5.4.tgz",
"dev": true
}, },
"repeating": { "repeating": {
"version": "2.0.1", "version": "2.0.1",
"from": "repeating@>=2.0.0 <3.0.0", "from": "repeating@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz" "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
"dev": true
}, },
"request": { "request": {
"version": "2.67.0", "version": "2.74.0",
"from": "request@>=2.67.0 <2.68.0", "from": "request@>=2.74.0 <2.75.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.67.0.tgz", "resolved": "https://registry.npmjs.org/request/-/request-2.74.0.tgz",
"dependencies": { "dev": true
"bl": {
"version": "1.0.3",
"from": "bl@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/bl/-/bl-1.0.3.tgz"
}
}
}, },
"request-progress": { "request-progress": {
"version": "2.0.1", "version": "2.0.1",
"from": "request-progress@>=2.0.1 <2.1.0", "from": "request-progress@>=2.0.1 <2.1.0",
"resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz" "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz",
"dev": true
}, },
"requestretry": { "requestretry": {
"version": "1.9.0", "version": "1.9.1",
"from": "requestretry@>=1.9.0 <1.10.0", "from": "requestretry@>=1.9.0 <1.10.0",
"resolved": "https://registry.npmjs.org/requestretry/-/requestretry-1.9.0.tgz" "resolved": "https://registry.npmjs.org/requestretry/-/requestretry-1.9.1.tgz",
"dev": true
}, },
"require-directory": { "require-directory": {
"version": "2.1.1", "version": "2.1.1",
"from": "require-directory@>=2.1.1 <3.0.0", "from": "require-directory@>=2.1.1 <3.0.0",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
"dev": true
}, },
"require-main-filename": { "require-main-filename": {
"version": "1.0.1", "version": "1.0.1",
"from": "require-main-filename@>=1.0.1 <2.0.0", "from": "require-main-filename@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz" "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
"dev": true
}, },
"require-uncached": { "require-uncached": {
"version": "1.0.2", "version": "1.0.2",
"from": "require-uncached@>=1.0.2 <2.0.0", "from": "require-uncached@>=1.0.2 <2.0.0",
"resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.2.tgz" "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.2.tgz",
"dev": true
}, },
"reserved-words": { "reserved-words": {
"version": "0.1.1", "version": "0.1.1",
"from": "reserved-words@>=0.1.1 <0.2.0", "from": "reserved-words@>=0.1.1 <0.2.0",
"resolved": "https://registry.npmjs.org/reserved-words/-/reserved-words-0.1.1.tgz" "resolved": "https://registry.npmjs.org/reserved-words/-/reserved-words-0.1.1.tgz",
"dev": true
}, },
"resolve": { "resolve": {
"version": "1.1.7", "version": "1.1.7",
"from": "resolve@>=1.1.0 <1.2.0", "from": "resolve@>=1.1.0 <1.2.0",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz" "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
"dev": true
}, },
"resolve-from": { "resolve-from": {
"version": "1.0.1", "version": "1.0.1",
"from": "resolve-from@>=1.0.0 <2.0.0", "from": "resolve-from@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz" "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz",
"dev": true
}, },
"resolve-pkg": { "resolve-pkg": {
"version": "0.1.0", "version": "0.1.0",
"from": "resolve-pkg@>=0.1.0 <0.2.0", "from": "resolve-pkg@>=0.1.0 <0.2.0",
"resolved": "https://registry.npmjs.org/resolve-pkg/-/resolve-pkg-0.1.0.tgz", "resolved": "https://registry.npmjs.org/resolve-pkg/-/resolve-pkg-0.1.0.tgz",
"dev": true,
"dependencies": { "dependencies": {
"resolve-from": { "resolve-from": {
"version": "2.0.0", "version": "2.0.0",
"from": "resolve-from@>=2.0.0 <3.0.0", "from": "resolve-from@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz" "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz",
"dev": true
} }
} }
}, },
"restore-cursor": { "restore-cursor": {
"version": "1.0.1", "version": "1.0.1",
"from": "restore-cursor@>=1.0.1 <2.0.0", "from": "restore-cursor@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz" "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz",
"dev": true
}, },
"revalidator": { "revalidator": {
"version": "0.1.8", "version": "0.1.8",
"from": "revalidator@>=0.1.0 <0.2.0", "from": "revalidator@>=0.1.0 <0.2.0",
"resolved": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz" "resolved": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz",
"dev": true
}, },
"right-align": { "right-align": {
"version": "0.1.3", "version": "0.1.3",
"from": "right-align@>=0.1.1 <0.2.0", "from": "right-align@>=0.1.1 <0.2.0",
"resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz" "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
"dev": true
}, },
"rimraf": { "rimraf": {
"version": "2.5.3", "version": "2.5.4",
"from": "rimraf@>=2.2.8 <3.0.0", "from": "rimraf@>=2.2.8 <3.0.0",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.3.tgz" "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz",
"dev": true
}, },
"run-async": { "run-async": {
"version": "0.1.0", "version": "0.1.0",
"from": "run-async@>=0.1.0 <0.2.0", "from": "run-async@>=0.1.0 <0.2.0",
"resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz" "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz",
"dev": true
}, },
"rx-lite": { "rx-lite": {
"version": "3.1.2", "version": "3.1.2",
"from": "rx-lite@>=3.1.2 <4.0.0", "from": "rx-lite@>=3.1.2 <4.0.0",
"resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz" "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz",
"dev": true
}, },
"sass-graph": { "sass-graph": {
"version": "2.1.2", "version": "2.1.2",
"from": "sass-graph@>=2.1.1 <3.0.0", "from": "sass-graph@>=2.1.1 <3.0.0",
"resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.1.2.tgz", "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.1.2.tgz",
"dev": true,
"dependencies": { "dependencies": {
"cliui": { "cliui": {
"version": "3.2.0", "version": "3.2.0",
"from": "cliui@>=3.2.0 <4.0.0", "from": "cliui@>=3.2.0 <4.0.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz" "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
"dev": true
}, },
"window-size": { "window-size": {
"version": "0.2.0", "version": "0.2.0",
"from": "window-size@>=0.2.0 <0.3.0", "from": "window-size@>=0.2.0 <0.3.0",
"resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz" "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz",
"dev": true
}, },
"yargs": { "yargs": {
"version": "4.8.0", "version": "4.8.1",
"from": "yargs@>=4.7.1 <5.0.0", "from": "yargs@>=4.7.1 <5.0.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.0.tgz" "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz",
"dev": true
} }
} }
}, },
@ -3537,636 +4329,653 @@
"version": "2.5.0", "version": "2.5.0",
"from": "sauce-tunnel@>=2.5.0 <2.6.0", "from": "sauce-tunnel@>=2.5.0 <2.6.0",
"resolved": "https://registry.npmjs.org/sauce-tunnel/-/sauce-tunnel-2.5.0.tgz", "resolved": "https://registry.npmjs.org/sauce-tunnel/-/sauce-tunnel-2.5.0.tgz",
"dependencies": { "dev": true
"qs": {
"version": "6.2.0",
"from": "qs@>=6.2.0 <6.3.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.2.0.tgz"
},
"request": {
"version": "2.73.0",
"from": "request@>=2.72.0 <3.0.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.73.0.tgz"
}
}
}, },
"saucelabs": { "saucelabs": {
"version": "1.2.0", "version": "1.2.0",
"from": "saucelabs@>=1.2.0 <1.3.0", "from": "saucelabs@>=1.2.0 <1.3.0",
"resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.2.0.tgz" "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.2.0.tgz",
"dev": true
}, },
"semver": { "semver": {
"version": "5.3.0", "version": "5.3.0",
"from": "semver@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0||>=4.0.0 <5.0.0||>=5.0.0 <6.0.0", "from": "semver@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0||>=4.0.0 <5.0.0||>=5.0.0 <6.0.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz" "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
"dev": true
}, },
"send": { "send": {
"version": "0.14.1", "version": "0.14.1",
"from": "send@0.14.1", "from": "send@0.14.1",
"resolved": "https://registry.npmjs.org/send/-/send-0.14.1.tgz" "resolved": "https://registry.npmjs.org/send/-/send-0.14.1.tgz",
"dev": true
}, },
"serve-index": { "serve-index": {
"version": "1.8.0", "version": "1.8.0",
"from": "serve-index@>=1.7.1 <2.0.0", "from": "serve-index@>=1.7.1 <2.0.0",
"resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.8.0.tgz" "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.8.0.tgz",
"dev": true
}, },
"serve-static": { "serve-static": {
"version": "1.11.1", "version": "1.11.1",
"from": "serve-static@>=1.10.0 <2.0.0", "from": "serve-static@>=1.10.0 <2.0.0",
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.11.1.tgz" "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.11.1.tgz",
"dev": true
}, },
"set-blocking": { "set-blocking": {
"version": "2.0.0", "version": "2.0.0",
"from": "set-blocking@>=2.0.0 <2.1.0", "from": "set-blocking@>=2.0.0 <2.1.0",
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
"dev": true
}, },
"set-immediate-shim": { "set-immediate-shim": {
"version": "1.0.1", "version": "1.0.1",
"from": "set-immediate-shim@>=1.0.0 <2.0.0", "from": "set-immediate-shim@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz" "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
"dev": true
}, },
"setprototypeof": { "setprototypeof": {
"version": "1.0.1", "version": "1.0.1",
"from": "setprototypeof@1.0.1", "from": "setprototypeof@1.0.1",
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.1.tgz" "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.1.tgz",
"dev": true
}, },
"shebang-regex": { "shebang-regex": {
"version": "1.0.0", "version": "1.0.0",
"from": "shebang-regex@>=1.0.0 <2.0.0", "from": "shebang-regex@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
"dev": true
}, },
"shelljs": { "shelljs": {
"version": "0.7.0", "version": "0.7.4",
"from": "shelljs@>=0.7.0 <0.8.0", "from": "shelljs@>=0.7.4 <0.8.0",
"resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.0.tgz" "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.4.tgz",
"dev": true
}, },
"shx": { "shx": {
"version": "0.1.2", "version": "0.1.4",
"from": "shx@>=0.1.2 <0.2.0", "from": "shx@>=0.1.4 <0.2.0",
"resolved": "https://registry.npmjs.org/shx/-/shx-0.1.2.tgz" "resolved": "https://registry.npmjs.org/shx/-/shx-0.1.4.tgz",
"dev": true,
"dependencies": {
"minimist": {
"version": "1.2.0",
"from": "minimist@>=1.2.0 <2.0.0",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"dev": true
}
}
}, },
"sigmund": { "sigmund": {
"version": "1.0.1", "version": "1.0.1",
"from": "sigmund@>=1.0.0 <1.1.0", "from": "sigmund@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz" "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
"dev": true
}, },
"signal-exit": { "signal-exit": {
"version": "3.0.0", "version": "3.0.1",
"from": "signal-exit@>=3.0.0 <4.0.0", "from": "signal-exit@>=3.0.0 <4.0.0",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.0.tgz" "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.1.tgz",
}, "dev": true
"simple-fmt": {
"version": "0.1.0",
"from": "simple-fmt@>=0.1.0 <0.2.0",
"resolved": "https://registry.npmjs.org/simple-fmt/-/simple-fmt-0.1.0.tgz"
},
"simple-is": {
"version": "0.2.0",
"from": "simple-is@>=0.2.0 <0.3.0",
"resolved": "https://registry.npmjs.org/simple-is/-/simple-is-0.2.0.tgz"
}, },
"slash": { "slash": {
"version": "1.0.0", "version": "1.0.0",
"from": "slash@>=1.0.0 <2.0.0", "from": "slash@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz" "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
"dev": true
}, },
"slice-ansi": { "slice-ansi": {
"version": "0.0.4", "version": "0.0.4",
"from": "slice-ansi@0.0.4", "from": "slice-ansi@0.0.4",
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz" "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz",
"dev": true
}, },
"sntp": { "sntp": {
"version": "1.0.9", "version": "1.0.9",
"from": "sntp@>=1.0.0 <2.0.0", "from": "sntp@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz" "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
"dev": true
}, },
"source-map": { "source-map": {
"version": "0.5.6", "version": "0.5.6",
"from": "source-map@>=0.5.6 <0.6.0", "from": "source-map@>=0.5.6 <0.6.0",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz" "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
"dev": true
}, },
"source-map-support": { "source-map-support": {
"version": "0.2.10", "version": "0.4.3",
"from": "source-map-support@>=0.2.10 <0.3.0", "from": "source-map-support@>=0.4.2 <0.5.0",
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.2.10.tgz", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.3.tgz",
"dependencies": { "dev": true
"source-map": {
"version": "0.1.32",
"from": "source-map@0.1.32",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz"
}
}
}, },
"spdx-correct": { "spdx-correct": {
"version": "1.0.2", "version": "1.0.2",
"from": "spdx-correct@>=1.0.0 <1.1.0", "from": "spdx-correct@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz" "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz",
}, "dev": true
"spdx-exceptions": {
"version": "1.0.5",
"from": "spdx-exceptions@>=1.0.4 <2.0.0",
"resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-1.0.5.tgz"
}, },
"spdx-expression-parse": { "spdx-expression-parse": {
"version": "1.0.2", "version": "1.0.4",
"from": "spdx-expression-parse@>=1.0.0 <1.1.0", "from": "spdx-expression-parse@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.2.tgz" "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz",
"dev": true
}, },
"spdx-license-ids": { "spdx-license-ids": {
"version": "1.2.1", "version": "1.2.2",
"from": "spdx-license-ids@>=1.0.2 <2.0.0", "from": "spdx-license-ids@>=1.0.2 <2.0.0",
"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.1.tgz" "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz",
"dev": true
}, },
"split": { "split": {
"version": "1.0.0", "version": "1.0.0",
"from": "split@>=1.0.0 <2.0.0", "from": "split@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/split/-/split-1.0.0.tgz" "resolved": "https://registry.npmjs.org/split/-/split-1.0.0.tgz",
"dev": true
}, },
"sprintf-js": { "sprintf-js": {
"version": "1.0.3", "version": "1.0.3",
"from": "sprintf-js@>=1.0.2 <1.1.0", "from": "sprintf-js@>=1.0.2 <1.1.0",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
"dev": true
}, },
"sshpk": { "sshpk": {
"version": "1.8.3", "version": "1.10.1",
"from": "sshpk@>=1.7.0 <2.0.0", "from": "sshpk@>=1.7.0 <2.0.0",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.8.3.tgz", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.10.1.tgz",
"dev": true,
"dependencies": { "dependencies": {
"assert-plus": { "assert-plus": {
"version": "1.0.0", "version": "1.0.0",
"from": "assert-plus@>=1.0.0 <2.0.0", "from": "assert-plus@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"dev": true
} }
} }
}, },
"stable": {
"version": "0.1.5",
"from": "stable@>=0.1.3 <0.2.0",
"resolved": "https://registry.npmjs.org/stable/-/stable-0.1.5.tgz"
},
"stack-trace": { "stack-trace": {
"version": "0.0.9", "version": "0.0.9",
"from": "stack-trace@>=0.0.0 <0.1.0", "from": "stack-trace@>=0.0.0 <0.1.0",
"resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz" "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz",
"dev": true
}, },
"statuses": { "statuses": {
"version": "1.3.0", "version": "1.3.0",
"from": "statuses@>=1.3.0 <2.0.0", "from": "statuses@>=1.3.0 <1.4.0",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.0.tgz" "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.0.tgz",
"dev": true
}, },
"stream-buffers": { "stream-buffers": {
"version": "2.2.0", "version": "2.2.0",
"from": "stream-buffers@>=2.1.0 <3.0.0", "from": "stream-buffers@>=2.1.0 <3.0.0",
"resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz" "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz",
"dev": true
}, },
"string_decoder": { "string_decoder": {
"version": "0.10.31", "version": "0.10.31",
"from": "string_decoder@>=0.10.0 <0.11.0", "from": "string_decoder@>=0.10.0 <0.11.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"dev": true
}, },
"string-width": { "string-width": {
"version": "1.0.1", "version": "1.0.2",
"from": "string-width@>=1.0.1 <2.0.0", "from": "string-width@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.1.tgz" "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
}, "dev": true
"stringmap": {
"version": "0.2.2",
"from": "stringmap@>=0.2.2 <0.3.0",
"resolved": "https://registry.npmjs.org/stringmap/-/stringmap-0.2.2.tgz"
},
"stringset": {
"version": "0.2.1",
"from": "stringset@>=0.2.1 <0.3.0",
"resolved": "https://registry.npmjs.org/stringset/-/stringset-0.2.1.tgz"
}, },
"stringstream": { "stringstream": {
"version": "0.0.5", "version": "0.0.5",
"from": "stringstream@>=0.0.4 <0.1.0", "from": "stringstream@>=0.0.4 <0.1.0",
"resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz" "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
"dev": true
}, },
"strip-ansi": { "strip-ansi": {
"version": "3.0.1", "version": "3.0.1",
"from": "strip-ansi@>=3.0.0 <4.0.0", "from": "strip-ansi@>=3.0.0 <4.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"dev": true
}, },
"strip-bom": { "strip-bom": {
"version": "3.0.0", "version": "3.0.0",
"from": "strip-bom@>=3.0.0 <4.0.0", "from": "strip-bom@>=3.0.0 <4.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
"dev": true
}, },
"strip-indent": { "strip-indent": {
"version": "1.0.1", "version": "1.0.1",
"from": "strip-indent@>=1.0.1 <2.0.0", "from": "strip-indent@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz" "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
"dev": true
}, },
"strip-json-comments": { "strip-json-comments": {
"version": "1.0.4", "version": "1.0.4",
"from": "strip-json-comments@>=1.0.1 <1.1.0", "from": "strip-json-comments@>=1.0.1 <1.1.0",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz" "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz",
"dev": true
}, },
"supports-color": { "supports-color": {
"version": "3.1.2", "version": "3.1.2",
"from": "supports-color@>=3.1.2 <4.0.0", "from": "supports-color@>=3.1.2 <4.0.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz" "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz",
"dev": true
}, },
"table": { "table": {
"version": "3.7.8", "version": "3.8.0",
"from": "table@>=3.7.8 <4.0.0", "from": "table@>=3.7.8 <4.0.0",
"resolved": "https://registry.npmjs.org/table/-/table-3.7.8.tgz" "resolved": "https://registry.npmjs.org/table/-/table-3.8.0.tgz",
"dev": true
}, },
"tar": { "tar": {
"version": "2.2.1", "version": "2.2.1",
"from": "tar@>=2.0.0 <3.0.0", "from": "tar@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz" "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
"dev": true
}, },
"tar-stream": { "tar-stream": {
"version": "1.5.2", "version": "1.5.2",
"from": "tar-stream@>=1.5.0 <2.0.0", "from": "tar-stream@>=1.5.0 <2.0.0",
"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.2.tgz" "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.2.tgz",
"dev": true
}, },
"temporary": { "temporary": {
"version": "0.0.8", "version": "0.0.8",
"from": "temporary@>=0.0.8 <0.0.9", "from": "temporary@>=0.0.8 <0.0.9",
"resolved": "https://registry.npmjs.org/temporary/-/temporary-0.0.8.tgz" "resolved": "https://registry.npmjs.org/temporary/-/temporary-0.0.8.tgz",
"dev": true
}, },
"tether": { "tether": {
"version": "1.3.3", "version": "1.3.7",
"from": "tether@>=1.1.1 <2.0.0", "from": "tether@>=1.3.7 <2.0.0",
"resolved": "https://registry.npmjs.org/tether/-/tether-1.3.3.tgz" "resolved": "https://registry.npmjs.org/tether/-/tether-1.3.7.tgz"
}, },
"text-table": { "text-table": {
"version": "0.2.0", "version": "0.2.0",
"from": "text-table@>=0.2.0 <0.3.0", "from": "text-table@>=0.2.0 <0.3.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
"dev": true
}, },
"throttleit": { "throttleit": {
"version": "1.0.0", "version": "1.0.0",
"from": "throttleit@>=1.0.0 <2.0.0", "from": "throttleit@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz" "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz",
"dev": true
}, },
"through": { "through": {
"version": "2.3.8", "version": "2.3.8",
"from": "through@>=2.3.6 <3.0.0", "from": "through@>=2.3.6 <3.0.0",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz" "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
"dev": true
}, },
"time-grunt": { "time-grunt": {
"version": "1.3.0", "version": "1.4.0",
"from": "time-grunt@>=1.2.1 <2.0.0", "from": "time-grunt@>=1.4.0 <2.0.0",
"resolved": "https://registry.npmjs.org/time-grunt/-/time-grunt-1.3.0.tgz" "resolved": "https://registry.npmjs.org/time-grunt/-/time-grunt-1.4.0.tgz",
"dev": true
},
"time-zone": {
"version": "0.1.0",
"from": "time-zone@>=0.1.0 <0.2.0",
"resolved": "https://registry.npmjs.org/time-zone/-/time-zone-0.1.0.tgz",
"dev": true
}, },
"tiny-lr": { "tiny-lr": {
"version": "0.2.1", "version": "0.2.1",
"from": "tiny-lr@>=0.2.1 <0.3.0", "from": "tiny-lr@>=0.2.1 <0.3.0",
"resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.2.1.tgz", "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.2.1.tgz",
"dev": true,
"dependencies": { "dependencies": {
"qs": { "qs": {
"version": "5.1.0", "version": "5.1.0",
"from": "qs@>=5.1.0 <5.2.0", "from": "qs@>=5.1.0 <5.2.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-5.1.0.tgz" "resolved": "https://registry.npmjs.org/qs/-/qs-5.1.0.tgz",
"dev": true
} }
} }
}, },
"tmp": { "tmp": {
"version": "0.0.28", "version": "0.0.28",
"from": "tmp@>=0.0.28 <0.0.29", "from": "tmp@>=0.0.28 <0.0.29",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.28.tgz" "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.28.tgz",
"dev": true
}, },
"to-double-quotes": { "to-double-quotes": {
"version": "2.0.0", "version": "2.0.0",
"from": "to-double-quotes@>=2.0.0 <3.0.0", "from": "to-double-quotes@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/to-double-quotes/-/to-double-quotes-2.0.0.tgz" "resolved": "https://registry.npmjs.org/to-double-quotes/-/to-double-quotes-2.0.0.tgz",
"dev": true
}, },
"to-fast-properties": { "to-fast-properties": {
"version": "1.0.2", "version": "1.0.2",
"from": "to-fast-properties@>=1.0.1 <2.0.0", "from": "to-fast-properties@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz" "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz",
"dev": true
}, },
"to-single-quotes": { "to-single-quotes": {
"version": "2.0.1", "version": "2.0.1",
"from": "to-single-quotes@>=2.0.0 <3.0.0", "from": "to-single-quotes@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/to-single-quotes/-/to-single-quotes-2.0.1.tgz" "resolved": "https://registry.npmjs.org/to-single-quotes/-/to-single-quotes-2.0.1.tgz",
"dev": true
}, },
"tough-cookie": { "tough-cookie": {
"version": "2.2.2", "version": "2.3.1",
"from": "tough-cookie@>=2.2.0 <2.3.0", "from": "tough-cookie@>=2.3.0 <2.4.0",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.2.tgz" "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.1.tgz",
"dev": true
}, },
"trim-newlines": { "trim-newlines": {
"version": "1.0.0", "version": "1.0.0",
"from": "trim-newlines@>=1.0.0 <2.0.0", "from": "trim-newlines@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz" "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
}, "dev": true
"trim-right": {
"version": "1.0.1",
"from": "trim-right@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz"
},
"try-resolve": {
"version": "1.0.1",
"from": "try-resolve@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/try-resolve/-/try-resolve-1.0.1.tgz"
}, },
"tryit": { "tryit": {
"version": "1.0.2", "version": "1.0.2",
"from": "tryit@>=1.0.1 <2.0.0", "from": "tryit@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.2.tgz" "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.2.tgz",
}, "dev": true
"tryor": {
"version": "0.1.2",
"from": "tryor@>=0.1.2 <0.2.0",
"resolved": "https://registry.npmjs.org/tryor/-/tryor-0.1.2.tgz"
}, },
"tunnel-agent": { "tunnel-agent": {
"version": "0.4.3", "version": "0.4.3",
"from": "tunnel-agent@>=0.4.1 <0.5.0", "from": "tunnel-agent@>=0.4.1 <0.5.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz" "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz",
}, "dev": true
"tv4": {
"version": "1.2.7",
"from": "tv4@>=1.2.7 <2.0.0",
"resolved": "https://registry.npmjs.org/tv4/-/tv4-1.2.7.tgz"
}, },
"tweetnacl": { "tweetnacl": {
"version": "0.13.3", "version": "0.14.3",
"from": "tweetnacl@>=0.13.0 <0.14.0", "from": "tweetnacl@>=0.14.0 <0.15.0",
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.3.tgz" "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.3.tgz",
"dev": true,
"optional": true
}, },
"type-check": { "type-check": {
"version": "0.3.2", "version": "0.3.2",
"from": "type-check@>=0.3.2 <0.4.0", "from": "type-check@>=0.3.2 <0.4.0",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
"dev": true
}, },
"type-is": { "type-is": {
"version": "1.6.13", "version": "1.6.13",
"from": "type-is@>=1.6.10 <1.7.0", "from": "type-is@>=1.6.10 <1.7.0",
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.13.tgz" "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.13.tgz",
"dev": true
}, },
"typedarray": { "typedarray": {
"version": "0.0.6", "version": "0.0.6",
"from": "typedarray@>=0.0.5 <0.1.0", "from": "typedarray@>=0.0.5 <0.1.0",
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
"dev": true
}, },
"uglify-js": { "uglify-js": {
"version": "2.6.4", "version": "2.7.3",
"from": "uglify-js@>=2.6.2 <2.7.0", "from": "uglify-js@>=2.7.0 <2.8.0",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.6.4.tgz", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.3.tgz",
"dev": true,
"dependencies": { "dependencies": {
"async": { "async": {
"version": "0.2.10", "version": "0.2.10",
"from": "async@>=0.2.6 <0.3.0", "from": "async@>=0.2.6 <0.3.0",
"resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
}, "dev": true
"camelcase": {
"version": "1.2.1",
"from": "camelcase@>=1.0.2 <2.0.0",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz"
},
"window-size": {
"version": "0.1.0",
"from": "window-size@0.1.0",
"resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz"
},
"yargs": {
"version": "3.10.0",
"from": "yargs@>=3.10.0 <3.11.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz"
} }
} }
}, },
"uglify-to-browserify": { "uglify-to-browserify": {
"version": "1.0.2", "version": "1.0.2",
"from": "uglify-to-browserify@>=1.0.0 <1.1.0", "from": "uglify-to-browserify@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz" "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
"dev": true
}, },
"underscore": { "underscore": {
"version": "1.6.0", "version": "1.6.0",
"from": "underscore@>=1.6.0 <1.7.0", "from": "underscore@>=1.6.0 <1.7.0",
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz" "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz",
"dev": true
}, },
"underscore.string": { "underscore.string": {
"version": "3.2.3", "version": "3.2.3",
"from": "underscore.string@>=3.2.3 <3.3.0", "from": "underscore.string@>=3.2.3 <3.3.0",
"resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.2.3.tgz" "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.2.3.tgz",
"dev": true
}, },
"unpipe": { "unpipe": {
"version": "1.0.0", "version": "1.0.0",
"from": "unpipe@>=1.0.0 <1.1.0", "from": "unpipe@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
"dev": true
}, },
"uri-path": { "uri-path": {
"version": "1.0.0", "version": "1.0.0",
"from": "uri-path@>=1.0.0 <2.0.0", "from": "uri-path@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/uri-path/-/uri-path-1.0.0.tgz" "resolved": "https://registry.npmjs.org/uri-path/-/uri-path-1.0.0.tgz",
"dev": true
}, },
"user-home": { "user-home": {
"version": "2.0.0", "version": "2.0.0",
"from": "user-home@>=2.0.0 <3.0.0", "from": "user-home@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz" "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz",
"dev": true
}, },
"util-deprecate": { "util-deprecate": {
"version": "1.0.2", "version": "1.0.2",
"from": "util-deprecate@>=1.0.1 <1.1.0", "from": "util-deprecate@>=1.0.1 <1.1.0",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"dev": true
}, },
"utile": { "utile": {
"version": "0.2.1", "version": "0.2.1",
"from": "utile@>=0.2.0 <0.3.0", "from": "utile@>=0.2.0 <0.3.0",
"resolved": "https://registry.npmjs.org/utile/-/utile-0.2.1.tgz", "resolved": "https://registry.npmjs.org/utile/-/utile-0.2.1.tgz",
"dev": true,
"dependencies": { "dependencies": {
"async": { "async": {
"version": "0.2.10", "version": "0.2.10",
"from": "async@>=0.2.9 <0.3.0", "from": "async@>=0.2.9 <0.3.0",
"resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
"dev": true
} }
} }
}, },
"utils-merge": { "utils-merge": {
"version": "1.0.0", "version": "1.0.0",
"from": "utils-merge@1.0.0", "from": "utils-merge@1.0.0",
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz" "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz",
"dev": true
}, },
"uuid": { "uuid": {
"version": "2.0.2", "version": "2.0.3",
"from": "uuid@>=2.0.2 <3.0.0", "from": "uuid@>=2.0.2 <3.0.0",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.2.tgz" "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz",
"dev": true
}, },
"validate-npm-package-license": { "validate-npm-package-license": {
"version": "3.0.1", "version": "3.0.1",
"from": "validate-npm-package-license@>=3.0.1 <4.0.0", "from": "validate-npm-package-license@>=3.0.1 <4.0.0",
"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz" "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz",
"dev": true
}, },
"verror": { "verror": {
"version": "1.3.6", "version": "1.3.6",
"from": "verror@1.3.6", "from": "verror@1.3.6",
"resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz" "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz",
"dev": true
}, },
"vow": { "vow": {
"version": "0.4.12", "version": "0.4.12",
"from": "vow@>=0.4.8 <0.5.0", "from": "vow@>=0.4.8 <0.5.0",
"resolved": "https://registry.npmjs.org/vow/-/vow-0.4.12.tgz" "resolved": "https://registry.npmjs.org/vow/-/vow-0.4.12.tgz",
"dev": true
}, },
"vow-fs": { "vow-fs": {
"version": "0.3.5", "version": "0.3.6",
"from": "vow-fs@>=0.3.4 <0.4.0", "from": "vow-fs@>=0.3.4 <0.4.0",
"resolved": "https://registry.npmjs.org/vow-fs/-/vow-fs-0.3.5.tgz", "resolved": "https://registry.npmjs.org/vow-fs/-/vow-fs-0.3.6.tgz",
"dependencies": { "dev": true
"glob": {
"version": "4.5.3",
"from": "glob@>=4.3.1 <5.0.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz"
},
"minimatch": {
"version": "2.0.10",
"from": "minimatch@>=2.0.1 <3.0.0",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz"
}
}
}, },
"vow-queue": { "vow-queue": {
"version": "0.4.2", "version": "0.4.2",
"from": "vow-queue@>=0.4.1 <0.5.0", "from": "vow-queue@>=0.4.1 <0.5.0",
"resolved": "https://registry.npmjs.org/vow-queue/-/vow-queue-0.4.2.tgz" "resolved": "https://registry.npmjs.org/vow-queue/-/vow-queue-0.4.2.tgz",
"dev": true
}, },
"websocket-driver": { "websocket-driver": {
"version": "0.6.5", "version": "0.6.5",
"from": "websocket-driver@>=0.5.1", "from": "websocket-driver@>=0.5.1",
"resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz" "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz",
"dev": true
}, },
"websocket-extensions": { "websocket-extensions": {
"version": "0.1.1", "version": "0.1.1",
"from": "websocket-extensions@>=0.1.1", "from": "websocket-extensions@>=0.1.1",
"resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.1.tgz" "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.1.tgz",
"dev": true
}, },
"when": { "when": {
"version": "3.7.7", "version": "3.7.7",
"from": "when@>=3.7.5 <3.8.0", "from": "when@>=3.7.5 <3.8.0",
"resolved": "https://registry.npmjs.org/when/-/when-3.7.7.tgz" "resolved": "https://registry.npmjs.org/when/-/when-3.7.7.tgz",
"dev": true
}, },
"which": { "which": {
"version": "1.2.10", "version": "1.2.11",
"from": "which@>=1.2.1 <1.3.0", "from": "which@>=1.2.1 <1.3.0",
"resolved": "https://registry.npmjs.org/which/-/which-1.2.10.tgz" "resolved": "https://registry.npmjs.org/which/-/which-1.2.11.tgz",
"dev": true
}, },
"which-module": { "which-module": {
"version": "1.0.0", "version": "1.0.0",
"from": "which-module@>=1.0.0 <2.0.0", "from": "which-module@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz" "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
"dev": true
}, },
"wide-align": { "wide-align": {
"version": "1.1.0", "version": "1.1.0",
"from": "wide-align@>=1.1.0 <2.0.0", "from": "wide-align@>=1.1.0 <2.0.0",
"resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.0.tgz" "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.0.tgz",
"dev": true
}, },
"window-size": { "window-size": {
"version": "0.1.4", "version": "0.1.0",
"from": "window-size@>=0.1.2 <0.2.0", "from": "window-size@0.1.0",
"resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz" "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
"dev": true
}, },
"winston": { "winston": {
"version": "0.8.3", "version": "0.8.3",
"from": "winston@>=0.8.0 <0.9.0", "from": "winston@>=0.8.0 <0.9.0",
"resolved": "https://registry.npmjs.org/winston/-/winston-0.8.3.tgz", "resolved": "https://registry.npmjs.org/winston/-/winston-0.8.3.tgz",
"dev": true,
"dependencies": { "dependencies": {
"async": { "async": {
"version": "0.2.10", "version": "0.2.10",
"from": "async@>=0.2.0 <0.3.0", "from": "async@>=0.2.0 <0.3.0",
"resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
"dev": true
}, },
"colors": { "colors": {
"version": "0.6.2", "version": "0.6.2",
"from": "colors@>=0.6.0 <0.7.0", "from": "colors@>=0.6.0 <0.7.0",
"resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz" "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz",
"dev": true
}, },
"pkginfo": { "pkginfo": {
"version": "0.3.1", "version": "0.3.1",
"from": "pkginfo@>=0.3.0 <0.4.0", "from": "pkginfo@>=0.3.0 <0.4.0",
"resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.1.tgz" "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.1.tgz",
"dev": true
} }
} }
}, },
"wordwrap": { "wordwrap": {
"version": "1.0.0", "version": "1.0.0",
"from": "wordwrap@>=1.0.0 <1.1.0", "from": "wordwrap@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz" "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
"dev": true
}, },
"wrap-ansi": { "wrap-ansi": {
"version": "2.0.0", "version": "2.0.0",
"from": "wrap-ansi@>=2.0.0 <3.0.0", "from": "wrap-ansi@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.0.0.tgz" "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.0.0.tgz",
"dev": true
}, },
"wrappy": { "wrappy": {
"version": "1.0.2", "version": "1.0.2",
"from": "wrappy@>=1.0.0 <2.0.0", "from": "wrappy@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"dev": true
}, },
"write": { "write": {
"version": "0.2.1", "version": "0.2.1",
"from": "write@>=0.2.1 <0.3.0", "from": "write@>=0.2.1 <0.3.0",
"resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz" "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz",
"dev": true
}, },
"xml": { "xml": {
"version": "1.0.0", "version": "1.0.0",
"from": "xml@1.0.0", "from": "xml@1.0.0",
"resolved": "https://registry.npmjs.org/xml/-/xml-1.0.0.tgz" "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.0.tgz",
"dev": true
}, },
"xmlbuilder": { "xmlbuilder": {
"version": "2.6.5", "version": "8.2.2",
"from": "xmlbuilder@>=2.6.2 <3.0.0", "from": "xmlbuilder@>=8.2.2 <9.0.0",
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.6.5.tgz", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz",
"dependencies": { "dev": true
"lodash": {
"version": "3.10.1",
"from": "lodash@>=3.5.0 <4.0.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz"
}
}
},
"xregexp": {
"version": "3.1.1",
"from": "xregexp@>=3.0.0 <4.0.0",
"resolved": "https://registry.npmjs.org/xregexp/-/xregexp-3.1.1.tgz"
}, },
"xtend": { "xtend": {
"version": "4.0.1", "version": "4.0.1",
"from": "xtend@>=4.0.0 <5.0.0", "from": "xtend@>=4.0.0 <5.0.0",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
"dev": true
}, },
"y18n": { "y18n": {
"version": "3.2.1", "version": "3.2.1",
"from": "y18n@>=3.2.0 <4.0.0", "from": "y18n@>=3.2.1 <4.0.0",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz" "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
"dev": true
}, },
"yallist": { "yallist": {
"version": "2.0.0", "version": "2.0.0",
"from": "yallist@>=2.0.0 <3.0.0", "from": "yallist@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-2.0.0.tgz" "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.0.0.tgz",
"dev": true
}, },
"yargs": { "yargs": {
"version": "3.27.0", "version": "3.10.0",
"from": "yargs@>=3.27.0 <3.28.0", "from": "yargs@>=3.10.0 <3.11.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-3.27.0.tgz", "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
"dev": true,
"dependencies": { "dependencies": {
"camelcase": { "camelcase": {
"version": "1.2.1", "version": "1.2.1",
"from": "camelcase@>=1.2.1 <2.0.0", "from": "camelcase@>=1.0.2 <2.0.0",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz" "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
"dev": true
} }
} }
}, },
"yargs-parser": { "yargs-parser": {
"version": "2.4.0", "version": "2.4.1",
"from": "yargs-parser@>=2.4.0 <3.0.0", "from": "yargs-parser@>=2.4.1 <3.0.0",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.0.tgz" "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz",
"dev": true,
"dependencies": {
"camelcase": {
"version": "3.0.0",
"from": "camelcase@>=3.0.0 <4.0.0",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
"dev": true
}
}
}, },
"yauzl": { "yauzl": {
"version": "2.4.1", "version": "2.4.1",
"from": "yauzl@2.4.1", "from": "yauzl@2.4.1",
"resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz" "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz",
"dev": true
}, },
"zip-stream": { "zip-stream": {
"version": "1.0.0", "version": "1.1.0",
"from": "zip-stream@>=1.0.0 <2.0.0", "from": "zip-stream@>=1.1.0 <2.0.0",
"resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.0.0.tgz" "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.1.0.tgz",
"dev": true
} }
} }
} }

14
js/.babelrc Normal file
View File

@ -0,0 +1,14 @@
{
"presets": [
[
"es2015",
{
"modules": false,
"loose": true
}
]
],
"plugins": [
"transform-es2015-modules-strip"
]
}

File diff suppressed because one or more lines are too long

View File

@ -1,12 +1,12 @@
/*! /*!
* QUnit 1.20.0 * QUnit 2.0.1
* http://qunitjs.com/ * https://qunitjs.com/
* *
* Copyright jQuery Foundation and other contributors * Copyright jQuery Foundation and other contributors
* Released under the MIT license * Released under the MIT license
* http://jquery.org/license * https://jquery.org/license
* *
* Date: 2015-10-27T17:53Z * Date: 2016-07-23T19:39Z
*/ */
/** Font Family and Sizes */ /** Font Family and Sizes */
@ -27,7 +27,7 @@
} }
/** Header */ /** Header (excluding toolbar) */
#qunit-header { #qunit-header {
padding: 0.5em 0 0.5em 1em; padding: 0.5em 0 0.5em 1em;
@ -52,51 +52,161 @@
color: #FFF; color: #FFF;
} }
#qunit-testrunner-toolbar label {
display: inline-block;
padding: 0 0.5em 0 0.1em;
}
#qunit-banner { #qunit-banner {
height: 5px; height: 5px;
} }
#qunit-filteredTest {
padding: 0.5em 1em 0.5em 1em;
color: #366097;
background-color: #F4FF77;
}
#qunit-userAgent {
padding: 0.5em 1em 0.5em 1em;
color: #FFF;
background-color: #2B81AF;
text-shadow: rgba(0, 0, 0, 0.5) 2px 2px 1px;
}
/** Toolbar */
#qunit-testrunner-toolbar { #qunit-testrunner-toolbar {
padding: 0.5em 1em 0.5em 1em; padding: 0.5em 1em 0.5em 1em;
color: #5E740B; color: #5E740B;
background-color: #EEE; background-color: #EEE;
overflow: hidden;
} }
#qunit-filteredTest { #qunit-testrunner-toolbar .clearfix {
padding: 0.5em 1em 0.5em 1em; height: 0;
background-color: #F4FF77; clear: both;
color: #366097;
} }
#qunit-userAgent { #qunit-testrunner-toolbar label {
padding: 0.5em 1em 0.5em 1em;
background-color: #2B81AF;
color: #FFF;
text-shadow: rgba(0, 0, 0, 0.5) 2px 2px 1px;
}
#qunit-modulefilter-container {
float: right;
padding: 0.2em;
}
.qunit-url-config {
display: inline-block; display: inline-block;
padding: 0.1em;
} }
.qunit-filter { #qunit-testrunner-toolbar input[type=checkbox],
display: block; #qunit-testrunner-toolbar input[type=radio] {
margin: 3px;
vertical-align: -2px;
}
#qunit-testrunner-toolbar input[type=text] {
box-sizing: border-box;
height: 1.6em;
}
.qunit-url-config,
.qunit-filter,
#qunit-modulefilter {
display: inline-block;
line-height: 2.1em;
}
.qunit-filter,
#qunit-modulefilter {
float: right; float: right;
position: relative;
margin-left: 1em; margin-left: 1em;
} }
.qunit-url-config label {
margin-right: 0.5em;
}
#qunit-modulefilter-search {
box-sizing: border-box;
width: 400px;
}
#qunit-modulefilter-search-container:after {
position: absolute;
right: 0.3em;
content: "\25bc";
color: black;
}
#qunit-modulefilter-dropdown {
/* align with #qunit-modulefilter-search */
box-sizing: border-box;
width: 400px;
position: absolute;
right: 0;
top: 50%;
margin-top: 0.8em;
border: 1px solid #D3D3D3;
border-top: none;
border-radius: 0 0 .25em .25em;
color: #000;
background-color: #F5F5F5;
z-index: 99;
}
#qunit-modulefilter-dropdown a {
color: inherit;
text-decoration: none;
}
#qunit-modulefilter-dropdown .clickable.checked {
font-weight: bold;
color: #000;
background-color: #D2E0E6;
}
#qunit-modulefilter-dropdown .clickable:hover {
color: #FFF;
background-color: #0D3349;
}
#qunit-modulefilter-actions {
display: block;
overflow: auto;
/* align with #qunit-modulefilter-dropdown-list */
font: smaller/1.5em sans-serif;
}
#qunit-modulefilter-dropdown #qunit-modulefilter-actions > * {
box-sizing: border-box;
max-height: 2.8em;
display: block;
padding: 0.4em;
}
#qunit-modulefilter-dropdown #qunit-modulefilter-actions > button {
float: right;
font: inherit;
}
#qunit-modulefilter-dropdown #qunit-modulefilter-actions > :last-child {
/* insert padding to align with checkbox margins */
padding-left: 3px;
}
#qunit-modulefilter-dropdown-list {
max-height: 200px;
overflow-y: auto;
margin: 0;
border-top: 2px groove threedhighlight;
padding: 0.4em 0 0;
font: smaller/1.5em sans-serif;
}
#qunit-modulefilter-dropdown-list li {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
#qunit-modulefilter-dropdown-list .clickable {
display: block;
padding-left: 0.15em;
}
/** Tests: Pass/Fail */ /** Tests: Pass/Fail */
#qunit-tests { #qunit-tests {
@ -120,6 +230,10 @@
display: list-item; display: list-item;
} }
#qunit-tests.hidepass {
position: relative;
}
#qunit-tests.hidepass li.running, #qunit-tests.hidepass li.running,
#qunit-tests.hidepass li.pass { #qunit-tests.hidepass li.pass {
visibility: hidden; visibility: hidden;
@ -198,14 +312,14 @@
} }
#qunit-tests del { #qunit-tests del {
background-color: #E0F2BE;
color: #374E0C; color: #374E0C;
background-color: #E0F2BE;
text-decoration: none; text-decoration: none;
} }
#qunit-tests ins { #qunit-tests ins {
background-color: #FFCACA;
color: #500; color: #500;
background-color: #FFCACA;
text-decoration: none; text-decoration: none;
} }

3139
js/tests/vendor/qunit.js vendored
View File

@ -1,15 +1,15 @@
/*! /*!
* QUnit 1.20.0 * QUnit 2.0.1
* http://qunitjs.com/ * https://qunitjs.com/
* *
* Copyright jQuery Foundation and other contributors * Copyright jQuery Foundation and other contributors
* Released under the MIT license * Released under the MIT license
* http://jquery.org/license * https://jquery.org/license
* *
* Date: 2015-10-27T17:53Z * Date: 2016-07-23T19:39Z
*/ */
(function( global ) { ( function( global ) {
var QUnit = {}; var QUnit = {};
@ -27,7 +27,7 @@ var window = global.window;
var defined = { var defined = {
document: window && window.document !== undefined, document: window && window.document !== undefined,
setTimeout: setTimeout !== undefined, setTimeout: setTimeout !== undefined,
sessionStorage: (function() { sessionStorage: ( function() {
var x = "qunit-test-string"; var x = "qunit-test-string";
try { try {
sessionStorage.setItem( x, x ); sessionStorage.setItem( x, x );
@ -43,10 +43,12 @@ var fileName = ( sourceFromStacktrace( 0 ) || "" ).replace( /(:\d+)+\)?/, "" ).r
var globalStartCalled = false; var globalStartCalled = false;
var runStarted = false; var runStarted = false;
var autorun = false;
var toString = Object.prototype.toString, var toString = Object.prototype.toString,
hasOwn = Object.prototype.hasOwnProperty; hasOwn = Object.prototype.hasOwnProperty;
// returns a new Array with the elements that are in a but not in b // Returns a new Array with the elements that are in a but not in b
function diff( a, b ) { function diff( a, b ) {
var i, j, var i, j,
result = a.slice(); result = a.slice();
@ -63,7 +65,7 @@ function diff( a, b ) {
return result; return result;
} }
// from jquery.js // From jquery.js
function inArray( elem, array ) { function inArray( elem, array ) {
if ( array.indexOf ) { if ( array.indexOf ) {
return array.indexOf( elem ); return array.indexOf( elem );
@ -100,16 +102,10 @@ function objectValues ( obj ) {
function extend( a, b, undefOnly ) { function extend( a, b, undefOnly ) {
for ( var prop in b ) { for ( var prop in b ) {
if ( hasOwn.call( b, prop ) ) { if ( hasOwn.call( b, prop ) ) {
if ( b[ prop ] === undefined ) {
// Avoid "Member not found" error in IE8 caused by messing with window.constructor delete a[ prop ];
// This block runs on every environment, so `global` is being used instead of `window` } else if ( !( undefOnly && typeof a[ prop ] !== "undefined" ) ) {
// to avoid errors on node. a[ prop ] = b[ prop ];
if ( prop !== "constructor" || a !== global ) {
if ( b[ prop ] === undefined ) {
delete a[ prop ];
} else if ( !( undefOnly && typeof a[ prop ] !== "undefined" ) ) {
a[ prop ] = b[ prop ];
}
} }
} }
} }
@ -157,32 +153,7 @@ function is( type, obj ) {
return QUnit.objectType( obj ) === type; return QUnit.objectType( obj ) === type;
} }
var getUrlParams = function() { // Doesn't support IE9, it will return undefined on these browsers
var i, current;
var urlParams = {};
var location = window.location;
var params = location.search.slice( 1 ).split( "&" );
var length = params.length;
if ( params[ 0 ] ) {
for ( i = 0; i < length; i++ ) {
current = params[ i ].split( "=" );
current[ 0 ] = decodeURIComponent( current[ 0 ] );
// allow just a key to turn on a flag, e.g., test.html?noglobals
current[ 1 ] = current[ 1 ] ? decodeURIComponent( current[ 1 ] ) : true;
if ( urlParams[ current[ 0 ] ] ) {
urlParams[ current[ 0 ] ] = [].concat( urlParams[ current[ 0 ] ], current[ 1 ] );
} else {
urlParams[ current[ 0 ] ] = current[ 1 ];
}
}
}
return urlParams;
};
// Doesn't support IE6 to IE9, it will return undefined on these browsers
// See also https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error/Stack // See also https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error/Stack
function extractStacktrace( e, offset ) { function extractStacktrace( e, offset ) {
offset = offset === undefined ? 4 : offset; offset = offset === undefined ? 4 : offset;
@ -207,17 +178,6 @@ function extractStacktrace( e, offset ) {
} }
} }
return stack[ offset ]; return stack[ offset ];
// Support: Safari <=6 only
} else if ( e.sourceURL ) {
// exclude useless self-reference for generated Error objects
if ( /qunit.js$/.test( e.sourceURL ) ) {
return;
}
// for actual exceptions, this is useful
return e.sourceURL + ":" + e.line;
} }
} }
@ -243,53 +203,35 @@ function sourceFromStacktrace( offset ) {
* `config` initialized at top of scope * `config` initialized at top of scope
*/ */
var config = { var config = {
// The queue of tests to run // The queue of tests to run
queue: [], queue: [],
// block until document ready // Block until document ready
blocking: true, blocking: true,
// by default, run previously failed tests first // By default, run previously failed tests first
// very useful in combination with "Hide passed tests" checked // very useful in combination with "Hide passed tests" checked
reorder: true, reorder: true,
// by default, modify document.title when suite is done // By default, modify document.title when suite is done
altertitle: true, altertitle: true,
// HTML Reporter: collapse every test except the first failing test // HTML Reporter: collapse every test except the first failing test
// If false, all failing tests will be expanded // If false, all failing tests will be expanded
collapse: true, collapse: true,
// by default, scroll to top of the page when suite is done // By default, scroll to top of the page when suite is done
scrolltop: true, scrolltop: true,
// depth up-to which object will be dumped // Depth up-to which object will be dumped
maxDepth: 5, maxDepth: 5,
// when enabled, all tests must call expect() // When enabled, all tests must call expect()
requireExpects: false, requireExpects: false,
// add checkboxes that are persisted in the query-string // Placeholder for user-configurable form-exposed URL parameters
// when enabled, the id is set to `true` as a `QUnit.config` property urlConfig: [],
urlConfig: [
{
id: "hidepassed",
label: "Hide passed tests",
tooltip: "Only show tests and assertions that fail. Stored as query-strings."
},
{
id: "noglobals",
label: "Check for Globals",
tooltip: "Enabling this will test if any test introduces new properties on the " +
"global object (`window` in Browsers). Stored as query-strings."
},
{
id: "notrycatch",
label: "No try-catch",
tooltip: "Enabling this will run tests outside of a try-catch block. Makes debugging " +
"exceptions in IE reasonable. Stored as query-strings."
}
],
// Set of all modules. // Set of all modules.
modules: [], modules: [],
@ -306,29 +248,9 @@ var config = {
callbacks: {} callbacks: {}
}; };
var urlParams = defined.document ? getUrlParams() : {};
// Push a loose unnamed module to the modules collection // Push a loose unnamed module to the modules collection
config.modules.push( config.currentModule ); config.modules.push( config.currentModule );
if ( urlParams.filter === true ) {
delete urlParams.filter;
}
// String search anywhere in moduleName+testName
config.filter = urlParams.filter;
config.testId = [];
if ( urlParams.testId ) {
// Ensure that urlParams.testId is an array
urlParams.testId = decodeURIComponent( urlParams.testId ).split( "," );
for (var i = 0; i < urlParams.testId.length; i++ ) {
config.testId.push( urlParams.testId[ i ] );
}
}
var loggingCallbacks = {};
// Register logging callbacks // Register logging callbacks
function registerLoggingCallbacks( obj ) { function registerLoggingCallbacks( obj ) {
var i, l, key, var i, l, key,
@ -346,11 +268,6 @@ function registerLoggingCallbacks( obj ) {
config.callbacks[ key ].push( callback ); config.callbacks[ key ].push( callback );
}; };
// DEPRECATED: This will be removed on QUnit 2.0.0+
// Stores the registered functions allowing restoring
// at verifyLoggingCallbacks() if modified
loggingCallbacks[ key ] = loggingCallback;
return loggingCallback; return loggingCallback;
} }
@ -375,34 +292,6 @@ function runLoggingCallbacks( key, args ) {
} }
} }
// DEPRECATED: This will be removed on 2.0.0+
// This function verifies if the loggingCallbacks were modified by the user
// If so, it will restore it, assign the given callback and print a console warning
function verifyLoggingCallbacks() {
var loggingCallback, userCallback;
for ( loggingCallback in loggingCallbacks ) {
if ( QUnit[ loggingCallback ] !== loggingCallbacks[ loggingCallback ] ) {
userCallback = QUnit[ loggingCallback ];
// Restore the callback function
QUnit[ loggingCallback ] = loggingCallbacks[ loggingCallback ];
// Assign the deprecated given callback
QUnit[ loggingCallback ]( userCallback );
if ( global.console && global.console.warn ) {
global.console.warn(
"QUnit." + loggingCallback + " was replaced with a new value.\n" +
"Please, check out the documentation on how to apply logging callbacks.\n" +
"Reference: http://api.qunitjs.com/category/callbacks/"
);
}
}
}
}
( function() { ( function() {
if ( !defined.document ) { if ( !defined.document ) {
return; return;
@ -430,7 +319,7 @@ function verifyLoggingCallbacks() {
} }
QUnit.pushFailure( error, filePath + ":" + linerNr ); QUnit.pushFailure( error, filePath + ":" + linerNr );
} else { } else {
QUnit.test( "global failure", extend(function() { QUnit.test( "global failure", extend( function() {
QUnit.pushFailure( error, filePath + ":" + linerNr ); QUnit.pushFailure( error, filePath + ":" + linerNr );
}, { validTest: true } ) ); }, { validTest: true } ) );
} }
@ -439,49 +328,46 @@ function verifyLoggingCallbacks() {
return ret; return ret;
}; };
} )(); }() );
QUnit.urlParams = urlParams;
// Figure out if we're running the tests from a server or not // Figure out if we're running the tests from a server or not
QUnit.isLocal = !( defined.document && window.location.protocol !== "file:" ); QUnit.isLocal = !( defined.document && window.location.protocol !== "file:" );
// Expose the current QUnit version // Expose the current QUnit version
QUnit.version = "1.20.0"; QUnit.version = "2.0.1";
extend( QUnit, { extend( QUnit, {
// call on start of module test to prepend name to all tests // Call on start of module test to prepend name to all tests
module: function( name, testEnvironment, executeNow ) { module: function( name, testEnvironment, executeNow ) {
var module, moduleFns; var module, moduleFns;
var currentModule = config.currentModule; var currentModule = config.currentModule;
if ( arguments.length === 2 ) { if ( arguments.length === 2 ) {
if ( testEnvironment instanceof Function ) { if ( objectType( testEnvironment ) === "function" ) {
executeNow = testEnvironment; executeNow = testEnvironment;
testEnvironment = undefined; testEnvironment = undefined;
} }
} }
// DEPRECATED: handles setup/teardown functions,
// beforeEach and afterEach should be used instead
if ( testEnvironment && testEnvironment.setup ) {
testEnvironment.beforeEach = testEnvironment.setup;
delete testEnvironment.setup;
}
if ( testEnvironment && testEnvironment.teardown ) {
testEnvironment.afterEach = testEnvironment.teardown;
delete testEnvironment.teardown;
}
module = createModule(); module = createModule();
if ( testEnvironment && ( testEnvironment.setup || testEnvironment.teardown ) ) {
console.warn(
"Module's `setup` and `teardown` are not hooks anymore on QUnit 2.0, use " +
"`beforeEach` and `afterEach` instead\n" +
"Details in our upgrade guide at https://qunitjs.com/upgrade-guide-2.x/"
);
}
moduleFns = { moduleFns = {
before: setHook( module, "before" ),
beforeEach: setHook( module, "beforeEach" ), beforeEach: setHook( module, "beforeEach" ),
afterEach: setHook( module, "afterEach" ) afterEach: setHook( module, "afterEach" ),
after: setHook( module, "after" )
}; };
if ( executeNow instanceof Function ) { if ( objectType( executeNow ) === "function" ) {
config.moduleStack.push( module ); config.moduleStack.push( module );
setCurrentModule( module ); setCurrentModule( module );
executeNow.call( module.testEnvironment, moduleFns ); executeNow.call( module.testEnvironment, moduleFns );
@ -499,11 +385,14 @@ extend( QUnit, {
var module = { var module = {
name: moduleName, name: moduleName,
parentModule: parentModule, parentModule: parentModule,
tests: [] tests: [],
moduleId: generateHash( moduleName ),
testsRun: 0
}; };
var env = {}; var env = {};
if ( parentModule ) { if ( parentModule ) {
parentModule.childModule = module;
extend( env, parentModule.testEnvironment ); extend( env, parentModule.testEnvironment );
delete env.beforeEach; delete env.beforeEach;
delete env.afterEach; delete env.afterEach;
@ -521,17 +410,12 @@ extend( QUnit, {
}, },
// DEPRECATED: QUnit.asyncTest() will be removed in QUnit 2.0.
asyncTest: asyncTest,
test: test, test: test,
skip: skip, skip: skip,
only: only, only: only,
// DEPRECATED: The functionality of QUnit.start() will be altered in QUnit 2.0.
// In QUnit 2.0, invoking it will ONLY affect the `QUnit.config.autostart` blocking behavior.
start: function( count ) { start: function( count ) {
var globalStartAlreadyCalled = globalStartCalled; var globalStartAlreadyCalled = globalStartCalled;
@ -539,7 +423,7 @@ extend( QUnit, {
globalStartCalled = true; globalStartCalled = true;
if ( runStarted ) { if ( runStarted ) {
throw new Error( "Called start() outside of a test context while already started" ); throw new Error( "Called start() while test already started running" );
} else if ( globalStartAlreadyCalled || count > 1 ) { } else if ( globalStartAlreadyCalled || count > 1 ) {
throw new Error( "Called start() outside of a test context too many times" ); throw new Error( "Called start() outside of a test context too many times" );
} else if ( config.autostart ) { } else if ( config.autostart ) {
@ -552,53 +436,14 @@ extend( QUnit, {
return; return;
} }
} else { } else {
throw new Error(
// If a test is running, adjust its semaphore "QUnit.start cannot be called inside a test context. This feature is removed in " +
config.current.semaphore -= count || 1; "QUnit 2.0. For async tests, use QUnit.test() with assert.async() instead.\n" +
"Details in our upgrade guide at https://qunitjs.com/upgrade-guide-2.x/"
// If semaphore is non-numeric, throw error );
if ( isNaN( config.current.semaphore ) ) {
config.current.semaphore = 0;
QUnit.pushFailure(
"Called start() with a non-numeric decrement.",
sourceFromStacktrace( 2 )
);
return;
}
// Don't start until equal number of stop-calls
if ( config.current.semaphore > 0 ) {
return;
}
// throw an Error if start is called more often than stop
if ( config.current.semaphore < 0 ) {
config.current.semaphore = 0;
QUnit.pushFailure(
"Called start() while already started (test's semaphore was 0 already)",
sourceFromStacktrace( 2 )
);
return;
}
} }
resumeProcessing(); scheduleBegin();
},
// DEPRECATED: QUnit.stop() will be removed in QUnit 2.0.
stop: function( count ) {
// If there isn't a test running, don't allow QUnit.stop() to be called
if ( !config.current ) {
throw new Error( "Called stop() outside of a test context" );
}
// If a test is running, adjust its semaphore
config.current.semaphore += count || 1;
pauseProcessing();
}, },
config: config, config: config,
@ -622,10 +467,12 @@ extend( QUnit, {
filter: "" filter: ""
}, true ); }, true );
config.blocking = false; if ( !runStarted ) {
config.blocking = false;
if ( config.autostart ) { if ( config.autostart ) {
resumeProcessing(); scheduleBegin();
}
} }
}, },
@ -633,10 +480,24 @@ extend( QUnit, {
offset = ( offset || 0 ) + 2; offset = ( offset || 0 ) + 2;
return sourceFromStacktrace( offset ); return sourceFromStacktrace( offset );
} }
}); } );
registerLoggingCallbacks( QUnit ); registerLoggingCallbacks( QUnit );
function scheduleBegin() {
runStarted = true;
// Add a slight delay to allow definition of more modules and tests.
if ( defined.setTimeout ) {
setTimeout( function() {
begin();
}, 13 );
} else {
begin();
}
}
function begin() { function begin() {
var i, l, var i, l,
modulesLog = []; modulesLog = [];
@ -647,8 +508,6 @@ function begin() {
// Record the time of the test run's beginning // Record the time of the test run's beginning
config.started = now(); config.started = now();
verifyLoggingCallbacks();
// Delete the loose unnamed module if unused. // Delete the loose unnamed module if unused.
if ( config.modules[ 0 ].name === "" && config.modules[ 0 ].tests.length === 0 ) { if ( config.modules[ 0 ].name === "" && config.modules[ 0 ].tests.length === 0 ) {
config.modules.shift(); config.modules.shift();
@ -656,17 +515,17 @@ function begin() {
// Avoid unnecessary information by not logging modules' test environments // Avoid unnecessary information by not logging modules' test environments
for ( i = 0, l = config.modules.length; i < l; i++ ) { for ( i = 0, l = config.modules.length; i < l; i++ ) {
modulesLog.push({ modulesLog.push( {
name: config.modules[ i ].name, name: config.modules[ i ].name,
tests: config.modules[ i ].tests tests: config.modules[ i ].tests
}); } );
} }
// The test run is officially beginning now // The test run is officially beginning now
runLoggingCallbacks( "begin", { runLoggingCallbacks( "begin", {
totalTests: Test.count, totalTests: Test.count,
modules: modulesLog modules: modulesLog
}); } );
} }
config.blocking = false; config.blocking = false;
@ -700,47 +559,10 @@ function process( last ) {
} }
} }
function pauseProcessing() {
config.blocking = true;
if ( config.testTimeout && defined.setTimeout ) {
clearTimeout( config.timeout );
config.timeout = setTimeout(function() {
if ( config.current ) {
config.current.semaphore = 0;
QUnit.pushFailure( "Test timed out", sourceFromStacktrace( 2 ) );
} else {
throw new Error( "Test timed out" );
}
resumeProcessing();
}, config.testTimeout );
}
}
function resumeProcessing() {
runStarted = true;
// A slight delay to allow this iteration of the event loop to finish (more assertions, etc.)
if ( defined.setTimeout ) {
setTimeout(function() {
if ( config.current && config.current.semaphore > 0 ) {
return;
}
if ( config.timeout ) {
clearTimeout( config.timeout );
}
begin();
}, 13 );
} else {
begin();
}
}
function done() { function done() {
var runtime, passed; var runtime, passed;
config.autorun = true; autorun = true;
// Log the last module results // Log the last module results
if ( config.previousModule ) { if ( config.previousModule ) {
@ -751,7 +573,7 @@ function done() {
passed: config.moduleStats.all - config.moduleStats.bad, passed: config.moduleStats.all - config.moduleStats.bad,
total: config.moduleStats.all, total: config.moduleStats.all,
runtime: now() - config.moduleStats.started runtime: now() - config.moduleStats.started
}); } );
} }
delete config.previousModule; delete config.previousModule;
@ -763,7 +585,7 @@ function done() {
passed: passed, passed: passed,
total: config.stats.all, total: config.stats.all,
runtime: runtime runtime: runtime
}); } );
} }
function setHook( module, hookName ) { function setHook( module, hookName ) {
@ -776,13 +598,16 @@ function setHook( module, hookName ) {
}; };
} }
var focused = false; var unitSampler,
focused = false,
priorityCount = 0;
function Test( settings ) { function Test( settings ) {
var i, l; var i, l;
++Test.count; ++Test.count;
this.expected = null;
extend( this, settings ); extend( this, settings );
this.assertions = []; this.assertions = [];
this.semaphore = 0; this.semaphore = 0;
@ -799,10 +624,10 @@ function Test( settings ) {
this.testId = generateHash( this.module.name, this.testName ); this.testId = generateHash( this.module.name, this.testName );
this.module.tests.push({ this.module.tests.push( {
name: this.testName, name: this.testName,
testId: this.testId testId: this.testId
}); } );
if ( settings.skip ) { if ( settings.skip ) {
@ -838,21 +663,23 @@ Test.prototype = {
passed: config.moduleStats.all - config.moduleStats.bad, passed: config.moduleStats.all - config.moduleStats.bad,
total: config.moduleStats.all, total: config.moduleStats.all,
runtime: now() - config.moduleStats.started runtime: now() - config.moduleStats.started
}); } );
} }
config.previousModule = this.module; config.previousModule = this.module;
config.moduleStats = { all: 0, bad: 0, started: now() }; config.moduleStats = { all: 0, bad: 0, started: now() };
runLoggingCallbacks( "moduleStart", { runLoggingCallbacks( "moduleStart", {
name: this.module.name, name: this.module.name,
tests: this.module.tests tests: this.module.tests
}); } );
} }
config.current = this; config.current = this;
if ( this.module.testEnvironment ) { if ( this.module.testEnvironment ) {
delete this.module.testEnvironment.before;
delete this.module.testEnvironment.beforeEach; delete this.module.testEnvironment.beforeEach;
delete this.module.testEnvironment.afterEach; delete this.module.testEnvironment.afterEach;
delete this.module.testEnvironment.after;
} }
this.testEnvironment = extend( {}, this.module.testEnvironment ); this.testEnvironment = extend( {}, this.module.testEnvironment );
@ -861,7 +688,7 @@ Test.prototype = {
name: this.testName, name: this.testName,
module: this.module.name, module: this.module.name,
testId: this.testId testId: this.testId
}); } );
if ( !config.pollution ) { if ( !config.pollution ) {
saveGlobal(); saveGlobal();
@ -873,10 +700,6 @@ Test.prototype = {
config.current = this; config.current = this;
if ( this.async ) {
QUnit.stop();
}
this.callbackStarted = now(); this.callbackStarted = now();
if ( config.notrycatch ) { if ( config.notrycatch ) {
@ -890,12 +713,12 @@ Test.prototype = {
this.pushFailure( "Died on test #" + ( this.assertions.length + 1 ) + " " + this.pushFailure( "Died on test #" + ( this.assertions.length + 1 ) + " " +
this.stack + ": " + ( e.message || e ), extractStacktrace( e, 0 ) ); this.stack + ": " + ( e.message || e ), extractStacktrace( e, 0 ) );
// else next test will carry the responsibility // Else next test will carry the responsibility
saveGlobal(); saveGlobal();
// Restart the tests if they're blocking // Restart the tests if they're blocking
if ( config.blocking ) { if ( config.blocking ) {
QUnit.start(); internalRecover( this );
} }
} }
@ -909,10 +732,22 @@ Test.prototype = {
checkPollution(); checkPollution();
}, },
queueHook: function( hook, hookName ) { queueHook: function( hook, hookName, hookOwner ) {
var promise, var promise,
test = this; test = this;
return function runHook() { return function runHook() {
if ( hookName === "before" ) {
if ( hookOwner.testsRun !== 0 ) {
return;
}
test.preserveEnvironment = true;
}
if ( hookName === "after" && hookOwner.testsRun !== numberOfTests( hookOwner ) - 1 ) {
return;
}
config.current = test; config.current = test;
if ( config.notrycatch ) { if ( config.notrycatch ) {
callHook(); callHook();
@ -942,7 +777,7 @@ Test.prototype = {
} }
if ( module.testEnvironment && if ( module.testEnvironment &&
QUnit.objectType( module.testEnvironment[ handler ] ) === "function" ) { QUnit.objectType( module.testEnvironment[ handler ] ) === "function" ) {
hooks.push( test.queueHook( module.testEnvironment[ handler ], handler ) ); hooks.push( test.queueHook( module.testEnvironment[ handler ], handler, module ) );
} }
} }
@ -967,9 +802,11 @@ Test.prototype = {
} }
var i, var i,
skipped = !!this.skip,
bad = 0; bad = 0;
this.runtime = now() - this.started; this.runtime = now() - this.started;
config.stats.all += this.assertions.length; config.stats.all += this.assertions.length;
config.moduleStats.all += this.assertions.length; config.moduleStats.all += this.assertions.length;
@ -981,34 +818,34 @@ Test.prototype = {
} }
} }
notifyTestsRan( this.module );
runLoggingCallbacks( "testDone", { runLoggingCallbacks( "testDone", {
name: this.testName, name: this.testName,
module: this.module.name, module: this.module.name,
skipped: !!this.skip, skipped: skipped,
failed: bad, failed: bad,
passed: this.assertions.length - bad, passed: this.assertions.length - bad,
total: this.assertions.length, total: this.assertions.length,
runtime: this.runtime, runtime: skipped ? 0 : this.runtime,
// HTML Reporter use // HTML Reporter use
assertions: this.assertions, assertions: this.assertions,
testId: this.testId, testId: this.testId,
// Source of Test // Source of Test
source: this.stack, source: this.stack
} );
// DEPRECATED: this property will be removed in 2.0.0, use runtime instead
duration: this.runtime
});
// QUnit.reset() is deprecated and will be replaced for a new
// fixture reset function on QUnit 2.0/2.1.
// It's still called here for backwards compatibility handling
QUnit.reset();
config.current = undefined; config.current = undefined;
}, },
preserveTestEnvironment: function() {
if ( this.preserveEnvironment ) {
this.module.testEnvironment = this.testEnvironment;
this.testEnvironment = extend( {}, this.module.testEnvironment );
}
},
queue: function() { queue: function() {
var priority, var priority,
test = this; test = this;
@ -1019,50 +856,61 @@ Test.prototype = {
function run() { function run() {
// each of these can by async // Each of these can by async
synchronize([ synchronize( [
function() { function() {
test.before(); test.before();
}, },
test.hooks( "before" ),
function() {
test.preserveTestEnvironment();
},
test.hooks( "beforeEach" ), test.hooks( "beforeEach" ),
function() { function() {
test.run(); test.run();
}, },
test.hooks( "afterEach" ).reverse(), test.hooks( "afterEach" ).reverse(),
test.hooks( "after" ).reverse(),
function() { function() {
test.after(); test.after();
}, },
function() { function() {
test.finish(); test.finish();
} }
]); ] );
} }
// Prioritize previously failed tests, detected from sessionStorage // Prioritize previously failed tests, detected from sessionStorage
priority = QUnit.config.reorder && defined.sessionStorage && priority = QUnit.config.reorder && defined.sessionStorage &&
+sessionStorage.getItem( "qunit-test-" + this.module.name + "-" + this.testName ); +sessionStorage.getItem( "qunit-test-" + this.module.name + "-" + this.testName );
return synchronize( run, priority ); return synchronize( run, priority, config.seed );
}, },
push: function( result, actual, expected, message, negative ) { pushResult: function( resultInfo ) {
// Destructure of resultInfo = { result, actual, expected, message, negative }
var source, var source,
details = { details = {
module: this.module.name, module: this.module.name,
name: this.testName, name: this.testName,
result: result, result: resultInfo.result,
message: message, message: resultInfo.message,
actual: actual, actual: resultInfo.actual,
expected: expected, expected: resultInfo.expected,
testId: this.testId, testId: this.testId,
negative: negative || false, negative: resultInfo.negative || false,
runtime: now() - this.started runtime: now() - this.started
}; };
if ( !result ) { if ( !resultInfo.result ) {
source = sourceFromStacktrace(); source = sourceFromStacktrace();
if ( source ) { if ( source ) {
@ -1072,10 +920,10 @@ Test.prototype = {
runLoggingCallbacks( "log", details ); runLoggingCallbacks( "log", details );
this.assertions.push({ this.assertions.push( {
result: !!result, result: !!resultInfo.result,
message: message message: resultInfo.message
}); } );
}, },
pushFailure: function( message, source, actual ) { pushFailure: function( message, source, actual ) {
@ -1100,33 +948,33 @@ Test.prototype = {
runLoggingCallbacks( "log", details ); runLoggingCallbacks( "log", details );
this.assertions.push({ this.assertions.push( {
result: false, result: false,
message: message message: message
}); } );
}, },
resolvePromise: function( promise, phase ) { resolvePromise: function( promise, phase ) {
var then, message, var then, resume, message,
test = this; test = this;
if ( promise != null ) { if ( promise != null ) {
then = promise.then; then = promise.then;
if ( QUnit.objectType( then ) === "function" ) { if ( QUnit.objectType( then ) === "function" ) {
QUnit.stop(); resume = internalStop( test );
then.call( then.call(
promise, promise,
function() { QUnit.start(); }, function() { resume(); },
function( error ) { function( error ) {
message = "Promise rejected " + message = "Promise rejected " +
( !phase ? "during" : phase.replace( /Each$/, "" ) ) + ( !phase ? "during" : phase.replace( /Each$/, "" ) ) +
" " + test.testName + ": " + ( error.message || error ); " " + test.testName + ": " + ( error.message || error );
test.pushFailure( message, extractStacktrace( error, 0 ) ); test.pushFailure( message, extractStacktrace( error, 0 ) );
// else next test will carry the responsibility // Else next test will carry the responsibility
saveGlobal(); saveGlobal();
// Unblock // Unblock
QUnit.start(); resume();
} }
); );
} }
@ -1134,32 +982,45 @@ Test.prototype = {
}, },
valid: function() { valid: function() {
var include, var filter = config.filter,
filter = config.filter && config.filter.toLowerCase(), regexFilter = /^(!?)\/([\w\W]*)\/(i?$)/.exec( filter ),
module = QUnit.urlParams.module && QUnit.urlParams.module.toLowerCase(), module = config.module && config.module.toLowerCase(),
fullName = ( this.module.name + ": " + this.testName ).toLowerCase(); fullName = ( this.module.name + ": " + this.testName );
function testInModuleChain( testModule ) { function moduleChainNameMatch( testModule ) {
var testModuleName = testModule.name ? testModule.name.toLowerCase() : null; var testModuleName = testModule.name ? testModule.name.toLowerCase() : null;
if ( testModuleName === module ) { if ( testModuleName === module ) {
return true; return true;
} else if ( testModule.parentModule ) { } else if ( testModule.parentModule ) {
return testInModuleChain( testModule.parentModule ); return moduleChainNameMatch( testModule.parentModule );
} else { } else {
return false; return false;
} }
} }
function moduleChainIdMatch( testModule ) {
return inArray( testModule.moduleId, config.moduleId ) > -1 ||
testModule.parentModule && moduleChainIdMatch( testModule.parentModule );
}
// Internally-generated tests are always valid // Internally-generated tests are always valid
if ( this.callback && this.callback.validTest ) { if ( this.callback && this.callback.validTest ) {
return true; return true;
} }
if ( config.testId.length > 0 && inArray( this.testId, config.testId ) < 0 ) { if ( config.moduleId && config.moduleId.length > 0 &&
!moduleChainIdMatch( this.module ) ) {
return false; return false;
} }
if ( module && !testInModuleChain( this.module ) ) { if ( config.testId && config.testId.length > 0 &&
inArray( this.testId, config.testId ) < 0 ) {
return false;
}
if ( module && !moduleChainNameMatch( this.module ) ) {
return false; return false;
} }
@ -1167,7 +1028,23 @@ Test.prototype = {
return true; return true;
} }
include = filter.charAt( 0 ) !== "!"; return regexFilter ?
this.regexFilter( !!regexFilter[ 1 ], regexFilter[ 2 ], regexFilter[ 3 ], fullName ) :
this.stringFilter( filter, fullName );
},
regexFilter: function( exclude, pattern, flags, fullName ) {
var regex = new RegExp( pattern, flags );
var match = regex.test( fullName );
return match !== exclude;
},
stringFilter: function( filter, fullName ) {
filter = filter.toLowerCase();
fullName = fullName.toLowerCase();
var include = filter.charAt( 0 ) !== "!";
if ( !include ) { if ( !include ) {
filter = filter.slice( 1 ); filter = filter.slice( 1 );
} }
@ -1182,28 +1059,6 @@ Test.prototype = {
} }
}; };
// Resets the test setup. Useful for tests that modify the DOM.
/*
DEPRECATED: Use multiple tests instead of resetting inside a test.
Use testStart or testDone for custom cleanup.
This method will throw an error in 2.0, and will be removed in 2.1
*/
QUnit.reset = function() {
// Return on non-browser environments
// This is necessary to not break on node tests
if ( !defined.document ) {
return;
}
var fixture = defined.document && document.getElementById &&
document.getElementById( "qunit-fixture" );
if ( fixture ) {
fixture.innerHTML = config.fixture;
}
};
QUnit.pushFailure = function() { QUnit.pushFailure = function() {
if ( !QUnit.config.current ) { if ( !QUnit.config.current ) {
throw new Error( "pushFailure() assertion outside test context, in " + throw new Error( "pushFailure() assertion outside test context, in " +
@ -1240,8 +1095,9 @@ function generateHash( module, testName ) {
return hex.slice( -8 ); return hex.slice( -8 );
} }
function synchronize( callback, priority ) { function synchronize( callback, priority, seed ) {
var last = !priority; var last = !priority,
index;
if ( QUnit.objectType( callback ) === "array" ) { if ( QUnit.objectType( callback ) === "array" ) {
while ( callback.length ) { while ( callback.length ) {
@ -1251,31 +1107,42 @@ function synchronize( callback, priority ) {
} }
if ( priority ) { if ( priority ) {
priorityFill( callback ); config.queue.splice( priorityCount++, 0, callback );
} else if ( seed ) {
if ( !unitSampler ) {
unitSampler = unitSamplerGenerator( seed );
}
// Insert into a random position after all priority items
index = Math.floor( unitSampler() * ( config.queue.length - priorityCount + 1 ) );
config.queue.splice( priorityCount + index, 0, callback );
} else { } else {
config.queue.push( callback ); config.queue.push( callback );
} }
if ( config.autorun && !config.blocking ) { if ( autorun && !config.blocking ) {
process( last ); process( last );
} }
} }
// Place previously failed tests on a queue priority line, respecting the order they get assigned. function unitSamplerGenerator( seed ) {
function priorityFill( callback ) {
var queue, prioritizedQueue;
queue = config.queue.slice( priorityFill.pos ); // 32-bit xorshift, requires only a nonzero seed
prioritizedQueue = config.queue.slice( 0, -config.queue.length + priorityFill.pos ); // http://excamera.com/sphinx/article-xorshift.html
var sample = parseInt( generateHash( seed ), 16 ) || -1;
return function() {
sample ^= sample << 13;
sample ^= sample >>> 17;
sample ^= sample << 5;
queue.unshift( callback ); // ECMAScript has no unsigned number type
queue.unshift.apply( queue, prioritizedQueue ); if ( sample < 0 ) {
sample += 0x100000000;
}
config.queue = queue; return sample / 0x100000000;
};
priorityFill.pos += 1;
} }
priorityFill.pos = 0;
function saveGlobal() { function saveGlobal() {
config.pollution = []; config.pollution = [];
@ -1284,7 +1151,7 @@ function saveGlobal() {
for ( var key in global ) { for ( var key in global ) {
if ( hasOwn.call( global, key ) ) { if ( hasOwn.call( global, key ) ) {
// in Opera sometimes DOM element ids show up here, ignore them // In Opera sometimes DOM element ids show up here, ignore them
if ( /^qunit-test-output/.test( key ) ) { if ( /^qunit-test-output/.test( key ) ) {
continue; continue;
} }
@ -1312,33 +1179,16 @@ function checkPollution() {
} }
} }
// Will be exposed as QUnit.asyncTest
function asyncTest( testName, expected, callback ) {
if ( arguments.length === 2 ) {
callback = expected;
expected = null;
}
QUnit.test( testName, expected, callback, true );
}
// Will be exposed as QUnit.test // Will be exposed as QUnit.test
function test( testName, expected, callback, async ) { function test( testName, callback ) {
if ( focused ) { return; } if ( focused ) { return; }
var newTest; var newTest;
if ( arguments.length === 2 ) { newTest = new Test( {
callback = expected;
expected = null;
}
newTest = new Test({
testName: testName, testName: testName,
expected: expected,
async: async,
callback: callback callback: callback
}); } );
newTest.queue(); newTest.queue();
} }
@ -1347,16 +1197,16 @@ function test( testName, expected, callback, async ) {
function skip( testName ) { function skip( testName ) {
if ( focused ) { return; } if ( focused ) { return; }
var test = new Test({ var test = new Test( {
testName: testName, testName: testName,
skip: true skip: true
}); } );
test.queue(); test.queue();
} }
// Will be exposed as QUnit.only // Will be exposed as QUnit.only
function only( testName, expected, callback, async ) { function only( testName, callback ) {
var newTest; var newTest;
if ( focused ) { return; } if ( focused ) { return; }
@ -1364,21 +1214,113 @@ function only( testName, expected, callback, async ) {
QUnit.config.queue.length = 0; QUnit.config.queue.length = 0;
focused = true; focused = true;
if ( arguments.length === 2 ) { newTest = new Test( {
callback = expected;
expected = null;
}
newTest = new Test({
testName: testName, testName: testName,
expected: expected,
async: async,
callback: callback callback: callback
}); } );
newTest.queue(); newTest.queue();
} }
// Put a hold on processing and return a function that will release it.
function internalStop( test ) {
var released = false;
test.semaphore += 1;
config.blocking = true;
// Set a recovery timeout, if so configured.
if ( config.testTimeout && defined.setTimeout ) {
clearTimeout( config.timeout );
config.timeout = setTimeout( function() {
QUnit.pushFailure( "Test timed out", sourceFromStacktrace( 2 ) );
internalRecover( test );
}, config.testTimeout );
}
return function resume() {
if ( released ) {
return;
}
released = true;
test.semaphore -= 1;
internalStart( test );
};
}
// Forcefully release all processing holds.
function internalRecover( test ) {
test.semaphore = 0;
internalStart( test );
}
// Release a processing hold, scheduling a resumption attempt if no holds remain.
function internalStart( test ) {
// If semaphore is non-numeric, throw error
if ( isNaN( test.semaphore ) ) {
test.semaphore = 0;
QUnit.pushFailure(
"Invalid value on test.semaphore",
sourceFromStacktrace( 2 )
);
return;
}
// Don't start until equal number of stop-calls
if ( test.semaphore > 0 ) {
return;
}
// Throw an Error if start is called more often than stop
if ( test.semaphore < 0 ) {
test.semaphore = 0;
QUnit.pushFailure(
"Tried to restart test while already started (test's semaphore was 0 already)",
sourceFromStacktrace( 2 )
);
return;
}
// Add a slight delay to allow more assertions etc.
if ( defined.setTimeout ) {
if ( config.timeout ) {
clearTimeout( config.timeout );
}
config.timeout = setTimeout( function() {
if ( test.semaphore > 0 ) {
return;
}
if ( config.timeout ) {
clearTimeout( config.timeout );
}
begin();
}, 13 );
} else {
begin();
}
}
function numberOfTests( module ) {
var count = module.tests.length;
while ( module = module.childModule ) {
count += module.tests.length;
}
return count;
}
function notifyTestsRan( module ) {
module.testsRun++;
while ( module = module.parentModule ) {
module.testsRun++;
}
}
function Assert( testContext ) { function Assert( testContext ) {
this.test = testContext; this.test = testContext;
} }
@ -1396,10 +1338,10 @@ QUnit.assert = Assert.prototype = {
} }
}, },
// Increment this Test's semaphore counter, then return a function that // Put a hold on processing and return a function that will release it a maximum of once.
// decrements that counter a maximum of once.
async: function( count ) { async: function( count ) {
var test = this.test, var resume,
test = this.test,
popped = false, popped = false,
acceptCallCount = count; acceptCallCount = count;
@ -1407,9 +1349,8 @@ QUnit.assert = Assert.prototype = {
acceptCallCount = 1; acceptCallCount = 1;
} }
test.semaphore += 1;
test.usedAsync = true; test.usedAsync = true;
pauseProcessing(); resume = internalStop( test );
return function done() { return function done() {
@ -1423,14 +1364,27 @@ QUnit.assert = Assert.prototype = {
return; return;
} }
test.semaphore -= 1;
popped = true; popped = true;
resumeProcessing(); resume();
}; };
}, },
// Exports test.push() to the user API // Exports test.push() to the user API
push: function( /* result, actual, expected, message, negative */ ) { // Alias of pushResult.
push: function( result, actual, expected, message, negative ) {
var currentAssert = this instanceof Assert ? this : QUnit.config.current.assert;
return currentAssert.pushResult( {
result: result,
actual: actual,
expected: expected,
message: message,
negative: negative
} );
},
pushResult: function( resultInfo ) {
// Destructure of resultInfo = { result, actual, expected, message, negative }
var assert = this, var assert = this,
currentTest = ( assert instanceof Assert && assert.test ) || QUnit.config.current; currentTest = ( assert instanceof Assert && assert.test ) || QUnit.config.current;
@ -1453,57 +1407,112 @@ QUnit.assert = Assert.prototype = {
if ( !( assert instanceof Assert ) ) { if ( !( assert instanceof Assert ) ) {
assert = currentTest.assert; assert = currentTest.assert;
} }
return assert.test.push.apply( assert.test, arguments );
return assert.test.pushResult( resultInfo );
}, },
ok: function( result, message ) { ok: function( result, message ) {
message = message || ( result ? "okay" : "failed, expected argument to be truthy, was: " + message = message || ( result ? "okay" : "failed, expected argument to be truthy, was: " +
QUnit.dump.parse( result ) ); QUnit.dump.parse( result ) );
this.push( !!result, result, true, message ); this.pushResult( {
result: !!result,
actual: result,
expected: true,
message: message
} );
}, },
notOk: function( result, message ) { notOk: function( result, message ) {
message = message || ( !result ? "okay" : "failed, expected argument to be falsy, was: " + message = message || ( !result ? "okay" : "failed, expected argument to be falsy, was: " +
QUnit.dump.parse( result ) ); QUnit.dump.parse( result ) );
this.push( !result, result, false, message, true ); this.pushResult( {
result: !result,
actual: result,
expected: false,
message: message
} );
}, },
equal: function( actual, expected, message ) { equal: function( actual, expected, message ) {
/*jshint eqeqeq:false */ /*jshint eqeqeq:false */
this.push( expected == actual, actual, expected, message ); this.pushResult( {
result: expected == actual,
actual: actual,
expected: expected,
message: message
} );
}, },
notEqual: function( actual, expected, message ) { notEqual: function( actual, expected, message ) {
/*jshint eqeqeq:false */ /*jshint eqeqeq:false */
this.push( expected != actual, actual, expected, message, true ); this.pushResult( {
result: expected != actual,
actual: actual,
expected: expected,
message: message,
negative: true
} );
}, },
propEqual: function( actual, expected, message ) { propEqual: function( actual, expected, message ) {
actual = objectValues( actual ); actual = objectValues( actual );
expected = objectValues( expected ); expected = objectValues( expected );
this.push( QUnit.equiv( actual, expected ), actual, expected, message ); this.pushResult( {
result: QUnit.equiv( actual, expected ),
actual: actual,
expected: expected,
message: message
} );
}, },
notPropEqual: function( actual, expected, message ) { notPropEqual: function( actual, expected, message ) {
actual = objectValues( actual ); actual = objectValues( actual );
expected = objectValues( expected ); expected = objectValues( expected );
this.push( !QUnit.equiv( actual, expected ), actual, expected, message, true ); this.pushResult( {
result: !QUnit.equiv( actual, expected ),
actual: actual,
expected: expected,
message: message,
negative: true
} );
}, },
deepEqual: function( actual, expected, message ) { deepEqual: function( actual, expected, message ) {
this.push( QUnit.equiv( actual, expected ), actual, expected, message ); this.pushResult( {
result: QUnit.equiv( actual, expected ),
actual: actual,
expected: expected,
message: message
} );
}, },
notDeepEqual: function( actual, expected, message ) { notDeepEqual: function( actual, expected, message ) {
this.push( !QUnit.equiv( actual, expected ), actual, expected, message, true ); this.pushResult( {
result: !QUnit.equiv( actual, expected ),
actual: actual,
expected: expected,
message: message,
negative: true
} );
}, },
strictEqual: function( actual, expected, message ) { strictEqual: function( actual, expected, message ) {
this.push( expected === actual, actual, expected, message ); this.pushResult( {
result: expected === actual,
actual: actual,
expected: expected,
message: message
} );
}, },
notStrictEqual: function( actual, expected, message ) { notStrictEqual: function( actual, expected, message ) {
this.push( expected !== actual, actual, expected, message, true ); this.pushResult( {
result: expected !== actual,
actual: actual,
expected: expected,
message: message,
negative: true
} );
}, },
"throws": function( block, expected, message ) { "throws": function( block, expected, message ) {
@ -1513,15 +1522,23 @@ QUnit.assert = Assert.prototype = {
currentTest = ( this instanceof Assert && this.test ) || QUnit.config.current; currentTest = ( this instanceof Assert && this.test ) || QUnit.config.current;
// 'expected' is optional unless doing string comparison // 'expected' is optional unless doing string comparison
if ( message == null && typeof expected === "string" ) { if ( QUnit.objectType( expected ) === "string" ) {
message = expected; if ( message == null ) {
expected = null; message = expected;
expected = null;
} else {
throw new Error(
"throws/raises does not accept a string value for the expected argument.\n" +
"Use a non-string object value (e.g. regExp) instead if it's necessary." +
"Details in our upgrade guide at https://qunitjs.com/upgrade-guide-2.x/"
);
}
} }
currentTest.ignoreGlobalErrors = true; currentTest.ignoreGlobalErrors = true;
try { try {
block.call( currentTest.testEnvironment ); block.call( currentTest.testEnvironment );
} catch (e) { } catch ( e ) {
actual = e; actual = e;
} }
currentTest.ignoreGlobalErrors = false; currentTest.ignoreGlobalErrors = false;
@ -1529,46 +1546,47 @@ QUnit.assert = Assert.prototype = {
if ( actual ) { if ( actual ) {
expectedType = QUnit.objectType( expected ); expectedType = QUnit.objectType( expected );
// we don't want to validate thrown error // We don't want to validate thrown error
if ( !expected ) { if ( !expected ) {
ok = true; ok = true;
expectedOutput = null; expectedOutput = null;
// expected is a regexp // Expected is a regexp
} else if ( expectedType === "regexp" ) { } else if ( expectedType === "regexp" ) {
ok = expected.test( errorString( actual ) ); ok = expected.test( errorString( actual ) );
// expected is a string // Expected is a constructor, maybe an Error constructor
} else if ( expectedType === "string" ) {
ok = expected === errorString( actual );
// expected is a constructor, maybe an Error constructor
} else if ( expectedType === "function" && actual instanceof expected ) { } else if ( expectedType === "function" && actual instanceof expected ) {
ok = true; ok = true;
// expected is an Error object // Expected is an Error object
} else if ( expectedType === "object" ) { } else if ( expectedType === "object" ) {
ok = actual instanceof expected.constructor && ok = actual instanceof expected.constructor &&
actual.name === expected.name && actual.name === expected.name &&
actual.message === expected.message; actual.message === expected.message;
// expected is a validation function which returns true if validation passed // Expected is a validation function which returns true if validation passed
} else if ( expectedType === "function" && expected.call( {}, actual ) === true ) { } else if ( expectedType === "function" && expected.call( {}, actual ) === true ) {
expectedOutput = null; expectedOutput = null;
ok = true; ok = true;
} }
} }
currentTest.assert.push( ok, actual, expectedOutput, message ); currentTest.assert.pushResult( {
result: ok,
actual: actual,
expected: expectedOutput,
message: message
} );
} }
}; };
// Provide an alternative to assert.throws(), for environments that consider throws a reserved word // Provide an alternative to assert.throws(), for environments that consider throws a reserved word
// Known to us are: Closure Compiler, Narwhal // Known to us are: Closure Compiler, Narwhal
(function() { ( function() {
/*jshint sub:true */ /*jshint sub:true */
Assert.prototype.raises = Assert.prototype[ "throws" ]; Assert.prototype.raises = Assert.prototype [ "throws" ]; //jscs:ignore requireDotNotation
}()); }() );
function errorString( error ) { function errorString( error ) {
var name, message, var name, message,
@ -1592,7 +1610,7 @@ function errorString( error ) {
// Test for equality any JavaScript type. // Test for equality any JavaScript type.
// Author: Philippe Rathé <prathe@gmail.com> // Author: Philippe Rathé <prathe@gmail.com>
QUnit.equiv = (function() { QUnit.equiv = ( function() {
// Stack to decide between skip/abort functions // Stack to decide between skip/abort functions
var callers = []; var callers = [];
@ -1601,26 +1619,28 @@ QUnit.equiv = (function() {
var parents = []; var parents = [];
var parentsB = []; var parentsB = [];
var getProto = Object.getPrototypeOf || function( obj ) {
/*jshint proto: true */
return obj.__proto__;
};
function useStrictEquality( b, a ) { function useStrictEquality( b, a ) {
/*jshint eqeqeq:false */ // To catch short annotation VS 'new' annotation of a declaration. e.g.:
if ( b instanceof a.constructor || a instanceof b.constructor ) { // `var i = 1;`
// `var j = new Number(1);`
// To catch short annotation VS 'new' annotation of a declaration. e.g.: if ( typeof a === "object" ) {
// `var i = 1;` a = a.valueOf();
// `var j = new Number(1);`
return a == b;
} else {
return a === b;
} }
if ( typeof b === "object" ) {
b = b.valueOf();
}
return a === b;
} }
function compareConstructors( a, b ) { function compareConstructors( a, b ) {
var getProto = Object.getPrototypeOf || function( obj ) {
/*jshint proto: true */
return obj.__proto__;
};
var protoA = getProto( a ); var protoA = getProto( a );
var protoB = getProto( b ); var protoB = getProto( b );
@ -1649,6 +1669,10 @@ QUnit.equiv = (function() {
return false; return false;
} }
function getRegExpFlags( regexp ) {
return "flags" in regexp ? regexp.flags : regexp.toString().match( /[gimuy]*$/ )[ 0 ];
}
var callbacks = { var callbacks = {
"string": useStrictEquality, "string": useStrictEquality,
"boolean": useStrictEquality, "boolean": useStrictEquality,
@ -1656,28 +1680,17 @@ QUnit.equiv = (function() {
"null": useStrictEquality, "null": useStrictEquality,
"undefined": useStrictEquality, "undefined": useStrictEquality,
"symbol": useStrictEquality, "symbol": useStrictEquality,
"date": useStrictEquality,
"nan": function( b ) { "nan": function() {
return isNaN( b ); return true;
},
"date": function( b, a ) {
return QUnit.objectType( b ) === "date" && a.valueOf() === b.valueOf();
}, },
"regexp": function( b, a ) { "regexp": function( b, a ) {
return QUnit.objectType( b ) === "regexp" && return a.source === b.source &&
// The regex itself // Include flags in the comparison
a.source === b.source && getRegExpFlags( a ) === getRegExpFlags( b );
// And its modifiers
a.global === b.global &&
// (gmi) ...
a.ignoreCase === b.ignoreCase &&
a.multiline === b.multiline &&
a.sticky === b.sticky;
}, },
// - skip when the property is a method of an instance (OOP) // - skip when the property is a method of an instance (OOP)
@ -1691,14 +1704,10 @@ QUnit.equiv = (function() {
"array": function( b, a ) { "array": function( b, a ) {
var i, j, len, loop, aCircular, bCircular; var i, j, len, loop, aCircular, bCircular;
// b could be an object literal here
if ( QUnit.objectType( b ) !== "array" ) {
return false;
}
len = a.length; len = a.length;
if ( len !== b.length ) { if ( len !== b.length ) {
// safe and faster
// Safe and faster
return false; return false;
} }
@ -1732,43 +1741,53 @@ QUnit.equiv = (function() {
}, },
"set": function( b, a ) { "set": function( b, a ) {
var aArray, bArray; var innerEq,
outerEq = true;
// `b` could be any object here if ( a.size !== b.size ) {
if ( QUnit.objectType( b ) !== "set" ) {
return false; return false;
} }
aArray = []; a.forEach( function( aVal ) {
a.forEach( function( v ) { innerEq = false;
aArray.push( v );
});
bArray = [];
b.forEach( function( v ) {
bArray.push( v );
});
return innerEquiv( bArray, aArray ); b.forEach( function( bVal ) {
if ( innerEquiv( bVal, aVal ) ) {
innerEq = true;
}
} );
if ( !innerEq ) {
outerEq = false;
}
} );
return outerEq;
}, },
"map": function( b, a ) { "map": function( b, a ) {
var aArray, bArray; var innerEq,
outerEq = true;
// `b` could be any object here if ( a.size !== b.size ) {
if ( QUnit.objectType( b ) !== "map" ) {
return false; return false;
} }
aArray = []; a.forEach( function( aVal, aKey ) {
a.forEach( function( v, k ) { innerEq = false;
aArray.push( [ k, v ] );
});
bArray = [];
b.forEach( function( v, k ) {
bArray.push( [ k, v ] );
});
return innerEquiv( bArray, aArray ); b.forEach( function( bVal, bKey ) {
if ( innerEquiv( [ bVal, bKey ], [ aVal, aKey ] ) ) {
innerEq = true;
}
} );
if ( !innerEq ) {
outerEq = false;
}
} );
return outerEq;
}, },
"object": function( b, a ) { "object": function( b, a ) {
@ -1830,45 +1849,31 @@ QUnit.equiv = (function() {
}; };
function typeEquiv( a, b ) { function typeEquiv( a, b ) {
var prop = QUnit.objectType( a ); var type = QUnit.objectType( a );
return callbacks[ prop ]( b, a ); return QUnit.objectType( b ) === type && callbacks[ type ]( b, a );
} }
// The real equiv function // The real equiv function
function innerEquiv() { function innerEquiv( a, b ) {
var args = [].slice.apply( arguments );
if ( args.length < 2 ) {
// End transition // We're done when there's nothing more to compare
if ( arguments.length < 2 ) {
return true; return true;
} }
return ( (function( a, b ) { // Require type-specific equality
if ( a === b ) { return ( a === b || typeEquiv( a, b ) ) &&
// Catch the most you can // ...across all consecutive argument pairs
return true; ( arguments.length === 2 || innerEquiv.apply( this, [].slice.call( arguments, 1 ) ) );
} else if ( a === null || b === null || typeof a === "undefined" ||
typeof b === "undefined" ||
QUnit.objectType( a ) !== QUnit.objectType( b ) ) {
// Don't lose time with error prone cases
return false;
} else {
return typeEquiv( a, b );
}
// Apply transition with (1..n) arguments
}( args[ 0 ], args[ 1 ] ) ) &&
innerEquiv.apply( this, args.splice( 1, args.length - 1 ) ) );
} }
return innerEquiv; return innerEquiv;
}()); }() );
// Based on jsDump by Ariel Flesler // Based on jsDump by Ariel Flesler
// http://flesler.blogspot.com/2008/05/jsdump-pretty-dump-of-any-javascript.html // http://flesler.blogspot.com/2008/05/jsdump-pretty-dump-of-any-javascript.html
QUnit.dump = (function() { QUnit.dump = ( function() {
function quote( str ) { function quote( str ) {
return "\"" + str.toString().replace( /\\/g, "\\\\" ).replace( /"/g, "\\\"" ) + "\""; return "\"" + str.toString().replace( /\\/g, "\\\\" ).replace( /"/g, "\\\"" ) + "\"";
} }
@ -1903,10 +1908,25 @@ QUnit.dump = (function() {
return join( "[", ret, "]" ); return join( "[", ret, "]" );
} }
function isArray( obj ) {
return (
//Native Arrays
toString.call( obj ) === "[object Array]" ||
// NodeList objects
( typeof obj.length === "number" && obj.item !== undefined ) &&
( obj.length ?
obj.item( 0 ) === obj[ 0 ] :
( obj.item( 0 ) === null && obj[ 0 ] === undefined )
)
);
}
var reName = /^function (\w+)/, var reName = /^function (\w+)/,
dump = { dump = {
// objType is used mostly internally, you can fix a (custom) type in advance // The objType is used mostly internally, you can fix a (custom) type in advance
parse: function( obj, objType, stack ) { parse: function( obj, objType, stack ) {
stack = stack || []; stack = stack || [];
var res, parser, parserType, var res, parser, parserType,
@ -1930,6 +1950,7 @@ QUnit.dump = (function() {
}, },
typeOf: function( obj ) { typeOf: function( obj ) {
var type; var type;
if ( obj === null ) { if ( obj === null ) {
type = "null"; type = "null";
} else if ( typeof obj === "undefined" ) { } else if ( typeof obj === "undefined" ) {
@ -1948,16 +1969,7 @@ QUnit.dump = (function() {
type = "document"; type = "document";
} else if ( obj.nodeType ) { } else if ( obj.nodeType ) {
type = "node"; type = "node";
} else if ( } else if ( isArray( obj ) ) {
// native arrays
toString.call( obj ) === "[object Array]" ||
// NodeList objects
( typeof obj.length === "number" && obj.item !== undefined &&
( obj.length ? obj.item( 0 ) === obj[ 0 ] : ( obj.item( 0 ) === null &&
obj[ 0 ] === undefined ) ) )
) {
type = "array"; type = "array";
} else if ( obj.constructor === Error.prototype.constructor ) { } else if ( obj.constructor === Error.prototype.constructor ) {
type = "error"; type = "error";
@ -1966,10 +1978,12 @@ QUnit.dump = (function() {
} }
return type; return type;
}, },
separator: function() { separator: function() {
return this.multiline ? this.HTML ? "<br />" : "\n" : this.HTML ? "&#160;" : " "; return this.multiline ? this.HTML ? "<br />" : "\n" : this.HTML ? "&#160;" : " ";
}, },
// extra can be a number, shortcut for increasing-calling-decreasing
// Extra can be a number, shortcut for increasing-calling-decreasing
indent: function( extra ) { indent: function( extra ) {
if ( !this.multiline ) { if ( !this.multiline ) {
return ""; return "";
@ -1989,11 +2003,11 @@ QUnit.dump = (function() {
setParser: function( name, parser ) { setParser: function( name, parser ) {
this.parsers[ name ] = parser; this.parsers[ name ] = parser;
}, },
// The next 3 are exposed so you can use them // The next 3 are exposed so you can use them
quote: quote, quote: quote,
literal: literal, literal: literal,
join: join, join: join,
//
depth: 1, depth: 1,
maxDepth: QUnit.config.maxDepth, maxDepth: QUnit.config.maxDepth,
@ -2010,13 +2024,13 @@ QUnit.dump = (function() {
"function": function( fn ) { "function": function( fn ) {
var ret = "function", var ret = "function",
// functions never have name in IE // Functions never have name in IE
name = "name" in fn ? fn.name : ( reName.exec( fn ) || [] )[ 1 ]; name = "name" in fn ? fn.name : ( reName.exec( fn ) || [] )[ 1 ];
if ( name ) { if ( name ) {
ret += " " + name; ret += " " + name;
} }
ret += "( "; ret += "(";
ret = [ ret, dump.parse( fn, "functionArgs" ), "){" ].join( "" ); ret = [ ret, dump.parse( fn, "functionArgs" ), "){" ].join( "" );
return join( ret, dump.parse( fn, "functionCode" ), "}" ); return join( ret, dump.parse( fn, "functionCode" ), "}" );
@ -2087,7 +2101,7 @@ QUnit.dump = (function() {
return ret + open + "/" + tag + close; return ret + open + "/" + tag + close;
}, },
// function calls it internally, it's the arguments part of the function // Function calls it internally, it's the arguments part of the function
functionArgs: function( fn ) { functionArgs: function( fn ) {
var args, var args,
l = fn.length; l = fn.length;
@ -2104,80 +2118,107 @@ QUnit.dump = (function() {
} }
return " " + args.join( ", " ) + " "; return " " + args.join( ", " ) + " ";
}, },
// object calls it internally, the key part of an item in a map
// Object calls it internally, the key part of an item in a map
key: quote, key: quote,
// function calls it internally, it's the content of the function
// Function calls it internally, it's the content of the function
functionCode: "[code]", functionCode: "[code]",
// node calls it internally, it's an html attribute value
// Node calls it internally, it's a html attribute value
attribute: quote, attribute: quote,
string: quote, string: quote,
date: quote, date: quote,
regexp: literal, regexp: literal,
number: literal, number: literal,
"boolean": literal "boolean": literal,
symbol: function( sym ) {
return sym.toString();
}
}, },
// if true, entities are escaped ( <, >, \t, space and \n )
// If true, entities are escaped ( <, >, \t, space and \n )
HTML: false, HTML: false,
// indentation unit
// Indentation unit
indentChar: " ", indentChar: " ",
// if true, items in a collection, are separated by a \n, else just a space.
// If true, items in a collection, are separated by a \n, else just a space.
multiline: true multiline: true
}; };
return dump; return dump;
}()); }() );
// back compat // Back compat
QUnit.jsDump = QUnit.dump; QUnit.jsDump = QUnit.dump;
// For browser, export only select globals function applyDeprecated( name ) {
return function() {
throw new Error(
name + " is removed in QUnit 2.0.\n" +
"Details in our upgrade guide at https://qunitjs.com/upgrade-guide-2.x/"
);
};
}
Object.keys( Assert.prototype ).forEach( function( key ) {
QUnit[ key ] = applyDeprecated( "`QUnit." + key + "`" );
} );
QUnit.asyncTest = function() {
throw new Error(
"asyncTest is removed in QUnit 2.0, use QUnit.test() with assert.async() instead.\n" +
"Details in our upgrade guide at https://qunitjs.com/upgrade-guide-2.x/"
);
};
QUnit.stop = function() {
throw new Error(
"QUnit.stop is removed in QUnit 2.0, use QUnit.test() with assert.async() instead.\n" +
"Details in our upgrade guide at https://qunitjs.com/upgrade-guide-2.x/"
);
};
function resetThrower() {
throw new Error(
"QUnit.reset is removed in QUnit 2.0 without replacement.\n" +
"Details in our upgrade guide at https://qunitjs.com/upgrade-guide-2.x/"
);
}
Object.defineProperty( QUnit, "reset", {
get: function() {
return resetThrower;
},
set: resetThrower
} );
if ( defined.document ) { if ( defined.document ) {
if ( window.QUnit ) {
throw new Error( "QUnit has already been defined." );
}
// Deprecated [
// Extend assert methods to QUnit and Global scope through Backwards compatibility "test",
(function() { "module",
var i, "expect",
assertions = Assert.prototype; "start",
"ok",
function applyCurrent( current ) { "notOk",
return function() { "equal",
var assert = new Assert( QUnit.config.current ); "notEqual",
current.apply( assert, arguments ); "propEqual",
}; "notPropEqual",
} "deepEqual",
"notDeepEqual",
for ( i in assertions ) { "strictEqual",
QUnit[ i ] = applyCurrent( assertions[ i ] ); "notStrictEqual",
} "throws",
})(); "raises"
].forEach( function( key ) {
(function() { window[ key ] = applyDeprecated( "The global `" + key + "`" );
var i, l, } );
keys = [
"test",
"module",
"expect",
"asyncTest",
"start",
"stop",
"ok",
"notOk",
"equal",
"notEqual",
"propEqual",
"notPropEqual",
"deepEqual",
"notDeepEqual",
"strictEqual",
"notStrictEqual",
"throws",
"raises"
];
for ( i = 0, l = keys.length; i < l; i++ ) {
window[ keys[ i ] ] = QUnit[ keys[ i ] ];
}
})();
window.QUnit = QUnit; window.QUnit = QUnit;
} }
@ -2202,6 +2243,1030 @@ if ( typeof define === "function" && define.amd ) {
QUnit.config.autostart = false; QUnit.config.autostart = false;
} }
// Get a reference to the global object, like window in browsers
}( ( function() {
return this;
}() ) ) );
( function() {
if ( typeof window === "undefined" || !window.document ) {
return;
}
var config = QUnit.config,
hasOwn = Object.prototype.hasOwnProperty;
// Stores fixture HTML for resetting later
function storeFixture() {
// Avoid overwriting user-defined values
if ( hasOwn.call( config, "fixture" ) ) {
return;
}
var fixture = document.getElementById( "qunit-fixture" );
if ( fixture ) {
config.fixture = fixture.innerHTML;
}
}
QUnit.begin( storeFixture );
// Resets the fixture DOM element if available.
function resetFixture() {
if ( config.fixture == null ) {
return;
}
var fixture = document.getElementById( "qunit-fixture" );
if ( fixture ) {
fixture.innerHTML = config.fixture;
}
}
QUnit.testStart( resetFixture );
}() );
( function() {
// Only interact with URLs via window.location
var location = typeof window !== "undefined" && window.location;
if ( !location ) {
return;
}
var urlParams = getUrlParams();
QUnit.urlParams = urlParams;
// Match module/test by inclusion in an array
QUnit.config.moduleId = [].concat( urlParams.moduleId || [] );
QUnit.config.testId = [].concat( urlParams.testId || [] );
// Exact case-insensitive match of the module name
QUnit.config.module = urlParams.module;
// Regular expression or case-insenstive substring match against "moduleName: testName"
QUnit.config.filter = urlParams.filter;
// Test order randomization
if ( urlParams.seed === true ) {
// Generate a random seed if the option is specified without a value
QUnit.config.seed = Math.random().toString( 36 ).slice( 2 );
} else if ( urlParams.seed ) {
QUnit.config.seed = urlParams.seed;
}
// Add URL-parameter-mapped config values with UI form rendering data
QUnit.config.urlConfig.push(
{
id: "hidepassed",
label: "Hide passed tests",
tooltip: "Only show tests and assertions that fail. Stored as query-strings."
},
{
id: "noglobals",
label: "Check for Globals",
tooltip: "Enabling this will test if any test introduces new properties on the " +
"global object (`window` in Browsers). Stored as query-strings."
},
{
id: "notrycatch",
label: "No try-catch",
tooltip: "Enabling this will run tests outside of a try-catch block. Makes debugging " +
"exceptions in IE reasonable. Stored as query-strings."
}
);
QUnit.begin( function() {
var i, option,
urlConfig = QUnit.config.urlConfig;
for ( i = 0; i < urlConfig.length; i++ ) {
// Options can be either strings or objects with nonempty "id" properties
option = QUnit.config.urlConfig[ i ];
if ( typeof option !== "string" ) {
option = option.id;
}
if ( QUnit.config[ option ] === undefined ) {
QUnit.config[ option ] = urlParams[ option ];
}
}
} );
function getUrlParams() {
var i, param, name, value;
var urlParams = {};
var params = location.search.slice( 1 ).split( "&" );
var length = params.length;
for ( i = 0; i < length; i++ ) {
if ( params[ i ] ) {
param = params[ i ].split( "=" );
name = decodeQueryParam( param[ 0 ] );
// Allow just a key to turn on a flag, e.g., test.html?noglobals
value = param.length === 1 ||
decodeQueryParam( param.slice( 1 ).join( "=" ) ) ;
if ( urlParams[ name ] ) {
urlParams[ name ] = [].concat( urlParams[ name ], value );
} else {
urlParams[ name ] = value;
}
}
}
return urlParams;
}
function decodeQueryParam( param ) {
return decodeURIComponent( param.replace( /\+/g, "%20" ) );
}
// Don't load the HTML Reporter on non-browser environments
if ( typeof window === "undefined" || !window.document ) {
return;
}
QUnit.init = function() {
throw new Error(
"QUnit.init is removed in QUnit 2.0, use QUnit.test() with assert.async() instead.\n" +
"Details in our upgrade guide at https://qunitjs.com/upgrade-guide-2.x/"
);
};
var config = QUnit.config,
document = window.document,
collapseNext = false,
hasOwn = Object.prototype.hasOwnProperty,
unfilteredUrl = setUrl( { filter: undefined, module: undefined,
moduleId: undefined, testId: undefined } ),
defined = {
sessionStorage: ( function() {
var x = "qunit-test-string";
try {
sessionStorage.setItem( x, x );
sessionStorage.removeItem( x );
return true;
} catch ( e ) {
return false;
}
}() )
},
modulesList = [];
// Escape text for attribute or text content.
function escapeText( s ) {
if ( !s ) {
return "";
}
s = s + "";
// Both single quotes and double quotes (for attributes)
return s.replace( /['"<>&]/g, function( s ) {
switch ( s ) {
case "'":
return "&#039;";
case "\"":
return "&quot;";
case "<":
return "&lt;";
case ">":
return "&gt;";
case "&":
return "&amp;";
}
} );
}
function addEvent( elem, type, fn ) {
elem.addEventListener( type, fn, false );
}
function removeEvent( elem, type, fn ) {
elem.removeEventListener( type, fn, false );
}
function addEvents( elems, type, fn ) {
var i = elems.length;
while ( i-- ) {
addEvent( elems[ i ], type, fn );
}
}
function hasClass( elem, name ) {
return ( " " + elem.className + " " ).indexOf( " " + name + " " ) >= 0;
}
function addClass( elem, name ) {
if ( !hasClass( elem, name ) ) {
elem.className += ( elem.className ? " " : "" ) + name;
}
}
function toggleClass( elem, name, force ) {
if ( force || typeof force === "undefined" && !hasClass( elem, name ) ) {
addClass( elem, name );
} else {
removeClass( elem, name );
}
}
function removeClass( elem, name ) {
var set = " " + elem.className + " ";
// Class name may appear multiple times
while ( set.indexOf( " " + name + " " ) >= 0 ) {
set = set.replace( " " + name + " ", " " );
}
// Trim for prettiness
elem.className = typeof set.trim === "function" ? set.trim() : set.replace( /^\s+|\s+$/g, "" );
}
function id( name ) {
return document.getElementById && document.getElementById( name );
}
function interceptNavigation( ev ) {
applyUrlParams();
if ( ev && ev.preventDefault ) {
ev.preventDefault();
}
return false;
}
function getUrlConfigHtml() {
var i, j, val,
escaped, escapedTooltip,
selection = false,
urlConfig = config.urlConfig,
urlConfigHtml = "";
for ( i = 0; i < urlConfig.length; i++ ) {
// Options can be either strings or objects with nonempty "id" properties
val = config.urlConfig[ i ];
if ( typeof val === "string" ) {
val = {
id: val,
label: val
};
}
escaped = escapeText( val.id );
escapedTooltip = escapeText( val.tooltip );
if ( !val.value || typeof val.value === "string" ) {
urlConfigHtml += "<label for='qunit-urlconfig-" + escaped +
"' title='" + escapedTooltip + "'><input id='qunit-urlconfig-" + escaped +
"' name='" + escaped + "' type='checkbox'" +
( val.value ? " value='" + escapeText( val.value ) + "'" : "" ) +
( config[ val.id ] ? " checked='checked'" : "" ) +
" title='" + escapedTooltip + "' />" + escapeText( val.label ) + "</label>";
} else {
urlConfigHtml += "<label for='qunit-urlconfig-" + escaped +
"' title='" + escapedTooltip + "'>" + val.label +
": </label><select id='qunit-urlconfig-" + escaped +
"' name='" + escaped + "' title='" + escapedTooltip + "'><option></option>";
if ( QUnit.is( "array", val.value ) ) {
for ( j = 0; j < val.value.length; j++ ) {
escaped = escapeText( val.value[ j ] );
urlConfigHtml += "<option value='" + escaped + "'" +
( config[ val.id ] === val.value[ j ] ?
( selection = true ) && " selected='selected'" : "" ) +
">" + escaped + "</option>";
}
} else {
for ( j in val.value ) {
if ( hasOwn.call( val.value, j ) ) {
urlConfigHtml += "<option value='" + escapeText( j ) + "'" +
( config[ val.id ] === j ?
( selection = true ) && " selected='selected'" : "" ) +
">" + escapeText( val.value[ j ] ) + "</option>";
}
}
}
if ( config[ val.id ] && !selection ) {
escaped = escapeText( config[ val.id ] );
urlConfigHtml += "<option value='" + escaped +
"' selected='selected' disabled='disabled'>" + escaped + "</option>";
}
urlConfigHtml += "</select>";
}
}
return urlConfigHtml;
}
// Handle "click" events on toolbar checkboxes and "change" for select menus.
// Updates the URL with the new state of `config.urlConfig` values.
function toolbarChanged() {
var updatedUrl, value, tests,
field = this,
params = {};
// Detect if field is a select menu or a checkbox
if ( "selectedIndex" in field ) {
value = field.options[ field.selectedIndex ].value || undefined;
} else {
value = field.checked ? ( field.defaultValue || true ) : undefined;
}
params[ field.name ] = value;
updatedUrl = setUrl( params );
// Check if we can apply the change without a page refresh
if ( "hidepassed" === field.name && "replaceState" in window.history ) {
QUnit.urlParams[ field.name ] = value;
config[ field.name ] = value || false;
tests = id( "qunit-tests" );
if ( tests ) {
toggleClass( tests, "hidepass", value || false );
}
window.history.replaceState( null, "", updatedUrl );
} else {
window.location = updatedUrl;
}
}
function setUrl( params ) {
var key, arrValue, i,
querystring = "?",
location = window.location;
params = QUnit.extend( QUnit.extend( {}, QUnit.urlParams ), params );
for ( key in params ) {
// Skip inherited or undefined properties
if ( hasOwn.call( params, key ) && params[ key ] !== undefined ) {
// Output a parameter for each value of this key (but usually just one)
arrValue = [].concat( params[ key ] );
for ( i = 0; i < arrValue.length; i++ ) {
querystring += encodeURIComponent( key );
if ( arrValue[ i ] !== true ) {
querystring += "=" + encodeURIComponent( arrValue[ i ] );
}
querystring += "&";
}
}
}
return location.protocol + "//" + location.host +
location.pathname + querystring.slice( 0, -1 );
}
function applyUrlParams() {
var i,
selectedModules = [],
modulesList = id( "qunit-modulefilter-dropdown-list" ).getElementsByTagName( "input" ),
filter = id( "qunit-filter-input" ).value;
for ( i = 0; i < modulesList.length; i++ ) {
if ( modulesList[ i ].checked ) {
selectedModules.push( modulesList[ i ].value );
}
}
window.location = setUrl( {
filter: ( filter === "" ) ? undefined : filter,
moduleId: ( selectedModules.length === 0 ) ? undefined : selectedModules,
// Remove module and testId filter
module: undefined,
testId: undefined
} );
}
function toolbarUrlConfigContainer() {
var urlConfigContainer = document.createElement( "span" );
urlConfigContainer.innerHTML = getUrlConfigHtml();
addClass( urlConfigContainer, "qunit-url-config" );
addEvents( urlConfigContainer.getElementsByTagName( "input" ), "change", toolbarChanged );
addEvents( urlConfigContainer.getElementsByTagName( "select" ), "change", toolbarChanged );
return urlConfigContainer;
}
function toolbarLooseFilter() {
var filter = document.createElement( "form" ),
label = document.createElement( "label" ),
input = document.createElement( "input" ),
button = document.createElement( "button" );
addClass( filter, "qunit-filter" );
label.innerHTML = "Filter: ";
input.type = "text";
input.value = config.filter || "";
input.name = "filter";
input.id = "qunit-filter-input";
button.innerHTML = "Go";
label.appendChild( input );
filter.appendChild( label );
filter.appendChild( document.createTextNode( " " ) );
filter.appendChild( button );
addEvent( filter, "submit", interceptNavigation );
return filter;
}
function moduleListHtml () {
var i, checked,
html = "";
for ( i = 0; i < config.modules.length; i++ ) {
if ( config.modules[ i ].name !== "" ) {
checked = config.moduleId.indexOf( config.modules[ i ].moduleId ) > -1;
html += "<li><label class='clickable" + ( checked ? " checked" : "" ) +
"'><input type='checkbox' " + "value='" + config.modules[ i ].moduleId + "'" +
( checked ? " checked='checked'" : "" ) + " />" +
escapeText( config.modules[ i ].name ) + "</label></li>";
}
}
return html;
}
function toolbarModuleFilter () {
var allCheckbox, commit, reset,
moduleFilter = document.createElement( "form" ),
label = document.createElement( "label" ),
moduleSearch = document.createElement( "input" ),
dropDown = document.createElement( "div" ),
actions = document.createElement( "span" ),
dropDownList = document.createElement( "ul" ),
dirty = false;
moduleSearch.id = "qunit-modulefilter-search";
addEvent( moduleSearch, "input", searchInput );
addEvent( moduleSearch, "input", searchFocus );
addEvent( moduleSearch, "focus", searchFocus );
addEvent( moduleSearch, "click", searchFocus );
label.id = "qunit-modulefilter-search-container";
label.innerHTML = "Module: ";
label.appendChild( moduleSearch );
actions.id = "qunit-modulefilter-actions";
actions.innerHTML =
"<button style='display:none'>Apply</button>" +
"<button type='reset' style='display:none'>Reset</button>" +
"<label class='clickable" +
( config.moduleId.length ? "" : " checked" ) +
"'><input type='checkbox'" + ( config.moduleId.length ? "" : " checked='checked'" ) +
">All modules</label>";
allCheckbox = actions.lastChild.firstChild;
commit = actions.firstChild;
reset = commit.nextSibling;
addEvent( commit, "click", applyUrlParams );
dropDownList.id = "qunit-modulefilter-dropdown-list";
dropDownList.innerHTML = moduleListHtml();
dropDown.id = "qunit-modulefilter-dropdown";
dropDown.style.display = "none";
dropDown.appendChild( actions );
dropDown.appendChild( dropDownList );
addEvent( dropDown, "change", selectionChange );
selectionChange();
moduleFilter.id = "qunit-modulefilter";
moduleFilter.appendChild( label );
moduleFilter.appendChild( dropDown ) ;
addEvent( moduleFilter, "submit", interceptNavigation );
addEvent( moduleFilter, "reset", function() {
// Let the reset happen, then update styles
window.setTimeout( selectionChange );
} );
// Enables show/hide for the dropdown
function searchFocus() {
if ( dropDown.style.display !== "none" ) {
return;
}
dropDown.style.display = "block";
addEvent( document, "click", hideHandler );
addEvent( document, "keydown", hideHandler );
// Hide on Escape keydown or outside-container click
function hideHandler( e ) {
var inContainer = moduleFilter.contains( e.target );
if ( e.keyCode === 27 || !inContainer ) {
if ( e.keyCode === 27 && inContainer ) {
moduleSearch.focus();
}
dropDown.style.display = "none";
removeEvent( document, "click", hideHandler );
removeEvent( document, "keydown", hideHandler );
moduleSearch.value = "";
searchInput();
}
}
}
// Processes module search box input
function searchInput() {
var i, item,
searchText = moduleSearch.value.toLowerCase(),
listItems = dropDownList.children;
for ( i = 0; i < listItems.length; i++ ) {
item = listItems[ i ];
if ( !searchText || item.textContent.toLowerCase().indexOf( searchText ) > -1 ) {
item.style.display = "";
} else {
item.style.display = "none";
}
}
}
// Processes selection changes
function selectionChange( evt ) {
var i, item,
checkbox = evt && evt.target || allCheckbox,
modulesList = dropDownList.getElementsByTagName( "input" ),
selectedNames = [];
toggleClass( checkbox.parentNode, "checked", checkbox.checked );
dirty = false;
if ( checkbox.checked && checkbox !== allCheckbox ) {
allCheckbox.checked = false;
removeClass( allCheckbox.parentNode, "checked" );
}
for ( i = 0; i < modulesList.length; i++ ) {
item = modulesList[ i ];
if ( !evt ) {
toggleClass( item.parentNode, "checked", item.checked );
} else if ( checkbox === allCheckbox && checkbox.checked ) {
item.checked = false;
removeClass( item.parentNode, "checked" );
}
dirty = dirty || ( item.checked !== item.defaultChecked );
if ( item.checked ) {
selectedNames.push( item.parentNode.textContent );
}
}
commit.style.display = reset.style.display = dirty ? "" : "none";
moduleSearch.placeholder = selectedNames.join( ", " ) || allCheckbox.parentNode.textContent;
moduleSearch.title = "Type to filter list. Current selection:\n" +
( selectedNames.join( "\n" ) || allCheckbox.parentNode.textContent );
}
return moduleFilter;
}
function appendToolbar() {
var toolbar = id( "qunit-testrunner-toolbar" );
if ( toolbar ) {
toolbar.appendChild( toolbarUrlConfigContainer() );
toolbar.appendChild( toolbarModuleFilter() );
toolbar.appendChild( toolbarLooseFilter() );
toolbar.appendChild( document.createElement( "div" ) ).className = "clearfix";
}
}
function appendHeader() {
var header = id( "qunit-header" );
if ( header ) {
header.innerHTML = "<a href='" + escapeText( unfilteredUrl ) + "'>" + header.innerHTML +
"</a> ";
}
}
function appendBanner() {
var banner = id( "qunit-banner" );
if ( banner ) {
banner.className = "";
}
}
function appendTestResults() {
var tests = id( "qunit-tests" ),
result = id( "qunit-testresult" );
if ( result ) {
result.parentNode.removeChild( result );
}
if ( tests ) {
tests.innerHTML = "";
result = document.createElement( "p" );
result.id = "qunit-testresult";
result.className = "result";
tests.parentNode.insertBefore( result, tests );
result.innerHTML = "Running...<br />&#160;";
}
}
function appendFilteredTest() {
var testId = QUnit.config.testId;
if ( !testId || testId.length <= 0 ) {
return "";
}
return "<div id='qunit-filteredTest'>Rerunning selected tests: " +
escapeText( testId.join( ", " ) ) +
" <a id='qunit-clearFilter' href='" +
escapeText( unfilteredUrl ) +
"'>Run all tests</a></div>";
}
function appendUserAgent() {
var userAgent = id( "qunit-userAgent" );
if ( userAgent ) {
userAgent.innerHTML = "";
userAgent.appendChild(
document.createTextNode(
"QUnit " + QUnit.version + "; " + navigator.userAgent
)
);
}
}
function appendInterface() {
var qunit = id( "qunit" );
if ( qunit ) {
qunit.innerHTML =
"<h1 id='qunit-header'>" + escapeText( document.title ) + "</h1>" +
"<h2 id='qunit-banner'></h2>" +
"<div id='qunit-testrunner-toolbar'></div>" +
appendFilteredTest() +
"<h2 id='qunit-userAgent'></h2>" +
"<ol id='qunit-tests'></ol>";
}
appendHeader();
appendBanner();
appendTestResults();
appendUserAgent();
appendToolbar();
}
function appendTestsList( modules ) {
var i, l, x, z, test, moduleObj;
for ( i = 0, l = modules.length; i < l; i++ ) {
moduleObj = modules[ i ];
for ( x = 0, z = moduleObj.tests.length; x < z; x++ ) {
test = moduleObj.tests[ x ];
appendTest( test.name, test.testId, moduleObj.name );
}
}
}
function appendTest( name, testId, moduleName ) {
var title, rerunTrigger, testBlock, assertList,
tests = id( "qunit-tests" );
if ( !tests ) {
return;
}
title = document.createElement( "strong" );
title.innerHTML = getNameHtml( name, moduleName );
rerunTrigger = document.createElement( "a" );
rerunTrigger.innerHTML = "Rerun";
rerunTrigger.href = setUrl( { testId: testId } );
testBlock = document.createElement( "li" );
testBlock.appendChild( title );
testBlock.appendChild( rerunTrigger );
testBlock.id = "qunit-test-output-" + testId;
assertList = document.createElement( "ol" );
assertList.className = "qunit-assert-list";
testBlock.appendChild( assertList );
tests.appendChild( testBlock );
}
// HTML Reporter initialization and load
QUnit.begin( function( details ) {
var i, moduleObj, tests;
// Sort modules by name for the picker
for ( i = 0; i < details.modules.length; i++ ) {
moduleObj = details.modules[ i ];
if ( moduleObj.name ) {
modulesList.push( moduleObj.name );
}
}
modulesList.sort( function( a, b ) {
return a.localeCompare( b );
} );
// Initialize QUnit elements
appendInterface();
appendTestsList( details.modules );
tests = id( "qunit-tests" );
if ( tests && config.hidepassed ) {
addClass( tests, "hidepass" );
}
} );
QUnit.done( function( details ) {
var i, key,
banner = id( "qunit-banner" ),
tests = id( "qunit-tests" ),
html = [
"Tests completed in ",
details.runtime,
" milliseconds.<br />",
"<span class='passed'>",
details.passed,
"</span> assertions of <span class='total'>",
details.total,
"</span> passed, <span class='failed'>",
details.failed,
"</span> failed."
].join( "" );
if ( banner ) {
banner.className = details.failed ? "qunit-fail" : "qunit-pass";
}
if ( tests ) {
id( "qunit-testresult" ).innerHTML = html;
}
if ( config.altertitle && document.title ) {
// Show ✖ for good, ✔ for bad suite result in title
// use escape sequences in case file gets loaded with non-utf-8-charset
document.title = [
( details.failed ? "\u2716" : "\u2714" ),
document.title.replace( /^[\u2714\u2716] /i, "" )
].join( " " );
}
// Clear own sessionStorage items if all tests passed
if ( config.reorder && defined.sessionStorage && details.failed === 0 ) {
for ( i = 0; i < sessionStorage.length; i++ ) {
key = sessionStorage.key( i++ );
if ( key.indexOf( "qunit-test-" ) === 0 ) {
sessionStorage.removeItem( key );
}
}
}
// Scroll back to top to show results
if ( config.scrolltop && window.scrollTo ) {
window.scrollTo( 0, 0 );
}
} );
function getNameHtml( name, module ) {
var nameHtml = "";
if ( module ) {
nameHtml = "<span class='module-name'>" + escapeText( module ) + "</span>: ";
}
nameHtml += "<span class='test-name'>" + escapeText( name ) + "</span>";
return nameHtml;
}
QUnit.testStart( function( details ) {
var running, testBlock, bad;
testBlock = id( "qunit-test-output-" + details.testId );
if ( testBlock ) {
testBlock.className = "running";
} else {
// Report later registered tests
appendTest( details.name, details.testId, details.module );
}
running = id( "qunit-testresult" );
if ( running ) {
bad = QUnit.config.reorder && defined.sessionStorage &&
+sessionStorage.getItem( "qunit-test-" + details.module + "-" + details.name );
running.innerHTML = ( bad ?
"Rerunning previously failed test: <br />" :
"Running: <br />" ) +
getNameHtml( details.name, details.module );
}
} );
function stripHtml( string ) {
// Strip tags, html entity and whitespaces
return string.replace( /<\/?[^>]+(>|$)/g, "" ).replace( /\&quot;/g, "" ).replace( /\s+/g, "" );
}
QUnit.log( function( details ) {
var assertList, assertLi,
message, expected, actual, diff,
showDiff = false,
testItem = id( "qunit-test-output-" + details.testId );
if ( !testItem ) {
return;
}
message = escapeText( details.message ) || ( details.result ? "okay" : "failed" );
message = "<span class='test-message'>" + message + "</span>";
message += "<span class='runtime'>@ " + details.runtime + " ms</span>";
// The pushFailure doesn't provide details.expected
// when it calls, it's implicit to also not show expected and diff stuff
// Also, we need to check details.expected existence, as it can exist and be undefined
if ( !details.result && hasOwn.call( details, "expected" ) ) {
if ( details.negative ) {
expected = "NOT " + QUnit.dump.parse( details.expected );
} else {
expected = QUnit.dump.parse( details.expected );
}
actual = QUnit.dump.parse( details.actual );
message += "<table><tr class='test-expected'><th>Expected: </th><td><pre>" +
escapeText( expected ) +
"</pre></td></tr>";
if ( actual !== expected ) {
message += "<tr class='test-actual'><th>Result: </th><td><pre>" +
escapeText( actual ) + "</pre></td></tr>";
// Don't show diff if actual or expected are booleans
if ( !( /^(true|false)$/.test( actual ) ) &&
!( /^(true|false)$/.test( expected ) ) ) {
diff = QUnit.diff( expected, actual );
showDiff = stripHtml( diff ).length !==
stripHtml( expected ).length +
stripHtml( actual ).length;
}
// Don't show diff if expected and actual are totally different
if ( showDiff ) {
message += "<tr class='test-diff'><th>Diff: </th><td><pre>" +
diff + "</pre></td></tr>";
}
} else if ( expected.indexOf( "[object Array]" ) !== -1 ||
expected.indexOf( "[object Object]" ) !== -1 ) {
message += "<tr class='test-message'><th>Message: </th><td>" +
"Diff suppressed as the depth of object is more than current max depth (" +
QUnit.config.maxDepth + ").<p>Hint: Use <code>QUnit.dump.maxDepth</code> to " +
" run with a higher max depth or <a href='" +
escapeText( setUrl( { maxDepth: -1 } ) ) + "'>" +
"Rerun</a> without max depth.</p></td></tr>";
} else {
message += "<tr class='test-message'><th>Message: </th><td>" +
"Diff suppressed as the expected and actual results have an equivalent" +
" serialization</td></tr>";
}
if ( details.source ) {
message += "<tr class='test-source'><th>Source: </th><td><pre>" +
escapeText( details.source ) + "</pre></td></tr>";
}
message += "</table>";
// This occurs when pushFailure is set and we have an extracted stack trace
} else if ( !details.result && details.source ) {
message += "<table>" +
"<tr class='test-source'><th>Source: </th><td><pre>" +
escapeText( details.source ) + "</pre></td></tr>" +
"</table>";
}
assertList = testItem.getElementsByTagName( "ol" )[ 0 ];
assertLi = document.createElement( "li" );
assertLi.className = details.result ? "pass" : "fail";
assertLi.innerHTML = message;
assertList.appendChild( assertLi );
} );
QUnit.testDone( function( details ) {
var testTitle, time, testItem, assertList,
good, bad, testCounts, skipped, sourceName,
tests = id( "qunit-tests" );
if ( !tests ) {
return;
}
testItem = id( "qunit-test-output-" + details.testId );
assertList = testItem.getElementsByTagName( "ol" )[ 0 ];
good = details.passed;
bad = details.failed;
// Store result when possible
if ( config.reorder && defined.sessionStorage ) {
if ( bad ) {
sessionStorage.setItem( "qunit-test-" + details.module + "-" + details.name, bad );
} else {
sessionStorage.removeItem( "qunit-test-" + details.module + "-" + details.name );
}
}
if ( bad === 0 ) {
// Collapse the passing tests
addClass( assertList, "qunit-collapsed" );
} else if ( bad && config.collapse && !collapseNext ) {
// Skip collapsing the first failing test
collapseNext = true;
} else {
// Collapse remaining tests
addClass( assertList, "qunit-collapsed" );
}
// The testItem.firstChild is the test name
testTitle = testItem.firstChild;
testCounts = bad ?
"<b class='failed'>" + bad + "</b>, " + "<b class='passed'>" + good + "</b>, " :
"";
testTitle.innerHTML += " <b class='counts'>(" + testCounts +
details.assertions.length + ")</b>";
if ( details.skipped ) {
testItem.className = "skipped";
skipped = document.createElement( "em" );
skipped.className = "qunit-skipped-label";
skipped.innerHTML = "skipped";
testItem.insertBefore( skipped, testTitle );
} else {
addEvent( testTitle, "click", function() {
toggleClass( assertList, "qunit-collapsed" );
} );
testItem.className = bad ? "fail" : "pass";
time = document.createElement( "span" );
time.className = "runtime";
time.innerHTML = details.runtime + " ms";
testItem.insertBefore( time, assertList );
}
// Show the source of the test when showing assertions
if ( details.source ) {
sourceName = document.createElement( "p" );
sourceName.innerHTML = "<strong>Source: </strong>" + details.source;
addClass( sourceName, "qunit-source" );
if ( bad === 0 ) {
addClass( sourceName, "qunit-collapsed" );
}
addEvent( testTitle, "click", function() {
toggleClass( sourceName, "qunit-collapsed" );
} );
testItem.appendChild( sourceName );
}
} );
// Avoid readyState issue with phantomjs
// Ref: #818
var notPhantom = ( function( p ) {
return !( p && p.version && p.version.major > 0 );
} )( window.phantom );
if ( notPhantom && document.readyState === "complete" ) {
QUnit.load();
} else {
addEvent( window, "load", QUnit.load );
}
/* /*
* This file is a modified version of google-diff-match-patch's JavaScript implementation * This file is a modified version of google-diff-match-patch's JavaScript implementation
* (https://code.google.com/p/google-diff-match-patch/source/browse/trunk/javascript/diff_match_patch_uncompressed.js), * (https://code.google.com/p/google-diff-match-patch/source/browse/trunk/javascript/diff_match_patch_uncompressed.js),
@ -2210,13 +3275,13 @@ if ( typeof define === "function" && define.amd ) {
* The original source of google-diff-match-patch is attributable and licensed as follows: * The original source of google-diff-match-patch is attributable and licensed as follows:
* *
* Copyright 2006 Google Inc. * Copyright 2006 Google Inc.
* http://code.google.com/p/google-diff-match-patch/ * https://code.google.com/p/google-diff-match-patch/
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
* You may obtain a copy of the License at * You may obtain a copy of the License at
* *
* http://www.apache.org/licenses/LICENSE-2.0 * https://www.apache.org/licenses/LICENSE-2.0
* *
* Unless required by applicable law or agreed to in writing, software * Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, * distributed under the License is distributed on an "AS IS" BASIS,
@ -2321,14 +3386,19 @@ QUnit.diff = ( function() {
equalitiesLength = 0; // Keeping our own length var is faster in JS. equalitiesLength = 0; // Keeping our own length var is faster in JS.
/** @type {?string} */ /** @type {?string} */
lastequality = null; lastequality = null;
// Always equal to diffs[equalities[equalitiesLength - 1]][1] // Always equal to diffs[equalities[equalitiesLength - 1]][1]
pointer = 0; // Index of current position. pointer = 0; // Index of current position.
// Is there an insertion operation before the last equality. // Is there an insertion operation before the last equality.
preIns = false; preIns = false;
// Is there a deletion operation before the last equality. // Is there a deletion operation before the last equality.
preDel = false; preDel = false;
// Is there an insertion operation after the last equality. // Is there an insertion operation after the last equality.
postIns = false; postIns = false;
// Is there a deletion operation after the last equality. // Is there a deletion operation after the last equality.
postDel = false; postDel = false;
while ( pointer < diffs.length ) { while ( pointer < diffs.length ) {
@ -2383,6 +3453,7 @@ QUnit.diff = ( function() {
equalitiesLength--; // Throw away the equality we just deleted; equalitiesLength--; // Throw away the equality we just deleted;
lastequality = null; lastequality = null;
if ( preIns && preDel ) { if ( preIns && preDel ) {
// No changes made which could affect previous entry, keep going. // No changes made which could affect previous entry, keep going.
postIns = postDel = true; postIns = postDel = true;
equalitiesLength = 0; equalitiesLength = 0;
@ -2416,13 +3487,13 @@ QUnit.diff = ( function() {
data = diffs[ x ][ 1 ]; // Text of change. data = diffs[ x ][ 1 ]; // Text of change.
switch ( op ) { switch ( op ) {
case DIFF_INSERT: case DIFF_INSERT:
html[ x ] = "<ins>" + data + "</ins>"; html[ x ] = "<ins>" + escapeText( data ) + "</ins>";
break; break;
case DIFF_DELETE: case DIFF_DELETE:
html[ x ] = "<del>" + data + "</del>"; html[ x ] = "<del>" + escapeText( data ) + "</del>";
break; break;
case DIFF_EQUAL: case DIFF_EQUAL:
html[ x ] = "<span>" + data + "</span>"; html[ x ] = "<span>" + escapeText( data ) + "</span>";
break; break;
} }
} }
@ -2438,12 +3509,14 @@ QUnit.diff = ( function() {
*/ */
DiffMatchPatch.prototype.diffCommonPrefix = function( text1, text2 ) { DiffMatchPatch.prototype.diffCommonPrefix = function( text1, text2 ) {
var pointermid, pointermax, pointermin, pointerstart; var pointermid, pointermax, pointermin, pointerstart;
// Quick check for common null cases. // Quick check for common null cases.
if ( !text1 || !text2 || text1.charAt( 0 ) !== text2.charAt( 0 ) ) { if ( !text1 || !text2 || text1.charAt( 0 ) !== text2.charAt( 0 ) ) {
return 0; return 0;
} }
// Binary search. // Binary search.
// Performance analysis: http://neil.fraser.name/news/2007/10/09/ // Performance analysis: https://neil.fraser.name/news/2007/10/09/
pointermin = 0; pointermin = 0;
pointermax = Math.min( text1.length, text2.length ); pointermax = Math.min( text1.length, text2.length );
pointermid = pointermax; pointermid = pointermax;
@ -2469,14 +3542,16 @@ QUnit.diff = ( function() {
*/ */
DiffMatchPatch.prototype.diffCommonSuffix = function( text1, text2 ) { DiffMatchPatch.prototype.diffCommonSuffix = function( text1, text2 ) {
var pointermid, pointermax, pointermin, pointerend; var pointermid, pointermax, pointermin, pointerend;
// Quick check for common null cases. // Quick check for common null cases.
if ( !text1 || if ( !text1 ||
!text2 || !text2 ||
text1.charAt( text1.length - 1 ) !== text2.charAt( text2.length - 1 ) ) { text1.charAt( text1.length - 1 ) !== text2.charAt( text2.length - 1 ) ) {
return 0; return 0;
} }
// Binary search. // Binary search.
// Performance analysis: http://neil.fraser.name/news/2007/10/09/ // Performance analysis: https://neil.fraser.name/news/2007/10/09/
pointermin = 0; pointermin = 0;
pointermax = Math.min( text1.length, text2.length ); pointermax = Math.min( text1.length, text2.length );
pointermid = pointermax; pointermid = pointermax;
@ -2512,6 +3587,7 @@ QUnit.diff = ( function() {
midCommon, diffsA, diffsB; midCommon, diffsA, diffsB;
if ( !text1 ) { if ( !text1 ) {
// Just add some text (speedup). // Just add some text (speedup).
return [ return [
[ DIFF_INSERT, text2 ] [ DIFF_INSERT, text2 ]
@ -2519,6 +3595,7 @@ QUnit.diff = ( function() {
} }
if ( !text2 ) { if ( !text2 ) {
// Just delete some text (speedup). // Just delete some text (speedup).
return [ return [
[ DIFF_DELETE, text1 ] [ DIFF_DELETE, text1 ]
@ -2529,12 +3606,14 @@ QUnit.diff = ( function() {
shorttext = text1.length > text2.length ? text2 : text1; shorttext = text1.length > text2.length ? text2 : text1;
i = longtext.indexOf( shorttext ); i = longtext.indexOf( shorttext );
if ( i !== -1 ) { if ( i !== -1 ) {
// Shorter text is inside the longer text (speedup). // Shorter text is inside the longer text (speedup).
diffs = [ diffs = [
[ DIFF_INSERT, longtext.substring( 0, i ) ], [ DIFF_INSERT, longtext.substring( 0, i ) ],
[ DIFF_EQUAL, shorttext ], [ DIFF_EQUAL, shorttext ],
[ DIFF_INSERT, longtext.substring( i + shorttext.length ) ] [ DIFF_INSERT, longtext.substring( i + shorttext.length ) ]
]; ];
// Swap insertions for deletions if diff is reversed. // Swap insertions for deletions if diff is reversed.
if ( text1.length > text2.length ) { if ( text1.length > text2.length ) {
diffs[ 0 ][ 0 ] = diffs[ 2 ][ 0 ] = DIFF_DELETE; diffs[ 0 ][ 0 ] = diffs[ 2 ][ 0 ] = DIFF_DELETE;
@ -2543,6 +3622,7 @@ QUnit.diff = ( function() {
} }
if ( shorttext.length === 1 ) { if ( shorttext.length === 1 ) {
// Single character string. // Single character string.
// After the previous speedup, the character can't be an equality. // After the previous speedup, the character can't be an equality.
return [ return [
@ -2554,15 +3634,18 @@ QUnit.diff = ( function() {
// Check to see if the problem can be split in two. // Check to see if the problem can be split in two.
hm = this.diffHalfMatch( text1, text2 ); hm = this.diffHalfMatch( text1, text2 );
if ( hm ) { if ( hm ) {
// A half-match was found, sort out the return data. // A half-match was found, sort out the return data.
text1A = hm[ 0 ]; text1A = hm[ 0 ];
text1B = hm[ 1 ]; text1B = hm[ 1 ];
text2A = hm[ 2 ]; text2A = hm[ 2 ];
text2B = hm[ 3 ]; text2B = hm[ 3 ];
midCommon = hm[ 4 ]; midCommon = hm[ 4 ];
// Send both pairs off for separate processing. // Send both pairs off for separate processing.
diffsA = this.DiffMain( text1A, text2A, checklines, deadline ); diffsA = this.DiffMain( text1A, text2A, checklines, deadline );
diffsB = this.DiffMain( text1B, text2B, checklines, deadline ); diffsB = this.DiffMain( text1B, text2B, checklines, deadline );
// Merge the results. // Merge the results.
return diffsA.concat( [ return diffsA.concat( [
[ DIFF_EQUAL, midCommon ] [ DIFF_EQUAL, midCommon ]
@ -2614,6 +3697,7 @@ QUnit.diff = ( function() {
function diffHalfMatchI( longtext, shorttext, i ) { function diffHalfMatchI( longtext, shorttext, i ) {
var seed, j, bestCommon, prefixLength, suffixLength, var seed, j, bestCommon, prefixLength, suffixLength,
bestLongtextA, bestLongtextB, bestShorttextA, bestShorttextB; bestLongtextA, bestLongtextB, bestShorttextA, bestShorttextB;
// Start with a 1/4 length substring at position i as a seed. // Start with a 1/4 length substring at position i as a seed.
seed = longtext.substring( i, i + Math.floor( longtext.length / 4 ) ); seed = longtext.substring( i, i + Math.floor( longtext.length / 4 ) );
j = -1; j = -1;
@ -2644,6 +3728,7 @@ QUnit.diff = ( function() {
// First check if the second quarter is the seed for a half-match. // First check if the second quarter is the seed for a half-match.
hm1 = diffHalfMatchI( longtext, shorttext, hm1 = diffHalfMatchI( longtext, shorttext,
Math.ceil( longtext.length / 4 ) ); Math.ceil( longtext.length / 4 ) );
// Check again based on the third quarter. // Check again based on the third quarter.
hm2 = diffHalfMatchI( longtext, shorttext, hm2 = diffHalfMatchI( longtext, shorttext,
Math.ceil( longtext.length / 2 ) ); Math.ceil( longtext.length / 2 ) );
@ -2654,6 +3739,7 @@ QUnit.diff = ( function() {
} else if ( !hm1 ) { } else if ( !hm1 ) {
hm = hm2; hm = hm2;
} else { } else {
// Both matched. Select the longest. // Both matched. Select the longest.
hm = hm1[ 4 ].length > hm2[ 4 ].length ? hm1 : hm2; hm = hm1[ 4 ].length > hm2[ 4 ].length ? hm1 : hm2;
} }
@ -2688,6 +3774,7 @@ QUnit.diff = ( function() {
DiffMatchPatch.prototype.diffLineMode = function( text1, text2, deadline ) { DiffMatchPatch.prototype.diffLineMode = function( text1, text2, deadline ) {
var a, diffs, linearray, pointer, countInsert, var a, diffs, linearray, pointer, countInsert,
countDelete, textInsert, textDelete, j; countDelete, textInsert, textDelete, j;
// Scan the text on a line-by-line basis first. // Scan the text on a line-by-line basis first.
a = this.diffLinesToChars( text1, text2 ); a = this.diffLinesToChars( text1, text2 );
text1 = a.chars1; text1 = a.chars1;
@ -2698,6 +3785,7 @@ QUnit.diff = ( function() {
// Convert the diff back to original text. // Convert the diff back to original text.
this.diffCharsToLines( diffs, linearray ); this.diffCharsToLines( diffs, linearray );
// Eliminate freak matches (e.g. blank lines) // Eliminate freak matches (e.g. blank lines)
this.diffCleanupSemantic( diffs ); this.diffCleanupSemantic( diffs );
@ -2720,8 +3808,10 @@ QUnit.diff = ( function() {
textDelete += diffs[ pointer ][ 1 ]; textDelete += diffs[ pointer ][ 1 ];
break; break;
case DIFF_EQUAL: case DIFF_EQUAL:
// Upon reaching an equality, check for prior redundancies. // Upon reaching an equality, check for prior redundancies.
if ( countDelete >= 1 && countInsert >= 1 ) { if ( countDelete >= 1 && countInsert >= 1 ) {
// Delete the offending records and add the merged ones. // Delete the offending records and add the merged ones.
diffs.splice( pointer - countDelete - countInsert, diffs.splice( pointer - countDelete - countInsert,
countDelete + countInsert ); countDelete + countInsert );
@ -2759,6 +3849,7 @@ QUnit.diff = ( function() {
var text1Length, text2Length, maxD, vOffset, vLength, var text1Length, text2Length, maxD, vOffset, vLength,
v1, v2, x, delta, front, k1start, k1end, k2start, v1, v2, x, delta, front, k1start, k1end, k2start,
k2end, k2Offset, k1Offset, x1, x2, y1, y2, d, k1, k2; k2end, k2Offset, k1Offset, x1, x2, y1, y2, d, k1, k2;
// Cache the text lengths to prevent multiple calls. // Cache the text lengths to prevent multiple calls.
text1Length = text1.length; text1Length = text1.length;
text2Length = text2.length; text2Length = text2.length;
@ -2767,6 +3858,7 @@ QUnit.diff = ( function() {
vLength = 2 * maxD; vLength = 2 * maxD;
v1 = new Array( vLength ); v1 = new Array( vLength );
v2 = new Array( vLength ); v2 = new Array( vLength );
// Setting all elements to -1 is faster in Chrome & Firefox than mixing // Setting all elements to -1 is faster in Chrome & Firefox than mixing
// integers and undefined. // integers and undefined.
for ( x = 0; x < vLength; x++ ) { for ( x = 0; x < vLength; x++ ) {
@ -2776,9 +3868,11 @@ QUnit.diff = ( function() {
v1[ vOffset + 1 ] = 0; v1[ vOffset + 1 ] = 0;
v2[ vOffset + 1 ] = 0; v2[ vOffset + 1 ] = 0;
delta = text1Length - text2Length; delta = text1Length - text2Length;
// If the total number of characters is odd, then the front path will collide // If the total number of characters is odd, then the front path will collide
// with the reverse path. // with the reverse path.
front = ( delta % 2 !== 0 ); front = ( delta % 2 !== 0 );
// Offsets for start and end of k loop. // Offsets for start and end of k loop.
// Prevents mapping of space beyond the grid. // Prevents mapping of space beyond the grid.
k1start = 0; k1start = 0;
@ -2786,6 +3880,7 @@ QUnit.diff = ( function() {
k2start = 0; k2start = 0;
k2end = 0; k2end = 0;
for ( d = 0; d < maxD; d++ ) { for ( d = 0; d < maxD; d++ ) {
// Bail out if deadline is reached. // Bail out if deadline is reached.
if ( ( new Date() ).getTime() > deadline ) { if ( ( new Date() ).getTime() > deadline ) {
break; break;
@ -2807,17 +3902,21 @@ QUnit.diff = ( function() {
} }
v1[ k1Offset ] = x1; v1[ k1Offset ] = x1;
if ( x1 > text1Length ) { if ( x1 > text1Length ) {
// Ran off the right of the graph. // Ran off the right of the graph.
k1end += 2; k1end += 2;
} else if ( y1 > text2Length ) { } else if ( y1 > text2Length ) {
// Ran off the bottom of the graph. // Ran off the bottom of the graph.
k1start += 2; k1start += 2;
} else if ( front ) { } else if ( front ) {
k2Offset = vOffset + delta - k1; k2Offset = vOffset + delta - k1;
if ( k2Offset >= 0 && k2Offset < vLength && v2[ k2Offset ] !== -1 ) { if ( k2Offset >= 0 && k2Offset < vLength && v2[ k2Offset ] !== -1 ) {
// Mirror x2 onto top-left coordinate system. // Mirror x2 onto top-left coordinate system.
x2 = text1Length - v2[ k2Offset ]; x2 = text1Length - v2[ k2Offset ];
if ( x1 >= x2 ) { if ( x1 >= x2 ) {
// Overlap detected. // Overlap detected.
return this.diffBisectSplit( text1, text2, x1, y1, deadline ); return this.diffBisectSplit( text1, text2, x1, y1, deadline );
} }
@ -2842,9 +3941,11 @@ QUnit.diff = ( function() {
} }
v2[ k2Offset ] = x2; v2[ k2Offset ] = x2;
if ( x2 > text1Length ) { if ( x2 > text1Length ) {
// Ran off the left of the graph. // Ran off the left of the graph.
k2end += 2; k2end += 2;
} else if ( y2 > text2Length ) { } else if ( y2 > text2Length ) {
// Ran off the top of the graph. // Ran off the top of the graph.
k2start += 2; k2start += 2;
} else if ( !front ) { } else if ( !front ) {
@ -2852,9 +3953,11 @@ QUnit.diff = ( function() {
if ( k1Offset >= 0 && k1Offset < vLength && v1[ k1Offset ] !== -1 ) { if ( k1Offset >= 0 && k1Offset < vLength && v1[ k1Offset ] !== -1 ) {
x1 = v1[ k1Offset ]; x1 = v1[ k1Offset ];
y1 = vOffset + x1 - k1Offset; y1 = vOffset + x1 - k1Offset;
// Mirror x2 onto top-left coordinate system. // Mirror x2 onto top-left coordinate system.
x2 = text1Length - x2; x2 = text1Length - x2;
if ( x1 >= x2 ) { if ( x1 >= x2 ) {
// Overlap detected. // Overlap detected.
return this.diffBisectSplit( text1, text2, x1, y1, deadline ); return this.diffBisectSplit( text1, text2, x1, y1, deadline );
} }
@ -2862,6 +3965,7 @@ QUnit.diff = ( function() {
} }
} }
} }
// Diff took too long and hit the deadline or // Diff took too long and hit the deadline or
// number of diffs equals number of characters, no commonality at all. // number of diffs equals number of characters, no commonality at all.
return [ return [
@ -2908,11 +4012,14 @@ QUnit.diff = ( function() {
equalitiesLength = 0; // Keeping our own length var is faster in JS. equalitiesLength = 0; // Keeping our own length var is faster in JS.
/** @type {?string} */ /** @type {?string} */
lastequality = null; lastequality = null;
// Always equal to diffs[equalities[equalitiesLength - 1]][1] // Always equal to diffs[equalities[equalitiesLength - 1]][1]
pointer = 0; // Index of current position. pointer = 0; // Index of current position.
// Number of characters that changed prior to the equality. // Number of characters that changed prior to the equality.
lengthInsertions1 = 0; lengthInsertions1 = 0;
lengthDeletions1 = 0; lengthDeletions1 = 0;
// Number of characters that changed after the equality. // Number of characters that changed after the equality.
lengthInsertions2 = 0; lengthInsertions2 = 0;
lengthDeletions2 = 0; lengthDeletions2 = 0;
@ -2930,6 +4037,7 @@ QUnit.diff = ( function() {
} else { } else {
lengthDeletions2 += diffs[ pointer ][ 1 ].length; lengthDeletions2 += diffs[ pointer ][ 1 ].length;
} }
// Eliminate an equality that is smaller or equal to the edits on both // Eliminate an equality that is smaller or equal to the edits on both
// sides of it. // sides of it.
if ( lastequality && ( lastequality.length <= if ( lastequality && ( lastequality.length <=
@ -2988,6 +4096,7 @@ QUnit.diff = ( function() {
if ( overlapLength1 >= overlapLength2 ) { if ( overlapLength1 >= overlapLength2 ) {
if ( overlapLength1 >= deletion.length / 2 || if ( overlapLength1 >= deletion.length / 2 ||
overlapLength1 >= insertion.length / 2 ) { overlapLength1 >= insertion.length / 2 ) {
// Overlap found. Insert an equality and trim the surrounding edits. // Overlap found. Insert an equality and trim the surrounding edits.
diffs.splice( diffs.splice(
pointer, pointer,
@ -3037,13 +4146,16 @@ QUnit.diff = ( function() {
DiffMatchPatch.prototype.diffCommonOverlap = function( text1, text2 ) { DiffMatchPatch.prototype.diffCommonOverlap = function( text1, text2 ) {
var text1Length, text2Length, textLength, var text1Length, text2Length, textLength,
best, length, pattern, found; best, length, pattern, found;
// Cache the text lengths to prevent multiple calls. // Cache the text lengths to prevent multiple calls.
text1Length = text1.length; text1Length = text1.length;
text2Length = text2.length; text2Length = text2.length;
// Eliminate the null case. // Eliminate the null case.
if ( text1Length === 0 || text2Length === 0 ) { if ( text1Length === 0 || text2Length === 0 ) {
return 0; return 0;
} }
// Truncate the longer string. // Truncate the longer string.
if ( text1Length > text2Length ) { if ( text1Length > text2Length ) {
text1 = text1.substring( text1Length - text2Length ); text1 = text1.substring( text1Length - text2Length );
@ -3051,6 +4163,7 @@ QUnit.diff = ( function() {
text2 = text2.substring( 0, text1Length ); text2 = text2.substring( 0, text1Length );
} }
textLength = Math.min( text1Length, text2Length ); textLength = Math.min( text1Length, text2Length );
// Quick check for the worst case. // Quick check for the worst case.
if ( text1 === text2 ) { if ( text1 === text2 ) {
return textLength; return textLength;
@ -3058,7 +4171,7 @@ QUnit.diff = ( function() {
// Start by looking for a single character match // Start by looking for a single character match
// and increase length until no match is found. // and increase length until no match is found.
// Performance analysis: http://neil.fraser.name/news/2010/11/04/ // Performance analysis: https://neil.fraser.name/news/2010/11/04/
best = 0; best = 0;
length = 1; length = 1;
while ( true ) { while ( true ) {
@ -3089,8 +4202,8 @@ QUnit.diff = ( function() {
*/ */
DiffMatchPatch.prototype.diffLinesToChars = function( text1, text2 ) { DiffMatchPatch.prototype.diffLinesToChars = function( text1, text2 ) {
var lineArray, lineHash, chars1, chars2; var lineArray, lineHash, chars1, chars2;
lineArray = []; // e.g. lineArray[4] === 'Hello\n' lineArray = []; // E.g. lineArray[4] === 'Hello\n'
lineHash = {}; // e.g. lineHash['Hello\n'] === 4 lineHash = {}; // E.g. lineHash['Hello\n'] === 4
// '\x00' is a valid character, but various debuggers don't like it. // '\x00' is a valid character, but various debuggers don't like it.
// So we'll insert a junk entry to avoid generating a null character. // So we'll insert a junk entry to avoid generating a null character.
@ -3107,11 +4220,13 @@ QUnit.diff = ( function() {
function diffLinesToCharsMunge( text ) { function diffLinesToCharsMunge( text ) {
var chars, lineStart, lineEnd, lineArrayLength, line; var chars, lineStart, lineEnd, lineArrayLength, line;
chars = ""; chars = "";
// Walk the text, pulling out a substring for each line. // Walk the text, pulling out a substring for each line.
// text.split('\n') would would temporarily double our memory footprint. // text.split('\n') would would temporarily double our memory footprint.
// Modifying text would create many large strings to garbage collect. // Modifying text would create many large strings to garbage collect.
lineStart = 0; lineStart = 0;
lineEnd = -1; lineEnd = -1;
// Keeping our own length variable is faster than looking it up. // Keeping our own length variable is faster than looking it up.
lineArrayLength = lineArray.length; lineArrayLength = lineArray.length;
while ( lineEnd < text.length - 1 ) { while ( lineEnd < text.length - 1 ) {
@ -3190,10 +4305,12 @@ QUnit.diff = ( function() {
pointer++; pointer++;
break; break;
case DIFF_EQUAL: case DIFF_EQUAL:
// Upon reaching an equality, check for prior redundancies. // Upon reaching an equality, check for prior redundancies.
if ( countDelete + countInsert > 1 ) { if ( countDelete + countInsert > 1 ) {
if ( countDelete !== 0 && countInsert !== 0 ) { if ( countDelete !== 0 && countInsert !== 0 ) {
// Factor out any common prefixies.
// Factor out any common prefixes.
commonlength = this.diffCommonPrefix( textInsert, textDelete ); commonlength = this.diffCommonPrefix( textInsert, textDelete );
if ( commonlength !== 0 ) { if ( commonlength !== 0 ) {
if ( ( pointer - countDelete - countInsert ) > 0 && if ( ( pointer - countDelete - countInsert ) > 0 &&
@ -3210,6 +4327,7 @@ QUnit.diff = ( function() {
textInsert = textInsert.substring( commonlength ); textInsert = textInsert.substring( commonlength );
textDelete = textDelete.substring( commonlength ); textDelete = textDelete.substring( commonlength );
} }
// Factor out any common suffixies. // Factor out any common suffixies.
commonlength = this.diffCommonSuffix( textInsert, textDelete ); commonlength = this.diffCommonSuffix( textInsert, textDelete );
if ( commonlength !== 0 ) { if ( commonlength !== 0 ) {
@ -3221,6 +4339,7 @@ QUnit.diff = ( function() {
commonlength ); commonlength );
} }
} }
// Delete the offending records and add the merged ones. // Delete the offending records and add the merged ones.
if ( countDelete === 0 ) { if ( countDelete === 0 ) {
diffs.splice( pointer - countInsert, diffs.splice( pointer - countInsert,
@ -3297,6 +4416,7 @@ QUnit.diff = ( function() {
} }
pointer++; pointer++;
} }
// If shifts were made, the diff needs reordering and another shift sweep. // If shifts were made, the diff needs reordering and another shift sweep.
if ( changes ) { if ( changes ) {
this.diffCleanupMerge( diffs ); this.diffCleanupMerge( diffs );
@ -3314,845 +4434,4 @@ QUnit.diff = ( function() {
}; };
}() ); }() );
// Get a reference to the global object, like window in browsers }() );
}( (function() {
return this;
})() ));
(function() {
// Don't load the HTML Reporter on non-Browser environments
if ( typeof window === "undefined" || !window.document ) {
return;
}
// Deprecated QUnit.init - Ref #530
// Re-initialize the configuration options
QUnit.init = function() {
var tests, banner, result, qunit,
config = QUnit.config;
config.stats = { all: 0, bad: 0 };
config.moduleStats = { all: 0, bad: 0 };
config.started = 0;
config.updateRate = 1000;
config.blocking = false;
config.autostart = true;
config.autorun = false;
config.filter = "";
config.queue = [];
// Return on non-browser environments
// This is necessary to not break on node tests
if ( typeof window === "undefined" ) {
return;
}
qunit = id( "qunit" );
if ( qunit ) {
qunit.innerHTML =
"<h1 id='qunit-header'>" + escapeText( document.title ) + "</h1>" +
"<h2 id='qunit-banner'></h2>" +
"<div id='qunit-testrunner-toolbar'></div>" +
"<h2 id='qunit-userAgent'></h2>" +
"<ol id='qunit-tests'></ol>";
}
tests = id( "qunit-tests" );
banner = id( "qunit-banner" );
result = id( "qunit-testresult" );
if ( tests ) {
tests.innerHTML = "";
}
if ( banner ) {
banner.className = "";
}
if ( result ) {
result.parentNode.removeChild( result );
}
if ( tests ) {
result = document.createElement( "p" );
result.id = "qunit-testresult";
result.className = "result";
tests.parentNode.insertBefore( result, tests );
result.innerHTML = "Running...<br />&#160;";
}
};
var config = QUnit.config,
collapseNext = false,
hasOwn = Object.prototype.hasOwnProperty,
defined = {
document: window.document !== undefined,
sessionStorage: (function() {
var x = "qunit-test-string";
try {
sessionStorage.setItem( x, x );
sessionStorage.removeItem( x );
return true;
} catch ( e ) {
return false;
}
}())
},
modulesList = [];
/**
* Escape text for attribute or text content.
*/
function escapeText( s ) {
if ( !s ) {
return "";
}
s = s + "";
// Both single quotes and double quotes (for attributes)
return s.replace( /['"<>&]/g, function( s ) {
switch ( s ) {
case "'":
return "&#039;";
case "\"":
return "&quot;";
case "<":
return "&lt;";
case ">":
return "&gt;";
case "&":
return "&amp;";
}
});
}
/**
* @param {HTMLElement} elem
* @param {string} type
* @param {Function} fn
*/
function addEvent( elem, type, fn ) {
if ( elem.addEventListener ) {
// Standards-based browsers
elem.addEventListener( type, fn, false );
} else if ( elem.attachEvent ) {
// support: IE <9
elem.attachEvent( "on" + type, function() {
var event = window.event;
if ( !event.target ) {
event.target = event.srcElement || document;
}
fn.call( elem, event );
});
}
}
/**
* @param {Array|NodeList} elems
* @param {string} type
* @param {Function} fn
*/
function addEvents( elems, type, fn ) {
var i = elems.length;
while ( i-- ) {
addEvent( elems[ i ], type, fn );
}
}
function hasClass( elem, name ) {
return ( " " + elem.className + " " ).indexOf( " " + name + " " ) >= 0;
}
function addClass( elem, name ) {
if ( !hasClass( elem, name ) ) {
elem.className += ( elem.className ? " " : "" ) + name;
}
}
function toggleClass( elem, name ) {
if ( hasClass( elem, name ) ) {
removeClass( elem, name );
} else {
addClass( elem, name );
}
}
function removeClass( elem, name ) {
var set = " " + elem.className + " ";
// Class name may appear multiple times
while ( set.indexOf( " " + name + " " ) >= 0 ) {
set = set.replace( " " + name + " ", " " );
}
// trim for prettiness
elem.className = typeof set.trim === "function" ? set.trim() : set.replace( /^\s+|\s+$/g, "" );
}
function id( name ) {
return defined.document && document.getElementById && document.getElementById( name );
}
function getUrlConfigHtml() {
var i, j, val,
escaped, escapedTooltip,
selection = false,
len = config.urlConfig.length,
urlConfigHtml = "";
for ( i = 0; i < len; i++ ) {
val = config.urlConfig[ i ];
if ( typeof val === "string" ) {
val = {
id: val,
label: val
};
}
escaped = escapeText( val.id );
escapedTooltip = escapeText( val.tooltip );
if ( config[ val.id ] === undefined ) {
config[ val.id ] = QUnit.urlParams[ val.id ];
}
if ( !val.value || typeof val.value === "string" ) {
urlConfigHtml += "<input id='qunit-urlconfig-" + escaped +
"' name='" + escaped + "' type='checkbox'" +
( val.value ? " value='" + escapeText( val.value ) + "'" : "" ) +
( config[ val.id ] ? " checked='checked'" : "" ) +
" title='" + escapedTooltip + "' /><label for='qunit-urlconfig-" + escaped +
"' title='" + escapedTooltip + "'>" + val.label + "</label>";
} else {
urlConfigHtml += "<label for='qunit-urlconfig-" + escaped +
"' title='" + escapedTooltip + "'>" + val.label +
": </label><select id='qunit-urlconfig-" + escaped +
"' name='" + escaped + "' title='" + escapedTooltip + "'><option></option>";
if ( QUnit.is( "array", val.value ) ) {
for ( j = 0; j < val.value.length; j++ ) {
escaped = escapeText( val.value[ j ] );
urlConfigHtml += "<option value='" + escaped + "'" +
( config[ val.id ] === val.value[ j ] ?
( selection = true ) && " selected='selected'" : "" ) +
">" + escaped + "</option>";
}
} else {
for ( j in val.value ) {
if ( hasOwn.call( val.value, j ) ) {
urlConfigHtml += "<option value='" + escapeText( j ) + "'" +
( config[ val.id ] === j ?
( selection = true ) && " selected='selected'" : "" ) +
">" + escapeText( val.value[ j ] ) + "</option>";
}
}
}
if ( config[ val.id ] && !selection ) {
escaped = escapeText( config[ val.id ] );
urlConfigHtml += "<option value='" + escaped +
"' selected='selected' disabled='disabled'>" + escaped + "</option>";
}
urlConfigHtml += "</select>";
}
}
return urlConfigHtml;
}
// Handle "click" events on toolbar checkboxes and "change" for select menus.
// Updates the URL with the new state of `config.urlConfig` values.
function toolbarChanged() {
var updatedUrl, value,
field = this,
params = {};
// Detect if field is a select menu or a checkbox
if ( "selectedIndex" in field ) {
value = field.options[ field.selectedIndex ].value || undefined;
} else {
value = field.checked ? ( field.defaultValue || true ) : undefined;
}
params[ field.name ] = value;
updatedUrl = setUrl( params );
if ( "hidepassed" === field.name && "replaceState" in window.history ) {
config[ field.name ] = value || false;
if ( value ) {
addClass( id( "qunit-tests" ), "hidepass" );
} else {
removeClass( id( "qunit-tests" ), "hidepass" );
}
// It is not necessary to refresh the whole page
window.history.replaceState( null, "", updatedUrl );
} else {
window.location = updatedUrl;
}
}
function setUrl( params ) {
var key,
querystring = "?";
params = QUnit.extend( QUnit.extend( {}, QUnit.urlParams ), params );
for ( key in params ) {
if ( hasOwn.call( params, key ) ) {
if ( params[ key ] === undefined ) {
continue;
}
querystring += encodeURIComponent( key );
if ( params[ key ] !== true ) {
querystring += "=" + encodeURIComponent( params[ key ] );
}
querystring += "&";
}
}
return location.protocol + "//" + location.host +
location.pathname + querystring.slice( 0, -1 );
}
function applyUrlParams() {
var selectedModule,
modulesList = id( "qunit-modulefilter" ),
filter = id( "qunit-filter-input" ).value;
selectedModule = modulesList ?
decodeURIComponent( modulesList.options[ modulesList.selectedIndex ].value ) :
undefined;
window.location = setUrl({
module: ( selectedModule === "" ) ? undefined : selectedModule,
filter: ( filter === "" ) ? undefined : filter,
// Remove testId filter
testId: undefined
});
}
function toolbarUrlConfigContainer() {
var urlConfigContainer = document.createElement( "span" );
urlConfigContainer.innerHTML = getUrlConfigHtml();
addClass( urlConfigContainer, "qunit-url-config" );
// For oldIE support:
// * Add handlers to the individual elements instead of the container
// * Use "click" instead of "change" for checkboxes
addEvents( urlConfigContainer.getElementsByTagName( "input" ), "click", toolbarChanged );
addEvents( urlConfigContainer.getElementsByTagName( "select" ), "change", toolbarChanged );
return urlConfigContainer;
}
function toolbarLooseFilter() {
var filter = document.createElement( "form" ),
label = document.createElement( "label" ),
input = document.createElement( "input" ),
button = document.createElement( "button" );
addClass( filter, "qunit-filter" );
label.innerHTML = "Filter: ";
input.type = "text";
input.value = config.filter || "";
input.name = "filter";
input.id = "qunit-filter-input";
button.innerHTML = "Go";
label.appendChild( input );
filter.appendChild( label );
filter.appendChild( button );
addEvent( filter, "submit", function( ev ) {
applyUrlParams();
if ( ev && ev.preventDefault ) {
ev.preventDefault();
}
return false;
});
return filter;
}
function toolbarModuleFilterHtml() {
var i,
moduleFilterHtml = "";
if ( !modulesList.length ) {
return false;
}
modulesList.sort(function( a, b ) {
return a.localeCompare( b );
});
moduleFilterHtml += "<label for='qunit-modulefilter'>Module: </label>" +
"<select id='qunit-modulefilter' name='modulefilter'><option value='' " +
( QUnit.urlParams.module === undefined ? "selected='selected'" : "" ) +
">< All Modules ></option>";
for ( i = 0; i < modulesList.length; i++ ) {
moduleFilterHtml += "<option value='" +
escapeText( encodeURIComponent( modulesList[ i ] ) ) + "' " +
( QUnit.urlParams.module === modulesList[ i ] ? "selected='selected'" : "" ) +
">" + escapeText( modulesList[ i ] ) + "</option>";
}
moduleFilterHtml += "</select>";
return moduleFilterHtml;
}
function toolbarModuleFilter() {
var toolbar = id( "qunit-testrunner-toolbar" ),
moduleFilter = document.createElement( "span" ),
moduleFilterHtml = toolbarModuleFilterHtml();
if ( !toolbar || !moduleFilterHtml ) {
return false;
}
moduleFilter.setAttribute( "id", "qunit-modulefilter-container" );
moduleFilter.innerHTML = moduleFilterHtml;
addEvent( moduleFilter.lastChild, "change", applyUrlParams );
toolbar.appendChild( moduleFilter );
}
function appendToolbar() {
var toolbar = id( "qunit-testrunner-toolbar" );
if ( toolbar ) {
toolbar.appendChild( toolbarUrlConfigContainer() );
toolbar.appendChild( toolbarLooseFilter() );
}
}
function appendHeader() {
var header = id( "qunit-header" );
if ( header ) {
header.innerHTML = "<a href='" +
setUrl({ filter: undefined, module: undefined, testId: undefined }) +
"'>" + header.innerHTML + "</a> ";
}
}
function appendBanner() {
var banner = id( "qunit-banner" );
if ( banner ) {
banner.className = "";
}
}
function appendTestResults() {
var tests = id( "qunit-tests" ),
result = id( "qunit-testresult" );
if ( result ) {
result.parentNode.removeChild( result );
}
if ( tests ) {
tests.innerHTML = "";
result = document.createElement( "p" );
result.id = "qunit-testresult";
result.className = "result";
tests.parentNode.insertBefore( result, tests );
result.innerHTML = "Running...<br />&#160;";
}
}
function storeFixture() {
var fixture = id( "qunit-fixture" );
if ( fixture ) {
config.fixture = fixture.innerHTML;
}
}
function appendFilteredTest() {
var testId = QUnit.config.testId;
if ( !testId || testId.length <= 0 ) {
return "";
}
return "<div id='qunit-filteredTest'>Rerunning selected tests: " + testId.join(", ") +
" <a id='qunit-clearFilter' href='" +
setUrl({ filter: undefined, module: undefined, testId: undefined }) +
"'>" + "Run all tests" + "</a></div>";
}
function appendUserAgent() {
var userAgent = id( "qunit-userAgent" );
if ( userAgent ) {
userAgent.innerHTML = "";
userAgent.appendChild(
document.createTextNode(
"QUnit " + QUnit.version + "; " + navigator.userAgent
)
);
}
}
function appendTestsList( modules ) {
var i, l, x, z, test, moduleObj;
for ( i = 0, l = modules.length; i < l; i++ ) {
moduleObj = modules[ i ];
if ( moduleObj.name ) {
modulesList.push( moduleObj.name );
}
for ( x = 0, z = moduleObj.tests.length; x < z; x++ ) {
test = moduleObj.tests[ x ];
appendTest( test.name, test.testId, moduleObj.name );
}
}
}
function appendTest( name, testId, moduleName ) {
var title, rerunTrigger, testBlock, assertList,
tests = id( "qunit-tests" );
if ( !tests ) {
return;
}
title = document.createElement( "strong" );
title.innerHTML = getNameHtml( name, moduleName );
rerunTrigger = document.createElement( "a" );
rerunTrigger.innerHTML = "Rerun";
rerunTrigger.href = setUrl({ testId: testId });
testBlock = document.createElement( "li" );
testBlock.appendChild( title );
testBlock.appendChild( rerunTrigger );
testBlock.id = "qunit-test-output-" + testId;
assertList = document.createElement( "ol" );
assertList.className = "qunit-assert-list";
testBlock.appendChild( assertList );
tests.appendChild( testBlock );
}
// HTML Reporter initialization and load
QUnit.begin(function( details ) {
var qunit = id( "qunit" );
// Fixture is the only one necessary to run without the #qunit element
storeFixture();
if ( qunit ) {
qunit.innerHTML =
"<h1 id='qunit-header'>" + escapeText( document.title ) + "</h1>" +
"<h2 id='qunit-banner'></h2>" +
"<div id='qunit-testrunner-toolbar'></div>" +
appendFilteredTest() +
"<h2 id='qunit-userAgent'></h2>" +
"<ol id='qunit-tests'></ol>";
}
appendHeader();
appendBanner();
appendTestResults();
appendUserAgent();
appendToolbar();
appendTestsList( details.modules );
toolbarModuleFilter();
if ( qunit && config.hidepassed ) {
addClass( qunit.lastChild, "hidepass" );
}
});
QUnit.done(function( details ) {
var i, key,
banner = id( "qunit-banner" ),
tests = id( "qunit-tests" ),
html = [
"Tests completed in ",
details.runtime,
" milliseconds.<br />",
"<span class='passed'>",
details.passed,
"</span> assertions of <span class='total'>",
details.total,
"</span> passed, <span class='failed'>",
details.failed,
"</span> failed."
].join( "" );
if ( banner ) {
banner.className = details.failed ? "qunit-fail" : "qunit-pass";
}
if ( tests ) {
id( "qunit-testresult" ).innerHTML = html;
}
if ( config.altertitle && defined.document && document.title ) {
// show ✖ for good, ✔ for bad suite result in title
// use escape sequences in case file gets loaded with non-utf-8-charset
document.title = [
( details.failed ? "\u2716" : "\u2714" ),
document.title.replace( /^[\u2714\u2716] /i, "" )
].join( " " );
}
// clear own sessionStorage items if all tests passed
if ( config.reorder && defined.sessionStorage && details.failed === 0 ) {
for ( i = 0; i < sessionStorage.length; i++ ) {
key = sessionStorage.key( i++ );
if ( key.indexOf( "qunit-test-" ) === 0 ) {
sessionStorage.removeItem( key );
}
}
}
// scroll back to top to show results
if ( config.scrolltop && window.scrollTo ) {
window.scrollTo( 0, 0 );
}
});
function getNameHtml( name, module ) {
var nameHtml = "";
if ( module ) {
nameHtml = "<span class='module-name'>" + escapeText( module ) + "</span>: ";
}
nameHtml += "<span class='test-name'>" + escapeText( name ) + "</span>";
return nameHtml;
}
QUnit.testStart(function( details ) {
var running, testBlock, bad;
testBlock = id( "qunit-test-output-" + details.testId );
if ( testBlock ) {
testBlock.className = "running";
} else {
// Report later registered tests
appendTest( details.name, details.testId, details.module );
}
running = id( "qunit-testresult" );
if ( running ) {
bad = QUnit.config.reorder && defined.sessionStorage &&
+sessionStorage.getItem( "qunit-test-" + details.module + "-" + details.name );
running.innerHTML = ( bad ?
"Rerunning previously failed test: <br />" :
"Running: <br />" ) +
getNameHtml( details.name, details.module );
}
});
function stripHtml( string ) {
// strip tags, html entity and whitespaces
return string.replace(/<\/?[^>]+(>|$)/g, "").replace(/\&quot;/g, "").replace(/\s+/g, "");
}
QUnit.log(function( details ) {
var assertList, assertLi,
message, expected, actual, diff,
showDiff = false,
testItem = id( "qunit-test-output-" + details.testId );
if ( !testItem ) {
return;
}
message = escapeText( details.message ) || ( details.result ? "okay" : "failed" );
message = "<span class='test-message'>" + message + "</span>";
message += "<span class='runtime'>@ " + details.runtime + " ms</span>";
// pushFailure doesn't provide details.expected
// when it calls, it's implicit to also not show expected and diff stuff
// Also, we need to check details.expected existence, as it can exist and be undefined
if ( !details.result && hasOwn.call( details, "expected" ) ) {
if ( details.negative ) {
expected = escapeText( "NOT " + QUnit.dump.parse( details.expected ) );
} else {
expected = escapeText( QUnit.dump.parse( details.expected ) );
}
actual = escapeText( QUnit.dump.parse( details.actual ) );
message += "<table><tr class='test-expected'><th>Expected: </th><td><pre>" +
expected +
"</pre></td></tr>";
if ( actual !== expected ) {
message += "<tr class='test-actual'><th>Result: </th><td><pre>" +
actual + "</pre></td></tr>";
// Don't show diff if actual or expected are booleans
if ( !( /^(true|false)$/.test( actual ) ) &&
!( /^(true|false)$/.test( expected ) ) ) {
diff = QUnit.diff( expected, actual );
showDiff = stripHtml( diff ).length !==
stripHtml( expected ).length +
stripHtml( actual ).length;
}
// Don't show diff if expected and actual are totally different
if ( showDiff ) {
message += "<tr class='test-diff'><th>Diff: </th><td><pre>" +
diff + "</pre></td></tr>";
}
} else if ( expected.indexOf( "[object Array]" ) !== -1 ||
expected.indexOf( "[object Object]" ) !== -1 ) {
message += "<tr class='test-message'><th>Message: </th><td>" +
"Diff suppressed as the depth of object is more than current max depth (" +
QUnit.config.maxDepth + ").<p>Hint: Use <code>QUnit.dump.maxDepth</code> to " +
" run with a higher max depth or <a href='" + setUrl({ maxDepth: -1 }) + "'>" +
"Rerun</a> without max depth.</p></td></tr>";
}
if ( details.source ) {
message += "<tr class='test-source'><th>Source: </th><td><pre>" +
escapeText( details.source ) + "</pre></td></tr>";
}
message += "</table>";
// this occours when pushFailure is set and we have an extracted stack trace
} else if ( !details.result && details.source ) {
message += "<table>" +
"<tr class='test-source'><th>Source: </th><td><pre>" +
escapeText( details.source ) + "</pre></td></tr>" +
"</table>";
}
assertList = testItem.getElementsByTagName( "ol" )[ 0 ];
assertLi = document.createElement( "li" );
assertLi.className = details.result ? "pass" : "fail";
assertLi.innerHTML = message;
assertList.appendChild( assertLi );
});
QUnit.testDone(function( details ) {
var testTitle, time, testItem, assertList,
good, bad, testCounts, skipped, sourceName,
tests = id( "qunit-tests" );
if ( !tests ) {
return;
}
testItem = id( "qunit-test-output-" + details.testId );
assertList = testItem.getElementsByTagName( "ol" )[ 0 ];
good = details.passed;
bad = details.failed;
// store result when possible
if ( config.reorder && defined.sessionStorage ) {
if ( bad ) {
sessionStorage.setItem( "qunit-test-" + details.module + "-" + details.name, bad );
} else {
sessionStorage.removeItem( "qunit-test-" + details.module + "-" + details.name );
}
}
if ( bad === 0 ) {
// Collapse the passing tests
addClass( assertList, "qunit-collapsed" );
} else if ( bad && config.collapse && !collapseNext ) {
// Skip collapsing the first failing test
collapseNext = true;
} else {
// Collapse remaining tests
addClass( assertList, "qunit-collapsed" );
}
// testItem.firstChild is the test name
testTitle = testItem.firstChild;
testCounts = bad ?
"<b class='failed'>" + bad + "</b>, " + "<b class='passed'>" + good + "</b>, " :
"";
testTitle.innerHTML += " <b class='counts'>(" + testCounts +
details.assertions.length + ")</b>";
if ( details.skipped ) {
testItem.className = "skipped";
skipped = document.createElement( "em" );
skipped.className = "qunit-skipped-label";
skipped.innerHTML = "skipped";
testItem.insertBefore( skipped, testTitle );
} else {
addEvent( testTitle, "click", function() {
toggleClass( assertList, "qunit-collapsed" );
});
testItem.className = bad ? "fail" : "pass";
time = document.createElement( "span" );
time.className = "runtime";
time.innerHTML = details.runtime + " ms";
testItem.insertBefore( time, assertList );
}
// Show the source of the test when showing assertions
if ( details.source ) {
sourceName = document.createElement( "p" );
sourceName.innerHTML = "<strong>Source: </strong>" + details.source;
addClass( sourceName, "qunit-source" );
if ( bad === 0 ) {
addClass( sourceName, "qunit-collapsed" );
}
addEvent( testTitle, "click", function() {
toggleClass( sourceName, "qunit-collapsed" );
});
testItem.appendChild( sourceName );
}
});
if ( defined.document ) {
// Avoid readyState issue with phantomjs
// Ref: #818
var notPhantom = ( function( p ) {
return !( p && p.version && p.version.major > 0 );
} )( window.phantom );
if ( notPhantom && document.readyState === "complete" ) {
QUnit.load();
} else {
addEvent( window, "load", QUnit.load );
}
} else {
config.pageLoaded = true;
config.autorun = true;
}
})();

File diff suppressed because one or more lines are too long

View File

@ -39,41 +39,43 @@
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"jquery": "1.9.1 - 3", "jquery": "1.9.1 - 3",
"tether": "^1.1.1" "tether": "^1.3.7"
}, },
"devDependencies": { "devDependencies": {
"autoprefixer": "^6.0.3", "autoprefixer": "^6.5.0",
"babel-eslint": "^6.0.4", "babel-eslint": "^7.0.0",
"eslint": "^3.0.0", "babel-plugin-transform-es2015-modules-strip": "^0.1.0",
"babel-preset-es2015": "^6.16.0",
"eslint": "^3.7.1",
"grunt": "^1.0.1", "grunt": "^1.0.1",
"grunt-babel": "^5.0.3", "grunt-babel": "^6.0.0",
"grunt-build-control": "^0.7.0", "grunt-build-control": "^0.7.1",
"grunt-contrib-clean": "^1.0.0", "grunt-contrib-clean": "^1.0.0",
"grunt-contrib-compress": "^1.1.0", "grunt-contrib-compress": "^1.3.0",
"grunt-contrib-concat": "^1.0.0", "grunt-contrib-concat": "^1.0.1",
"grunt-contrib-connect": "^1.0.0", "grunt-contrib-connect": "^1.0.2",
"grunt-contrib-copy": "^1.0.0", "grunt-contrib-copy": "^1.0.0",
"grunt-contrib-cssmin": "^1.0.0", "grunt-contrib-cssmin": "^1.0.2",
"grunt-contrib-qunit": "^1.0.1", "grunt-contrib-qunit": "^1.2.0",
"grunt-contrib-sass": "^1.0.0", "grunt-contrib-sass": "^1.0.0",
"grunt-contrib-uglify": "^1.0.0", "grunt-contrib-uglify": "^2.0.0",
"grunt-contrib-watch": "^1.0.0", "grunt-contrib-watch": "^1.0.0",
"grunt-exec": "^1.0.0", "grunt-exec": "^1.0.1",
"grunt-html": "^8.0.1", "grunt-html": "^8.0.2",
"grunt-jekyll": "^0.4.2", "grunt-jekyll": "^0.4.4",
"grunt-sass": "^1.0.0", "grunt-sass": "^1.2.1",
"grunt-saucelabs": "^9.0.0", "grunt-saucelabs": "^9.0.0",
"grunt-scss-lint": "^0.3.8", "grunt-scss-lint": "^0.5.0",
"grunt-stamp": "^0.3.0", "grunt-stamp": "^0.3.0",
"htmlhint": "^0.9.13", "htmlhint": "^0.9.13",
"is-travis": "^1.0.0", "is-travis": "^1.0.0",
"jscs": "^3.0.4", "jscs": "^3.0.7",
"load-grunt-tasks": "^3.4.0", "load-grunt-tasks": "^3.5.2",
"postcss-cli": "^2.5.2", "postcss-cli": "^2.6.0",
"postcss-flexbugs-fixes": "^2.0.0", "postcss-flexbugs-fixes": "^2.0.0",
"shelljs": "^0.7.0", "shelljs": "^0.7.4",
"shx": "^0.1.2", "shx": "^0.1.4",
"time-grunt": "^1.2.1" "time-grunt": "^1.4.0"
}, },
"engines": { "engines": {
"node": ">=4" "node": ">=4"
@ -100,7 +102,7 @@
} }
}, },
"dependencies": { "dependencies": {
"jquery": "1.9.1 - 3" "jquery": "3"
} }
} }
} }

View File

@ -143,7 +143,7 @@
.table-responsive { .table-responsive {
display: block; display: block;
width: 100%; width: 100%;
min-height: .01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837) min-height: 0%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)
overflow-x: auto; overflow-x: auto;
// TODO: find out if we need this still. // TODO: find out if we need this still.