无法启动browserquest服务器。 Arg无效

时间:2018-05-29 11:47:16

标签: javascript webserver

我正在从源代码nenuadrian / browserquest中设置一个browserquest服务器。当我尝试运行node server / js / main.js来启动服务器时,我收到以下错误消息:

 internal/fs/utils.js:409 throw err; ^

TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be one of type string, Buffer, or URL. Received type undefined at Object.fs.lstatSync (fs.js:932:3) at Class.init (/var/www/html/games/browserquest/server/js/map.js:14:13) at new Class (/var/www/html/games/browserquest/server/js/lib/class.js:50:23) at Module._compile (internal/modules/cjs/loader.js:696:33) at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10) at Module.load (internal/modules/cjs/loader.js:612:32) at tryModuleLoad (internal/modules/cjs/loader.js:551:12) at Function.Module._load (internal/modules/cjs/loader.js:543:3) at Module.require (internal/modules/cjs/loader.js:650:17) at require (internal/modules/cjs/helpers.js:20:18)

这是导致上述错误的server / js / utils.js中的代码。我没有编辑此代码,它似乎适用于托管此游戏的其他人。:

var Utils = {},
sanitizer = require('sanitizer'),
Types = require("../../shared/js/gametypes");
module.exports = Utils;
Utils.sanitize = function(string) {
// Strip unsafe tags, then escape as html entities.
return sanitizer.escape(sanitizer.sanitize(string));
};
Utils.random = function(range) {
return Math.floor(Math.random() * range);
};
Utils.randomRange = function(min, max) {
return min + (Math.random() * (max - min));
};
Utils.randomInt = function(min, max) {
return min + Math.floor(Math.random() * (max - min + 1));
};
Utils.clamp = function(min, max, value) {
if(value < min) {
return min;
} else if(value > max) {
return max;
} else {
return value;
}
};
Utils.randomOrientation = function() {
var o, r = Utils.random(4);
if(r === 0)
o = Types.Orientations.LEFT;
if(r === 1)
o = Types.Orientations.RIGHT;
if(r === 2)
o = Types.Orientations.UP;
if(r === 3)
o = Types.Orientations.DOWN;
return o;
};
Utils.Mixin = function(target, source) {
if (source) {
for (var key, keys = Object.keys(source), l = keys.length; l--; ) {
key = keys[l];
if (source.hasOwnProperty(key)) {
target[key] = source[key];
}
}
}
return target;
};
Utils.distanceTo = function(x, y, x2, y2) {
var distX = Math.abs(x - x2);
var distY = Math.abs(y - y2);
return (distX > distY) ? distX : distY;
};

1 个答案:

答案 0 :(得分:0)

我面临着同样的问题。似乎使用较新版本的节点会导致这些错误。我尝试使用8.9.3并成功。

此外,package.json的模块版本设置为最新,这会导致其他冲突。以下依赖项列表对我有用。

