From 0af9f447d4464f36b1328ebed6fbe1fc3ee19702 Mon Sep 17 00:00:00 2001 From: Serge Bedzhyk Date: Fri, 13 Dec 2013 13:31:37 +0200 Subject: [PATCH 001/194] Added useful tip with local addresses not to run ifconfig every time to remember your local IP. --- bin/http-server | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/bin/http-server b/bin/http-server index 3c1f613a0..ca014e0d5 100755 --- a/bin/http-server +++ b/bin/http-server @@ -5,6 +5,8 @@ var colors = require('colors'), argv = require('optimist').argv, portfinder = require('portfinder'), opener = require('opener'); + os = require('os'); + ifaces = os.networkInterfaces(); if (argv.h || argv.help) { console.log([ @@ -67,6 +69,17 @@ function listen(port) { + server.root.cyan + ' on port: '.yellow + port.toString().cyan); + + log('\nAvailable on:'.yellow); + + for (var dev in ifaces) { + ifaces[dev].forEach(function(details){ + if (details.family=='IPv4') { + log((" http://" + details.address + ":" + port.toString()).green); + } + }); + } + log('Hit CTRL-C to stop the server'); if (argv.o) { From 8843c6d99c0304d44ea95b8634bcb34077052334 Mon Sep 17 00:00:00 2001 From: Duncan Beevers Date: Mon, 31 Mar 2014 12:22:39 -0600 Subject: [PATCH 002/194] Correct typo in help output staring->starting --- bin/http-server | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/http-server b/bin/http-server index 3c1f613a0..9b3e5186d 100755 --- a/bin/http-server +++ b/bin/http-server @@ -18,7 +18,7 @@ if (argv.h || argv.help) { " -e --ext Default file extension if none supplied [none]", " -s --silent Suppress log messages from output", " --cors Enable CORS via the 'Access-Control-Allow-Origin' header", - " -o Open browser window after staring the server", + " -o Open browser window after starting the server", " -c Set cache time (in seconds). e.g. -c10 for 10 seconds.", " To disable caching, use -c-1.", " -h --help Print this list and exit." From 2ca0e2856aa493d25d597ad98b4ba11d9c53207a Mon Sep 17 00:00:00 2001 From: Yomguithereal Date: Wed, 30 Apr 2014 11:08:51 +0200 Subject: [PATCH 003/194] Adding an option to launch a HTTPS server --- bin/http-server | 14 ++++++++++++++ lib/http-server.js | 9 +++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/bin/http-server b/bin/http-server index 3c1f613a0..218d67a23 100755 --- a/bin/http-server +++ b/bin/http-server @@ -21,6 +21,11 @@ if (argv.h || argv.help) { " -o Open browser window after staring the server", " -c Set cache time (in seconds). e.g. -c10 for 10 seconds.", " To disable caching, use -c-1.", + "", + " -S --ssl Enable https.", + " -C --cert Path to ssl cert file (default: cert.pem).", + " -K --key Path to ssl key file (default: key.pem).", + "", " -h --help Print this list and exit." ].join('\n')); process.exit(); @@ -29,6 +34,7 @@ if (argv.h || argv.help) { var port = argv.p || parseInt(process.env.PORT, 10), host = argv.a || '0.0.0.0', log = (argv.s || argv.silent) ? (function () {}) : console.log, + ssl = !!argv.S, requestLogger; if (!argv.s && !argv.silent) { @@ -61,10 +67,18 @@ function listen(port) { options.headers = { 'Access-Control-Allow-Origin': '*' }; } + if (argv.S) { + options.https = { + cert: argv.C || 'cert.pem', + key: argv.K || 'key.pem' + }; + } + var server = httpServer.createServer(options); server.listen(port, host, function() { log('Starting up http-server, serving '.yellow + server.root.cyan + + ((ssl) ? ' through'.yellow + ' https'.cyan : '') + ' on port: '.yellow + port.toString().cyan); log('Hit CTRL-C to stop the server'); diff --git a/lib/http-server.js b/lib/http-server.js index 213aa63f1..1155e6d06 100644 --- a/lib/http-server.js +++ b/lib/http-server.js @@ -33,7 +33,7 @@ var HTTPServer = exports.HTTPServer = function (options) { : options.ext; } - this.server = union.createServer({ + var serverOptions = { before: (options.before || []).concat([ function (req, res) { options.logFn && options.logFn(req, res); @@ -48,7 +48,12 @@ var HTTPServer = exports.HTTPServer = function (options) { }) ]), headers: this.headers || {} - }); + }; + + if (options.https) + serverOptions.https = options.https; + + this.server = union.createServer(serverOptions); }; HTTPServer.prototype.listen = function () { From 48aac499033f30dc689ed350318fdd07b5d77c2d Mon Sep 17 00:00:00 2001 From: John Schulz Date: Fri, 1 Aug 2014 13:38:20 -0700 Subject: [PATCH 004/194] Make -o respect specified, or default, -a value Currently, -o always uses 127.0.0.1 as the host. --- bin/http-server | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/http-server b/bin/http-server index 3c1f613a0..6353c780a 100755 --- a/bin/http-server +++ b/bin/http-server @@ -70,7 +70,7 @@ function listen(port) { log('Hit CTRL-C to stop the server'); if (argv.o) { - opener('http://127.0.0.1:' + port.toString()); + opener('http://' + host.toString() + ':' + port.toString()); } }); } From dba4f1b7dde31cf3e178d4af8ffe13a06ef88037 Mon Sep 17 00:00:00 2001 From: sumnulu Date: Mon, 25 Aug 2014 19:51:27 +0300 Subject: [PATCH 005/194] Updated README.md missing doc. (--cors and -o flags) --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 2fee07ea2..aa8ae7886 100644 --- a/README.md +++ b/README.md @@ -58,6 +58,10 @@ This will install `http-server` globally so that it may be run from the command `-s` or `--silent` In silent mode, log messages aren't logged to the console. +`--cors` Enable CORS via the 'Access-Control-Allow-Origin' header". + +`-o` or Open browser window after staring the server". + `-h` or `--help` Displays a list of commands and exits. `-c` Set cache time (in seconds) for cache-control max-age header, e.g. -c10 for 10 seconds. To disable caching, use -c-1. From c6aa7701ffe3f4d7ad08207aa414afe03c55ec24 Mon Sep 17 00:00:00 2001 From: Paul Melnikow Date: Thu, 4 Sep 2014 20:13:49 -0400 Subject: [PATCH 006/194] Fix --cors: Don't swallow up whatever word comes after it --- bin/http-server | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/bin/http-server b/bin/http-server index 218d67a23..e43aa1276 100755 --- a/bin/http-server +++ b/bin/http-server @@ -2,9 +2,11 @@ var colors = require('colors'), httpServer = require('../lib/http-server'), - argv = require('optimist').argv, portfinder = require('portfinder'), - opener = require('opener'); + opener = require('opener'), + argv = require('optimist') + .boolean('cors') + .argv; if (argv.h || argv.help) { console.log([ From 5839d366fefc8df8ddd60e9cd9611f1384c30844 Mon Sep 17 00:00:00 2001 From: John Schulz Date: Sun, 17 Aug 2014 15:02:54 -0700 Subject: [PATCH 007/194] Display URI, not just port. Make -o respect supplied args. --- bin/http-server | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/bin/http-server b/bin/http-server index c874304c3..951c8bf18 100755 --- a/bin/http-server +++ b/bin/http-server @@ -76,15 +76,16 @@ function listen(port) { var server = httpServer.createServer(options); server.listen(port, host, function() { + var uri = [ssl ? 'http' : 'https', '://', host, ':', port].join(''); log('Starting up http-server, serving '.yellow + server.root.cyan + ((ssl) ? ' through'.yellow + ' https'.cyan : '') - + ' on port: '.yellow - + port.toString().cyan); - log('Hit CTRL-C to stop the server'); + + ' on: '.yellow + + uri.cyan); + log('Hit CTRL-C to stop the server'); if (argv.o) { - opener('http://' + host.toString() + ':' + port.toString()); + opener(uri); } }); } From bf8d757908215d718588e78059d622d822b7d3ec Mon Sep 17 00:00:00 2001 From: Colin Roache Date: Mon, 6 Jan 2014 15:20:54 -0800 Subject: [PATCH 008/194] Update README to reflect available options --- README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index aa8ae7886..5a3947cc7 100644 --- a/README.md +++ b/README.md @@ -9,11 +9,11 @@ Installation via `npm`. If you don't have `npm` yet: curl https://npmjs.org/install.sh | sh - + Once you have `npm`: npm install http-server -g - + This will install `http-server` globally so that it may be run from the command line. ## Usage: @@ -46,22 +46,22 @@ This will install `http-server` globally so that it may be run from the command ## Available Options: -`-p` Port to listen for connections on (defaults to 8080) +`-p` Port to use (defaults to 8080) -`-a` Address to bind to (defaults to '0.0.0.0') +`-a` Address to use (defaults to 0.0.0.0) `-d` Show directory listings (defaults to 'True') `-i` Display autoIndex (defaults to 'True') -`-e` or `--ext` Default file extension (defaults to 'html') +`-e` or `--ext` Default file extension if none supplied (defaults to 'html') -`-s` or `--silent` In silent mode, log messages aren't logged to the console. +`-s` or `--silent` Suppress log messages from output -`--cors` Enable CORS via the 'Access-Control-Allow-Origin' header". +`--cors` Enable CORS via the `Access-Control-Allow-Origin` header -`-o` or Open browser window after staring the server". +`-o` Open browser window after staring the server -`-h` or `--help` Displays a list of commands and exits. +`-h` or `--help` Print this list and exit. `-c` Set cache time (in seconds) for cache-control max-age header, e.g. -c10 for 10 seconds. To disable caching, use -c-1. From 84ff2a2a696870db36139442d6cb64fc86fb4c15 Mon Sep 17 00:00:00 2001 From: Colin Roache Date: Mon, 6 Jan 2014 15:12:25 -0800 Subject: [PATCH 009/194] =?UTF-8?q?Add=20Access-Control-Allow-Headers=20to?= =?UTF-8?q?=20=E2=80=94cors=20to=20allow=20for=20AJAX=20requests?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/http-server | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bin/http-server b/bin/http-server index e1d96b9d4..ff3906b09 100755 --- a/bin/http-server +++ b/bin/http-server @@ -66,7 +66,8 @@ function listen(port) { }; if (argv.cors) { - options.headers = { 'Access-Control-Allow-Origin': '*' }; + options.headers = { 'Access-Control-Allow-Origin': '*', + 'Access-Control-Allow-Headers': 'Origin, X-Requested-With, Content-Type, Accept' }; } if (argv.S) { From 48c9242ee464fb13547db1c9078c160aa44df64b Mon Sep 17 00:00:00 2001 From: indexzero Date: Wed, 10 Sep 2014 12:20:00 -0700 Subject: [PATCH 010/194] [minor] Small style change from #62. --- bin/http-server | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/bin/http-server b/bin/http-server index ff3906b09..f6ff75709 100755 --- a/bin/http-server +++ b/bin/http-server @@ -66,8 +66,10 @@ function listen(port) { }; if (argv.cors) { - options.headers = { 'Access-Control-Allow-Origin': '*', - 'Access-Control-Allow-Headers': 'Origin, X-Requested-With, Content-Type, Accept' }; + options.headers = { + 'Access-Control-Allow-Origin': '*', + 'Access-Control-Allow-Headers': 'Origin, X-Requested-With, Content-Type, Accept' + }; } if (argv.S) { From 97a93dc5fdbef16e0137fd60dfc749311311499c Mon Sep 17 00:00:00 2001 From: indexzero Date: Wed, 10 Sep 2014 12:21:57 -0700 Subject: [PATCH 011/194] [dist] Version bump. 0.7.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8ad9ea3f9..d581d214e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "http-server", - "version": "0.6.1", + "version": "0.7.0", "author": "Nodejitsu ", "description": "a simple zero-configuration command-line http server", "main": "./lib/http-server", From 7eebef6b5c970cc89aa0fde0bbc14970efb3b596 Mon Sep 17 00:00:00 2001 From: Tobyee Date: Fri, 12 Sep 2014 11:46:47 +0800 Subject: [PATCH 012/194] fix an error that choose a wrong protocol Should use http when there ware no -S option. --- bin/http-server | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/http-server b/bin/http-server index f6ff75709..865f659c2 100755 --- a/bin/http-server +++ b/bin/http-server @@ -81,7 +81,7 @@ function listen(port) { var server = httpServer.createServer(options); server.listen(port, host, function() { - var uri = [ssl ? 'http' : 'https', '://', host, ':', port].join(''); + var uri = [ssl ? 'https' : 'http', '://', host, ':', port].join(''); log('Starting up http-server, serving '.yellow + server.root.cyan + ((ssl) ? ' through'.yellow + ' https'.cyan : '') From 340e5304a35b858b3ac6f69ea0bfa54979ab3f17 Mon Sep 17 00:00:00 2001 From: indexzero Date: Mon, 15 Sep 2014 17:32:15 -0400 Subject: [PATCH 013/194] [dist] Version bump. 0.7.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d581d214e..5065cec40 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "http-server", - "version": "0.7.0", + "version": "0.7.1", "author": "Nodejitsu ", "description": "a simple zero-configuration command-line http server", "main": "./lib/http-server", From 9a199b9bf8d26a8d60aac17e8ef8a3743dfef216 Mon Sep 17 00:00:00 2001 From: indexzero Date: Fri, 10 Oct 2014 13:40:53 -0400 Subject: [PATCH 014/194] [dist] Bump ecstatic to `v0.5.x`. Fixes #99. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5065cec40..7b3f66066 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "colors": "0.6.x", "optimist": "0.5.x", "union": "0.3.x", - "ecstatic": "0.4.x", + "ecstatic": "0.5.x", "portfinder": "0.2.x", "opener": "~1.3.0" }, From 114380ce7802643784ef3c230745ee7917c9ded2 Mon Sep 17 00:00:00 2001 From: indexzero Date: Fri, 10 Oct 2014 13:41:04 -0400 Subject: [PATCH 015/194] [dist] Version bump. 0.7.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7b3f66066..bea9a85d1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "http-server", - "version": "0.7.1", + "version": "0.7.2", "author": "Nodejitsu ", "description": "a simple zero-configuration command-line http server", "main": "./lib/http-server", From cb8a3810df82046c88239ccf874871ae2df86425 Mon Sep 17 00:00:00 2001 From: _pants <_pants@getlantern.org> Date: Wed, 11 Dec 2013 11:42:18 -0500 Subject: [PATCH 016/194] add help about caching --- README.md | 3 ++- bin/http-server | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 5a3947cc7..a1a079e17 100644 --- a/README.md +++ b/README.md @@ -64,4 +64,5 @@ This will install `http-server` globally so that it may be run from the command `-h` or `--help` Print this list and exit. -`-c` Set cache time (in seconds) for cache-control max-age header, e.g. -c10 for 10 seconds. To disable caching, use -c-1. +`-c` Set cache time (in seconds) for cache-control max-age header, e.g. -c10 for 10 seconds +(defaults to '3600'). To disable caching, use -c-1. diff --git a/bin/http-server b/bin/http-server index 865f659c2..b4ff24791 100755 --- a/bin/http-server +++ b/bin/http-server @@ -20,8 +20,8 @@ if (argv.h || argv.help) { " -e --ext Default file extension if none supplied [none]", " -s --silent Suppress log messages from output", " --cors Enable CORS via the 'Access-Control-Allow-Origin' header", - " -o Open browser window after starting the server", - " -c Set cache time (in seconds). e.g. -c10 for 10 seconds.", + " -o Open browser window after staring the server", + " -c Cache time (max-age) in seconds [3600], e.g. -c10 for 10 seconds.", " To disable caching, use -c-1.", "", " -S --ssl Enable https.", From bb6ccd6b3d7303cc826f6a01ee1801493e5c3f15 Mon Sep 17 00:00:00 2001 From: indexzero Date: Thu, 6 Nov 2014 13:54:11 -0500 Subject: [PATCH 017/194] [fix] Bump ecstatic version. Fixes #101. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index bea9a85d1..35dc94c2a 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "colors": "0.6.x", "optimist": "0.5.x", "union": "0.3.x", - "ecstatic": "0.5.x", + "ecstatic": "~0.5.6", "portfinder": "0.2.x", "opener": "~1.3.0" }, From 9f06a26f5eb73172383f4bc2ebc580a213ff97da Mon Sep 17 00:00:00 2001 From: indexzero Date: Thu, 6 Nov 2014 13:54:33 -0500 Subject: [PATCH 018/194] [dist] Version bump. 0.7.3 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 35dc94c2a..d32c49bc4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "http-server", - "version": "0.7.2", + "version": "0.7.3", "author": "Nodejitsu ", "description": "a simple zero-configuration command-line http server", "main": "./lib/http-server", From 2f4ead546b37f548f30592ecdee4ce4668ddf931 Mon Sep 17 00:00:00 2001 From: "JK.Mystic" Date: Wed, 12 Nov 2014 17:58:23 +0900 Subject: [PATCH 019/194] Add command alias 'hs' --- package.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index d32c49bc4..4bcd7adf4 100644 --- a/package.json +++ b/package.json @@ -47,6 +47,10 @@ { "name": "Travis Person", "email": "travis.person@gmail.com" + }, + { + "name": "Jinkwon Lee", + "email" : "master@bdyne.net" } ], "dependencies": { @@ -73,6 +77,7 @@ "analyze": false, "preferGlobal": "true", "bin": { - "http-server": "./bin/http-server" + "http-server": "./bin/http-server", + "hs" : "./bin/http-server" } } From ad1feda9e0401c5cd478bec71813b1a35c286781 Mon Sep 17 00:00:00 2001 From: Peter Cullen Date: Mon, 17 Nov 2014 15:33:42 -0600 Subject: [PATCH 020/194] fixes --ssl --cert and --key options --- bin/http-server | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bin/http-server b/bin/http-server index b4ff24791..9f7eb6911 100755 --- a/bin/http-server +++ b/bin/http-server @@ -36,7 +36,7 @@ if (argv.h || argv.help) { var port = argv.p || parseInt(process.env.PORT, 10), host = argv.a || '0.0.0.0', log = (argv.s || argv.silent) ? (function () {}) : console.log, - ssl = !!argv.S, + ssl = !!argv.S || !!argv.ssl, requestLogger; if (!argv.s && !argv.silent) { @@ -72,10 +72,10 @@ function listen(port) { }; } - if (argv.S) { + if (ssl) { options.https = { - cert: argv.C || 'cert.pem', - key: argv.K || 'key.pem' + cert: argv.C || argv.cert || 'cert.pem', + key: argv.K || argv.key || 'key.pem' }; } From 9fbfae5e616babf58ab06492a30b631fd5ac249a Mon Sep 17 00:00:00 2001 From: indexzero Date: Sat, 6 Dec 2014 02:22:09 -0500 Subject: [PATCH 021/194] [dist test] Make linting against https://github.com/indexzero/styleguide the "pretest". --- lib/http-server.js | 10 +++++++--- package.json | 4 +++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/http-server.js b/lib/http-server.js index 1155e6d06..051a239bf 100644 --- a/lib/http-server.js +++ b/lib/http-server.js @@ -36,13 +36,16 @@ var HTTPServer = exports.HTTPServer = function (options) { var serverOptions = { before: (options.before || []).concat([ function (req, res) { - options.logFn && options.logFn(req, res); + if (options.logFn) { + options.logFn(req, res); + } + res.emit('next'); }, ecstatic({ root: this.root, cache: this.cache, - showDir : this.showDir, + showDir: this.showDir, autoIndex: this.autoIndex, defaultExt: this.ext }) @@ -50,8 +53,9 @@ var HTTPServer = exports.HTTPServer = function (options) { headers: this.headers || {} }; - if (options.https) + if (options.https) { serverOptions.https = options.https; + } this.server = union.createServer(serverOptions); }; diff --git a/package.json b/package.json index 4bcd7adf4..87adc8905 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ ], "scripts": { "start": "node ./bin/http-server", + "pretest": "stylezero bin/ lib/ test", "test": "vows --spec --isolate" }, "contributors": [ @@ -63,7 +64,8 @@ }, "devDependencies": { "vows": "0.7.x", - "request": "2.21.x" + "request": "2.21.x", + "stylezero": "2.1.1" }, "bugs": { "url": "https://github.com/nodeapps/http-server/issues" From eee39528ccb24543b690a31695791777e563d732 Mon Sep 17 00:00:00 2001 From: indexzero Date: Sat, 6 Dec 2014 02:25:50 -0500 Subject: [PATCH 022/194] [dist] Update a lot of dependencies. --- LICENSE | 4 ++-- package.json | 15 +++++++++------ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/LICENSE b/LICENSE index c9ebaf403..1e989b448 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2011 Nodejitsu http://github.com/nodejitsu/http-server/ +Copyright (c) 2011 Charlie Robbins, Marak Squires, and the Contributors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -17,4 +17,4 @@ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/package.json b/package.json index 87adc8905..ac878a9f3 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,6 @@ { "name": "http-server", "version": "0.7.3", - "author": "Nodejitsu ", "description": "a simple zero-configuration command-line http server", "main": "./lib/http-server", "repository": { @@ -18,6 +17,10 @@ "test": "vows --spec --isolate" }, "contributors": [ + { + "name": "Charlie Robbins", + "email": "charlie.robbins@gmail.com" + }, { "name": "Marak Squires", "email": "marak.squires@gmail.com" @@ -55,16 +58,16 @@ } ], "dependencies": { - "colors": "0.6.x", - "optimist": "0.5.x", - "union": "0.3.x", + "colors": "1.0.3", + "optimist": "0.6.x", + "union": "~0.4.3", "ecstatic": "~0.5.6", "portfinder": "0.2.x", - "opener": "~1.3.0" + "opener": "~1.4.0" }, "devDependencies": { "vows": "0.7.x", - "request": "2.21.x", + "request": "2.49.x", "stylezero": "2.1.1" }, "bugs": { From 4407db12d676a948eef7a2262490bdda4e07b3e9 Mon Sep 17 00:00:00 2001 From: indexzero Date: Sat, 6 Dec 2014 02:26:14 -0500 Subject: [PATCH 023/194] [dist] Version bump. 0.7.4 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ac878a9f3..54063d153 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "http-server", - "version": "0.7.3", + "version": "0.7.4", "description": "a simple zero-configuration command-line http server", "main": "./lib/http-server", "repository": { From 0c98f3f6bfe8acd143b2022054fd9fc15b71b7bb Mon Sep 17 00:00:00 2001 From: indexzero Date: Mon, 8 Dec 2014 12:44:36 -0500 Subject: [PATCH 024/194] [dist] Add .travis.yml --- .travis.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..42d2b93f1 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,13 @@ +language: node_js +node_js: + - 0.8 + - 0.10 +before_install: + - curl --location http://git.io/1OcIZA | bash -s +branches: + only: + - master +notifications: + email: + - travis@nodejitsu.com + irc: "irc.freenode.org#nodejitsu" From 87f042e36fa6981359af4ce999e9afb6efbec26f Mon Sep 17 00:00:00 2001 From: Benjamin Horsleben Date: Wed, 10 Dec 2014 00:41:58 +0100 Subject: [PATCH 025/194] Added SSL options to readme. --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index a1a079e17..20eb7720e 100644 --- a/README.md +++ b/README.md @@ -62,6 +62,12 @@ This will install `http-server` globally so that it may be run from the command `-o` Open browser window after staring the server +`-S` or `--ssl` Enable https. + +`-C` or `--cert` Path to ssl cert file (default: cert.pem). + +`-K` or `--key` Path to ssl key file (default: key.pem). + `-h` or `--help` Print this list and exit. `-c` Set cache time (in seconds) for cache-control max-age header, e.g. -c10 for 10 seconds From 89cd93eef0f0e39c3f5bf013f4d3c5aee201d038 Mon Sep 17 00:00:00 2001 From: indexzero Date: Mon, 23 Feb 2015 17:46:35 -0800 Subject: [PATCH 026/194] [dist fix] Bump to `ecstatic@0.6.0`. Fixes #122. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 54063d153..f79ebf215 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "colors": "1.0.3", "optimist": "0.6.x", "union": "~0.4.3", - "ecstatic": "~0.5.6", + "ecstatic": "~0.6.0", "portfinder": "0.2.x", "opener": "~1.4.0" }, From 120daa2b1bbca84bf1474bd757e147d95fdab3ed Mon Sep 17 00:00:00 2001 From: indexzero Date: Mon, 23 Feb 2015 17:46:52 -0800 Subject: [PATCH 027/194] [dist] Version bump. 0.7.5 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f79ebf215..afda5b7dc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "http-server", - "version": "0.7.4", + "version": "0.7.5", "description": "a simple zero-configuration command-line http server", "main": "./lib/http-server", "repository": { From 75ea6bf5f79d821acb23edf4f0df07a8b50f901d Mon Sep 17 00:00:00 2001 From: Jan Nicklas Date: Wed, 4 Mar 2015 10:31:33 +0100 Subject: [PATCH 028/194] Add --proxy setting --- README.md | 2 ++ bin/http-server | 10 ++++++++- lib/http-server.js | 16 ++++++++++++-- package.json | 3 ++- test/http-server-test.js | 48 ++++++++++++++++++++++++++++++++++++++++ 5 files changed, 75 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 20eb7720e..8d44880b9 100644 --- a/README.md +++ b/README.md @@ -62,6 +62,8 @@ This will install `http-server` globally so that it may be run from the command `-o` Open browser window after staring the server +`-P` or `--proxy` Proxies all requests which can't be resolved locally to the given url. e.g.: -P http://someurl.com + `-S` or `--ssl` Enable https. `-C` or `--cert` Path to ssl cert file (default: cert.pem). diff --git a/bin/http-server b/bin/http-server index 9f7eb6911..04b3c7db9 100755 --- a/bin/http-server +++ b/bin/http-server @@ -24,6 +24,8 @@ if (argv.h || argv.help) { " -c Cache time (max-age) in seconds [3600], e.g. -c10 for 10 seconds.", " To disable caching, use -c-1.", "", + " -P --proxy Fallback proxy if the request cannot be resolved. e.g.: http://someurl.com", + "", " -S --ssl Enable https.", " -C --cert Path to ssl cert file (default: cert.pem).", " -K --key Path to ssl key file (default: key.pem).", @@ -37,6 +39,7 @@ var port = argv.p || parseInt(process.env.PORT, 10), host = argv.a || '0.0.0.0', log = (argv.s || argv.silent) ? (function () {}) : console.log, ssl = !!argv.S || !!argv.ssl, + proxy = argv.P || argv.proxy, requestLogger; if (!argv.s && !argv.silent) { @@ -62,7 +65,8 @@ function listen(port) { showDir: argv.d, autoIndex: argv.i, ext: argv.e || argv.ext, - logFn: requestLogger + logFn: requestLogger, + proxy: proxy }; if (argv.cors) { @@ -88,6 +92,10 @@ function listen(port) { + ' on: '.yellow + uri.cyan); + if (typeof proxy === 'string') { + log('Unhandled requests will be served from: ' + proxy); + } + log('Hit CTRL-C to stop the server'); if (argv.o) { opener(uri); diff --git a/lib/http-server.js b/lib/http-server.js index 051a239bf..9ccb023dd 100644 --- a/lib/http-server.js +++ b/lib/http-server.js @@ -1,7 +1,8 @@ var fs = require('fs'), util = require('util'), union = require('union'), - ecstatic = require('ecstatic'); + ecstatic = require('ecstatic'), + httpProxy = require('http-proxy'); var HTTPServer = exports.HTTPServer = function (options) { options = options || {}; @@ -47,12 +48,23 @@ var HTTPServer = exports.HTTPServer = function (options) { cache: this.cache, showDir: this.showDir, autoIndex: this.autoIndex, - defaultExt: this.ext + defaultExt: this.ext, + handleError: typeof options.proxy !== 'string' }) ]), headers: this.headers || {} }; + if (typeof options.proxy === 'string') { + var proxy = httpProxy.createProxyServer({}); + serverOptions.before.push(function (req, res) { + proxy.web(req, res, { + target: options.proxy, + changeOrigin: true + }); + }); + } + if (options.https) { serverOptions.https = options.https; } diff --git a/package.json b/package.json index afda5b7dc..bf8a535d9 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,8 @@ "colors": "1.0.3", "optimist": "0.6.x", "union": "~0.4.3", - "ecstatic": "~0.6.0", + "ecstatic": "~0.6.1", + "http-proxy": "^1.8.1", "portfinder": "0.2.x", "opener": "~1.4.0" }, diff --git a/test/http-server-test.js b/test/http-server-test.js index 21e0164e0..6efbfb89a 100644 --- a/test/http-server-test.js +++ b/test/http-server-test.js @@ -65,6 +65,54 @@ vows.describe('http-server').addBatch({ assert.equal(res.headers['access-control-allow-origin'], '*'); assert.equal(res.headers['access-control-allow-credentials'], 'true'); } + }, + 'When http-server is proxying from 8081 to 8080': { + topic: function () { + var proxyServer = httpServer.createServer({ + proxy: 'http://127.0.0.1:8080/', + root: path.join(__dirname, 'fixtures') + }); + proxyServer.listen(8081); + this.callback(null, proxyServer); + }, + 'it should serve files from the proxy server root directory': { + topic: function () { + request('http://127.0.0.1:8081/root/file', this.callback); + }, + 'status code should be the enpoint code 200': function (res) { + assert.equal(res.statusCode, 200); + }, + 'and file content': { + topic: function (res, body) { + var self = this; + fs.readFile(path.join(root, 'file'), 'utf8', function (err, data) { + self.callback(err, data, body); + }); + }, + 'should match content of the served file': function (err, file, body) { + assert.equal(body.trim(), file.trim()); + } + } + }, + 'it should fallback to the proxied server': { + topic: function () { + request('http://127.0.0.1:8081/file', this.callback); + }, + 'status code should be the enpoint code 200': function (res) { + assert.equal(res.statusCode, 200); + }, + 'and file content': { + topic: function (res, body) { + var self = this; + fs.readFile(path.join(root, 'file'), 'utf8', function (err, data) { + self.callback(err, data, body); + }); + }, + 'should match content of the proxied served file': function (err, file, body) { + assert.equal(body.trim(), file.trim()); + } + } + } } } }).export(module); From 30f4d1e008b3d707a764eb06ad4c1ac2becd9e96 Mon Sep 17 00:00:00 2001 From: Paul Melnikow Date: Thu, 4 Sep 2014 21:03:02 -0400 Subject: [PATCH 029/194] Get CORS support working with XHR preflight Without this patch, http-server returns 404 on the preflight request (method: 'OPTIONS'). You can see the problem by loading an XHR request in Firefox. --- bin/http-server | 5 +--- lib/http-server.js | 59 +++++++++++++++++++++++----------------- package.json | 3 +- test/http-server-test.js | 26 ++++++++++++++++++ 4 files changed, 63 insertions(+), 30 deletions(-) diff --git a/bin/http-server b/bin/http-server index 04b3c7db9..3438a2dc4 100755 --- a/bin/http-server +++ b/bin/http-server @@ -70,10 +70,7 @@ function listen(port) { }; if (argv.cors) { - options.headers = { - 'Access-Control-Allow-Origin': '*', - 'Access-Control-Allow-Headers': 'Origin, X-Requested-With, Content-Type, Accept' - }; + options.cors = true; } if (ssl) { diff --git a/lib/http-server.js b/lib/http-server.js index 9ccb023dd..fcc0f4f12 100644 --- a/lib/http-server.js +++ b/lib/http-server.js @@ -2,7 +2,8 @@ var fs = require('fs'), util = require('util'), union = require('union'), ecstatic = require('ecstatic'), - httpProxy = require('http-proxy'); + httpProxy = require('http-proxy'), + corser = require('corser'); var HTTPServer = exports.HTTPServer = function (options) { options = options || {}; @@ -20,9 +21,7 @@ var HTTPServer = exports.HTTPServer = function (options) { } } - if (options.headers) { - this.headers = options.headers; - } + this.headers = options.headers || {}; this.cache = options.cache || 3600; // in seconds. this.showDir = options.showDir !== 'false'; @@ -34,30 +33,35 @@ var HTTPServer = exports.HTTPServer = function (options) { : options.ext; } - var serverOptions = { - before: (options.before || []).concat([ - function (req, res) { - if (options.logFn) { - options.logFn(req, res); - } - - res.emit('next'); - }, - ecstatic({ - root: this.root, - cache: this.cache, - showDir: this.showDir, - autoIndex: this.autoIndex, - defaultExt: this.ext, - handleError: typeof options.proxy !== 'string' - }) - ]), - headers: this.headers || {} - }; + var before = options.before ? options.before.slice() : []; + + before.push(function (req, res) { + if (options.logFn) { + options.logFn(req, res); + } + + res.emit('next'); + }); + + if (options.cors) { + this.headers['Access-Control-Allow-Origin'] = '*'; + this.headers['Access-Control-Allow-Headers'] = 'Origin, X-Requested-With, Content-Type, Accept'; + + before.push(corser.create()); + } + + before.push(ecstatic({ + root: this.root, + cache: this.cache, + showDir: this.showDir, + autoIndex: this.autoIndex, + defaultExt: this.ext, + handleError: typeof options.proxy !== 'string' + })); if (typeof options.proxy === 'string') { var proxy = httpProxy.createProxyServer({}); - serverOptions.before.push(function (req, res) { + before.push(function (req, res) { proxy.web(req, res, { target: options.proxy, changeOrigin: true @@ -65,6 +69,11 @@ var HTTPServer = exports.HTTPServer = function (options) { }); } + var serverOptions = { + before: before, + headers: this.headers + }; + if (options.https) { serverOptions.https = options.https; } diff --git a/package.json b/package.json index bf8a535d9..3f3af75e1 100644 --- a/package.json +++ b/package.json @@ -64,7 +64,8 @@ "ecstatic": "~0.6.1", "http-proxy": "^1.8.1", "portfinder": "0.2.x", - "opener": "~1.4.0" + "opener": "~1.4.0", + "corser": "~2.0.0" }, "devDependencies": { "vows": "0.7.x", diff --git a/test/http-server-test.js b/test/http-server-test.js index 6efbfb89a..3cdc8a73c 100644 --- a/test/http-server-test.js +++ b/test/http-server-test.js @@ -114,5 +114,31 @@ vows.describe('http-server').addBatch({ } } } + }, + 'When cors is enabled': { + topic: function () { + var server = httpServer.createServer({ + root: root, + cors: true + }); + server.listen(8082); + this.callback(null, server); + }, + 'and given OPTIONS request': { + topic: function () { + request({ + method: 'OPTIONS', + uri: 'http://127.0.0.1:8082/', + headers: { + 'Access-Control-Request-Method': 'GET', + Origin: 'http://example.com', + 'Access-Control-Request-Headers': 'Foobar' + } + }, this.callback); + }, + 'status code should be 204': function (err, res, body) { + assert.equal(res.statusCode, 204); + } + } } }).export(module); From f328b2095c042636d292488f3c9d84098afddf41 Mon Sep 17 00:00:00 2001 From: Elad Moshe Date: Wed, 4 Feb 2015 23:15:49 +0200 Subject: [PATCH 030/194] Added logging for errors (e.g. file not found) --- bin/http-server | 11 ++++++++--- lib/http-server.js | 8 +++++++- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/bin/http-server b/bin/http-server index 3438a2dc4..e4664538f 100755 --- a/bin/http-server +++ b/bin/http-server @@ -43,9 +43,14 @@ var port = argv.p || parseInt(process.env.PORT, 10), requestLogger; if (!argv.s && !argv.silent) { - requestLogger = function(req) { - log('[%s] "%s %s" "%s"', (new Date).toUTCString(), req.method.cyan, req.url.cyan, req.headers['user-agent']); - } + requestLogger = function(req, res, error) { + var date = (new Date).toUTCString(); + if (error) { + log('[%s] "%s %s" Error (%s): "%s"', date, req.method.red, req.url.red, error.status.toString().red, error.message.red); + } else { + log('[%s] "%s %s" "%s"', date, req.method.cyan, req.url.cyan, req.headers['user-agent']); + } + }; } if (!port) { diff --git a/lib/http-server.js b/lib/http-server.js index fcc0f4f12..3070360c9 100644 --- a/lib/http-server.js +++ b/lib/http-server.js @@ -71,7 +71,13 @@ var HTTPServer = exports.HTTPServer = function (options) { var serverOptions = { before: before, - headers: this.headers + headers: this.headers, + onError: function (err, req, res) { + if (options.logFn) { + options.logFn(req, res, err); + } + res.end(); + } }; if (options.https) { From 10f686a189474fcaf702878524dab0e2a336e9e5 Mon Sep 17 00:00:00 2001 From: Osvaldo Zonetti Date: Tue, 10 Feb 2015 14:57:28 -0200 Subject: [PATCH 031/194] signal handler for windows (CTRL-C to stop the server) --- bin/http-server | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/bin/http-server b/bin/http-server index e4664538f..155ea19d0 100755 --- a/bin/http-server +++ b/bin/http-server @@ -105,12 +105,16 @@ function listen(port) { }); } -if (process.platform !== 'win32') { - // - // Signal handlers don't work on Windows. - // - process.on('SIGINT', function () { - log('http-server stopped.'.red); - process.exit(); +if (process.platform === 'win32') { + require('readline').createInterface({ + input: process.stdin, + output: process.stdout + }).on('SIGINT', function () { + process.emit('SIGINT'); }); } + +process.on('SIGINT', function() { + log('http-server stopped.'.red); + process.exit(); +}); From aa7c88eb56b03db08a960b909933e06cd1aad8d0 Mon Sep 17 00:00:00 2001 From: Isaiah Odhner Date: Sun, 1 Mar 2015 01:25:08 -0500 Subject: [PATCH 032/194] Use 127.0.0.1 when listening on 0.0.0.0 --- bin/http-server | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/bin/http-server b/bin/http-server index 155ea19d0..216818d64 100755 --- a/bin/http-server +++ b/bin/http-server @@ -87,10 +87,13 @@ function listen(port) { var server = httpServer.createServer(options); server.listen(port, host, function() { - var uri = [ssl ? 'https' : 'http', '://', host, ':', port].join(''); + var protocol = ssl ? 'https:' : 'http:'; + var canonical_host = host === "0.0.0.0" ? "127.0.0.1" : host; + var uri = protocol + '//' + host + ':' + port; + var canonical_uri = protocol + '//' + canonical_host + ':' + port; log('Starting up http-server, serving '.yellow + server.root.cyan - + ((ssl) ? ' through'.yellow + ' https'.cyan : '') + + (ssl ? ' through'.yellow + ' https'.cyan : '') + ' on: '.yellow + uri.cyan); @@ -100,7 +103,7 @@ function listen(port) { log('Hit CTRL-C to stop the server'); if (argv.o) { - opener(uri); + opener(canonical_uri); } }); } From 31f16d9c44df3f6c036f947b8d6381f6139b7c33 Mon Sep 17 00:00:00 2001 From: indexzero Date: Thu, 19 Mar 2015 03:48:23 -0700 Subject: [PATCH 033/194] [minor] Conform to project style. Clean up implementation from #132. --- bin/http-server | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/bin/http-server b/bin/http-server index 216818d64..c72558503 100755 --- a/bin/http-server +++ b/bin/http-server @@ -86,16 +86,15 @@ function listen(port) { } var server = httpServer.createServer(options); - server.listen(port, host, function() { - var protocol = ssl ? 'https:' : 'http:'; - var canonical_host = host === "0.0.0.0" ? "127.0.0.1" : host; - var uri = protocol + '//' + host + ':' + port; - var canonical_uri = protocol + '//' + canonical_host + ':' + port; + server.listen(port, host, function () { + var canonicalHost = host === '0.0.0.0' ? '127.0.0.1' : host, + protocol = ssl ? 'https:' : 'http:'; + log('Starting up http-server, serving '.yellow + server.root.cyan - + (ssl ? ' through'.yellow + ' https'.cyan : '') + + (ssl ? (' through'.yellow + ' https'.cyan) : '') + ' on: '.yellow - + uri.cyan); + + (protocol + '//' + host + ':' + port).cyan); if (typeof proxy === 'string') { log('Unhandled requests will be served from: ' + proxy); @@ -103,7 +102,7 @@ function listen(port) { log('Hit CTRL-C to stop the server'); if (argv.o) { - opener(canonical_uri); + opener(protocol + '//' + canonicalHost + ':' + port); } }); } From 134381aaa44fbe97b384cfa407542c8a13be3be5 Mon Sep 17 00:00:00 2001 From: indexzero Date: Thu, 19 Mar 2015 03:54:47 -0700 Subject: [PATCH 034/194] [dist] Update some dependencies. --- package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 3f3af75e1..e875b86b4 100644 --- a/package.json +++ b/package.json @@ -61,16 +61,16 @@ "colors": "1.0.3", "optimist": "0.6.x", "union": "~0.4.3", - "ecstatic": "~0.6.1", + "ecstatic": "~0.7.0", "http-proxy": "^1.8.1", - "portfinder": "0.2.x", + "portfinder": "0.4.x", "opener": "~1.4.0", "corser": "~2.0.0" }, "devDependencies": { "vows": "0.7.x", "request": "2.49.x", - "stylezero": "2.1.1" + "stylezero": "2.2.0" }, "bugs": { "url": "https://github.com/nodeapps/http-server/issues" From 991c68a87292d7247a9ba52d6b6880ca6f9eb9c5 Mon Sep 17 00:00:00 2001 From: indexzero Date: Thu, 19 Mar 2015 03:55:23 -0700 Subject: [PATCH 035/194] [dist] Minor package.json clean-up. --- package.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index e875b86b4..61763014a 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { "name": "http-server", "version": "0.7.5", - "description": "a simple zero-configuration command-line http server", + "description": "A simple zero-configuration command-line http server", "main": "./lib/http-server", "repository": { "type": "git", - "url": "git://github.com/nodeapps/http-server.git" + "url": "git://github.com/indexzero/http-server.git" }, "keywords": [ "cli", @@ -81,7 +81,6 @@ "url": "https://github.com/nodeapps/http-server/raw/master/LICENSE" } ], - "analyze": false, "preferGlobal": "true", "bin": { "http-server": "./bin/http-server", From ca4aee6edf08017b08256ebdd56818d7155a7454 Mon Sep 17 00:00:00 2001 From: Scott Date: Wed, 29 Oct 2014 01:11:16 -0500 Subject: [PATCH 036/194] add optional path argument for specific browser --- bin/http-server | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/bin/http-server b/bin/http-server index c72558503..0ffa6b106 100755 --- a/bin/http-server +++ b/bin/http-server @@ -20,7 +20,7 @@ if (argv.h || argv.help) { " -e --ext Default file extension if none supplied [none]", " -s --silent Suppress log messages from output", " --cors Enable CORS via the 'Access-Control-Allow-Origin' header", - " -o Open browser window after staring the server", + " -o [path] Open browser window after starting the server", " -c Cache time (max-age) in seconds [3600], e.g. -c10 for 10 seconds.", " To disable caching, use -c-1.", "", @@ -102,7 +102,10 @@ function listen(port) { log('Hit CTRL-C to stop the server'); if (argv.o) { - opener(protocol + '//' + canonicalHost + ':' + port); + opener( + protocol + '//' + canonicalHost + ':' + port, + { command: argv.o !== true ? argv.o : null } + ); } }); } From ee6a65b6dec4ba4f4c3021055142852ea5601e8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Santos?= Date: Mon, 23 Dec 2013 23:19:14 +0000 Subject: [PATCH 037/194] Add option to dynamically serve a /robots.txt --- README.md | 7 ++++--- bin/http-server | 4 +++- lib/http-server.js | 15 +++++++++++++++ test/http-server-test.js | 10 ++++++++++ 4 files changed, 32 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 8d44880b9..ff85ba807 100644 --- a/README.md +++ b/README.md @@ -62,6 +62,8 @@ This will install `http-server` globally so that it may be run from the command `-o` Open browser window after staring the server +`-c` Set cache time (in seconds) for cache-control max-age header, e.g. -c10 for 10 seconds (defaults to '3600'). To disable caching, use -c-1. + `-P` or `--proxy` Proxies all requests which can't be resolved locally to the given url. e.g.: -P http://someurl.com `-S` or `--ssl` Enable https. @@ -70,7 +72,6 @@ This will install `http-server` globally so that it may be run from the command `-K` or `--key` Path to ssl key file (default: key.pem). -`-h` or `--help` Print this list and exit. +`-r` or `--robots` Provide a /robots.txt (whose content defaults to 'User-agent: *\nDisallow: /') -`-c` Set cache time (in seconds) for cache-control max-age header, e.g. -c10 for 10 seconds -(defaults to '3600'). To disable caching, use -c-1. +`-h` or `--help` Print this list and exit. diff --git a/bin/http-server b/bin/http-server index 0ffa6b106..311296189 100755 --- a/bin/http-server +++ b/bin/http-server @@ -1,6 +1,6 @@ #!/usr/bin/env node -var colors = require('colors'), +var colors = require('colors'), httpServer = require('../lib/http-server'), portfinder = require('portfinder'), opener = require('opener'), @@ -30,6 +30,7 @@ if (argv.h || argv.help) { " -C --cert Path to ssl cert file (default: cert.pem).", " -K --key Path to ssl key file (default: key.pem).", "", + " -r --robots Respond to /robots.txt [User-agent: *\\nDisallow: /]", " -h --help Print this list and exit." ].join('\n')); process.exit(); @@ -69,6 +70,7 @@ function listen(port) { cache: argv.c, showDir: argv.d, autoIndex: argv.i, + robots: argv.r || argv.robots, ext: argv.e || argv.ext, logFn: requestLogger, proxy: proxy diff --git a/lib/http-server.js b/lib/http-server.js index 3070360c9..ca83d7f3e 100644 --- a/lib/http-server.js +++ b/lib/http-server.js @@ -50,6 +50,21 @@ var HTTPServer = exports.HTTPServer = function (options) { before.push(corser.create()); } + if (options.robots) { + before.push(function (req, res) { + if (req.url === '/robots.txt') { + res.setHeader('Content-Type', 'text/plain'); + var robots = options.robots === true + ? 'User-agent: *\nDisallow: /' + : options.robots.replace(/\\n/, '\n'); + + return res.end(robots); + } + + res.emit('next'); + }); + } + before.push(ecstatic({ root: this.root, cache: this.cache, diff --git a/test/http-server-test.js b/test/http-server-test.js index 3cdc8a73c..16d6846d6 100644 --- a/test/http-server-test.js +++ b/test/http-server-test.js @@ -12,11 +12,13 @@ vows.describe('http-server').addBatch({ topic: function () { var server = httpServer.createServer({ root: root, + robots: true, headers: { 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Credentials': 'true' } }); + server.listen(8080); this.callback(null, server); }, @@ -57,6 +59,14 @@ vows.describe('http-server').addBatch({ assert.include(body, '/canYouSeeMe'); } }, + 'when robots options is activated': { + topic: function () { + request('http://127.0.0.1:8080/', this.callback); + }, + 'should respond with status code 200 to /robots.txt': function (res) { + assert.equal(res.statusCode, 200); + } + }, 'and options include custom set http-headers': { topic: function () { request('http://127.0.0.1:8080/', this.callback); From ac38a041c954c863fd695b0f70ba251399856812 Mon Sep 17 00:00:00 2001 From: indexzero Date: Thu, 19 Mar 2015 04:16:05 -0700 Subject: [PATCH 038/194] [dist] Version bump. 0.8.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 61763014a..1aeab8bda 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "http-server", - "version": "0.7.5", + "version": "0.8.0", "description": "A simple zero-configuration command-line http server", "main": "./lib/http-server", "repository": { From dbd36989b7d77b304f419be73d9e21378e3fb482 Mon Sep 17 00:00:00 2001 From: Serge Bedzhyk Date: Thu, 16 Apr 2015 15:04:24 +0300 Subject: [PATCH 039/194] Fix code-style issue on network interfaces loop --- bin/http-server | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/http-server b/bin/http-server index c89f5ed38..31ae60002 100755 --- a/bin/http-server +++ b/bin/http-server @@ -103,13 +103,13 @@ function listen(port) { log('\nAvailable on:'.yellow); - for (var dev in ifaces) { + Object.keys(ifaces).forEach(function (dev) { ifaces[dev].forEach(function(details){ if (details.family=='IPv4') { log((" http://" + details.address + ":" + port.toString()).green); } }); - } + }); if (typeof proxy === 'string') { log('Unhandled requests will be served from: ' + proxy); From 83840b5726e30708651e44ca490ba303ef9d5d5f Mon Sep 17 00:00:00 2001 From: Serge Bedzhyk Date: Thu, 16 Apr 2015 15:28:00 +0300 Subject: [PATCH 040/194] Add a bit more spaces to follow the general code-style --- bin/http-server | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/http-server b/bin/http-server index 31ae60002..75bdb83e4 100755 --- a/bin/http-server +++ b/bin/http-server @@ -104,8 +104,8 @@ function listen(port) { log('\nAvailable on:'.yellow); Object.keys(ifaces).forEach(function (dev) { - ifaces[dev].forEach(function(details){ - if (details.family=='IPv4') { + ifaces[dev].forEach(function (details) { + if (details.family == 'IPv4') { log((" http://" + details.address + ":" + port.toString()).green); } }); From 68f10ee36b6ac3d65e0cfe160387026133a561f5 Mon Sep 17 00:00:00 2001 From: Nick Desaulniers Date: Wed, 10 Jun 2015 13:52:39 -0700 Subject: [PATCH 041/194] Allow byte range requests over CORS Fixes #156 --- lib/http-server.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/http-server.js b/lib/http-server.js index ca83d7f3e..8c9b85f6f 100644 --- a/lib/http-server.js +++ b/lib/http-server.js @@ -45,7 +45,7 @@ var HTTPServer = exports.HTTPServer = function (options) { if (options.cors) { this.headers['Access-Control-Allow-Origin'] = '*'; - this.headers['Access-Control-Allow-Headers'] = 'Origin, X-Requested-With, Content-Type, Accept'; + this.headers['Access-Control-Allow-Headers'] = 'Origin, X-Requested-With, Content-Type, Accept, Range'; before.push(corser.create()); } From 48119f9b72e89ca1054de7bda5038c64c8119e30 Mon Sep 17 00:00:00 2001 From: Karol Majta Date: Fri, 12 Jun 2015 15:30:48 +0200 Subject: [PATCH 042/194] Allows explicitly setting cache to 0, closes #158 --- lib/http-server.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/http-server.js b/lib/http-server.js index ca83d7f3e..ad4be75bd 100644 --- a/lib/http-server.js +++ b/lib/http-server.js @@ -23,7 +23,7 @@ var HTTPServer = exports.HTTPServer = function (options) { this.headers = options.headers || {}; - this.cache = options.cache || 3600; // in seconds. + this.cache = options.cache === undefined ? 3600 : options.cache; // in seconds. this.showDir = options.showDir !== 'false'; this.autoIndex = options.autoIndex !== 'false'; From ef605e8fabb9c795d6ef97cb9687ccffba3553a2 Mon Sep 17 00:00:00 2001 From: gordalina Date: Tue, 28 Jul 2015 14:18:47 +0100 Subject: [PATCH 043/194] Pass contentType to ecstatic options --- lib/http-server.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/http-server.js b/lib/http-server.js index ca83d7f3e..9a7fa91d3 100644 --- a/lib/http-server.js +++ b/lib/http-server.js @@ -26,6 +26,7 @@ var HTTPServer = exports.HTTPServer = function (options) { this.cache = options.cache || 3600; // in seconds. this.showDir = options.showDir !== 'false'; this.autoIndex = options.autoIndex !== 'false'; + this.contentType = options.contentType || 'application/octet-stream'; if (options.ext) { this.ext = options.ext === true @@ -71,6 +72,7 @@ var HTTPServer = exports.HTTPServer = function (options) { showDir: this.showDir, autoIndex: this.autoIndex, defaultExt: this.ext, + contentType: this.contentType, handleError: typeof options.proxy !== 'string' })); From d9200ea455979ec387b07fbfe36ff9b4520cad89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20de=20Metz?= Date: Tue, 4 Aug 2015 17:22:27 +0200 Subject: [PATCH 044/194] Listen for sigterm and exit. --- bin/http-server | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/bin/http-server b/bin/http-server index 75bdb83e4..af4adb948 100755 --- a/bin/http-server +++ b/bin/http-server @@ -138,3 +138,8 @@ process.on('SIGINT', function() { log('http-server stopped.'.red); process.exit(); }); + +process.on('SIGTERM', function() { + log('http-server stopped.'.red); + process.exit(); +}); From 16900b3549d27c989082f26647d76314722ad539 Mon Sep 17 00:00:00 2001 From: indexzero Date: Mon, 21 Sep 2015 17:18:48 -0700 Subject: [PATCH 045/194] [fix] Update license to conform to modern npm syntax in package.json. Fixes #177. --- package.json | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/package.json b/package.json index 1aeab8bda..390ad2229 100644 --- a/package.json +++ b/package.json @@ -75,12 +75,7 @@ "bugs": { "url": "https://github.com/nodeapps/http-server/issues" }, - "licenses": [ - { - "type": "MIT", - "url": "https://github.com/nodeapps/http-server/raw/master/LICENSE" - } - ], + "license": "MIT", "preferGlobal": "true", "bin": { "http-server": "./bin/http-server", From ea895516d809f9588590bd37b49a366074760813 Mon Sep 17 00:00:00 2001 From: indexzero Date: Mon, 21 Sep 2015 17:39:40 -0700 Subject: [PATCH 046/194] [dist] Version bump. 0.8.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 390ad2229..291d9543f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "http-server", - "version": "0.8.0", + "version": "0.8.1", "description": "A simple zero-configuration command-line http server", "main": "./lib/http-server", "repository": { From 352ee1c23c35f36c5d1163b216f18d4548d48fa7 Mon Sep 17 00:00:00 2001 From: indexzero Date: Sat, 1 Aug 2015 00:26:05 -0700 Subject: [PATCH 047/194] [fix dist] Update to "common-style". --- bin/http-server | 78 ++++++++++++++++++++-------------------- lib/http-server.js | 7 ++-- package.json | 2 +- test/http-server-test.js | 4 +-- 4 files changed, 45 insertions(+), 46 deletions(-) diff --git a/bin/http-server b/bin/http-server index af4adb948..a8682e3c5 100755 --- a/bin/http-server +++ b/bin/http-server @@ -13,46 +13,48 @@ var ifaces = os.networkInterfaces(); if (argv.h || argv.help) { console.log([ - "usage: http-server [path] [options]", - "", - "options:", - " -p Port to use [8080]", - " -a Address to use [0.0.0.0]", - " -d Show directory listings [true]", - " -i Display autoIndex [true]", - " -e --ext Default file extension if none supplied [none]", - " -s --silent Suppress log messages from output", - " --cors Enable CORS via the 'Access-Control-Allow-Origin' header", - " -o [path] Open browser window after starting the server", - " -c Cache time (max-age) in seconds [3600], e.g. -c10 for 10 seconds.", - " To disable caching, use -c-1.", - "", - " -P --proxy Fallback proxy if the request cannot be resolved. e.g.: http://someurl.com", - "", - " -S --ssl Enable https.", - " -C --cert Path to ssl cert file (default: cert.pem).", - " -K --key Path to ssl key file (default: key.pem).", - "", - " -r --robots Respond to /robots.txt [User-agent: *\\nDisallow: /]", - " -h --help Print this list and exit." + 'usage: http-server [path] [options]', + '', + 'options:', + ' -p Port to use [8080]', + ' -a Address to use [0.0.0.0]', + ' -d Show directory listings [true]', + ' -i Display autoIndex [true]', + ' -e --ext Default file extension if none supplied [none]', + ' -s --silent Suppress log messages from output', + ' --cors Enable CORS via the "Access-Control-Allow-Origin" header', + ' -o [path] Open browser window after starting the server', + ' -c Cache time (max-age) in seconds [3600], e.g. -c10 for 10 seconds.', + ' To disable caching, use -c-1.', + '', + ' -P --proxy Fallback proxy if the request cannot be resolved. e.g.: http://someurl.com', + '', + ' -S --ssl Enable https.', + ' -C --cert Path to ssl cert file (default: cert.pem).', + ' -K --key Path to ssl key file (default: key.pem).', + '', + ' -r --robots Respond to /robots.txt [User-agent: *\\nDisallow: /]', + ' -h --help Print this list and exit.' ].join('\n')); process.exit(); } var port = argv.p || parseInt(process.env.PORT, 10), host = argv.a || '0.0.0.0', - log = (argv.s || argv.silent) ? (function () {}) : console.log, ssl = !!argv.S || !!argv.ssl, proxy = argv.P || argv.proxy, - requestLogger; + logger = colors && {}; if (!argv.s && !argv.silent) { - requestLogger = function(req, res, error) { - var date = (new Date).toUTCString(); - if (error) { - log('[%s] "%s %s" Error (%s): "%s"', date, req.method.red, req.url.red, error.status.toString().red, error.message.red); - } else { - log('[%s] "%s %s" "%s"', date, req.method.cyan, req.url.cyan, req.headers['user-agent']); + logger = { + info: console.log, + request: function (req, res, error) { + var date = new Date().toUTCString(); + if (error) { + logger.info('[%s] "%s %s" Error (%s): "%s"', date, req.method.red, req.url.red, error.status.toString().red, error.message.red); + } else { + logger.info('[%s] "%s %s" "%s"', date, req.method.cyan, req.url.cyan, req.headers['user-agent']); + } } }; } @@ -60,7 +62,7 @@ if (!argv.s && !argv.silent) { if (!port) { portfinder.basePort = 8080; portfinder.getPort(function (err, port) { - if (err) throw err; + if (err) { throw err; } listen(port); }); } else { @@ -75,7 +77,7 @@ function listen(port) { autoIndex: argv.i, robots: argv.r || argv.robots, ext: argv.e || argv.ext, - logFn: requestLogger, + logFn: logger.request, proxy: proxy }; @@ -95,9 +97,9 @@ function listen(port) { var canonicalHost = host === '0.0.0.0' ? '127.0.0.1' : host, protocol = ssl ? 'https:' : 'http:'; - log('Starting up http-server, serving '.yellow + logger.info('Starting up http-server, serving '.yellow + server.root.cyan - + (ssl ? (' through'.yellow + ' https'.cyan) : '') + + ssl ? ' through'.yellow + ' https'.cyan : '' + ' on: '.yellow + (protocol + '//' + host + ':' + port).cyan); @@ -112,10 +114,10 @@ function listen(port) { }); if (typeof proxy === 'string') { - log('Unhandled requests will be served from: ' + proxy); + logger.info('Unhandled requests will be served from: ' + proxy); } - log('Hit CTRL-C to stop the server'); + logger.info('Hit CTRL-C to stop the server'); if (argv.o) { opener( protocol + '//' + canonicalHost + ':' + port, @@ -134,8 +136,8 @@ if (process.platform === 'win32') { }); } -process.on('SIGINT', function() { - log('http-server stopped.'.red); +process.on('SIGINT', function () { + logger.info('http-server stopped.'.red); process.exit(); }); diff --git a/lib/http-server.js b/lib/http-server.js index 9a7fa91d3..9f34af0cc 100644 --- a/lib/http-server.js +++ b/lib/http-server.js @@ -1,5 +1,4 @@ var fs = require('fs'), - util = require('util'), union = require('union'), ecstatic = require('ecstatic'), httpProxy = require('http-proxy'), @@ -10,13 +9,11 @@ var HTTPServer = exports.HTTPServer = function (options) { if (options.root) { this.root = options.root; - } - else { + } else { try { fs.lstatSync('./public'); this.root = './public'; - } - catch (err) { + } catch (err) { this.root = './'; } } diff --git a/package.json b/package.json index 291d9543f..7412c8b5d 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ ], "scripts": { "start": "node ./bin/http-server", - "pretest": "stylezero bin/ lib/ test", + "pretest": "stylezero bin/http-server lib/ test", "test": "vows --spec --isolate" }, "contributors": [ diff --git a/test/http-server-test.js b/test/http-server-test.js index 16d6846d6..a9240b288 100644 --- a/test/http-server-test.js +++ b/test/http-server-test.js @@ -71,7 +71,7 @@ vows.describe('http-server').addBatch({ topic: function () { request('http://127.0.0.1:8080/', this.callback); }, - 'should respond with headers set in options': function (err, res, body) { + 'should respond with headers set in options': function (err, res) { assert.equal(res.headers['access-control-allow-origin'], '*'); assert.equal(res.headers['access-control-allow-credentials'], 'true'); } @@ -146,7 +146,7 @@ vows.describe('http-server').addBatch({ } }, this.callback); }, - 'status code should be 204': function (err, res, body) { + 'status code should be 204': function (err, res) { assert.equal(res.statusCode, 204); } } From c5a8f8d1139507a2a49708cd609ff7bb632cf53a Mon Sep 17 00:00:00 2001 From: indexzero Date: Sat, 1 Aug 2015 01:34:15 -0700 Subject: [PATCH 048/194] [fix dist] More "common-style" changes. --- bin/http-server | 44 ++++++++++++++++++++++++++------------------ 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/bin/http-server b/bin/http-server index a8682e3c5..be12e8daa 100755 --- a/bin/http-server +++ b/bin/http-server @@ -16,25 +16,25 @@ if (argv.h || argv.help) { 'usage: http-server [path] [options]', '', 'options:', - ' -p Port to use [8080]', - ' -a Address to use [0.0.0.0]', - ' -d Show directory listings [true]', - ' -i Display autoIndex [true]', - ' -e --ext Default file extension if none supplied [none]', - ' -s --silent Suppress log messages from output', - ' --cors Enable CORS via the "Access-Control-Allow-Origin" header', - ' -o [path] Open browser window after starting the server', - ' -c Cache time (max-age) in seconds [3600], e.g. -c10 for 10 seconds.', - ' To disable caching, use -c-1.', + ' -p Port to use [8080]', + ' -a Address to use [0.0.0.0]', + ' -d Show directory listings [true]', + ' -i Display autoIndex [true]', + ' -e --ext Default file extension if none supplied [none]', + ' -s --silent Suppress log messages from output', + ' --cors Enable CORS via the "Access-Control-Allow-Origin" header', + ' -o [path] Open browser window after starting the server', + ' -c Cache time (max-age) in seconds [3600], e.g. -c10 for 10 seconds.', + ' To disable caching, use -c-1.', '', - ' -P --proxy Fallback proxy if the request cannot be resolved. e.g.: http://someurl.com', + ' -P --proxy Fallback proxy if the request cannot be resolved. e.g.: http://someurl.com', '', - ' -S --ssl Enable https.', - ' -C --cert Path to ssl cert file (default: cert.pem).', - ' -K --key Path to ssl key file (default: key.pem).', + ' -S --ssl Enable https.', + ' -C --cert Path to ssl cert file (default: cert.pem).', + ' -K --key Path to ssl key file (default: key.pem).', '', - ' -r --robots Respond to /robots.txt [User-agent: *\\nDisallow: /]', - ' -h --help Print this list and exit.' + ' -r --robots Respond to /robots.txt [User-agent: *\\nDisallow: /]', + ' -h --help Print this list and exit.' ].join('\n')); process.exit(); } @@ -51,9 +51,17 @@ if (!argv.s && !argv.silent) { request: function (req, res, error) { var date = new Date().toUTCString(); if (error) { - logger.info('[%s] "%s %s" Error (%s): "%s"', date, req.method.red, req.url.red, error.status.toString().red, error.message.red); + logger.info( + '[%s] "%s %s" Error (%s): "%s"', + date, req.method.red, req.url.red, + error.status.toString().red, error.message.red + ); } else { - logger.info('[%s] "%s %s" "%s"', date, req.method.cyan, req.url.cyan, req.headers['user-agent']); + logger.info( + '[%s] "%s %s" "%s"', + date, req.method.cyan, req.url.cyan, + req.headers['user-agent'] + ); } } }; From 40e9a25d0a1249ec5394ce25dba98470ad1ff750 Mon Sep 17 00:00:00 2001 From: indexzero Date: Mon, 21 Sep 2015 17:51:44 -0700 Subject: [PATCH 049/194] [dist] Take dependency on `common-style`. --- package.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 7412c8b5d..73a727f7e 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ ], "scripts": { "start": "node ./bin/http-server", - "pretest": "stylezero bin/http-server lib/ test", + "pretest": "common bin/http-server lib/ test", "test": "vows --spec --isolate" }, "contributors": [ @@ -54,7 +54,7 @@ }, { "name": "Jinkwon Lee", - "email" : "master@bdyne.net" + "email": "master@bdyne.net" } ], "dependencies": { @@ -68,9 +68,9 @@ "corser": "~2.0.0" }, "devDependencies": { - "vows": "0.7.x", + "common-style": "^3.0.0", "request": "2.49.x", - "stylezero": "2.2.0" + "vows": "0.7.x" }, "bugs": { "url": "https://github.com/nodeapps/http-server/issues" @@ -79,6 +79,6 @@ "preferGlobal": "true", "bin": { "http-server": "./bin/http-server", - "hs" : "./bin/http-server" + "hs": "./bin/http-server" } } From bb3e4913cf40fd5eb55cc9e7839b3af2c18cd4f4 Mon Sep 17 00:00:00 2001 From: indexzero Date: Mon, 21 Sep 2015 17:52:04 -0700 Subject: [PATCH 050/194] [dist] Finish transition to common-style@3.0.0. --- bin/http-server | 14 +++++++++----- lib/http-server.js | 40 ++++++++++++++++++++++++++++++---------- 2 files changed, 39 insertions(+), 15 deletions(-) diff --git a/bin/http-server b/bin/http-server index be12e8daa..8db8c57ea 100755 --- a/bin/http-server +++ b/bin/http-server @@ -1,5 +1,7 @@ #!/usr/bin/env node +'use strict'; + var colors = require('colors'), os = require('os'), httpServer = require('../lib/http-server'), @@ -56,7 +58,8 @@ if (!argv.s && !argv.silent) { date, req.method.red, req.url.red, error.status.toString().red, error.message.red ); - } else { + } + else { logger.info( '[%s] "%s %s" "%s"', date, req.method.cyan, req.url.cyan, @@ -73,7 +76,8 @@ if (!port) { if (err) { throw err; } listen(port); }); -} else { +} +else { listen(port); } @@ -115,8 +119,8 @@ function listen(port) { Object.keys(ifaces).forEach(function (dev) { ifaces[dev].forEach(function (details) { - if (details.family == 'IPv4') { - log((" http://" + details.address + ":" + port.toString()).green); + if (details.family === 'IPv4') { + log((' http://' + details.address + ':' + port.toString()).green); } }); }); @@ -149,7 +153,7 @@ process.on('SIGINT', function () { process.exit(); }); -process.on('SIGTERM', function() { +process.on('SIGTERM', function () { log('http-server stopped.'.red); process.exit(); }); diff --git a/lib/http-server.js b/lib/http-server.js index 9f34af0cc..b2ad204ad 100644 --- a/lib/http-server.js +++ b/lib/http-server.js @@ -1,19 +1,42 @@ +'use strict'; + var fs = require('fs'), union = require('union'), ecstatic = require('ecstatic'), httpProxy = require('http-proxy'), corser = require('corser'); -var HTTPServer = exports.HTTPServer = function (options) { +// +// Remark: backwards compatibility for previous +// case convention of HTTP +// +exports.HttpServer = exports.HTTPServer = HttpServer; + +/** + * Returns a new instance of HttpServer with the + * specified `options`. + */ +exports.createServer = function (options) { + return new HttpServer(options); +}; + +/** + * Constructor function for the HttpServer object + * with is responsible for serving static files along + * with other HTTP-related features. + */ +function HttpServer(options) { options = options || {}; if (options.root) { this.root = options.root; - } else { + } + else { try { fs.lstatSync('./public'); this.root = './public'; - } catch (err) { + } + catch (err) { this.root = './'; } } @@ -90,6 +113,7 @@ var HTTPServer = exports.HTTPServer = function (options) { if (options.logFn) { options.logFn(req, res, err); } + res.end(); } }; @@ -99,16 +123,12 @@ var HTTPServer = exports.HTTPServer = function (options) { } this.server = union.createServer(serverOptions); -}; +} -HTTPServer.prototype.listen = function () { +HttpServer.prototype.listen = function () { this.server.listen.apply(this.server, arguments); }; -HTTPServer.prototype.close = function () { +HttpServer.prototype.close = function () { return this.server.close(); }; - -exports.createServer = function (options) { - return new HTTPServer(options); -}; From cf7aa9ac97421829705aa38189bd18a8143909f3 Mon Sep 17 00:00:00 2001 From: indexzero Date: Mon, 21 Sep 2015 17:52:35 -0700 Subject: [PATCH 051/194] [dist] Version bump. 0.8.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 73a727f7e..662e2def6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "http-server", - "version": "0.8.1", + "version": "0.8.2", "description": "A simple zero-configuration command-line http server", "main": "./lib/http-server", "repository": { From 12e537311cc9c35dbc2a46dcd7135d83b407e4e8 Mon Sep 17 00:00:00 2001 From: indexzero Date: Mon, 21 Sep 2015 18:15:48 -0700 Subject: [PATCH 052/194] [dist] Version bump. 0.8.3 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 662e2def6..02e5afc44 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "http-server", - "version": "0.8.2", + "version": "0.8.3", "description": "A simple zero-configuration command-line http server", "main": "./lib/http-server", "repository": { From 90007e26bc3b722f15fa5d5e2bca8143d17a70f2 Mon Sep 17 00:00:00 2001 From: indexzero Date: Mon, 21 Sep 2015 18:21:01 -0700 Subject: [PATCH 053/194] [dist] Update .travis.yml to be more sane. --- .travis.yml | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 42d2b93f1..6d1d5b6e6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,12 +1,21 @@ +sudo: false language: node_js node_js: - - 0.8 - - 0.10 + - "0.10" + - "0.12" + - "4.1" + before_install: - - curl --location http://git.io/1OcIZA | bash -s -branches: - only: - - master + - travis_retry npm install -g npm@2.14.5 + - travis_retry npm install + +script: + - npm test + +matrix: + allow_failures: + - node_js: "0.10" + notifications: email: - travis@nodejitsu.com From 1c2d9ea3f758ba006b94d5b7848a45cb2ce33aa9 Mon Sep 17 00:00:00 2001 From: Christopher Roussel Date: Mon, 21 Sep 2015 21:00:49 -0500 Subject: [PATCH 054/194] Complete renaming of log() to logger.info() --- bin/http-server | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bin/http-server b/bin/http-server index 8db8c57ea..1e4751794 100755 --- a/bin/http-server +++ b/bin/http-server @@ -115,12 +115,12 @@ function listen(port) { + ' on: '.yellow + (protocol + '//' + host + ':' + port).cyan); - log('\nAvailable on:'.yellow); + logger.info('\nAvailable on:'.yellow); Object.keys(ifaces).forEach(function (dev) { ifaces[dev].forEach(function (details) { if (details.family === 'IPv4') { - log((' http://' + details.address + ':' + port.toString()).green); + logger.info((' http://' + details.address + ':' + port.toString()).green); } }); }); @@ -154,6 +154,6 @@ process.on('SIGINT', function () { }); process.on('SIGTERM', function () { - log('http-server stopped.'.red); + logger.info('http-server stopped.'.red); process.exit(); }); From 5e014e81eab43885c8fead3c1c246bed39c13c24 Mon Sep 17 00:00:00 2001 From: indexzero Date: Mon, 21 Sep 2015 19:52:16 -0700 Subject: [PATCH 055/194] [dist] Version bump. 0.8.4 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 02e5afc44..c5bd31cae 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "http-server", - "version": "0.8.3", + "version": "0.8.4", "description": "A simple zero-configuration command-line http server", "main": "./lib/http-server", "repository": { From 92e7ee69309e695fc5d7959e534cbf7fb840226a Mon Sep 17 00:00:00 2001 From: indexzero Date: Fri, 25 Sep 2015 17:02:16 -0700 Subject: [PATCH 056/194] [fix] Correct weird log output and correct silent usage. Fixes #181. --- bin/http-server | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/bin/http-server b/bin/http-server index 1e4751794..8b3de28ca 100755 --- a/bin/http-server +++ b/bin/http-server @@ -45,7 +45,7 @@ var port = argv.p || parseInt(process.env.PORT, 10), host = argv.a || '0.0.0.0', ssl = !!argv.S || !!argv.ssl, proxy = argv.P || argv.proxy, - logger = colors && {}; + logger; if (!argv.s && !argv.silent) { logger = { @@ -69,6 +69,12 @@ if (!argv.s && !argv.silent) { } }; } +else if (colors) { + logger = { + info: function () {}, + request: function () {} + }; +} if (!port) { portfinder.basePort = 8080; @@ -109,18 +115,16 @@ function listen(port) { var canonicalHost = host === '0.0.0.0' ? '127.0.0.1' : host, protocol = ssl ? 'https:' : 'http:'; - logger.info('Starting up http-server, serving '.yellow - + server.root.cyan - + ssl ? ' through'.yellow + ' https'.cyan : '' - + ' on: '.yellow - + (protocol + '//' + host + ':' + port).cyan); - - logger.info('\nAvailable on:'.yellow); + logger.info(['Starting up http-server, serving '.yellow, + server.root.cyan, + ssl ? (' through'.yellow + ' https'.cyan) : '', + '\nAvailable on:'.yellow + ].join('')); Object.keys(ifaces).forEach(function (dev) { ifaces[dev].forEach(function (details) { if (details.family === 'IPv4') { - logger.info((' http://' + details.address + ':' + port.toString()).green); + logger.info((' ' + protocol + details.address + ':' + port.toString()).green); } }); }); From b8975be281a5705e71218597940e53034ebe41d4 Mon Sep 17 00:00:00 2001 From: indexzero Date: Fri, 25 Sep 2015 17:02:26 -0700 Subject: [PATCH 057/194] [dist] Version bump. 0.8.5 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c5bd31cae..e50770b03 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "http-server", - "version": "0.8.4", + "version": "0.8.5", "description": "A simple zero-configuration command-line http server", "main": "./lib/http-server", "repository": { From 3084d678ba02f36cd2d9a9c7e777ba8de050ed68 Mon Sep 17 00:00:00 2001 From: Harrison Shoebridge Date: Sun, 4 Oct 2015 23:04:17 +1100 Subject: [PATCH 058/194] Fix typo in README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ff85ba807..8bc15cab2 100644 --- a/README.md +++ b/README.md @@ -60,7 +60,7 @@ This will install `http-server` globally so that it may be run from the command `--cors` Enable CORS via the `Access-Control-Allow-Origin` header -`-o` Open browser window after staring the server +`-o` Open browser window after starting the server `-c` Set cache time (in seconds) for cache-control max-age header, e.g. -c10 for 10 seconds (defaults to '3600'). To disable caching, use -c-1. From 98c0c211bc839951e7d634cd89e5d7d69bc2d043 Mon Sep 17 00:00:00 2001 From: Iuzhakov Andrey Date: Thu, 8 Oct 2015 05:15:12 +0300 Subject: [PATCH 059/194] UTC time format option for log messages --- README.md | 2 ++ bin/http-server | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 8bc15cab2..0b699e501 100644 --- a/README.md +++ b/README.md @@ -64,6 +64,8 @@ This will install `http-server` globally so that it may be run from the command `-c` Set cache time (in seconds) for cache-control max-age header, e.g. -c10 for 10 seconds (defaults to '3600'). To disable caching, use -c-1. +`-U` or `--utc` Use UTC time format in log messages. + `-P` or `--proxy` Proxies all requests which can't be resolved locally to the given url. e.g.: -P http://someurl.com `-S` or `--ssl` Enable https. diff --git a/bin/http-server b/bin/http-server index 8b3de28ca..a238603ba 100755 --- a/bin/http-server +++ b/bin/http-server @@ -28,6 +28,7 @@ if (argv.h || argv.help) { ' -o [path] Open browser window after starting the server', ' -c Cache time (max-age) in seconds [3600], e.g. -c10 for 10 seconds.', ' To disable caching, use -c-1.', + ' -U --utc Use UTC time format in log messages.', '', ' -P --proxy Fallback proxy if the request cannot be resolved. e.g.: http://someurl.com', '', @@ -45,13 +46,14 @@ var port = argv.p || parseInt(process.env.PORT, 10), host = argv.a || '0.0.0.0', ssl = !!argv.S || !!argv.ssl, proxy = argv.P || argv.proxy, + utc = argv.U || argv.utc, logger; if (!argv.s && !argv.silent) { logger = { info: console.log, request: function (req, res, error) { - var date = new Date().toUTCString(); + var date = utc ? new Date().toUTCString() : new Date(); if (error) { logger.info( '[%s] "%s %s" Error (%s): "%s"', From 99e0deb521d73eae6d1b9c9427ef8f99ab65320c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Czapracki?= Date: Wed, 15 Apr 2015 00:05:06 +0200 Subject: [PATCH 060/194] cors headers work in progress --- bin/http-server | 4 ++++ lib/http-server.js | 9 +++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/bin/http-server b/bin/http-server index a238603ba..26a51347f 100755 --- a/bin/http-server +++ b/bin/http-server @@ -105,6 +105,10 @@ function listen(port) { options.cors = true; } + if (argv.corsheaders) { + options.cors_headers = argv.corsheaders; + } + if (ssl) { options.https = { cert: argv.C || argv.cert || 'cert.pem', diff --git a/lib/http-server.js b/lib/http-server.js index daddcaae6..7a261a43a 100644 --- a/lib/http-server.js +++ b/lib/http-server.js @@ -67,8 +67,13 @@ function HttpServer(options) { if (options.cors) { this.headers['Access-Control-Allow-Origin'] = '*'; this.headers['Access-Control-Allow-Headers'] = 'Origin, X-Requested-With, Content-Type, Accept, Range'; - - before.push(corser.create()); + if (options.cors_headers) { + options.cors_headers.split(/\s*,\s*/) + .forEach(function(h){ console.log(h); this.headers['Access-Control-Allow-Headers'] += ', ' + h; }, this); + } + before.push(corser.create(options.cors_headers ? { + requestHeaders: this.headers['Access-Control-Allow-Headers'].split(/\s*,\s*/) + } : null)); } if (options.robots) { From c0f13cf5c31812875bb5410a4d0e858c35aaee9d Mon Sep 17 00:00:00 2001 From: Budleigh Salterton Date: Thu, 16 Apr 2015 10:09:44 +0200 Subject: [PATCH 061/194] Remove console.log --- lib/http-server.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/http-server.js b/lib/http-server.js index 7a261a43a..dc3239ca6 100644 --- a/lib/http-server.js +++ b/lib/http-server.js @@ -69,7 +69,7 @@ function HttpServer(options) { this.headers['Access-Control-Allow-Headers'] = 'Origin, X-Requested-With, Content-Type, Accept, Range'; if (options.cors_headers) { options.cors_headers.split(/\s*,\s*/) - .forEach(function(h){ console.log(h); this.headers['Access-Control-Allow-Headers'] += ', ' + h; }, this); + .forEach(function(h){ this.headers['Access-Control-Allow-Headers'] += ', ' + h; }, this); } before.push(corser.create(options.cors_headers ? { requestHeaders: this.headers['Access-Control-Allow-Headers'].split(/\s*,\s*/) From cffbe000f7f46c5cfc14208e4ce9053b3b2f0f4d Mon Sep 17 00:00:00 2001 From: Budleigh Salterton Date: Tue, 13 Oct 2015 13:32:11 +0200 Subject: [PATCH 062/194] conform to style, add single cors argument --- bin/http-server | 10 +++++----- lib/http-server.js | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/bin/http-server b/bin/http-server index 26a51347f..c2fc34a48 100755 --- a/bin/http-server +++ b/bin/http-server @@ -24,7 +24,8 @@ if (argv.h || argv.help) { ' -i Display autoIndex [true]', ' -e --ext Default file extension if none supplied [none]', ' -s --silent Suppress log messages from output', - ' --cors Enable CORS via the "Access-Control-Allow-Origin" header', + " --cors[=headers] Enable CORS via the 'Access-Control-Allow-Origin' header", + " Optionally provide CORS headers list separated by commas", ' -o [path] Open browser window after starting the server', ' -c Cache time (max-age) in seconds [3600], e.g. -c10 for 10 seconds.', ' To disable caching, use -c-1.', @@ -103,10 +104,9 @@ function listen(port) { if (argv.cors) { options.cors = true; - } - - if (argv.corsheaders) { - options.cors_headers = argv.corsheaders; + if (typeof argv.cors === 'string') { + options.cors_headers = argv.cors; + } } if (ssl) { diff --git a/lib/http-server.js b/lib/http-server.js index dc3239ca6..2232ae9d4 100644 --- a/lib/http-server.js +++ b/lib/http-server.js @@ -69,7 +69,7 @@ function HttpServer(options) { this.headers['Access-Control-Allow-Headers'] = 'Origin, X-Requested-With, Content-Type, Accept, Range'; if (options.cors_headers) { options.cors_headers.split(/\s*,\s*/) - .forEach(function(h){ this.headers['Access-Control-Allow-Headers'] += ', ' + h; }, this); + .forEach(function (h) { this.headers['Access-Control-Allow-Headers'] += ', ' + h; }, this); } before.push(corser.create(options.cors_headers ? { requestHeaders: this.headers['Access-Control-Allow-Headers'].split(/\s*,\s*/) From df51e1646909179d77e03f245930f45af4681be4 Mon Sep 17 00:00:00 2001 From: Budleigh Salterton Date: Tue, 13 Oct 2015 13:42:29 +0200 Subject: [PATCH 063/194] tests --- test/http-server-test.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/test/http-server-test.js b/test/http-server-test.js index a9240b288..4e6cae0a7 100644 --- a/test/http-server-test.js +++ b/test/http-server-test.js @@ -129,7 +129,8 @@ vows.describe('http-server').addBatch({ topic: function () { var server = httpServer.createServer({ root: root, - cors: true + cors: true, + cors_headers: 'X-Test' }); server.listen(8082); this.callback(null, server); @@ -148,6 +149,9 @@ vows.describe('http-server').addBatch({ }, 'status code should be 204': function (err, res) { assert.equal(res.statusCode, 204); + }, + 'response Access-Control-Allow-Headers should contain X-Test': function (err, res, body) { + assert.ok(res.headers['Access-Control-Allow-Headers'].split(/\s*,\s*/g).indexOf('X-Test') >= 0, 204); } } } From 4c735856099a771a819843d255d97839f5d1d932 Mon Sep 17 00:00:00 2001 From: Budleigh Salterton Date: Tue, 13 Oct 2015 14:00:14 +0200 Subject: [PATCH 064/194] fix quote style after merge --- bin/http-server | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/http-server b/bin/http-server index c2fc34a48..fc1175f73 100755 --- a/bin/http-server +++ b/bin/http-server @@ -24,8 +24,8 @@ if (argv.h || argv.help) { ' -i Display autoIndex [true]', ' -e --ext Default file extension if none supplied [none]', ' -s --silent Suppress log messages from output', - " --cors[=headers] Enable CORS via the 'Access-Control-Allow-Origin' header", - " Optionally provide CORS headers list separated by commas", + ' --cors[=headers] Enable CORS via the "Access-Control-Allow-Origin" header', + ' Optionally provide CORS headers list separated by commas', ' -o [path] Open browser window after starting the server', ' -c Cache time (max-age) in seconds [3600], e.g. -c10 for 10 seconds.', ' To disable caching, use -c-1.', From adb993f12ee25faa80fe0afabb65f953f465c530 Mon Sep 17 00:00:00 2001 From: Budleigh Salterton Date: Tue, 13 Oct 2015 14:10:06 +0200 Subject: [PATCH 065/194] cors extra headers test fix --- test/http-server-test.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/test/http-server-test.js b/test/http-server-test.js index 4e6cae0a7..874f91f1d 100644 --- a/test/http-server-test.js +++ b/test/http-server-test.js @@ -150,8 +150,9 @@ vows.describe('http-server').addBatch({ 'status code should be 204': function (err, res) { assert.equal(res.statusCode, 204); }, - 'response Access-Control-Allow-Headers should contain X-Test': function (err, res, body) { - assert.ok(res.headers['Access-Control-Allow-Headers'].split(/\s*,\s*/g).indexOf('X-Test') >= 0, 204); + 'response Access-Control-Allow-Headers should contain X-Test': function (err, res) { + console.dir(res.headers); + assert.ok(res.headers['access-control-allow-headers'].split(/\s*,\s*/g).indexOf('X-Test') >= 0, 204); } } } From 5ed19e2a599ffdf7b16f2c57a050af53622bf297 Mon Sep 17 00:00:00 2001 From: Budleigh Salterton Date: Tue, 13 Oct 2015 14:10:06 +0200 Subject: [PATCH 066/194] cors extra headers test fix --- test/http-server-test.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/test/http-server-test.js b/test/http-server-test.js index 4e6cae0a7..874f91f1d 100644 --- a/test/http-server-test.js +++ b/test/http-server-test.js @@ -150,8 +150,9 @@ vows.describe('http-server').addBatch({ 'status code should be 204': function (err, res) { assert.equal(res.statusCode, 204); }, - 'response Access-Control-Allow-Headers should contain X-Test': function (err, res, body) { - assert.ok(res.headers['Access-Control-Allow-Headers'].split(/\s*,\s*/g).indexOf('X-Test') >= 0, 204); + 'response Access-Control-Allow-Headers should contain X-Test': function (err, res) { + console.dir(res.headers); + assert.ok(res.headers['access-control-allow-headers'].split(/\s*,\s*/g).indexOf('X-Test') >= 0, 204); } } } From 0989c2c2761504b763b14ec73e97fd29d9114991 Mon Sep 17 00:00:00 2001 From: Budleigh Salterton Date: Tue, 13 Oct 2015 14:14:01 +0200 Subject: [PATCH 067/194] remove console.log --- test/http-server-test.js | 1 - 1 file changed, 1 deletion(-) diff --git a/test/http-server-test.js b/test/http-server-test.js index 874f91f1d..8b6e6a807 100644 --- a/test/http-server-test.js +++ b/test/http-server-test.js @@ -151,7 +151,6 @@ vows.describe('http-server').addBatch({ assert.equal(res.statusCode, 204); }, 'response Access-Control-Allow-Headers should contain X-Test': function (err, res) { - console.dir(res.headers); assert.ok(res.headers['access-control-allow-headers'].split(/\s*,\s*/g).indexOf('X-Test') >= 0, 204); } } From f21a2fe2d1b0905f11b5d300c303addf5ad2dda1 Mon Sep 17 00:00:00 2001 From: Budleigh Salterton Date: Tue, 13 Oct 2015 14:20:41 +0200 Subject: [PATCH 068/194] conform to option style --- bin/http-server | 2 +- lib/http-server.js | 6 +++--- test/http-server-test.js | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/bin/http-server b/bin/http-server index fc1175f73..a246e60d5 100755 --- a/bin/http-server +++ b/bin/http-server @@ -105,7 +105,7 @@ function listen(port) { if (argv.cors) { options.cors = true; if (typeof argv.cors === 'string') { - options.cors_headers = argv.cors; + options.corsHeaders = argv.cors; } } diff --git a/lib/http-server.js b/lib/http-server.js index 2232ae9d4..5abf798db 100644 --- a/lib/http-server.js +++ b/lib/http-server.js @@ -67,11 +67,11 @@ function HttpServer(options) { if (options.cors) { this.headers['Access-Control-Allow-Origin'] = '*'; this.headers['Access-Control-Allow-Headers'] = 'Origin, X-Requested-With, Content-Type, Accept, Range'; - if (options.cors_headers) { - options.cors_headers.split(/\s*,\s*/) + if (options.corsHeaders) { + options.corsHeaders.split(/\s*,\s*/) .forEach(function (h) { this.headers['Access-Control-Allow-Headers'] += ', ' + h; }, this); } - before.push(corser.create(options.cors_headers ? { + before.push(corser.create(options.corsHeaders ? { requestHeaders: this.headers['Access-Control-Allow-Headers'].split(/\s*,\s*/) } : null)); } diff --git a/test/http-server-test.js b/test/http-server-test.js index 8b6e6a807..d4555b978 100644 --- a/test/http-server-test.js +++ b/test/http-server-test.js @@ -130,7 +130,7 @@ vows.describe('http-server').addBatch({ var server = httpServer.createServer({ root: root, cors: true, - cors_headers: 'X-Test' + corsHeaders: 'X-Test' }); server.listen(8082); this.callback(null, server); From 8c58f2e09b3a5c7257dba9dd649fbcb152aa85a9 Mon Sep 17 00:00:00 2001 From: Steven Bock Date: Tue, 27 Oct 2015 22:14:39 -0700 Subject: [PATCH 069/194] Pointing to scripts online is harmful The installation portion to the readme instructs the user to use a shell script provided by npm to install the package manager. This is harmful because it leaves open way too many ambiguities. A safer way would be to instruct the user to use a package manager to install npm (even though most Node installers provide npm by default now). --- README.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/README.md b/README.md index 0b699e501..9ce84be85 100644 --- a/README.md +++ b/README.md @@ -6,11 +6,7 @@ # Installing globally: -Installation via `npm`. If you don't have `npm` yet: - - curl https://npmjs.org/install.sh | sh - -Once you have `npm`: +Installation via `npm`: npm install http-server -g From 19d2b82c4edb65fdb7ff21438cee264db9716b4e Mon Sep 17 00:00:00 2001 From: Saad Quadri Date: Thu, 29 Oct 2015 02:33:01 -0400 Subject: [PATCH 070/194] Fix minor typo in comments --- lib/http-server.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/http-server.js b/lib/http-server.js index 5abf798db..8d849109e 100644 --- a/lib/http-server.js +++ b/lib/http-server.js @@ -22,7 +22,7 @@ exports.createServer = function (options) { /** * Constructor function for the HttpServer object - * with is responsible for serving static files along + * which is responsible for serving static files along * with other HTTP-related features. */ function HttpServer(options) { From db66b17e28105d4fd6d41913cd5a7cbe7ba1528f Mon Sep 17 00:00:00 2001 From: David Pilar Date: Mon, 9 Nov 2015 13:43:08 +0100 Subject: [PATCH 071/194] Updated ecstatic dependency which fixes error with Etag HTTP header on Windows. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e50770b03..881c98221 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "colors": "1.0.3", "optimist": "0.6.x", "union": "~0.4.3", - "ecstatic": "~0.7.0", + "ecstatic": "~1.2", "http-proxy": "^1.8.1", "portfinder": "0.4.x", "opener": "~1.4.0", From 341da6cc8a974804456cdcae28012a8e9ded222f Mon Sep 17 00:00:00 2001 From: George Litos Date: Tue, 10 Nov 2015 01:43:05 +0200 Subject: [PATCH 072/194] Report correct server address --- bin/http-server | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/bin/http-server b/bin/http-server index a246e60d5..67b412ddd 100755 --- a/bin/http-server +++ b/bin/http-server @@ -127,13 +127,17 @@ function listen(port) { '\nAvailable on:'.yellow ].join('')); - Object.keys(ifaces).forEach(function (dev) { - ifaces[dev].forEach(function (details) { - if (details.family === 'IPv4') { - logger.info((' ' + protocol + details.address + ':' + port.toString()).green); - } + if(argv.a && host !== '0.0.0.0') { + logger.info((' ' + protocol + canonicalHost + ':' + port.toString()).green); + } else { + Object.keys(ifaces).forEach(function (dev) { + ifaces[dev].forEach(function (details) { + if (details.family === 'IPv4') { + logger.info((' ' + protocol + details.address + ':' + port.toString()).green); + } + }); }); - }); + } if (typeof proxy === 'string') { logger.info('Unhandled requests will be served from: ' + proxy); From ea0eb4a51894c483f9771c0d636c1eba73303bf6 Mon Sep 17 00:00:00 2001 From: George Litos Date: Tue, 10 Nov 2015 02:02:03 +0200 Subject: [PATCH 073/194] Fix space after if --- bin/http-server | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/http-server b/bin/http-server index 67b412ddd..401dc2721 100755 --- a/bin/http-server +++ b/bin/http-server @@ -127,7 +127,7 @@ function listen(port) { '\nAvailable on:'.yellow ].join('')); - if(argv.a && host !== '0.0.0.0') { + if (argv.a && host !== '0.0.0.0') { logger.info((' ' + protocol + canonicalHost + ':' + port.toString()).green); } else { Object.keys(ifaces).forEach(function (dev) { From 4bf4e3efefc2f98faa938812b9ccce738ac1d5f4 Mon Sep 17 00:00:00 2001 From: George Litos Date: Tue, 10 Nov 2015 02:09:26 +0200 Subject: [PATCH 074/194] Fix } and else --- bin/http-server | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bin/http-server b/bin/http-server index 401dc2721..217387f8b 100755 --- a/bin/http-server +++ b/bin/http-server @@ -129,7 +129,8 @@ function listen(port) { if (argv.a && host !== '0.0.0.0') { logger.info((' ' + protocol + canonicalHost + ':' + port.toString()).green); - } else { + } + else { Object.keys(ifaces).forEach(function (dev) { ifaces[dev].forEach(function (details) { if (details.family === 'IPv4') { From 456fde92c3a8abc406b6a18b8f1118848776172d Mon Sep 17 00:00:00 2001 From: sgnl Date: Wed, 9 Dec 2015 15:28:16 -1000 Subject: [PATCH 075/194] Resolves indexzero/http-server#219 add forward-slash to url output when module starts fix for iTerm2 users who use the `CMD+left-mouse click` to open url links from the application's window --- bin/http-server | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/http-server b/bin/http-server index a246e60d5..152732f4a 100755 --- a/bin/http-server +++ b/bin/http-server @@ -119,7 +119,7 @@ function listen(port) { var server = httpServer.createServer(options); server.listen(port, host, function () { var canonicalHost = host === '0.0.0.0' ? '127.0.0.1' : host, - protocol = ssl ? 'https:' : 'http:'; + protocol = ssl ? 'https://' : 'http://'; logger.info(['Starting up http-server, serving '.yellow, server.root.cyan, From d34a3a9bb8f55bacfc3179e324eca562736b9d57 Mon Sep 17 00:00:00 2001 From: indexzero Date: Thu, 18 Feb 2016 22:47:50 -0800 Subject: [PATCH 076/194] [dist] Bump deps --- package.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 881c98221..16b24f178 100644 --- a/package.json +++ b/package.json @@ -59,13 +59,13 @@ ], "dependencies": { "colors": "1.0.3", - "optimist": "0.6.x", - "union": "~0.4.3", - "ecstatic": "~1.2", + "corser": "~2.0.0", + "ecstatic": "^1.4.0", "http-proxy": "^1.8.1", - "portfinder": "0.4.x", "opener": "~1.4.0", - "corser": "~2.0.0" + "optimist": "0.6.x", + "portfinder": "0.4.x", + "union": "~0.4.3" }, "devDependencies": { "common-style": "^3.0.0", From 0c02f823f5e4311ad4247629f5b6131ffd09a958 Mon Sep 17 00:00:00 2001 From: indexzero Date: Thu, 18 Feb 2016 22:49:37 -0800 Subject: [PATCH 077/194] [doc] Remove mention of Nodejitsu. Fixes #221. --- README.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/README.md b/README.md index 9ce84be85..7b45a4894 100644 --- a/README.md +++ b/README.md @@ -34,12 +34,6 @@ This will install `http-server` globally so that it may be run from the command *Now you can visit http://localhost:8080 to view your server* -### Deploy http-server to nodejitsu - - jitsu deploy - -*You will now be prompted for a `subdomain` to deploy your application on* - ## Available Options: `-p` Port to use (defaults to 8080) From 1a8552c5e028bd5500027ee940111133927a4e94 Mon Sep 17 00:00:00 2001 From: indexzero Date: Thu, 18 Feb 2016 22:51:42 -0800 Subject: [PATCH 078/194] [dist] Version bump. 0.9.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 16b24f178..7ede797e9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "http-server", - "version": "0.8.5", + "version": "0.9.0", "description": "A simple zero-configuration command-line http server", "main": "./lib/http-server", "repository": { From c32ebc37d0b6cac687ed4fb185f220dcac6607e2 Mon Sep 17 00:00:00 2001 From: sqlwwx Date: Fri, 26 Feb 2016 13:01:32 +0800 Subject: [PATCH 079/194] delete redundant "//" --- bin/http-server | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/http-server b/bin/http-server index a432dd3e4..874129e51 100755 --- a/bin/http-server +++ b/bin/http-server @@ -147,7 +147,7 @@ function listen(port) { logger.info('Hit CTRL-C to stop the server'); if (argv.o) { opener( - protocol + '//' + canonicalHost + ':' + port, + protocol + canonicalHost + ':' + port, { command: argv.o !== true ? argv.o : null } ); } From 29183e92b139750191b4a495e9093806e5a13887 Mon Sep 17 00:00:00 2001 From: sqlwwx Date: Fri, 26 Feb 2016 13:37:03 +0800 Subject: [PATCH 080/194] fixbug with -o [path] --- bin/http-server | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/bin/http-server b/bin/http-server index 874129e51..027e21939 100755 --- a/bin/http-server +++ b/bin/http-server @@ -146,10 +146,12 @@ function listen(port) { logger.info('Hit CTRL-C to stop the server'); if (argv.o) { - opener( - protocol + canonicalHost + ':' + port, - { command: argv.o !== true ? argv.o : null } - ); + var openUrl = protocol + canonicalHost + ':' + port; + if (typeof argv.o === 'string') { + openUrl += argv.o[0] === '/' ? argv.o : '/' + argv.o; + } + logger.info('open: '+openUrl); + opener(openUrl); } }); } From fb00da5e8e0bc35365d5e7e3a961b80a30f8337c Mon Sep 17 00:00:00 2001 From: sqlwwx Date: Fri, 26 Feb 2016 15:08:57 +0800 Subject: [PATCH 081/194] format --- bin/http-server | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/http-server b/bin/http-server index 027e21939..98b0d5862 100755 --- a/bin/http-server +++ b/bin/http-server @@ -150,7 +150,7 @@ function listen(port) { if (typeof argv.o === 'string') { openUrl += argv.o[0] === '/' ? argv.o : '/' + argv.o; } - logger.info('open: '+openUrl); + logger.info('open: ' + openUrl); opener(openUrl); } }); From 7ad8c18bf16598b30277d674859813534d50fccd Mon Sep 17 00:00:00 2001 From: mLuby Date: Thu, 14 Apr 2016 16:46:01 -0700 Subject: [PATCH 082/194] typofix --- test/http-server-test.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/http-server-test.js b/test/http-server-test.js index d4555b978..e64f04e1d 100644 --- a/test/http-server-test.js +++ b/test/http-server-test.js @@ -89,7 +89,7 @@ vows.describe('http-server').addBatch({ topic: function () { request('http://127.0.0.1:8081/root/file', this.callback); }, - 'status code should be the enpoint code 200': function (res) { + 'status code should be the endpoint code 200': function (res) { assert.equal(res.statusCode, 200); }, 'and file content': { @@ -108,7 +108,7 @@ vows.describe('http-server').addBatch({ topic: function () { request('http://127.0.0.1:8081/file', this.callback); }, - 'status code should be the enpoint code 200': function (res) { + 'status code should be the endpoint code 200': function (res) { assert.equal(res.statusCode, 200); }, 'and file content': { From b456b77c6c476fed0724800ac2c07fa31c647d75 Mon Sep 17 00:00:00 2001 From: Steve Van Opstal Date: Thu, 14 Jul 2016 15:03:09 +0200 Subject: [PATCH 083/194] Add ecstatic's gzip mode --- README.md | 2 ++ bin/http-server | 2 ++ lib/http-server.js | 2 ++ 3 files changed, 6 insertions(+) diff --git a/README.md b/README.md index 7b45a4894..d5a55371b 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,8 @@ This will install `http-server` globally so that it may be run from the command `-i` Display autoIndex (defaults to 'True') +`-g` or `--gzip` When enabled (defaults to 'False') it will serve `./public/some-file.js.gz` in place of `./public/some-file.js` when a gzipped version of the file exists and the request accepts gzip encoding. + `-e` or `--ext` Default file extension if none supplied (defaults to 'html') `-s` or `--silent` Suppress log messages from output diff --git a/bin/http-server b/bin/http-server index a432dd3e4..51b060299 100755 --- a/bin/http-server +++ b/bin/http-server @@ -22,6 +22,7 @@ if (argv.h || argv.help) { ' -a Address to use [0.0.0.0]', ' -d Show directory listings [true]', ' -i Display autoIndex [true]', + ' -g --gzip Serve gzip files when possible [false]', ' -e --ext Default file extension if none supplied [none]', ' -s --silent Suppress log messages from output', ' --cors[=headers] Enable CORS via the "Access-Control-Allow-Origin" header', @@ -96,6 +97,7 @@ function listen(port) { cache: argv.c, showDir: argv.d, autoIndex: argv.i, + gzip: argv.g || argv.gzip, robots: argv.r || argv.robots, ext: argv.e || argv.ext, logFn: logger.request, diff --git a/lib/http-server.js b/lib/http-server.js index 8d849109e..51aa4bf44 100644 --- a/lib/http-server.js +++ b/lib/http-server.js @@ -46,6 +46,7 @@ function HttpServer(options) { this.cache = options.cache === undefined ? 3600 : options.cache; // in seconds. this.showDir = options.showDir !== 'false'; this.autoIndex = options.autoIndex !== 'false'; + this.gzip = options.gzip === true; this.contentType = options.contentType || 'application/octet-stream'; if (options.ext) { @@ -97,6 +98,7 @@ function HttpServer(options) { showDir: this.showDir, autoIndex: this.autoIndex, defaultExt: this.ext, + gzip: this.gzip, contentType: this.contentType, handleError: typeof options.proxy !== 'string' })); From 2dcb4bb7561e5d3847b324a7fa19a966c3078a8f Mon Sep 17 00:00:00 2001 From: Julien Fontanet Date: Sun, 24 Jul 2016 11:55:55 +0200 Subject: [PATCH 084/194] -t flag to control timeout --- bin/http-server | 3 +++ lib/http-server.js | 3 +++ 2 files changed, 6 insertions(+) diff --git a/bin/http-server b/bin/http-server index 51b060299..5befd8fbd 100755 --- a/bin/http-server +++ b/bin/http-server @@ -30,6 +30,8 @@ if (argv.h || argv.help) { ' -o [path] Open browser window after starting the server', ' -c Cache time (max-age) in seconds [3600], e.g. -c10 for 10 seconds.', ' To disable caching, use -c-1.', + ' -t Connections timeout in seconds [120], e.g. -t60 for 1 minute.', + ' To disable timeout, use -t0', ' -U --utc Use UTC time format in log messages.', '', ' -P --proxy Fallback proxy if the request cannot be resolved. e.g.: http://someurl.com', @@ -95,6 +97,7 @@ function listen(port) { var options = { root: argv._[0], cache: argv.c, + timeout: argv.t, showDir: argv.d, autoIndex: argv.i, gzip: argv.g || argv.gzip, diff --git a/lib/http-server.js b/lib/http-server.js index 51aa4bf44..b6a831406 100644 --- a/lib/http-server.js +++ b/lib/http-server.js @@ -130,6 +130,9 @@ function HttpServer(options) { } this.server = union.createServer(serverOptions); + if (options.timeout !== undefined) { + this.server.setTimeout(options.timeout); + } } HttpServer.prototype.listen = function () { From 5da2392b08f14cea4c38fb31378d11c291550ea3 Mon Sep 17 00:00:00 2001 From: Hadrien Milano Date: Wed, 12 Oct 2016 13:54:40 -0700 Subject: [PATCH 085/194] Update ecstatic --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7ede797e9..f41458b96 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,7 @@ "dependencies": { "colors": "1.0.3", "corser": "~2.0.0", - "ecstatic": "^1.4.0", + "ecstatic": "^2.0.0", "http-proxy": "^1.8.1", "opener": "~1.4.0", "optimist": "0.6.x", From 01742b50065183ba99187bc5edb317fb3c82c44b Mon Sep 17 00:00:00 2001 From: Edward D'Souza Date: Sat, 5 Nov 2016 21:14:32 -0400 Subject: [PATCH 086/194] Aggressively turn off caching when cache time set to -1 --- lib/http-server.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/http-server.js b/lib/http-server.js index 51aa4bf44..c1333bbaf 100644 --- a/lib/http-server.js +++ b/lib/http-server.js @@ -43,7 +43,13 @@ function HttpServer(options) { this.headers = options.headers || {}; - this.cache = options.cache === undefined ? 3600 : options.cache; // in seconds. + this.cache = ( + options.cache === undefined ? 3600 : + // -1 is a special case to turn off caching. + // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control#Preventing_caching + options.cache === -1 ? "no-cache, no-store, must-revalidate" : + options.cache // in seconds. + ); this.showDir = options.showDir !== 'false'; this.autoIndex = options.autoIndex !== 'false'; this.gzip = options.gzip === true; From 541ab5dfdf2f477da7d8d42cf5a02310675a7f37 Mon Sep 17 00:00:00 2001 From: Edward D'Souza Date: Sat, 5 Nov 2016 21:22:43 -0400 Subject: [PATCH 087/194] Fix style: use single quotes for string. --- lib/http-server.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/http-server.js b/lib/http-server.js index c1333bbaf..6a0d913c3 100644 --- a/lib/http-server.js +++ b/lib/http-server.js @@ -47,7 +47,7 @@ function HttpServer(options) { options.cache === undefined ? 3600 : // -1 is a special case to turn off caching. // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control#Preventing_caching - options.cache === -1 ? "no-cache, no-store, must-revalidate" : + options.cache === -1 ? 'no-cache, no-store, must-revalidate' : options.cache // in seconds. ); this.showDir = options.showDir !== 'false'; From f1f14fad9169318b5a1ac2c282c5b84ea05753bd Mon Sep 17 00:00:00 2001 From: Edward D'Souza Date: Sat, 5 Nov 2016 21:28:38 -0400 Subject: [PATCH 088/194] Fix style: don't use hanging indent for closing bracket. --- lib/http-server.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/http-server.js b/lib/http-server.js index 6a0d913c3..6f788efc0 100644 --- a/lib/http-server.js +++ b/lib/http-server.js @@ -49,7 +49,7 @@ function HttpServer(options) { // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control#Preventing_caching options.cache === -1 ? 'no-cache, no-store, must-revalidate' : options.cache // in seconds. - ); + ); this.showDir = options.showDir !== 'false'; this.autoIndex = options.autoIndex !== 'false'; this.gzip = options.gzip === true; From 3fc708c9bc97323bbad3432d9bb888a229598cb6 Mon Sep 17 00:00:00 2001 From: BigBlueHat Date: Wed, 26 Apr 2017 14:18:24 -0400 Subject: [PATCH 089/194] Remove jitsu reference & double Usage section --- README.md | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/README.md b/README.md index d5a55371b..538e7f2fb 100644 --- a/README.md +++ b/README.md @@ -18,20 +18,6 @@ This will install `http-server` globally so that it may be run from the command `[path]` defaults to `./public` if the folder exists, and `./` otherwise. -# Installing as a node app - - mkdir myapp - cd myapp/ - jitsu install http-server - -*If you do not have `jitsu` installed you can install it via `npm install jitsu -g`* - -## Usage - -### Starting http-server locally - - node bin/http-server - *Now you can visit http://localhost:8080 to view your server* ## Available Options: From 7ce3a524a5fff0ee8d349291200fb961ca3382d9 Mon Sep 17 00:00:00 2001 From: BigBlueHat Date: Wed, 26 Apr 2017 14:26:43 -0400 Subject: [PATCH 090/194] Add Development section to README --- README.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/README.md b/README.md index 538e7f2fb..b41578b34 100644 --- a/README.md +++ b/README.md @@ -55,3 +55,17 @@ This will install `http-server` globally so that it may be run from the command `-r` or `--robots` Provide a /robots.txt (whose content defaults to 'User-agent: *\nDisallow: /') `-h` or `--help` Print this list and exit. + +# Development + +Checkout this repository locally, then: + +```sh +$ npm i +$ node bin/http-server +``` + +*Now you can visit http://localhost:8080 to view your server* + +You should see the turtle image in the screenshot above hosted at that URL. See +the `./public` folder for demo content. From 69acc8b49a4322155365d806604f3fbd0c12e06d Mon Sep 17 00:00:00 2001 From: BigBlueHat Date: Mon, 1 May 2017 10:23:28 -0400 Subject: [PATCH 091/194] Add shields --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index b41578b34..cec5c4bbb 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,8 @@ +[![build status](https://img.shields.io/travis/indexzero/http-server.svg)](https://travis-ci.org/indexzero/http-server) +[![dependencies status](https://img.shields.io/david/indexzero/http-server.svg)](https://david-dm.org/indexzero/http-server) +[![npm](https://img.shields.io/npm/v/http-server.svg)](https://www.npmjs.com/package/http-server) +[![license](https://img.shields.io/github/license/indexzero/http-server.svg)](https://github.com/indexzero/http-server) + # http-server: a command-line http server `http-server` is a simple, zero-configuration command-line http server. It is powerful enough for production usage, but it's simple and hackable enough to be used for testing, local development, and learning. From ef1557959ae6d4d71961285edd8985efe3a1fbe8 Mon Sep 17 00:00:00 2001 From: BigBlueHat Date: Mon, 1 May 2017 10:25:05 -0400 Subject: [PATCH 092/194] Switch to flat shields --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index cec5c4bbb..41e743f7e 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ -[![build status](https://img.shields.io/travis/indexzero/http-server.svg)](https://travis-ci.org/indexzero/http-server) -[![dependencies status](https://img.shields.io/david/indexzero/http-server.svg)](https://david-dm.org/indexzero/http-server) -[![npm](https://img.shields.io/npm/v/http-server.svg)](https://www.npmjs.com/package/http-server) -[![license](https://img.shields.io/github/license/indexzero/http-server.svg)](https://github.com/indexzero/http-server) +[![build status](https://img.shields.io/travis/indexzero/http-server.svg?style=flat-square)](https://travis-ci.org/indexzero/http-server) +[![dependencies status](https://img.shields.io/david/indexzero/http-server.svg?style=flat-square)](https://david-dm.org/indexzero/http-server) +[![npm](https://img.shields.io/npm/v/http-server.svg?style=flat-square)](https://www.npmjs.com/package/http-server) +[![license](https://img.shields.io/github/license/indexzero/http-server.svg?style=flat-square)](https://github.com/indexzero/http-server) # http-server: a command-line http server From a3ace13a97218c27439799f1bbca28cd7f08e294 Mon Sep 17 00:00:00 2001 From: Leon Weidauer Date: Mon, 19 Sep 2016 12:58:43 +0200 Subject: [PATCH 093/194] Use safe colors to avoid header problems Use the safe mode of the "colors" module. Extending the string prototype leads to problems with union's way of setting HTTP headers. --- bin/http-server | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/http-server b/bin/http-server index 51b060299..551b0ad9a 100755 --- a/bin/http-server +++ b/bin/http-server @@ -2,7 +2,7 @@ 'use strict'; -var colors = require('colors'), +var colors = require('colors/safe'), os = require('os'), httpServer = require('../lib/http-server'), portfinder = require('portfinder'), From 0da0e1b03af61573805ed27a7799348c31db6b6c Mon Sep 17 00:00:00 2001 From: Leon Weidauer Date: Mon, 19 Sep 2016 14:17:13 +0200 Subject: [PATCH 094/194] replace color properties with safe-mode calls --- bin/http-server | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/bin/http-server b/bin/http-server index 551b0ad9a..ef6af541b 100755 --- a/bin/http-server +++ b/bin/http-server @@ -59,14 +59,14 @@ if (!argv.s && !argv.silent) { if (error) { logger.info( '[%s] "%s %s" Error (%s): "%s"', - date, req.method.red, req.url.red, - error.status.toString().red, error.message.red + date, colors.red(req.method), colors.red(req.url), + colors.red(error.status.toString()), colors.red(error.message) ); } else { logger.info( '[%s] "%s %s" "%s"', - date, req.method.cyan, req.url.cyan, + date, colors.cyan(req.method), colors.cyan(req.url), req.headers['user-agent'] ); } @@ -123,20 +123,20 @@ function listen(port) { var canonicalHost = host === '0.0.0.0' ? '127.0.0.1' : host, protocol = ssl ? 'https://' : 'http://'; - logger.info(['Starting up http-server, serving '.yellow, - server.root.cyan, - ssl ? (' through'.yellow + ' https'.cyan) : '', - '\nAvailable on:'.yellow + logger.info([colors.yellow('Starting up http-server, serving '), + colors.cyan(server.root), + ssl ? (colors.yellow(' through') + colors.cyan(' https')) : '', + colors.yellow('\nAvailable on:') ].join('')); if (argv.a && host !== '0.0.0.0') { - logger.info((' ' + protocol + canonicalHost + ':' + port.toString()).green); + logger.info((' ' + protocol + canonicalHost + ':' + colors.green(port.toString()))); } else { Object.keys(ifaces).forEach(function (dev) { ifaces[dev].forEach(function (details) { if (details.family === 'IPv4') { - logger.info((' ' + protocol + details.address + ':' + port.toString()).green); + logger.info((' ' + protocol + details.address + ':' + colors.green(port.toString()))); } }); }); @@ -166,11 +166,11 @@ if (process.platform === 'win32') { } process.on('SIGINT', function () { - logger.info('http-server stopped.'.red); + logger.info(colors.red('http-server stopped.')); process.exit(); }); process.on('SIGTERM', function () { - logger.info('http-server stopped.'.red); + logger.info(colors.red('http-server stopped.')); process.exit(); }); From 989fa1c7f5727da92ac727f673a2d4b7a121124a Mon Sep 17 00:00:00 2001 From: BigBlueHat Date: Mon, 1 May 2017 13:35:50 -0400 Subject: [PATCH 095/194] Upgrade portfinder to latest 1.0.13 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f41458b96..dbb7382f5 100644 --- a/package.json +++ b/package.json @@ -64,7 +64,7 @@ "http-proxy": "^1.8.1", "opener": "~1.4.0", "optimist": "0.6.x", - "portfinder": "0.4.x", + "portfinder": "^1.0.13", "union": "~0.4.3" }, "devDependencies": { From e72a42a92496fe0e606ff7c0dac133eeaac7d862 Mon Sep 17 00:00:00 2001 From: BigBlueHat Date: Mon, 1 May 2017 13:39:29 -0400 Subject: [PATCH 096/194] Add myself to the contributors --- package.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/package.json b/package.json index dbb7382f5..441f3e61b 100644 --- a/package.json +++ b/package.json @@ -55,6 +55,10 @@ { "name": "Jinkwon Lee", "email": "master@bdyne.net" + }, + { + "name": "BigBlueHat", + "email": "byoung@bigbluehat.com" } ], "dependencies": { From a2003c1d37ea049c788d2ab3d0c7d64ea97e88da Mon Sep 17 00:00:00 2001 From: BigBlueHat Date: Mon, 1 May 2017 13:41:11 -0400 Subject: [PATCH 097/194] [dist] Version bump. 0.10.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 441f3e61b..95e2318fb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "http-server", - "version": "0.9.0", + "version": "0.10.0", "description": "A simple zero-configuration command-line http server", "main": "./lib/http-server", "repository": { From 37f2dae838a8b612bd734fbeb192fea1e2091612 Mon Sep 17 00:00:00 2001 From: BigBlueHat Date: Mon, 22 May 2017 12:24:05 -0400 Subject: [PATCH 098/194] Update Node.js versions to latest list (> 4) Remove old notification and allow_failures settings --- .travis.yml | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/.travis.yml b/.travis.yml index 6d1d5b6e6..2955c867b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,10 @@ sudo: false language: node_js node_js: - - "0.10" - - "0.12" - - "4.1" + - "4" + - "5" + - "6" + - "7" before_install: - travis_retry npm install -g npm@2.14.5 @@ -11,12 +12,3 @@ before_install: script: - npm test - -matrix: - allow_failures: - - node_js: "0.10" - -notifications: - email: - - travis@nodejitsu.com - irc: "irc.freenode.org#nodejitsu" From 96231640c17fae2472d4d6d3144f8f5009bfd0e9 Mon Sep 17 00:00:00 2001 From: BigBlueHat Date: Mon, 22 May 2017 12:39:13 -0400 Subject: [PATCH 099/194] Remove npm install npm line Travis provides this out of the box --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 2955c867b..f622025f1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,6 @@ node_js: - "7" before_install: - - travis_retry npm install -g npm@2.14.5 - travis_retry npm install script: From ba6db2cf0d84944011f80b65318bc2dca4d2ab52 Mon Sep 17 00:00:00 2001 From: BigBlueHat Date: Mon, 22 May 2017 12:24:05 -0400 Subject: [PATCH 100/194] Update Node.js versions to latest list (> 4) Remove old notification and allow_failures settings --- .travis.yml | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/.travis.yml b/.travis.yml index 6d1d5b6e6..2955c867b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,10 @@ sudo: false language: node_js node_js: - - "0.10" - - "0.12" - - "4.1" + - "4" + - "5" + - "6" + - "7" before_install: - travis_retry npm install -g npm@2.14.5 @@ -11,12 +12,3 @@ before_install: script: - npm test - -matrix: - allow_failures: - - node_js: "0.10" - -notifications: - email: - - travis@nodejitsu.com - irc: "irc.freenode.org#nodejitsu" From 0803f36fb5359945fbf332081da6ef951b73277d Mon Sep 17 00:00:00 2001 From: BigBlueHat Date: Mon, 22 May 2017 12:39:13 -0400 Subject: [PATCH 101/194] Remove npm install npm line Travis provides this out of the box --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 2955c867b..f622025f1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,6 @@ node_js: - "7" before_install: - - travis_retry npm install -g npm@2.14.5 - travis_retry npm install script: From 7e9ff0b47164e360186480e5f98dceddeab23b63 Mon Sep 17 00:00:00 2001 From: Joshua Granick Date: Fri, 9 Jun 2017 11:14:50 -0700 Subject: [PATCH 102/194] Remove extra slashes --- bin/http-server | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/http-server b/bin/http-server index ef6af541b..9a3ea5bcf 100755 --- a/bin/http-server +++ b/bin/http-server @@ -149,7 +149,7 @@ function listen(port) { logger.info('Hit CTRL-C to stop the server'); if (argv.o) { opener( - protocol + '//' + canonicalHost + ':' + port, + protocol + canonicalHost + ':' + port, { command: argv.o !== true ? argv.o : null } ); } From 4f3a9989ffcbda192b6c3d6d2b3b8e50de42334e Mon Sep 17 00:00:00 2001 From: Hadrien Milano Date: Wed, 12 Oct 2016 14:05:33 -0700 Subject: [PATCH 103/194] Use "files" field in package.json Include only files relevant to the end user on npm. --- .gitignore | 3 +-- package.json | 4 ++++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 5894e2078..6adcd013e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,2 @@ node_modules/* -!node_modules/node-static -npm-debug.log +npm-debug.log diff --git a/package.json b/package.json index 95e2318fb..f42a2079b 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,10 @@ "pretest": "common bin/http-server lib/ test", "test": "vows --spec --isolate" }, + "files": [ + "lib", + "bin" + ], "contributors": [ { "name": "Charlie Robbins", From 966ce9c27cd3596b74859c94b4e68346565bd8d3 Mon Sep 17 00:00:00 2001 From: John Syrinek Date: Fri, 4 Dec 2015 15:09:46 -0600 Subject: [PATCH 104/194] Adds --hide-dotfiles option --- bin/http-server | 4 +++- lib/http-server.js | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/bin/http-server b/bin/http-server index 9a3ea5bcf..926e0dd75 100755 --- a/bin/http-server +++ b/bin/http-server @@ -39,6 +39,7 @@ if (argv.h || argv.help) { ' -K --key Path to ssl key file (default: key.pem).', '', ' -r --robots Respond to /robots.txt [User-agent: *\\nDisallow: /]', + ' --no-dotfiles Do not show dotfiles', ' -h --help Print this list and exit.' ].join('\n')); process.exit(); @@ -101,7 +102,8 @@ function listen(port) { robots: argv.r || argv.robots, ext: argv.e || argv.ext, logFn: logger.request, - proxy: proxy + proxy: proxy, + showDotfiles: argv.dotfiles }; if (argv.cors) { diff --git a/lib/http-server.js b/lib/http-server.js index 51aa4bf44..7e3e06df1 100644 --- a/lib/http-server.js +++ b/lib/http-server.js @@ -46,6 +46,7 @@ function HttpServer(options) { this.cache = options.cache === undefined ? 3600 : options.cache; // in seconds. this.showDir = options.showDir !== 'false'; this.autoIndex = options.autoIndex !== 'false'; + this.showDotfiles = options.showDotfiles; this.gzip = options.gzip === true; this.contentType = options.contentType || 'application/octet-stream'; @@ -96,6 +97,7 @@ function HttpServer(options) { root: this.root, cache: this.cache, showDir: this.showDir, + showDotfiles: this.showDotfiles, autoIndex: this.autoIndex, defaultExt: this.ext, gzip: this.gzip, From 5113a5761cf3f3411a29e16098b785d0cd588882 Mon Sep 17 00:00:00 2001 From: Kay Lovelace Date: Fri, 12 Feb 2016 16:58:15 +0000 Subject: [PATCH 105/194] Add HTTP Basic Auth Using https://www.npmjs.com/package/basic-auth Inspired and built on the work of jondlm in indexzero/http-server#51 --- README.md | 4 ++ bin/http-server | 7 ++- lib/http-server.js | 15 +++++ package.json | 1 + test/http-server-test.js | 132 +++++++++++++++++++++++++++++++++++++++ 5 files changed, 158 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 41e743f7e..3e69163e0 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,10 @@ This will install `http-server` globally so that it may be run from the command `-P` or `--proxy` Proxies all requests which can't be resolved locally to the given url. e.g.: -P http://someurl.com +`--username` Username for basic authentication [none] + +`--password` Password for basic authentication [none] + `-S` or `--ssl` Enable https. `-C` or `--cert` Path to ssl cert file (default: cert.pem). diff --git a/bin/http-server b/bin/http-server index 926e0dd75..7ad3f87b8 100755 --- a/bin/http-server +++ b/bin/http-server @@ -34,6 +34,9 @@ if (argv.h || argv.help) { '', ' -P --proxy Fallback proxy if the request cannot be resolved. e.g.: http://someurl.com', '', + ' --username Username for basic authentication [none]', + ' --password Password for basic authentication [none]', + '', ' -S --ssl Enable https.', ' -C --cert Path to ssl cert file (default: cert.pem).', ' -K --key Path to ssl key file (default: key.pem).', @@ -103,7 +106,9 @@ function listen(port) { ext: argv.e || argv.ext, logFn: logger.request, proxy: proxy, - showDotfiles: argv.dotfiles + showDotfiles: argv.dotfiles, + username: argv.username, + password: argv.password }; if (argv.cors) { diff --git a/lib/http-server.js b/lib/http-server.js index 7e3e06df1..92e97ca82 100644 --- a/lib/http-server.js +++ b/lib/http-server.js @@ -3,6 +3,7 @@ var fs = require('fs'), union = require('union'), ecstatic = require('ecstatic'), + auth = require('basic-auth'), httpProxy = require('http-proxy'), corser = require('corser'); @@ -66,6 +67,20 @@ function HttpServer(options) { res.emit('next'); }); + if (options.username || options.password) { + before.push(function (req, res) { + var credentials = auth(req); + + if (credentials && credentials.name === options.username && credentials.pass === options.password) { + return res.emit('next'); + } + + res.statusCode = 401; + res.setHeader('WWW-Authenticate', 'Basic realm=""'); + res.end('Access denied'); + }); + } + if (options.cors) { this.headers['Access-Control-Allow-Origin'] = '*'; this.headers['Access-Control-Allow-Headers'] = 'Origin, X-Requested-With, Content-Type, Accept, Range'; diff --git a/package.json b/package.json index f42a2079b..0fc897af7 100644 --- a/package.json +++ b/package.json @@ -66,6 +66,7 @@ } ], "dependencies": { + "basic-auth": "^1.0.3", "colors": "1.0.3", "corser": "~2.0.0", "ecstatic": "^2.0.0", diff --git a/test/http-server-test.js b/test/http-server-test.js index e64f04e1d..789a714e5 100644 --- a/test/http-server-test.js +++ b/test/http-server-test.js @@ -154,5 +154,137 @@ vows.describe('http-server').addBatch({ assert.ok(res.headers['access-control-allow-headers'].split(/\s*,\s*/g).indexOf('X-Test') >= 0, 204); } } + }, + 'When http-server is listening on 8083 with username "good_username" and password "good_password"': { + topic: function () { + var server = httpServer.createServer({ + root: root, + robots: true, + headers: { + 'Access-Control-Allow-Origin': '*', + 'Access-Control-Allow-Credentials': 'true' + }, + username: 'good_username', + password: 'good_password' + }); + + server.listen(8083); + this.callback(null, server); + }, + 'and the user requests an existent file with no auth details': { + topic: function () { + request('http://127.0.0.1:8083/file', this.callback); + }, + 'status code should be 401': function (res) { + assert.equal(res.statusCode, 401); + }, + 'and file content': { + topic: function (res, body) { + var self = this; + fs.readFile(path.join(root, 'file'), 'utf8', function (err, data) { + self.callback(err, data, body); + }); + }, + 'should be a forbidden message': function (err, file, body) { + assert.equal(body, 'Access denied'); + } + } + }, + 'and the user requests an existent file with incorrect username': { + topic: function () { + request('http://127.0.0.1:8083/file', { + auth: { + user: 'wrong_username', + pass: 'good_password' + } + }, this.callback); + }, + 'status code should be 401': function (res) { + assert.equal(res.statusCode, 401); + }, + 'and file content': { + topic: function (res, body) { + var self = this; + fs.readFile(path.join(root, 'file'), 'utf8', function (err, data) { + self.callback(err, data, body); + }); + }, + 'should be a forbidden message': function (err, file, body) { + assert.equal(body, 'Access denied'); + } + } + }, + 'and the user requests an existent file with incorrect password': { + topic: function () { + request('http://127.0.0.1:8083/file', { + auth: { + user: 'good_username', + pass: 'wrong_password' + } + }, this.callback); + }, + 'status code should be 401': function (res) { + assert.equal(res.statusCode, 401); + }, + 'and file content': { + topic: function (res, body) { + var self = this; + fs.readFile(path.join(root, 'file'), 'utf8', function (err, data) { + self.callback(err, data, body); + }); + }, + 'should be a forbidden message': function (err, file, body) { + assert.equal(body, 'Access denied'); + } + } + }, + 'and the user requests a non-existent file with incorrect password': { + topic: function () { + request('http://127.0.0.1:8083/404', { + auth: { + user: 'good_username', + pass: 'wrong_password' + } + }, this.callback); + }, + 'status code should be 401': function (res) { + assert.equal(res.statusCode, 401); + }, + 'and file content': { + topic: function (res, body) { + var self = this; + fs.readFile(path.join(root, 'file'), 'utf8', function (err, data) { + self.callback(err, data, body); + }); + }, + 'should be a forbidden message': function (err, file, body) { + assert.equal(body, 'Access denied'); + } + } + }, + 'and the user requests an existent file with correct auth details': { + topic: function () { + request('http://127.0.0.1:8083/file', { + auth: { + user: 'good_username', + pass: 'good_password' + } + }, this.callback); + }, + 'status code should be 200': function (res) { + assert.equal(res.statusCode, 200); + }, + 'and file content': { + topic: function (res, body) { + var self = this; + fs.readFile(path.join(root, 'file'), 'utf8', function (err, data) { + self.callback(err, data, body); + }); + }, + 'should match content of served file': function (err, file, body) { + assert.equal(body.trim(), file.trim()); + } + } + } } }).export(module); From b8101bd33549d9822d01a3de5869d2df3bf41bfe Mon Sep 17 00:00:00 2001 From: Kay Lovelace Date: Fri, 12 Feb 2016 17:14:41 +0000 Subject: [PATCH 106/194] Add Basic Auth configuration with env varaible --- bin/http-server | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/bin/http-server b/bin/http-server index 7ad3f87b8..3eeaadd3e 100755 --- a/bin/http-server +++ b/bin/http-server @@ -35,7 +35,9 @@ if (argv.h || argv.help) { ' -P --proxy Fallback proxy if the request cannot be resolved. e.g.: http://someurl.com', '', ' --username Username for basic authentication [none]', + ' Can also be specified with the env variable NODE_HTTP_SERVER_USERNAME', ' --password Password for basic authentication [none]', + ' Can also be specified with the env variable NODE_HTTP_SERVER_PASSWORD', '', ' -S --ssl Enable https.', ' -C --cert Path to ssl cert file (default: cert.pem).', @@ -107,8 +109,8 @@ function listen(port) { logFn: logger.request, proxy: proxy, showDotfiles: argv.dotfiles, - username: argv.username, - password: argv.password + username: argv.username || process.env.NODE_HTTP_SERVER_USERNAME, + password: argv.password || process.env.NODE_HTTP_SERVER_PASSWORD }; if (argv.cors) { From 45add9c2189f17b164cf69a7a6a79252697753cf Mon Sep 17 00:00:00 2001 From: Kay Lovelace Date: Wed, 9 Mar 2016 10:51:28 +0000 Subject: [PATCH 107/194] Use secure comparison for Basic Auth credentials MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Note that the order of arguments to secureCompare will have an effect upon the running time — though not in a way that leaks information about whether the passwords match. These: ```javascript compare("short", "short"); compare("short", "loooo<...>ng"); ``` Will run faster than these: ```javascript compare("loooo<...>ng", "short"); compare("loooo<...>ng", "loooo<...>ng"); ``` If someone could duplicate your exact set-up, they could possibly discover how long your secret password is by testing how long yours takes to run compared to how long their identical server takes to run given passwords of a known length. Given that this isn't the US Govt (I hope), it's not a huge concern, and I don't know enough to do it better. However, given that `http-server` typically runs on its own (without any other software that would 'pad out' the timing), you might want to consider and mitigate this vector of attack. --- lib/http-server.js | 14 +++++++++++--- package.json | 1 + 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/lib/http-server.js b/lib/http-server.js index 92e97ca82..c6717ee5e 100644 --- a/lib/http-server.js +++ b/lib/http-server.js @@ -5,7 +5,8 @@ var fs = require('fs'), ecstatic = require('ecstatic'), auth = require('basic-auth'), httpProxy = require('http-proxy'), - corser = require('corser'); + corser = require('corser'), + secureCompare = require('secure-compare'); // // Remark: backwards compatibility for previous @@ -71,8 +72,15 @@ function HttpServer(options) { before.push(function (req, res) { var credentials = auth(req); - if (credentials && credentials.name === options.username && credentials.pass === options.password) { - return res.emit('next'); + // We perform these outside the if to avoid short-circuiting and giving + // an attacker knowledge of whether the username is correct via a timing + // attack. + if (credentials) { + var usernameEqual = secureCompare(options.username, credentials.name); + var passwordEqual = secureCompare(options.password, credentials.pass); + if (usernameEqual && passwordEqual) { + return res.emit('next'); + } } res.statusCode = 401; diff --git a/package.json b/package.json index 0fc897af7..914fd55d5 100644 --- a/package.json +++ b/package.json @@ -74,6 +74,7 @@ "opener": "~1.4.0", "optimist": "0.6.x", "portfinder": "^1.0.13", + "secure-compare": "3.0.1", "union": "~0.4.3" }, "devDependencies": { From 73fb2e865ecb5875bfc91082d0f18d6b520d59d8 Mon Sep 17 00:00:00 2001 From: Benjamin Young Date: Tue, 9 Jan 2018 16:47:04 -0500 Subject: [PATCH 108/194] Upgrade ecstatic to 3.0.0 Fixes #419. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f42a2079b..ffb6441dd 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "dependencies": { "colors": "1.0.3", "corser": "~2.0.0", - "ecstatic": "^2.0.0", + "ecstatic": "^3.0.0", "http-proxy": "^1.8.1", "opener": "~1.4.0", "optimist": "0.6.x", From 711749368b235e867dc783129c4775c3ced27fbb Mon Sep 17 00:00:00 2001 From: Benjamin Young Date: Tue, 9 Jan 2018 16:48:36 -0500 Subject: [PATCH 109/194] [dist] Version bump. 0.11.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ffb6441dd..540fc10a9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "http-server", - "version": "0.10.0", + "version": "0.11.0", "description": "A simple zero-configuration command-line http server", "main": "./lib/http-server", "repository": { From 23727988ba0207ccfeb0b46ac68ed9661c5291c1 Mon Sep 17 00:00:00 2001 From: Benjamin Young Date: Wed, 10 Jan 2018 11:18:39 -0500 Subject: [PATCH 110/194] [dist] Version bump. 0.11.1 Bumping version to deal with npm line ending issues. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 540fc10a9..bd608dfdb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "http-server", - "version": "0.11.0", + "version": "0.11.1", "description": "A simple zero-configuration command-line http server", "main": "./lib/http-server", "repository": { From b9b95b25eaf90993b2406555a2f56c3a8cc9072f Mon Sep 17 00:00:00 2001 From: Benjamin Young Date: Wed, 10 Jan 2018 11:53:23 -0500 Subject: [PATCH 111/194] Add README note to promote -c-1 usage Fixes #407 as best we can at this point without breaking existing deployments. --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 41e743f7e..74d57a6c6 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,8 @@ This will install `http-server` globally so that it may be run from the command *Now you can visit http://localhost:8080 to view your server* +**Note:** Caching is on by default. Add `-c-1` as an option to disable caching. + ## Available Options: `-p` Port to use (defaults to 8080) From 64428b7095be9c884a8525caa8d08579632d51e7 Mon Sep 17 00:00:00 2001 From: Mathieu Aubin Date: Sun, 21 Jan 2018 04:55:46 +0100 Subject: [PATCH 112/194] Optimize rasters --- public/img/turtle.png | Bin 195848 -> 55202 bytes screenshots/directory.png | Bin 24885 -> 7171 bytes screenshots/public.png | Bin 231635 -> 59617 bytes screenshots/start.png | Bin 20171 -> 7341 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/public/img/turtle.png b/public/img/turtle.png index 721a796bb09004970b6de769a74da5a612781cbc..446cad56c52e9e4c97b927880744445f4d5a1774 100644 GIT binary patch literal 55202 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 literal 195848 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

?SC_WXB?p4bg^?}=rubedfbpmG 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%0AxEm$vOw8;p)7zqZrU$sQ34|7=gL_p3~ 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 YcA)aNV_QA;BnbHEYny1Ht~o{j549Nmod5s; diff --git a/screenshots/directory.png b/screenshots/directory.png index b255cea230cbe32a7cccf87c5e50dae16a3e606c..1a7d15b8874141c0397a52cdb0547bbd0fa1410d 100644 GIT binary patch literal 7171 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 Zi}yud-wYZ_|M`>mQC3x^QtC_a{{VA|VPpUR literal 24885 zcmdSAgLh?J@HQBB+_7yZ9dvATY&#v>wrxA<*tTukwrxz3_c!aCZ@xcZ)~t2!%DOqV z_pRDh^*mK|&JC896oP@ofCK;lfDsWEkOcq$JotQLfCGL0Cs!A|7XScN!I+<4T7;h; zPuj-Pz}QS50Kf@wPQ{r+VQpdKVEn-b<{{<4IYWP(!*Eo*_xHpOv4Fm?|Bsj;*+DeX z{9He2a&$=lX*_|vsL>0ViJMoCi-U*ukG7B2mmAg>w+mI%ina@tlhd|&Hh@Z6>Fyq1 zcxV7WKUqTau)D{!G>yl~9RN^a03ftZ$*T~^g}Qnsun*H0Rv@u%b7dE$g%65*ZU(eA z_v}^xuhPHu1&(n_;9-~mJcrKyLb8B7?>RcHn zFD$%B;{mQqH{m(6^I)08cl9bn>c9N}`+lRf8GYIN15jqGE3R>a`<=EWYSZY^`OSi; zu>c09ezgt;%5BU=4tjKx9o5Y|5bUEKoeJ3c(QkRByHi&i) zUvL(Zv?v*89Em7Y-j7FVDzcw=;mf|Vf=Ai4G8n(4V9>lHD-Ak278*;qbJv+kXsIOE zx^VZ;-yJ79nmV@{>^iwSK6F9xvONDeZ(Se*@Z1IaZvX?__H^$M0KdK#xiw#=o)GpK zVjL3__7&if(sqozd(JpKlyZk^R6n($@={HF2ttVf@=$}_7Xg1{J4*mgzG4Hs7I;qi z=c!@z)h;oM6*bOM8TqrIjfd(lqEKlPfCys{LB-&bhsz5d6P88M2y5vPU4zqOCx=q~nI}+-ZX5i&i(~`X6wsYDNX8Y% zcv?V0<{F1e0b~ynAKdI$%=7ynPIiFIg>-14IV1d-e}X_sj>MFt5%(>=9R?e!Mu3HY zV~$pK!4x+g8Z^`&q#Pf*E*4!Nx&`HQQ%R$eP9F7(7tM2;;Iy7N-9vXzWl#8 zRm_!Vi})nJ76KO1Qj5O4;sA8)32x0T;NudSawWId3C$ub#JA#{Fpu~i{g zbURcKVhH%?F|8s+xd^hTN5JSJC`2c*ZG+^yvNp`lDG)tG!+OI=gK=H*J+l+FgW@{t zJ*S;mBkG-QkJA!w91`33(a%e){S0sS1g6fpf2kAwT{d|(JJ&={?$<-tW!KzDL`bbjkVu+j2*}|`kref09vg&B1BMgvoVucV#87#N zqUoY)!xY2O!*#>96nqpo6#f)B#p1>D#mU8yvy&z+CPH(|v-7j@b4AB@#~X~fzkL{s z84Vsn&hM7gnjd`gy+{OaQugCeG7|#l70SrXJC@3Qtk-zfFq^gR zc5eypFzyuZ=I#*haMAE!!eFLho?%1+?gJ8`H_#x^p3oIAsWB+gahW`{eVFJNhUn3M z?=jucmoaLr7F5$(Z}2myGN{#v8C;AJj}nflQNy9UP>rjJD?_RUs4}SmQp%OwD8|lb z&%@6B?V7FgvkO(|?(foH#FCYivt$uXQf~Zu2eS&+949@z$;1 ziHj|j%a+Sz2(&hF|-}Bn?h62mih*zIc7g`lq(^@yUbv3WAA&b z2V3r$${E&;)e$7mFLg?BL2;pRIdavwO?jBV8o$c8nYtaiPrjPF9lKAzo4IAbU_Pig z%RK3T%fhuH-*n9q(U#dXiBgbuo|LTAwbB5m=_TBiBqL`eyZwtMrEIpS-KgiJ`Y7+` z((518CtNdFO-43MUF<&$0v0Hh)0Z77)Db!rLLT&FKe#n{rrf_cxmaM0U|q0nupPc# zf%^yho^3U`Gczjgl17I4Y8n18=pcGL$45vmQWBSeOEFqN7*fs0pcb+mqc@Yzxhm8Cg_ID%5L>Zd z#B{`&qS&IY6(yP#R6ArNWGfV~)S1PVMNY~^vMMTl3ikCFGT0iNjy-q%JmI_&Vr6z` zb!-XEVX2!2w__6x92ViTsdJ9&iftMzc&pNj!WQC|J}KKND5-C$1*&OkKQ2yNW|oSl zmYtOLEu1ku)w($MT@5b~&kNQ!j3X_zoZ;TJ|MgVt@E5oqI3>z0ga*Fg-aDq+b05gU8ogtj5mo)0$bC>^E_PEka zzE|XW0lm)YZu#Qz>bns56e)wtTp-5{&%HN(IW9j=FsM_e+IRa z*j=Hch1q`O=GuH%%ksu~{W2aoN_?Mpy~jC{PB~9$=@Ia{sx0x*_ggVs0B+}L6S9F|)eO`{ z|Es@~t`QIm6q=tS3R6B90GzZ}BbV$NAp}_=D1q-mhp(!2@$V{VD;RIU55b#&dv@$- z&FC!vUHT&w=YZtUzT`WC6_CJRhAa#2I4+vp?Jq#5KGA&U-6z?@I$PU&2o-si)6?_` z)$KM_*CLPu$gvMZ6f*H|^7kd8h5u&P3pb_)*D%YBEAq0(ihL(kCb8#E<}De?n5h_t znIxG-m^fP_O;Aj5w6}DR%=gUC+BP;wW)n;jjWYMG`meI(qHUYR*1Sm;m>R}?InUj3 zCdhj-ax{0=FWlRoEnZ@QbAcp$+85s)grXR<-=|A`~MjBBVjeeyK-BQdC&kx z584Xc6uwl&Z@2UPv>_@5cNOY^7$d<#04tKxINcL*h<} zI}&FSrx)fY3^KH9N0f8beYGo*YaD(4bI8uz{E6cZENQt^e%qCE347n~y4Ulemuy%% z+_HkazqBu0H!k;A>MI8UPij!i9jouEFJ(Ga`>qR-efo3p-3l365A!)pb@fY*4%#m{ zTguk7K>*Znfb?FHd^zAE0+2cw5oK&!jUCwL5gGky-4wdqTQoZw5U+lqDb9<)0G!dh zK{D}r{Q2}6+7|lB282~7Hdx!GTPb_+`*+(d{oHt$azXsc{JUO8af{?vZoxW32t}0B z2l_GkzI$f74`flu21u4Y8QP_zS+Amb%DkY>^u5Ew$G9@3uN zBJjmnSI*p2CD;6?RxO?JGVMfid1@xF=4y%MbR|Ij`#Zd?j>waF=xAyyP#T8pFD^FouXZ6AEIsluy$>FHC(Bvz@$)P?Kq3{sR3o(1RD2+2*R}S zy8ag##2IAQi#3g~6cWQfmmNQujz&64&jeQBo!X~G+B@wunS!Wrf>9H&CR%HG0V z8FH>7uxTW8;e7dd0S8_hHBE{4biRP>knI;v!}!{`{dn5q!y-4CF(n3hHF?^}U-Qb# zYPrVcPhutVD}P*t3PhM?rFbnxI=b+drI)Pc3YS>M1$y*)Zr9rh4cPWOTW1L7rh7w- z?z)?;Ix@qvskUky<^9PAUA@i*&R`N#rBaN_rQ%WaJ(;O z4-;+kpVfgy%`z$BR%1_Q7KwDzcNY(1=d-Euw~yHbhY64{dH~`+0G94LcuXh&(L4Y+ zMX!lS2Y}LGfW;y}5LYfQwh5rY#{0}0-=D&r$@;%opbW!lyV%@9(0F(!oe!CA5mW`O z@M_`LE1A~>!n&GLS*B5vgGzbYc>v>}hmqqWOa$Hk*k)5tiX1B5(*OC1=+or=tzr(pW)zlD3F$Qlbf0onWbeYtezY z&Xyd3Vm4Lwj*j4V1_B>KCJ|*WP+nec$MEb3PRvZgz(^#Sx)Mk2fTD;>vWBzT9x#@| zLZP84md^t@HuYcg)_dl3)aEi5m`YqG3?|Gqx^`Wgfm-7Y>Kck0g3z0UB1L)Ainn6T@&rUBsm!8?OSMldj7PeGB3?TLt zD7_^9xC>;^ybs6M91%bDMC6FS<$Bqflj5w=;`&f`dZ;s)I(xZBuzxy}3ZEO*qMb)) z7H39mD6SXsxWI+xL0R-sZgiN0+21Pe)Eq<|_QBZX@WjLq`z0hm7y=gwKVmg*5iHK5 zNH`$Fc-e#yK=CI$%XqT+ki`zs1vDotxM#H|dyAtPuElGnPoukRJN*h4JjM?Q!zE>= zR=idzD5jT*&9oW)ndpaRz|TLp2+_0R4!S-`!^vgI%qqpo8jC?@8mED*aV!ZembNlY z@r_E(=hq}x$(Ib5kx+3^vi`UJ$^M3d=b`%{g28HHgTe^J9m02F3qyKCvU_QJbx3~5 zM@S3zZi+5B9HrOFb^K)tZ8AIi>zFC=s(Z`&Z2HZ6F80rkFgWND7-MK3^u(t-^s&De z>MHAQ>q6?r7d@BqyX(8kM?4m{Vt1MuazY;g-IbUd8hx9r+UW$I&if9|wruAdhcjtA zIV*n|QTfr$5}gV^mIcAejLP>M<|Y|dVOe`$nL|Jaw+o%)>PmzNd!$gfa1fgx=k6C3 zLwk>QGhi7)RXf#;*zD4*wisnFJCm2fIkQ#_?xd(fh#jde$@kS1-($km)iIYGQ(_FK z(5rQ;nJ*(<#4e+05r^b6_%9LDnY%gRl@H25Rnb+4g z3QPY^XJw##6u*0DNN|67`@NT8aHVUZQ;S-fM43XKMxAh)YMGFUgp0O{u#bqECWqRT z7M03V{h#pFc?P+DT8K|^%QE`i3r1*)k7~qnGFy6c$1O4RPmFyGm?Ss}>IePQwraRq z=o*ua38NhYHG_s-?aicv+qJ%D9$(Cht{NO8(U=1zONC6N4ZzQ$EvWNcdpzoJ@}HG| z5L9%keCA;}KUS5D^;=*b;yCd;+p+7ZeYM8$;FYiO4QXUX%J}3+tHTer6ZdoL`qd{N zsK?dE(2eUi8h5hW*4KZ7`^UaIO);hmL;9q{4HQKRS{9FUZiP9kZb}!&omu?!000!e7J7BqqipsMpH~)nZpLR#59v9q-TL&X>7|mEgGuH-AhW zcXjQirl%9b15_>nnCYLLnju}Bn#Fex{dk4h<-N?jKyK+qYuwjV?g(|cm5V%E|7d$d z9Rvsn1DAi{{G78xSP84x0sufEe!T$!Qqs@>0Pp}r1bF400MFWBtuP1T4>mTrqho}V z>-7&viKDTWG=~g%kxyhDs;eflVoTFkAzL**mO``A6qb03(>$4K6P3X}_H7N9ON z!HYR@ciWI;g9}CZ`t->XedkT3RVX|UulXYID*j0fqH%yVqp<-K@gU%V^{$?vL;nIE z1=!T`o^}io9KE&c@OV4QVCG!oyb;ePqc_6?0Q!7U`ti&_P9d830DyY|fLj4oE*pV; zU8#%#?=-2%UG^#emMaNo`cFIa;mkU#)vuWhTZsgTquv7zxq~iIbQ_$ z2l1)Gk&)shSdvFJaY*)6Ig=@5m;nwzND2Nx(!TOT!MmX#4u@sEJyg+n?*nm&hg8z4 zCr@8ybj9d+l9G9ucwMM_C;CQmg# z*LGq-`Is8-J7srRk-IWtQBL@q$hH$-<@q#NaL$fFb9jssW=Np<)akkSyce5jg0lU} z42#Xe#G`Q=-)g_S)AL4?nh)MkHjOp@piTayM+>bXeS*yLB6hch^&s>HHX$lv)|Sa5 zF^9KHkg` zlPcv>CMmq_Qx)zFQM5a5LZ$pOTin!!s3(I6y9Gc%J5ZFO7~3i+eFr6NYBh&80>~w^ z^0qZ6P(h1Z|A|!(Wpo%rjZg-VR^dDo0J@QZf}3~J%$yF;1XkB0(uom*)5zrT5_j(= zyr(;H?F>bBcW1_g;li#uht+0%Ipz^f)`w$QPlv5FAW6c+hA{VV4$qlR2L!*TqBRc5c%2K1qM z{nJb8lp}RfeM|vq*sRw}E3hMoO7s#R{tZHZEK%six0BoGG2A=CZY0#0;HP&_3f?L- zof3bYK8_-`oUaiTB)lKcXhFX*-n#6rS+iQLeJX5sFu+ysE(ed~Ph0xKHs?U=rsKZf zGGAq&SONDr%lW`^Qah z+mL$0H*f)NDGG`lDXhrlpwk2Nyo1LLM<<)u`27 z)@Bf(5}_Vknh*D7ClYt_Xaj;ISucy~%GWMuljU}MC>^bNV*oT9>K-!H=GSbA2_;55u)X6WIi6F7@>pN5NGcYWR}nD13CvDbt$FG3 zn3L#UM?F9nm}`E4+#7yOSHuP|z##aomiC@)U%^A|_uNJ!l-zGnuyW?mwA#*_Aw38U z)~4S*ravGrY`iBzQA(wuJ&Kx;1Qnb$-|G_K#QMlIfiZfETBNoX4Z@3*&F?PyMo!(k zXfh!<#P)a@GdsuRB(Osr8}fXLQChsOq!mrPmAuu?msOVsF25a$_^_@`=y{No*^&Ui#jXBK|fKE z()Mm$p5!*Xzx8~tk6A(p=4FO&I!D(##)sw7S%q^OZ1SzRMe$oArTDt0Wo6Mp{bp+J zdq=XoG*T^7*u03^d3pB99`SfWS^`7F#X3TQGSuCvt}w+_i@=ab!{jJYNX5o=2j#iS zz7tr>0ek`v%yflE)~KmkZGs7Y0dXzOC5t+C4E%WDR9>BY^HHVb=n@uuqweq@2Nz47 zs!XqehIRR@>_tgQryCz<9{QOdE|I74T6~AA%_o)9+jH=_ZzCHl%1N95_)RYcn)lGo zaF5BCX+9PvG{>(t?_J+X3SGdnq7Yv`Zie6!xE^|eCnlq5U(a5kj-2g$so&B+YFq4v zpZ&L0y~f#RO_yKCJ2;hsNa89|;AVXfiB*tYm&hfgO;j1e#wOOX_C~43JN>=Ag*}av zdgos(A5+3pLs=H5KCVov@gDlw=Z-caNg=mx84fUz`o*C1HLsulRELzpz<$IB+ISW? z{5vStgW<9@#tf-$?x1Eaoq@>|i>Cd!#PkpWSByNY7TDZ|Q}&vp(OT1AZ*HnwEjgX$ zblo5G0TpS#+7>fu!_Hh*RK=ffF0QSJh--iJokoCSt1_vxsejoIAEtrQYD7weoquqv zyG5b}ZL588kXry|JP_LHkg`~q$Ri7Ks7~~#RBC_Tot(8hGJBD5EXv58zR==!%$!AAi34Q`p{W2MASckV7|+EkR`+yRX`M?lADy{Umrw47vzob5lKly_?ZigM z$H{<_dzyq)h0awQX^3-Wjpf^Z6He34`um|4w2Bsm7NEH`*vIu0bsk8+Yq$JV|YLIOQ0SYr=s8hHnC2=XKvIg>WH zwWS>oC&1T6OO%-w?k9`hocR&uD~?>(vQAwoWWVRy-)!ScRMBoO8qQA_tv6Tqwu6HI zMue8^x-AF%GkGRGrn%n3Z71W-QsKU#b8{8ICE-K$@2plf7o3@&Qz*?uDB5nQVJJ=*gJ7R}2n~>#n_n+gcu$Px-I8BQ$^abvdA1 zvftYtnU(okPT#4wUYBcZmBlj+5Rlqizit_s5LQ(qEMl3FwEKcYb%ni!vVQzJQH8Bx zLoOvfR=}^U-f~u7A;}=%GF|Lq_MG3uu2mH5C^XQ)&dk;50iwy)+#1&KM}|l3!_K_m zT*1rwPIBQy5#_Aq$A~vZGIe>(jTz=|J1TAsp=iPiWCOmmkDs5+_iEMJ2$C>oa^r1z zH=oD#Yjvab4QH$g(Xy?8b)I`rlg)U&0$uRnYW)0TqTtUhVj&;1i7m9&BRBF1n`jkt zX~}OurI40f*Bl`(V~=)5G#$+6_ZqdwOB3X^gHkCPP8W+!w`%v9SkHG+5}d1e_vrW^ zuYv2uE?Vk(#0N7>(>cHeQt2GdCY!HDoO=}&gGxZO)3Gq-iYJ!3PPsVcK@6TiBPMn1 z^J}?Nv!3Mn7>E|ssfW`73b-5}W!{v>y2~AQ`@2UsiDKSMp%Z2+5`pcLR!aa~Vv+7e z1oq_VtqayOBy()=E-lINe}soSn71Db_XV$PWNf);)`x87-XP+kBr_jO6_=H9n@iLp z(p7&N=Zg&lqnTiHRwnK}rX>?5p9Qfw(DEmM?jXHu=_ z=taFtsL!bg2<5EVh=?f!xn`f4LyPU__C`_Bb>>2t86he;oo|!C5l5e-lO@ z5XSicW+?kr>&!2;UgKXuDkC7;VTk*jW0_C}Kb2-!yZyRV!LH!Ip2wD%EL$;H`Ea%( zTYXq;bhGYms7}#$7(E{`&q*4OP}Fw>n^Ips<8ZaU^>gyk;VC@J1)0zvE%hqp_h7Et z$p_0*08z?^>Ct-g#iQ|9Ck&WcE`U7{DH8JNm5<5mH;8Gl`;Ca~?Hi=RhSg4`j`GmAiH=^_L$Q zW7GjhWk&ex6)t}@B=zcFbcRiRg7L>(O=Ur9Mh;*fU*ZzCLNnd79!B!meTUn4s5U8l z51<8LplC9Mjm+G&asaYxzx|drb zmMY3Y1>Hm)inAyR=8m9lO)p|%bTmCZJ*A&5hE`3boqx}sLKSI-A?@_}6FVG*lI>~2 zk6N(ayTz6E8A_VxoOXpeA(<+Yt9ol+tqBviibiWGg;cmGDHfr=`gCR^7P{qV1O)^F zy>YeV%c(Q|P-JeKgU7*v0nhFVArx=JJS4LI$r)0| zUxaIgRRPf}>i54E3VEea|8}X&fAw-x#s|Z~K2f^=P2sHGqbEs0zfTPL>+n+$@oFne z6e95285ti1=T`o@n(Z0LH(FU@$NUn8+!Z%ZTriMBKVzxT&5r*DmVyHc6i!E<^B4g; zo%1I2gT4YoUK|b8*xm)KCwgnk%GhA~G#^vcZt$Y;ktVcnD=#u(R7T`!@5RJzw|ilR zX*cPwrOFDWyAzKFqb6Hld<>g z#k>w>5zKp!B#P5^wg95t)26^W#MY5A{A*x9cc9Rw00C|= zKOY`ogu(VR>Ss7M*UQm9^_Ka>>1H(yJ#-J?YF|;MApTvECx6w>};~NgH%jwBQc>VQbl~wL|^O&RU|@eM0+|#l^>t>ppwU zq?4fkp9KuSFjFnl-yzqtVtCH)lNT4C_d-g*b~SGL3UJp|E8u#8z4b{y_c|Sn{tFDh zIU-5(e!~u-3N}-JPw4pRI?4oZM(H~qWR1@eR(8VZC50K^WW z)8s^l7w>B-#z+RJeDidI|HtMiLzYmJRE%mi#Z1UV+dkv497~YU;(WKux$2dR3_U>r8P`P{~oIMWz@@2P`27KX+ zNvgx!Q*%_JQ2j$0axbRr)%d1&e$PwIe)!Hy#Kfh=?~UsXC!K4fM%I{Pls?RCU-JtF zCL3c#F2l_p7gr_z^YiSEcGE+~#;r4;nUQk6Nq^Nl?_a-tqIA>N>oHsqXkYB^31iwJDtHLz zzDIzu%Gws>hqjW z685W!mic>#5)4v(Ot;bNDR_MuqVF$nW*QvxXe4$woQPXKo?fTk zl5;-HvIjfRlAlKVi(ol6$U`(TR<2tv#L|guBVoQ0q8uLxs%{w)a>isx-SSu^72~`z z7F7TAsZ9>MEjFjFKQBDS&cduIysBI+W!{llP%FbFIN8T@d1_4gU_K)82swG)G90mBl4+gUfwd z@A7){`}N7M0tB8n1uJiFXXjE17e|!FSKm(joQ}`&9f^u3Dp(9h5*_;u5a`Q)eK zdfL_TTEs)Z0eyuBWmsq0%W}zX9+3@QP4{1h3uxC2%Yv#1y z(lVR;TQvre1q#HalZ|Cjm;DX5g31h{2h9iz~rLrWg2?6B+X){8;T#bipIF{zLsNR6+H@xcJ>Fi~YjF;~5C%mlo>mAic$EY#d$6+g&*-9kyW( zwVon@raDGW^+b3K=K2sN@j?t@(bN$`h0<&lHJ_=(bx80cHQn!1vV-ViOtUa#Kt4eX$a~q{ zJnI|(;f%0=ej5;C3dtCK`xuYs6P%}@|5Fg&Yfe+74pid{Z2%N8&ANMbl8P|XDpBQ6vSv= z1+}ZlMi+J-E(^W$v)%sa)6%Z~*62|1I(E^GvEsRc`&7LDH?1_DL(Fb0ph(?EoJrOZ z|ClF|%(L(`OL#?a@-^kAqkHSNWgzXA_&3|kzMU+!p3ycmcePfq%y#nDcw(;w4DhYK zExz=bSQ!TEl6vRF=(*zasqsU{S!FfEzD7+&U`)enqQH5tCXUj5@i;|8$T&BQ1YwBr`Qp2Klv^0Ld1QY*wIZKYFTz`e!pXRvs~9Rn7~bEb+yY+T1Gv3zAT9a%h=j?y)cy1da&m@qkn>( zNRna%)m3=CLIKqV`w9gfZ3_^Siq}~8+M20TLuM&Y>gA^@8oKl?=df4p?INcE|AS%8 zLh_qpE@pE$%kfiO71@QnX4=|zINOe*sf@`qIXI_uF;33*Bv+*} z3I?fI>1|`SFOsoXIGcQ-(Ak-yT5QN`425F!?s10lRo0ZkEVtUk6Tj;~VI^(($zY-2H$3u0v z4znYpiLgBIQP4=aqkGUr1i}I`5y$ZaQNW!2&67H9jKQ?O@ z#{Hf6_$I~poEpbCkq@Otu3iY@qS5Xn=$KGMgR?V8`0PStpLURBtg5ScLjwLIXM3Qz z=jDnIjeRNx`!>=vF2YK+r?Zha_iJh0W9xG3UkyN@*a3`w-FWg4IRnS^o5h0M4 zC@_|i+?marABO6{O2brCcYsYVIvRG0XlGR9ezl)Zy{z27DY2@^O|;ipFf{!;eY~&1 zhUIR)ufxL~cwaBU`22xGik|E$X3vr*9xV*D7Pg66&devR>i%~s!92(%>5;GhClUX? z>29dS!HG%3Pg3KqT_ZfZ>Tfhc@EO|9)X!$JZB>pQuBi)0-iD6*rA zF>}8knzRYWu>PEI+i@FccO~*o9l>5o=EAZF)@xpJ>~A=m>#Do5pnvX@tS$UKmiHKE z{zUFBk>YOcaF9p>`*Ndr)96}xvhDih%$K9yjaGSwK`5X@SUAL{)Gp0pufq~P-OW@c1 zFZ1czgZ_3Kv%-K@V`}jAZepl2RJYn%;$Y+NDKlNs#CqSj2O%Z3z)60urmG6V#}1KdYBR|#qb#L^0}Cz5 zO2v_e0_Nhwz-8+5&@*7*9@jb+MaD7pKdiU5p47u=XM!!aN^>>wsTWV??TI zT87AQH6(17IG(~T&daYSrK9nIzCo=Iq0pcXbvx&+7yw_WM~PTV@B4X(kv~}}bDAi` zy<&zW4V-*XVkyso^RMG=)U~Sr6+>QL@PIi};5m<>*cl^Q8AkVDs>?}9XhZsr^|N$8 zYZlpf{;S-ufRx%Q+H9nG<-W8x0su;0r?;0lr$(LXg65 zVzo!~nk&adCiw0qf#E*8$^W&;J4LZ&mzXnkG(3z#D`t2+LR0bnWE>j)e>hV(D`bx5 zCMM%!eEs$;Rjz{6mi82#!9Ld^-3!wPv|GsLOOYf7ZwkehQL$!YHOrd0sr!H92?ZZc z$a}V!?Ul@i%b!2){8SK%So&>ExGvGohIIZeByH`_5DbhX!+!|GqpboVe`IQUE3An! zo|bmF7R^@C$R`y(j>X;ER(x@Y&TS8`yNaRyP5Iu$Up*O$=bIFRyG0jnLK@nyKO0VL zFR$WRIdu~=SX`-|qiGnEY&^;Y_V_4YEKqI>WUp#IbFX3gKH@E_cWkA$TB7A_ad(h; z4*4>umg97~m(4$Tf<+zz`&~u}XXyo*8W0S=cg8tsoIvg@uW&CI#V!MWI|mpygJB+*rYHZ+|7f3D&E@+?{FOZ*T?jZm`RL;7C@$X&cA<2n9b zzk3}e<{4D0;hP7CRK-$l^Ez-gkZ*XxG?6Sqw^@v)?-hVmVt`Byq*v3&;Nv76Pm z4=_SMMZ{xOJ&>RC+W{jtw~S9!G2zn-zs=UPtWMb`uT@&cZ;?;9hD^(<|y zj-(BBveE*^t=>k`wB?G*k2|z&O=llgHoxU z3F9VT=>5_RqQNvuwG1e&2`3&sH})W4(EV(N90MF+c2GeExoa$JeOMdM3aD{%*Im1h z@nvdoAQR6)R%KU^O3b4Y)383iT(s$eCw%}OjOHGyUYTlPM9X1o)|%>>#GX#^s1N(W zI4~f#oO({s(6OrG8vfWvnrP2VH)0NoJ@2U#uW*I2YL6L7;QqQ&`xYy4`lbV^7_D@K z^dEJlkbdT#0V29Z7OC-~%JMRE!?GUK%KCF$LGWj@X+vduK0A98##*{MlKc172jC4C znAX7G6_{aAObdnYTQgOn&mEZF<`qMdJ#W&xOSRA2Rw4SE6{9zV>u+rJ@>Aax5?SbH zFeL0RmIb`$ww1JZ`5qOwPBfZ?$lz~pVi0$@zrBJAVxnT+C-ic^p`mYZnp`0sA*vkU zNf2f1z$JOl=J(Vm+mSa^9GC|$&(2p2i{GTphOf=xlnLtsY05F0aHY+d z2`)9IM@UU>y%@{La1=QzYHZlXXgk;==E-#w$LmIiosl&Ni?de~!KLacE6T!!HZpUo z+bPJ9$+3E#3`uq(PBmT>W|Wj@O>Xt$8>GmAZ0|71HJdn65yUZ>e~%!>F8x1he4C~5 z3p+yYBqxe>>#ZiHqk1JAt#(vNq8sWpi8CtCR>Rj8sZ#94g&6UW^fig;+Z-&x1JANn zyBIw1@7?Ku=1Q5ubxVV$yP01@3Q5QyJ|E^I11SzSjs0Ev^w|fz43O01M(0?DOAGPI zwBjRdmPi0;so%`xzUcUd8S@_+Fvfy1UrT+W!1`HhM({ z7c=|i@My2993~I%J=N{K+3jN<22r}5QL#M=wV+c)ZtncaPq%=ra2fOJZzed;;sS4t_ zcEt40=0jkjBD6CIhM(sp%#>u~%jWL8_e#$`_4+YDzDP4^kbOr`%h~N9gpL=%R87VY z&@v9Jk++=Z?SDnUQG1#3na=hzUnQORYCanWhu2lgs!csz-+=YK5+|QTzir&FRAeOb zrf@&Y&u}+gW287c{9k4Mhrq^zCbDwLQ1{|mDp}cJBVzTEh_w`(;fHrVv06LZY(2>UO&iA@ z0t4trt#7Y`#hFu6M>5iT&Bbm#*XorZMS32!wcFSmY{ff&Y8=kTH*r-#%%UxnU;d-9 zTF^dGf(bH5m6Ez!<+4pcttg5QwtVN$NM5ms6I)q&J^*GGZgKvDghmTB?enNsKOM^)i45>3m{Zg0cf%OK<^ zg=25{O3LPFA8KgVIx;c5zSl(h7&nag8mgMi@-;;A?kAM)F-asBM@dpUQ$HUZzumGD zBbpg&XJ|L41r26kq=z4$`Bm+mXFa+X1DePOq6fl{Pc(c)TMixqb*?i4A7LU9NV2^3AS z7I!DX1H~OmDQ$j>|J0ZKwF92Pi1{wH1L zwPF`47cM!`-IBOj_<|IE$;nJC@dYZp9_#e~S}MU(oTac$S&&_rmukRe@E-I}D)-^$ zfZ(FHhwnlsaQtRjwivbNO`(Q*jnlBieGiq@gwFVLf7SrSky&X2LO9(L51=E9<|KLmu+?6gom6n7w!Ujh^kxj0sr*@x>FpPrB-iJk z9FsEJB7GNEA4;t2pW5-$2kx{vlw4|(j@eGm^eGYpj4Gj~ugrSG`)Z~~XU5Gy_-RYc z{Y<)E9a*ZI@kW)c&5b%tM#pFBRL;5emU+xI2ity^W3pW7%;4jNg&k&0kn^z#!9P?E zz|gIpWk*WsDm<*`qH7(~7P)pts!C0`a*}ey;hi~t|F8e^Np9PQ*MTFiF{O5vQ(I5I z4LqGDwh+Bs)yZ1Xc{V1wn#KWrn!v&>V-*2Ug?&*VaNqwlq zEZW>9c`u0gUz#b16pF6bSU!)RO+ez&v#Nl~}iB1RsWs zLol%PQ*GBL*LkzhNj-y{2q)o3$`ytd1@q*(K=I;9(*1k3rwnqFx>Cr>9o%959camV z^1klHw>g~Ch8--jt#i=Ibtb1P3f2e1$T#`VZicD@MglKk#`&E3_1y*2grh0DQ#W5W5 zhV~yegEf|AHa*h^gzwJDk|78TH{;6h2iO?+!z zTN|cMhmdL04vZt(d&FT8w3>H+DlHDlK=4^{7OR(yxj)fBoyH=F#hI&uU2)T;;ASc6 z`BcjYU;#Go_S$Sxc!CnmusX3spQAD!uG-9yiG-!)UGSJ$*M5^fR~5=_07wSS^qGqG zkH>*v50Wwk?FZvQM4jF(T=Wha+1s-;9n9Qd4||@q7Vi4E(A=3LIu`g5J2`k_wGM_8 zs<_iv){j`}^Aen##?bF?E0qQ)^_2J7+Aei#yW>(oqUk%nI}@v?9@xB^IgHQz9;X65 za=XO~yUHhvE>os~r>M{Sj-AFF(<8zbfBIctZ>ZoM#8x9Ts(h%tm=xaIevzLM>Lc+z zQv;ISpS!pHh>7m-4D5fkNA zzmCK^#;HzRi0|;vV}#ljC<=T8xDQSYM;Hrrq!>FR~l8 zsEL*Q)&l%v%kSi@wCkY(kH4ul2H9|GiCEcK6K*Mcd~6_bLLEIGLhuiD-Q`i?j93)aLkiM1kZEWplkzN63fN$duWIjyWUdO=J%o(P{f23DQ z2~xE)y}KQXqGDCtwts?Lkisa>`~w5DFF%Ee@-L}IVT`9l^Q(j*-+R!_QW>OqEcu{V z@Nhdk8b}2F2MuiXaNwecjIrj#d%Z*t%gn~ZYLT@Z^WxDhV3J1CAAYK%-{&*PxbEKOHhmR)EjNd%a# z@S9Tli2wN&cudv0t;0NaI>Q=odyDY7Mz61V^;S^>yXQPQ_1$UmyxV8HkQ+-hc8;Zu{?w@J4@wm74{U8{ucOz*A!9|J@(- z3`OsH)?L#6Dlc7PUE~Hf)oZ{_f%z`olxlA7EVIBF)UXz5eNwlWB;2-f4>tIl3v&_W z2YmD2UN27WrMk)XbdR^}g;8-|#P{^hNQx!~oHnXggbo}(Hg-EMtU6?m&iuXPuO7x! zie7WUt{MlgF8&I%D4J<`72o`41Qh5{w3pV}==fSPws+}v+cO}b`9{ae&1lNe1ajKt zGvG}RC0dj{1*3LEALD$ zCrQu2xwcu28Fx5Cm@})Y=FXe&Z4LoWMge>N^fO>wsj~G}CWyWhb`IgQTWD*X=q|9F zBJ@po?9**X=O~z`Gy30#>sh}(s2v6#*zaeGJ=gIl+>W41qKZO}oDeei_KW=85PkMO z+mG8T$al9Cp({oqkGs@^{s=v235y(S-wVP-K0tei%rDVs(0Ktv>YZa_h~eZ)+iKytb`>W?l6oSiX-uBwwq|HGUL^Zsp;bs;p)r%ttHx1Z^iZIr@2b zs;uWImtuwcP!=AGz2sh2@fR%RK_@#Wp?6V)4<+>k z%&kWNbcO_#<=~gA4~a@D|AAU2q0MFGWI)g`8$I zWuw_pO0)XSsKW~kd%D%q`?)xR*`3OdORc}fe?oINe>x6g;$etRb7K=MFw-G>&5c{X{{LbA@o0WZ)O*M=U4$aJG@ze|9!HqyT7LJXG7%Lm0xK0h4|#BMBc_( zf9yV74wsz=eIs*+pRK%^e6x~h+&D&~r@Y+U@`c1E+k6(~X?8qW$^;tX@|YI1%x3gT z-6nLOsDf0l`X5$O5qX2Uiha3t4beO*3ukD;Uh1tc@ru%59*%fO)dX zfC$@WR9b_DYelDGEWmkjEJ8tpye4+@iCX-0soos9Q!f0mr?@X=Z_`{)Ny}WmdO;lL zjnambwl_@yvxCHU$8zn3<{mT9-qLSfge5Vt7juMz8Twtic^Gd5lPD87gMH24eqSn8 zlv4Ul=us~xEAV{VCx+MDuw?C>0}I&;9Of-EHAhb3^Eml8cKfnoxekXfLPxekRC1OJ zndPeA7fMfZYki$gf&S+%P^=9aAFI0<*jf$d@|A?}S2gE4z_n5z%+Q--5;X45+d~t zQ|kTv`$HFLQn~{#(%Hs*$vizxvK=?kz4=q$EeS5U)>}_HoL9ysJHx6)BWga{f8xej z#3G@H4$5`9Z;aqp#)u1ye!)fY6$Tz{cCS8I3r7SXg**@NHdrJ~{Ee7$@GSMU@8y3X zr&=?W9o}Z|hJ=k|MBYue2_EZx`n&X3>-ukfw9!^)^|zXVBm}|WS}?Ep7zc*gc4RGy zD%?StScMaDd*EtRmLH(-Rjt{8Z32HywO2c3||u1~7$Ci;~DHi+ZQU!X6j+kTVr zpC<@2C8@5Kl))L?^_;QA`c3f-3`}@CAyBKC?_#G8;wp?zsP!g9xBUdNlm!t*rcvFw zUEQ`2!WMo3fBfXa0sLlsuMpfay7I(BGF9GAovwaDz%VOfAZD=Dw2>sLoNA|;Q0u#WuH z*#^0F6)mpW;5}*r)gt0Rlet-q&I`SYhQ{tGzHTi?6m)%2UM19N;3*r)GH2IL{z6VZ ze?o>ghI+Uo&Nrqeht!;tDOw}Id${Al`*3uN9_3ka?L?BZ=fiSeQ*BC ztp(?#hLGpJd`v90mJk2zFNvz*;cO+@q;fcqTP}m9b*+z8H5h^k{20*~4W?zqBJHc4 zn4t$*DfEbCxmJ77Zxud02=V)x-ah>y?eKZ1uAP1>4NXF{AAm=M0?#$l`S_hdzgnm_ zfAP2uLOMQKgm-9R+RfnNN`kLPe=+j=HMYY12CZM_UL*p2LAkq|nAWOa2bfV*UPE3A z3pTBo%)7PCa25oQ+0~uOuOZ3NCIPmx4+HiiCa=HHGVfr4DRt!t3m)QkL>@IuR2#hWJF*duOt!N~@lyK~=pOF! ztVP?N0$}70#{aZ_r{(l6x;*m|ALoZAH#mXl#^=6e-6m}NWzG%Zlu9|R0FKdz5O&Km zZ%XS@=B>^C2B^im{3tedk=Ka}RFvva2zmH(Xt`mwJFOf9CC+d*sKr#90pU5n9FcAh zznRtKtr2t{#fM^)N!1+kNeXzWVvK5}-(k+ezipHT z0oWVId=}+llN&1ggLG$cA#`|CLZ4fD8Hrb?G_vn~QEj(^ql&F$8O*BUEKm07R>zj` z{s{N|I`y{>qm*_jsrD2Lt5b)%KVhNDuu14N!W3J zjXYhAj*q^8JH;Bqi++<(-C*~vToSU_*8_<3B&`OH8SaS&tqhFAr-n>>eNT`tOs9wE z0=$Kbr@y^yRcwA%tgAn4;EP_X)Vf2Y(UWnT%ON{rqiwF39`P**C^yWyFnC%)CC!&$ zZJ?>n#`v+bQglFaB5&&wtQ+GiL*UP;q>-vXTC6TlC~M}a#;r&V$=#&T zp5KW6#Angi)247^P#L-S+f*z%g{bLzo`#%}0*}s$acD@e9dVt?uo=_D&^0B+8vv~-kqK(@JY zoCH*m`2s|_^DVALB$Uxks8LlrR=%dlr;F9@gnuc8R+UpNe{ZODy5fvp+uH7ksv-9M{#B|&` z{JXqm8K}G~q|-zz`@~=5yVx?qc#Ld_6rG?+QvAFe9tQg$5l0O>+j%KPXn4ZCk{HLn zrYxSKth>+{m3IDCi~L&@NO?ysVXiHs|NiFf^gtOumx3%J(%F%|be{E+lvu+1 zg6Ru0=El7y9K=fmdH!ZG9ftJRf1H8g^%7ToQXcz6zSJth;e}U9XG3A#6s&Y^V}$gX zY?x8EJ8JhPTM0KR+EYER$kds*C`=$9Kgko)ur+kjg!f>nzKTqKMnk~&hk(u}o;}E# zA*viHPzGpgUQTH4Wu8HJ09$Ijb*+}w`Pdd221Y&WuaepDOH3*V#4Lp&LnRcdCFw*V zjvM*rsK7mFk5OP*DJFz;Qt}f$&}AOE^%iIgb~o6}UsSg}(ea(ER<3*Zp3#RgEKD@f z?Ia(R%^$#wGmxMlscS?O(#sHaSHh~UMyZx;o?hY3NFjG+q)q-&9sZ=gOM-YEbzZs9 zZE&Z*=wdBc%*1$}-V53jB%%`woSuE#yEGFEHYu`#H>ms~gs`*FU~1!mGDLJLpU@~A z(oCvb7ZgAb0)COQhK$fT=6)5KULQ6#f^|WB+04I~YcaSfmGYD)aNyV(0sXT>XTK(k zRFNXj_mSF+WZJ>@JuMLSeBR}S6)Kc%bQZ4Py z8k(>{adP~@zk8o1;bI>slYdD~n#niU+O@Lke%Y?m8?0zso*{Xx9PA6Xq@D4TSl6Jk z%PiFOWrVmb#%x$)G!I*Xt}8@nAd>$VkTxB? zfq5&|h<6a7KM!%eO7s>)y%i} z==>E+AGx41FPVctHaE7D8nU6uE}YKd)}uw18R$yXxZi{_J61TIMAdGL`Nn!|sqw+* z_H;aJ9Wmpn4!^C0$?eGBk*(TLU3i7NeJn9gi|22-q9c;0eO1EiT>_z9WJJqY-H7M7 zel)eTiBiRKf+XLwBZB|>Y1 z2s#4!%#klsC-`Zdz`x+tm~m$jSj&I7DA9;h9Yvk20GlcMwGX2R2r{0m;K%t6)EBRoOAHTP)H*5NU&hMD92H~ z%Yo%vQ|dPO&vE=}DqNk{F(Zs-FBCIXSIIcxBhRLm%DY37-|N!#v)qSAK}AH%U}#*T z9NbUpxXNWaC@#JPGXaw$LbE4VDl_Vo%{W~}X*AS0q1S7xKM%ILy1wFTFrTqz&(|sK zh+;71Y;`go*xG*GO6t|>=Q4MY4i2qwE)i@ZhiySvQJAYZ>s;HNhS=ouL8^S}rOeXByUF`b&%D-j>(Ym2i!4Bh@3T&G}d_J8z)To@G znFZclS5?HCJ?~N^Fu)Hib*MGKXDxdCOI);6PBB5k7u7I$}t#aSF4?(Qt^Ebi_Oi!KficXxMpXR*cI-Hz|o{i^PdyRMp= zN_Q$rr$5O|GBpv3@)Ah!c<=xK07*(xOc?-x0DWByun=D}Df+?W006kHqO7X;7y17i zpP!#PK;YNv&?2>-p5D~d)JSvl<@3wqrM}CmS7Irk`I%M#kRW-q7%{lA@vzE9)lzw9KQCuD6;P=49i5!mARsEMsuB|uVNkeduO2DE!4`J3YBDpj z!orZj04C7jI6R)40Kn8=Q5PSk$EyWs7^p_4C%f}>%B0sI{uy@Qz|y*$Hfrr#g- z9{>PbL&Kt<%t74Pd5MX zp-g*@Z~d^8u7!8w(X*s!(l0kk$G{Y0hnTo@9<$#~pBNZp`38SfsFQzbcKp`(TN0k^fkwh!m5EUyBNM#9G+XXs)_yaZ7O036^+i3zK^ zubnOBAqTNw0DrB&pJ%NQY zRCNGH>$CJytkP2DeCyn-bHJWirAazjGDWgj<=$~-JJ`sGIPE;+T)&0}+P&9LqL-Xu zcDWoLceNH0l(!t5Qg*A@>5_Y|-Pgs(N88%jo#VI=hd<1gxW{+nRnP6*-^3gUp#1ux z`3SIxAn4)#;F|P@z|J$+)RKy8)~SKhb7IkoRJ_3i(?hPaYplQ)!D&KPp}~!jnme6r z?RnML<0nRCN{92<3EbYe5~0TujB;&p)jOQwaaAN#H7hNY#DV>)0@BP%3j{AUd~@>d z8zcEaM5O2gmzPCxFyPi7Lx{IGq)jePERNqP1q4z>lTVb3dS?+YQf+;E~(U0IHt+-kYu{KB)6sAfs%H-*5l8OIpzzL7T(=#t< zTI|%5)N*m4#1*`y}|Q`!t6i(Yr}3#U~JIc<%ffXO(_}e&c#}%7B#Nln|6+%I!tQ?T9*{zAAejs$ z&sz8-r(n`LtnSF)mv{g<)vL`s1wJ+-S+RgH9FKpic9)VpHU*MWnHJjdKwgf! zeCNE`U6`2F;Dgln`OYD4D|X($2nr>71Ua023Rh{wTwB>3)OV+uT^VxMwYsyD@vhKG z$h@U4bI}7utBhBFuFh4zLAb5%pYI7iD7p0b>!t;u3ZsgaNpAcXRSb?I8u!}Imv^` z$9$U41jkIRWU^A#^qr+y+v4ut>)@^Jyl}5A*;I+d6OX+Ny`@d3=2uBfwo|9|-xV}lbyB?O+K%ThHb2D7iRZ?l_hccY0)d2u z2NehT+!=z9^tuJNMbDwl)Hga~W5nUP^y9B!mdt6U%p#D(ice2g3(cv6@-O)59eGro zS{66Ci%mw94~Ejuje4;H!q6D2>g6hRYeetlG-E{q@pAeoEH=~>!9|+8#{r4k=tvLCgj^51+7On0m?W=d|aAy+2P3Sa5 zHG$NvL<1eb05Oy4S5`53=^;k#lzfqc9?>|WLW=`)=Tu}e5xXjT8H&t`cL zWtRHN2=NWi+~vFECi~l`y#}@hm2aIBXSEFEPXa-S7Veo+$o`Sl9&waf#XuM&v3!17 z2KQq_d+j^Vnvx*lZ;-;+pt>fS@wxoekTJvN5>fGY1^(&i_VY8Vh)zwOEpzjOKYz|8 z?oW5!%v}B6MG^MCzJYri?GmfpbaQ9=0OBlSkPCHCiSSjy<*y(Hb9g_l)X(>;(wm%aF=IzzGq zPFy2UApQP+`iTa+vXm}Nl`&FzR)SwPL^^gP!GISnV@m?viU{_;7SUv;2ePX#e*5wK zMx*U>LID&a#=26fL`0HR28qQbs#L#+AXfWXn>s$!4H5xPmX~B|KbwEXVa!TtsW2a?(w24$30}?q zeUn~tZcvK$TavQ$pSNM4ro6{Kf)OZ_l#*i9`0lOBMn`#{D)~~9w6Il4`AU=gTU(0u z)@oHi8lO>4+G>Bn>S!!eyDE+>UmEyD7BozFkm}XN&83Jejl|cIf!)km(N|6so4y`h zAih>wPVd2rWOrD7mNHLp5IzBFMm8=9`?g)XHyo7V| zFjtUZC4}YJh7H-I=mIgGrK)B4kbEsz+qMlg^t@A|BjjKj(pXw4s!Iig!&0w&^Pb_e zW;XLh-lK1p#2n`eIbGu=$dqM#gz_}SswPRV7HaE@7ADD|MQWpXsH)#(lUanRVvV;$ z2uU?5-?dT-v6Y?bVvpa~V_2kR=st8KpA!YF0QvX=tGdFf*3hZQ@k=FWXpP+2?*jIs z0`N+Vi`GT?#ZpCTWscAagr6*vunq*p!Pkc5**VXI9VuPp3AJ;q&TLchvb-ZDCF~ox zQJ6AsqId2)2Sl(6t+62p>sHk4mvU^BgY+gl+enVtrK!Acp-ObD9RcgB+$iWJ-j zNt`L*Bfp~IVxDvEEn`7A<Q4tRpVaCfhA(u5hGepnE-l9CUSeC{?6zf)Hy!!;FGXZiecIgg^x zoW0&?e7!)o|2PZ!e)_QC_v`Gg_hXgN$I*4zn&wdfEWu0vVKDm#Ps;u@_S~;5QW{aV z6>dB7J`4I(`sBz66Xka};>L3Yf|<^aRT4Jo5L6OE%`Ew0JVQ<##ps&2KB6S$&d8Rc z812#9*@tI@uxwqt!nH$tU3&xSRIk0>uG8pQpT~6+`+?5qb>@p4Jp;QO;($MPm)~yO zSA3Re1#weI&%^m$hnnu<)Ntvs^oC2HW%|;0#e9;=tORnxDHCgl{s~yE$BDt21L2XR zO_JDvy%M1Oj9H0<*#@m1n;1KG83r({9DB&>H}`+2O}fn}U1rg-zdFvQiE+UEM`$#> z!Vd06oPdRx*j^vEw125abPxQfE_pBFKOvYA^@^ib%>tA<(I6-jN5yLEo_y~L-;dOU z$Uy8RSD_0hd_e&tC5Ipix%rkXCPh%N=n<&dpaUBEQ7;TD^r2(D&XV33gK4OQ zOMys`pC^(WWX-b1XZPDn;!+_~<*e`t%>HCOgP3+pQ^ip?_A~pMqh`cqxFwZ7dV}9FQml=Jta0LQrEo&4K4(*kg}Odj0Q5d9Ihcy|3p^ z;GoU7PNG(~(|)a$yt?Lq|GnM(`HhE( zYEspyWiWffdh3%H5L(Fdda;T2l10`ekStsoVjD3s)F;UT^8yqqPlxB{J234Mm(`&N zZSL)PcGswavP|gQ1c`fpU~ix|o(@4R*wf1N*SDcyBcdODR=E@VA_5<(q82s#KeeaB z9;!ongxPIJ8xA4(v}|~oLF_48txvCQMMz0&NmJg%o9uvDSkPqi7D;1;cAAp+bjc_Q z$9K7v4994k4oy+nL_ucPx9G#2&1Sj&Gp;!0JUEZ;j!*Lom~a2uVy@k}iMVuA705yL zq?1g0pd|1Br1dU~W&c6gVhlSL)LEKdGsf4Yo2B;tblfL#%%&wMNsh`q4LU8kauE%8 zfxr#ifMj-+#rLDIb4jQ<7R76uLB&N_nnd~W0jjVRTV6Y~glx4YDHt0bvBtPcU&CMXV^@eEy= z;n4D^*i58osy3@NX;{dfeu+pVTO<6 ze!|<5moZo^`o;i~DDFHi5T`3dOyoUZ!1J|ZG1Ey;`&y}TR`Q*jXluP*0A3!!!0n+e z6(a!Q5grK6L09ZP66iEy^r1>JkGzRqX7!=Os7g+Ir9WwDRsY##b9+?CsQyi$P*c3{XwwSQJgtQx5JN#j7y2? zPZtErLf!TWzi*sADp1bh0AqmZPP3KO=FT72vw>*ysMMAz7MEhP(B||%s~fU=9W8Qw z3lnApy{GP_aU8V7czlnQb6yTG>|TqY9jhz}bzYAe-#2|Kp90`KPx2yIkgvFMis6*hu=p zj=1|<;(e%}aqKAU*&*w4T%?2M-mN^&BL%ow=OWMS=(Djf=S^keHeo4Ezxw9OT!~gE zs;!N5nE@QxzWM+KM5-Kg2{>H*7aCGy zQQ~*A>R71%N_XgI9R*_vDM)*w5U#ks42hjd(A9yG`z=j}2gc?P>9Z6;83?BE8v+?uKB%9%uW!Ax0fHDg$3k$m%VUcgE6n=t08dO z@l`W4ueX0VH?9)rJSVWVOpudvx-$$-b)tkV&wXldhr26vMC+;PE<01Cwe^iQJi4TD zvyiFJ-P~7dojrIHG>#pz-T;IqS8`P$^JAN3swr|p&qRonEl?XT6O}alI5>#3&Y7B{ zGF!M~ny?aKc9Pu|rFsovmAGGqJ+fi2mFT&Wy_R&muMXVI5Lc`fP$T}S^@o5@P=Ky* zvXi{Z$4mzOyOn2Zx>DigGZ$Si>md&>9I8H@=nZS@=B+ZSLuN<}lRK1-=~^IbY)RKWb6jZIn` zr*NS?tiMBfwB%8Aly#cFZF<%Qh5OywMIQG)T3>@`g!-eW&SV$0ME&ObSY34z4K=7B zL`k~y7Nz_<=mUjv_{ZasfJBbOe)G=>v7XPoWydKPB!)F-jeLL8n-dA)1r1u~5elmYdKPG$5X{tc3<(4;a$M7h#@ zTN{Rk9n1q-_8ua-)zM1W-e^3@M-savF96$Q)LI{!7!Fb;3je)g0ICC?GnjDo4 zFrl7mCAV@QY@`%gpLpt7W&-PO6pudAlS@BGp?jOUmPpSykM+gTuxEHxz1*m5y!C?o zQE<;b?^=?v=(jVo*0ow8!uRT+2@;Os2??uT6+P|!m|s2a(m|G(U;3Nnb=tRmErN^b zi;x4C|C>A}tJtlygilHthb_d!!N*hee635np_yQkX8s((012-UD(Cy((ISGz(GW`Y zDpllI`}5tv1J!{f((9B6>K8 z)43(CXGH+c={6LxSnvzdttA1|ymli~ewYA83{K)C;D*m6&C59j9X3DMh&(|nD3Uk5 zL#DCxd)vcDMw8tsmJZ|&MFYp8@O!3gJuAk*u}C=C6-D6Y;!o$By^{D?%E=Fe@d!|O z=w1Oo!BnxV^9%@yc?9*LhCFh?CZp_1Ut$Qrhx;#PuOfSU?CgMlj|NXg`^uv~%VzC# z&BUvuQwD|T=VM-NWTpA;YcQ&7J1xze21ymifq$PvDrz5vkRrH70YcCYE{2pb7gUYM z66Aje=nMRo8PJ}^{V$GE^vY`;B&e8*Yz0GofA$7)Nn1nCn6OEf?1%(sWurQim(B?{Zy9j@98DQ{4dA{pj{jLV z%=7Yr;aa&T5Q&#AqhfZwN&7Hr&|I#_7OZEl$WM=&)QfrAXUMWi60?EPd!U6LP5||H z_gvUM9&~vX9GpGGLMy7u54N%}j8q4Z@^T;#&`O z=vee6m8hM}xbV`*?zOC+R=V%2t0TCt8RS{BZ%HIPC~1L0pl*%J57iY{Q8a+5Rigzi zvMddcVmK$>6k}8=Vng?Tr->i3i!{8gfcp=I*AKbiFg!2NqKYSYp;BMoK_vg*R`l`0 zgVxFikYK@9E3`8>b!HT)6r5e~n;O_9Y^%L)Umx2>4(YoTt-M%|dIdhdNib3JL^3|c z?Uiu-9gTHtunmd)i+xC=ptQD>=8jCdW8??<8IEOc58I8_0`Zo+9MqM;#On7PowgD1SibtFm*?FLgQylvt_iQTwE!Hf9huAn@_4OrJ)sDW^g_M zTZ?sg)Za1g>|w(7g0`0#fJ6DUP0*O z#IK#?T&L4@&D1t7GTZsJ(vIw|=>0=HVcCzr;#t54?V)$E4gqCS zx}}3W2EL_oOL)NhRw4OXxqYH8`Y;6J#RH2os?ZpxB;h@pZ6f>WGnA~; z11^m-nxdOo^dOsm9mnQ^BU`=FCndO#$f4S-6Z%khewk?4<&GqT)q)1C;Yq_ z5wfL6zWc@MPtcebNc87TQoy|0SOk4r6F2boOXWFy81mu$3 z-xh@BEV`JfM`Y zoz{P{o(h!~z9j6dx0o^t)p)wihSU!oJLc?8Rlw6IUQTz`xnOCZ?n1)NKzFNWHFl$8 zY44DJ?fQmJe&KCMrqgRRl4Sz$hk@v-yrjrFf}{H6HTnK-AjkoSGs&2>K`E(6fuw?i zc-nxhGm0p>_u9T0E<%L0R$ru?bx|OF*HE-bQ9XLouIlu~*j&8^nhzC}$$^x$qtBV1 zux5h9E<4p8>%n9p@8yaqC(I`Qz2t?=lahGY%L|~9ix41;7|rgi0{cJD3G^5R{7}=o zeQJm-2Gx8I-u+(ppK1TIk<9O%&&R5H+)A(bAATFVgA|>>{w`hVqj&qIn`+Td6(prA zg~37dhYK7SVI26~CySNNfC!K$B=hbzNf3GvB2n*bLa^b#0;(ZVoJ$iKh%x0p!`F$| zPb#yQF>HOy2;VL{SK9~Jzc-saR>TEQ$~Kf)XqbWJ;A$@4xFj~LZ%bS6HmsnGS%Y8k zyj(c>Vf4~Ky-s((n`|SkHuOS{m07TYFycHpfCq5ig8c+B@u1b(=b9%)Plb8a|CSCs z)RWChg>eroo*rk-tzHkJMl0;Gg&xMv%jUh)duWE*3oSRO#~RdfOPGMyuWb**bS_?= ziBBtq`n8{EaFe#4t(WMw0&2O%O!xazn6xLe(f<4b**Kg4 zzX@0myt#Q$5!Cp;bTwG+%e#Y_vV|)@Fudq%79yOl>o=>vG1f=}y{5$sMY07Q2fvjx z`!fm>M%v*Dtfq$nAYacc*n)vt$Qf=DjLS9&~)jOQ(f)sx z+HcU;g*paa(cyTmpXF-t!Bl|Px1;BWLHd#<8VckRMml^kiT#VlG zOBQFGA?yq^;;am>=fVVp4^aq8(6{_V)jNw;cyH_=hNBQMxYlxHO0h?ist%r?slbn zkr9po9UjBO1Wgne4kUXh(eg(NzCJxaKcBq6pM4Jd3qf4foeiZ$*g5>W0tZI7&Ea%n1iD&xwq<*I-N6xf){i=`Mq`Ibr<~MZ^KacCG zfhiGeF6-VkPdu-Dxm2Y1nNmQx?)JxG=<}H`ZL_VXGdjgRIDMV(+KYA8$(sMht`xhX zVek=!QJgj%s7$Om*g@?gm6P}W;l$=nAhVcvP>^^bJ=ntYM?|_%>X$3S`FR0$sz6Z2 z^s+?%A(uv~eT@mO-vh=;bTGq>$yyB#sdhwLmCo>BE8fWv`T=`paaADQZK7cEe6+vI za3T#6JLGu>>W0_`u?r<|$HFZ&SH9X_LpZt6cgW<`Y^}!XM?@aLVldo-`sTyJzR`v~ zgTCIy>7GF!9!9RzmIDLh&(gtxQ|< zvS2|#-in}S`5AmfzVrw}R+R+3+R7h3wuZ4{hSUzbst8A27RAt!ixFRU5ub;V#w5=V zm#eml38}(xGzFn~cV&q3Mg&+;s>e~mS+*R!CIUPC;%Cd4QETA)2VArDCZ}x9O5GN#b0F4{|$X~ zPgTqIsbD&7*f56Uw!Q>+MS_bOHkrRbn3eiVw83Anv*MPr&H|Nf-tCpzjJ8$fqZ@G4 zl9~F71^#>3WGDVxe#{C#Ua0e>|MY5nnF=xL{nU&p>mq{?4kcJP5I^||m+-qt!?$h; zY|_rmg9rJNXghav;RM3CK_mISn@`=Pplt-_{BIulXj#>K&*Y?Px3h)I)%Elc{a65# zznB#Bmd(RvSEA5Y?hLqXsSy^GtIus=;2@M%{`MY{_A3!3Rz1(xLU18fKB;^a2;Htp zKK{LKMgK|IS&2TUlXh_XDJL%uy(tNUZrBi3A4^FZ-*FSxR-qVs+O_Vs&%wzcfmcA)viRR%6>U1YJc$eFeg3*hOp=LzaWs=2p*bsOCL{}wc!0+KNx&L1EtkitlVO{Wl`M&F4XddzVjWAVV@>iq*&ZSKvQ~w)L7_M>$M{>vu@` zW!{WR%n_-L30%2g&TYVSU_Z62xOp%X=Ga1-{IsaEkR1jm!HcDv)W)pQYl^p&3C8NB zPS?`q1}I71+iCtIQk#JO#i@-?mkch*$0x5lYHriy9!n#{~4*t$-h;F*vjR zuy9NFIs7HL)n-v*0Wnt%xKjDiC$$NR^nj0^TI@@xoA0=zH{raJlLu29Xh}-C>gW*pm`^D)G)k1t@6ekG;Id1n$byLV0{Nego*B z(xpDax@z70sz-GkaC)liVXW(Xk!x z;W4G5@@9zrF45v9D`wLRj@8ixxn2jG+%7l6s1Gyk<);Gv?v1*baBcWJmN43CM$HlS zK9XOeTX5Mq3^)sCWn;hsrYn~c^YTn$#}4dq9t7q6#T%u&|APL#_7>~4OTF9PAmh*vy|KA z(0!2o?^4L1L?awG=NoZ`VUr#Iw55&B(Ru7qM3F(+{o^R)k6AW_K|1{Hh*KLAM&hZe z`Q5+#G{c~sYct0q%+Mj~Gii<0XXX~5i8|e}nj~){7g>^z3`4Hbz;sic=J#A7GJsGU zL{6(19QtDmUvV3t`KlNhYv`#e$qER{GPo>OFNzZNjPm^(vTLki>uHV(AYY8{BJt5D zNjs8^%x^&UA6AY5Qq?~!Sy|^Q-_CT6Y`u&ddowdanF<3FgWWLlu&*Ibl!Qwy)unSP zu$QPdUbk2s9p{Vw{lQk{etbMFPMbGu>+}_X60eo|jyN;52Y1}??$tvC!Kq!TYS%3S zSc}BK2wgH~gvU_+<6JZfa@GO<;-@3P1Y`<)uHDzs5ayyj8Vdi3g}HPIEOac8+^it{ zmBtjRu=F-ht9ds>-UN3hn_Ud)-?)jMvFqfw{ku_FARaGTy2>z{K{?!wtPuHP-=lIhXc-Z3!a?$uDEELmN=49@qmTnh%#P zTQ`45og@bfJ_t<$s!mpITgKG)yy-7CEdZBuBv;=f|36(eFW~V#jVwfPQrMQh2J# zC>p0KDYLD$n%DqsWw*Q*@?&!lV>D4)oE$hZYRBOp9-R!e2@+9nemUA7YM?1H8Xn1k z!Y28~iJmgGZ~u?({GCH;1S?Lt_0e5F3%M$+nt58mDSO1gKMjNMum;+cKg^lIe!y`O zf^g*uZH@ziyn>-!J%ChPWQO0W9G3;ju1LYCB3E0?vptp&qF=)TZwJtKOS5OQuo`f(bGemaNlhAp@*SX77NdK?`D7*lV&=H z00KEpO_#N`P6ZB!qEO`n(aiyly(1#=Ma3 z>>_Oe-oTGG1}83fRhS1;gSl_deR|vcC(c6w>pz$O{%{;>pto}7s>QcajH@JK+^Lo~ z;%uz;h>mn3Af;GY9A-b~8m3G^F(@CHNSH53smg@t+hBpjO<@;hxT20Map)#xLxC zXcBZ&9-RJ-NYh3aulgar4GUyt>Dvrk;V6@gBJ_`}n?H#}mcJ1GAtC%bx6bc+>@IpMkYm;H&|ZP{gT2v zS;oRdqU7QBVlumr?8!L87dJLq)`)v4UVt~s8InGJr)?pe?J2*5R8><;rBx&5&}6De zcu_zU-tk$p4cy!_Oxl{7!a*(&m(LyT>I6&RM!H=GePBKg3dl9T!h6<` zAbEL~j)n}Dnd<5#cA*q<4YxE*h ze4h$Bl^?GoU!G;3p4wr)igqRQp?4vKH%q=xYVl86YntUDczDQ_$0KY~a?qUN#l?lS zLU&9G-2~73=r>mV@O`V8X3^8(KUJ(Yk_p>g5)Vf1i46!eE0Jl}1+83Zi1Hfi|IXoCKu*nf)HPSz@0?TwHSZ}M7fAb`wXx{bAB6UTnV?Y{G45{c;RO2 ze2oI=cKi*y$456swlLo}fj|5vuB)b^CKMGf-?=9fJ(5Ag7nAdyZ zF86BA9+ohxJbB+NOigm-Rl82UdSvr~md=B>cOYepHHt3^82yg&547ORl zT%A6fO}LAo3dQ#xxSMt0=Itu{uwo%VW~#c1J*#MoI`;b0wHbFQUm8qTFqbZmBLiJm zt@GQvj5VzUqiMtG($^{u-um_5!X4|5gLM34Is}G{G~z@Cpk0Bv|Fjp%CdoYdeUfLH z-BzaBm(zurNu$?r7~b-!>3hLXy zb7CK|UhAa>A+1q=2Y$UHLA;`a$jYaunTwW}mv?@-L)qx@s_^cPvljRNuA4*@#d8`@Og_mQ*epfSg#mB2Aq^PO-&#bw7Ucz z(TE}-2Vt*i+I7%lZV=b^Q<3E5}$I+L2cwastodv`%K zjEmz-syVc%fD*2a_ksNmCHG+A<;Y93u?MIm!wcR&R!Vdf$QD|AXD{}#_U%o+UhcHK za<1QH0W?gC53^=Hu6yJa_OUxV2L?X23i?OuR;E}Dam&6~b8?tHYSRig$*rs?Ty!p#E>YV806 zN)JeTqobmX$foL00@T7aMK`##{|~Hyt_J_oa)(w$5I1JTwE44j|5S<8%MP$0!+rLF zG#Onosv}+QBNzQoe$W|K(eG!nE5Q20U=a==sQHnW9W+iN)**@QN; zWL;|39mtu*ak;1xWrYDRMh)Wey92!K)H2cG1f{(BLzddTS+<;X$ALZCV+y{cLzz&g z?GtLvHKODpV)y*YkAv3+rLbHz@fi42EM_T8P)qT2BCQYDOA;T$hF*1(1*0Wv~1frzR1Mg$qNAZXI_+L<LF|EKQtz}WKSJqmRe=$I(BwVn&}oZ3_8jf^r0s!?#GPaLWvNn zppcJ~h$LQB{uEjWp$EWkeuASJ2x4Z5;_(GCrXxyQ^2X>}2kF{`6q|MYOqP(AE;ouw z??lx5qmiFweTMn>?Ig-&4 zUCnDBy4Pej{Jcg6_QOPKe$=c}Ji=b!$IlBd!}6mb>>R?m-KT;uaM_{fGEa3~1mmx4 zwZ8T$Q2o6?ZLwVL-TrkWZ8_?g=arA-8+I&qf$G^^-2z=9JyS@7gak5=tWJj2;wM%0 zt$goJVk5)5J0fWJvc-1jV0JiDzy`HPw1!3RSs}Pd;`8SvqW+piAB%7Hj{%N@Ntox6 z?Vgg!Ks#Hk9~6p#9A7nVo#EAQQ50?A{5cg?NIckYka=IN!Yw;0Ev|McS?5MMSKp91 z#oGI;-9H|OS#G+@QrwD0_LppdHwkV8PPb35*G3k=Al3C*|H9qdh9hmda$Xq@m6{Qr zlV9-I($(U|rOh0j0PkTIuTJ@%_`;u7$iO&RIRBYf<;hzH=U84FFl@*kXFPl|3p7>H zcu0(WUj%z>6Ph7yJo$woCa@m{f|=v;!jrGH+dN|{JilJuA%q%0wW_vqJf0=SIQVlc zX3gx0U3Z3e*k3Jf~ z-ZRy_1+ealXH0V=*?E7SLp81Kb$A?`cqq8JXv1%5Avfs{2L}e>qFc^q6<2Y(5`%9n zThn5q^Zwxm5`ZnE%D`)fquOXlMdgA!9fk|zySBC$Z_Ezhsms?=1)U1|%T%ym&Ho(z z5Mb<@mI>s@j}KkKf*mQ4cK1{0PAI`i?v_;1DUf;A67On1ALe$UbVpPv3t$;+!I5^g zsF>Xs4^&-%wze!W2N9ZkG{)sUosY3Q8>`844Xs#%{3_LDuYD{?9Ps)1d{7(;1LP7~ zWq}!ak3eF(9ifn=HBANnY^}53C&hlPg&h47GK)JFkSWk99UhviHX^A09ZYvanJs%XGE%y4y10XJ?O%VU43+{W zTbMUg!axa@CtA`h^{Y0*C1G+dP_#<}R1&MmI}8-Z+beg_Cu)(njFW+EL-Zw!K$$g2 zOtc~rrIGXk1vz7R8^@$tW6EO--z{)Obmw6&Pu$qq%xh08QYk0~GNySg>~(OVLs@i{ ze~BPcsjs$Q`C*^4y-_sqcS)!y%=U3b*jk#M-?E0>u2i(+LbB?))Ucx;1PpyQm)fyK zOgtA^q53TyP+%@o3>UC}UvkWiR!op3GM9t0Tve3hqU-%22Or=#>yE&XriGH2=q!#2 zDKxQL;x%aCS(NMi5 z5Q%?1rZkk&B0V>nqJOu=YI$)Uvy}ngJb1(y*bsOlB#m}l5eEr|+BSmEY?K0uJ}+6? zFn{t1C8B5t)jOkt{>V~U$$f`h*ZV6?hM6Y-3mK-YwjB3Q^zWB*c7;wap61i=TQnmQ zVn4{09E{k}I}2{pP(nbUuF^y71PUuhkr5@Kwei}^c;C5h>zW~xz!0v}*o-P>%o zClnzja?hzKo*IvpqIp2GPWofYDQcpa_h!s5-C!h!uR$<1_GrT0TV#yWDpnUWSroGv{Y^mX(8-D40{BY7gvq_k%Cw|CQeic%bVRB(ks0B~co^w6FBzWB%rORb*}%?63xnxfc#f z4J08;@&+KkV3$~By<%}aUDa9K)XlvAmuPaccN*L6+SbsjH2JNk zJ-aYrkQRnIdkUJB&>CInaCDZ;kUF#$ieMmR$++6kKCY22g^8II-5N;b=M|bt> z^Y!B8>kEVX%`R02{PbLY9Xq%jzK|!kh}`AVpf@jp+HbSA-#|?|xNT*Fcr5~>3{Z6P zb}xNv(Ctg_@$(LJ29znSnzoWA-UVwNltXpfcmfLlwW{?^P2n+{zqdvi0-NU~-{Sz6 z#A*TsTKns1m;~*EBc}onV6D@c-N*L5M3Ut_P@8SXM->xvl~xCVOk!AS3-(s$Cv2wX zb~nYtIyGA&=`;QfkbR0XHjgc{1_cFmkBVws1lPpv@5tM*J&C=6!1hAg)Ji?XgGZWE zPI;f=H^c&rw2~Fat!swaugdMsu(XIJd|5@SDtwp;OoiwWa9>Kg6SZ-Qo|+9`;ZFD! zKj~|MWga)jtN6=2>e@e7Yd*iO3@2vZnck+9!m#;>e?WbfZ{9=v(8BqQ02a`&!Gn3-Ik_Gyf_;T^Z*1!%^j*5Yy8$+0gs?s6pK$cu6szf(s z9m*_w+Xi8|Im3g;pR?TD39mdeXUXj56-WoWQA!lcgQ86bhkF0P$9BRVN_+%9r<><= zC%01aN+&s3`r@9ETa)_%hNz-+DhXhl>7(ZhI?O&iFmt28+l!K`v+&Iy}nw{gO?r8Xx&5;*Ka@6863$Dvq7Ho}dKBRa5Iywg(uYSlNENa>WXh0;M?9~l- zElI$3A&fRT!5v8%zh1^78~DgnBy}Y;o{RF& zk!!VrD;nT}9G+LNY+7nC57YtV&b9gSAJ_vAk6vqT#Y;r0>){9qLHlAeGj(me+9d1{ zj6tqzoQ2z&SCCtF%kT8tM*jW~?b^S7YDQhs zyU)AdtmX-Qq%K`eLg(oF@+J}zJzvQx~G{4k+!AqVwK9Wl_b*J8L52cQmt0aOnLe>hH7YJz6CIw0mByZdCv}VVbe%9DR3=_fRPMAV@bIjhFog}G|G|N5ylR!z=t;V8r z^be5wnp6|3EA5Vw)Hi=29U87n$Qgbt$izh4y{Z)4>N#i0&|h2F9vEs!!19vTEE50` zbpe@U4l!c;aF<4K}ygOF9X}4OyJ-p zotP4Pew-w5BVOF|Di{mhPfl{5Kqd6;h&PMKyjI!FH;N8e8+K)Iq} zaLACL3R@C(gVQ||uY)81uObhaA+H4ibjTuMXI1TUOBF!?uc&8fmP4F_bf5nibdLU6 z4kf@_r=Wxw@qUEOVR4{g__}*L05|Q#YarB>qNlzT4U~T=SAG2!F|`kXe>qee&vgz! zZXGR;LZZYpBhfkfhe@3f9IT+AYGY~^vK-rfMU6Uoki~^G?Q~*xOprQ#Il;I{P7@sD z>9<$y5|<<(tDij&H&6FJERW$Upl{-gM(5}sXCn!Kr-%I%1S;F^pMXwr=yG^HSK)B+ zWG&BTEAMYdGX(DU(*G?ugasFI`r`_ z2w!I_c3R#1w&VmK#HWhZG|+N$)Zn1Bw+H2L;O0|VY1`;j27~*TUieeV|CXmlV4Z13 zp>y%|GPRx+JdGr3z478Jg9@VHH@P+dzk>GdF`1qN7sYbB(S z2L{cCe0Ao{>860(T%MksuI!FM=jh)->Lc$Bn>VfDv4CY*Q_cWwT(;V7w1#92Mk^uN zuRWRGc`3yHx=}mdCGdfxqM};zZCNJuV&ZIj(!-AGhXVdG#SW_*ZcPD4!)9pAZHn{@;`g$_mjvK z#qnqM3)>P-OS|#5Gnv3bu3pVL>O?n=u)$Qo(iEjz7EquMMqk{2!0ba4<3G^CMt)8GJpOMVv7)5_mtE!?pvZW!drWcl%E6zU8|chPpD~tHD2oOVJ+0^zVKk7p(z!7IF|0fI^KNw_P5XH z;|wegq*3BHI>qvvir&K!_lAR3ufah83M&V>i_^dJ8;2W*Y`OWoVV+}h7W*JPj{ZT z0v41R0mlhVr1Pitbo;3+eGdf1yOB;wbf?}y!7L_#@JxRT%zAhb+wyYy3_Ei=ng`<6 zDG}m08X><1cw0%sfa=mv=_DtwzMquz;r07HpWH^h-w^s>|LxO!=dwVGx@+C7lxoap#l>aU2bE zK|nnj(4~^go5=|qJ}*@V^=fbExtu_LgM%uEPjJ_g0YYVUb;@Wh5h0j9d^48u@s;A|^x}M<;An0B$Ek_%2UI=@5CG z`@ZkBs-UBL<;(X@=h=ku}(mWT-v$I&s%H3AwZ$uK3i)N^~SL8H^@RkP-)jbyUgZ1&X- zwcYDBTdvlWYWc(?cn;90WX}Tb-{!uonMSy$#;3*irO}8C_oI28nr1Nh`vbCjw03Wt`^?Ji48tx|pwzB)p z1}Eaai~Rus>@k^+15oDGD|O6K+%wzJX>_kL0w4<4kB_CP@!qnCac9sgiWV0UuHeDZB=XkBnufVVc1*^`Z= ze(YoMn&JP z+byy;Is^$XB_;drAQ_Milgzrno5Z42U^#3Q$?;3#FIgT93BUQ`QJSh{tARm6&{xr- zjt2Ed0n9jB1gWU1DS+vlt`5Z0kCd6@6@eb6oCv<5ec|s+n zXq7O+&#K^>jW~L;A4s~j(FO_&9>kI*IDBAOOJ;jY=! zHS}f@R8&(kjuJkMXZODcihIFSW2Gs92&fz-(!lct96dxi5i=oN2ffMznpMvwbd-c^R0e*@noR2GV)1rQTN05O_<#r%DW04jg1?0);A;Q%&Wp{slBm0ekm$?aYL3tws42G%8LqXiV+S$hPaEm7T10 z{kF{;Sfr3`1*DTMf{1{*$|2IL6;pPtrFO%%n?iaB{{-&u-$3Er zDo20+0iLcy@_e2D^{AKC7)#|}_633FzqPgoM@Assd7%g^F(=P!0uoj!++1&O&y_*C z!JT#s>jEGY17D+)X0{pFDC2uM@tg%tYC{8_5kX-YKPxM%2ZYrb99@d@x)I_ys={cM zc+0k{)VI6TwC#Z}MWjI&Km7g&0N%U3z4h_>JAyB|vew?!igM4EW)9nSR?|~|Dd5AI zcT1WkSh^*>Opglb=-i|a)(9HwMlO5j$RJ%2$cbEYp_Bt>vhH=le_0;YJ?w?*@EM9D zLq){UR~9*h5u$LQEAQDXj^-(@VTcgN(IcXI!&QQ{+jf&0(mqm$p^Z`p^!j%Wek&;f zM4f7twvs1QwI!aXN*D&jsh^c}(do&TL6+t|fqx0?tt&wpbjoNE(wnP?OO9Ul-n^gV zs_8WY*tpFu1Dxw{zPAXlAYxuRfD>H<2TR?e=?NT=*&|E+-f2a*y3Z#JgtyaKT;?2v zf8H&`7f7T0@8f8?0&Y`>s}q-AlZNuK;hDq`H3x$KNJN4F9cgW^A?58zoe6wDd*Z3Y zQJp$+satYgw^Q#5ZvdLJD)1D{w7xFBdiA(k)uS`B>`i^KJ*%bL1=BjI=r977A_u2t zp0J#es-FFo0Bh>1ObTq;&{un-+^!`hHXj^%z*G93UV+DuoQ0z38gP(^3Gu&=qX(c~ zox93S(bNysQTleDy0+bF$ZFkwvubPVBx@K%-){4htSknsbNzhP^|B*Mq7OdrYPSrh zILe2vLnIzWI#+NAK;?8sON~Va_FRx(<{2LSZ^6-qhRG1qX(VQT@6sfU ztW@shJv9w);4A@!ar*Z+3ly((qx|pVXbs%7~b4hRP+Y0w7mI40r7nzCc^(dj_$xM5&9|# zL~ctz1h-pkE*f2XMAf6##@2~i>iTt4R9__sE_kC`7yDyJOJuvCdCH9rL7DLkZ+fCK zxVI_NVex)VKbs~Z?rF4iH&ayeD8ggcLg%G$B7!=C#>1teU05!!%4{U*baCz~ftGUb zY6MvEy|lahC*tVlaqiusH^UtGO?bvaYTD-D#gMIUlse?L2mNY);L&g^ndQR{b#1ph zzWJimY__S*>tjdz+^)`5$*?O>G!^Mi=4--JMUmw*0<6NJ8IZ+-TmZ7x8-qgZy=YqP3}^=YAZ(rHdJXn=WbS0rD5B)Ip$F99Y|g5vPQ#3 zj}i}(m(96zxr2k%^YdSh-#$Oer|)h^z@ z2pD;Ky#up1y%>91R%vj3=gz8>b8$lV9zOXvnl1w%%K?x|tLC^u{XFxSygY!CZ77MM zdKikJF1JPX$$inj%Nx8qD(BS%mX-+n#!J)VXUX4Ytdx+QX(tUN>1K zdAw5XQFgQzu4YG;c75Y$ms82EQg-&V(K)a_s&ut7^iUTa@h0oHi<8&)gPKBbYw6)XhKtMUI~NRv)X7_uW?!Ucdh4yPtmg(Q`Q` ziMZpfFoV-*>C3q+-7W)Q#i=P0*7co6+Lm4ggiwac2f|fwr7hyA5%q?RCT5%_V*Z*> zJdW;Kp~iE^jIHH%N7+I;O3cCz$Ro~)yk5x;(c*l(E$w@{yKa=B-|H){yS{ zeYK9A58yo3BN?-#f?iE&(zPH$jblBr%OH+_ZEB{66x7T*Pc!qK;Wunusq^-xI`ip< z*Etm)((K@$^u{)TVoX_~QKKMdDfQ-KHzlUB6k`Zq!I|y$^xCBp{RY{0+erA;`KV|( zb=IFTrg#{XCIL!6^)udKBJbTJWUWVxt(}P6Yd_(vvU8KqK(Yx2;%q_0)Qy@i!rjLTLSZaXbXN^lL^zqGNUqfj%+QsT;Clyj^1*Y9k4`7#jhdNGac^&kYhzT|#^}^|K5|007Lf?RV z196FDR&y<&Mc%XT{^3<@_X$fwgwomL3h5mVSD@6?WAtnt&Ahsd=^{;%kKUXC%XdAl z1iD~(f3_LY9dCT%bD*pSM{@+A(1%i^m!nGm8J3ph7lu_4%19ex-!?`nw#uNtHUTlJtu1i=jufDbpC0|CI4iY5K)^ctNdlu>AR}O3a8R$46)H5a7Mn zADsB;#-l&K?Z+FB(Yt_52Mv|71t6LUdaN|Xk1b(oQ7(O6w5!&T`66wMG$>mFcdqc8 zI_e0ws&X%LaV~me0e}c~hPFte80VCYMcScMEas&$MN-}=%L>VyHLNumYG&=zY(E@M zNfJRdTcv8YC}8AWxuthhF1!&!jXYY?4TD#sG~x7H4}g2{D&#$~4FLdY0$x!!x!s&;M2fRU*cxFp$n(Eg_aXF&w9T|P{%WPdjdcQ4lEu}@ z&^XjRbO4l0O4b+AeAi;_HzX>SRzVHjgiYn3g8#Nl%wk=rAGq?tgP#~k&Jl}`9O z7NrOjvXqT6O=eBUx65B-}A2>^T#B^**zf=E3XyH{`{g5WbM>m#%I~!vldJ7mY zrGMK6Nf@`<7XXBsd1*;Ysivb}8BeWcE?~3~YQqiNl(X$LQNh~%^Pgbj9VpS98Mj<< zfn^>m^8lifjz~#p2kh0`f@=8&o%W9OSZj-YGu??9Ed?s}ZkjvY^2fcClhf0aH3PGD zU=?HRQ>4C1Fx~lXTq{j7Mx%tTY^q0JPm7O*siE{uJ#4!C#cQu(-b54PqZ=OR z!FY?5$6hY?8bOFmGL{CGtTdsmQ{;7pB@+jdNRO!OYtJgA3sUv(N=8;(zL&>LdTbv& zBbWjPgX&;rQ9TMjn4ho6U8}3x6D0XTq`raz>v-R<@J~T$6$ndpCXIT>WjZ_YHYg!2xuDIj)tOjFBO9wE8k_Lfy+Sy_D0}d&40P1?Vb*0hZ)toIKN=P9W`CM)oM9CY{t46;AQiZCiwb zjqFc)jXojJ6P40*fz1_lf_t05q97{;Lsnq-OZQHT5J_2-G^wO5ljaSh=1eM*^sY$^ z8AdZTq026o(GhQX1+|1UzM`+CsrZPAl9vneRQHj)INzNVJqICNDM;e)P$~yBB?0VF|pLu zmZ~^bKk@Ntk<_CM*^6Z^(@}_0*2KJIjO(rYV_>=oca+fnGa>029GlZmjZGhz)cwwl zSIrF*;iI!Iw#U8K=Wp%6Tn1_xYkzM~t=p~Fb6b>`09oZw-_&IFC7Pp*l5OP#)Z2Ij zMk+?vF8!RC-GP&w_r4|2${Ybo}PG7fQ7J z?bTvl7j%A|E+0gP`T(ziQjU5FfcxG@Q!lk9z(-vij78|L8#{k@ch~1WAj`Iu7JI5Z z8d^qeIW*ec2rgta4ENF%wbN5n8j8^t)-V1|fM-J!CICb>=8S)(wO!RbaS{kk9I3iy zdMh9J6f|Pu0_KhQAA;YW=(Lu!=<gskzF3`K69|Uwj|E4g5L|p)Lqwa{Pkr_{)9xznG&c!s2nd<#CY3$$B1F(lLZ9V42_tB3* zW7(*t%>CPgiFZG6phSLHD5xMa$S@lsNVjSXK}Oq-$e(Al7V?{@EI86_qfsVBcI)Ed zoA*Ha|MztOi~JRfP)!9yK~yE}khXQ)(Jojj6{QamGZR0+@1viCZjY7Iee7-j11DwOyv(dUbxwgt8r2O`vA6%ELx#wqs{(h)^vDYzYL~eC0(qL);`2=`I5VkoTo#v_BD= z@+JFc9Qjrykqn~Fy?ediqCmr_8u`dKoq`%@J(m^;BAM-(b7sk>==5keU)$&B`N2>( zkc!cq#R>{mrlV6-8Gg!#YkXEUB~ywiZlyJXKPVbhr0k(zm(?cIxzio;6Si! zj;1eTIp)Rp(OKdt(J^&*2i`vmjb6Ls0ibffvp!Q}@ERf~HKgL)dTgq*8SRE`v({*r z6dpDz7d28Wz>N{b5?Gu1c$btovx2in($6YhM8Lg(_wIG8f<#b?=I>>Teo`^jKr_s- zqL7NVrQG(Um#0>qW8;iQw%=W(fQ%H`W=4l{8q$a&^~b4O3gGUsojK}8fgk6O%vJs) zdIGHUU2|@TP=EUE>3AvGb#OXN>HQ}jSUWG@_P`h4N4ak4-W(UwU+JG;8}jiEpf=c7 z%)O&qw$<8WTWzbaX>V%~QPtRPC&~$JwqY7HlIoZxJz2Sk*hW=k=pdXwQ<3d4APpir z=)HLf8Qo*?i++%0WErhkSxMF8Av)XdVuxmJS|+Kj4jf7&Qg18!wzZ~_&02NA?-Zqu zrPWn5Q-bLzrTx?B(ok-9+Siu48QbW!VQMHHD#t9mWGzT9zK>4bCG7O0-P?x`XRZ|a zu5+W&Kh~i~6g1NTg?3VO$x&KS5csXS0kkbOqHAYYk+yYXZ=qsca82L4`ZW3!SO>vZ zy$dr>Ov)%xN{Cd^=bVowl#2S-qR;5wGwKckEwcj;O>0O!)tav&VGVSj=ZLypRUJKA z>*~?ctZZ5*S!9o6!1ehxo?%dY^a&tema>NC`B;JJITC%c$+kLdvKh z59ja4wn1s_sMqPgS0tSbTN=`>8d2D8mr80CQmhn3G1ICHtIxY4j8Ci8`BPOoHK9U= zjZ{5l*?8gj0KBK)4N&TWbiHM1sQ40Fs=jIBx^(Vjs@HxRy=C&e3ol6v(j@rk)YKPH zavb2!8&}f~9!*`39ys9Brz);kI_S0AwOSyoL1pY3Dt2G{yXqy~@*vNDQrv*AulW4@ z3#i-4e6tdh7|kO)lgX5&IPK^tw@6TgMv`RI)s9Lch~g1)qfBok;62%=LP3beu62|I z#7Wx7NJ!P~AdgO&!C*d-D0MaZs_$6WYLI2F;Vn33DlQEWB|=Ir#kAe(!fc)KZ-Vxx6)^4DTAtGZwTJ z2fOL8VQiGuJimv18H*}mgl7S7Y{2$zrLkq%#{M>%FPd{k@0g?H6C?+xG@ zKVc7D5D0!)*~+LGx7Nzn*Vg)3q6!nrw&T8YKgNK!Pox?cJaVU((#y%_W%E%`P>DhoYzO3f=KQ>h4DtI4HbeTfG5GiXLx z5^+4T@yG#a8*o?7@%uT^qsqqbqR7Vy`iW+@5OF*t$4Xg+=YzK;WS71Ok{smDfbHp3Xw zvWcaS45ERt(;{VinSt2)SiPvBEmO-LEW;FIKm*e2#pcf`j3Mn5qyk;EJ1WUkW?$w4 z4Y7x|tzF8f4*Nhb(xL9CAdn77l3OHcb7|Fgmvo*e(ds5Yt`HXE4*cua<&F2I977-c ze}`ix$474ix30|S$Dpa_q1jJ%0G&KtEAI&(AQ4u~&OoznOzkJzlG1GD!(O2>c=gQZ zYO?Yf{0$Ghn2RG_k3cH6WY6km^uh=I?9j({0Y;U4IlyI!E`s!EO;ps6=jV0HR3Hd`j>|52J-2F|rl^#P zkm|1GLw=&cw#vh0C=mcXjyC5Kxu&Uph46G_n(g^x+8>v50qp!gm)%c}k52835$k$f z^mty{ct}9aPI`+PVk=MkI$cDlH7is}Hkakd+DB3ax~noq--2$s*qq+frI%HJT6Qlh zM6sIc?T76gW6>&dgsW||OR2SZ6{oGX<)%u-KwlAYuOIz(&U$tu@K@(lq%buCY1i7N zvWB#&4$bAQUH#o;&Z?=Gvk@ZI=#(*gdrxTS?wZ>-Jb=SpuxQXvT{z6yxVWS=Aam=Z?y7j%s3p0!BJD%%PU%unb+sA_=;se|~*$ zE`d*V?lgHE>8?&s6N&Y^jDxxh3eem2DZ9bzK9hoEPX)_=la38C@ zZ#2-48|g!G>C{f(%LN1xC^nN8qcy8cyPC_K6>C>8pRE?JW??>4DZiv^y!Ng_dARR* z8?Ndt^5*7N6`AI8QpW`i;`#3$Op_j@gLQ(=^FFxq!Qzff_;b074<8&Je*A*pt~fzH z%0@amrS@o~J@D5Bz<)6HoHhG}4&DYqL_*hog4+lUYUZl-Y9YR z>`zXhX+DW=lDjlFXHvbZynhtl2%-OKlDFT^d*EVF-+cD{_g{bg!!N)5{L_zT`stUi zzyAh_mS;YAc<0d#)`J%?@iaj``UiXG+uOvIh4I(UV^&Ii76+-5jx~j5_O`dBGbYom zRog5?CUvouZ0#y_5|Zo-*h+|iP+lMsB#^KRuki-d<{0I`; z#38HgkLTR;@9KpQr*}oQ9)Qz*&wstB_o-zDuP=WjY22L_I6HBnMb$n==c(#OWE4^Z z?;Nih(?&Uh4^J%Awrp<>@+ZHUR)$1IhE?xZQyEpP#UGEM1 zsFD0{iN*y~s<}$ebeZBfHsYX5(vh@Q>!yI?6w*#y6iB6)Kbc#ZRr>3Vd}(}KwnCWk zaY-GGKWWLWZL@uOqc4Dfsg$M#kKjaMnlU;mOy2>i>LS930DAQD`LjEp{DJPDeX;rI z`rW%X(J%k2kF9a(ujHed(EvEHW0v%)Ht|keIwO2u{_Q*g2rgxgMrVE`Di<1tcNm$K z!m=%Jo_A?cW8H>jMq_43l~+i=!Gm-~N@RVFbaNC$KuMr-x0_CzryFt_Z3}kg_|2Oq zPd4Pts4T|KH>rzi&0CKiT@zhbOn?0OV>+t-rF=9qdP1tz|8phKAA=wuoaS~~77;<@9qDrOe|u!6 zm#LATrgFn9=cmfhm^Yhmn2xjrZbM2xPvBGOUn6)v37*`+;7OyA%i>Hf)7*loeP?DQ zojWGS%)Gv{o^@o#=DRnKA3tVT^XWGwZU*dDX~t-Sr@!N}HU=gu%M04I=#*b7)7<=a zlf4m0x3a}u*RAENOX8g3p>5RkGfSF#=d*d((TvkK2r9t{V=7e_*-7)m<)3_rf``2F z=r}ReS64w7PM$n@K|336F{K}-+nb6ho&W8lX^Qwu`6%nO2f$vu7&6L0Uu9hwyTFI&&GonuACt0V)N_Mhqqk=X|ZPZeywcId>HGp->*R^D`J^Lbm zfA4ve?E>>x{kKiTPE)$ znW8$i*hqJ)SOy3aZcR$)nvD2&&LbF#YekJ`(=^d{w#1oR4RIGKwZo1>l&zF{Hky}r zsEsPx{MfJuCx-E3O;%fFGM(wJpH8h%IvtZvrA-#yx0*FDbFKOL*W*rXrnWgQX(N8} zDt-G>cUkadfcgAZ`su?6{nJH%Q%vdNJ-4jvII_Hbj4Gw4EO7nBCm*i+&u^)n248&y zZu(dAQPGz_U%7Jn>yM(rm|x#K|RP)Tyu#Q>Po!Zndp( ziKB6)^-0o@%S+?w$zp!1#6Y$aW6Cu+Je!tZao=f@2fw>R3O_NT9&xbCxoO(n&Gm~e zKD86SAEB4(dfxt9OaX~?Q%Xk&xb{r2+lQTA1MAacugv`AeDtH!XE4SPb!Mlei-D49 zhLox3*Hm4gZGq)KTxUi-&KW7D!H6fbX-}7oX-sdF60^p2(WEIb>KkcN;@rpiRxE@* zEy_-%Y;meOJI{7KUYkh_cE}{N@}23c?jUq?N9clvvN44-!jLkzow6VTpB%(nCeR%%Or3=!yHW)T2@_fdO2Biq`3~> zS)>X`tD}+RjVdrY;Jw(20aBZz(ne~dvn?&PxYoco!fVHN40eeudA@Hwf{IMsXe~__ z@{?N<(dzd$@vPgv+iOa)ZicPRG&1XDL$dN-o+LEWq?)U|Z0U5(%9Ipo+|ly~0+FAS z<<}IveaZKizXk3hwj)d*_2hh1dizy3n9_SbfX(}#>`%{`(%?9kvJ8Fn5cETUGJ`2a zjt*OC+)D3;nMabu+W4LO$PbFqK!aL1e=b-{)@>^6#KR{qT}8NxhoaL#LS+Bb9L$l}X%Z^-qcug;m9b#tf-3 zwehFfV#hcSE&_5i`!5i(i&_qLBM4FNN~ZMa$0>|A$UXF@$Zy(r*!%7D0KI}RDlk-&3|Qp69#N`)cX!D`%? z&o9JsLt5P2v4o5PrFf<`zC*^0$5tVI%#*PBji*}tv3d>MRe0ou-$p*!D8Tv5yEOXq zr=<5KzJpQ)bs(gEgJ_R~pVTXuuWg>)-@)_|0DD}E2!}p;C^~0h%7rD0=Q(X;7ED~2 z%$8%>lC2l0F<-JdTOkD!3r})JzNB@nmkWUIX|d#virQkJDkhfmyrmff5qVya6CQKO zsdY*X$CpQ8$|&TI{4N%jjeQc4#Hq4T*%>ck2huznL>I*r23dRc~XPjetn+vzspR z!IC6>5;ElY3_J&BL~5cTjW`FDU;2cN6(b`)kG%!*AR_mN;;iJkZ&F@XlXkLgQx-$r ztHd&=38#(brm}0&Y(zxmaS3++4Un9oeg4V6{qvnszi1=D#El-MN03Q6&pyi9O(~yC zCk}8hz5hZn^^g8!I`q*)(rJLGp5N9~QeNO?M}WK3!E~~!SX$@-(zI?w6-G4Y6B_Bg z58GGZKg|}1yY(9od46bfBQ_8g1yBJo2Z?Ki#E`^TdyM*wu6$i+8CLm9&zILd-$F#P z5?f``YhcFrijA~Qd_o=5eL*5>x1Me67 z1|cK5hf+-+$t3u7uEgvYQvfH9y5=|Z(ZkY@fT`wpiFeg5X8Sb@$gQF9C0`V2&M07q z1mZ?_V|5%mg198vApqoy<2uU}KAA$VYoZZ^PG_w0Tw~n|KMFiGR2xd%OQA4Ip)XsA zAhK~=869(smJL9r|5z%C-GtKTZ4&QoH)GJ5@8MP8g`o#O@-dNl4~=$1UZHgGnBD*$ zFpck^R1c=w#=Fmx>Ctaa8v5vAY4m&0lp3h}l`^_hMT2sCY^?>)^Bkg)C)8QQG96A} zzoKy|iOA?m-D-wNpk$P-I;UUZ_b`bRIbqe)0e%#uPDP5$w%aJ5PZEraP?j0 zml8=DsS-Yv)@GVo9&ILZENGfoQ%5X)Tq+qG$AljV9OH&WOeoR&t{LxzyhlOlr|?ep zY4=}nV>NKi_WRWHy8tGR@?1Lf(L>V@K1>?s3ZQRgv;``mv{eNgsUqsDmF7aVS5*?b zb$rbk3xL72fm`w^y!mRNX)ZUS?jtYMGpRmzjPi>;`{b{4zbI12jVgXRRF?Xv6hc+) z#8?v>YV$)`X+&jtRsB>ud}lx)U-CuTunWAmp=ijf-Mj-2d3}7VaK6<`RjWQzdh7PS zBi?HOf}>l>GW5~I(>aT|N$Cf)HidL4Hp~5iZimnuqxM>!z~nG{p5-Vu^vSod$&7Xv zq~?|o0ACz4Bxj@*zkBc$3{%te0)65Of;p&nhBjpsQK(3E53M;kk_BncC+o~qg6r{} ziUrbyKeQ!pG$RP7w-#G~Ja-&D6#zlz1LQ(pnm9RFGu195)*oVeP%nK1!2k7#u5KIp z=ppK7V78c_r-itcCU{%*bjn*k=83TKbfZblQVfs82pPRd1~ErMAm-3A-APnx3P2JC zJ3ma@d-b6WCD>&W1xP_PBz@xIU*C5Sy0dDiRT?E&le_ZAenq|u1^k2vfN7$p9$L1h z`Fi7Z57L-w%x9cXQ?0a?SONh-$b`yv-EXB4@Wb@C&j^6OK1fQh=w#aaQTp1y2ov1yk_14J~t;3oKZ1 zQ)o1``4w8?RlBbppW0{CHsYd9YR5=Lm0W1Gx(j^xT9MI97XeW4@b|y}38?#J^aOln z@_i_+0FUnPo6@M}fRSq++6Dkg?uXG-b3Ro+&R=DCl~jUvVslq+d|+-8*wW2qLpGpD#A3BXRkb=5!TOJ(ZFy@4oU- zEbv>VG&q&>Wb5w!H2TYx2@h^K=Flk(FtHv+4?cejq46TW-dBUIm=1mP zaP<>t+AbH|()xK+&2+XNvz<1C(Itav?zEScUuAev6p}zy$?0}L5W%XyMA~j2GM3ut zC(h`M)KlcFR7mx8d1!??J(g=HI)Ycf$c)TfhV4Tn!Br4z^SnlvSYx!;2B-iAY6gXG~s2o?ns4=?#<&g_0OxqYj z0+>Gl#P-TO1`_EygmM%JMS_`2>&k&NwBneGuyPw(`NKe(kHSdstArZjD!{I{m%{Et zzrycDg!G#UrW8hqv>-$EY_U!f_EKB2N47~Ze{y$V0M?5n*k!0g;B@9-I;Zs*`u^dA z8;576g!Kn-(uEQCF8raDehS=u@yS7S=jF}8E^{9G=ppMII&7O%5JuyMk?z3qN}-BH ze$bf1thC@7E@W7Ex`rVT-~jm?0Rcq~#t~uJZ5$PM#dTK;!*Ye$fcrmNXwOhvZF9@m@4`n4LC<mi{h@^k%>?^_O~xOV$Ml-|Wa7f}v<^ssf68ijdsHrk2h zbKMk{^+9$~eRNB1-R^*-^cgT2fP{}MLf}^v&2?INj4-+iNXaFXLp0-$&oT#> z?rjKsanpN;f@$DVMynG(MAxqaY2@n+b#J_TAp&kbKLDc7Km)Cm4t?~{b&-;CLy&A3 zw-tMeX067)#VM?07q|4*Z3{$fM@py{Nw1M4Z@ip4ALg{q;u1dcBvPRDm%JJU7CU6) zBq6h0U7X^-WqPVGHMKb3F)*?P8+{@_l+&u5NwxJMq%>4 z^0i&Jo5iKT7Y9=j3&xmuM!(@!aXz6=HQT5B^m3VO(&)^^M1)ixF`zzcL~^^@lMhWd zb?=Fa)J$z_($v!Zoizf^GXWL|L-J33tH)9Q5O;BneytPX-ygKI;lYk(-G>3B>+jho zx1VobOF8|PIo%DZG&F4P`#eem4t0kLo zEY$TH1q3g0k*?-&tyrd>TIGT7FzcT$(@9e&y<<4vGG<{ayF-ght(Ar@#Lh1Yvnk)c zCut;YU+UIpXxqU9^)=JrA+>gGhBHS1?y*aGlG*j_$SFPWT|C6fpkO)yVB%nuR(QU< zU!Ui6|H6y=%+fZer#{~`4s#*ge?P+}{J~a8hdw$0eG1C&Qq>qrssu`JP1=%$3~8!J zmjg*BLl6RLZJO|n)JUZeqxK0EnQ}5W7ssZV_V)H^Enh4ar{~Bl7qaittFc;QQciv7 zX_x&}lS#fWPF?XNJ4K;XgFtbU+5{sHrTXIXMqxm?Q-lfP6Y1gV3;Fh+{z(VYA2$MG zcVYCx17FSbta{$_TPdgEgVp}=?~@Zu@|}Iz=uHm#2dbfu4nRM6h$mAv%ckJ+MoY7W z6+-Nmp_r{~-KB~m4;9|WAcVS328lO?%ZeJQ&lXp4fXXGpZgKA8-o4#jJf$_hr*=$K zuC2Y=dh&GFn%`^0(HsSBsuvbWC(vrOu~JMH(EcCtb0a$FHNpxb3z8geuZ2FBHWyf{tNTj2{cEFtj7?Q0 zv%^wrW!=PC;sv?Y`K5)rvN|8rc5GaNa;n53=Z>RZAhjNLNgL=H*biKTuCPoJh~JRS zm;?|i%qTD1r$b*4J$l;HKEWINX+XNyKl8HJOz&>q?wa2V$0-F5epe%9t?v)gYq**j ztcE^15Pc2U)^aTSu*)lX(F)BGbUA!e$SMH7nkPGHrJL9#8|4U|%i#(x=@C>8pK5-F z02`O%IBB|FC)>y+WZM0dYD_CKNoOS?(`gy^<^6n*H;uzo%CJ_GMiOKP`my3MuG;)x z(NvK~u)oXjR{&KYT@62G4qduXFzplkKuZ1YmXvpz>7!@cL8@C&gv!J{Hq!kb( zBLZD<$y3z>xfNp|ah_YEjX*H{07}>8H2Q8`_||hF@19Ft>^BcDq>$eK;EYj_8L);v zIw1LwHr;ANOQcivG5}L5X_Ch_$2RK3KI+JfwDgjCX~?EU%m}-f=4@8-Ptu)3C6-&e zJK2TOY^RI1^2Pj<83WVYi78(tk?P4#bWuvTjm;X8vwXPnadMXuC17aiyM819jnbzWlpu{Yx7}TO;bVsPW zm8OP@8>OaTx}8AUDrQq{?L>5(^y9eLY_%hk+yFeS$AsFy>$^zTBR2Jl%@K5D)B^sh z#Jk@ESQje(n;Dqg{Z6Eq{`1c_eu}HV-A4BoV;=43E4tl{dUHA8*@x{Q0|q`UeRFi& z-}85DG&URCwr$&XHg?+BHaBW)t4U+qXlyk0v!Czp`E$?Na|d^3?##UB%-`3%Hc&awt4FY-ms_LFiml6w@jc6vX7%kt+7t|9$e}Ia({jt9GoR-UNAiP z{_rdECm7PBQo{twLQK%lQ`pstvjJf`uv+JYu1#LQM=t85D>08JL9(8px3!ol{grsq zMWWXe5r7_Di91xeTSO3I@lMT%&x`Y}XRu_bg)L$P47PPG1E*&FQ z)lwqetrg3z+0uL4wpX*?*LrlA>Yi1K=5dtwjZ(6@-?z#)zRlF(YRAn1(ym!^gR4(l zAwb{cQ07(kcKmuA7Xq#N@q6C01~opXy-X|l!1V-Q0`*X3+u}g*Xd z7cQ-txw(yd{cqpb);6B9CXbn4j6UtTlg`Q~3pwxSz-1f&Sz{IYV4gmeGB!d!|A_1j zc)smW?1&FhMyJk-h#N&X#+$UI5_p;A%BC)4-CotK`?6hfvN%{)S=upLY1(hhIr#Ci zvcOj{bh&R_X4hVOMCbggkzXUqt|kD(zhsLc{`QQCP|}fG!y_ZE&GoRN9c0|&MV$HU zGkZ6+k(qz|bEylloExqq<+^4G9#MpV;A&G#25aGM#(;UgC8O;+H{dhWv|GtLgNEm8 zzwV3Z{p<6;KyC+2VMHX&qUSziq)LA%yM!Zxr%b#T1@Eqqw>d!Ugs8+6GQl=H;1lY7 zyoX;{R5DA(ez7Ry+&d)&aBixG(2OQg_qXN*B#*=&N2Ua`y zm4S@fjLT2EK_|*HNKF+c?v2u9E=B=7?WOF)Ra|kfwWD_0rkv<`Z_R8l0{NvaO`P($ ztyn#eL+aE?N`bxka&5=`)|PLh@?=DFVOyd~T^`>Jt)WD^1uyAyc|yC#PF9Xv9A0;a z^;rdFyR|aNEPJ@iQR(zpHJN(?j^m5Zinphl2mdzJF@3m&e_b)pHe~U0WNx&H$fN?F64WH-y>(KP9+p!b(bhFi<~}jrr7!T=iG^g+&l1F zl*elT_8C`tKaDJ?b01au&n=l^D$7%`0X-Igrqf0Uj8&@T)r;}puLB>7!-s5c>Ec>< z0*$6=op8%Dw%3cf3ho^0lG`gfoQ`^xxJbS8FOCEwi-VOh>=bQq$5v$l=lc2(3}9?m z=I*@)AfcO4=bzjbAHe!sj(d={ZmhEvQy_g19Apx&6oAuVMqyP zIQ1UZ&N$jIT6piEsy;d)$nJYWy@E;%5+|66?=pr(Bv-y(f2A~jonPl(3vkIQ*c}v8 zoj7L!=XYv-XNTVc*^&R!7XQMX(S$vZQ1yLt=)2lH?g_#-F6jQ<32QJ;_yeTU_SYvU z6NE~iaqDBz#n~-wOoTkGQzY8*iUCxP;hIEbH-yS{?NQR%s`3H(%6kDm42(S`do4Gq zLmo>&_|d<~3Sy;~-%{5!oxe?%ankwM+w9{^`_ojO$~as+>5iyN4PBJpLPVFpMKb0I z5QjEEP)GFScUB_)Ng7oanOc-J7G(TBN?61cWCiYx(StNEzDp+FA*~mSX7p80=g#Z` zy zIFBtRyMR$xvC z2KVL&s4Jo?L0N56!-r^}NJRj4u?Bb|GULe!2VeGeb9oEOmBrtn}@+u z=lS6`zn|ky5>NA$KgWM~J;50T6~$hqIhB;tz!HkD+kk5Ka%RY4?`%iQ&e|?nDjdX4 zW7J6h8IQ{HbF4p-?gtp%Nlb+%TJA;HAp)XlCe^yKtXpMOtA0+_uN`^Zm@_3c0s4l! z`6UG_!%s5b51Go|w_97KG5t!jsYJBsOEJefG{m-56gZN@VIa(`M<7mD!w(wDSd)0& z@;cB(Bnz7Kd&{+UG+Cz5ZuTxV(x?(Ccs&n54)pibkL@A6Xxbt>92}3}Zfurx_Ho64 zPn787F=aMQo~V!uj4a6y?Kv@nfwV;!n6jceka-9AecVQbI^m_YLS zZuNq`w(TuvlJSOA#L_lhKQW_xZs_xciLCFSJPK8@uSnHIF(a<2k9SSk_{iN7))y-V z|5yHX2^9jisHBnP3bTy7xNii$54O7+mM%?-Y&(AEcYLgBm2)CS>lh~D^wi|j#j3Du zbM}ICZK{_E`^(44Nrfg_+x%V`UCrdR41Cm5s)?q%g@wC2kI>J;j$GJp9aU;IxkZqI z^!5w2U3Ii%SKBLe%5(WMgfUVc(VapQQts=sO8 z%feyK2R{D^Haoia;6~h_PpGtGWjrQI%pG&2V1?Id)Xh)}k!0$ySCdN9EN6ZADCWZL zjF9SIlzL4vAy5m%Pa>f$rl@PfQd{Agbgtf4IBEx6RmGU7-rqpR-G|zEc(jaM(}td0 z0jI2;f8WP@46nW2@^@VV47rlvXq!4Ow(Ic@#9 zF(Hd~@gzfF|A~ij?pdIZ>n@q+ai{DZxdn7?XH5%Tftc-L;;JwR+G-lA;j9g3(x_Sr z!@DXuZdtW&xivi7s&(GWx}U8|w6mXYG{QpzWiAj&OZsZ`2l?Ueozs3Z6Z&RyIeBF+ zl37i{?sWdo!<*z=B--aY zIP9ZKr|0?5rSjFi*H+NK3vBS`qxreaQ;=~;TQlIJZ&pq^XlYi+e}s9J>O7;lA=ng} zXHiOVgf(MA1}Y^Kqo~NCmJ#n&S8ViV>|9k4)zMn;%Tp~`Lh7hH*)5oi1(Y87#`xie z@!8{VDJiml$TD+#HAHT|xsJltT>E;2xQl*D zU5=~+hineRl#;gb#Ow*Sc`xD|{^l`t7tBKQ6!C8TCR+(HBwcgo_X^}+#mMSH3sq~( zqOA?XMh;sci@7s|ZGmYXcUwcb*;K+0H`{N!ziNzTQ z(EBqnOm%rh<5kIMOY9=lj?<)FYs)gn7ri@P?6}rE(zb%I$}D)&YXqZy!WZqIH!G{& zA>qDo$LB5S~$vC$f)?c3*g_4Two&h@O@sjI*(PC!uZ`gwbFYH;-If#36y^HlJ_s8;_uI_OuG zJD|y+xzVvTvqGZqli1~MDDNCj>gyV%r=LY~sryjAn9&gF*FF*_XV`t$41eEG`T}ML+a`+xQT&zN_%4s{ z*QiVjze9t%kx+RslV;g%f7MFW1!nR`vgeH%>n9b07WF2*cpcG8Jn;67keOJ&ownqwJ zZg&+`AL%(iMm9jL^8QYrI7D_^e0a#75KyNIb_K6^4Xe`X4m5S+mg`YT9crVzfUPI9 z*f3k0Pg6{(hw=S#U;TpPSgmV=o&N4Y$sj*T+O}e&&9_P6)~!Y7V#nPOV7<~t7q8wM z^CH=cY8AB+Qwhyf;uJ>^>HcbK>{OT$8DSAp#){z5e?=RHcdHlYBUm_zMX@WKl_1gA zO{8{spKhoAko>UMQT=v)XBc+hG>N(cR<3k)G16C$V&M9fVEj565&CL#_j1{^VglR2 zVD%s0K6qzNlUU~J*Yw>A*`>8HmDocr8VP1l5Pfr&&}IiV-rtBNsMfTsJ9c3zDL>0dLVi5`=T^%*-_9kx zw%V2YJE|ARHSd0vK`lZQb*HG}oMq#Eirn1uoV~^ZAcoPQ)8hbjDrb+h^~s@42Q3Zg z$L??H9VgK`%lHdbtC5L|bQZb}iRj-_ zYF_2N!%wmv==bs4x#!H8^{^l5RzvFP*p8B85^Z-xTmpe4NuOM;*AI{ZP8ou6rkw?tL8Kz z(4t0Qi-t4jQ7)vm8`dEc5@E?Z9O;VRmmWe>aJmtBf|$of^q(#;vQdA9S5t^~k1x_h zqw(C^*Easm6#Iz;Nsz}@OsmT0#Au~P+Bx?a5q&duT>Irn&B=n0A+CV4vasrdvH|(>lVRK;#svMX#PX9e0MM zZGt_px7C2vR}4~nsvaE9iua+v(GmJ?hbBqIFtRl0KtoFm4UnK_;Af{ zSH?N_x$~l{JwnFxv{PAnaewJ)e^>6EQ*gPWrzEd&`&arhMwO2tyJ}CJ!sIS2Rb@h{ zS)mCQ8fLG8QJ8v{9O5a17>m62x8PH3@4cR!`>?M+W}_C#X6?-Q-Y;B>9S2HyG=$L; zJZIL|E|jEfdv_(Eo!E=LO~VudU7;i2fLfCGao=lTpm=G!HCE;P5Ik_3aVA=khlW+V z<~-&u-EC?ZKRR2v+3YfPPvK%GWC$x6@jCFA)yE1A9s7sH=jGo zlHomIO&hEwU-iVlzr(bVx3gv@?D* z${)xDch~L;tY2VkAj3EMhT))iJ5J0~t1aP3@K?_sT#EmDK5yS*)?Map^7$vx={pFY zqofi)F8cS6%R19k?oZ0>6(3S;+KH586zI=pCuiS$VrMV-=x$FHO`4B>Xn|ROr+1x( zkOEl2)W8p-lcQ*8svs9?ZZc z|ESiItk1G=ZEmO&z0gPXb}!BTsyK~^#(}NdNUU+-U$ZpkZSKjdZO-NMp9x+|6WIO7^K>%m577BHYwCoT=awTkGO!iSTxx9BVLFGVvE&zOCOah}LgwY4 zTxG~u>J>2!<|C9?7VrT7(@@Z^^Si~)Z;j|Bqet7cA3K_#;pGd=^NIy<{AV?!zcT{a ziFenVM^V-dRfHv9S^V9)!%<7C_-E79#&@9E^9YowPz`p=>tF>^0!!r!?&yKnu9N-% z9tN5>Kt)k3TYTKC4Z`20S8G*rJC3PUO7bF7Fnb@ci>T_RjIibj>6RCjYmsrohnQEx zZ>T?;h!bK`*G%=T%#Wn4XAKwO8>+;u6aG*+Ljk;=e~**Qx(P zn_!~6fqqrJBU8@k80ytN4b1`k~|@s%zjgeNM2~3IfV`Wc)6MB zwgV$X!m=B1?QXKCU@0>1bh|P%R92y)Ew~3hRQ-YOyLHW=i zBeAb_-vqFdw^{Tgr9;^sa1tqH4BBg*b#Rd+)tgzibEZU+oU&I8g>CZucVeDx!|}M( zN$Cg+6etAb(-pf#jwv>u5R5;?g^Ryf6q`&INyo=6^aXB-mPeI7r%5K!Nv-0apyAs$ z8*|u7M+k+%+ULkx<}6C=6HTJ?K#3+qu&`2%EXQy7*6 zzE?Nf#|JjNLX-$uu*n{WCak(bxOwL{(-HJ~2#!=UfZfE~HbdQ%GRFu6BGnEXH0^$r z%2cOb17r`q_c6J~_HUjrp9kxz05~E>+z*GK!Em{fbh=6~Gb*%GmR@FGngA#)sn10SLGL(i%wL7gSbTlHwhJ}4HtUM(~!ZS zRMhC(ohzTU12%s!gLwBsuNiVL8pY)SoYQDa2x-Tx)b!o2&uCpsDyNQk=Ff*A2~J4S zlJYQ3ohkCcKE)KOPew!v+byHq$7S{e8>NW4q@#C~Q)Qbn(}CtXa@!w^uF)<+qL?>^ zpGfJLOL{p;tWLS2WK)l$lRGGZv1=tT#mI|B{k!;Uj0>OKC6}h)+!gVpsSSr&K6p$1 zobF#VEh)=9r_9;Aon`FBM)2@JV9mbrvu{oL8a2kxr z5Pp+CsngnaF~!&S;pGm;(2{`#1*R1{w$np2%c2elKck6AMWy^3ZCgDRw=Ou`e|h)phRJvuFaJU&)?d~3R|RR3AN(q9%H!xR2WNY&SJ6R{l#BPr>j8d7;#p;38iD3^_0 zsrd1($CNIe4=Wgx!?AnuT9dj3CuH_Sc8)Y^%@rY3VldF|6^vxbfHcVu1qIY?~Y036z?v+DyZ(oZo$2XR2P0So`x5hEV6`J zMnf!bZRzWUlRdSbDA}KJ3^q)|9n%smE1#joj6z8ci<(@8 zX4g|eaSf}EWG$UINJ0fp*(V+B!s0>4Ybr|b23pSdE595+UFpkyUgZLyi9f z_lb<2J!-;76Ursy>I_ZAX-TusVM`YE`635D-V;?jKumbx{0|%w`(psP-0^kxz=B;| z5&DYxcwPdGK9V+`n@OcL(pk>Xn-A<*n83yRkXnyZG{<cL-`&AfwsW=)+!!;t)z* zhhlr{{fi_UI*>3~tR4?94Yy*SW)G#YCiPuioemLyWm4724e{9_F{))py0wuOWZzj} zvbHpFpoJ15Hp{YF0-{i|vnosSLPcm=R}5Oj%ot!90I+q()u|06BmL}w>2ZMIf`zJS z+7#PiroYz^>r1x4QjKNSpDv#Vl^j|X?#zr+JL9k&wk~7JkeZD)DlUeSMESzTtobt1 zSlbJ!UO&QbH(N71DD_be5(|PLLmq>$OIntZ!IEAeccei!{%6Zr*}Sh;^-Xo+G_r)^ zN6RKJgQL1{43)O*n5M0ve$kGf_p280+W20RDMg$*=m0n9ULYMSPX+pRi*f7lP8P?6 z_~c%rdjcX&)rJbw12PR(LE%jJ;=SkLRDdi5f2u6K0uI1y#lV!#lP7HtwOjQBqvOVr z4DD7!fuwp&h0!aVE=DLc!C&mzop3XqKe6%o&3U96Dw;7C?nekS~f~i};Kp zGI^ojd2R%XnNCb^`|tl%znycCdohpuq&s z1ijrNXArJ+1Qmd^@l(3{O_eY8TT4B>!~^LKKXemnRL!QPcXz$V`S$kv_-50ZlP?Zw zu0*R5p}Sg>GO%vme@;F{IB9pxh`1e!;Vcc2L2bL&r0WdLprAkT1nPshCPl2lcn-Yg zb#H-#$A=$vnk0>exJxpGI?H(X$7v1+r@v4#_I2kQ8)too+WdGM%bq}Skj$QNmnKM z8d~rirG^?l)@DU^ii zp)Q@2{F9^+bfnN{kQQHMlO&C;nbAQ_*RmN1&7zq@yjD90Y zUhw4O^e_1h3y4Lxur~C%Jp={!P-FNEpg{?)^xP#LYdW#?{JK))JY(EN_x%wc!RYCV{!&P^O|X#EC4aqLWB!MN(cN2Cv8k+(L!;2 zmI0n@(+bSHg>G#l;i#@oAXER9+PE==zHP-Chs$ArHW6mT)!vnS7GrT$bYiJ_a-K3k zgM+BRq9*yEHl)Gv#gCn;Kqy}k1+CyKFhA#0s5n;j2sn6)RFX@XMe2AKp;uz1D;Y!P zVjuKqT#K$WZMf6*CGJfd$3$*c{4pltGR(0zHjl;~C zln=j0{kjYDGlL_$-px5=nt9Zpt5^yMvRU&2J6Ws94P3diqI-ohxY$N}&2x{d-{a#C zFVaufjv^a^_BT+-I|^`BNV}I z^xM4tSN5RfI4<6L_p(2(spUjTK@VGNZaWf)OtC71@>$vdiVrip+(iWv?*mCw=1s-3 zUTHvm(%W?dx9F_@%aSwo;P#Fb))^?b!c0){(8(|;f!ji1W@5ubZF4gpJm~SCH%|OU z)mJjIg*_xjvsdfYX$f4bSQZe)VplCESGDPr%jxHF$nWvJ+B8y5aVhxt+-|78YTt6q zd^suAA)QhEW8`LpxM?TuD+tUQ{TO604Dzh+6>ea;ef}JBU-BaX*I>+&_6{7qbzCLw zJ9=4apN}jtrnGqvbLC)fz3>l8 z>MY9X_zk6!@P-A$7WaamKZ#!PD-oZ$o4+IUt_;tm+#qd$)J-e zJlE4IuskY?B(n8v4HKS5<7vNuNms5%PD~W4*E4+;DqiH=_@Fxs<=wL~R3GWkl&vLI zQ^7`g9NetLO7^5&Hr<;<) z%#=bU-j*%UlyAf5EP;=`zF13R>&Teg4uYLLmJ&Y#iq|8XQeX;3dlVStK%~ebMA{E( ze{()-3BY0Hl*IM4v$F-Eb2XR~nqs#IWdY%@^z{EI&g#!g0kEnCbg5#mun#7sVUOcu zMrCY9lLr?Cn&dHpIRU7T;MGsY$L(TR%ZaiUy{n;>4`O7I8sgoRlpd9N6*g=`X8%aD z_^Mtm>)#8eaq|Y|drp%qV?hGvjuh5TjE1MEcq+1AGWxzxFFR&l_{?K z;#}GQhvh-Zvt!dfKSJGtgi7*YTf!RPe~cyn$=akwPs8>{aeOf#qAs`lZS63KhSNeTA_Y0<4_k6%lb8g| z=1Ur7MR=Y`iRtnvh+`r&Xt<>ksfR?@(reC}hQM_Ab;JfGfV5>f=s|~x4-Y*PCm*kl zj{HH6O<7KtT?Tm&ZjHUd1f1hW5k4*x&5b+ymG?8avPP}Yp}92wr&`JP!Gm>t^h-MZ zO5Nm9Yo^z_6RfkMwLLZGzDcUoF5PSzwB01)jk{8+2**{xP;r{qsyfZ#QH$b0zX zNHQ_5qg0&85Y$xsE+ev4o}86%lCgU`3EtH!RvCbrM4x+?V!?29Vfq1s}LA@N(f(M2Zh z)F`!%a(JI-;OX4d$7#!9w1UAr0%|)qfP?2GRL2YLUe8y z*6F5cxb`KOJnz)0t#G2RagIfXkrZAG%#V`JlNyolA|OH)`82U%tZ~?&ZfnypH!-L? zAwdOMZ?J7viSRzgWwkYbiG(Yx_m^25lhKv+l)hY1w&7eK;Q`S~=yq{ZdWAn*P z^a=^8S4l5o`sbk3GzI_wjtg7%Qkpues*bRs7|z$WCx0U*$&#ogOfu&W#alMy z@=-YKz3)+c`Y?GHkc369vtBz6xHZPk6d73M=G{|&49`?iK6Ijs@u zX08X^Y?HTNyQdF}lXg35U#~`QY2$iIBWK6|^%Up2_bp7V!Yo%yIPQB^LND!1h2bx` zO93Kb+Fn4|nqL)-luI22#y{NqPhR}I&Soj?lQ)gxdBk6TQw>jvh-;~;LLNr(1O)^( zAMR6Qh-K-29=6V4^XZWKVhlV>jorj3W9`@osm@zCmigbtC6Vq#mp%eP9?WeG-rU_& zgM%K4p5UcUSTZi)s}4AcUT!dgEt@xa5{RokWHQ@Y7$b)l!Hi9&FQrC7MdgM*j*=si zw;niOG1=L3j!z4+uDh6Qo23VL0x5jJ=poW zq)?~#?dAkw@0ZI;K&816g<470;2@D$#(j~!GsC14iGX3&B=QggpI}_zYt&wjQ|j9< z*I2WLxYPeTm&d)^P=YTTTR9QtL5nhdR_9GyD}4vDY`aeeh$9{IbQO5AM%XSyNl~#+ zon(~W+}&Cav)v5Fxq1Plj=RGsRZq7eDZ`8Vuq*{qfcnRo-GcT&{IpQF*uaY@ zYwa~2^Y1~I5OM1`*QYtFTNhUw{x=t=A1~+1r!L{O$7)BL)E)GP*#0$h%FRr=>E#1q zRp^aY{r@?q&QUodgzk8B8Fg#xN&(?!PT$#ZtG-KJPtd2&VrTn+jr061H1*2q>?{^**>&_9VJen|BQaxR%FX=JVW7b>(~=jHgJG?yFw{aZId0 zh-{P6I}pTR>Nqy{=v^Gv%1-Hh;%59$Gpw+gazJAPF`!b}oIB`#8G|`rh3o;5TK%%= zHo_BMHuP^4zh6?D+K<(CkHqOST(LpM3~c~gn^!kC6r$xN^laT_;kelMx8y1eADKNa zAM{!~gC~gK*enu{oNEh-iQ8(p7D-Jh0FObHxqg3>I|tv8PJ0Fcf9tm>qV zhsxlb37(k$SiCCr*>a!n+~?tO1A7_kI>!B#rJ~W`l+Ml<@jnR$`80u(&vpRRKlp-8 zp92s}Ji4fZycR;Q*!3vqVk80S1pLHcVNL$2w19x-{0E5t<3}II_I_RG^@O5m?1znY zD=VhjcSjTQ|1XR}|1y5SmqVPMxes_u-0NBrlR8J11J|YVzr+ z#yzSp(nYO-H|5`>6gcD5KcMQ|0&M z1LN0J(?-YkxB}URZM=3$3xG>c?dY^r^MrZraJR2xmj&$H%X`j@b)E&PfKil=*Kj-^7*hP{c z6!dXA(YB);v=z|z_Lfl)^gfHh-Ip`%F;&8w?Y|6WoeM-bCpT@L3lSg>MJ`50Ep$&Z zBb}N%XoCJX70(8mE3vzzjXt4CbGoXr)^IWL3OMnO;BP0{G$Yf7S zeJ6{y$Dt-!Nl&+Hx!dcd4|lP*Ct<#-wI8$Zm%#*GWu7Jt6P_-iq7_heTtUX2er>7}|O&wQU;EzllQ4-8p`j$Cplqa!6w+qwOXqZKqXT>1rcP6wSF|C3~7Za%cH?tt3Gs{~ZckhusP&~Yu1F5r8(MAW~s z|IF>Nk_BsB8Of__{~&WVH@80ixT-5q3i^7S$SCLy6neb{P4NADP$Ui zuhba#(5#|K7`+3t6J97?@>s;Xu9%GWUi1y;125erPn69yF>#jJN%BvtPR5g3q+T^HIfgxgV7nd^ zl_xOZcJh<4F;>R2hu;DVi>ZPi_1=m{C`+#YxTGSOF&xrE_b+^ee9T(XWrJ1c#;my_ z^SwDya3@%2ed`+IXJu5Ko@-V^xGjbh@_6LVyIXwC3QV* zr?Qf4U_>LO&ui!c9%BYy#G=0`K_)Vsuox=4SGLJ)?s06z9^2Tyo9$A_3%CXC7SU@` zh_p53cq|9of$}T(ag7x3P_N`n`}nK7hSZ%WxB&`*raMU4eBMqfaJ7!ZZCKvyJiP+N zxxZ$DJcRPHTpYNAW3nPsW|53U-v1ax3O>@U3#x7JTx6Tc_Wx82_tvX!YV11a2;)-8 zjQ}9J{aC*n?6x%(!3j=C_`u5P<4#WUN@sw5y_xE)QhR+IU#F>%s*K%=GkeGp2d5Q# zlU)h!jPP+k-?BVo%0UtKamcN31WOH}&NyeCG(Y`H2Lc473C1784C~x~riZ#RP-ogg zJVu*w(fChq>U>Y-mCFEf9pwU7NYkfac9edY!#II6k3a}EY4pB>jow+gknq3n|K*(s zyc!Zu)dsJ~ZE}cY+X=d|mGwE91;K3zuml-8;z`)B1b;-iLVGi^Vm#hZx?9Dm933AJ z31l-IWdYyc8@Fb6J;@#5k8o{xKI=zw-Op8YhP0 z<*qp7nyR4B{N@Nzaq#n@&A3ji|5c$FfK{F~`D1I=x2<{ub75dAT;AFL*a|dj59tv2 z?-J8l)N>+G#gv7MOq9#ub(^NH1=#%=Q+dA5ieVpTY z^u#e2f*-1LPIbH2I&ncGm>hqj;)1?>x=;T-34gtVg{KVv8xE^^}Cs8 zdlb4Mb2kSx=U>mhe9<~dD%4_ut(yu3ObOHD@4Vk#GZiV{{kycW8=dpvv0Dr!a(t2_ z`RhTBQA^rTB5%gF`7n#bw_4OPXlY?#uIIarv=Z%q%t`nl#Zig_H{V8U*H;O1FYoLg zMdBBqkB51f{D+(xh2~c$yd&hrM*SB^t{9(tX4m&5t=b(2R8^#X?&f|XwgoG1nS{L_oX?YF)99KaU0ahyYVpYX!m7td%4eSX`lHhCvANEgap zRTsnX9${5%sR=U4b)YMzodix?tN;h&jY7p}`QBCcnf1wL)4kz!{m*&%HoIp1c0PRl zrS*w#K8c(UC0H=yg`L5+m-J~Kr#os1JQv&e#yN@P3G2&3N=WvDV4~%c;?h@bAXy(DFZzsN2;q<7CXdwO_~mvJ3++@_w?_(S zuA#-|dbE2MB2_tK|X6o?I3Xid2S-He;^e@)J zNqv%zB!wax$cvb7SHu-;W_W~nbm=9;i;GKh_$Fg>zQ-#%(l0T;l{XR5X#Wl$4wi58 zsv?4pZ3c53Z#eyH1c1leU7Z&{pz1@v@IYr=@|}=3 z?OAzPPHur&Hb!LD+J))b{f$g7_;D)w-#%=tMk%5BHS}<*CQjh^#)(Z{Py;Yx zKt}h6(4BzSI!i+mma?h@1 zy+^AjyFvY9Hw0T_9%L4m^t|I7COP6*l+COI?ijM`!Liex_E3j^)SHV10c0qgRtVCv z0;*an>0rmysL$T7A2EZDdqv3UM-XruwV4QU1%B~D@lK|@opZHAbJ#AaJ|~*4&f!=! zN3g35hiG2Aj7P;FpU=L;am-yQ1b1(0?Lua5Esh6enMH#4VM+T5>dir1@R8q0Tjtcx z0UQSvU9gUtm?|y5t5%e*FlX!e^nN$PJ~{4}_p7SMFW1DUQ!336hpKB$hhx^jrcw8* z2%3j@YzOO&VsC@QL68ffsS6Fg{Z+2t&;0?w&9dT><*c9@NTpS4V!eOXfa7U5a0}C~ zZE$^1w1ykWjuVJm3o0e~j3{(*He z*o3GFduOTtGd%2Z*5FSq5JYbKoOhf?J!g_grGZI`NJ~aGLExACdwKdL9_j|ULX0^e zwis&*touf7xo6b3`j;sP^Ni-;1bdX*^Yovd#&rx0Co;{3znE*#;Q^tS8H)=5kf>D? zzYQJ~?&~_^m&XH}3r)r?o_GX6^b9qnWFM6G%HBT(5PH?TH`vgQ-XAUe#vmbX&HM^oB8 ze$Q74O8W<4RWT*PbU(Ah7Kt?g~@Ufj*|Cwq7mE9=68H z{P>^v*5KTRrm^*o_BzrJ%N-iqurgk}3w(kj$hh{E(Y=bQn*<+r4wZZA-C3-Faedt= zl=7F8E>YIJm1`4a27LD^Rk14%qC;OLT>f<3wZ@-%t+EIPF=KE_L`}SUoP56VajdL*mvH6d zW|&X?b9gvEfx;NQriKi-cawAE{IA)P-?>5`B_k=>xRvS`!XHZlknxG^LZ~XDg3UQ} zFoDHw?;Z;ZXc&k7* z?O?4Np}YQQ;jhBU;~~G}XrCh+QR=nklxw`p~4FLi};`=l

DR613D$_ZEG;x@h9>mS75;9Yv2?IV^dvV28zx$>k6|H8&*g>wr@uROHupK+@^7(Dr825}Ll* z>c;*YIIz(bC{Hj(qGz6*V?AAPcHBKlA`0MJW_)SKJeN#z1%xv3XA?_Ml18+I8}=Y7 zmrUtv$UeXpCD^$B4ngzd(+h15c5>b^u*HWv;_BH(`(mC- zEo9Qvy3MeYX_8CeuNcyJY`GzM>q#F9Jh{T#M08e_NX;w|c?6@B$Lf_)6@iN+lX}q~ z1J^v;Rl7U`1uGODBdibewnNV84(a;mE|wY?g#TYjR~^^n_x))BC8gQu6bb3kxk)oX zq(h`dq$Q=18r{u^A&r1E2olnxYjlTzfHeH}`TqXg?s=cS_jT`cpXVHO5i#m%w^o4> zd-B8GI2G7JAaiA_NU5F=fpzqI6Th=7y}w~_>{>IlZ=K0%;M`FywY(8X=D&K5 zl+z})v?XRLkW7q6>l6Gec)j>UyRs(G3|mlqVKuUR9xC=J_^9i`Qpq0R@iJF<(<(Tv z4Rl+OJc$(jda$R9wU-)D?<=@y{&3<)?t8`Pa-J6nZ>`Y*S}T*RXEgo8T;0;5Bl2*B z$NZ{#ZH0YO-}p(iP%+y}r6W|)Nwbeh1N#I4fAerO2OUy!7Ea_1ng#9u0-(YKB?r}|{d@|& z97q3Q#TFj!YHx;oFE8$=1XQ}px0jVG(5Q4`g|jAf@hzV|oN&fjKzQD@a|y!!J%eRZ zZiQ)z`A&RY!7*X1F#nt&PFnVfNrPb^yqw?Kz2QxDSJ}YG)-duHBdF2Ua8~>qb&91W z{BdXkv@jw|XcrC(c;_l?k7a@V<>d7=6SwXSRbZ=eSrm<;-{t4;hqhn*q`v$@e(6Pi z;eh=kD*_EhakxJH9kEi%v#-<`wky_Vkj%UCHljMq$u%Kxz2M_I(B!r8CcAsRwd)kt z!jOY0kI-7sK)C1%^kvGI<1LXpZ?j9NuB+sh#yZ-V_dOKseL21zliGUW+p*+4jYPA##u_jy#56?Y)vRDDeTeOv?jU&uca zPd60)(E~Mq%RAZL$poS_z4U$#`IiJxI9{j3q;)Fo0EE5He{R}oNtI$PM8(E8wEyY6 zT5FY-GwaV~B0d6k+`0Q~Wf<^B#lT-oLvcGE#xLBu)Qn)1=a*^M z1jcf_rXFg-W0LjC0H8>_Ba-@|oU#M$cjnltXAe!@z@yiI)buG8?zaklDss)tsWE>d zw#@uXO=S0YR1E4ovnJ6ZCU&`otOwX~<^PhY(=JCkblCf16<3!W+c?qwz%F)677!1c z@b2c=D$V$f%&f689#Xee1M#dW%(E~$EpJLI$}-*yBB8H1+IZ~0UL3zyi|fSR%=kz7 zM{jZC;OFLfqsgNz%!VBWJ-c#yCjR|7L`ZypBnkZEa`dW1G9p zcJ#oD!VPJbM4cD2XTgYe?mnYrU&Ih+X^Oi>|1+4N^>{RSlJexnUT3FwB=`OAmZJ}^ zpdSG2HH9}xLw*~<020qhwZA>@VFuz3>|~GP0?UoJ>KR*nyMkCb@H>VvEuwUg!#-kc ztgXOJ*bi5D*!|6*hp96mBXRNXeF=tfGSHe0_aP#{c_FPunZK3fOL=lE9Bvg*S1Fdg zCEeuw_3@cdG=?=P?CXh6{mliH{H(P$d-0a*;Bhz7%d)!w$~Tc|#Q?ym?8@JF z&vFjUA0gfLK`v8x!ge%FQ7`5)W@)Ht(lDC^0xc)t62GQKjvD zvAPSi7PlHcgN{s8mO4^7#PyB*7LM&^zeuzQ&ST{dr8a_i*EoJkJ_F09>aX_3`KB{# zg+B((qovei(@<`)cs%D@%79n8tF*QWf7nW(v&CFLsvO<35>y#~NalB3XiE1)E`bv3n3X=4(bgk!iR}VZ^ zQxDKECoj?VMm4(ka|y#l1D%|RZKF~e)!tK^I!Zb{atl?*)3S`49{!{@1ci)^vPlfy zR`3#q77WDZ{6=E(i#Y;3m?aBo*v#xVxU^o6z@j9?6RY}Wcye?8eE8Z>(j{&rBAIE{ zV~S~5Yb)SHFC_U*Nq<4k;?vZmM9aHZOh2t4M2UY#M@>J|LCTuQ--I1sXw-NsIC$1i zViR|ARgRV`Vzk#9SP{m+;mz<8J~Iu=LL%{6MdovVbsWiWXCMsgAEi%z3$lTXz;Dg> zzGuD^gu^x5lXiY%B3KE#d&ST>Q!@mkYvLSlr7oVnzGDvz@o@jOxIyDKUX=(MP*-N__AW?Q+>N6gF>IiwW7;1zOC- zJm0MTOr&ddm^%Xnxw&H}?{d+bJX<1SmI~5a{Cz{;)cw^I)TKTtW?cNn`;?n$)}zbV z0#IoW99g*Ap+K8uG8#arb$}S|;7g3paZv~qU8ULXC$D36ov?-QeurZ-|8a+@9!3@J zuEj1x`J!wglL$={bTf$^B0$DU4z?*U!lP1{f(fy zA^0jAXz-qtVnr#U=ZXIoydSrlyVESmxPXIN&O1MWE7T8`X`lCE__Wi0*CC z>M9*ghvv6q18F|#Qh$QqC?w${>859BgsxO`=2XcB0i6j84Nhz@@7zR7GcVgEkwda9 zUBWo3jj3>50{Iz7U<|eJjJc*13`;`)o2_#Gzh5QpUy3gnx0>3k2e~B2B?^EtEu#>t zHg0+a!|e(UH}z6ihS>JFbDHi`VdRRhhe8LvlvW!Q5V;^*cTS}ccS+-rLe2D@Y@~(^ zWModkJ=2wSkd&h1k*ycW`1TH?c5(Ld2dCQ`k}t36uUy-I zIj-te0CD?}L8H)!-*qTga*e}GpvOEibs3pDoT`h!{OMT-H%as&tc$_H@#dSL$+=#| z4%YCm%!&7IsMRH7WwChv05j-~83Py{W<$B@YBPrKOEipAPU$B7t z?chxn5&j; zyB8N}YnCl_smwJ^rZ?e8WYFZMo!oMUXWq~23u}CZ9xu+E2X>QT!p?^1^ILAyZFiRMMZgbbJxM~^&H+dxwMDN*Y zAeYQNz=iTW?A>l_bn)57ab%;nVQ2`e{7fjG{?z~^kHq!Y1VqcRCR!e2}uA$X1;7bcCYDf}tq zk_}2g6#xmWY1cSE5#;~9_H{Zep%+V5F*J;#8p)HVt8%vl{K>_#q%xcgNy|@Vwquho z%^9IR!amXuBK*f7V_6UD=nlGieTcnMEbe3C6VYM7k6xJ+J*UPcEg?m&;UA;mNSx$Q zTj7X3tovWu4wvtu`T!R$JllE`I<1y<`eY;@ye>-*TX5vS&xll3evb0?r*jMls`(UV zIsfntj4456ixcXB+KJg2xd#?(Uhm+jUfSLrak|ypqh^~Z8KZet&-x*i@NAJAa@7iI z^ei=Y_eMD8zR$>z8wENQOT4(cGW!lvU&Y?~_Vs6!&*IZu9y)1ycrqY?Z?gbXMV6d)9O6ly&7vw&YkIDVvl`?X^>DOUs5kZuU{c{s@Tk z+?9UPn%Jwu^QqNUb(UzIS=bbLr7HM^kd~cY?x^1{v-;x7Oe*$J>4Ysvj!%B3yxT^Z zm6Q)%>WnYJHH#&9T}Q4RzMTvW5DokxCME%)wLoRYQ_?`Z)-nMeLc_YBW2aXUJ)uuQ zeKC&1Bx=Dv2|~O_K_s8YhFw@-I>IhGPYl6@r*+fo$3|n%rr#>}{#g7P|B94`-Gid! ziqp3AZOTvUO8@0Hi7txY;T*&D8FInRsEX^r{p_GzE+1l2g~A~r^r<+uF+8Z)8IWvxw>gMJ%JqaliC};7YcOx6 zWbaTIoFwxjc*TMEG=7eiO^C{e<1aXyGWCKd|x8%RY(ddBI51(q1~Z;y2h-XP;jO zxX4>8p9uSngin-aK2ZDLX)pMk-lrXRkB%G7tdcfjbf%v3Nt>76O}%4rgmI4O^K&U z>eq#>WbPN`jF`Ang`{4>1dSk^ERllC(!Z29$PVB3i8S;08D*mWf~g_qaL$<+tc_hv ztP#B9VHNlb(sT!!T-j-0{6~$Umv$yl2**bt1J?2#y3pBF0u!PF7Uej|YJWq!`>i%3 z&i}QsK$?410l3E zd|2)JmMs&{e#{RF0+09<>$1ew9Q57)#ged5;hoF>T%RBz>kWIUm|@1nUHB|sSI3R_ zWYk8J&Qj%27s8kXMBf;Gd>6-fO)7J@=E8iPYu~vyTJipp6byFNGh)@!4!pxFvafP{9JhkmYxoP{WO$t{2o7CkPi{i zDtpBnSJcY&v?PXcMban9Z(+z$ZG9cxFmYlT zNNHK}#5y-tP)my%_DMR9`5q^gB~oon~!!UL7}J|XKXi_mtQ3a^9y)mo^>T|Pfr;(9x8V(;9!Lm>g!}&Q8MLF zvU%k4NGuIUual8h>+=Eq)!p6I7L7F5JR(sYpG%fV0^2Ca=yon!g=NdmPnnrzdxJGa zq)l3hmJ0{O7jTN(OVm(GzxTHkbaM~p3B<68N{{P1pYYI; z-yA0*vXKSPUBXt+-24Lz`AYOe-8R-`?zTwMU@~kHK1HYqS6qn}E%7552l`!1^)Bb;YjzI3fAGdt=OqSf;IBkS@4Q8>|4s}$qqu`e z##4AFXi1B{(_sd21bbc5P#q&dji~;MM*&o_trpkVQaz^oh3~3ZQ-ub|N_Hy0@rQ|BH>}; z`=ReE=By!=sVTpa@8=<<4rYSKzobn9*wq;+F`v-0@Oa^9$B&J1^W}f0p~-8JbaAhq z43Alw-LwrZ$iZWBH|&*b7@7p6R?7VFD@JL;RYt4R~r*wR?z`9ZJ-KTr* zCakj4T;NyjT+2EWj~0h#A&^Wk?7OWoA`ZMa5Yx1pU>%M(i;^mdM9}(bdlGD_ZTXnh z#EYbFyzIP?ntk)~wXm%Tc0Iq|YP0FRi^Usi?M%#I;<269%RU8RW;YU#Vks`h*Czu0 zIDlGsWG?VK-1&Uocd>V9BG$8h$ize`WKZKAI88+Qg_9-GQyQfNmwH0+7M2TK!L5+7 z2-^|Ew%O;pU>tJr;lcw!7<_r|7WCdFtICDN!N%SH&7X@MNu5Z)y!;5_Dlki^Y;?=7 z&i!E(_6?HhQU!@87|p3kl%vm~j}`L-k1+v@CXqo{v5F86fqvIkg*Ir zj2_*izzt9jOmZVUa*IwO{C#qaAMc`Z34dgjLp|2S77h`f*xXrXggSO0+>TBQmHAKD zHw@t6SF_huC@8;r(5)GpNxyF5Yj52pK4!cF339v_1Hn?|Q6J`Z4)+vj!~p4kN$b@x zw3K8e8lAl8V#6ytF#@FwT0j*hjjV6IK9;@nxzWXXpP#1_O0P_LD&?xElpYvh{6;5o zQB>Q<_tH-vCr+Y>vDE#bfq#4Z_4t7M6R?%@qqX~3vsh#>B!L8X;a;zB>s*y zw&gqF%>f~h^YHS{G_Cg0q|QANh^1@Hhf_J`{AZcR96DkNZCKK7Q}ZpMuU* zR+PfVZW-3*?~^KT4}C9d=SLs5^|>4eMG6HEljbd%x0W+MR(RfiE9Ba&3@~q*H8`QjeWDj%p05D*v`sAhysq-{YX1UdI4n z{p~_-K|Fo$jUacQLg*|Fv^ zyZ=C?-RHOoF+b0n%)es3UgHZ&q~VxXQf<#)3DiW;WY&E!{t70^DAKl5Q438sB50J) zbZ|6QuqSTb+9x?-`h3!Pb^JjT9@!$)S`K7i^Ct~`(eB?S^j&BrEfrqxz#z+;e5wdq z+9wt@E6>XSU$`!PY8K{7W||o3c~%y>M6L2 ziRjc$9}ZTC&Af!$!xUGAcVmSp%bJy)JDR3~7Azta^#mZ?Nqt5J`eCY7KZ?u)MGk-0 zR)Ryk8N>B@>E$jinuLdS^1-_MJaQh7j~Oc~7BC&+u+20F5^$;&YEb5;?!DoG=twEG zo)Xn8r5uoWvazUSt@}I&ISgjG>k`j?FB!kC-FN zpnzD*`Cnx+6mTdRd*ru;Rzd@QqUq_nwtH3pOlvRqT&Q;$Fn_jzBOw20mwc2<^_VxYfWLcMd zXB`GXz^7EZ7fu+)L!HCzJ%C~<32k};)4d?oo!c?5xZDpZn1}=#dFdaF2WaK|KSWB2 z^1Vp^mdnt1{!(URRk(Fr^5@O16UOb3Xw_mcNY$HSsOj1R+KTsUjjD0+NI+Pzn+J~C z`_hptST+)Gxf0jn)ZwSESm87C#kZ;$DfPwWb3>^>!*@Z-K|rwyao}PeNz99`nLmB3 zVT|1$IRk)X@_S86MppU~xG*%Ash+$=Bu^ECabebh}~tB?*)R&;sdATTx# z#Yb>GM2y%8M-?L6>Ud)KMmK9V5y+CWMYWc9towiTYVw!(o@u6DzWd0s&9!wVjsGJ<;8+o*3WN0ye?O#o)}~^i>$Bw>8%> zCnDlQT(L`jkt+cCoz|psUsTUk*7*_Rkg(1QmMBIqx4IPH_roF0EqPw{7l8c>#moj> zgUL6Nk|I19?))pr?>s`Y%R^gmrbs4%Tk_pJq|;Vb&;d_(DXzp4mMCkQeese9te~{rw0Ac<%x%(e|PBKWYkZH)Pn?#64K^6 z{v)v~0Q(AhvrS4+RMUd~lPEe`RZ*yI{20C%~H`0kX?Qb*&{>Q@Hb39G@Hs;R4 zVTLN+BptpPt)Qk^0Rb;e?K+kY8%+|Go)#L{67;ibDYEZmRQ{IRNiFV z|D-07?Yr9Lq}$kV+RON=^a9wmK7LyGzEm2Q*31DhcdN`o=V7i?_g2k&^+PMa>MMU? zboiv~H`*Noy-1VlU_nf1-Mn@BIES*Rg?h!7VGdy_ba|VYXt!};nFC8(G@iqGWi-@! z0PM1KUE_)HGorHOv^JaMaFA*MKpwQ+mOjn*15S%pB@W-i7$WE9Krzczqj1)Ek2Zi& zOuT_aBw1cvjYt^hKR3qtpC5rIz8?CYWlqFG4iMq|`t zU9ap!(UDol6sVm=fP@_e-H1;$(dO|>AYe|qZ0mHfwO}E%1nMVMR;Ie}Nx;@nz21KS zGGZVEtdn&N=bgf7{*NJPo?6u_at;Uyl4`RLz|I&&$hf0s>Kog!et`TBvBo|1t8q$1 zgs$^sxhITC3>~TyeB0=1vx*f6rRM*5gcNp1*Or4r(q(o;;O=M)Q}9F;E4*aS=GV_~ zwCQ^f(tI1L5)OJ#g#J>P%5$f~-5&`Nd%1A1hHjUfK9VdM9fiw3RG)b`|Is<&;hC3M zqt~!o&&pwKMXPtw(EC(3HbL|xk#2o6H|Y|yfPM$seo$?cVI&X@8%(yV-gM};@bMaS z0^qBnmnG*zl$PUjd7A#yv%gtXp+TUcpP|~6g_RLGngtg2?6`{ybqM7*t&DVG+221hp+Wp5VQ2sW2}5@r zBCXsvoqnH4f^6CfQid6a*Hy-d45an23ALrgeFw33;dI({+k(`4g70nQC^sYueGa*J z56i({3}WoqD-RG2Z9c-!Bvqd-&|$QW#@WrqWReY;f`jIuMg!4mMA_W3g(+?SHg?4r zz5v64#mXNVgFf#=uX{4bSWefs`Lt zn;qM&PI0HaPddxkj{JtQ+C0SdWFh+)u@ada{QVh?fhK`mH4MZ^2+j06D4}gh{2X~yzx8{zrEjsv zNT~q*hXEven9nYA_Rt(LdIKTOzRpvo;T})&B z8H720p&d*nQ|7)dS=jawT>0h2eoU=mEG9%R3do*NJ@>|5%{!nyYe^DbRe_k7i{tl< zMsxp5=$}&JppY=#f>I8Xk&v=choPyT+oiBOsOk&BAJS`Sjw-+YLaXNebWUAEP47O& zsP*YcE9>@u@x)$b(iJkaee_v>SGm$;k%9`}c0{>ZLR3m(+t2@y+%z>EGCw>_?%(aR1$7vXL+#dxpQC%3y-~_m0knUVfg@Iq6tY60>w_ zNmW4-mwm_tNzqOWPw7-j&z^cM(Fy(dhGJSXTK6;Z#p!pREX4uh_kk_n$|C$NBAnqP zacFiP==Ls|N|GK;4Uc8!n=h}OXoJ$}D7Tl66(~b#N{Uv3A4B)O`@SU0&Lw|Lw1bluHEWAk{qIW? zs$N)PJos(OUd4k%o4B;(!;*+i)8(~pOv28Xrg)wP+Ga$^SVzuu>6jSZ&kqiJpi!^a$y@rc$*VU`Bjg8Fmr6LLTFw%la)!T691z3rl0Mx4vm!j*>5Q8fB^ z$c1#Zf<&S}>{P8^nu8W@^})z_#XOVk(B4xTiv5qIbFnf6Kp@W*RT%v4;6ZGuGcw#= zp@J?b#I55w^{2BM_{m34isd73NZj-EgWY2Uc#WMHU60^jJ)CThV3;!UpQpPD$eAwe zdOv16)s9{#wwr!Q3w7Q(ep~B{~5TH2N2Yin69sm4Zd^{{h5h6RiLM literal 231635 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⪚gu*ao5D|sp=r#^}h%7HdH3a+(?j6o`FPLBTucT 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Ð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

diff --git a/test/http-server-test.js b/test/http-server-test.js index 66ac644f5..470267619 100644 --- a/test/http-server-test.js +++ b/test/http-server-test.js @@ -357,5 +357,27 @@ vows.describe('http-server').addBatch({ teardown: function (server) { server.close(); } + }, + 'When auto-ext is enabled': { + topic: function () { + var server = httpServer.createServer({ + root: root, + ext: true + }); + server.listen(8085); + this.callback(null, server); + }, + 'and a file with no extension is requested with default options,': { + topic: function () { + request('http://127.0.0.1:8085/htmlButNot', this.callback); + }, + 'content-type should be text/html': function (res) { + assert.equal(res.statusCode, 200); + assert.match(res.headers['content-type'], /^text\/html/); + } + }, + teardown: function (server) { + server.close(); + } } }).export(module); From a2de1ccf3a4d6cbfbb6cbc1c421f0cadeead0c52 Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Fri, 20 Dec 2019 08:47:02 -0600 Subject: [PATCH 163/194] when ext is html, serve text/html content type --- lib/http-server.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/http-server.js b/lib/http-server.js index 626a5a845..ab340d813 100644 --- a/lib/http-server.js +++ b/lib/http-server.js @@ -82,13 +82,13 @@ function HttpServer(options) { this.showDotfiles = options.showDotfiles; this.gzip = options.gzip === true; this.brotli = options.brotli === true; - this.contentType = options.contentType || 'application/octet-stream'; - if (options.ext) { this.ext = options.ext === true ? 'html' : options.ext; } + this.contentType = options.contentType || + this.ext === 'html' ? 'text/html' : 'application/octet-stream'; var before = options.before ? options.before.slice() : []; From 3d64f8490be9c206be9957f9ff2b046a1e8fe5b8 Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Sat, 21 Dec 2019 18:40:40 -0600 Subject: [PATCH 164/194] remove unused package requiring This require is made unused by this PR, since it's required within the `if` later, which is much better (only load it if you need it). --- bin/http-server | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/bin/http-server b/bin/http-server index 07091dccf..e043e812a 100755 --- a/bin/http-server +++ b/bin/http-server @@ -11,9 +11,7 @@ var colors = require('colors/safe'), argv = require('optimist') .boolean('cors') .boolean('log-ip') - .argv, - pjson = require('../package.json'); - + .argv; var ifaces = os.networkInterfaces(); process.title = 'http-server'; From 8413355fc45b54a82c7d2e9aa003d9c5a484f54a Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Sat, 21 Dec 2019 18:43:59 -0600 Subject: [PATCH 165/194] Fix bad merge The merge added `-v` but the code doesn't respect it --- bin/http-server | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/http-server b/bin/http-server index e043e812a..f2810c1d7 100755 --- a/bin/http-server +++ b/bin/http-server @@ -65,7 +65,7 @@ var port = argv.p || argv.port || parseInt(process.env.PORT, 10), ssl = argv.S || argv.ssl, proxy = argv.P || argv.proxy, utc = argv.U || argv.utc, - version = argv.version, + version = argv.v || argv.version, logger; if (!argv.s && !argv.silent) { From c600a1d41d6ffb30219685dc463be08b2548c61c Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Sat, 21 Dec 2019 18:55:54 -0600 Subject: [PATCH 166/194] Fix bad merge yet again Sorry, I missed this bit too --- bin/http-server | 5 ----- 1 file changed, 5 deletions(-) diff --git a/bin/http-server b/bin/http-server index f2810c1d7..3de29f68a 100755 --- a/bin/http-server +++ b/bin/http-server @@ -116,11 +116,6 @@ else { listen(port); } -if (argv.v || argv.version) { - console.log(version); - process.exit(); -} - function listen(port) { var options = { root: argv._[0], From cfc497bfc3da620d1adfe4c80c94fc21f62d6cda Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Sun, 22 Dec 2019 10:03:47 -0600 Subject: [PATCH 167/194] use logger for version output --- bin/http-server | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/http-server b/bin/http-server index 3de29f68a..895e1910b 100755 --- a/bin/http-server +++ b/bin/http-server @@ -101,7 +101,7 @@ else if (colors) { } if (version) { - console.log('v' + require('../package.json').version); + logger.info('v' + require('../package.json').version); process.exit(); } From a5db868b9471a56a56a98c8802fdba018eb73cfe Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Fri, 27 Dec 2019 14:31:27 -0600 Subject: [PATCH 168/194] Update issue template --- .github/ISSUE_TEMPLATE | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/.github/ISSUE_TEMPLATE b/.github/ISSUE_TEMPLATE index 89a10ffff..27116f2f8 100644 --- a/.github/ISSUE_TEMPLATE +++ b/.github/ISSUE_TEMPLATE @@ -1,20 +1,16 @@ -**Do you want to request a *feature* or report a *bug*?** - -**If the issue is a bug report, please provide the steps to reproduce it. Please include the actual command causing the issue if applicable.** +**Steps to reproduce the issue, if applicable. Include the actual command and output and/or stack trace.** **What did you expect to happen?** -**What actually happened? Please include the actual error trace and / or stack trace if applicable.** - **If the issue is a feature request, what is the motivation / use case for it?** **Tell us about your environment** -- **http-server version:** +- **exact http-server version:** +- **Node version:** - **Platform:** **Other information (related issues, suggestions for a fix, etc):** - From 813f77d0aa704267bcc778555bff0ac29bb8dbeb Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Wed, 8 Jan 2020 09:04:54 -0600 Subject: [PATCH 169/194] 0.12.1 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6b84be830..0cd6d9015 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "http-server", - "version": "0.12.0", + "version": "0.12.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index c12cceede..11279decc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "http-server", - "version": "0.12.0", + "version": "0.12.1", "description": "A simple zero-configuration command-line http server", "main": "./lib/http-server", "repository": { From 486b4cc98fd35965bd82e12da079b307501a6178 Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Wed, 8 Jan 2020 09:21:30 -0600 Subject: [PATCH 170/194] ignore macOS files --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 7b8cf3fda..8df73ea22 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ node_modules/* npm-debug.log .dir-locals.el +.DS_Store From c7901f82f5e0735ca9659abac4f494ecbb6e0c75 Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Wed, 8 Jan 2020 09:21:50 -0600 Subject: [PATCH 171/194] update image of serving public dir --- screenshots/public.png | Bin 59617 -> 62498 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/screenshots/public.png b/screenshots/public.png index 95bff8bfeeb96980e5744fe6331ad63628c4e98b..1a732c4611533ee473d5c738c081927432cc5e11 100644 GIT binary patch literal 62498 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 A7XSbN literal 59617 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 From 91ff74be37f845e1b0b79a70c56814bda96933d3 Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Wed, 8 Jan 2020 09:29:33 -0600 Subject: [PATCH 172/194] update start image --- screenshots/start.png | Bin 7341 -> 15350 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/screenshots/start.png b/screenshots/start.png index feecdd747f3436c46d8e4e7fa97f4683d1c0f5ec..a81cca104a0e5d660299840248fbb3c3c8c9a7eb 100644 GIT binary patch literal 15350 zcmeHuWn7f))-MXu0}28nJ1*AHYi8tQ*oT%dw9S_;b4;to#c)L>Q+ zD?5!4E;Ti^fRmX8pXvw6e~Y8;1Zk{XTpan>*gk#w#QNzytAmpz8wW2hFB>~28z(0V zii5@3!`{W%oyFdn_Fo|Xh4aDO+0@C}(Z$-qp85gT*u=rrMUaN(LD7Fc|FYBE-TJ>Z z**pK+EtG?74=ZdOtn6(6!A6M+JW%?tf&~8I|36m#TjT$b z)c$WtFxUSk`9D_vEh)hE;K2WI=wH$Lhl&c95Uv2*e?l*Wi?Q;a7L^TKWqF8%y!FR_ zQuBX%5E2&R;pJ`ZR|bJVbabSIPjNRlH-ke%)AGdJz2E1R!ZkJCE;LC9i@h2e8Zxu6 zaPe?g)KFvi&UYp+vGaKG1xgR0i>jg;8smEv60uj0u?f7s8bHr)IwEG!(5TU5K8Qlx z|Lo`kyx@HJl5Ds_UPBlXq7A+o$M^TkcGhEWtyQ=__RPIe{9Gtv?9r#G8~Z`}fBS5Z zs}>5U+)v;&n@eAO_v5_(`84Jc`$;OaRr}0v5$}Hc(vOVTr}>??$~U5#*WQcw3U>=4 z5*92BrIVaUp&BOd#dfrNXsyJOZOadBzmcaXk<|;sC9M}$SK#qz4D=VGFQa!}vv@Bm z^{gL}B@GwNs4!?44X>wC(W6*PFF7u~;d>pPoh48Iu$yg}eP>hHVUG670JKC&3v?I^LTm zOV79Hv~^A;QZU_3gZ@PumW%eo_Tuoh^Jb z!?kU2p{Y-gee_|aabY7Z{r!&>Tk(tUS((GpF=p@J;2`cjpYZ0kItNImY4OS$mi~v# zbw_QKzM@O{aUMr2>|d7@2I2D0(qv=#Go!4%N$ogBsZqpOsapJV1)*VXI5EmY443bxI9RAJBTgYoUtrTYP z_F8Tb+YQzw^HtA4DRsxMxqy}BlEZg+SKubQB#SU3lP8)+Nx{8bhPZ|oQ3uneJeB$; zhqDoV=j)!tZ)ND5jh6?XlhoZZwT8>tT|Jl2SxQ|)k(5KeN!j1}7X3K2xgr_MZjyFsHI8droZdNAFIbxt4Ntg>%Vil>Lh(l(g?XPY#6t8sKPenNup-N zqT(ZX76y=9*&Rqax)b&1W3PX#i%{NC2Q1{}vkWQDW5aF&~m@SFd7TtJFiY)TKW_ft*7`r(62X@B&MI-=j2z2Gy^OH5#R z{r0LSOJJZua)qq)0;!PPt7GooYu-Klo#nk?^3L`5^VV0TJb3JZ22>R5OPX7r&}

U7+SdWYBF7A<7Vuz7%{RyC6QH=34>+hPl! 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�x*{I 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 BsNw(s From 61668b3f0e2f65be134ef93ba9f76a0f6a147560 Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Wed, 8 Jan 2020 09:32:58 -0600 Subject: [PATCH 173/194] update README image link --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 968c53e6e..265703569 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ `http-server` is a simple, zero-configuration command-line http server. It is powerful enough for production usage, but it's simple and hackable enough to be used for testing, local development, and learning. -![](https://github.com/nodeapps/http-server/raw/master/screenshots/public.png) +![Example of running http-server](https://github.com/http-party/http-server/raw/master/screenshots/public.png) # Installing globally: @@ -137,4 +137,4 @@ $ node bin/http-server *Now you can visit http://localhost:8080 to view your server* You should see the turtle image in the screenshot above hosted at that URL. See -the `./public` folder for demo content. \ No newline at end of file +the `./public` folder for demo content. From 15726130b24f571a2c1f7f64d7fddc053f558e7f Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Mon, 13 Jan 2020 13:46:26 -0600 Subject: [PATCH 174/194] Update installation methods --- README.md | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 968c53e6e..121b1e80e 100644 --- a/README.md +++ b/README.md @@ -9,19 +9,27 @@ ![](https://github.com/nodeapps/http-server/raw/master/screenshots/public.png) -# Installing globally: +## Installation: -Installation via `npm`: +#### Globally via `npm` - npm install http-server -g + npm install --global http-server -This will install `http-server` globally so that it may be run from the command line. +This will install `http-server` globally so that it may be run from the command line anywhere. -## Running on-demand: +#### Globally via Homebrew + + brew install http-server + +#### Running on-demand: Using `npx` you can run the script without installing it first: - npx http-server [path] [options] + npx http-server [path] [options] + +#### As a dependency in your `npm` package: + + npm install http-server ## Usage: @@ -137,4 +145,4 @@ $ node bin/http-server *Now you can visit http://localhost:8080 to view your server* You should see the turtle image in the screenshot above hosted at that URL. See -the `./public` folder for demo content. \ No newline at end of file +the `./public` folder for demo content. From e5673c527247557ee8056ed41e30d2ffc4b97f20 Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Mon, 13 Jan 2020 14:06:28 -0600 Subject: [PATCH 175/194] update badges --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 121b1e80e..b5e34aa90 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ [![build status](https://img.shields.io/travis/http-party/http-server.svg?style=flat-square)](https://travis-ci.org/http-party/http-server) -[![dependencies status](https://img.shields.io/david/http-party/http-server.svg?style=flat-square)](https://david-dm.org/http-party/http-server) -[![npm](https://img.shields.io/npm/v/http-server.svg?style=flat-square)](https://www.npmjs.com/package/http-server) +![Libraries.io dependency status for GitHub repo](https://img.shields.io/librariesio/github/http-party/http-server?style=flat-square) +[![npm](https://img.shields.io/npm/v/http-server.svg?style=flat-square)](https://www.npmjs.com/package/http-server) [![homebrew](https://img.shields.io/homebrew/v/http-server?style=flat-square)](https://formulae.brew.sh/formula/http-server) [![npm downloads](https://img.shields.io/npm/dm/http-server?color=blue&label=npm%20downloads&style=flat-square)](https://www.npmjs.com/package/http-server) [![license](https://img.shields.io/github/license/http-party/http-server.svg?style=flat-square)](https://github.com/http-party/http-server) # http-server: a command-line http server From 7c09c2304294d393f61c036ae460b2412494536d Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Mon, 13 Jan 2020 14:07:09 -0600 Subject: [PATCH 176/194] remove broken badge --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index b5e34aa90..2db4d856e 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,4 @@ [![build status](https://img.shields.io/travis/http-party/http-server.svg?style=flat-square)](https://travis-ci.org/http-party/http-server) -![Libraries.io dependency status for GitHub repo](https://img.shields.io/librariesio/github/http-party/http-server?style=flat-square) [![npm](https://img.shields.io/npm/v/http-server.svg?style=flat-square)](https://www.npmjs.com/package/http-server) [![homebrew](https://img.shields.io/homebrew/v/http-server?style=flat-square)](https://formulae.brew.sh/formula/http-server) [![npm downloads](https://img.shields.io/npm/dm/http-server?color=blue&label=npm%20downloads&style=flat-square)](https://www.npmjs.com/package/http-server) [![license](https://img.shields.io/github/license/http-party/http-server.svg?style=flat-square)](https://github.com/http-party/http-server) From bd36f7b6999aa195c09b10112f845ce5f518effa Mon Sep 17 00:00:00 2001 From: zjhsdtc Date: Tue, 3 Dec 2019 13:40:59 +0800 Subject: [PATCH 177/194] Fix basic auth options type issue --- lib/http-server.js | 7 +- test/http-server-test.js | 135 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 140 insertions(+), 2 deletions(-) diff --git a/lib/http-server.js b/lib/http-server.js index ab340d813..dcd3c1030 100644 --- a/lib/http-server.js +++ b/lib/http-server.js @@ -108,8 +108,11 @@ function HttpServer(options) { // an attacker knowledge of whether the username is correct via a timing // attack. if (credentials) { - var usernameEqual = secureCompare(options.username, credentials.name); - var passwordEqual = secureCompare(options.password, credentials.pass); + // since the `name` and `pass` attributes of `credentials` are always string type + // https://github.com/DefinitelyTyped/DefinitelyTyped/blob/HEAD/types/basic-auth/index.d.ts#L15-L16 + // so we use `.toString()` to fix https://github.com/http-party/http-server/issues/583 + var usernameEqual = secureCompare(options.username.toString(), credentials.name); + var passwordEqual = secureCompare(options.password.toString(), credentials.pass); if (usernameEqual && passwordEqual) { return res.emit('next'); } diff --git a/test/http-server-test.js b/test/http-server-test.js index 470267619..6d5fce462 100644 --- a/test/http-server-test.js +++ b/test/http-server-test.js @@ -379,5 +379,140 @@ vows.describe('http-server').addBatch({ teardown: function (server) { server.close(); } + }, + 'When http-server is listening on 8086 with username "good_username" and Number type password 123456': { + topic: function () { + var server = httpServer.createServer({ + root: root, + robots: true, + headers: { + 'Access-Control-Allow-Origin': '*', + 'Access-Control-Allow-Credentials': 'true' + }, + username: 'good_username', + password: 123456 + }); + + server.listen(8086); + this.callback(null, server); + }, + 'and the user requests an existent file with no auth details': { + topic: function () { + request('http://127.0.0.1:8086/file', this.callback); + }, + 'status code should be 401': function (res) { + assert.equal(res.statusCode, 401); + }, + 'and file content': { + topic: function (res, body) { + var self = this; + fs.readFile(path.join(root, 'file'), 'utf8', function (err, data) { + self.callback(err, data, body); + }); + }, + 'should be a forbidden message': function (err, file, body) { + assert.equal(body, 'Access denied'); + } + } + }, + 'and the user requests an existent file with incorrect username': { + topic: function () { + request('http://127.0.0.1:8086/file', { + auth: { + user: 'wrong_username', + pass: '123456' + } + }, this.callback); + }, + 'status code should be 401': function (res) { + assert.equal(res.statusCode, 401); + }, + 'and file content': { + topic: function (res, body) { + var self = this; + fs.readFile(path.join(root, 'file'), 'utf8', function (err, data) { + self.callback(err, data, body); + }); + }, + 'should be a forbidden message': function (err, file, body) { + assert.equal(body, 'Access denied'); + } + } + }, + 'and the user requests an existent file with incorrect password': { + topic: function () { + request('http://127.0.0.1:8086/file', { + auth: { + user: 'good_username', + pass: '654321' + } + }, this.callback); + }, + 'status code should be 401': function (res) { + assert.equal(res.statusCode, 401); + }, + 'and file content': { + topic: function (res, body) { + var self = this; + fs.readFile(path.join(root, 'file'), 'utf8', function (err, data) { + self.callback(err, data, body); + }); + }, + 'should be a forbidden message': function (err, file, body) { + assert.equal(body, 'Access denied'); + } + } + }, + 'and the user requests a non-existent file with incorrect password': { + topic: function () { + request('http://127.0.0.1:8086/404', { + auth: { + user: 'good_username', + pass: '654321' + } + }, this.callback); + }, + 'status code should be 401': function (res) { + assert.equal(res.statusCode, 401); + }, + 'and file content': { + topic: function (res, body) { + var self = this; + fs.readFile(path.join(root, 'file'), 'utf8', function (err, data) { + self.callback(err, data, body); + }); + }, + 'should be a forbidden message': function (err, file, body) { + assert.equal(body, 'Access denied'); + } + } + }, + 'and the user requests an existent file with correct auth details': { + topic: function () { + request('http://127.0.0.1:8086/file', { + auth: { + user: 'good_username', + pass: '123456' + } + }, this.callback); + }, + 'status code should be 200': function (res) { + assert.equal(res.statusCode, 200); + }, + 'and file content': { + topic: function (res, body) { + var self = this; + fs.readFile(path.join(root, 'file'), 'utf8', function (err, data) { + self.callback(err, data, body); + }); + }, + 'should match content of served file': function (err, file, body) { + assert.equal(body.trim(), file.trim()); + } + } + }, + teardown: function (server) { + server.close(); + } } }).export(module); From dfcc22467a65bfc16f778ef7483de4cbe5b826cd Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Fri, 17 Jan 2020 14:53:13 -0600 Subject: [PATCH 178/194] better start image --- screenshots/start.png | Bin 15350 -> 98522 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/screenshots/start.png b/screenshots/start.png index a81cca104a0e5d660299840248fbb3c3c8c9a7eb..b53f951823a647098621335f29563a81a3b41ea0 100644 GIT binary patch literal 98522 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

s7j1PYxv)?IX#6T< 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

U7+SdWYBF7A<7Vuz7%{RyC6QH=34>+hPl! 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�x*{I zIzkc%dY#&YqfU*Waa*?lEjht8vk5F|0O@bjaaIbvvt3a_K`49RUE`U+$dAEG&TCM; z6`XPZU0HA@w;`?l&_A3XU@~rO=^2qUjJ~#Ql9W(?V5Po__$t`;x$nL=3{w1T`x3a} zfj4tVpuQmN+$K4pf&qUtQ)&YuFAx?&{U`$!0ULQ~09KWKjM^}F=ik0hlzFc58CdC4 zB1swSXVKQZRQLR4Hn8$`SDBY!LaX4$eh@Vb)YnxN&E`G^8}X~b<^}ss4!mJj-xh65 zrZH?f?jBD#s`_%Hz81Yly-J0>M5%+m@Lddofl2wu?@*la=~eQp9hk+BX0pT!END?? z(Efg_mckibGWc2#Y?C8v9&#>V|NmpC@?bW6DP{T^&`yJ&sUR<*oh-WUvug#ZJ zr?Txg_Z_k^Z3)NSy^wDpHUY92izp9yLb`eim`EC@4sR)E{eAo_TH2}9$1pM`d%u1> z_XfPunxt6g&RCeA_xnsyxvvmmxbM*Ot^ZRy@S9dI_}n z>d#7|QZDFv$f9(jYrdTBx-5^BdN=gvQEEqKZ^*- zS7!d*&_|C23~66Do4|r1ZIh?vKM>@QPnYQ2!oMwIEi9_c=FI zUF-5u6Ddtkm#g0fSt&ndg^2IY6$W#!a){R|8cip=nl~lFs>9@Vco=X>8k{`#H`)m) z8no~C(r7xAhn^qj7E7)JGPF;|4>q8|LKK-^1?!VIdG`C$VIq1l;-2d3PKy$|Kkz!! zzd=4+5&Z42zAfGt!V`O{>}ES$q!!kpl*#`lz_B7*HkRzw`!X9kp(p&Z6Ujlg2V5jE z%icuzLdtJP`myG!ac73F)E@IV%0({mQPR=6M0Y-F_}W=o)eCV;GcnakS(9YP`N*2b z`SLLKOgCtmuHki`3hSMSHKA|prv{-%SiV@SK}&z1nyN=kWb~&Rhuf3mv=`bGi^aqq z%emSF42L?a>PaqZ2n?}m5_EhPj`T_tj(PJw(8}tQto zz_=w6-rm)jY;629M*i|f!DmL5Y(IY#)4;SXuTAuIUy!#%_oU>)+2el)vv!(0>D@9t zbJO#SiAX;xH#_~st=R_PIY_%G@m63C*B15UkWa@T8>l3&pC7Vo*j4VchgfsO@C1>Y z5GKWoJ1(1nS3ckmpZ6@{IQ~8VyB_C&PE3o{!TR22q8LcllvZDT#+6byVuA?>A=fPW z8YmuT%F}6NXo^1e<*}n%q1jJEBOXy*yIdF8zKyR?qn;UR3+$)PyKD2b{rEXpnP0*l^KS?D;VFxOX@H)y z1nb*`$3CVfFB?M(Z;k8qwA0Rl0x;IK;$>88@8wMRUT zSb0%1G7!S*@(DRkbl=y({Z_^D?q&4tb$alo_b#eF_^zrgj^dShMbRyqNC7K}nBlD< z&hcZ~1HWg6VZW1nrfkab*AV4#<|}p29scx7n^u_`#=R{0jnCztC<4xs$vFRJK+>%K zhJl_i+?P9N*TB3g_&p&TgQ{QLgXP=#G ztKAj+sjVdrvnT!jTCmi2X>`_Lp|pwKmod{*rhF>|?Ix>ZllhRf{KZS{_zkhZ7hhjg zJHa8L(jiP>%b|60zf7s&0~5Yn|SM8Beuw89GKq+kEhk zlN4&A4WyshqGLdiX<1*DO^<}oCt(O{pcMWx^wZo7XMd9zH1r+@EyV<;7@+0gim%egdXLb796$e@iOf zSUX``Kty@vu;2e^QNl&1xCl99(b&Lmz<$3aSzjsVRC&BETjd`S3@w@R41ZYR>vQGp}QGV=u;xT7%LqIX{)8&kK*&9x?9GI zc0ek*9>;g7v=zxc*Df1-?9i4FdvZ*Io5j=jn!fQW5g%m+@NvPh<;*Re5!8Go+^T*u z-%KG_90sSR>Bg0a>YI{xI5A19Kwm_QmKk4HywVfPvhLlQEM2AA-ca%P0aF}_&{r~R z7E-#BuOBiDD?J5IN@hN%!eAQ%!3{Dw=5t>1j$*sk+!wC1t%^jtAMVon784bJdVL6JKICcY6u!-oxe_uJ(TP>;T-QoPfi#5tm7!T zjcxUklnI>6*0vpu;Kq2?G$1>u0#^l4l&+Y09{ATnEY2=F)2uP)pyaC)FY;3yQ^#jN zwDU<#C#`4d!mfiz7{S%wA&L^x1Q)RJ#R5Evh-b0D5KkxZG#=7G%@bNcpHg5+J#*x;qTHPW%|dOERzH97(V~(Z3V;DC7nBWGd!70nu-?&>#vbMMj>x1~VBuSVWPX(sQ7PBs$ z4ADY_2NutPHx!@L&5tFDcoOa6Ko_BH30 z$wEr`l!56e>M#BdRI9S}u3y*lHkj;1jH2U@5l)TP$H6ncr_mW0N0;NTyE;QmJWbX<|s@$Ui}q2Kt4fwr)?I@8g$C(%C?k&- r4oU+qA^Qt_%z#d#f1TW{?y Date: Wed, 5 Feb 2020 08:35:10 -0600 Subject: [PATCH 179/194] ignore macos files --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 7b8cf3fda..8df73ea22 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ node_modules/* npm-debug.log .dir-locals.el +.DS_Store From b2dbff5c294684771eec88186e1f68881daa1159 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 15 Mar 2020 08:20:09 +0000 Subject: [PATCH 180/194] Bump acorn from 5.7.3 to 5.7.4 Bumps [acorn](https://github.com/acornjs/acorn) from 5.7.3 to 5.7.4. - [Release notes](https://github.com/acornjs/acorn/releases) - [Commits](https://github.com/acornjs/acorn/compare/5.7.3...5.7.4) Signed-off-by: dependabot[bot] --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0cd6d9015..48034e9f2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,9 +11,9 @@ "dev": true }, "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", "dev": true }, "ajv": { From ed8ff1ffb6c6d56fb7d3d3ad5d7938b86991a201 Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Tue, 24 Mar 2020 09:56:26 -0500 Subject: [PATCH 181/194] clarify auth types --- lib/http-server.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/http-server.js b/lib/http-server.js index 82d73a93e..8bafdf8e9 100644 --- a/lib/http-server.js +++ b/lib/http-server.js @@ -107,9 +107,8 @@ function HttpServer(options) { // an attacker knowledge of whether the username is correct via a timing // attack. if (credentials) { - // since the `name` and `pass` attributes of `credentials` are always string type - // https://github.com/DefinitelyTyped/DefinitelyTyped/blob/HEAD/types/basic-auth/index.d.ts#L15-L16 - // so we use `.toString()` to fix https://github.com/http-party/http-server/issues/583 + // if credentials is defined, name and pass are guaranteed to be string + // type var usernameEqual = secureCompare(options.username.toString(), credentials.name); var passwordEqual = secureCompare(options.password.toString(), credentials.pass); if (usernameEqual && passwordEqual) { From 454851c32065b16787821b0e27ec10298b163f09 Mon Sep 17 00:00:00 2001 From: Andrew Dunkman Date: Thu, 9 Apr 2020 14:54:46 -0400 Subject: [PATCH 182/194] Fix security issue by using Minimist directly. --- bin/http-server | 5 +---- package-lock.json | 27 +++------------------------ package.json | 2 +- 3 files changed, 5 insertions(+), 29 deletions(-) diff --git a/bin/http-server b/bin/http-server index 895e1910b..42ebf651f 100755 --- a/bin/http-server +++ b/bin/http-server @@ -8,10 +8,7 @@ var colors = require('colors/safe'), portfinder = require('portfinder'), opener = require('opener'), fs = require('fs'), - argv = require('optimist') - .boolean('cors') - .boolean('log-ip') - .argv; + argv = require('minimist')(process.argv.slice(2)); var ifaces = os.networkInterfaces(); process.title = 'http-server'; diff --git a/package-lock.json b/package-lock.json index 48034e9f2..6402f60b3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1680,9 +1680,9 @@ } }, "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, "mkdirp": { "version": "0.5.1", @@ -1795,22 +1795,6 @@ "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz", "integrity": "sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==" }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" - }, - "dependencies": { - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" - } - } - }, "os-locale": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", @@ -2588,11 +2572,6 @@ } } }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" - }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", diff --git a/package.json b/package.json index 11279decc..5812eb708 100644 --- a/package.json +++ b/package.json @@ -84,8 +84,8 @@ "corser": "^2.0.1", "ecstatic": "^3.3.2", "http-proxy": "^1.17.0", + "minimist": "^1.2.5", "opener": "^1.5.1", - "optimist": "~0.6.1", "portfinder": "^1.0.20", "secure-compare": "3.0.1", "union": "~0.5.0" From 817e11d148378c3004f24d6cd77e4a1ae5b2775a Mon Sep 17 00:00:00 2001 From: Andrew Dunkman Date: Thu, 9 Apr 2020 14:57:56 -0400 Subject: [PATCH 183/194] Upgrade sub-dependency of minimist via mkdirp. --- package-lock.json | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6402f60b3..f7714138b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1685,18 +1685,11 @@ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - } + "minimist": "^1.2.5" } }, "ms": { From 95119c6f5270bc4a96cd3119e5d88b23211dcf96 Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Mon, 27 Apr 2020 10:16:48 -0500 Subject: [PATCH 184/194] update man page --- doc/http-server.1 | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/doc/http-server.1 b/doc/http-server.1 index c578fdaaa..751d931d4 100644 --- a/doc/http-server.1 +++ b/doc/http-server.1 @@ -1,4 +1,4 @@ -.TH http-server 1 "April 2019" GNU "http-server man page" +.TH http-server 1 "April 2020" GNU "http-server man page" .SH NAME http-server \- a simple zero-configuration command-line http server @@ -124,6 +124,10 @@ Do not show dotfiles. .BI \-h ", " \-\-help Print usage and exit. +.TP +.BI \-v ", " \-\-version +Print version and exit. + .SH FILES .B index.html will be served as the default file to any directory requests. @@ -132,7 +136,7 @@ will be served as the default file to any directory requests. will be served if a file is not found. This can be used for SPA hosting to serve the entry page. .SH COPYING -Copyright (c) 2011-2019 Charlie Robbins, Marak Squires, and the Contributors. +Copyright (c) 2011-2020 Charlie Robbins, Marak Squires, and the Contributors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including @@ -153,4 +157,4 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. .SH VERSION -Version 0.11.1 +Version 0.12.2 From 6e9fc084f45287c9572949c54db7f426728f0e39 Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Tue, 24 Mar 2020 10:17:03 -0500 Subject: [PATCH 185/194] update dependencies --- package-lock.json | 670 ++++++++++++++++++++++++++++++++++------------ package.json | 8 +- 2 files changed, 497 insertions(+), 181 deletions(-) diff --git a/package-lock.json b/package-lock.json index f7714138b..edbc37057 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,12 +17,12 @@ "dev": true }, "ajv": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.8.1.tgz", - "integrity": "sha512-eqxCp82P+JfqL683wwsL73XmFs1eG6qjw+RD3YHx+Jll1r0jNd4dh8QG9NYAeNGA/hnZjeEDgtTskgJULbxpWQ==", + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", + "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", "dev": true, "requires": { - "fast-deep-equal": "^2.0.1", + "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" @@ -103,9 +103,12 @@ "dev": true }, "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "requires": { + "lodash": "^4.17.14" + } }, "asynckit": { "version": "0.4.0", @@ -120,9 +123,9 @@ "dev": true }, "aws4": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", + "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==", "dev": true }, "babel-core": { @@ -413,9 +416,9 @@ }, "dependencies": { "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -502,9 +505,9 @@ "dev": true }, "colors": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", - "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" }, "colorspace": { "version": "1.0.1", @@ -517,9 +520,9 @@ } }, "combined-stream": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", - "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dev": true, "requires": { "delayed-stream": "~1.0.0" @@ -550,9 +553,9 @@ "dev": true }, "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -639,9 +642,9 @@ } }, "convert-source-map": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", - "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", "dev": true, "requires": { "safe-buffer": "~5.1.1" @@ -671,12 +674,13 @@ "dev": true }, "d": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", - "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", "dev": true, "requires": { - "es5-ext": "^0.10.9" + "es5-ext": "^0.10.50", + "type": "^1.0.1" } }, "dashdash": { @@ -695,11 +699,18 @@ "dev": true }, "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } } }, "decamelize": { @@ -709,10 +720,41 @@ "dev": true }, "deep-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", - "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", - "dev": true + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.0.1.tgz", + "integrity": "sha512-7Et6r6XfNW61CPPCIYfm1YPGSmh6+CliYeL4km7GWJcpX5LTAflGF8drLLR+MZX+2P3NZfAfSduutBbSWqER4g==", + "dev": true, + "requires": { + "es-abstract": "^1.16.3", + "es-get-iterator": "^1.0.1", + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "isarray": "^2.0.5", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0", + "side-channel": "^1.0.1", + "which-boxed-primitive": "^1.0.1", + "which-collection": "^1.0.0" + }, + "dependencies": { + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + } + } + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } }, "defined": { "version": "1.0.0", @@ -811,25 +853,25 @@ "dev": true }, "dom-serializer": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", - "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", "dev": true, "requires": { - "domelementtype": "~1.1.1", - "entities": "~1.1.1" + "domelementtype": "^2.0.1", + "entities": "^2.0.0" }, "dependencies": { "domelementtype": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", - "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", + "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==", "dev": true }, "entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz", + "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==", "dev": true } } @@ -896,20 +938,73 @@ "dev": true }, "env-variable": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/env-variable/-/env-variable-0.0.5.tgz", - "integrity": "sha512-zoB603vQReOFvTg5xMl9I1P2PnHsHQQKTEowsKKD7nseUfJq6UWzK+4YtlWUO1nhiQUxe6XMkk+JleSZD1NZFA==", + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/env-variable/-/env-variable-0.0.6.tgz", + "integrity": "sha512-bHz59NlBbtS0NhftmR8+ExBEekE7br0e01jw+kk0NDro7TtZzBYZ5ScGPs3OmwnpyfHTHOtr1Y6uedCdrIldtg==", "dev": true }, + "es-abstract": { + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", + "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "es-get-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.0.tgz", + "integrity": "sha512-UfrmHuWQlNMTs35e1ypnvikg6jCz3SK8v8ImvmDsh36fCVUR1MqoFDiyn0/k52C8NqO3YsO8Oe0azeesNuqSsQ==", + "dev": true, + "requires": { + "es-abstract": "^1.17.4", + "has-symbols": "^1.0.1", + "is-arguments": "^1.0.4", + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-string": "^1.0.5", + "isarray": "^2.0.5" + }, + "dependencies": { + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + } + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, "es5-ext": { - "version": "0.10.47", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.47.tgz", - "integrity": "sha512-/1TItLfj+TTfWoeRcDn/0FbGV6SNo4R+On2GGVucPU/j3BWnXE2Co8h8CTo4Tu34gFJtnmwS9xiScKs4EjZhdw==", + "version": "0.10.53", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", + "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", "dev": true, "requires": { "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.1", - "next-tick": "1" + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" } }, "es6-iterator": { @@ -948,27 +1043,39 @@ "es6-iterator": "~2.0.1", "es6-symbol": "3.1.1", "event-emitter": "~0.3.5" + }, + "dependencies": { + "es6-symbol": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + } } }, "es6-symbol": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", - "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14" + "d": "^1.0.1", + "ext": "^1.1.2" } }, "es6-weak-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", - "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", "dev": true, "requires": { "d": "1", - "es5-ext": "^0.10.14", - "es6-iterator": "^2.0.1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", "es6-symbol": "^3.1.1" } }, @@ -1006,15 +1113,15 @@ } }, "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true }, "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, "event-emitter": { @@ -1028,9 +1135,9 @@ } }, "eventemitter3": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", - "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", + "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==" }, "exit": { "version": "0.1.2", @@ -1038,6 +1145,23 @@ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", "dev": true }, + "ext": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", + "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", + "dev": true, + "requires": { + "type": "^2.0.0" + }, + "dependencies": { + "type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.0.0.tgz", + "integrity": "sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow==", + "dev": true + } + } + }, "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -1079,23 +1203,23 @@ } }, "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", "dev": true }, "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, "follow-redirects": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.6.1.tgz", - "integrity": "sha512-t2JCjbzxQpWvbhts3l6SH1DKzSrx8a+SsaVf4h6bG4kOXUuPYS/kg2Lr4gQSb7eemaHqJkOThF1BGyjlUkO1GQ==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.11.0.tgz", + "integrity": "sha512-KZm0V+ll8PfBrKwMzdo5D13b1bur9Iq9Zd/RMmAoQQcl2PxxFml8cxXPaaPYVbV0RjNjq1CU7zIzAOqtUPudmA==", "requires": { - "debug": "=3.1.0" + "debug": "^3.0.0" } }, "forever-agent": { @@ -1127,6 +1251,12 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, "get-stdin": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", @@ -1162,9 +1292,9 @@ "dev": true }, "graceful-fs": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", "dev": true }, "graceful-readlink": { @@ -1189,6 +1319,15 @@ "har-schema": "^2.0.0" } }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, "has-ansi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", @@ -1204,6 +1343,12 @@ "integrity": "sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8=", "dev": true }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, "he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -1233,11 +1378,11 @@ } }, "http-proxy": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz", - "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==", + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz", + "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==", "requires": { - "eventemitter3": "^3.0.0", + "eventemitter3": "^4.0.0", "follow-redirects": "^1.0.0", "requires-port": "^1.0.0" } @@ -1296,20 +1441,47 @@ "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", "dev": true }, + "is-arguments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", + "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", + "dev": true + }, + "is-bigint": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.0.tgz", + "integrity": "sha512-t5mGUXC/xRheCK431ylNiSkGGpBp8bHENBcENTkDT6ppwPzEVxNGZRvgvmOEfbWkFhA7D2GEuE2mmQTr78sl2g==", + "dev": true + }, + "is-boolean-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.0.1.tgz", + "integrity": "sha512-TqZuVwa/sppcrhUCAYkGBk7w0yxfQQnxq28fjkO53tnK9FQXmdwz2JS5+GjsWQ6RByES1K40nI+yDic5c9/aAQ==", + "dev": true + }, "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, - "is-finite": { + "is-callable": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", + "dev": true + }, + "is-date-object": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "dev": true + }, + "is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true }, "is-integer": { "version": "1.0.7", @@ -1320,6 +1492,48 @@ "is-finite": "^1.0.0" } }, + "is-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.1.tgz", + "integrity": "sha512-T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw==", + "dev": true + }, + "is-number-object": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz", + "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==", + "dev": true + }, + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-set": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.1.tgz", + "integrity": "sha512-eJEzOtVyenDs1TMzSQ3kU3K+E0GUS9sno+F0OBT97xsgcJsF9nXMBtkT9/kut5JEpM7oL7X/0qxR17K3mcwIAA==", + "dev": true + }, + "is-string": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", + "dev": true + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", @@ -1332,6 +1546,18 @@ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", "dev": true }, + "is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "dev": true + }, + "is-weakset": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.1.tgz", + "integrity": "sha512-pi4vhbhVHGLxohUw7PhGsueT4vRGFoXhP7+RGN0jKIv9+8PWYCQTqtADngrxOm2g46hoH0+g8uZZBzMrvVGDmw==", + "dev": true + }, "isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", @@ -1451,27 +1677,19 @@ "dev": true }, "jshint": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.10.1.tgz", - "integrity": "sha512-9GpPfKeffYBl7oBDX2lHPG16j0AM7D2bn3aLy9DaWTr6CWa0i/7UGhX8WLZ7V14QQnnr4hXbjauTLYg06F+HYw==", + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.11.0.tgz", + "integrity": "sha512-ooaD/hrBPhu35xXW4gn+o3SOuzht73gdBuffgJzrZBJZPGgGiiTvJEgTyxFvBO2nz0+X1G6etF8SzUODTlLY6Q==", "dev": true, "requires": { "cli": "~1.0.0", "console-browserify": "1.1.x", "exit": "0.1.x", "htmlparser2": "3.8.x", - "lodash": "~4.17.10", + "lodash": "~4.17.11", "minimatch": "~3.0.2", "shelljs": "0.3.x", "strip-json-comments": "1.0.x" - }, - "dependencies": { - "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", - "dev": true - } } }, "json-schema": { @@ -1559,6 +1777,11 @@ "integrity": "sha1-kUS27ryl8dBoAWnxpncNzqYLdcM=", "dev": true }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + }, "lodash._baseassign": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", @@ -1656,18 +1879,18 @@ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, "mime-db": { - "version": "1.37.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", - "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==", + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", "dev": true }, "mime-types": { - "version": "2.1.21", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", - "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", "dev": true, "requires": { - "mime-db": "~1.37.0" + "mime-db": "1.44.0" } }, "minimatch": { @@ -1695,7 +1918,8 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true }, "mute-stream": { "version": "0.0.8", @@ -1756,12 +1980,6 @@ } } }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, "oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", @@ -1774,6 +1992,36 @@ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, + "object-inspect": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "dev": true + }, + "object-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.2.tgz", + "integrity": "sha512-Epah+btZd5wrrfjkJZq1AOB9O6OxUQto45hzFd7lXGrpHPGE0W1k+426yrZV+k6NJOzLNNW/nVsmZdIWsAqoOQ==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -1851,22 +2099,27 @@ "dev": true }, "portfinder": { - "version": "1.0.20", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.20.tgz", - "integrity": "sha512-Yxe4mTyDzTd59PZJY4ojZR8F+E5e97iq2ZOHPz3HDgSvYC5siNad2tLooQ5y5QHyQhc3xVqvyk/eNA3wuoa7Sw==", + "version": "1.0.25", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.25.tgz", + "integrity": "sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg==", "requires": { - "async": "^1.5.2", - "debug": "^2.2.0", - "mkdirp": "0.5.x" + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.1" }, "dependencies": { "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } }, @@ -1877,9 +2130,9 @@ "dev": true }, "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, "prompt": { @@ -1896,9 +2149,9 @@ } }, "psl": { - "version": "1.1.31", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", - "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", "dev": true }, "punycode": { @@ -1993,6 +2246,16 @@ } } }, + "regexp.prototype.flags": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", + "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, "regexpu": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/regexpu/-/regexpu-1.3.0.tgz", @@ -2037,9 +2300,9 @@ } }, "request": { - "version": "2.88.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", - "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", "dev": true, "requires": { "aws-sign2": "~0.7.0", @@ -2049,7 +2312,7 @@ "extend": "~3.0.2", "forever-agent": "~0.6.1", "form-data": "~2.3.2", - "har-validator": "~5.1.0", + "har-validator": "~5.1.3", "http-signature": "~1.2.0", "is-typedarray": "~1.0.0", "isstream": "~0.1.2", @@ -2059,7 +2322,7 @@ "performance-now": "^2.1.0", "qs": "~6.5.2", "safe-buffer": "^5.1.2", - "tough-cookie": "~2.4.3", + "tough-cookie": "~2.5.0", "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" }, @@ -2084,9 +2347,9 @@ "dev": true }, "resolve": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz", - "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==", + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz", + "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==", "dev": true, "requires": { "path-parse": "^1.0.6" @@ -2108,18 +2371,18 @@ } }, "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "requires": { "glob": "^7.1.3" }, "dependencies": { "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -2161,6 +2424,16 @@ "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=", "dev": true }, + "side-channel": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.2.tgz", + "integrity": "sha512-7rL9YlPHg7Ancea1S96Pa8/QWb4BtXL/TZvS6B8XFetGBeuhAsfmUspK6DokBeZ64+Kj9TCNRD/30pVz1BvQNA==", + "dev": true, + "requires": { + "es-abstract": "^1.17.0-next.1", + "object-inspect": "^1.7.0" + } + }, "simple-fmt": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/simple-fmt/-/simple-fmt-0.1.0.tgz", @@ -2240,6 +2513,26 @@ "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", "dev": true }, + "string.prototype.trimleft": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", + "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimright": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", + "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, "string_decoder": { "version": "0.10.31", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", @@ -2319,21 +2612,13 @@ "dev": true }, "tough-cookie": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", - "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "dev": true, "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - } + "psl": "^1.1.28", + "punycode": "^2.1.1" } }, "trim-right": { @@ -2369,6 +2654,12 @@ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, "underscore": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", @@ -2432,9 +2723,9 @@ } }, "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", "dev": true }, "verror": { @@ -2449,9 +2740,9 @@ } }, "vow": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/vow/-/vow-0.4.18.tgz", - "integrity": "sha512-7QGozxlOhour77BCQbbyW5XFP8ioIz/DPK67IyO3DnJtF0WXrXueMwqrYFM9yqyfgENcyxL+vktz2oJeZfdWtw==", + "version": "0.4.20", + "resolved": "https://registry.npmjs.org/vow/-/vow-0.4.20.tgz", + "integrity": "sha512-YYoSYXUYABqY08D/WrjcWJxJSErcILRRTQpcPyUc0SFfgIPKSUFzVt7u1HC3TXGJZM/qhsSjCLNQstxqf7asgQ==", "dev": true }, "vow-fs": { @@ -2467,9 +2758,9 @@ }, "dependencies": { "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -2524,6 +2815,31 @@ } } }, + "which-boxed-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.1.tgz", + "integrity": "sha512-7BT4TwISdDGBgaemWU0N0OU7FeAEJ9Oo2P1PHRm/FCWoEi2VLWC9b6xvxAA3C/NMpxg3HXVgi0sMmGbNUbNepQ==", + "dev": true, + "requires": { + "is-bigint": "^1.0.0", + "is-boolean-object": "^1.0.0", + "is-number-object": "^1.0.3", + "is-string": "^1.0.4", + "is-symbol": "^1.0.2" + } + }, + "which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "dev": true, + "requires": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + } + }, "window-size": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", diff --git a/package.json b/package.json index 5812eb708..4adb3111b 100644 --- a/package.json +++ b/package.json @@ -80,19 +80,19 @@ ], "dependencies": { "basic-auth": "^1.0.3", - "colors": "^1.3.3", + "colors": "^1.4.0", "corser": "^2.0.1", "ecstatic": "^3.3.2", - "http-proxy": "^1.17.0", + "http-proxy": "^1.18.0", "minimist": "^1.2.5", "opener": "^1.5.1", - "portfinder": "^1.0.20", + "portfinder": "^1.0.25", "secure-compare": "3.0.1", "union": "~0.5.0" }, "devDependencies": { "common-style": "^3.0.0", - "request": "^2.88.0", + "request": "^2.88.2", "vows": "~0.8.3" }, "bugs": { From 021e9f52b116881812b7c01288e06667fc7fe9c5 Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Mon, 27 Apr 2020 10:30:37 -0500 Subject: [PATCH 186/194] update license year --- LICENSE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index 903b74833..57960369a 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2011-2019 Charlie Robbins, Marak Squires, and the Contributors. +Copyright (c) 2011-2020 Charlie Robbins, Marak Squires, and the Contributors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the From 5867a26d5a7fdf9010684e520e4f2a68833fbfec Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Mon, 27 Apr 2020 10:44:43 -0500 Subject: [PATCH 187/194] add testing on node 14 --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 70ee55c3b..e747390ea 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,6 +6,7 @@ node_js: - "10" - "12" - "13" + - "14" git: autocrlf: input From 46cfd108d70ac8a5c95e7d0515d6feaebf49eefe Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Mon, 27 Apr 2020 11:44:29 -0500 Subject: [PATCH 188/194] 0.12.2 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index edbc37057..d71bc685c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "http-server", - "version": "0.12.1", + "version": "0.12.2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index ede7e2c74..eaad6800b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "http-server", - "version": "0.12.1", + "version": "0.12.2", "description": "A simple zero-configuration command-line http server", "main": "./lib/http-server", "repository": { From c0b67a97537db851efd8146055492bddca2a0d3a Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Mon, 27 Apr 2020 12:25:09 -0500 Subject: [PATCH 189/194] Include doc/ in npm package fixes #625 --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index eaad6800b..d354d0dae 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,8 @@ }, "files": [ "lib", - "bin" + "bin", + "doc" ], "man": "./doc/http-server.1", "engines": { From d7bce39827d4db03190cb33b5f33d3a543464ee1 Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Mon, 27 Apr 2020 15:07:20 -0500 Subject: [PATCH 190/194] 0.12.3 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index d71bc685c..acb4dfd60 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "http-server", - "version": "0.12.2", + "version": "0.12.3", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index d354d0dae..c6ecb7e1b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "http-server", - "version": "0.12.2", + "version": "0.12.3", "description": "A simple zero-configuration command-line http server", "main": "./lib/http-server", "repository": { From df53b9d8ce12a191f393924e0c6cd5c3bc639e86 Mon Sep 17 00:00:00 2001 From: Matthias Date: Mon, 12 Oct 2020 14:33:23 -0400 Subject: [PATCH 191/194] Mention process.env.PORT in options Related to https://github.com/http-party/http-server/issues/217 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 573eab228..eeb3f9868 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ Using `npx` you can run the script without installing it first: ## Available Options: -`-p` or `--port` Port to use (defaults to 8080) +`-p` or `--port` Port to use (defaults to 8080). It will also read from `process.env.PORT`. `-a` Address to use (defaults to 0.0.0.0) From 950b6a1de79d8bcfa7ad16c01469ca5514440f8d Mon Sep 17 00:00:00 2001 From: jbergens Date: Mon, 2 Nov 2020 16:00:54 +0100 Subject: [PATCH 192/194] Add keyword http-server Make it easier to find in npm --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index c6ecb7e1b..5eeab0994 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "cli", "command", "http", + "http-server", "server" ], "scripts": { From bd9c9a1149f101e31c442c245ca9aa86767c14a6 Mon Sep 17 00:00:00 2001 From: jbergens Date: Sat, 12 Dec 2020 13:08:24 +0100 Subject: [PATCH 193/194] Update package.json Added https and https-server as suggested --- package.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/package.json b/package.json index 5eeab0994..19ef25a30 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,9 @@ "cli", "command", "http", + "https", "http-server", + "https-server", "server" ], "scripts": { From 9bfcc98f9cc7846dece1ec89f4c078e756bb0742 Mon Sep 17 00:00:00 2001 From: _pants <_pants@getlantern.org> Date: Thu, 9 Jan 2014 16:43:40 -0500 Subject: [PATCH 194/194] accept command line arg for a custom headers --- README.md | 2 ++ bin/http-server | 13 +++++++++++++ 2 files changed, 15 insertions(+) diff --git a/README.md b/README.md index eeb3f9868..e983d4ff5 100644 --- a/README.md +++ b/README.md @@ -83,6 +83,8 @@ Using `npx` you can run the script without installing it first: `-r` or `--robots` Provide a /robots.txt (whose content defaults to `User-agent: *\nDisallow: /`) `--no-dotfiles` Do not show dotfiles + +`-H` or `--header` Send the specified header with responses, e.g. `-H "Strict-Transport-Security: max-age=315360000; includeSubdomains"`. `-h` or `--help` Print this list and exit. diff --git a/bin/http-server b/bin/http-server index 42ebf651f..d2a568930 100755 --- a/bin/http-server +++ b/bin/http-server @@ -51,6 +51,8 @@ if (argv.h || argv.help) { '', ' -r --robots Respond to /robots.txt [User-agent: *\\nDisallow: /]', ' --no-dotfiles Do not show dotfiles', + ' -H --header Send the specified header with responses,', + ' 'e.g. -H \'X-MY-HEADER: foo\'', ' -h --help Print this list and exit.', ' -v --version Print the version and exit.' ].join('\n')); @@ -113,6 +115,14 @@ else { listen(port); } +function addHeader(headers, header) { + if (!header || !header.indexOf) return; + var idx = header.indexOf(':'), + key = header.substring(0, idx), + val = header.substring(idx + 1).trim(); + headers[key] = val; +} + function listen(port) { var options = { root: argv._[0], @@ -127,6 +137,7 @@ function listen(port) { logFn: logger.request, proxy: proxy, showDotfiles: argv.dotfiles, + headers: {}, username: argv.username || process.env.NODE_HTTP_SERVER_USERNAME, password: argv.password || process.env.NODE_HTTP_SERVER_PASSWORD }; @@ -159,6 +170,8 @@ function listen(port) { } } + addHeader(options.headers, argv.H || argv.header); + var server = httpServer.createServer(options); server.listen(port, host, function () { var canonicalHost = host === '0.0.0.0' ? '127.0.0.1' : host,

%TQhTtV7)oOO6w#1^(a(79zhC#_vEG`@zi=Znq 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 P@VazSOF93%iTD2inHPfj diff --git a/screenshots/start.png b/screenshots/start.png index d4ea2b8a2c0ef2be019e5a5b00c76f58b261f632..feecdd747f3436c46d8e4e7fa97f4683d1c0f5ec 100644 GIT binary patch literal 7341 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 BsNw(s literal 20171 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 d9w2yN`}}{1v!g`+# Date: Mon, 7 May 2018 09:28:50 -0400 Subject: [PATCH 113/194] Add note about index & 404 magic files to README --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 74d57a6c6..cb8962afe 100644 --- a/README.md +++ b/README.md @@ -63,6 +63,11 @@ This will install `http-server` globally so that it may be run from the command `-h` or `--help` Print this list and exit. +## Magic Files + +- `index.html` will be served as the default file to any directory requests. +- `404.html` will be served if a file is not found. This can be used for Single-Page App (SPA) hosting to serve the entry page. + # Development Checkout this repository locally, then: From 214bf79a22ac472199c2a88e2f5a8873b5043bf2 Mon Sep 17 00:00:00 2001 From: Chris Goodman Date: Thu, 31 May 2018 18:27:08 +1000 Subject: [PATCH 114/194] added url option to -0 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cb8962afe..c0d776ab0 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ This will install `http-server` globally so that it may be run from the command `--cors` Enable CORS via the `Access-Control-Allow-Origin` header -`-o` Open browser window after starting the server +`-o [url` Open browser window after starting the server. optionally provide a url e.g.: -o http://localhost:8080 `-c` Set cache time (in seconds) for cache-control max-age header, e.g. -c10 for 10 seconds (defaults to '3600'). To disable caching, use -c-1. From 94329688b5bf6c058a9f2c24739bd628b7345dce Mon Sep 17 00:00:00 2001 From: Benjamin Young Date: Fri, 15 Jun 2018 15:09:42 -0400 Subject: [PATCH 115/194] Update README for cli switch value clarity Booleans current MUST be lowercase. Improved Markdown for presenting cli values. --- README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index cb8962afe..27f2de7b1 100644 --- a/README.md +++ b/README.md @@ -33,13 +33,13 @@ This will install `http-server` globally so that it may be run from the command `-a` Address to use (defaults to 0.0.0.0) -`-d` Show directory listings (defaults to 'True') +`-d` Show directory listings (defaults to `true`) -`-i` Display autoIndex (defaults to 'True') +`-i` Display autoIndex (defaults to `true`) -`-g` or `--gzip` When enabled (defaults to 'False') it will serve `./public/some-file.js.gz` in place of `./public/some-file.js` when a gzipped version of the file exists and the request accepts gzip encoding. +`-g` or `--gzip` When enabled (defaults to `false`) it will serve `./public/some-file.js.gz` in place of `./public/some-file.js` when a gzipped version of the file exists and the request accepts gzip encoding. -`-e` or `--ext` Default file extension if none supplied (defaults to 'html') +`-e` or `--ext` Default file extension if none supplied (defaults to `html`) `-s` or `--silent` Suppress log messages from output @@ -47,7 +47,7 @@ This will install `http-server` globally so that it may be run from the command `-o` Open browser window after starting the server -`-c` Set cache time (in seconds) for cache-control max-age header, e.g. -c10 for 10 seconds (defaults to '3600'). To disable caching, use -c-1. +`-c` Set cache time (in seconds) for cache-control max-age header, e.g. `-c10` for 10 seconds (defaults to `3600`). To disable caching, use `-c-1`. `-U` or `--utc` Use UTC time format in log messages. @@ -55,11 +55,11 @@ This will install `http-server` globally so that it may be run from the command `-S` or `--ssl` Enable https. -`-C` or `--cert` Path to ssl cert file (default: cert.pem). +`-C` or `--cert` Path to ssl cert file (default: `cert.pem`). -`-K` or `--key` Path to ssl key file (default: key.pem). +`-K` or `--key` Path to ssl key file (default: `key.pem`). -`-r` or `--robots` Provide a /robots.txt (whose content defaults to 'User-agent: *\nDisallow: /') +`-r` or `--robots` Provide a /robots.txt (whose content defaults to `User-agent: *\nDisallow: /`) `-h` or `--help` Print this list and exit. From d328f58ee3a85e32a39cf5ffa2fddc43d383a995 Mon Sep 17 00:00:00 2001 From: Nathan Fairhurst Date: Sat, 14 Jul 2018 10:59:08 -0700 Subject: [PATCH 116/194] Prevent vows from swallowing test errors on uncaught errors within topics. --- test/http-server-test.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/test/http-server-test.js b/test/http-server-test.js index e64f04e1d..66dc1e3a8 100644 --- a/test/http-server-test.js +++ b/test/http-server-test.js @@ -5,6 +5,9 @@ var assert = require('assert'), request = require('request'), httpServer = require('../lib/http-server'); +// Prevent vows from swallowing errors +process.on('uncaughtException', console.error); + var root = path.join(__dirname, 'fixtures', 'root'); vows.describe('http-server').addBatch({ From b1b266c82b813a0c7b7d308c003286109f3b60a8 Mon Sep 17 00:00:00 2001 From: Jade Thornton Date: Wed, 8 Aug 2018 14:04:17 -0600 Subject: [PATCH 117/194] Add npm package-lock (#403) --- package-lock.json | 2399 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2399 insertions(+) create mode 100644 package-lock.json diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 000000000..0a7478efe --- /dev/null +++ b/package-lock.json @@ -0,0 +1,2399 @@ +{ + "name": "http-server", + "version": "0.11.1", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "JSV": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/JSV/-/JSV-4.0.2.tgz", + "integrity": "sha1-0Hf2glVx+CEy+d/67Vh7QCn+/1c=", + "dev": true + }, + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + } + }, + "alter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/alter/-/alter-0.2.0.tgz", + "integrity": "sha1-x1iICGF1cgNKrmJICvJrHU0cs80=", + "dev": true, + "requires": { + "stable": "~0.1.3" + } + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "argparse": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", + "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "asn1": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz", + "integrity": "sha1-VZvhg3bQik7E2+gId9J4GGObLfc=", + "dev": true + }, + "assert-plus": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz", + "integrity": "sha1-7nQAlBMALYTOxyGcasgRgS5yMWA=", + "dev": true + }, + "ast-traverse": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ast-traverse/-/ast-traverse-0.1.1.tgz", + "integrity": "sha1-ac8rg4bxnc2hux4F1o/jWdiJfeY=", + "dev": true + }, + "ast-types": { + "version": "0.9.6", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.6.tgz", + "integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk=", + "dev": true + }, + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" + }, + "aws-sign2": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz", + "integrity": "sha1-xXED96F/wDfwLXwuZLYC6iI/fWM=", + "dev": true + }, + "babel-core": { + "version": "5.8.38", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-5.8.38.tgz", + "integrity": "sha1-H8ruedfmG3ULALjlT238nQr4ZVg=", + "dev": true, + "requires": { + "babel-plugin-constant-folding": "^1.0.1", + "babel-plugin-dead-code-elimination": "^1.0.2", + "babel-plugin-eval": "^1.0.1", + "babel-plugin-inline-environment-variables": "^1.0.1", + "babel-plugin-jscript": "^1.0.4", + "babel-plugin-member-expression-literals": "^1.0.1", + "babel-plugin-property-literals": "^1.0.1", + "babel-plugin-proto-to-assign": "^1.0.3", + "babel-plugin-react-constant-elements": "^1.0.3", + "babel-plugin-react-display-name": "^1.0.3", + "babel-plugin-remove-console": "^1.0.1", + "babel-plugin-remove-debugger": "^1.0.1", + "babel-plugin-runtime": "^1.0.7", + "babel-plugin-undeclared-variables-check": "^1.0.2", + "babel-plugin-undefined-to-void": "^1.1.6", + "babylon": "^5.8.38", + "bluebird": "^2.9.33", + "chalk": "^1.0.0", + "convert-source-map": "^1.1.0", + "core-js": "^1.0.0", + "debug": "^2.1.1", + "detect-indent": "^3.0.0", + "esutils": "^2.0.0", + "fs-readdir-recursive": "^0.1.0", + "globals": "^6.4.0", + "home-or-tmp": "^1.0.0", + "is-integer": "^1.0.4", + "js-tokens": "1.0.1", + "json5": "^0.4.0", + "lodash": "^3.10.0", + "minimatch": "^2.0.3", + "output-file-sync": "^1.1.0", + "path-exists": "^1.0.0", + "path-is-absolute": "^1.0.0", + "private": "^0.1.6", + "regenerator": "0.8.40", + "regexpu": "^1.3.0", + "repeating": "^1.1.2", + "resolve": "^1.1.6", + "shebang-regex": "^1.0.0", + "slash": "^1.0.0", + "source-map": "^0.5.0", + "source-map-support": "^0.2.10", + "to-fast-properties": "^1.0.0", + "trim-right": "^1.0.0", + "try-resolve": "^1.0.0" + }, + "dependencies": { + "minimatch": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", + "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=", + "dev": true, + "requires": { + "brace-expansion": "^1.0.0" + } + } + } + }, + "babel-jscs": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/babel-jscs/-/babel-jscs-2.0.5.tgz", + "integrity": "sha1-CjRwRrSBRay8pW6MjtX3NrxU+dA=", + "dev": true, + "requires": { + "babel-core": "~5.8.3", + "lodash.assign": "^3.2.0" + } + }, + "babel-plugin-constant-folding": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-constant-folding/-/babel-plugin-constant-folding-1.0.1.tgz", + "integrity": "sha1-g2HTZMmORJw2kr26Ue/whEKQqo4=", + "dev": true + }, + "babel-plugin-dead-code-elimination": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-dead-code-elimination/-/babel-plugin-dead-code-elimination-1.0.2.tgz", + "integrity": "sha1-X3xFEnTc18zNv7s+C4XdKBIfD2U=", + "dev": true + }, + "babel-plugin-eval": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-eval/-/babel-plugin-eval-1.0.1.tgz", + "integrity": "sha1-ovrtJc5r5preS/7CY/cBaRlZUNo=", + "dev": true + }, + "babel-plugin-inline-environment-variables": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-inline-environment-variables/-/babel-plugin-inline-environment-variables-1.0.1.tgz", + "integrity": "sha1-H1jOkSB61qgmqL9kX6/mj/X+P/4=", + "dev": true + }, + "babel-plugin-jscript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/babel-plugin-jscript/-/babel-plugin-jscript-1.0.4.tgz", + "integrity": "sha1-jzQsOCduh6R9X6CovT1etsytj8w=", + "dev": true + }, + "babel-plugin-member-expression-literals": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-member-expression-literals/-/babel-plugin-member-expression-literals-1.0.1.tgz", + "integrity": "sha1-zF7bD6qNyScXDnTW0cAkQAIWJNM=", + "dev": true + }, + "babel-plugin-property-literals": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-property-literals/-/babel-plugin-property-literals-1.0.1.tgz", + "integrity": "sha1-AlIwGQAZKYCxwRjv6kjOk6q4MzY=", + "dev": true + }, + "babel-plugin-proto-to-assign": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/babel-plugin-proto-to-assign/-/babel-plugin-proto-to-assign-1.0.4.tgz", + "integrity": "sha1-xJ56/QL1d7xNoF6i3wAiUM980SM=", + "dev": true, + "requires": { + "lodash": "^3.9.3" + } + }, + "babel-plugin-react-constant-elements": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/babel-plugin-react-constant-elements/-/babel-plugin-react-constant-elements-1.0.3.tgz", + "integrity": "sha1-lGc26DeEKcvDSdz/YvUcFDs041o=", + "dev": true + }, + "babel-plugin-react-display-name": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/babel-plugin-react-display-name/-/babel-plugin-react-display-name-1.0.3.tgz", + "integrity": "sha1-dU/jiSboQkpOexWrbqYTne4FFPw=", + "dev": true + }, + "babel-plugin-remove-console": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-remove-console/-/babel-plugin-remove-console-1.0.1.tgz", + "integrity": "sha1-2PJFVsOgUAXUKqqv0neH9T/wE6c=", + "dev": true + }, + "babel-plugin-remove-debugger": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-remove-debugger/-/babel-plugin-remove-debugger-1.0.1.tgz", + "integrity": "sha1-/S6jzWGkKK0fO5yJiC/0KT6MFMc=", + "dev": true + }, + "babel-plugin-runtime": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/babel-plugin-runtime/-/babel-plugin-runtime-1.0.7.tgz", + "integrity": "sha1-v3x9lm3Vbs1cF/ocslPJrLflSq8=", + "dev": true + }, + "babel-plugin-undeclared-variables-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-undeclared-variables-check/-/babel-plugin-undeclared-variables-check-1.0.2.tgz", + "integrity": "sha1-XPGqU52BP/ZOmWQSkK9iCWX2Xe4=", + "dev": true, + "requires": { + "leven": "^1.0.2" + } + }, + "babel-plugin-undefined-to-void": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/babel-plugin-undefined-to-void/-/babel-plugin-undefined-to-void-1.1.6.tgz", + "integrity": "sha1-f1eO+LeN+uYAM4XYQXph7aBuL4E=", + "dev": true + }, + "babylon": { + "version": "5.8.38", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-5.8.38.tgz", + "integrity": "sha1-7JsSCxG/bM1Bc6GL8hfmC3mFn/0=", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "bl": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/bl/-/bl-0.9.5.tgz", + "integrity": "sha1-wGt5evCF6gC8Unr8jvzxHeIjIFQ=", + "dev": true, + "requires": { + "readable-stream": "~1.0.26" + }, + "dependencies": { + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + } + } + }, + "bluebird": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", + "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=", + "dev": true + }, + "boom": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz", + "integrity": "sha1-emNune1O/O+xnO9JR6PGffrukRs=", + "dev": true, + "requires": { + "hoek": "0.9.x" + } + }, + "brace-expansion": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "breakable": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/breakable/-/breakable-1.0.0.tgz", + "integrity": "sha1-eEp5eRWjjq0nutRWtVcstLuqeME=", + "dev": true + }, + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true + }, + "caseless": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.8.0.tgz", + "integrity": "sha1-W8oogdQUN/VLJAfr40iIx7mtT30=", + "dev": true + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dev": true, + "requires": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "cli": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz", + "integrity": "sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ=", + "dev": true, + "requires": { + "exit": "0.1.2", + "glob": "^7.1.1" + }, + "dependencies": { + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "cli-table": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz", + "integrity": "sha1-9TsFJmqLGguTSz0IIebi3FkUriM=", + "dev": true, + "requires": { + "colors": "1.0.3" + } + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dev": true, + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + }, + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true + } + } + }, + "color": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/color/-/color-0.8.0.tgz", + "integrity": "sha1-iQwHw/1OZJU3Y4kRz2keVFi2/KU=", + "dev": true, + "requires": { + "color-convert": "^0.5.0", + "color-string": "^0.3.0" + } + }, + "color-convert": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz", + "integrity": "sha1-vbbGnOZg+t/+CwAHzER+G59ygr0=", + "dev": true + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "color-string": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", + "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", + "dev": true, + "requires": { + "color-name": "^1.0.0" + } + }, + "colornames": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/colornames/-/colornames-0.0.2.tgz", + "integrity": "sha1-2BH9bIT1kClJmorEQ2ICk1uSvjE=", + "dev": true + }, + "colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=" + }, + "colorspace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.0.1.tgz", + "integrity": "sha1-yZx5btMRKLmHalLh7l7gOkpxl0k=", + "dev": true, + "requires": { + "color": "0.8.x", + "text-hex": "0.0.x" + } + }, + "combined-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz", + "integrity": "sha1-ATfmV7qlp1QcV6w3rF/AfXO03B8=", + "dev": true, + "requires": { + "delayed-stream": "0.0.5" + } + }, + "commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "dev": true, + "requires": { + "graceful-readlink": ">= 1.0.0" + } + }, + "comment-parser": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.3.2.tgz", + "integrity": "sha1-PAPwd2uGo239mgosl8YwfzMggv4=", + "dev": true, + "requires": { + "readable-stream": "^2.0.4" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.0.3", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "common-style": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/common-style/-/common-style-3.1.0.tgz", + "integrity": "sha1-4klABqWZE2zyYSwTHRENFd4Qz9E=", + "dev": true, + "requires": { + "fashion-show": "^3.2.1", + "jscs": "^2.1.1", + "jshint": "^2.8.0" + } + }, + "commoner": { + "version": "0.10.8", + "resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.8.tgz", + "integrity": "sha1-NPw2cs0kOT6LtH5wyqApOBH08sU=", + "dev": true, + "requires": { + "commander": "^2.5.0", + "detective": "^4.3.1", + "glob": "^5.0.15", + "graceful-fs": "^4.1.2", + "iconv-lite": "^0.4.5", + "mkdirp": "^0.5.0", + "private": "^0.1.6", + "q": "^1.1.2", + "recast": "^0.11.17" + }, + "dependencies": { + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "dev": true + }, + "recast": { + "version": "0.11.23", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz", + "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=", + "dev": true, + "requires": { + "ast-types": "0.9.6", + "esprima": "~3.1.0", + "private": "~0.1.5", + "source-map": "~0.5.0" + } + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "^0.1.4" + } + }, + "convert-source-map": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz", + "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=", + "dev": true + }, + "core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "corser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz", + "integrity": "sha1-jtolLsqrWEDc2XXOuQ2TcMgZ/4c=" + }, + "cryptiles": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz", + "integrity": "sha1-7ZH/HxetE9N0gohZT4pIoNJvMlw=", + "dev": true, + "requires": { + "boom": "0.4.x" + } + }, + "ctype": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz", + "integrity": "sha1-gsGMJGH3QRTvFsE1IkrQuRRMoS8=", + "dev": true + }, + "cycle": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", + "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=", + "dev": true + }, + "d": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "dev": true, + "requires": { + "es5-ext": "^0.10.9" + } + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "deep-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", + "dev": true + }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, + "defs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/defs/-/defs-1.1.1.tgz", + "integrity": "sha1-siYJ8sehG6ej2xFoBcE5scr/qdI=", + "dev": true, + "requires": { + "alter": "~0.2.0", + "ast-traverse": "~0.1.1", + "breakable": "~1.0.0", + "esprima-fb": "~15001.1001.0-dev-harmony-fb", + "simple-fmt": "~0.1.0", + "simple-is": "~0.2.0", + "stringmap": "~0.2.2", + "stringset": "~0.2.1", + "tryor": "~0.1.2", + "yargs": "~3.27.0" + }, + "dependencies": { + "esprima-fb": { + "version": "15001.1001.0-dev-harmony-fb", + "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1001.0-dev-harmony-fb.tgz", + "integrity": "sha1-Q761fsJujPI3092LM+QlM1d/Jlk=", + "dev": true + }, + "window-size": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", + "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=", + "dev": true + }, + "yargs": { + "version": "3.27.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.27.0.tgz", + "integrity": "sha1-ISBUaTFuk5Ex1Z8toMbX+YIh6kA=", + "dev": true, + "requires": { + "camelcase": "^1.2.1", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "os-locale": "^1.4.0", + "window-size": "^0.1.2", + "y18n": "^3.2.0" + } + } + } + }, + "delayed-stream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz", + "integrity": "sha1-1LH0OpPoKW3+AmlPRoC8N6MTxz8=", + "dev": true + }, + "detect-indent": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-3.0.1.tgz", + "integrity": "sha1-ncXl3bzu+DJXZLlFGwK8bVQIT3U=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1", + "minimist": "^1.1.0", + "repeating": "^1.1.0" + } + }, + "detective": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/detective/-/detective-4.5.0.tgz", + "integrity": "sha1-blqMaybmx6JUsca210kNmOyR7dE=", + "dev": true, + "requires": { + "acorn": "^4.0.3", + "defined": "^1.0.0" + } + }, + "diagnostics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/diagnostics/-/diagnostics-1.1.0.tgz", + "integrity": "sha1-4QkJALSVI+hSe+IPCBJ1IF8q42o=", + "dev": true, + "requires": { + "colorspace": "1.0.x", + "enabled": "1.0.x", + "kuler": "0.0.x" + } + }, + "diff": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/diff/-/diff-1.0.8.tgz", + "integrity": "sha1-NDJ2MI7Jkbe8giZ+1VvBQR+XFmY=", + "dev": true + }, + "dom-serializer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", + "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", + "dev": true, + "requires": { + "domelementtype": "~1.1.1", + "entities": "~1.1.1" + }, + "dependencies": { + "domelementtype": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", + "dev": true + }, + "entities": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", + "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", + "dev": true + } + } + }, + "domelementtype": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", + "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", + "dev": true + }, + "domhandler": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", + "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "ecstatic": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ecstatic/-/ecstatic-3.2.1.tgz", + "integrity": "sha512-BAdHx9LOCG1fwxY8MIydUBskl8UUQrYeC3WE14FA1DPlBzqoG1aOgEkypcSpmiiel8RAj8gW1s40RrclfrpGUg==", + "requires": { + "he": "^1.1.1", + "mime": "^1.6.0", + "minimist": "^1.1.0", + "url-join": "^2.0.5" + } + }, + "enabled": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz", + "integrity": "sha1-ll9lE9LC0cX0ZStkouM5ZGf8L5M=", + "dev": true, + "requires": { + "env-variable": "0.0.x" + } + }, + "entities": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", + "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=", + "dev": true + }, + "env-variable": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/env-variable/-/env-variable-0.0.3.tgz", + "integrity": "sha1-uGwWQb5WECZ9UG8YBx6nbXBwl8s=", + "dev": true + }, + "es5-ext": { + "version": "0.10.35", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.35.tgz", + "integrity": "sha1-GO6FjOajxFx9eekcFfzKnsVoSU8=", + "dev": true, + "requires": { + "es6-iterator": "~2.0.1", + "es6-symbol": "~3.1.1" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-map": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", + "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-set": "~0.1.5", + "es6-symbol": "~3.1.1", + "event-emitter": "~0.3.5" + } + }, + "es6-set": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", + "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-symbol": "3.1.1", + "event-emitter": "~0.3.5" + } + }, + "es6-symbol": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "es6-weak-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", + "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.14", + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "escope": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", + "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "dev": true, + "requires": { + "es6-map": "^0.1.3", + "es6-weak-map": "^2.0.1", + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "esrecurse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", + "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", + "dev": true, + "requires": { + "estraverse": "^4.1.0", + "object-assign": "^4.0.1" + } + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "eventemitter3": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz", + "integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=" + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "eyes": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", + "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=", + "dev": true + }, + "fashion-show": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fashion-show/-/fashion-show-3.3.3.tgz", + "integrity": "sha1-wBwRyT+nFcGmfPU0317xU/bdIvE=", + "dev": true, + "requires": { + "async": "~0.9.0", + "chalk": "^1.1.0", + "diagnostics": "1.1.0", + "minimist": "^1.1.2", + "object-assign": "^4.0.1", + "yargs": "~3.5.4" + }, + "dependencies": { + "async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "dev": true + } + } + }, + "forever-agent": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz", + "integrity": "sha1-bQ4JxJIflKJ/Y9O0nF/v8epMUTA=", + "dev": true + }, + "form-data": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz", + "integrity": "sha1-kavXiKupcCsaq/qLwBAxoqyeOxI=", + "dev": true, + "requires": { + "async": "~0.9.0", + "combined-stream": "~0.0.4", + "mime": "~1.2.11" + }, + "dependencies": { + "async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "dev": true + }, + "mime": { + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz", + "integrity": "sha1-WCA+7Ybjpe8XrtK32evUfwpg3RA=", + "dev": true + } + } + }, + "fs-readdir-recursive": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-0.1.2.tgz", + "integrity": "sha1-MVtPuMHKW4xH3v7zGdBz2tNWgFk=", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "globals": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/globals/-/globals-6.4.1.tgz", + "integrity": "sha1-hJgDKzttHMge68X3lpDY/in6v08=", + "dev": true + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-color": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz", + "integrity": "sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8=", + "dev": true + }, + "hawk": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-1.1.1.tgz", + "integrity": "sha1-h81JH5tG5OKurKM1QWdmiF0tHtk=", + "dev": true, + "requires": { + "boom": "0.4.x", + "cryptiles": "0.2.x", + "hoek": "0.9.x", + "sntp": "0.2.x" + } + }, + "he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=" + }, + "hoek": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz", + "integrity": "sha1-PTIkYrrfB3Fup+uFuviAec3c5QU=", + "dev": true + }, + "home-or-tmp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-1.0.0.tgz", + "integrity": "sha1-S58eQIAMPlDGwn94FnavzOcfOYU=", + "dev": true, + "requires": { + "os-tmpdir": "^1.0.1", + "user-home": "^1.1.1" + } + }, + "htmlparser2": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", + "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", + "dev": true, + "requires": { + "domelementtype": "1", + "domhandler": "2.3", + "domutils": "1.5", + "entities": "1.0", + "readable-stream": "1.1" + } + }, + "http-proxy": { + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz", + "integrity": "sha1-Bt/ykpUr9k2+hHH6nfcwZtTzd0I=", + "requires": { + "eventemitter3": "1.x.x", + "requires-port": "1.x.x" + } + }, + "http-signature": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz", + "integrity": "sha1-T72sEyVZqoMjEh5UB3nAoBKyfmY=", + "dev": true, + "requires": { + "asn1": "0.1.11", + "assert-plus": "^0.1.5", + "ctype": "0.5.3" + } + }, + "i": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/i/-/i-0.3.6.tgz", + "integrity": "sha1-2WyScyB28HJxG2sQ/X1PZa2O4j0=", + "dev": true + }, + "iconv-lite": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherit": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/inherit/-/inherit-2.2.6.tgz", + "integrity": "sha1-8WFLBshUToEo5CKchjR9tzrZeI0=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "is-buffer": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz", + "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=", + "dev": true + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-integer": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-integer/-/is-integer-1.0.7.tgz", + "integrity": "sha1-a96Bqs3feLZZtmKdYpytxRqIbVw=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "js-tokens": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-1.0.1.tgz", + "integrity": "sha1-zENaXIuUrRWst5gxQPyAGCyJrq4=", + "dev": true + }, + "js-yaml": { + "version": "3.4.6", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.4.6.tgz", + "integrity": "sha1-a+GyP2JJ9T0pM3D9TRqqY84bTrA=", + "dev": true, + "requires": { + "argparse": "^1.0.2", + "esprima": "^2.6.0", + "inherit": "^2.2.2" + } + }, + "jscs": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/jscs/-/jscs-2.11.0.tgz", + "integrity": "sha1-bhHvDKqgdzH53MKysn2OzuHdvLY=", + "dev": true, + "requires": { + "babel-jscs": "^2.0.0", + "chalk": "~1.1.0", + "cli-table": "~0.3.1", + "commander": "~2.9.0", + "escope": "^3.2.0", + "esprima": "~2.7.0", + "estraverse": "^4.1.0", + "exit": "~0.1.2", + "glob": "^5.0.1", + "htmlparser2": "3.8.3", + "js-yaml": "~3.4.0", + "jscs-jsdoc": "^1.3.1", + "jscs-preset-wikimedia": "~1.0.0", + "jsonlint": "~1.6.2", + "lodash": "~3.10.0", + "minimatch": "~3.0.0", + "natural-compare": "~1.2.2", + "pathval": "~0.1.1", + "prompt": "~0.2.14", + "reserved-words": "^0.1.1", + "resolve": "^1.1.6", + "strip-bom": "^2.0.0", + "strip-json-comments": "~1.0.2", + "to-double-quotes": "^2.0.0", + "to-single-quotes": "^2.0.0", + "vow": "~0.4.8", + "vow-fs": "~0.3.4", + "xmlbuilder": "^3.1.0" + } + }, + "jscs-jsdoc": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/jscs-jsdoc/-/jscs-jsdoc-1.3.2.tgz", + "integrity": "sha1-HyyCtqtLl1JNqVj0a05WLgMF+ac=", + "dev": true, + "requires": { + "comment-parser": "^0.3.1", + "jsdoctypeparser": "~1.2.0" + } + }, + "jscs-preset-wikimedia": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/jscs-preset-wikimedia/-/jscs-preset-wikimedia-1.0.0.tgz", + "integrity": "sha1-//VjNCA4/C6IJre7cwnDrjQG/H4=", + "dev": true + }, + "jsdoctypeparser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-1.2.0.tgz", + "integrity": "sha1-597cFToRhJ/8UUEUSuhqfvDCU5I=", + "dev": true, + "requires": { + "lodash": "^3.7.0" + } + }, + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + }, + "jshint": { + "version": "2.9.5", + "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.9.5.tgz", + "integrity": "sha1-HnJSkVzmgbQIJ+4UJIxG006apiw=", + "dev": true, + "requires": { + "cli": "~1.0.0", + "console-browserify": "1.1.x", + "exit": "0.1.x", + "htmlparser2": "3.8.x", + "lodash": "3.7.x", + "minimatch": "~3.0.2", + "shelljs": "0.3.x", + "strip-json-comments": "1.0.x" + }, + "dependencies": { + "lodash": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.7.0.tgz", + "integrity": "sha1-Nni9irmVBXwHreg27S7wh9qBHUU=", + "dev": true + } + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json5": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.4.0.tgz", + "integrity": "sha1-BUNS5MTIDIbAkjh31EneF2pzLI0=", + "dev": true + }, + "jsonlint": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/jsonlint/-/jsonlint-1.6.2.tgz", + "integrity": "sha1-VzcEUIX1XrRVxosf9OvAG9UOiDA=", + "dev": true, + "requires": { + "JSV": ">= 4.0.x", + "nomnom": ">= 1.5.x" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + }, + "kuler": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/kuler/-/kuler-0.0.0.tgz", + "integrity": "sha1-tmu0a5NOVQ9Z2BiEjgq7pPf1VTw=", + "dev": true, + "requires": { + "colornames": "0.0.2" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, + "leven": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/leven/-/leven-1.0.2.tgz", + "integrity": "sha1-kUS27ryl8dBoAWnxpncNzqYLdcM=", + "dev": true + }, + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "dev": true + }, + "lodash._baseassign": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", + "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", + "dev": true, + "requires": { + "lodash._basecopy": "^3.0.0", + "lodash.keys": "^3.0.0" + } + }, + "lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", + "dev": true + }, + "lodash._bindcallback": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz", + "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=", + "dev": true + }, + "lodash._createassigner": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz", + "integrity": "sha1-g4pbri/aymOsIt7o4Z+k5taXCxE=", + "dev": true, + "requires": { + "lodash._bindcallback": "^3.0.0", + "lodash._isiterateecall": "^3.0.0", + "lodash.restparam": "^3.0.0" + } + }, + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", + "dev": true + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", + "dev": true + }, + "lodash.assign": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-3.2.0.tgz", + "integrity": "sha1-POnwI0tLIiPilrj6CsH+6OvKZPo=", + "dev": true, + "requires": { + "lodash._baseassign": "^3.0.0", + "lodash._createassigner": "^3.0.0", + "lodash.keys": "^3.0.0" + } + }, + "lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", + "dev": true + }, + "lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", + "dev": true + }, + "lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "dev": true, + "requires": { + "lodash._getnative": "^3.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" + } + }, + "lodash.restparam": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", + "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", + "dev": true + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-types": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz", + "integrity": "sha1-mVrhOSq4r/y/yyZB3QVOlDwNXc4=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + } + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "natural-compare": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.2.2.tgz", + "integrity": "sha1-H5bWDjFBysG20FZTzg2urHY69qo=", + "dev": true + }, + "ncp": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz", + "integrity": "sha1-q8xsvT7C7Spyn/bnwfqPAXhKhXQ=", + "dev": true + }, + "node-uuid": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz", + "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=", + "dev": true + }, + "nomnom": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz", + "integrity": "sha1-IVH3Ikcrp55Qp2/BJbuMjy5Nwqc=", + "dev": true, + "requires": { + "chalk": "~0.4.0", + "underscore": "~1.6.0" + }, + "dependencies": { + "ansi-styles": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", + "integrity": "sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg=", + "dev": true + }, + "chalk": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", + "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", + "dev": true, + "requires": { + "ansi-styles": "~1.0.0", + "has-color": "~0.1.0", + "strip-ansi": "~0.1.0" + } + }, + "strip-ansi": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz", + "integrity": "sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE=", + "dev": true + } + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "oauth-sign": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.5.0.tgz", + "integrity": "sha1-12f1FpMlYg6rLgh+8MRy53PbZGE=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "opener": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.4.3.tgz", + "integrity": "sha1-XG2ixdflgx6P+jlklQ+NZnSskLg=" + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + }, + "dependencies": { + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" + } + } + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "^1.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "output-file-sync": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-1.1.2.tgz", + "integrity": "sha1-0KM+7+YaIF+suQCS6CZZjVJFznY=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.4", + "mkdirp": "^0.5.1", + "object-assign": "^4.1.0" + } + }, + "path-exists": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-1.0.0.tgz", + "integrity": "sha1-1aiZjrce83p0w06w2eum6HjuoIE=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-parse": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "dev": true + }, + "pathval": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-0.1.1.tgz", + "integrity": "sha1-CPkRzcqczllCiA2ngXvAtyO2bYI=", + "dev": true + }, + "pkginfo": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz", + "integrity": "sha1-tUGO8EOd5UJfxJlQQtztFPsqhP8=", + "dev": true + }, + "portfinder": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.13.tgz", + "integrity": "sha1-uzLs2HwnEErm7kS1o8y/Drsa7ek=", + "requires": { + "async": "^1.5.2", + "debug": "^2.2.0", + "mkdirp": "0.5.x" + } + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "prompt": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/prompt/-/prompt-0.2.14.tgz", + "integrity": "sha1-V3VPZPVD/XsIRXB8gY7OYY8F/9w=", + "dev": true, + "requires": { + "pkginfo": "0.x.x", + "read": "1.0.x", + "revalidator": "0.1.x", + "utile": "0.2.x", + "winston": "0.8.x" + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "q": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.0.tgz", + "integrity": "sha1-3QG6ydBtMObyGa7LglPunr3DCPE=", + "dev": true + }, + "qs": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-2.3.3.tgz", + "integrity": "sha1-6eha2+ddoLvkyOBHaghikPhjtAQ=" + }, + "read": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", + "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", + "dev": true, + "requires": { + "mute-stream": "~0.0.4" + } + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "recast": { + "version": "0.10.33", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.10.33.tgz", + "integrity": "sha1-lCgI96oBbx+nFCxGHX5XBKqo1pc=", + "dev": true, + "requires": { + "ast-types": "0.8.12", + "esprima-fb": "~15001.1001.0-dev-harmony-fb", + "private": "~0.1.5", + "source-map": "~0.5.0" + }, + "dependencies": { + "ast-types": { + "version": "0.8.12", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.8.12.tgz", + "integrity": "sha1-oNkOQ1G7iHcWyD/WN+v4GK9K38w=", + "dev": true + }, + "esprima-fb": { + "version": "15001.1001.0-dev-harmony-fb", + "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1001.0-dev-harmony-fb.tgz", + "integrity": "sha1-Q761fsJujPI3092LM+QlM1d/Jlk=", + "dev": true + } + } + }, + "regenerate": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", + "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==", + "dev": true + }, + "regenerator": { + "version": "0.8.40", + "resolved": "https://registry.npmjs.org/regenerator/-/regenerator-0.8.40.tgz", + "integrity": "sha1-oORXxY69uuV1yfjNdRJ+k3VkNdg=", + "dev": true, + "requires": { + "commoner": "~0.10.3", + "defs": "~1.1.0", + "esprima-fb": "~15001.1001.0-dev-harmony-fb", + "private": "~0.1.5", + "recast": "0.10.33", + "through": "~2.3.8" + }, + "dependencies": { + "esprima-fb": { + "version": "15001.1001.0-dev-harmony-fb", + "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1001.0-dev-harmony-fb.tgz", + "integrity": "sha1-Q761fsJujPI3092LM+QlM1d/Jlk=", + "dev": true + } + } + }, + "regexpu": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/regexpu/-/regexpu-1.3.0.tgz", + "integrity": "sha1-5TTcmRqeWEYFDJjebX3UpVyeoW0=", + "dev": true, + "requires": { + "esprima": "^2.6.0", + "recast": "^0.10.10", + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + } + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "repeating": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-1.1.3.tgz", + "integrity": "sha1-PUEUIYh3U3SU+X93+Xhfq4EPpKw=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "request": { + "version": "2.49.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.49.0.tgz", + "integrity": "sha1-DU9jSNwzSAWbVT5Ntg/SR43mYqc=", + "dev": true, + "requires": { + "aws-sign2": "~0.5.0", + "bl": "~0.9.0", + "caseless": "~0.8.0", + "combined-stream": "~0.0.5", + "forever-agent": "~0.5.0", + "form-data": "~0.1.0", + "hawk": "1.1.1", + "http-signature": "~0.10.0", + "json-stringify-safe": "~5.0.0", + "mime-types": "~1.0.1", + "node-uuid": "~1.4.0", + "oauth-sign": "~0.5.0", + "qs": "~2.3.1", + "stringstream": "~0.0.4", + "tough-cookie": ">=0.12.0", + "tunnel-agent": "~0.4.0" + } + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" + }, + "reserved-words": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/reserved-words/-/reserved-words-0.1.2.tgz", + "integrity": "sha1-AKCUD5jNUBrqqsMWQR2a3FKzGrE=", + "dev": true + }, + "resolve": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz", + "integrity": "sha512-aW7sVKPufyHqOmyyLzg/J+8606v5nevBgaliIlV7nUpVMsDnoBGV/cbSLNjZAg9q0Cfd/+easKVKQ8vOu8fn1Q==", + "dev": true, + "requires": { + "path-parse": "^1.0.5" + } + }, + "revalidator": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz", + "integrity": "sha1-/s5hv6DBtSoga9axgZgYS91SOjs=", + "dev": true + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dev": true, + "requires": { + "align-text": "^0.1.1" + } + }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "requires": { + "glob": "^7.0.5" + }, + "dependencies": { + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "dev": true + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "shelljs": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz", + "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=", + "dev": true + }, + "simple-fmt": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/simple-fmt/-/simple-fmt-0.1.0.tgz", + "integrity": "sha1-GRv1ZqWeZTBILLJatTtKjchcOms=", + "dev": true + }, + "simple-is": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/simple-is/-/simple-is-0.2.0.tgz", + "integrity": "sha1-Krt1qt453rXMgVzhDmGRFkhQuvA=", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + }, + "sntp": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz", + "integrity": "sha1-+4hfGLDzqtGJ+CSGJTa87ux1CQA=", + "dev": true, + "requires": { + "hoek": "0.9.x" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-support": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.2.10.tgz", + "integrity": "sha1-6lo5AKHByyUJagrozFwrSxDe09w=", + "dev": true, + "requires": { + "source-map": "0.1.32" + }, + "dependencies": { + "source-map": { + "version": "0.1.32", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz", + "integrity": "sha1-yLbBZ3l7pHQKjqMyUhYv8IWRsmY=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "stable": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.6.tgz", + "integrity": "sha1-kQ9dKu17Ugxud3SZwfMuE5/eyxA=", + "dev": true + }, + "stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "stringmap": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stringmap/-/stringmap-0.2.2.tgz", + "integrity": "sha1-VWwTeyWPlCuHdvWy71gqoGnX0bE=", + "dev": true + }, + "stringset": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/stringset/-/stringset-0.2.1.tgz", + "integrity": "sha1-7yWcTjSTRDd/zRyRPdLoSMnAQrU=", + "dev": true + }, + "stringstream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-json-comments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", + "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "text-hex": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-0.0.0.tgz", + "integrity": "sha1-V4+8haapJjbkLdF7QdAhjM6esrM=", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "to-double-quotes": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-double-quotes/-/to-double-quotes-2.0.0.tgz", + "integrity": "sha1-qvIx1vqUiUn4GTAburRITYWI5Kc=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + }, + "to-single-quotes": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/to-single-quotes/-/to-single-quotes-2.0.1.tgz", + "integrity": "sha1-fMKRUfD18sQZRvEZ9ZMv5VQXASU=", + "dev": true + }, + "tough-cookie": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", + "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", + "dev": true, + "requires": { + "punycode": "^1.4.1" + } + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, + "try-resolve": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/try-resolve/-/try-resolve-1.0.1.tgz", + "integrity": "sha1-z95vq9ctY+V5fPqrhzq76OcA6RI=", + "dev": true + }, + "tryor": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/tryor/-/tryor-0.1.2.tgz", + "integrity": "sha1-gUXkynyv9ArN48z5Rui4u3W0Fys=", + "dev": true + }, + "tunnel-agent": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", + "dev": true + }, + "underscore": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", + "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", + "dev": true + }, + "union": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/union/-/union-0.4.6.tgz", + "integrity": "sha1-GY+9rrolTniLDvy2MLwR8kopWeA=", + "requires": { + "qs": "~2.3.3" + } + }, + "url-join": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-2.0.5.tgz", + "integrity": "sha1-WvIvGMBSoACkjXuCxenC4v7tpyg=" + }, + "user-home": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", + "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "utile": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/utile/-/utile-0.2.1.tgz", + "integrity": "sha1-kwyI6ZCY1iIINMNWy9mncFItkNc=", + "dev": true, + "requires": { + "async": "~0.2.9", + "deep-equal": "*", + "i": "0.3.x", + "mkdirp": "0.x.x", + "ncp": "0.4.x", + "rimraf": "2.x.x" + }, + "dependencies": { + "async": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", + "dev": true + } + } + }, + "uuid": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", + "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", + "dev": true + }, + "vow": { + "version": "0.4.17", + "resolved": "https://registry.npmjs.org/vow/-/vow-0.4.17.tgz", + "integrity": "sha512-A3/9bWFqf6gT0jLR4/+bT+IPTe1mQf+tdsW6+WI5geP9smAp8Kbbu4R6QQCDKZN/8TSCqTlXVQm12QliB4rHfg==", + "dev": true + }, + "vow-fs": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/vow-fs/-/vow-fs-0.3.6.tgz", + "integrity": "sha1-LUxZviLivyYY3fWXq0uqkjvnIA0=", + "dev": true, + "requires": { + "glob": "^7.0.5", + "uuid": "^2.0.2", + "vow": "^0.4.7", + "vow-queue": "^0.4.1" + }, + "dependencies": { + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "vow-queue": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/vow-queue/-/vow-queue-0.4.3.tgz", + "integrity": "sha512-/poAKDTFL3zYbeQg7cl4BGcfP4sGgXKrHnRFSKj97dteUFu8oyXMwIcdwu8NSx/RmPGIuYx1Bik/y5vU4H/VKw==", + "dev": true, + "requires": { + "vow": "^0.4.17" + } + }, + "vows": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/vows/-/vows-0.7.0.tgz", + "integrity": "sha1-3QBl8RC6DAptY+hEhRwyCBdtWGc=", + "dev": true, + "requires": { + "diff": "~1.0.3", + "eyes": ">=0.1.6" + } + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true + }, + "winston": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/winston/-/winston-0.8.3.tgz", + "integrity": "sha1-ZLar9M0Brcrv1QCTk7HY6L7BnbA=", + "dev": true, + "requires": { + "async": "0.2.x", + "colors": "0.6.x", + "cycle": "1.0.x", + "eyes": "0.1.x", + "isstream": "0.1.x", + "pkginfo": "0.3.x", + "stack-trace": "0.0.x" + }, + "dependencies": { + "async": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", + "dev": true + }, + "colors": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", + "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=", + "dev": true + }, + "pkginfo": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.1.tgz", + "integrity": "sha1-Wyn2qB9wcXFC4J52W76rl7T4HiE=", + "dev": true + } + } + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xmlbuilder": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-3.1.0.tgz", + "integrity": "sha1-LIaIjy1OrehQ+jjKf3Ij9yCVFuE=", + "dev": true, + "requires": { + "lodash": "^3.5.0" + } + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yargs": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.5.4.tgz", + "integrity": "sha1-2K/49mXpTDS9JZvevRv68N3TU2E=", + "dev": true, + "requires": { + "camelcase": "^1.0.2", + "decamelize": "^1.0.0", + "window-size": "0.1.0", + "wordwrap": "0.0.2" + }, + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true + } + } + } + } +} From 7f013c1aa27608e1de5fce7f9a35f70529da453a Mon Sep 17 00:00:00 2001 From: Jade Thornton Date: Sun, 2 Sep 2018 21:02:54 -0500 Subject: [PATCH 118/194] Add support for brotli encoding fixes #445 --- README.md | 4 +++- bin/http-server | 3 +++ lib/http-server.js | 2 ++ package-lock.json | 6 +++--- package.json | 2 +- 5 files changed, 12 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 27f2de7b1..34d3f088f 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,9 @@ This will install `http-server` globally so that it may be run from the command `-i` Display autoIndex (defaults to `true`) -`-g` or `--gzip` When enabled (defaults to `false`) it will serve `./public/some-file.js.gz` in place of `./public/some-file.js` when a gzipped version of the file exists and the request accepts gzip encoding. +`-g` or `--gzip` When enabled (defaults to `false`) it will serve `./public/some-file.js.gz` in place of `./public/some-file.js` when a gzipped version of the file exists and the request accepts gzip encoding. If brotli is also enabled, it will try to serve brotli first. + +`-b` or `--brotli` When enabled (defaults to `false`) it will serve `./public/some-file.js.br` in place of `./public/some-file.js` when a brotli compressed version of the file exists and the request accepts `br` encoding. If gzip is also enabled, it will try to serve brotli first. `-e` or `--ext` Default file extension if none supplied (defaults to `html`) diff --git a/bin/http-server b/bin/http-server index 926e0dd75..38190b75e 100755 --- a/bin/http-server +++ b/bin/http-server @@ -23,6 +23,8 @@ if (argv.h || argv.help) { ' -d Show directory listings [true]', ' -i Display autoIndex [true]', ' -g --gzip Serve gzip files when possible [false]', + ' -b --brotli Serve brotli files when possible [false]', + ' If both brotli and gzip are enabled, brotli takes precedence', ' -e --ext Default file extension if none supplied [none]', ' -s --silent Suppress log messages from output', ' --cors[=headers] Enable CORS via the "Access-Control-Allow-Origin" header', @@ -99,6 +101,7 @@ function listen(port) { showDir: argv.d, autoIndex: argv.i, gzip: argv.g || argv.gzip, + brotli: argv.b || argv.brotli, robots: argv.r || argv.robots, ext: argv.e || argv.ext, logFn: logger.request, diff --git a/lib/http-server.js b/lib/http-server.js index 7e3e06df1..360be8b36 100644 --- a/lib/http-server.js +++ b/lib/http-server.js @@ -48,6 +48,7 @@ function HttpServer(options) { this.autoIndex = options.autoIndex !== 'false'; this.showDotfiles = options.showDotfiles; this.gzip = options.gzip === true; + this.brotli = options.brotli === true; this.contentType = options.contentType || 'application/octet-stream'; if (options.ext) { @@ -101,6 +102,7 @@ function HttpServer(options) { autoIndex: this.autoIndex, defaultExt: this.ext, gzip: this.gzip, + brotli: this.brotli, contentType: this.contentType, handleError: typeof options.proxy !== 'string' })); diff --git a/package-lock.json b/package-lock.json index 0a7478efe..e9d243220 100644 --- a/package-lock.json +++ b/package-lock.json @@ -823,9 +823,9 @@ } }, "ecstatic": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ecstatic/-/ecstatic-3.2.1.tgz", - "integrity": "sha512-BAdHx9LOCG1fwxY8MIydUBskl8UUQrYeC3WE14FA1DPlBzqoG1aOgEkypcSpmiiel8RAj8gW1s40RrclfrpGUg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/ecstatic/-/ecstatic-3.3.0.tgz", + "integrity": "sha512-EblWYTd+wPIAMQ0U4oYJZ7QBypT9ZUIwpqli0bKDjeIIQnXDBK2dXtZ9yzRCOlkW1HkO8gn7/FxLK1yPIW17pw==", "requires": { "he": "^1.1.1", "mime": "^1.6.0", diff --git a/package.json b/package.json index bd608dfdb..288dabf4f 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "dependencies": { "colors": "1.0.3", "corser": "~2.0.0", - "ecstatic": "^3.0.0", + "ecstatic": "^3.3.0", "http-proxy": "^1.8.1", "opener": "~1.4.0", "optimist": "0.6.x", From e50fc44f8b88dde86281b18c6988a25961711731 Mon Sep 17 00:00:00 2001 From: Matt Johnston Date: Thu, 4 Oct 2018 11:16:37 -0300 Subject: [PATCH 119/194] Add --port alias for -p flag (#468) * Feat: added --port flag * Docs: added --port flag to README.md Fixes #466 --- README.md | 2 +- bin/http-server | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 27f2de7b1..4158d1d37 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ This will install `http-server` globally so that it may be run from the command ## Available Options: -`-p` Port to use (defaults to 8080) +`-p` or `--port` Port to use (defaults to 8080) `-a` Address to use (defaults to 0.0.0.0) diff --git a/bin/http-server b/bin/http-server index 926e0dd75..0a1f2e94d 100755 --- a/bin/http-server +++ b/bin/http-server @@ -18,7 +18,7 @@ if (argv.h || argv.help) { 'usage: http-server [path] [options]', '', 'options:', - ' -p Port to use [8080]', + ' -p --port Port to use [8080]', ' -a Address to use [0.0.0.0]', ' -d Show directory listings [true]', ' -i Display autoIndex [true]', @@ -45,7 +45,7 @@ if (argv.h || argv.help) { process.exit(); } -var port = argv.p || parseInt(process.env.PORT, 10), +var port = argv.p || argv.port || parseInt(process.env.PORT, 10), host = argv.a || '0.0.0.0', ssl = !!argv.S || !!argv.ssl, proxy = argv.P || argv.proxy, From 40357ddf896e38c05e5adefeb938639da48ec29e Mon Sep 17 00:00:00 2001 From: Jade Thornton Date: Wed, 12 Dec 2018 08:19:31 -0600 Subject: [PATCH 120/194] add compression tests --- test/http-server-test.js | 53 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/test/http-server-test.js b/test/http-server-test.js index e64f04e1d..03e8732f7 100644 --- a/test/http-server-test.js +++ b/test/http-server-test.js @@ -154,5 +154,58 @@ vows.describe('http-server').addBatch({ assert.ok(res.headers['access-control-allow-headers'].split(/\s*,\s*/g).indexOf('X-Test') >= 0, 204); } } + }, + 'When gzip and brotli compression is enabled and a compressed file is available': { + topic: function () { + var server = httpServer.createServer({ + root: root, + brotli: true, + gzip: true + }); + server.listen(8084); + this.callback(null, server); + }, + 'when making a request accepting only gzip is made': { + topic: function () { + request({ + uri: 'http://127.0.0.1:8084/compression/', + headers: { + 'accept-encoding': 'gzip' + } + }, this.callback); + }, + 'response should be gzip compressed': function (err, res, body) { + assert.equal(res.statusCode, 200); + assert.equal(res.headers['content-encoding'], 'gzip'); + } + }, + 'and a request accepting only brotli is made': { + topic: function () { + request({ + uri: 'http://127.0.0.1:8084/compression/', + headers: { + 'accept-encoding': 'br' + } + }, this.callback); + }, + 'response should be brotli compressed': function (err, res, body) { + assert.equal(res.statusCode, 200); + assert.equal(res.headers['content-encoding'], 'br'); + } + }, + 'and a request accepting both brotli and gzip is made': { + topic: function () { + request({ + uri: 'http://127.0.0.1:8084/compression/', + headers: { + 'accept-encoding': 'br' + } + }, this.callback); + }, + 'response should be brotli compressed': function (err, res, body) { + assert.equal(res.statusCode, 200); + assert.equal(res.headers['content-encoding'], 'br'); + } + } } }).export(module); From 2cee0a3b78557705b7f632bf049fbed63a9fb887 Mon Sep 17 00:00:00 2001 From: Jade Thornton Date: Wed, 12 Dec 2018 08:24:17 -0600 Subject: [PATCH 121/194] add compression test files --- test/fixtures/root/compression/index.html | 1 + test/fixtures/root/compression/index.html.br | 3 +++ test/fixtures/root/compression/index.html.gz | Bin 0 -> 52 bytes 3 files changed, 4 insertions(+) create mode 100644 test/fixtures/root/compression/index.html create mode 100644 test/fixtures/root/compression/index.html.br create mode 100644 test/fixtures/root/compression/index.html.gz diff --git a/test/fixtures/root/compression/index.html b/test/fixtures/root/compression/index.html new file mode 100644 index 000000000..d22051964 --- /dev/null +++ b/test/fixtures/root/compression/index.html @@ -0,0 +1 @@ +I'm not compressed! diff --git a/test/fixtures/root/compression/index.html.br b/test/fixtures/root/compression/index.html.br new file mode 100644 index 000000000..7f1d5c801 --- /dev/null +++ b/test/fixtures/root/compression/index.html.br @@ -0,0 +1,3 @@ + +�im brotli compressed!! + diff --git a/test/fixtures/root/compression/index.html.gz b/test/fixtures/root/compression/index.html.gz new file mode 100644 index 0000000000000000000000000000000000000000..4d3f3cbd61f2beec66c03d10ed4158665b1edfe3 GIT binary patch literal 52 zcmb2|=HOT@AQ;2IoSB!BTA`OwlAFWuIpln($NEz`0Uqbh>uPxE>iPKwK4D_$yq44~ I%D}(?0M4-ylK=n! literal 0 HcmV?d00001 From 8a3b87e5a0aaf178b7090c1cd697a9d8395c3941 Mon Sep 17 00:00:00 2001 From: Jade Thornton Date: Thu, 13 Dec 2018 08:37:52 -0600 Subject: [PATCH 122/194] fix tests so they do what they say they do --- test/http-server-test.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/http-server-test.js b/test/http-server-test.js index 03e8732f7..4eb2696bb 100644 --- a/test/http-server-test.js +++ b/test/http-server-test.js @@ -165,7 +165,7 @@ vows.describe('http-server').addBatch({ server.listen(8084); this.callback(null, server); }, - 'when making a request accepting only gzip is made': { + 'and a request accepting only gzip is made': { topic: function () { request({ uri: 'http://127.0.0.1:8084/compression/', @@ -198,7 +198,7 @@ vows.describe('http-server').addBatch({ request({ uri: 'http://127.0.0.1:8084/compression/', headers: { - 'accept-encoding': 'br' + 'accept-encoding': 'gzip, br' } }, this.callback); }, From 0b69655e759e27cf3fd1ab9528c86a46b268d082 Mon Sep 17 00:00:00 2001 From: Dmitriy Rozhkov Date: Wed, 24 Oct 2018 12:16:53 +0200 Subject: [PATCH 123/194] Handle proxy errors --- lib/http-server.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/http-server.js b/lib/http-server.js index 7e3e06df1..a5efc7079 100644 --- a/lib/http-server.js +++ b/lib/http-server.js @@ -111,6 +111,13 @@ function HttpServer(options) { proxy.web(req, res, { target: options.proxy, changeOrigin: true + }, function (err, req, res, target) { + if (options.logFn) { + options.logFn(req, res, { + message: err.message, + status: res.statusCode }); + } + res.emit('next'); }); }); } From 7564021de9f3fec85c553cf77223bcddac6b3985 Mon Sep 17 00:00:00 2001 From: Wout Mertens Date: Fri, 25 Jan 2019 16:57:13 +0100 Subject: [PATCH 124/194] Point out the npx option (#488) --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 4158d1d37..108618d3b 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,12 @@ Installation via `npm`: This will install `http-server` globally so that it may be run from the command line. +## Running on-demand: + +Using `npx` you can run the script without installing it first: + + npx http-server [path] [options] + ## Usage: http-server [path] [options] From 8b5b5653ef9142619df289951b941edc31cb48d0 Mon Sep 17 00:00:00 2001 From: Jade Thornton Date: Sun, 3 Feb 2019 14:23:20 -0600 Subject: [PATCH 125/194] Update license year Signed-off-by: Jade Thornton --- LICENSE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index 1e989b448..903b74833 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2011 Charlie Robbins, Marak Squires, and the Contributors. +Copyright (c) 2011-2019 Charlie Robbins, Marak Squires, and the Contributors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the From 51cdf577c2effca4c1544b9e356e09a8c7bce795 Mon Sep 17 00:00:00 2001 From: Jade Thornton Date: Mon, 4 Feb 2019 07:43:28 -0600 Subject: [PATCH 126/194] add option for client IP logging Continuing work by @paked in #187, this adds the useful feature of logging the remote client IP address. I personally use this feature in Apache often at work, and it would be nice to have it here as well! The addition is the `--log-ip` option, which adds the client IP to the log message between the date and the request method and url. Signed-off-by: Jade Thornton --- README.md | 2 ++ bin/http-server | 13 +++++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 108618d3b..7de60f156 100644 --- a/README.md +++ b/README.md @@ -57,6 +57,8 @@ Using `npx` you can run the script without installing it first: `-U` or `--utc` Use UTC time format in log messages. +`--log-ip` Enable logging of the client's IP address (default: `false`). + `-P` or `--proxy` Proxies all requests which can't be resolved locally to the given url. e.g.: -P http://someurl.com `-S` or `--ssl` Enable https. diff --git a/bin/http-server b/bin/http-server index 0a1f2e94d..4cedfb5a4 100755 --- a/bin/http-server +++ b/bin/http-server @@ -9,6 +9,7 @@ var colors = require('colors/safe'), opener = require('opener'), argv = require('optimist') .boolean('cors') + .boolean('log-ip') .argv; var ifaces = os.networkInterfaces(); @@ -31,6 +32,7 @@ if (argv.h || argv.help) { ' -c Cache time (max-age) in seconds [3600], e.g. -c10 for 10 seconds.', ' To disable caching, use -c-1.', ' -U --utc Use UTC time format in log messages.', + ' --log-ip Enable logging of the client\'s IP address', '', ' -P --proxy Fallback proxy if the request cannot be resolved. e.g.: http://someurl.com', '', @@ -57,17 +59,20 @@ if (!argv.s && !argv.silent) { info: console.log, request: function (req, res, error) { var date = utc ? new Date().toUTCString() : new Date(); + var ip = argv.log-ip + ? req.headers['x-forwarded-for'] || '' + req.connection.remoteAddress + : ''; if (error) { logger.info( - '[%s] "%s %s" Error (%s): "%s"', - date, colors.red(req.method), colors.red(req.url), + '[%s] %s "%s %s" Error (%s): "%s"', + date, ip, colors.red(req.method), colors.red(req.url), colors.red(error.status.toString()), colors.red(error.message) ); } else { logger.info( - '[%s] "%s %s" "%s"', - date, colors.cyan(req.method), colors.cyan(req.url), + '[%s] %s "%s %s" "%s"', + date, ip, colors.cyan(req.method), colors.cyan(req.url), req.headers['user-agent'] ); } From bfee8d4803e6e7e6de1b3f236b57761c577799ff Mon Sep 17 00:00:00 2001 From: Jade Thornton Date: Mon, 4 Feb 2019 08:24:00 -0600 Subject: [PATCH 127/194] use quotes to check switch Signed-off-by: Jade Thornton --- bin/http-server | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/http-server b/bin/http-server index 4cedfb5a4..1e73907c5 100755 --- a/bin/http-server +++ b/bin/http-server @@ -59,7 +59,7 @@ if (!argv.s && !argv.silent) { info: console.log, request: function (req, res, error) { var date = utc ? new Date().toUTCString() : new Date(); - var ip = argv.log-ip + var ip = argv['log-ip'] ? req.headers['x-forwarded-for'] || '' + req.connection.remoteAddress : ''; if (error) { From 64de7f534d98fd14222a53a03ced675f1c5da1d1 Mon Sep 17 00:00:00 2001 From: amad-person Date: Tue, 5 Feb 2019 22:41:40 +0800 Subject: [PATCH 128/194] Add issue and pull request templates --- .github/ISSUE_TEMPLATE | 20 ++++++++++++++++++++ .github/PULL_REQUEST_TEMPLATE | 19 +++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE create mode 100644 .github/PULL_REQUEST_TEMPLATE diff --git a/.github/ISSUE_TEMPLATE b/.github/ISSUE_TEMPLATE new file mode 100644 index 000000000..89a10ffff --- /dev/null +++ b/.github/ISSUE_TEMPLATE @@ -0,0 +1,20 @@ +**Do you want to request a *feature* or report a *bug*?** + +**If the issue is a bug report, please provide the steps to reproduce it. Please include the actual command causing the issue if applicable.** + + + +**What did you expect to happen?** + +**What actually happened? Please include the actual error trace and / or stack trace if applicable.** + + + +**If the issue is a feature request, what is the motivation / use case for it?** + +**Tell us about your environment** +- **http-server version:** +- **Platform:** + +**Other information (related issues, suggestions for a fix, etc):** + diff --git a/.github/PULL_REQUEST_TEMPLATE b/.github/PULL_REQUEST_TEMPLATE new file mode 100644 index 000000000..273336171 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE @@ -0,0 +1,19 @@ +**Please ensure that your pull request fulfills these requirements:** +- [ ] The pull request is being made against the `master` branch +- [ ] Tests for the changes have been added (for bug fixes / features) + +**What is the purpose of this pull request? (bug fix, enhancement, new feature,...)** + + + +**What changes did you make?** + +**Provide some example code that this change will affect, if applicable:** + + + +**Is there anything you'd like reviewers to focus on?** + +**Please provide testing instructions, if applicable:** From 72d7614950591fc9b1ec983813193fc9e2580970 Mon Sep 17 00:00:00 2001 From: Charles Hill Date: Mon, 24 Dec 2018 12:34:24 +0100 Subject: [PATCH 129/194] Updated dependencies to fix security issues Removed common-style (deprecated, depends on unpatched packages) Issue #461 --- package-lock.json | 868 +++++++++++++++++++++++++++++----------------- package.json | 20 +- 2 files changed, 554 insertions(+), 334 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0a7478efe..b132dc556 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,11 +11,23 @@ "dev": true }, "acorn": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", + "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", "dev": true }, + "ajv": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.8.1.tgz", + "integrity": "sha512-eqxCp82P+JfqL683wwsL73XmFs1eG6qjw+RD3YHx+Jll1r0jNd4dh8QG9NYAeNGA/hnZjeEDgtTskgJULbxpWQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, "align-text": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", @@ -55,24 +67,27 @@ "dev": true }, "argparse": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", - "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { "sprintf-js": "~1.0.2" } }, "asn1": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz", - "integrity": "sha1-VZvhg3bQik7E2+gId9J4GGObLfc=", - "dev": true + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } }, "assert-plus": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz", - "integrity": "sha1-7nQAlBMALYTOxyGcasgRgS5yMWA=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true }, "ast-traverse": { @@ -92,10 +107,22 @@ "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, "aws-sign2": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz", - "integrity": "sha1-xXED96F/wDfwLXwuZLYC6iI/fWM=", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", "dev": true }, "babel-core": { @@ -152,6 +179,21 @@ "try-resolve": "^1.0.0" }, "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "dev": true + }, "minimatch": { "version": "2.0.10", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", @@ -222,6 +264,14 @@ "dev": true, "requires": { "lodash": "^3.9.3" + }, + "dependencies": { + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "dev": true + } } }, "babel-plugin-react-constant-elements": { @@ -281,27 +331,13 @@ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, - "bl": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/bl/-/bl-0.9.5.tgz", - "integrity": "sha1-wGt5evCF6gC8Unr8jvzxHeIjIFQ=", + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, "requires": { - "readable-stream": "~1.0.26" - }, - "dependencies": { - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - } + "tweetnacl": "^0.14.3" } }, "bluebird": { @@ -310,19 +346,10 @@ "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=", "dev": true }, - "boom": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz", - "integrity": "sha1-emNune1O/O+xnO9JR6PGffrukRs=", - "dev": true, - "requires": { - "hoek": "0.9.x" - } - }, "brace-expansion": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -342,9 +369,9 @@ "dev": true }, "caseless": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.8.0.tgz", - "integrity": "sha1-W8oogdQUN/VLJAfr40iIx7mtT30=", + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, "center-align": { @@ -381,9 +408,9 @@ }, "dependencies": { "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -403,6 +430,14 @@ "dev": true, "requires": { "colors": "1.0.3" + }, + "dependencies": { + "colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", + "dev": true + } } }, "cliui": { @@ -441,9 +476,9 @@ "dev": true }, "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, "color-string": { @@ -462,9 +497,9 @@ "dev": true }, "colors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=" + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", + "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==" }, "colorspace": { "version": "1.0.1", @@ -477,12 +512,12 @@ } }, "combined-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz", - "integrity": "sha1-ATfmV7qlp1QcV6w3rF/AfXO03B8=", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", + "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", "dev": true, "requires": { - "delayed-stream": "0.0.5" + "delayed-stream": "~1.0.0" } }, "commander": { @@ -510,24 +545,24 @@ "dev": true }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", + "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", - "string_decoder": "~1.0.3", + "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { "safe-buffer": "~5.1.0" @@ -599,10 +634,13 @@ } }, "convert-source-map": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz", - "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=", - "dev": true + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", + "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } }, "core-js": { "version": "1.2.7", @@ -621,21 +659,6 @@ "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz", "integrity": "sha1-jtolLsqrWEDc2XXOuQ2TcMgZ/4c=" }, - "cryptiles": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz", - "integrity": "sha1-7ZH/HxetE9N0gohZT4pIoNJvMlw=", - "dev": true, - "requires": { - "boom": "0.4.x" - } - }, - "ctype": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz", - "integrity": "sha1-gsGMJGH3QRTvFsE1IkrQuRRMoS8=", - "dev": true - }, "cycle": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", @@ -651,6 +674,15 @@ "es5-ext": "^0.10.9" } }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, "date-now": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", @@ -658,9 +690,9 @@ "dev": true }, "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "requires": { "ms": "2.0.0" } @@ -730,9 +762,9 @@ } }, "delayed-stream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz", - "integrity": "sha1-1LH0OpPoKW3+AmlPRoC8N6MTxz8=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", "dev": true }, "detect-indent": { @@ -747,12 +779,12 @@ } }, "detective": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/detective/-/detective-4.5.0.tgz", - "integrity": "sha1-blqMaybmx6JUsca210kNmOyR7dE=", + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", + "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", "dev": true, "requires": { - "acorn": "^4.0.3", + "acorn": "^5.2.1", "defined": "^1.0.0" } }, @@ -790,17 +822,17 @@ "dev": true }, "entities": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", - "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", "dev": true } } }, "domelementtype": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", - "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", "dev": true }, "domhandler": { @@ -822,10 +854,20 @@ "domelementtype": "1" } }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, "ecstatic": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ecstatic/-/ecstatic-3.2.1.tgz", - "integrity": "sha512-BAdHx9LOCG1fwxY8MIydUBskl8UUQrYeC3WE14FA1DPlBzqoG1aOgEkypcSpmiiel8RAj8gW1s40RrclfrpGUg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/ecstatic/-/ecstatic-3.3.0.tgz", + "integrity": "sha512-EblWYTd+wPIAMQ0U4oYJZ7QBypT9ZUIwpqli0bKDjeIIQnXDBK2dXtZ9yzRCOlkW1HkO8gn7/FxLK1yPIW17pw==", "requires": { "he": "^1.1.1", "mime": "^1.6.0", @@ -849,19 +891,20 @@ "dev": true }, "env-variable": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/env-variable/-/env-variable-0.0.3.tgz", - "integrity": "sha1-uGwWQb5WECZ9UG8YBx6nbXBwl8s=", + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/env-variable/-/env-variable-0.0.5.tgz", + "integrity": "sha512-zoB603vQReOFvTg5xMl9I1P2PnHsHQQKTEowsKKD7nseUfJq6UWzK+4YtlWUO1nhiQUxe6XMkk+JleSZD1NZFA==", "dev": true }, "es5-ext": { - "version": "0.10.35", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.35.tgz", - "integrity": "sha1-GO6FjOajxFx9eekcFfzKnsVoSU8=", + "version": "0.10.47", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.47.tgz", + "integrity": "sha512-/1TItLfj+TTfWoeRcDn/0FbGV6SNo4R+On2GGVucPU/j3BWnXE2Co8h8CTo4Tu34gFJtnmwS9xiScKs4EjZhdw==", "dev": true, "requires": { - "es6-iterator": "~2.0.1", - "es6-symbol": "~3.1.1" + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.1", + "next-tick": "1" } }, "es6-iterator": { @@ -949,13 +992,12 @@ "dev": true }, "esrecurse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", - "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "^4.1.0", - "object-assign": "^4.0.1" + "estraverse": "^4.1.0" } }, "estraverse": { @@ -981,9 +1023,9 @@ } }, "eventemitter3": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz", - "integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", + "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==" }, "exit": { "version": "0.1.2", @@ -991,6 +1033,18 @@ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", "dev": true }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, "eyes": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", @@ -1019,35 +1073,41 @@ } } }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "follow-redirects": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.6.1.tgz", + "integrity": "sha512-t2JCjbzxQpWvbhts3l6SH1DKzSrx8a+SsaVf4h6bG4kOXUuPYS/kg2Lr4gQSb7eemaHqJkOThF1BGyjlUkO1GQ==", + "requires": { + "debug": "=3.1.0" + } + }, "forever-agent": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz", - "integrity": "sha1-bQ4JxJIflKJ/Y9O0nF/v8epMUTA=", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", "dev": true }, "form-data": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz", - "integrity": "sha1-kavXiKupcCsaq/qLwBAxoqyeOxI=", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, "requires": { - "async": "~0.9.0", - "combined-stream": "~0.0.4", - "mime": "~1.2.11" - }, - "dependencies": { - "async": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", - "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", - "dev": true - }, - "mime": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz", - "integrity": "sha1-WCA+7Ybjpe8XrtK32evUfwpg3RA=", - "dev": true - } + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" } }, "fs-readdir-recursive": { @@ -1068,6 +1128,15 @@ "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", "dev": true }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, "glob": { "version": "5.0.15", "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", @@ -1088,9 +1157,9 @@ "dev": true }, "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", "dev": true }, "graceful-readlink": { @@ -1099,6 +1168,22 @@ "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", "dev": true }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "dev": true, + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, "has-ansi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", @@ -1114,28 +1199,10 @@ "integrity": "sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8=", "dev": true }, - "hawk": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-1.1.1.tgz", - "integrity": "sha1-h81JH5tG5OKurKM1QWdmiF0tHtk=", - "dev": true, - "requires": { - "boom": "0.4.x", - "cryptiles": "0.2.x", - "hoek": "0.9.x", - "sntp": "0.2.x" - } - }, "he": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=" - }, - "hoek": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz", - "integrity": "sha1-PTIkYrrfB3Fup+uFuviAec3c5QU=", - "dev": true + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" }, "home-or-tmp": { "version": "1.0.0", @@ -1161,23 +1228,24 @@ } }, "http-proxy": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz", - "integrity": "sha1-Bt/ykpUr9k2+hHH6nfcwZtTzd0I=", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz", + "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==", "requires": { - "eventemitter3": "1.x.x", - "requires-port": "1.x.x" + "eventemitter3": "^3.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" } }, "http-signature": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz", - "integrity": "sha1-T72sEyVZqoMjEh5UB3nAoBKyfmY=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { - "asn1": "0.1.11", - "assert-plus": "^0.1.5", - "ctype": "0.5.3" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "i": { @@ -1187,10 +1255,13 @@ "dev": true }, "iconv-lite": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", - "dev": true + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } }, "inflight": { "version": "1.0.6", @@ -1203,9 +1274,9 @@ } }, "inherit": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/inherit/-/inherit-2.2.6.tgz", - "integrity": "sha1-8WFLBshUToEo5CKchjR9tzrZeI0=", + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/inherit/-/inherit-2.2.7.tgz", + "integrity": "sha512-dxJmC1j0Q32NFAjvbd6g3lXYLZ49HgzotgbSMwMkoiTXGhC9412Oc24g7A7M9cPPkw/vDsF2cSII+2zJwocUtQ==", "dev": true }, "inherits": { @@ -1221,9 +1292,9 @@ "dev": true }, "is-buffer": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz", - "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, "is-finite": { @@ -1244,6 +1315,12 @@ "is-finite": "^1.0.0" } }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, "is-utf8": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", @@ -1279,6 +1356,12 @@ "inherit": "^2.2.2" } }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, "jscs": { "version": "2.11.0", "resolved": "https://registry.npmjs.org/jscs/-/jscs-2.11.0.tgz", @@ -1313,6 +1396,14 @@ "vow": "~0.4.8", "vow-fs": "~0.3.4", "xmlbuilder": "^3.1.0" + }, + "dependencies": { + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "dev": true + } } }, "jscs-jsdoc": { @@ -1326,9 +1417,9 @@ } }, "jscs-preset-wikimedia": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/jscs-preset-wikimedia/-/jscs-preset-wikimedia-1.0.0.tgz", - "integrity": "sha1-//VjNCA4/C6IJre7cwnDrjQG/H4=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/jscs-preset-wikimedia/-/jscs-preset-wikimedia-1.0.1.tgz", + "integrity": "sha512-RWqu6IYSUlnYuCRCF0obCOHjJV0vhpLcvKbauwxmLQoZ0PiXDTWBYlfpsEfdhg7pmREAEwrARfDRz5qWD6qknA==", "dev": true }, "jsdoctypeparser": { @@ -1338,6 +1429,14 @@ "dev": true, "requires": { "lodash": "^3.7.0" + }, + "dependencies": { + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "dev": true + } } }, "jsesc": { @@ -1347,29 +1446,41 @@ "dev": true }, "jshint": { - "version": "2.9.5", - "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.9.5.tgz", - "integrity": "sha1-HnJSkVzmgbQIJ+4UJIxG006apiw=", + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.10.1.tgz", + "integrity": "sha512-9GpPfKeffYBl7oBDX2lHPG16j0AM7D2bn3aLy9DaWTr6CWa0i/7UGhX8WLZ7V14QQnnr4hXbjauTLYg06F+HYw==", "dev": true, "requires": { "cli": "~1.0.0", "console-browserify": "1.1.x", "exit": "0.1.x", "htmlparser2": "3.8.x", - "lodash": "3.7.x", + "lodash": "~4.17.10", "minimatch": "~3.0.2", "shelljs": "0.3.x", "strip-json-comments": "1.0.x" }, "dependencies": { "lodash": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.7.0.tgz", - "integrity": "sha1-Nni9irmVBXwHreg27S7wh9qBHUU=", + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", "dev": true } } }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", @@ -1383,13 +1494,25 @@ "dev": true }, "jsonlint": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/jsonlint/-/jsonlint-1.6.2.tgz", - "integrity": "sha1-VzcEUIX1XrRVxosf9OvAG9UOiDA=", + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/jsonlint/-/jsonlint-1.6.3.tgz", + "integrity": "sha512-jMVTMzP+7gU/IyC6hvKyWpUU8tmTkK5b3BPNuMI9U8Sit+YAWLlZwB6Y6YrdCxfg2kNz05p3XY3Bmm4m26Nv3A==", + "dev": true, + "requires": { + "JSV": "^4.0.x", + "nomnom": "^1.5.x" + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "dev": true, "requires": { - "JSV": ">= 4.0.x", - "nomnom": ">= 1.5.x" + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" } }, "kind-of": { @@ -1431,12 +1554,6 @@ "integrity": "sha1-kUS27ryl8dBoAWnxpncNzqYLdcM=", "dev": true }, - "lodash": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", - "dev": true - }, "lodash._baseassign": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", @@ -1533,12 +1650,21 @@ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, - "mime-types": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz", - "integrity": "sha1-mVrhOSq4r/y/yyZB3QVOlDwNXc4=", + "mime-db": { + "version": "1.37.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", + "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==", "dev": true }, + "mime-types": { + "version": "2.1.21", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", + "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", + "dev": true, + "requires": { + "mime-db": "~1.37.0" + } + }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -1574,9 +1700,9 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", "dev": true }, "natural-compare": { @@ -1591,10 +1717,10 @@ "integrity": "sha1-q8xsvT7C7Spyn/bnwfqPAXhKhXQ=", "dev": true }, - "node-uuid": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz", - "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=", + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", "dev": true }, "nomnom": { @@ -1639,9 +1765,9 @@ "dev": true }, "oauth-sign": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.5.0.tgz", - "integrity": "sha1-12f1FpMlYg6rLgh+8MRy53PbZGE=", + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", "dev": true }, "object-assign": { @@ -1660,9 +1786,9 @@ } }, "opener": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.4.3.tgz", - "integrity": "sha1-XG2ixdflgx6P+jlklQ+NZnSskLg=" + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz", + "integrity": "sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==" }, "optimist": { "version": "0.6.1", @@ -1719,9 +1845,9 @@ "dev": true }, "path-parse": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", - "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", "dev": true }, "pathval": { @@ -1730,6 +1856,12 @@ "integrity": "sha1-CPkRzcqczllCiA2ngXvAtyO2bYI=", "dev": true }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, "pkginfo": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz", @@ -1737,13 +1869,23 @@ "dev": true }, "portfinder": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.13.tgz", - "integrity": "sha1-uzLs2HwnEErm7kS1o8y/Drsa7ek=", + "version": "1.0.20", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.20.tgz", + "integrity": "sha512-Yxe4mTyDzTd59PZJY4ojZR8F+E5e97iq2ZOHPz3HDgSvYC5siNad2tLooQ5y5QHyQhc3xVqvyk/eNA3wuoa7Sw==", "requires": { "async": "^1.5.2", "debug": "^2.2.0", "mkdirp": "0.5.x" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + } } }, "private": { @@ -1753,9 +1895,9 @@ "dev": true }, "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", "dev": true }, "prompt": { @@ -1771,22 +1913,28 @@ "winston": "0.8.x" } }, + "psl": { + "version": "1.1.31", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", + "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==", + "dev": true + }, "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true }, "q": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.0.tgz", - "integrity": "sha1-3QG6ydBtMObyGa7LglPunr3DCPE=", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", "dev": true }, "qs": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-2.3.3.tgz", - "integrity": "sha1-6eha2+ddoLvkyOBHaghikPhjtAQ=" + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.6.0.tgz", + "integrity": "sha512-KIJqT9jQJDQx5h5uAVPimw6yVg2SekOKu959OCtktD3FjzbpvaPr8i4zzg07DOMz+igA4W/aNM7OV8H37pFYfA==" }, "read": { "version": "1.0.7", @@ -1836,9 +1984,9 @@ } }, "regenerate": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", - "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", "dev": true }, "regenerator": { @@ -1907,27 +2055,39 @@ } }, "request": { - "version": "2.49.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.49.0.tgz", - "integrity": "sha1-DU9jSNwzSAWbVT5Ntg/SR43mYqc=", - "dev": true, - "requires": { - "aws-sign2": "~0.5.0", - "bl": "~0.9.0", - "caseless": "~0.8.0", - "combined-stream": "~0.0.5", - "forever-agent": "~0.5.0", - "form-data": "~0.1.0", - "hawk": "1.1.1", - "http-signature": "~0.10.0", - "json-stringify-safe": "~5.0.0", - "mime-types": "~1.0.1", - "node-uuid": "~1.4.0", - "oauth-sign": "~0.5.0", - "qs": "~2.3.1", - "stringstream": "~0.0.4", - "tough-cookie": ">=0.12.0", - "tunnel-agent": "~0.4.0" + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + } } }, "requires-port": { @@ -1942,12 +2102,12 @@ "dev": true }, "resolve": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz", - "integrity": "sha512-aW7sVKPufyHqOmyyLzg/J+8606v5nevBgaliIlV7nUpVMsDnoBGV/cbSLNjZAg9q0Cfd/+easKVKQ8vOu8fn1Q==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz", + "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==", "dev": true, "requires": { - "path-parse": "^1.0.5" + "path-parse": "^1.0.6" } }, "revalidator": { @@ -1966,18 +2126,18 @@ } }, "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "^7.1.3" }, "dependencies": { "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -1991,9 +2151,15 @@ } }, "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, "shebang-regex": { @@ -2026,15 +2192,6 @@ "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", "dev": true }, - "sntp": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz", - "integrity": "sha1-+4hfGLDzqtGJ+CSGJTa87ux1CQA=", - "dev": true, - "requires": { - "hoek": "0.9.x" - } - }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -2067,10 +2224,27 @@ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, "stable": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.6.tgz", - "integrity": "sha1-kQ9dKu17Ugxud3SZwfMuE5/eyxA=", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", "dev": true }, "stack-trace": { @@ -2097,12 +2271,6 @@ "integrity": "sha1-7yWcTjSTRDd/zRyRPdLoSMnAQrU=", "dev": true }, - "stringstream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", - "dev": true - }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", @@ -2164,12 +2332,21 @@ "dev": true }, "tough-cookie": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", - "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", "dev": true, "requires": { + "psl": "^1.1.24", "punycode": "^1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } } }, "trim-right": { @@ -2191,9 +2368,18 @@ "dev": true }, "tunnel-agent": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", - "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true }, "underscore": { @@ -2203,11 +2389,20 @@ "dev": true }, "union": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/union/-/union-0.4.6.tgz", - "integrity": "sha1-GY+9rrolTniLDvy2MLwR8kopWeA=", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz", + "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==", "requires": { - "qs": "~2.3.3" + "qs": "^6.4.0" + } + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "^2.1.0" } }, "url-join": { @@ -2250,15 +2445,26 @@ } }, "uuid": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", - "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", "dev": true }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, "vow": { - "version": "0.4.17", - "resolved": "https://registry.npmjs.org/vow/-/vow-0.4.17.tgz", - "integrity": "sha512-A3/9bWFqf6gT0jLR4/+bT+IPTe1mQf+tdsW6+WI5geP9smAp8Kbbu4R6QQCDKZN/8TSCqTlXVQm12QliB4rHfg==", + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/vow/-/vow-0.4.18.tgz", + "integrity": "sha512-7QGozxlOhour77BCQbbyW5XFP8ioIz/DPK67IyO3DnJtF0WXrXueMwqrYFM9yqyfgENcyxL+vktz2oJeZfdWtw==", "dev": true }, "vow-fs": { @@ -2274,9 +2480,9 @@ }, "dependencies": { "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -2286,6 +2492,12 @@ "once": "^1.3.0", "path-is-absolute": "^1.0.0" } + }, + "uuid": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", + "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", + "dev": true } } }, @@ -2367,6 +2579,14 @@ "dev": true, "requires": { "lodash": "^3.5.0" + }, + "dependencies": { + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "dev": true + } } }, "y18n": { diff --git a/package.json b/package.json index bd608dfdb..e8c402b25 100644 --- a/package.json +++ b/package.json @@ -66,19 +66,19 @@ } ], "dependencies": { - "colors": "1.0.3", - "corser": "~2.0.0", - "ecstatic": "^3.0.0", - "http-proxy": "^1.8.1", - "opener": "~1.4.0", - "optimist": "0.6.x", - "portfinder": "^1.0.13", - "union": "~0.4.3" + "colors": "^1.3.3", + "corser": "^2.0.1", + "ecstatic": "^3.3.0", + "http-proxy": "^1.17.0", + "opener": "^1.5.1", + "optimist": "~0.6.1", + "portfinder": "^1.0.20", + "union": "~0.5.0" }, "devDependencies": { "common-style": "^3.0.0", - "request": "2.49.x", - "vows": "0.7.x" + "request": "^2.88.0", + "vows": "~0.7.0" }, "bugs": { "url": "https://github.com/nodeapps/http-server/issues" From 3e9a57f2c025e47454be08252025acb13218c1e9 Mon Sep 17 00:00:00 2001 From: ebiiim Date: Sat, 6 Apr 2019 15:05:04 +0900 Subject: [PATCH 130/194] Add README `--no-dotfiles` option --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 108618d3b..08dc12e81 100644 --- a/README.md +++ b/README.md @@ -67,6 +67,8 @@ Using `npx` you can run the script without installing it first: `-r` or `--robots` Provide a /robots.txt (whose content defaults to `User-agent: *\nDisallow: /`) +`--no-dotfiles` Do not show dotfiles + `-h` or `--help` Print this list and exit. ## Magic Files From 2b11028b8d145f3bee98c7dadc2ac83226a66032 Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Mon, 15 Apr 2019 09:42:47 -0500 Subject: [PATCH 131/194] add thornjad to contributors --- package.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index bd608dfdb..804a6208a 100644 --- a/package.json +++ b/package.json @@ -63,7 +63,11 @@ { "name": "BigBlueHat", "email": "byoung@bigbluehat.com" - } + }, + { + "name": "Jade Michael Thornton", + "email": "jade@jmthornton.net" + } ], "dependencies": { "colors": "1.0.3", From 34467ea3c0325a5f5ec7047fa57162e746c77ec0 Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Mon, 15 Apr 2019 09:42:53 -0500 Subject: [PATCH 132/194] ignore emacs local settings file --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 6adcd013e..7b8cf3fda 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ node_modules/* npm-debug.log +.dir-locals.el From 597c1262a03627037ff2f6375ed5fb9b9218c0ef Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Mon, 15 Apr 2019 12:01:57 -0500 Subject: [PATCH 133/194] add basic auth pkgs to lock relates to #245 --- package-lock.json | 10 ++++++++++ package.json | 8 ++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index b132dc556..4edd92392 100644 --- a/package-lock.json +++ b/package-lock.json @@ -331,6 +331,11 @@ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, + "basic-auth": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.1.0.tgz", + "integrity": "sha1-RSIe5Cn37h5QNb4/UVM/HN/SmIQ=" + }, "bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", @@ -2162,6 +2167,11 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, + "secure-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz", + "integrity": "sha1-8aAymzCLIh+uN7mXTz1XjQypmeM=" + }, "shebang-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", diff --git a/package.json b/package.json index 7c30e58e8..5e38e5259 100644 --- a/package.json +++ b/package.json @@ -64,10 +64,10 @@ "name": "BigBlueHat", "email": "byoung@bigbluehat.com" }, - { - "name": "Jade Michael Thornton", - "email": "jade@jmthornton.net" - } + { + "name": "Jade Michael Thornton", + "email": "jade@jmthornton.net" + } ], "dependencies": { "basic-auth": "^1.0.3", From 2e97199c933a9a5ea7ad73d2c0def21df1a851d4 Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Mon, 15 Apr 2019 13:28:27 -0500 Subject: [PATCH 134/194] fix up wording --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c0d776ab0..5395b5c92 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ This will install `http-server` globally so that it may be run from the command `--cors` Enable CORS via the `Access-Control-Allow-Origin` header -`-o [url` Open browser window after starting the server. optionally provide a url e.g.: -o http://localhost:8080 +`-o [url]` Open browser window after starting the server. Optionally provide a URL to open. e.g.: -o /other/dir/ `-c` Set cache time (in seconds) for cache-control max-age header, e.g. -c10 for 10 seconds (defaults to '3600'). To disable caching, use -c-1. From d8d001d757db15efd5b5eba7e8d5344916b0883e Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Mon, 15 Apr 2019 13:31:21 -0500 Subject: [PATCH 135/194] standardize with bin --- README.md | 2 +- bin/http-server | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5395b5c92..49a007d18 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ This will install `http-server` globally so that it may be run from the command `--cors` Enable CORS via the `Access-Control-Allow-Origin` header -`-o [url]` Open browser window after starting the server. Optionally provide a URL to open. e.g.: -o /other/dir/ +`-o [path]` Open browser window after starting the server. Optionally provide a URL path to open. e.g.: -o /other/dir/ `-c` Set cache time (in seconds) for cache-control max-age header, e.g. -c10 for 10 seconds (defaults to '3600'). To disable caching, use -c-1. diff --git a/bin/http-server b/bin/http-server index 926e0dd75..48e9a145f 100755 --- a/bin/http-server +++ b/bin/http-server @@ -27,7 +27,8 @@ if (argv.h || argv.help) { ' -s --silent Suppress log messages from output', ' --cors[=headers] Enable CORS via the "Access-Control-Allow-Origin" header', ' Optionally provide CORS headers list separated by commas', - ' -o [path] Open browser window after starting the server', + ' -o [path] Open browser window after starting the server.', + ' Optionally provide a URL path to open the browser window to.', ' -c Cache time (max-age) in seconds [3600], e.g. -c10 for 10 seconds.', ' To disable caching, use -c-1.', ' -U --utc Use UTC time format in log messages.', From 88ff6082fc6ab44259718f69aaee515c85964d7b Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Tue, 16 Apr 2019 11:29:53 -0500 Subject: [PATCH 136/194] add process title set process title to 'http-server' so it can be easily killed. Fixes #333 --- bin/http-server | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bin/http-server b/bin/http-server index 24b54dd93..a73a311d5 100755 --- a/bin/http-server +++ b/bin/http-server @@ -14,6 +14,8 @@ var colors = require('colors/safe'), var ifaces = os.networkInterfaces(); +process.title = 'http-server'; + if (argv.h || argv.help) { console.log([ 'usage: http-server [path] [options]', From 090b08e0d6382b1e14b742dac4c851d2f016abe7 Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Tue, 16 Apr 2019 11:40:08 -0500 Subject: [PATCH 137/194] require at least node 6 Fixes #232 --- package.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 5e38e5259..92cd0b2ef 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,9 @@ }, "keywords": [ "cli", - "command" + "command", + "http", + "server" ], "scripts": { "start": "node ./bin/http-server", @@ -20,6 +22,9 @@ "lib", "bin" ], + "engines": { + "node": ">=6" + }, "contributors": [ { "name": "Charlie Robbins", From 801fa120ba690e297cb7822a2db1e8094334e196 Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Tue, 16 Apr 2019 15:33:06 -0500 Subject: [PATCH 138/194] add man page This page will be added to `man` when http-server is installed. --- doc/http-server.1 | 156 ++++++++++++++++++++++++++++++++++++++++++++++ package.json | 1 + 2 files changed, 157 insertions(+) create mode 100644 doc/http-server.1 diff --git a/doc/http-server.1 b/doc/http-server.1 new file mode 100644 index 000000000..c578fdaaa --- /dev/null +++ b/doc/http-server.1 @@ -0,0 +1,156 @@ +.TH http-server 1 "April 2019" GNU "http-server man page" + +.SH NAME +http-server \- a simple zero-configuration command-line http server + +.SH SYNOPSIS +.B http-server +[\fIPATH\fR] +[\fIOPTIONS\fR] + +.SH DESCRIPTION +\fBhttp-server\fR is a simple, zero-configuration command-line http server. It is powerful enough for production usage, but it's simple and hackable enough to be used for testing, local development, and learning. + +.SH OPTIONS + +.TP +.BI [\fIPATH\fR] +The directory to serve. +Defaults to ./public if it exists, and ./ otherwise. + +.TP +.BI \-p ", " \-\-port " " \fIPORT\fR +Port to use. +Default is 8080. + +.TP +.BI \-a " " \fIADDRESS\fR +Address to use. +Default is 0.0.0.0. + +.TP +.BI \-d +Show directory listings. +Default is true. + +.TP +.BI \-i +Display autoIndex. +Default is true. + +.TP +.BI \-g ", " \-\-gzip +Serve gzip files when possible. +Default is false. + +.TP +.BI \-b ", " \-\-brotli +Serve brotli files when possible. +If both brotli and gzip are enabled, brotli takes precedence. +Default is false. + +.TP +.BI \-e ", " \-\-ext " " \fIEXTENSION\fR +Default file extension is none is provided. + +.TP +.BI \-s ", " \-\-silent +Suppress log messages from output. + +.TP +.BI \-\-cors " " [\fIHEADERS\fR] +Enable CORS via the "Access-Control-Allow-Origin" header. +Optionally provide CORS headers list separated by commas. + +.TP +.BI \-o " " [\fIPATH\fR] +Open default browser window after starting the server. +Optionally provide a URL path to open the browser window to. + +.TP +.BI \-c " " \fITIME\fR +Cache time (max-age) in seconds. +To disable caching, use \-c \-1. +Default is 3600. + +.TP +.BI \-U ", " \-\-utc +Use UTC time format in log messages. + +.TP +.BI \-\-log\-ip +Enable logging of the client IP address. + +.TP +.BI \-P ", " \-\-proxy +Fallback proxy if the request cannot be resolved. + +.TP +.BI \-\-username " " \fIUSERNAME\fR +Username for basic authentication. +Can also be specified with the environment variable NODE_HTTP_SERVER_USERNAME. +Defaults to none. + +.TP +.BI \-\-password " " \fIPASSWORD\fR +Password for basic authentication. +Can also be specified with the environment variable NODE_HTTP_SERVER_PASSWORD. +Defaults to none. + +.TP +.BI \-S ", " \-\-ssl +Enable https. + +.TP +.BI \-C ", " \-\-cert " " [\fIFILE\fR] +Path to SSL certificate file. +If not specified, uses cert.pem. + +.TP +.BI \-K ", " \-\-key " " [\fIFILE\fR] +Path to SSL key file. +If not specified, uses key.pem. + +.TP +.BI \-r ", " \-\-robots " " [\fIUSER\-AGENT\fR] +Respond to /robots.txt request. +If not specified, uses "User-agent: *\\nDisallow: /]" + +.TP +.BI \-\-no\-dotfiles +Do not show dotfiles. + +.TP +.BI \-h ", " \-\-help +Print usage and exit. + +.SH FILES +.B index.html +will be served as the default file to any directory requests. + +.B 404.html +will be served if a file is not found. This can be used for SPA hosting to serve the entry page. + +.SH COPYING +Copyright (c) 2011-2019 Charlie Robbins, Marak Squires, and the Contributors. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +.SH VERSION +Version 0.11.1 diff --git a/package.json b/package.json index 5e38e5259..850babf13 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "lib", "bin" ], + "man": "./doc/http-server.1", "contributors": [ { "name": "Charlie Robbins", From 36a806f194bb8645b6fb414f67b8f5e946f6ac31 Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Wed, 17 Apr 2019 09:03:32 -0500 Subject: [PATCH 139/194] test all maintained node versions --- .travis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index f622025f1..69269a38b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,10 +1,10 @@ sudo: false language: node_js node_js: - - "4" - - "5" - "6" - - "7" + - "8" + - "10" + - "11" before_install: - travis_retry npm install From f42d66257778fbf3a863bb853857fea9d1993e5a Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Fri, 3 May 2019 08:09:23 -0500 Subject: [PATCH 140/194] document catch-all redirect hack (#513) * document catch-all redirect hack Fixes #338 * fix thanks link --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index 5811513a4..cc922fd12 100644 --- a/README.md +++ b/README.md @@ -82,6 +82,16 @@ Using `npx` you can run the script without installing it first: - `index.html` will be served as the default file to any directory requests. - `404.html` will be served if a file is not found. This can be used for Single-Page App (SPA) hosting to serve the entry page. +## Catch-all redirect + +To implement a catch-all redirect, use the index page itself as the proxy with: + +``` +http-server --proxy http://localhost:8080? +``` + +Note the `?` at the end of the proxy URL. Thanks to [@houston3](https://github.com/houston3) for this clever hack! + # Development Checkout this repository locally, then: From 975cc4f600e6e50c117adf71647bb81164a2c04b Mon Sep 17 00:00:00 2001 From: epugh Date: Wed, 28 Aug 2019 13:16:51 -0400 Subject: [PATCH 141/194] fix issue #402 by documenting magic command to generate a SSL certificate --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index cc922fd12..6831d0181 100644 --- a/README.md +++ b/README.md @@ -92,6 +92,14 @@ http-server --proxy http://localhost:8080? Note the `?` at the end of the proxy URL. Thanks to [@houston3](https://github.com/houston3) for this clever hack! +## Need a self signed SSL Certificate? + +Create the `cert.pem` and `key.pem` via the command: + +``` +openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem +``` + # Development Checkout this repository locally, then: From a91c95ac46a2f0f0c6a42dfce2822624c2410edd Mon Sep 17 00:00:00 2001 From: Xmader Date: Wed, 23 Oct 2019 17:12:14 -0400 Subject: [PATCH 142/194] add a hacky and direct workaround to fix #525 --- lib/http-server.js | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/lib/http-server.js b/lib/http-server.js index 4cdd1b1c8..bb45ee2a0 100644 --- a/lib/http-server.js +++ b/lib/http-server.js @@ -6,8 +6,32 @@ var fs = require('fs'), auth = require('basic-auth'), httpProxy = require('http-proxy'), corser = require('corser'), + path = require('path'), secureCompare = require('secure-compare'); +// a hacky and direct workaround to fix https://github.com/http-party/http-server/issues/525 +function getCaller() { + try { + var stack = new Error().stack; + var stackLines = stack.split('\n'); + var callerStack = stackLines[3]; + return callerStack.match(/at (.+) \(/)[1]; + } + catch (error) { + return ''; + } +} + +var _pathNormalize = path.normalize; +path.normalize = function (p) { + var caller = getCaller(); + var result = _pathNormalize(p); + if (caller === 'decodePathname') { + result = result.replace(/\\/g, '/'); + } + return result; +}; + // // Remark: backwards compatibility for previous // case convention of HTTP From c4956ecc93fbf90e4074289fb6f7699107af9132 Mon Sep 17 00:00:00 2001 From: Xmader Date: Wed, 23 Oct 2019 17:15:54 -0400 Subject: [PATCH 143/194] add comments --- lib/http-server.js | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/http-server.js b/lib/http-server.js index bb45ee2a0..c2558e135 100644 --- a/lib/http-server.js +++ b/lib/http-server.js @@ -26,6 +26,7 @@ var _pathNormalize = path.normalize; path.normalize = function (p) { var caller = getCaller(); var result = _pathNormalize(p); + // https://github.com/jfhbrook/node-ecstatic/blob/master/lib/ecstatic.js#L20 if (caller === 'decodePathname') { result = result.replace(/\\/g, '/'); } From f929c9fa9636c940857d2a3236e718150c227f42 Mon Sep 17 00:00:00 2001 From: Xmader Date: Thu, 7 Nov 2019 17:06:24 -0500 Subject: [PATCH 144/194] upgrade vows to v0.8.3 tests can run on Node 12 --- package-lock.json | 33 +++++++++++++++++++++++++-------- package.json | 2 +- 2 files changed, 26 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4edd92392..23b7f9550 100644 --- a/package-lock.json +++ b/package-lock.json @@ -805,9 +805,9 @@ } }, "diff": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/diff/-/diff-1.0.8.tgz", - "integrity": "sha1-NDJ2MI7Jkbe8giZ+1VvBQR+XFmY=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz", + "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==", "dev": true }, "dom-serializer": { @@ -2521,13 +2521,30 @@ } }, "vows": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/vows/-/vows-0.7.0.tgz", - "integrity": "sha1-3QBl8RC6DAptY+hEhRwyCBdtWGc=", + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/vows/-/vows-0.8.3.tgz", + "integrity": "sha512-PVIxa/ovXhrw5gA3mz6M+ZF3PHlqX4tutR2p/y9NWPAaFVKcWBE8b2ktfr0opQM/qFmcOVWKjSCJVjnYOvjXhw==", "dev": true, "requires": { - "diff": "~1.0.3", - "eyes": ">=0.1.6" + "diff": "^4.0.1", + "eyes": "~0.1.6", + "glob": "^7.1.2" + }, + "dependencies": { + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } } }, "window-size": { diff --git a/package.json b/package.json index 5e38e5259..1ffcfa7cb 100644 --- a/package.json +++ b/package.json @@ -84,7 +84,7 @@ "devDependencies": { "common-style": "^3.0.0", "request": "^2.88.0", - "vows": "~0.7.0" + "vows": "~0.8.3" }, "bugs": { "url": "https://github.com/nodeapps/http-server/issues" From 458e97b572347da7e4232d084095f84969c23e06 Mon Sep 17 00:00:00 2001 From: Xmader Date: Thu, 7 Nov 2019 17:09:09 -0500 Subject: [PATCH 145/194] fix vows hangs after all the tests pass add cleanup --- test/http-server-test.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/test/http-server-test.js b/test/http-server-test.js index 0a7f897ff..e9826277c 100644 --- a/test/http-server-test.js +++ b/test/http-server-test.js @@ -125,7 +125,13 @@ vows.describe('http-server').addBatch({ assert.equal(body.trim(), file.trim()); } } + }, + teardown: function (proxyServer) { + proxyServer.close(); } + }, + teardown: function (server) { + server.close(); } }, 'When cors is enabled': { @@ -156,6 +162,9 @@ vows.describe('http-server').addBatch({ 'response Access-Control-Allow-Headers should contain X-Test': function (err, res) { assert.ok(res.headers['access-control-allow-headers'].split(/\s*,\s*/g).indexOf('X-Test') >= 0, 204); } + }, + teardown: function (server) { + server.close(); } }, 'When gzip and brotli compression is enabled and a compressed file is available': { @@ -209,6 +218,9 @@ vows.describe('http-server').addBatch({ assert.equal(res.statusCode, 200); assert.equal(res.headers['content-encoding'], 'br'); } + }, + teardown: function (server) { + server.close(); } }, 'When http-server is listening on 8083 with username "good_username" and password "good_password"': { @@ -341,6 +353,9 @@ vows.describe('http-server').addBatch({ assert.equal(body.trim(), file.trim()); } } + }, + teardown: function (server) { + server.close(); } } }).export(module); From 5dcf680bbcf24efa47f39a69ad378fd89117100e Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Sat, 9 Nov 2019 15:27:40 -0600 Subject: [PATCH 146/194] use latest versions, back to 6 --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 69269a38b..54fd4cdd8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,7 +4,8 @@ node_js: - "6" - "8" - "10" - - "11" + - "12" + - "13" before_install: - travis_retry npm install From 3addf0981416e2559dcab269ac7ec777ffe59fc7 Mon Sep 17 00:00:00 2001 From: Xmader Date: Sat, 9 Nov 2019 16:58:17 -0500 Subject: [PATCH 147/194] test on Windows --- .travis.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.travis.yml b/.travis.yml index 54fd4cdd8..e4740d0a3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,6 +7,10 @@ node_js: - "12" - "13" +os: + - linux + - windows + before_install: - travis_retry npm install From 8028337ef6999f88d24be76eb8c9f113f25b8eb0 Mon Sep 17 00:00:00 2001 From: Xmader Date: Sat, 9 Nov 2019 17:15:08 -0500 Subject: [PATCH 148/194] force to check out files with LF EOL --- .travis.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.travis.yml b/.travis.yml index e4740d0a3..3fd59dbd9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,6 +7,9 @@ node_js: - "12" - "13" +git: + autocrlf: input + os: - linux - windows From e708c7980c43bdcbd77a40510f5b779f705adb08 Mon Sep 17 00:00:00 2001 From: Xmader Date: Sat, 9 Nov 2019 17:31:37 -0500 Subject: [PATCH 149/194] force to install ecstatic v3.3.2 in tests --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 23b7f9550..29f23e9e4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -870,9 +870,9 @@ } }, "ecstatic": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/ecstatic/-/ecstatic-3.3.0.tgz", - "integrity": "sha512-EblWYTd+wPIAMQ0U4oYJZ7QBypT9ZUIwpqli0bKDjeIIQnXDBK2dXtZ9yzRCOlkW1HkO8gn7/FxLK1yPIW17pw==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/ecstatic/-/ecstatic-3.3.2.tgz", + "integrity": "sha512-fLf9l1hnwrHI2xn9mEDT7KIi22UDqA2jaCwyCbSUJh9a1V+LEUSL/JO/6TIz/QyuBURWUHrFL5Kg2TtO1bkkog==", "requires": { "he": "^1.1.1", "mime": "^1.6.0", From 5f06ac85c8b8dd4a7fdc0f601da59b23137327e0 Mon Sep 17 00:00:00 2001 From: Xmader Date: Sun, 10 Nov 2019 14:44:07 -0500 Subject: [PATCH 150/194] bump ecstatic in package.json to ^3.3.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7e1d2345f..c8e4817a4 100644 --- a/package.json +++ b/package.json @@ -78,7 +78,7 @@ "basic-auth": "^1.0.3", "colors": "^1.3.3", "corser": "^2.0.1", - "ecstatic": "^3.3.0", + "ecstatic": "^3.3.2", "http-proxy": "^1.17.0", "opener": "^1.5.1", "optimist": "~0.6.1", From 0f65fc67ab917423906c8a8fbdd55917efe7b8e1 Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Mon, 11 Nov 2019 07:51:35 -0600 Subject: [PATCH 151/194] update readme badges to use new repo --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index b4af01b94..d8965d5fa 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ -[![build status](https://img.shields.io/travis/indexzero/http-server.svg?style=flat-square)](https://travis-ci.org/indexzero/http-server) -[![dependencies status](https://img.shields.io/david/indexzero/http-server.svg?style=flat-square)](https://david-dm.org/indexzero/http-server) +[![build status](https://img.shields.io/travis/http-party/http-server.svg?style=flat-square)](https://travis-ci.org/http-party/http-server) +[![dependencies status](https://img.shields.io/david/http-party/http-server.svg?style=flat-square)](https://david-dm.org/http-party/http-server) [![npm](https://img.shields.io/npm/v/http-server.svg?style=flat-square)](https://www.npmjs.com/package/http-server) -[![license](https://img.shields.io/github/license/indexzero/http-server.svg?style=flat-square)](https://github.com/indexzero/http-server) +[![license](https://img.shields.io/github/license/http-party/http-server.svg?style=flat-square)](https://github.com/http-party/http-server) # http-server: a command-line http server From 6b2fe2577604a09c5582168f1402c879ab51c840 Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Mon, 11 Nov 2019 07:56:15 -0600 Subject: [PATCH 152/194] test on osx I'd like to test on BSD as well, but as far as I can tell Travis doesn't and won't support it. Supporting OSX should sort of handle BSD testing, though it's no substitute for the real thing. --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 3fd59dbd9..70ee55c3b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,6 +13,7 @@ git: os: - linux - windows + - osx before_install: - travis_retry npm install From cd0bbc885d831dd9b234d5597a17b87e5e0e8842 Mon Sep 17 00:00:00 2001 From: Danny Dalton <33505454+dandalton1@users.noreply.github.com> Date: Mon, 11 Nov 2019 22:28:29 -0500 Subject: [PATCH 153/194] SSL Certificate Checking and Grammar Fixes (#479) * Added some existance checking for SSL certificates; changed caching policy algorithm; fixed grammar in testing Signed-off-by: Danny Dalton * Fixed wording Changed `could not stat` to `could not find`. * Changed README arg list to be a table. * Update README.md * Undo README changes --- README.md | 2 +- bin/http-server | 25 ++++++++++++++++++++----- package.json | 6 +++++- test/http-server-test.js | 22 +++++++++++----------- 4 files changed, 37 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index d8965d5fa..31140f7b0 100644 --- a/README.md +++ b/README.md @@ -114,4 +114,4 @@ $ node bin/http-server *Now you can visit http://localhost:8080 to view your server* You should see the turtle image in the screenshot above hosted at that URL. See -the `./public` folder for demo content. +the `./public` folder for demo content. \ No newline at end of file diff --git a/bin/http-server b/bin/http-server index dedd7f66d..5578c16ff 100755 --- a/bin/http-server +++ b/bin/http-server @@ -7,6 +7,7 @@ var colors = require('colors/safe'), httpServer = require('../lib/http-server'), portfinder = require('portfinder'), opener = require('opener'), + fs = require('fs'), argv = require('optimist') .boolean('cors') .boolean('log-ip') @@ -41,7 +42,7 @@ if (argv.h || argv.help) { ' -U --utc Use UTC time format in log messages.', ' --log-ip Enable logging of the client\'s IP address', '', - ' -P --proxy Fallback proxy if the request cannot be resolved. e.g.: http://someurl.com', + ' -P --proxy Fallback proxy if the request cannot be resolved. e.g.: http://someurl.com', '', ' --username Username for basic authentication [none]', ' Can also be specified with the env variable NODE_HTTP_SERVER_USERNAME', @@ -52,16 +53,16 @@ if (argv.h || argv.help) { ' -C --cert Path to ssl cert file (default: cert.pem).', ' -K --key Path to ssl key file (default: key.pem).', '', - ' -r --robots Respond to /robots.txt [User-agent: *\\nDisallow: /]', - ' --no-dotfiles Do not show dotfiles', - ' -h --help Print this list and exit.' + ' -r --robots Respond to /robots.txt [User-agent: *\\nDisallow: /]', + ' --no-dotfiles Do not show dotfiles', + ' -h --help Print this list and exit.' ].join('\n')); process.exit(); } var port = argv.p || argv.port || parseInt(process.env.PORT, 10), host = argv.a || '0.0.0.0', - ssl = !!argv.S || !!argv.ssl, + ssl = argv.S || argv.ssl, proxy = argv.P || argv.proxy, utc = argv.U || argv.utc, logger; @@ -139,6 +140,20 @@ function listen(port) { cert: argv.C || argv.cert || 'cert.pem', key: argv.K || argv.key || 'key.pem' }; + try { + fs.lstatSync(options.https.cert); + } + catch (err) { + logger.info(colors.red('Error: Could not find certificate ' + options.https.cert)); + process.exit(1); + } + try { + fs.lstatSync(options.https.key); + } + catch (err) { + logger.info(colors.red('Error: Could not find private key ' + options.https.key)); + process.exit(1); + } } var server = httpServer.createServer(options); diff --git a/package.json b/package.json index c8e4817a4..9021670e5 100644 --- a/package.json +++ b/package.json @@ -69,6 +69,10 @@ "name": "BigBlueHat", "email": "byoung@bigbluehat.com" }, + { + "name": "Daniel Dalton", + "email": "daltond2@hawkmail.newpaltz.edu" + }, { "name": "Jade Michael Thornton", "email": "jade@jmthornton.net" @@ -95,7 +99,7 @@ "url": "https://github.com/nodeapps/http-server/issues" }, "license": "MIT", - "preferGlobal": "true", + "preferGlobal": true, "bin": { "http-server": "./bin/http-server", "hs": "./bin/http-server" diff --git a/test/http-server-test.js b/test/http-server-test.js index e9826277c..66ac644f5 100644 --- a/test/http-server-test.js +++ b/test/http-server-test.js @@ -11,7 +11,7 @@ process.on('uncaughtException', console.error); var root = path.join(__dirname, 'fixtures', 'root'); vows.describe('http-server').addBatch({ - 'When http-server is listening on 8080': { + 'When http-server is listening on 8080,\n': { topic: function () { var server = httpServer.createServer({ root: root, @@ -44,7 +44,7 @@ vows.describe('http-server').addBatch({ } } }, - 'when requesting non-existent file': { + 'and a non-existent file is requested...': { topic: function () { request('http://127.0.0.1:8080/404', this.callback); }, @@ -52,7 +52,7 @@ vows.describe('http-server').addBatch({ assert.equal(res.statusCode, 404); } }, - 'when requesting /': { + 'requesting /': { topic: function () { request('http://127.0.0.1:8080/', this.callback); }, @@ -62,15 +62,15 @@ vows.describe('http-server').addBatch({ assert.include(body, '/canYouSeeMe'); } }, - 'when robots options is activated': { + 'when robots option is toggled on...': { topic: function () { - request('http://127.0.0.1:8080/', this.callback); + request('http://127.0.0.1:8080/robots.txt', this.callback); }, 'should respond with status code 200 to /robots.txt': function (res) { assert.equal(res.statusCode, 200); } }, - 'and options include custom set http-headers': { + 'and options include custom set http-headers...': { topic: function () { request('http://127.0.0.1:8080/', this.callback); }, @@ -79,7 +79,7 @@ vows.describe('http-server').addBatch({ assert.equal(res.headers['access-control-allow-credentials'], 'true'); } }, - 'When http-server is proxying from 8081 to 8080': { + 'and the server is set to proxy port 8081 to 8080, ': { topic: function () { var proxyServer = httpServer.createServer({ proxy: 'http://127.0.0.1:8080/', @@ -88,7 +88,7 @@ vows.describe('http-server').addBatch({ proxyServer.listen(8081); this.callback(null, proxyServer); }, - 'it should serve files from the proxy server root directory': { + '\nit should serve files from the proxy\'s root': { topic: function () { request('http://127.0.0.1:8081/root/file', this.callback); }, @@ -107,7 +107,7 @@ vows.describe('http-server').addBatch({ } } }, - 'it should fallback to the proxied server': { + '\nit should fallback to the proxied server': { topic: function () { request('http://127.0.0.1:8081/file', this.callback); }, @@ -134,7 +134,7 @@ vows.describe('http-server').addBatch({ server.close(); } }, - 'When cors is enabled': { + 'When CORS is enabled': { topic: function () { var server = httpServer.createServer({ root: root, @@ -144,7 +144,7 @@ vows.describe('http-server').addBatch({ server.listen(8082); this.callback(null, server); }, - 'and given OPTIONS request': { + 'and the server is given an OPTIONS request': { topic: function () { request({ method: 'OPTIONS', From 7f13eedbf7230bb639e7a520ee69f0cdaf254394 Mon Sep 17 00:00:00 2001 From: Jorge Esteban Zaragoza Date: Tue, 12 Nov 2019 15:31:21 -0600 Subject: [PATCH 154/194] CLI -v parameter --- bin/http-server | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/bin/http-server b/bin/http-server index 5578c16ff..037e740b2 100755 --- a/bin/http-server +++ b/bin/http-server @@ -55,7 +55,8 @@ if (argv.h || argv.help) { '', ' -r --robots Respond to /robots.txt [User-agent: *\\nDisallow: /]', ' --no-dotfiles Do not show dotfiles', - ' -h --help Print this list and exit.' + ' -h --help Print this list and exit.', + ' --version Print http-server version' ].join('\n')); process.exit(); } @@ -65,6 +66,7 @@ var port = argv.p || argv.port || parseInt(process.env.PORT, 10), ssl = argv.S || argv.ssl, proxy = argv.P || argv.proxy, utc = argv.U || argv.utc, + version = argv.version, logger; if (!argv.s && !argv.silent) { @@ -99,6 +101,11 @@ else if (colors) { }; } +if (version) { + console.log('v' + require('../package.json').version); + process.exit(); +} + if (!port) { portfinder.basePort = 8080; portfinder.getPort(function (err, port) { From 66a32d17e1247e55f0147a40748ccda52fc8ec37 Mon Sep 17 00:00:00 2001 From: sowmiyamuthuraman Date: Thu, 21 Nov 2019 23:20:46 +0530 Subject: [PATCH 155/194] Add version flag. --- bin/http-server | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/bin/http-server b/bin/http-server index 5578c16ff..83e69084e 100755 --- a/bin/http-server +++ b/bin/http-server @@ -11,7 +11,8 @@ var colors = require('colors/safe'), argv = require('optimist') .boolean('cors') .boolean('log-ip') - .argv; + .argv, + pjson = require('../package.json'); var ifaces = os.networkInterfaces(); @@ -55,7 +56,8 @@ if (argv.h || argv.help) { '', ' -r --robots Respond to /robots.txt [User-agent: *\\nDisallow: /]', ' --no-dotfiles Do not show dotfiles', - ' -h --help Print this list and exit.' + ' -h --help Print this list and exit.', + ' -v --version Print the version and exit.' ].join('\n')); process.exit(); } @@ -65,7 +67,8 @@ var port = argv.p || argv.port || parseInt(process.env.PORT, 10), ssl = argv.S || argv.ssl, proxy = argv.P || argv.proxy, utc = argv.U || argv.utc, - logger; + logger, + version = pjson.version; if (!argv.s && !argv.silent) { logger = { @@ -110,6 +113,11 @@ else { listen(port); } +if (argv.v || argv.version) { + console.log(version); + process.exit(); +} + function listen(port) { var options = { root: argv._[0], From aa78ed6c0f2cad5894ecdbee6488f5e2facafa08 Mon Sep 17 00:00:00 2001 From: sowmiyamuthuraman Date: Thu, 21 Nov 2019 23:34:08 +0530 Subject: [PATCH 156/194] Update README.md to include the version flag. --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 31140f7b0..69993b046 100644 --- a/README.md +++ b/README.md @@ -79,6 +79,8 @@ Using `npx` you can run the script without installing it first: `-h` or `--help` Print this list and exit. +`-v` or `--version` Print the version and exit. + ## Magic Files - `index.html` will be served as the default file to any directory requests. From d366540aa4e6ff1f6024323d49e77d33da74f7e8 Mon Sep 17 00:00:00 2001 From: willjin Date: Sat, 23 Nov 2019 22:36:15 +0800 Subject: [PATCH 157/194] correct gitignore --- .gitignore | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 7b8cf3fda..bfbe96d60 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ -node_modules/* -npm-debug.log +node_modules/ +npm-debug.log* .dir-locals.el From fee644f5908cd2723817846c43ad8fa069618b47 Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Tue, 26 Nov 2019 14:11:14 -0600 Subject: [PATCH 158/194] fix repo urls --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 9021670e5..68cabecfe 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "main": "./lib/http-server", "repository": { "type": "git", - "url": "git://github.com/indexzero/http-server.git" + "url": "git://github.com/http-party/http-server.git" }, "keywords": [ "cli", @@ -96,7 +96,7 @@ "vows": "~0.8.3" }, "bugs": { - "url": "https://github.com/nodeapps/http-server/issues" + "url": "https://github.com/http-party/http-server/issues" }, "license": "MIT", "preferGlobal": true, From e6f6358c900dceac5593eae0c4aed32b09475feb Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Tue, 26 Nov 2019 14:14:02 -0600 Subject: [PATCH 159/194] 0.12.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 29f23e9e4..6b84be830 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "http-server", - "version": "0.11.1", + "version": "0.12.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 68cabecfe..c12cceede 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "http-server", - "version": "0.11.1", + "version": "0.12.0", "description": "A simple zero-configuration command-line http server", "main": "./lib/http-server", "repository": { From 29b82a9535bdf868243ec0a3fb85250f6890051e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=94=BE?= Date: Mon, 16 Dec 2019 21:55:06 +0800 Subject: [PATCH 160/194] Add TLS/SSL usage description (#571) * docs: add ssl usage description * docs: add openssl link * docs: change ssl description --- README.md | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 69993b046..968c53e6e 100644 --- a/README.md +++ b/README.md @@ -96,14 +96,35 @@ http-server --proxy http://localhost:8080? Note the `?` at the end of the proxy URL. Thanks to [@houston3](https://github.com/houston3) for this clever hack! -## Need a self signed SSL Certificate? +## TLS/SSL -Create the `cert.pem` and `key.pem` via the command: +First, you need to make sure that [openssl](https://github.com/openssl/openssl) is installed correctly, and you have `key.pem` and `cert.pem` files. You can generate them using this command: -``` +``` sh openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem ``` +You will be prompted with a few questions after entering the command. Use `127.0.0.1` as value for `Common name` if you want to be able to install the certificate in your OS's root certificate store or browser so that it is trusted. + +This generates a cert-key pair and it will be valid for 3650 days (about 10 years). + +Then you need to run the server with `-S` for enabling SSL and `-C` for your certificate file. + +``` sh +http-server -S -C cert.pem +``` + +This is what should be output if successful: + +``` sh +Starting up http-server, serving ./ through https +Available on: + https:127.0.0.1:8080 + https:192.168.1.101:8080 + https:192.168.1.104:8080 +Hit CTRL-C to stop the server +``` + # Development Checkout this repository locally, then: From 3571e188cd73b8411cbed48d8f8e7badf69f0b0c Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Mon, 16 Dec 2019 08:03:52 -0600 Subject: [PATCH 161/194] only add logFn function to before if logFn exists This is a new implementation of #387, but fixed. Previously, we added a function which would use logFn if it exists. Since this is all this function does, if logFn does not exist, we don't need to add the function at all. This should, in theory, provide a small performance boost as well, since the operation of checking for logFn doesn't need to be performed on every request log. --- lib/http-server.js | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/lib/http-server.js b/lib/http-server.js index 626a5a845..8124fc69d 100644 --- a/lib/http-server.js +++ b/lib/http-server.js @@ -92,13 +92,12 @@ function HttpServer(options) { var before = options.before ? options.before.slice() : []; - before.push(function (req, res) { - if (options.logFn) { + if (options.logFn) { + before.push(function (req, res) { options.logFn(req, res); - } - - res.emit('next'); - }); + res.emit('next'); + }); + } if (options.username || options.password) { before.push(function (req, res) { From b2bf05778865fd7d179fd7f7575ee7769356078e Mon Sep 17 00:00:00 2001 From: Jade Michael Thornton Date: Fri, 20 Dec 2019 08:46:52 -0600 Subject: [PATCH 162/194] add test for auto-ext --- test/fixtures/root/htmlButNot | 4 ++++ test/http-server-test.js | 22 ++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 test/fixtures/root/htmlButNot diff --git a/test/fixtures/root/htmlButNot b/test/fixtures/root/htmlButNot new file mode 100644 index 000000000..3d6a33f6d --- /dev/null +++ b/test/fixtures/root/htmlButNot @@ -0,0 +1,4 @@ +