{
  "name": "BrowserQuest",
  "version": "0.0.1",
  "lockfileVersion": 1,
  "requires": true,
  "dependencies": {
    "accepts": {
      "version": "1.3.4",
      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz",
      "integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=",
      "requires": {
        "mime-types": "2.1.17",
        "negotiator": "0.6.1"
      }
    },
    "after": {
      "version": "0.8.2",
      "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
      "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8="
    },
    "array-flatten": {
      "version": "1.1.1",
      "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
      "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
    },
    "arraybuffer.slice": {
      "version": "0.0.7",
      "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz",
      "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog=="
    },
    "async-limiter": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz",
      "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg=="
    },
    "backo2": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz",
      "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc="
    },
    "base64-arraybuffer": {
      "version": "0.1.5",
      "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
      "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg="
    },
    "base64id": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz",
      "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY="
    },
    "better-assert": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",
      "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=",
      "requires": {
        "callsite": "1.0.0"
      }
    },
    "bison": {
      "version": "1.1.1",
      "resolved": "https://registry.npmjs.org/bison/-/bison-1.1.1.tgz",
      "integrity": "sha1-BZbRRHuk3h+xv85RtVguoWhl8Ac="
    },
    "blob": {
      "version": "0.0.4",
      "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz",
      "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE="
    },
    "body-parser": {
      "version": "1.18.2",
      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz",
      "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=",
      "requires": {
        "bytes": "3.0.0",
        "content-type": "1.0.4",
        "debug": "2.6.9",
        "depd": "1.1.1",
        "http-errors": "1.6.2",
        "iconv-lite": "0.4.19",
        "on-finished": "2.3.0",
        "qs": "6.5.1",
        "raw-body": "2.3.2",
        "type-is": "1.6.15"
      }
    },
    "bytes": {
      "version": "3.0.0",
      "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
      "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
    },
    "callsite": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz",
      "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA="
    },
    "component-bind": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
      "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E="
    },
    "component-emitter": {
      "version": "1.2.1",
      "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
      "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY="
    },
    "component-inherit": {
      "version": "0.0.3",
      "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz",
      "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM="
    },
    "content-disposition": {
      "version": "0.5.2",
      "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
      "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ="
    },
    "content-type": {
      "version": "1.0.4",
      "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
      "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
    },
    "cookie": {
      "version": "0.3.1",
      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
      "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s="
    },
    "cookie-signature": {
      "version": "1.0.6",
      "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
      "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
    },
    "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"
      }
    },
    "depd": {
      "version": "1.1.1",
      "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz",
      "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k="
    },
    "destroy": {
      "version": "1.0.4",
      "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
      "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
    },
    "ee-first": {
      "version": "1.1.1",
      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
      "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
    },
    "encodeurl": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz",
      "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA="
    },
    "engine.io": {
      "version": "3.1.4",
      "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.1.4.tgz",
      "integrity": "sha1-PQIRtwpVLOhB/8fahiezAamkFi4=",
      "requires": {
        "accepts": "1.3.3",
        "base64id": "1.0.0",
        "cookie": "0.3.1",
        "debug": "2.6.9",
        "engine.io-parser": "2.1.2",
        "uws": "0.14.5",
        "ws": "3.3.3"
      },
      "dependencies": {
        "accepts": {
          "version": "1.3.3",
          "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz",
          "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=",
          "requires": {
            "mime-types": "2.1.17",
            "negotiator": "0.6.1"
          }
        }
      }
    },
    "engine.io-client": {
      "version": "3.1.4",
      "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.1.4.tgz",
      "integrity": "sha1-T88TcLRxY70s6b4nM5ckMDUNTqE=",
      "requires": {
        "component-emitter": "1.2.1",
        "component-inherit": "0.0.3",
        "debug": "2.6.9",
        "engine.io-parser": "2.1.2",
        "has-cors": "1.1.0",
        "indexof": "0.0.1",
        "parseqs": "0.0.5",
        "parseuri": "0.0.5",
        "ws": "3.3.3",
        "xmlhttprequest-ssl": "1.5.4",
        "yeast": "0.1.2"
      }
    },
    "engine.io-parser": {
      "version": "2.1.2",
      "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.2.tgz",
      "integrity": "sha512-dInLFzr80RijZ1rGpx1+56/uFoH7/7InhH3kZt+Ms6hT8tNx3NGW/WNSA/f8As1WkOfkuyb3tnRyuXGxusclMw==",
      "requires": {
        "after": "0.8.2",
        "arraybuffer.slice": "0.0.7",
        "base64-arraybuffer": "0.1.5",
        "blob": "0.0.4",
        "has-binary2": "1.0.2"
      }
    },
    "escape-html": {
      "version": "1.0.3",
      "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
      "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
    },
    "etag": {
      "version": "1.8.1",
      "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
      "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
    },
    "express": {
      "version": "4.16.2",
      "resolved": "https://registry.npmjs.org/express/-/express-4.16.2.tgz",
      "integrity": "sha1-41xt/i1kt9ygpc1PIXgb4ymeB2w=",
      "requires": {
        "accepts": "1.3.4",
        "array-flatten": "1.1.1",
        "body-parser": "1.18.2",
        "content-disposition": "0.5.2",
        "content-type": "1.0.4",
        "cookie": "0.3.1",
        "cookie-signature": "1.0.6",
        "debug": "2.6.9",
        "depd": "1.1.1",
        "encodeurl": "1.0.1",
        "escape-html": "1.0.3",
        "etag": "1.8.1",
        "finalhandler": "1.1.0",
        "fresh": "0.5.2",
        "merge-descriptors": "1.0.1",
        "methods": "1.1.2",
        "on-finished": "2.3.0",
        "parseurl": "1.3.2",
        "path-to-regexp": "0.1.7",
        "proxy-addr": "2.0.2",
        "qs": "6.5.1",
        "range-parser": "1.2.0",
        "safe-buffer": "5.1.1",
        "send": "0.16.1",
        "serve-static": "1.13.1",
        "setprototypeof": "1.1.0",
        "statuses": "1.3.1",
        "type-is": "1.6.15",
        "utils-merge": "1.0.1",
        "vary": "1.1.2"
      }
    },
    "finalhandler": {
      "version": "1.1.0",
      "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz",
      "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=",
      "requires": {
        "debug": "2.6.9",
        "encodeurl": "1.0.1",
        "escape-html": "1.0.3",
        "on-finished": "2.3.0",
        "parseurl": "1.3.2",
        "statuses": "1.3.1",
        "unpipe": "1.0.0"
      }
    },
    "forwarded": {
      "version": "0.1.2",
      "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
      "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
    },
    "fresh": {
      "version": "0.5.2",
      "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
      "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
    },
    "has-binary2": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.2.tgz",
      "integrity": "sha1-6D26SfC5vk0CbSc2U1DZ8D9Uvpg=",
      "requires": {
        "isarray": "2.0.1"
      }
    },
    "has-cors": {
      "version": "1.1.0",
      "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
      "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk="
    },
    "http-errors": {
      "version": "1.6.2",
      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
      "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=",
      "requires": {
        "depd": "1.1.1",
        "inherits": "2.0.3",
        "setprototypeof": "1.0.3",
        "statuses": "1.3.1"
      },
      "dependencies": {
        "setprototypeof": {
          "version": "1.0.3",
          "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
          "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ="
        }
      }
    },
    "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=="
    },
    "indexof": {
      "version": "0.0.1",
      "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
      "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10="
    },
    "inherits": {
      "version": "2.0.3",
      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
      "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
    },
    "ipaddr.js": {
      "version": "1.5.2",
      "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.2.tgz",
      "integrity": "sha1-1LUFvemUaYfM8PxY2QEP+WB+P6A="
    },
    "isarray": {
      "version": "2.0.1",
      "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz",
      "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4="
    },
    "log": {
      "version": "1.4.0",
      "resolved": "https://registry.npmjs.org/log/-/log-1.4.0.tgz",
      "integrity": "sha1-S6HYkP3iSbAx3KA7w36q8yVlbxw="
    },
    "media-typer": {
      "version": "0.3.0",
      "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
      "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
    },
    "memcache": {
      "version": "0.3.0",
      "resolved": "https://registry.npmjs.org/memcache/-/memcache-0.3.0.tgz",
      "integrity": "sha1-vbuXjqS+4P3TFmmXsYg9KX4IWdw="
    },
    "merge-descriptors": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
      "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
    },
    "methods": {
      "version": "1.1.2",
      "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
      "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
    },
    "mime": {
      "version": "1.4.1",
      "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz",
      "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ=="
    },
    "mime-db": {
      "version": "1.30.0",
      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz",
      "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE="
    },
    "mime-types": {
      "version": "2.1.17",
      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz",
      "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=",
      "requires": {
        "mime-db": "1.30.0"
      }
    },
    "ms": {
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
    },
    "negotiator": {
      "version": "0.6.1",
      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
      "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk="
    },
    "object-component": {
      "version": "0.0.3",
      "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz",
      "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE="
    },
    "on-finished": {
      "version": "2.3.0",
      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
      "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
      "requires": {
        "ee-first": "1.1.1"
      }
    },
    "parseqs": {
      "version": "0.0.5",
      "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz",
      "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=",
      "requires": {
        "better-assert": "1.0.2"
      }
    },
    "parseuri": {
      "version": "0.0.5",
      "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz",
      "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=",
      "requires": {
        "better-assert": "1.0.2"
      }
    },
    "parseurl": {
      "version": "1.3.2",
      "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
      "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M="
    },
    "path-to-regexp": {
      "version": "0.1.7",
      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
      "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
    },
    "proxy-addr": {
      "version": "2.0.2",
      "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.2.tgz",
      "integrity": "sha1-ZXFQT0e7mI7IGAJT+F3X4UlSvew=",
      "requires": {
        "forwarded": "0.1.2",
        "ipaddr.js": "1.5.2"
      }
    },
    "qs": {
      "version": "6.5.1",
      "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
      "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A=="
    },
    "range-parser": {
      "version": "1.2.0",
      "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
      "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4="
    },
    "raw-body": {
      "version": "2.3.2",
      "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz",
      "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=",
      "requires": {
        "bytes": "3.0.0",
        "http-errors": "1.6.2",
        "iconv-lite": "0.4.19",
        "unpipe": "1.0.0"
      }
    },
    "safe-buffer": {
      "version": "5.1.1",
      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
      "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="
    },
    "sanitizer": {
      "version": "0.1.2",
      "resolved": "https://registry.npmjs.org/sanitizer/-/sanitizer-0.1.2.tgz",
      "integrity": "sha1-qjBVbvMZjHLuhdNUCSTj5nlvN/8="
    },
    "send": {
      "version": "0.16.1",
      "resolved": "https://registry.npmjs.org/send/-/send-0.16.1.tgz",
      "integrity": "sha512-ElCLJdJIKPk6ux/Hocwhk7NFHpI3pVm/IZOYWqUmoxcgeyM+MpxHHKhb8QmlJDX1pU6WrgaHBkVNm73Sv7uc2A==",
      "requires": {
        "debug": "2.6.9",
        "depd": "1.1.1",
        "destroy": "1.0.4",
        "encodeurl": "1.0.1",
        "escape-html": "1.0.3",
        "etag": "1.8.1",
        "fresh": "0.5.2",
        "http-errors": "1.6.2",
        "mime": "1.4.1",
        "ms": "2.0.0",
        "on-finished": "2.3.0",
        "range-parser": "1.2.0",
        "statuses": "1.3.1"
      }
    },
    "serve-static": {
      "version": "1.13.1",
      "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.1.tgz",
      "integrity": "sha512-hSMUZrsPa/I09VYFJwa627JJkNs0NrfL1Uzuup+GqHfToR2KcsXFymXSV90hoyw3M+msjFuQly+YzIH/q0MGlQ==",
      "requires": {
        "encodeurl": "1.0.1",
        "escape-html": "1.0.3",
        "parseurl": "1.3.2",
        "send": "0.16.1"
      }
    },
    "setprototypeof": {
      "version": "1.1.0",
      "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
      "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ=="
    },
    "socket.io": {
      "version": "2.0.4",
      "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.0.4.tgz",
      "integrity": "sha1-waRZDO/4fs8TxyZS8Eb3FrKeYBQ=",
      "requires": {
        "debug": "2.6.9",
        "engine.io": "3.1.4",
        "socket.io-adapter": "1.1.1",
        "socket.io-client": "2.0.4",
        "socket.io-parser": "3.1.2"
      }
    },
    "socket.io-adapter": {
      "version": "1.1.1",
      "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz",
      "integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs="
    },
    "socket.io-client": {
      "version": "2.0.4",
      "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.0.4.tgz",
      "integrity": "sha1-CRilUkBtxeVAs4Dc2Xr8SmQzL44=",
      "requires": {
        "backo2": "1.0.2",
        "base64-arraybuffer": "0.1.5",
        "component-bind": "1.0.0",
        "component-emitter": "1.2.1",
        "debug": "2.6.9",
        "engine.io-client": "3.1.4",
        "has-cors": "1.1.0",
        "indexof": "0.0.1",
        "object-component": "0.0.3",
        "parseqs": "0.0.5",
        "parseuri": "0.0.5",
        "socket.io-parser": "3.1.2",
        "to-array": "0.1.4"
      }
    },
    "socket.io-parser": {
      "version": "3.1.2",
      "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.1.2.tgz",
      "integrity": "sha1-28IoIVH8T6675Aru3Ady66YZ9/I=",
      "requires": {
        "component-emitter": "1.2.1",
        "debug": "2.6.9",
        "has-binary2": "1.0.2",
        "isarray": "2.0.1"
      }
    },
    "statuses": {
      "version": "1.3.1",
      "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz",
      "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4="
    },
    "to-array": {
      "version": "0.1.4",
      "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz",
      "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA="
    },
    "type-is": {
      "version": "1.6.15",
      "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz",
      "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=",
      "requires": {
        "media-typer": "0.3.0",
        "mime-types": "2.1.17"
      }
    },
    "ultron": {
      "version": "1.1.1",
      "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz",
      "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og=="
    },
    "underscore": {
      "version": "1.8.3",
      "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz",
      "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI="
    },
    "unpipe": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
      "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
    },
    "utils-merge": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
      "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
    },
    "uws": {
      "version": "0.14.5",
      "resolved": "https://registry.npmjs.org/uws/-/uws-0.14.5.tgz",
      "integrity": "sha1-Z6rzPEaypYel9mZtAPdpEyjxSdw=",
      "optional": true
    },
    "vary": {
      "version": "1.1.2",
      "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
      "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
    },
    "ws": {
      "version": "3.3.3",
      "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
      "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
      "requires": {
        "async-limiter": "1.0.0",
        "safe-buffer": "5.1.1",
        "ultron": "1.1.1"
      }
    },
    "xmlhttprequest-ssl": {
      "version": "1.5.4",
      "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.4.tgz",
      "integrity": "sha1-BPVgkVcks4kIhxXMDteBPpZ3v1c="
    },
    "yeast": {
      "version": "0.1.2",
      "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz",
      "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk="
    }
  }
}