├── client ├── .gitignore ├── README.md ├── package.json ├── public │ ├── favicon.ico │ ├── index.html │ ├── logo192.png │ ├── logo512.png │ ├── manifest.json │ └── robots.txt ├── src │ ├── App.css │ ├── App.js │ ├── index.js │ └── reportWebVitals.js └── yarn.lock └── server ├── index.js ├── node_modules ├── .bin │ ├── is-ci │ ├── mime │ ├── nodemon │ ├── nodetouch │ ├── nopt │ ├── rc │ └── semver ├── .yarn-integrity ├── @sindresorhus │ └── is │ │ ├── dist │ │ ├── index.d.ts │ │ ├── index.js │ │ └── index.js.map │ │ ├── license │ │ ├── package.json │ │ └── readme.md ├── @socket.io │ └── base64-arraybuffer │ │ ├── LICENSE │ │ ├── README.md │ │ ├── dist │ │ ├── base64-arraybuffer.es5.js │ │ ├── base64-arraybuffer.es5.js.map │ │ ├── base64-arraybuffer.umd.js │ │ ├── base64-arraybuffer.umd.js.map │ │ ├── lib │ │ │ ├── index.js │ │ │ └── index.js.map │ │ └── types │ │ │ └── index.d.ts │ │ ├── package.json │ │ └── src │ │ └── index.ts ├── @szmarczak │ └── http-timer │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ └── source │ │ └── index.js ├── @types │ ├── component-emitter │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.d.ts │ │ └── package.json │ ├── cookie │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.d.ts │ │ └── package.json │ ├── cors │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.d.ts │ │ └── package.json │ └── node │ │ ├── LICENSE │ │ ├── README.md │ │ ├── assert.d.ts │ │ ├── assert │ │ └── strict.d.ts │ │ ├── async_hooks.d.ts │ │ ├── buffer.d.ts │ │ ├── child_process.d.ts │ │ ├── cluster.d.ts │ │ ├── console.d.ts │ │ ├── constants.d.ts │ │ ├── crypto.d.ts │ │ ├── dgram.d.ts │ │ ├── diagnostics_channel.d.ts │ │ ├── dns.d.ts │ │ ├── dns │ │ └── promises.d.ts │ │ ├── domain.d.ts │ │ ├── events.d.ts │ │ ├── fs.d.ts │ │ ├── fs │ │ └── promises.d.ts │ │ ├── globals.d.ts │ │ ├── globals.global.d.ts │ │ ├── http.d.ts │ │ ├── http2.d.ts │ │ ├── https.d.ts │ │ ├── index.d.ts │ │ ├── inspector.d.ts │ │ ├── module.d.ts │ │ ├── net.d.ts │ │ ├── os.d.ts │ │ ├── package.json │ │ ├── path.d.ts │ │ ├── perf_hooks.d.ts │ │ ├── process.d.ts │ │ ├── punycode.d.ts │ │ ├── querystring.d.ts │ │ ├── readline.d.ts │ │ ├── repl.d.ts │ │ ├── stream.d.ts │ │ ├── stream │ │ ├── consumers.d.ts │ │ ├── promises.d.ts │ │ └── web.d.ts │ │ ├── string_decoder.d.ts │ │ ├── timers.d.ts │ │ ├── timers │ │ └── promises.d.ts │ │ ├── tls.d.ts │ │ ├── trace_events.d.ts │ │ ├── tty.d.ts │ │ ├── url.d.ts │ │ ├── util.d.ts │ │ ├── v8.d.ts │ │ ├── vm.d.ts │ │ ├── wasi.d.ts │ │ ├── worker_threads.d.ts │ │ └── zlib.d.ts ├── abbrev │ ├── LICENSE │ ├── README.md │ ├── abbrev.js │ └── package.json ├── accepts │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── ansi-align │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── ansi-regex │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── ansi-styles │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── anymatch │ ├── LICENSE │ ├── README.md │ ├── index.d.ts │ ├── index.js │ └── package.json ├── array-flatten │ ├── LICENSE │ ├── README.md │ ├── array-flatten.js │ └── package.json ├── balanced-match │ ├── .github │ │ └── FUNDING.yml │ ├── LICENSE.md │ ├── README.md │ ├── index.js │ └── package.json ├── base64id │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── lib │ │ └── base64id.js │ └── package.json ├── binary-extensions │ ├── binary-extensions.json │ ├── binary-extensions.json.d.ts │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── body-parser │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── lib │ │ ├── read.js │ │ └── types │ │ │ ├── json.js │ │ │ ├── raw.js │ │ │ ├── text.js │ │ │ └── urlencoded.js │ └── package.json ├── boxen │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── brace-expansion │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── braces │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── lib │ │ ├── compile.js │ │ ├── constants.js │ │ ├── expand.js │ │ ├── parse.js │ │ ├── stringify.js │ │ └── utils.js │ └── package.json ├── bytes │ ├── History.md │ ├── LICENSE │ ├── Readme.md │ ├── index.js │ └── package.json ├── cacheable-request │ ├── LICENSE │ ├── README.md │ ├── node_modules │ │ ├── get-stream │ │ │ ├── buffer-stream.js │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ ├── license │ │ │ ├── package.json │ │ │ └── readme.md │ │ └── lowercase-keys │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ ├── license │ │ │ ├── package.json │ │ │ └── readme.md │ ├── package.json │ └── src │ │ └── index.js ├── camelcase │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── chalk │ ├── index.d.ts │ ├── license │ ├── node_modules │ │ ├── has-flag │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ ├── license │ │ │ ├── package.json │ │ │ └── readme.md │ │ └── supports-color │ │ │ ├── browser.js │ │ │ ├── index.js │ │ │ ├── license │ │ │ ├── package.json │ │ │ └── readme.md │ ├── package.json │ ├── readme.md │ └── source │ │ ├── index.js │ │ ├── templates.js │ │ └── util.js ├── chokidar │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── lib │ │ ├── constants.js │ │ ├── fsevents-handler.js │ │ └── nodefs-handler.js │ ├── package.json │ └── types │ │ └── index.d.ts ├── ci-info │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── package.json │ └── vendors.json ├── cli-boxes │ ├── boxes.json │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── clone-response │ ├── LICENSE │ ├── README.md │ ├── package.json │ └── src │ │ └── index.js ├── color-convert │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── conversions.js │ ├── index.js │ ├── package.json │ └── route.js ├── color-name │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── component-emitter │ ├── History.md │ ├── LICENSE │ ├── Readme.md │ ├── index.js │ └── package.json ├── concat-map │ ├── .travis.yml │ ├── LICENSE │ ├── README.markdown │ ├── example │ │ └── map.js │ ├── index.js │ ├── package.json │ └── test │ │ └── map.js ├── configstore │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── content-disposition │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── content-type │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── cookie-signature │ ├── .npmignore │ ├── History.md │ ├── Readme.md │ ├── index.js │ └── package.json ├── cookie │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── cors │ ├── CONTRIBUTING.md │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── lib │ │ └── index.js │ └── package.json ├── crypto-random-string │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── debug │ ├── .coveralls.yml │ ├── .eslintrc │ ├── .npmignore │ ├── .travis.yml │ ├── CHANGELOG.md │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── component.json │ ├── karma.conf.js │ ├── node.js │ ├── node_modules │ │ └── ms │ │ │ ├── index.js │ │ │ ├── license.md │ │ │ ├── package.json │ │ │ └── readme.md │ ├── package.json │ └── src │ │ ├── browser.js │ │ ├── debug.js │ │ ├── index.js │ │ ├── inspector-log.js │ │ └── node.js ├── decompress-response │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── deep-extend │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── lib │ │ └── deep-extend.js │ └── package.json ├── defer-to-connect │ ├── LICENSE │ ├── README.md │ ├── dist │ │ ├── index.d.ts │ │ └── index.js │ └── package.json ├── depd │ ├── History.md │ ├── LICENSE │ ├── Readme.md │ ├── index.js │ ├── lib │ │ ├── browser │ │ │ └── index.js │ │ └── compat │ │ │ ├── callsite-tostring.js │ │ │ ├── event-listener-count.js │ │ │ └── index.js │ └── package.json ├── destroy │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── dot-prop │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── duplexer3 │ ├── LICENSE.md │ ├── README.md │ ├── index.js │ └── package.json ├── ee-first │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── emoji-regex │ ├── LICENSE-MIT.txt │ ├── README.md │ ├── es2015 │ │ ├── index.js │ │ └── text.js │ ├── index.d.ts │ ├── index.js │ ├── package.json │ └── text.js ├── encodeurl │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── end-of-stream │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── engine.io-parser │ ├── LICENSE │ ├── Readme.md │ ├── build │ │ ├── cjs │ │ │ ├── commons.js │ │ │ ├── decodePacket.browser.js │ │ │ ├── decodePacket.js │ │ │ ├── encodePacket.browser.js │ │ │ ├── encodePacket.js │ │ │ ├── index.js │ │ │ └── package.json │ │ └── esm │ │ │ ├── commons.d.ts │ │ │ ├── commons.js │ │ │ ├── decodePacket.browser.d.ts │ │ │ ├── decodePacket.browser.js │ │ │ ├── decodePacket.d.ts │ │ │ ├── decodePacket.js │ │ │ ├── encodePacket.browser.d.ts │ │ │ ├── encodePacket.browser.js │ │ │ ├── encodePacket.d.ts │ │ │ ├── encodePacket.js │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ └── package.json │ └── package.json ├── engine.io │ ├── LICENSE │ ├── README.md │ ├── build │ │ ├── engine.io.d.ts │ │ ├── engine.io.js │ │ ├── parser-v3 │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ ├── utf8.d.ts │ │ │ └── utf8.js │ │ ├── server.d.ts │ │ ├── server.js │ │ ├── socket.d.ts │ │ ├── socket.js │ │ ├── transport.d.ts │ │ ├── transport.js │ │ ├── transports-uws │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ ├── polling.d.ts │ │ │ ├── polling.js │ │ │ ├── websocket.d.ts │ │ │ └── websocket.js │ │ ├── transports │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ ├── polling-jsonp.d.ts │ │ │ ├── polling-jsonp.js │ │ │ ├── polling.d.ts │ │ │ ├── polling.js │ │ │ ├── websocket.d.ts │ │ │ └── websocket.js │ │ ├── userver.d.ts │ │ └── userver.js │ ├── node_modules │ │ ├── debug │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── package.json │ │ │ └── src │ │ │ │ ├── browser.js │ │ │ │ ├── common.js │ │ │ │ ├── index.js │ │ │ │ └── node.js │ │ └── ms │ │ │ ├── index.js │ │ │ ├── license.md │ │ │ ├── package.json │ │ │ └── readme.md │ ├── package.json │ └── wrapper.mjs ├── escape-goat │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── escape-html │ ├── LICENSE │ ├── Readme.md │ ├── index.js │ └── package.json ├── etag │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── express │ ├── History.md │ ├── LICENSE │ ├── Readme.md │ ├── index.js │ ├── lib │ │ ├── application.js │ │ ├── express.js │ │ ├── middleware │ │ │ ├── init.js │ │ │ └── query.js │ │ ├── request.js │ │ ├── response.js │ │ ├── router │ │ │ ├── index.js │ │ │ ├── layer.js │ │ │ └── route.js │ │ ├── utils.js │ │ └── view.js │ └── package.json ├── fill-range │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── finalhandler │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── forwarded │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── fresh │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── fsevents │ ├── LICENSE │ ├── README.md │ ├── fsevents.d.ts │ ├── fsevents.js │ ├── fsevents.node │ └── package.json ├── get-stream │ ├── buffer-stream.js │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── glob-parent │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── global-dirs │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── got │ ├── license │ ├── package.json │ ├── readme.md │ └── source │ │ ├── as-promise.js │ │ ├── as-stream.js │ │ ├── create.js │ │ ├── errors.js │ │ ├── get-response.js │ │ ├── index.js │ │ ├── known-hook-events.js │ │ ├── merge.js │ │ ├── normalize-arguments.js │ │ ├── progress.js │ │ ├── request-as-event-emitter.js │ │ └── utils │ │ ├── deep-freeze.js │ │ ├── get-body-size.js │ │ ├── is-form-data.js │ │ ├── timed-out.js │ │ └── url-to-options.js ├── graceful-fs │ ├── LICENSE │ ├── README.md │ ├── clone.js │ ├── graceful-fs.js │ ├── legacy-streams.js │ ├── package.json │ └── polyfills.js ├── has-flag │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── has-yarn │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── http-cache-semantics │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── http-errors │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── iconv-lite │ ├── Changelog.md │ ├── LICENSE │ ├── README.md │ ├── encodings │ │ ├── dbcs-codec.js │ │ ├── dbcs-data.js │ │ ├── index.js │ │ ├── internal.js │ │ ├── sbcs-codec.js │ │ ├── sbcs-data-generated.js │ │ ├── sbcs-data.js │ │ ├── tables │ │ │ ├── big5-added.json │ │ │ ├── cp936.json │ │ │ ├── cp949.json │ │ │ ├── cp950.json │ │ │ ├── eucjp.json │ │ │ ├── gb18030-ranges.json │ │ │ ├── gbk-added.json │ │ │ └── shiftjis.json │ │ ├── utf16.js │ │ └── utf7.js │ ├── lib │ │ ├── bom-handling.js │ │ ├── extend-node.js │ │ ├── index.d.ts │ │ ├── index.js │ │ └── streams.js │ └── package.json ├── ignore-by-default │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── import-lazy │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── imurmurhash │ ├── README.md │ ├── imurmurhash.js │ ├── imurmurhash.min.js │ └── package.json ├── inherits │ ├── LICENSE │ ├── README.md │ ├── inherits.js │ ├── inherits_browser.js │ └── package.json ├── ini │ ├── LICENSE │ ├── README.md │ ├── ini.js │ └── package.json ├── ipaddr.js │ ├── LICENSE │ ├── README.md │ ├── ipaddr.min.js │ ├── lib │ │ ├── ipaddr.js │ │ └── ipaddr.js.d.ts │ └── package.json ├── is-binary-path │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── is-ci │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── bin.js │ ├── index.js │ └── package.json ├── is-extglob │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── is-fullwidth-code-point │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── is-glob │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── is-installed-globally │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── is-npm │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── is-number │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── is-obj │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── is-path-inside │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── is-typedarray │ ├── LICENSE.md │ ├── README.md │ ├── index.js │ ├── package.json │ └── test.js ├── is-yarn-global │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── json-buffer │ ├── .npmignore │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── package.json │ └── test │ │ └── index.js ├── keyv │ ├── LICENSE │ ├── README.md │ ├── package.json │ └── src │ │ └── index.js ├── latest-version │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── lowercase-keys │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── lru-cache │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── make-dir │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── node_modules │ │ └── .bin │ │ │ └── semver │ ├── package.json │ └── readme.md ├── media-typer │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── merge-descriptors │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── methods │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── mime-db │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── db.json │ ├── index.js │ └── package.json ├── mime-types │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── mime │ ├── .npmignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── cli.js │ ├── mime.js │ ├── package.json │ ├── src │ │ ├── build.js │ │ └── test.js │ └── types.json ├── mimic-response │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── minimatch │ ├── LICENSE │ ├── README.md │ ├── minimatch.js │ └── package.json ├── minimist │ ├── .travis.yml │ ├── LICENSE │ ├── example │ │ └── parse.js │ ├── index.js │ ├── package.json │ ├── readme.markdown │ └── test │ │ ├── all_bool.js │ │ ├── bool.js │ │ ├── dash.js │ │ ├── default_bool.js │ │ ├── dotted.js │ │ ├── kv_short.js │ │ ├── long.js │ │ ├── num.js │ │ ├── parse.js │ │ ├── parse_modified.js │ │ ├── proto.js │ │ ├── short.js │ │ ├── stop_early.js │ │ ├── unknown.js │ │ └── whitespace.js ├── ms │ ├── index.js │ ├── license.md │ ├── package.json │ └── readme.md ├── negotiator │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── lib │ │ ├── charset.js │ │ ├── encoding.js │ │ ├── language.js │ │ └── mediaType.js │ └── package.json ├── nodemon │ ├── .eslintrc.json │ ├── .jshintrc │ ├── .releaserc │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── bin │ │ ├── nodemon.js │ │ ├── postinstall.js │ │ └── windows-kill.exe │ ├── commitlint.config.js │ ├── doc │ │ └── cli │ │ │ ├── authors.txt │ │ │ ├── config.txt │ │ │ ├── help.txt │ │ │ ├── logo.txt │ │ │ ├── options.txt │ │ │ ├── topics.txt │ │ │ ├── usage.txt │ │ │ └── whoami.txt │ ├── lib │ │ ├── cli │ │ │ ├── index.js │ │ │ └── parse.js │ │ ├── config │ │ │ ├── command.js │ │ │ ├── defaults.js │ │ │ ├── exec.js │ │ │ ├── index.js │ │ │ └── load.js │ │ ├── help │ │ │ └── index.js │ │ ├── index.js │ │ ├── monitor │ │ │ ├── index.js │ │ │ ├── match.js │ │ │ ├── run.js │ │ │ ├── signals.js │ │ │ └── watch.js │ │ ├── nodemon.js │ │ ├── rules │ │ │ ├── add.js │ │ │ ├── index.js │ │ │ └── parse.js │ │ ├── spawn.js │ │ ├── utils │ │ │ ├── bus.js │ │ │ ├── clone.js │ │ │ ├── colour.js │ │ │ ├── index.js │ │ │ ├── log.js │ │ │ └── merge.js │ │ └── version.js │ ├── node_modules │ │ ├── .bin │ │ │ ├── nodetouch │ │ │ └── semver │ │ ├── debug │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── node.js │ │ │ ├── package.json │ │ │ └── src │ │ │ │ ├── browser.js │ │ │ │ ├── common.js │ │ │ │ ├── index.js │ │ │ │ └── node.js │ │ └── semver │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── bin │ │ │ └── semver │ │ │ ├── package.json │ │ │ ├── range.bnf │ │ │ └── semver.js │ └── package.json ├── nopt │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ ├── bin │ │ └── nopt.js │ ├── examples │ │ └── my-program.js │ ├── lib │ │ └── nopt.js │ └── package.json ├── normalize-path │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── normalize-url │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── object-assign │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── on-finished │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── once │ ├── LICENSE │ ├── README.md │ ├── once.js │ └── package.json ├── p-cancelable │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── package-json │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── node_modules │ │ └── .bin │ │ │ └── semver │ ├── package.json │ └── readme.md ├── parseurl │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── path-to-regexp │ ├── History.md │ ├── LICENSE │ ├── Readme.md │ ├── index.js │ └── package.json ├── picomatch │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── lib │ │ ├── constants.js │ │ ├── parse.js │ │ ├── picomatch.js │ │ ├── scan.js │ │ └── utils.js │ └── package.json ├── prepend-http │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── proxy-addr │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── pstree.remy │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── lib │ │ ├── index.js │ │ ├── tree.js │ │ └── utils.js │ ├── package.json │ └── tests │ │ ├── fixtures │ │ ├── index.js │ │ ├── out1 │ │ └── out2 │ │ └── index.test.js ├── pump │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── package.json │ ├── test-browser.js │ └── test-node.js ├── pupa │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── qs │ ├── .editorconfig │ ├── .eslintrc │ ├── .github │ │ └── FUNDING.yml │ ├── .nycrc │ ├── CHANGELOG.md │ ├── LICENSE.md │ ├── README.md │ ├── dist │ │ └── qs.js │ ├── lib │ │ ├── formats.js │ │ ├── index.js │ │ ├── parse.js │ │ ├── stringify.js │ │ └── utils.js │ ├── package.json │ └── test │ │ ├── parse.js │ │ ├── stringify.js │ │ └── utils.js ├── range-parser │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── raw-body │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.d.ts │ ├── index.js │ └── package.json ├── rc │ ├── LICENSE.APACHE2 │ ├── LICENSE.BSD │ ├── LICENSE.MIT │ ├── README.md │ ├── browser.js │ ├── cli.js │ ├── index.js │ ├── lib │ │ └── utils.js │ ├── node_modules │ │ └── ini │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── ini.js │ │ │ └── package.json │ ├── package.json │ └── test │ │ ├── ini.js │ │ ├── nested-env-vars.js │ │ └── test.js ├── readdirp │ ├── LICENSE │ ├── README.md │ ├── index.d.ts │ ├── index.js │ └── package.json ├── registry-auth-token │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── base64.js │ ├── index.js │ ├── node_modules │ │ └── .bin │ │ │ └── rc │ ├── package.json │ └── registry-url.js ├── registry-url │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── node_modules │ │ └── .bin │ │ │ └── rc │ ├── package.json │ └── readme.md ├── responselike │ ├── LICENSE │ ├── README.md │ ├── package.json │ └── src │ │ └── index.js ├── safe-buffer │ ├── LICENSE │ ├── README.md │ ├── index.d.ts │ ├── index.js │ └── package.json ├── safer-buffer │ ├── LICENSE │ ├── Porting-Buffer.md │ ├── Readme.md │ ├── dangerous.js │ ├── package.json │ ├── safer.js │ └── tests.js ├── semver-diff │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── node_modules │ │ └── .bin │ │ │ └── semver │ ├── package.json │ └── readme.md ├── semver │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── bin │ │ └── semver.js │ ├── package.json │ ├── range.bnf │ └── semver.js ├── send │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── node_modules │ │ └── .bin │ │ │ └── mime │ └── package.json ├── serve-static │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── setprototypeof │ ├── LICENSE │ ├── README.md │ ├── index.d.ts │ ├── index.js │ ├── package.json │ └── test │ │ └── index.js ├── signal-exit │ ├── LICENSE.txt │ ├── README.md │ ├── index.js │ ├── package.json │ └── signals.js ├── socket.io-adapter │ ├── CHANGELOG.md │ ├── LICENSE │ ├── Readme.md │ ├── dist │ │ ├── cjs │ │ │ ├── index.d.ts │ │ │ └── index.js │ │ ├── es │ │ │ ├── index.d.ts │ │ │ └── index.js │ │ ├── index.d.ts │ │ └── index.js │ └── package.json ├── socket.io-parser │ ├── CHANGELOG.md │ ├── LICENSE │ ├── Readme.md │ ├── dist │ │ ├── binary.d.ts │ │ ├── binary.js │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── is-binary.d.ts │ │ └── is-binary.js │ ├── node_modules │ │ ├── debug │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── package.json │ │ │ └── src │ │ │ │ ├── browser.js │ │ │ │ ├── common.js │ │ │ │ ├── index.js │ │ │ │ └── node.js │ │ └── ms │ │ │ ├── index.js │ │ │ ├── license.md │ │ │ ├── package.json │ │ │ └── readme.md │ └── package.json ├── socket.io │ ├── LICENSE │ ├── Readme.md │ ├── client-dist │ │ ├── socket.io.esm.min.js │ │ ├── socket.io.esm.min.js.map │ │ ├── socket.io.js │ │ ├── socket.io.js.map │ │ ├── socket.io.min.js │ │ ├── socket.io.min.js.map │ │ ├── socket.io.msgpack.min.js │ │ └── socket.io.msgpack.min.js.map │ ├── dist │ │ ├── broadcast-operator.d.ts │ │ ├── broadcast-operator.js │ │ ├── client.d.ts │ │ ├── client.js │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── namespace.d.ts │ │ ├── namespace.js │ │ ├── parent-namespace.d.ts │ │ ├── parent-namespace.js │ │ ├── socket.d.ts │ │ ├── socket.js │ │ ├── typed-events.d.ts │ │ ├── typed-events.js │ │ ├── uws.d.ts │ │ └── uws.js │ ├── node_modules │ │ ├── debug │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── package.json │ │ │ └── src │ │ │ │ ├── browser.js │ │ │ │ ├── common.js │ │ │ │ ├── index.js │ │ │ │ └── node.js │ │ └── ms │ │ │ ├── index.js │ │ │ ├── license.md │ │ │ ├── package.json │ │ │ └── readme.md │ ├── package.json │ └── wrapper.mjs ├── statuses │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── codes.json │ ├── index.js │ └── package.json ├── string-width │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── strip-ansi │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── strip-json-comments │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── supports-color │ ├── browser.js │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── to-readable-stream │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── to-regex-range │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── toidentifier │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── touch │ ├── LICENSE │ ├── README.md │ ├── bin │ │ └── nodetouch.js │ ├── index.js │ ├── node_modules │ │ └── .bin │ │ │ └── nopt │ └── package.json ├── type-fest │ ├── base.d.ts │ ├── index.d.ts │ ├── license │ ├── package.json │ ├── readme.md │ ├── source │ │ ├── async-return-type.d.ts │ │ ├── asyncify.d.ts │ │ ├── basic.d.ts │ │ ├── conditional-except.d.ts │ │ ├── conditional-keys.d.ts │ │ ├── conditional-pick.d.ts │ │ ├── entries.d.ts │ │ ├── entry.d.ts │ │ ├── except.d.ts │ │ ├── fixed-length-array.d.ts │ │ ├── iterable-element.d.ts │ │ ├── literal-union.d.ts │ │ ├── merge-exclusive.d.ts │ │ ├── merge.d.ts │ │ ├── mutable.d.ts │ │ ├── opaque.d.ts │ │ ├── package-json.d.ts │ │ ├── partial-deep.d.ts │ │ ├── promisable.d.ts │ │ ├── promise-value.d.ts │ │ ├── readonly-deep.d.ts │ │ ├── require-at-least-one.d.ts │ │ ├── require-exactly-one.d.ts │ │ ├── set-optional.d.ts │ │ ├── set-required.d.ts │ │ ├── set-return-type.d.ts │ │ ├── stringified.d.ts │ │ ├── tsconfig-json.d.ts │ │ ├── union-to-intersection.d.ts │ │ ├── utilities.d.ts │ │ └── value-of.d.ts │ └── ts41 │ │ ├── camel-case.d.ts │ │ ├── delimiter-case.d.ts │ │ ├── index.d.ts │ │ ├── kebab-case.d.ts │ │ ├── pascal-case.d.ts │ │ └── snake-case.d.ts ├── type-is │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── typedarray-to-buffer │ ├── .airtap.yml │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── package.json │ └── test │ │ └── basic.js ├── undefsafe │ ├── .github │ │ └── workflows │ │ │ └── release.yml │ ├── .jscsrc │ ├── .jshintrc │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── example.js │ ├── lib │ │ └── undefsafe.js │ └── package.json ├── unique-string │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── unpipe │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── update-notifier │ ├── check.js │ ├── index.js │ ├── license │ ├── node_modules │ │ ├── .bin │ │ │ ├── is-ci │ │ │ └── semver │ │ └── semver │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── bin │ │ │ └── semver.js │ │ │ ├── classes │ │ │ ├── comparator.js │ │ │ ├── index.js │ │ │ ├── range.js │ │ │ └── semver.js │ │ │ ├── functions │ │ │ ├── clean.js │ │ │ ├── cmp.js │ │ │ ├── coerce.js │ │ │ ├── compare-build.js │ │ │ ├── compare-loose.js │ │ │ ├── compare.js │ │ │ ├── diff.js │ │ │ ├── eq.js │ │ │ ├── gt.js │ │ │ ├── gte.js │ │ │ ├── inc.js │ │ │ ├── lt.js │ │ │ ├── lte.js │ │ │ ├── major.js │ │ │ ├── minor.js │ │ │ ├── neq.js │ │ │ ├── parse.js │ │ │ ├── patch.js │ │ │ ├── prerelease.js │ │ │ ├── rcompare.js │ │ │ ├── rsort.js │ │ │ ├── satisfies.js │ │ │ ├── sort.js │ │ │ └── valid.js │ │ │ ├── index.js │ │ │ ├── internal │ │ │ ├── constants.js │ │ │ ├── debug.js │ │ │ ├── identifiers.js │ │ │ ├── parse-options.js │ │ │ └── re.js │ │ │ ├── package.json │ │ │ ├── preload.js │ │ │ ├── range.bnf │ │ │ └── ranges │ │ │ ├── gtr.js │ │ │ ├── intersects.js │ │ │ ├── ltr.js │ │ │ ├── max-satisfying.js │ │ │ ├── min-satisfying.js │ │ │ ├── min-version.js │ │ │ ├── outside.js │ │ │ ├── simplify.js │ │ │ ├── subset.js │ │ │ ├── to-comparators.js │ │ │ └── valid.js │ ├── package.json │ └── readme.md ├── url-parse-lax │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── utils-merge │ ├── .npmignore │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── vary │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── widest-line │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── wrap-ansi │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── wrappy │ ├── LICENSE │ ├── README.md │ ├── package.json │ └── wrappy.js ├── write-file-atomic │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── ws │ ├── LICENSE │ ├── README.md │ ├── browser.js │ ├── index.js │ ├── lib │ │ ├── buffer-util.js │ │ ├── constants.js │ │ ├── event-target.js │ │ ├── extension.js │ │ ├── limiter.js │ │ ├── permessage-deflate.js │ │ ├── receiver.js │ │ ├── sender.js │ │ ├── stream.js │ │ ├── subprotocol.js │ │ ├── validation.js │ │ ├── websocket-server.js │ │ └── websocket.js │ ├── package.json │ └── wrapper.mjs ├── xdg-basedir │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md └── yallist │ ├── LICENSE │ ├── README.md │ ├── iterator.js │ ├── package.json │ └── yallist.js ├── package.json └── yarn.lock /client/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # production 12 | /build 13 | 14 | # misc 15 | .DS_Store 16 | .env.local 17 | .env.development.local 18 | .env.test.local 19 | .env.production.local 20 | 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | -------------------------------------------------------------------------------- /client/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/machadop1407/socket-io-react-example/45a24dd26fdb69c099e8bec5bb2f7fb402d4ff89/client/public/favicon.ico -------------------------------------------------------------------------------- /client/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/machadop1407/socket-io-react-example/45a24dd26fdb69c099e8bec5bb2f7fb402d4ff89/client/public/logo192.png -------------------------------------------------------------------------------- /client/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/machadop1407/socket-io-react-example/45a24dd26fdb69c099e8bec5bb2f7fb402d4ff89/client/public/logo512.png -------------------------------------------------------------------------------- /client/public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "React App", 3 | "name": "Create React App Sample", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | }, 10 | { 11 | "src": "logo192.png", 12 | "type": "image/png", 13 | "sizes": "192x192" 14 | }, 15 | { 16 | "src": "logo512.png", 17 | "type": "image/png", 18 | "sizes": "512x512" 19 | } 20 | ], 21 | "start_url": ".", 22 | "display": "standalone", 23 | "theme_color": "#000000", 24 | "background_color": "#ffffff" 25 | } 26 | -------------------------------------------------------------------------------- /client/public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /client/src/App.css: -------------------------------------------------------------------------------- 1 | .App { 2 | text-align: center; 3 | } 4 | 5 | .App-logo { 6 | height: 40vmin; 7 | pointer-events: none; 8 | } 9 | 10 | @media (prefers-reduced-motion: no-preference) { 11 | .App-logo { 12 | animation: App-logo-spin infinite 20s linear; 13 | } 14 | } 15 | 16 | .App-header { 17 | background-color: #282c34; 18 | min-height: 100vh; 19 | display: flex; 20 | flex-direction: column; 21 | align-items: center; 22 | justify-content: center; 23 | font-size: calc(10px + 2vmin); 24 | color: white; 25 | } 26 | 27 | .App-link { 28 | color: #61dafb; 29 | } 30 | 31 | @keyframes App-logo-spin { 32 | from { 33 | transform: rotate(0deg); 34 | } 35 | to { 36 | transform: rotate(360deg); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /client/src/index.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import ReactDOM from "react-dom"; 3 | import App from "./App"; 4 | import reportWebVitals from "./reportWebVitals"; 5 | 6 | ReactDOM.render( 7 | 8 | 9 | , 10 | document.getElementById("root") 11 | ); 12 | 13 | // If you want to start measuring performance in your app, pass a function 14 | // to log results (for example: reportWebVitals(console.log)) 15 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals 16 | reportWebVitals(); 17 | -------------------------------------------------------------------------------- /client/src/reportWebVitals.js: -------------------------------------------------------------------------------- 1 | const reportWebVitals = onPerfEntry => { 2 | if (onPerfEntry && onPerfEntry instanceof Function) { 3 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { 4 | getCLS(onPerfEntry); 5 | getFID(onPerfEntry); 6 | getFCP(onPerfEntry); 7 | getLCP(onPerfEntry); 8 | getTTFB(onPerfEntry); 9 | }); 10 | } 11 | }; 12 | 13 | export default reportWebVitals; 14 | -------------------------------------------------------------------------------- /server/index.js: -------------------------------------------------------------------------------- 1 | const express = require("express"); 2 | const app = express(); 3 | const http = require("http"); 4 | const { Server } = require("socket.io"); 5 | const cors = require("cors"); 6 | 7 | app.use(cors()); 8 | 9 | const server = http.createServer(app); 10 | 11 | const io = new Server(server, { 12 | cors: { 13 | origin: "http://localhost:3000", 14 | methods: ["GET", "POST"], 15 | }, 16 | }); 17 | 18 | io.on("connection", (socket) => { 19 | console.log(`User Connected: ${socket.id}`); 20 | 21 | socket.on("join_room", (data) => { 22 | socket.join(data); 23 | }); 24 | 25 | socket.on("send_message", (data) => { 26 | socket.to(data.room).emit("receive_message", data); 27 | }); 28 | }); 29 | 30 | server.listen(3001, () => { 31 | console.log("SERVER IS RUNNING"); 32 | }); 33 | -------------------------------------------------------------------------------- /server/node_modules/.bin/is-ci: -------------------------------------------------------------------------------- 1 | ../is-ci/bin.js -------------------------------------------------------------------------------- /server/node_modules/.bin/mime: -------------------------------------------------------------------------------- 1 | ../mime/cli.js -------------------------------------------------------------------------------- /server/node_modules/.bin/nodemon: -------------------------------------------------------------------------------- 1 | ../nodemon/bin/nodemon.js -------------------------------------------------------------------------------- /server/node_modules/.bin/nodetouch: -------------------------------------------------------------------------------- 1 | ../touch/bin/nodetouch.js -------------------------------------------------------------------------------- /server/node_modules/.bin/nopt: -------------------------------------------------------------------------------- 1 | ../nopt/bin/nopt.js -------------------------------------------------------------------------------- /server/node_modules/.bin/rc: -------------------------------------------------------------------------------- 1 | ../rc/cli.js -------------------------------------------------------------------------------- /server/node_modules/.bin/semver: -------------------------------------------------------------------------------- 1 | ../nodemon/node_modules/semver/bin/semver -------------------------------------------------------------------------------- /server/node_modules/@socket.io/base64-arraybuffer/dist/types/index.d.ts: -------------------------------------------------------------------------------- 1 | export declare const encode: (arraybuffer: ArrayBuffer) => string; 2 | export declare const decode: (base64: string) => ArrayBuffer; 3 | -------------------------------------------------------------------------------- /server/node_modules/@types/cookie/README.md: -------------------------------------------------------------------------------- 1 | # Installation 2 | > `npm install --save @types/cookie` 3 | 4 | # Summary 5 | This package contains type definitions for cookie (https://github.com/jshttp/cookie). 6 | 7 | # Details 8 | Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/cookie. 9 | 10 | ### Additional Details 11 | * Last updated: Tue, 06 Jul 2021 20:32:30 GMT 12 | * Dependencies: none 13 | * Global values: none 14 | 15 | # Credits 16 | These definitions were written by [Pine Mizune](https://github.com/pine), and [Piotr Błażejewicz](https://github.com/peterblazejewicz). 17 | -------------------------------------------------------------------------------- /server/node_modules/@types/node/assert/strict.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'assert/strict' { 2 | import { strict } from 'node:assert'; 3 | export = strict; 4 | } 5 | declare module 'node:assert/strict' { 6 | import { strict } from 'node:assert'; 7 | export = strict; 8 | } 9 | -------------------------------------------------------------------------------- /server/node_modules/@types/node/constants.d.ts: -------------------------------------------------------------------------------- 1 | /** @deprecated since v6.3.0 - use constants property exposed by the relevant module instead. */ 2 | declare module 'constants' { 3 | import { constants as osConstants, SignalConstants } from 'node:os'; 4 | import { constants as cryptoConstants } from 'node:crypto'; 5 | import { constants as fsConstants } from 'node:fs'; 6 | 7 | const exp: typeof osConstants.errno & 8 | typeof osConstants.priority & 9 | SignalConstants & 10 | typeof cryptoConstants & 11 | typeof fsConstants; 12 | export = exp; 13 | } 14 | 15 | declare module 'node:constants' { 16 | import constants = require('constants'); 17 | export = constants; 18 | } 19 | -------------------------------------------------------------------------------- /server/node_modules/@types/node/globals.global.d.ts: -------------------------------------------------------------------------------- 1 | declare var global: typeof globalThis; 2 | -------------------------------------------------------------------------------- /server/node_modules/abbrev/README.md: -------------------------------------------------------------------------------- 1 | # abbrev-js 2 | 3 | Just like [ruby's Abbrev](http://apidock.com/ruby/Abbrev). 4 | 5 | Usage: 6 | 7 | var abbrev = require("abbrev"); 8 | abbrev("foo", "fool", "folding", "flop"); 9 | 10 | // returns: 11 | { fl: 'flop' 12 | , flo: 'flop' 13 | , flop: 'flop' 14 | , fol: 'folding' 15 | , fold: 'folding' 16 | , foldi: 'folding' 17 | , foldin: 'folding' 18 | , folding: 'folding' 19 | , foo: 'foo' 20 | , fool: 'fool' 21 | } 22 | 23 | This is handy for command-line scripts, or other cases where you want to be able to accept shorthands. 24 | -------------------------------------------------------------------------------- /server/node_modules/abbrev/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "abbrev", 3 | "version": "1.1.1", 4 | "description": "Like ruby's abbrev module, but in js", 5 | "author": "Isaac Z. Schlueter ", 6 | "main": "abbrev.js", 7 | "scripts": { 8 | "test": "tap test.js --100", 9 | "preversion": "npm test", 10 | "postversion": "npm publish", 11 | "postpublish": "git push origin --all; git push origin --tags" 12 | }, 13 | "repository": "http://github.com/isaacs/abbrev-js", 14 | "license": "ISC", 15 | "devDependencies": { 16 | "tap": "^10.1" 17 | }, 18 | "files": [ 19 | "abbrev.js" 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /server/node_modules/ansi-align/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2016, Contributors 2 | 3 | Permission to use, copy, modify, and/or distribute this software for any purpose 4 | with or without fee is hereby granted, provided that the above copyright notice 5 | and this permission notice appear in all copies. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 8 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND 9 | FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 10 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS 11 | OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 12 | TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF 13 | THIS SOFTWARE. 14 | -------------------------------------------------------------------------------- /server/node_modules/ansi-regex/index.d.ts: -------------------------------------------------------------------------------- 1 | declare namespace ansiRegex { 2 | interface Options { 3 | /** 4 | Match only the first ANSI escape. 5 | 6 | @default false 7 | */ 8 | onlyFirst: boolean; 9 | } 10 | } 11 | 12 | /** 13 | Regular expression for matching ANSI escape codes. 14 | 15 | @example 16 | ``` 17 | import ansiRegex = require('ansi-regex'); 18 | 19 | ansiRegex().test('\u001B[4mcake\u001B[0m'); 20 | //=> true 21 | 22 | ansiRegex().test('cake'); 23 | //=> false 24 | 25 | '\u001B[4mcake\u001B[0m'.match(ansiRegex()); 26 | //=> ['\u001B[4m', '\u001B[0m'] 27 | 28 | '\u001B[4mcake\u001B[0m'.match(ansiRegex({onlyFirst: true})); 29 | //=> ['\u001B[4m'] 30 | 31 | '\u001B]8;;https://github.com\u0007click\u001B]8;;\u0007'.match(ansiRegex()); 32 | //=> ['\u001B]8;;https://github.com\u0007', '\u001B]8;;\u0007'] 33 | ``` 34 | */ 35 | declare function ansiRegex(options?: ansiRegex.Options): RegExp; 36 | 37 | export = ansiRegex; 38 | -------------------------------------------------------------------------------- /server/node_modules/ansi-regex/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = ({onlyFirst = false} = {}) => { 4 | const pattern = [ 5 | '[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)', 6 | '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))' 7 | ].join('|'); 8 | 9 | return new RegExp(pattern, onlyFirst ? undefined : 'g'); 10 | }; 11 | -------------------------------------------------------------------------------- /server/node_modules/anymatch/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) 2019 Elan Shanker, Paul Miller (https://paulmillr.com) 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /server/node_modules/anymatch/index.d.ts: -------------------------------------------------------------------------------- 1 | type AnymatchFn = (testString: string) => boolean; 2 | type AnymatchPattern = string|RegExp|AnymatchFn; 3 | type AnymatchMatcher = AnymatchPattern|AnymatchPattern[] 4 | type AnymatchTester = { 5 | (testString: string|any[], returnIndex: true): number; 6 | (testString: string|any[]): boolean; 7 | } 8 | 9 | type PicomatchOptions = {dot: boolean}; 10 | 11 | declare const anymatch: { 12 | (matchers: AnymatchMatcher): AnymatchTester; 13 | (matchers: AnymatchMatcher, testString: string|any[], returnIndex: true | PicomatchOptions): number; 14 | (matchers: AnymatchMatcher, testString: string|any[]): boolean; 15 | } 16 | 17 | export {AnymatchMatcher as Matcher} 18 | export {AnymatchTester as Tester} 19 | export default anymatch 20 | -------------------------------------------------------------------------------- /server/node_modules/balanced-match/.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | tidelift: "npm/balanced-match" 2 | patreon: juliangruber 3 | -------------------------------------------------------------------------------- /server/node_modules/base64id/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # [2.0.0](https://github.com/faeldt/base64id/compare/1.0.0...2.0.0) (2019-05-27) 2 | 3 | 4 | ### Code Refactoring 5 | 6 | * **buffer:** replace deprecated Buffer constructor usage ([#11](https://github.com/faeldt/base64id/issues/11)) ([ccfba54](https://github.com/faeldt/base64id/commit/ccfba54)) 7 | 8 | 9 | ### BREAKING CHANGES 10 | 11 | * **buffer:** drop support for Node.js ≤ 4.4.x and 5.0.0 - 5.9.x 12 | 13 | See: https://nodejs.org/en/docs/guides/buffer-constructor-deprecation/ 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /server/node_modules/base64id/README.md: -------------------------------------------------------------------------------- 1 | base64id 2 | ======== 3 | 4 | Node.js module that generates a base64 id. 5 | 6 | Uses crypto.randomBytes when available, falls back to unsafe methods for node.js <= 0.4. 7 | 8 | To increase performance, random bytes are buffered to minimize the number of synchronous calls to crypto.randomBytes. 9 | 10 | ## Installation 11 | 12 | $ npm install base64id 13 | 14 | ## Usage 15 | 16 | var base64id = require('base64id'); 17 | 18 | var id = base64id.generateId(); 19 | -------------------------------------------------------------------------------- /server/node_modules/base64id/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "base64id" 3 | , "version": "2.0.0" 4 | , "license": "MIT" 5 | , "description": "Generates a base64 id" 6 | , "author": "Kristian Faeldt " 7 | , "repository": { 8 | "type": "git" 9 | , "url": "https://github.com/faeldt/base64id.git" 10 | } 11 | , "main": "./lib/base64id.js" 12 | , "engines": { "node": "^4.5.0 || >= 5.9" } 13 | } 14 | -------------------------------------------------------------------------------- /server/node_modules/binary-extensions/binary-extensions.json.d.ts: -------------------------------------------------------------------------------- 1 | declare const binaryExtensionsJson: readonly string[]; 2 | 3 | export = binaryExtensionsJson; 4 | -------------------------------------------------------------------------------- /server/node_modules/binary-extensions/index.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | List of binary file extensions. 3 | 4 | @example 5 | ``` 6 | import binaryExtensions = require('binary-extensions'); 7 | 8 | console.log(binaryExtensions); 9 | //=> ['3ds', '3g2', …] 10 | ``` 11 | */ 12 | declare const binaryExtensions: readonly string[]; 13 | 14 | export = binaryExtensions; 15 | -------------------------------------------------------------------------------- /server/node_modules/binary-extensions/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./binary-extensions.json'); 2 | -------------------------------------------------------------------------------- /server/node_modules/binary-extensions/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "binary-extensions", 3 | "version": "2.2.0", 4 | "description": "List of binary file extensions", 5 | "license": "MIT", 6 | "repository": "sindresorhus/binary-extensions", 7 | "author": { 8 | "name": "Sindre Sorhus", 9 | "email": "sindresorhus@gmail.com", 10 | "url": "sindresorhus.com" 11 | }, 12 | "engines": { 13 | "node": ">=8" 14 | }, 15 | "scripts": { 16 | "test": "xo && ava && tsd" 17 | }, 18 | "files": [ 19 | "index.js", 20 | "index.d.ts", 21 | "binary-extensions.json", 22 | "binary-extensions.json.d.ts" 23 | ], 24 | "keywords": [ 25 | "binary", 26 | "extensions", 27 | "extension", 28 | "file", 29 | "json", 30 | "list", 31 | "array" 32 | ], 33 | "devDependencies": { 34 | "ava": "^1.4.1", 35 | "tsd": "^0.7.2", 36 | "xo": "^0.24.0" 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /server/node_modules/braces/lib/stringify.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const utils = require('./utils'); 4 | 5 | module.exports = (ast, options = {}) => { 6 | let stringify = (node, parent = {}) => { 7 | let invalidBlock = options.escapeInvalid && utils.isInvalidBrace(parent); 8 | let invalidNode = node.invalid === true && options.escapeInvalid === true; 9 | let output = ''; 10 | 11 | if (node.value) { 12 | if ((invalidBlock || invalidNode) && utils.isOpenOrClose(node)) { 13 | return '\\' + node.value; 14 | } 15 | return node.value; 16 | } 17 | 18 | if (node.value) { 19 | return node.value; 20 | } 21 | 22 | if (node.nodes) { 23 | for (let child of node.nodes) { 24 | output += stringify(child); 25 | } 26 | } 27 | return output; 28 | }; 29 | 30 | return stringify(ast); 31 | }; 32 | 33 | -------------------------------------------------------------------------------- /server/node_modules/cacheable-request/node_modules/lowercase-keys/index.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | Lowercase the keys of an object. 3 | 4 | @returns A new object with the keys lowercased. 5 | 6 | @example 7 | ``` 8 | import lowercaseKeys = require('lowercase-keys'); 9 | 10 | lowercaseKeys({FOO: true, bAr: false}); 11 | //=> {foo: true, bar: false} 12 | ``` 13 | */ 14 | declare function lowercaseKeys(object: {[key: string]: T}): {[key: string]: T}; 15 | 16 | export = lowercaseKeys; 17 | -------------------------------------------------------------------------------- /server/node_modules/cacheable-request/node_modules/lowercase-keys/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = object => { 3 | const result = {}; 4 | 5 | for (const [key, value] of Object.entries(object)) { 6 | result[key.toLowerCase()] = value; 7 | } 8 | 9 | return result; 10 | }; 11 | -------------------------------------------------------------------------------- /server/node_modules/cacheable-request/node_modules/lowercase-keys/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "lowercase-keys", 3 | "version": "2.0.0", 4 | "description": "Lowercase the keys of an object", 5 | "license": "MIT", 6 | "repository": "sindresorhus/lowercase-keys", 7 | "author": { 8 | "name": "Sindre Sorhus", 9 | "email": "sindresorhus@gmail.com", 10 | "url": "sindresorhus.com" 11 | }, 12 | "engines": { 13 | "node": ">=8" 14 | }, 15 | "scripts": { 16 | "test": "xo && ava && tsd" 17 | }, 18 | "files": [ 19 | "index.js", 20 | "index.d.ts" 21 | ], 22 | "keywords": [ 23 | "object", 24 | "assign", 25 | "extend", 26 | "properties", 27 | "lowercase", 28 | "lower-case", 29 | "case", 30 | "keys", 31 | "key" 32 | ], 33 | "devDependencies": { 34 | "ava": "^1.4.1", 35 | "tsd": "^0.7.2", 36 | "xo": "^0.24.0" 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /server/node_modules/cacheable-request/node_modules/lowercase-keys/readme.md: -------------------------------------------------------------------------------- 1 | # lowercase-keys [![Build Status](https://travis-ci.org/sindresorhus/lowercase-keys.svg?branch=master)](https://travis-ci.org/sindresorhus/lowercase-keys) 2 | 3 | > Lowercase the keys of an object 4 | 5 | 6 | ## Install 7 | 8 | ``` 9 | $ npm install lowercase-keys 10 | ``` 11 | 12 | 13 | ## Usage 14 | 15 | ```js 16 | const lowercaseKeys = require('lowercase-keys'); 17 | 18 | lowercaseKeys({FOO: true, bAr: false}); 19 | //=> {foo: true, bar: false} 20 | ``` 21 | 22 | 23 | ## API 24 | 25 | ### lowercaseKeys(object) 26 | 27 | Returns a new object with the keys lowercased. 28 | 29 | 30 | ## License 31 | 32 | MIT © [Sindre Sorhus](https://sindresorhus.com) 33 | -------------------------------------------------------------------------------- /server/node_modules/chalk/node_modules/has-flag/index.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | Check if [`argv`](https://nodejs.org/docs/latest/api/process.html#process_process_argv) has a specific flag. 3 | 4 | @param flag - CLI flag to look for. The `--` prefix is optional. 5 | @param argv - CLI arguments. Default: `process.argv`. 6 | @returns Whether the flag exists. 7 | 8 | @example 9 | ``` 10 | // $ ts-node foo.ts -f --unicorn --foo=bar -- --rainbow 11 | 12 | // foo.ts 13 | import hasFlag = require('has-flag'); 14 | 15 | hasFlag('unicorn'); 16 | //=> true 17 | 18 | hasFlag('--unicorn'); 19 | //=> true 20 | 21 | hasFlag('f'); 22 | //=> true 23 | 24 | hasFlag('-f'); 25 | //=> true 26 | 27 | hasFlag('foo=bar'); 28 | //=> true 29 | 30 | hasFlag('foo'); 31 | //=> false 32 | 33 | hasFlag('rainbow'); 34 | //=> false 35 | ``` 36 | */ 37 | declare function hasFlag(flag: string, argv?: string[]): boolean; 38 | 39 | export = hasFlag; 40 | -------------------------------------------------------------------------------- /server/node_modules/chalk/node_modules/has-flag/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = (flag, argv = process.argv) => { 4 | const prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--'); 5 | const position = argv.indexOf(prefix + flag); 6 | const terminatorPosition = argv.indexOf('--'); 7 | return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition); 8 | }; 9 | -------------------------------------------------------------------------------- /server/node_modules/chalk/node_modules/supports-color/browser.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | stdout: false, 4 | stderr: false 5 | }; 6 | -------------------------------------------------------------------------------- /server/node_modules/cli-boxes/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const cliBoxes = require('./boxes.json'); 3 | 4 | module.exports = cliBoxes; 5 | // TODO: Remove this for the next major release 6 | module.exports.default = cliBoxes; 7 | -------------------------------------------------------------------------------- /server/node_modules/cli-boxes/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cli-boxes", 3 | "version": "2.2.1", 4 | "description": "Boxes for use in the terminal", 5 | "license": "MIT", 6 | "repository": "sindresorhus/cli-boxes", 7 | "funding": "https://github.com/sponsors/sindresorhus", 8 | "author": { 9 | "name": "Sindre Sorhus", 10 | "email": "sindresorhus@gmail.com", 11 | "url": "https://sindresorhus.com" 12 | }, 13 | "engines": { 14 | "node": ">=6" 15 | }, 16 | "scripts": { 17 | "test": "xo && ava && tsd" 18 | }, 19 | "files": [ 20 | "index.js", 21 | "index.d.ts", 22 | "boxes.json" 23 | ], 24 | "keywords": [ 25 | "cli", 26 | "box", 27 | "boxes", 28 | "terminal", 29 | "term", 30 | "console", 31 | "ascii", 32 | "unicode", 33 | "border", 34 | "text", 35 | "json" 36 | ], 37 | "devDependencies": { 38 | "ava": "^1.4.1", 39 | "tsd": "^0.7.2", 40 | "xo": "^0.24.0" 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /server/node_modules/clone-response/src/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const PassThrough = require('stream').PassThrough; 4 | const mimicResponse = require('mimic-response'); 5 | 6 | const cloneResponse = response => { 7 | if (!(response && response.pipe)) { 8 | throw new TypeError('Parameter `response` must be a response stream.'); 9 | } 10 | 11 | const clone = new PassThrough(); 12 | mimicResponse(response, clone); 13 | 14 | return response.pipe(clone); 15 | }; 16 | 17 | module.exports = cloneResponse; 18 | -------------------------------------------------------------------------------- /server/node_modules/color-name/README.md: -------------------------------------------------------------------------------- 1 | A JSON with color names and its values. Based on http://dev.w3.org/csswg/css-color/#named-colors. 2 | 3 | [![NPM](https://nodei.co/npm/color-name.png?mini=true)](https://nodei.co/npm/color-name/) 4 | 5 | 6 | ```js 7 | var colors = require('color-name'); 8 | colors.red //[255,0,0] 9 | ``` 10 | 11 | 12 | -------------------------------------------------------------------------------- /server/node_modules/color-name/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "color-name", 3 | "version": "1.1.4", 4 | "description": "A list of color names and its values", 5 | "main": "index.js", 6 | "files": [ 7 | "index.js" 8 | ], 9 | "scripts": { 10 | "test": "node test.js" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "git@github.com:colorjs/color-name.git" 15 | }, 16 | "keywords": [ 17 | "color-name", 18 | "color", 19 | "color-keyword", 20 | "keyword" 21 | ], 22 | "author": "DY ", 23 | "license": "MIT", 24 | "bugs": { 25 | "url": "https://github.com/colorjs/color-name/issues" 26 | }, 27 | "homepage": "https://github.com/colorjs/color-name" 28 | } 29 | -------------------------------------------------------------------------------- /server/node_modules/component-emitter/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "component-emitter", 3 | "description": "Event emitter", 4 | "version": "1.3.0", 5 | "license": "MIT", 6 | "devDependencies": { 7 | "mocha": "*", 8 | "should": "*" 9 | }, 10 | "component": { 11 | "scripts": { 12 | "emitter/index.js": "index.js" 13 | } 14 | }, 15 | "main": "index.js", 16 | "repository": { 17 | "type": "git", 18 | "url": "https://github.com/component/emitter.git" 19 | }, 20 | "scripts": { 21 | "test": "make test" 22 | }, 23 | "files": [ 24 | "index.js", 25 | "LICENSE" 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /server/node_modules/concat-map/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.4 4 | - 0.6 5 | -------------------------------------------------------------------------------- /server/node_modules/concat-map/example/map.js: -------------------------------------------------------------------------------- 1 | var concatMap = require('../'); 2 | var xs = [ 1, 2, 3, 4, 5, 6 ]; 3 | var ys = concatMap(xs, function (x) { 4 | return x % 2 ? [ x - 0.1, x, x + 0.1 ] : []; 5 | }); 6 | console.dir(ys); 7 | -------------------------------------------------------------------------------- /server/node_modules/concat-map/index.js: -------------------------------------------------------------------------------- 1 | module.exports = function (xs, fn) { 2 | var res = []; 3 | for (var i = 0; i < xs.length; i++) { 4 | var x = fn(xs[i], i); 5 | if (isArray(x)) res.push.apply(res, x); 6 | else res.push(x); 7 | } 8 | return res; 9 | }; 10 | 11 | var isArray = Array.isArray || function (xs) { 12 | return Object.prototype.toString.call(xs) === '[object Array]'; 13 | }; 14 | -------------------------------------------------------------------------------- /server/node_modules/content-type/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.4 / 2017-09-11 2 | ================== 3 | 4 | * perf: skip parameter parsing when no parameters 5 | 6 | 1.0.3 / 2017-09-10 7 | ================== 8 | 9 | * perf: remove argument reassignment 10 | 11 | 1.0.2 / 2016-05-09 12 | ================== 13 | 14 | * perf: enable strict mode 15 | 16 | 1.0.1 / 2015-02-13 17 | ================== 18 | 19 | * Improve missing `Content-Type` header error message 20 | 21 | 1.0.0 / 2015-02-01 22 | ================== 23 | 24 | * Initial implementation, derived from `media-typer@0.3.0` 25 | -------------------------------------------------------------------------------- /server/node_modules/cookie-signature/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | *.sock 5 | -------------------------------------------------------------------------------- /server/node_modules/cookie-signature/History.md: -------------------------------------------------------------------------------- 1 | 1.0.6 / 2015-02-03 2 | ================== 3 | 4 | * use `npm test` instead of `make test` to run tests 5 | * clearer assertion messages when checking input 6 | 7 | 8 | 1.0.5 / 2014-09-05 9 | ================== 10 | 11 | * add license to package.json 12 | 13 | 1.0.4 / 2014-06-25 14 | ================== 15 | 16 | * corrected avoidance of timing attacks (thanks @tenbits!) 17 | 18 | 1.0.3 / 2014-01-28 19 | ================== 20 | 21 | * [incorrect] fix for timing attacks 22 | 23 | 1.0.2 / 2014-01-28 24 | ================== 25 | 26 | * fix missing repository warning 27 | * fix typo in test 28 | 29 | 1.0.1 / 2013-04-15 30 | ================== 31 | 32 | * Revert "Changed underlying HMAC algo. to sha512." 33 | * Revert "Fix for timing attacks on MAC verification." 34 | 35 | 0.0.1 / 2010-01-03 36 | ================== 37 | 38 | * Initial release 39 | -------------------------------------------------------------------------------- /server/node_modules/cookie-signature/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cookie-signature", 3 | "version": "1.0.6", 4 | "description": "Sign and unsign cookies", 5 | "keywords": ["cookie", "sign", "unsign"], 6 | "author": "TJ Holowaychuk ", 7 | "license": "MIT", 8 | "repository": { "type": "git", "url": "https://github.com/visionmedia/node-cookie-signature.git"}, 9 | "dependencies": {}, 10 | "devDependencies": { 11 | "mocha": "*", 12 | "should": "*" 13 | }, 14 | "scripts": { 15 | "test": "mocha --require should --reporter spec" 16 | }, 17 | "main": "index" 18 | } 19 | -------------------------------------------------------------------------------- /server/node_modules/crypto-random-string/index.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | Generate a [cryptographically strong](https://en.m.wikipedia.org/wiki/Strong_cryptography) random string. 3 | 4 | @param length - Length of the returned string. 5 | @returns A [`hex`](https://en.wikipedia.org/wiki/Hexadecimal) string. 6 | 7 | @example 8 | ``` 9 | import cryptoRandomString = require('crypto-random-string'); 10 | 11 | cryptoRandomString(10); 12 | //=> '2cf05d94db' 13 | ``` 14 | */ 15 | declare function cryptoRandomString(length: number): string; 16 | 17 | export = cryptoRandomString; 18 | -------------------------------------------------------------------------------- /server/node_modules/crypto-random-string/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const crypto = require('crypto'); 3 | 4 | module.exports = length => { 5 | if (!Number.isFinite(length)) { 6 | throw new TypeError('Expected a finite number'); 7 | } 8 | 9 | return crypto.randomBytes(Math.ceil(length / 2)).toString('hex').slice(0, length); 10 | }; 11 | -------------------------------------------------------------------------------- /server/node_modules/crypto-random-string/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "crypto-random-string", 3 | "version": "2.0.0", 4 | "description": "Generate a cryptographically strong random string", 5 | "license": "MIT", 6 | "repository": "sindresorhus/crypto-random-string", 7 | "author": { 8 | "name": "Sindre Sorhus", 9 | "email": "sindresorhus@gmail.com", 10 | "url": "sindresorhus.com" 11 | }, 12 | "engines": { 13 | "node": ">=8" 14 | }, 15 | "scripts": { 16 | "test": "xo && ava && tsd" 17 | }, 18 | "files": [ 19 | "index.js", 20 | "index.d.ts" 21 | ], 22 | "keywords": [ 23 | "random", 24 | "string", 25 | "text", 26 | "id", 27 | "identifier", 28 | "slug", 29 | "salt", 30 | "crypto", 31 | "strong", 32 | "secure", 33 | "hex" 34 | ], 35 | "devDependencies": { 36 | "ava": "^1.4.1", 37 | "tsd": "^0.7.2", 38 | "xo": "^0.24.0" 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /server/node_modules/debug/.coveralls.yml: -------------------------------------------------------------------------------- 1 | repo_token: SIAeZjKYlHK74rbcFvNHMUzjRiMpflxve 2 | -------------------------------------------------------------------------------- /server/node_modules/debug/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "browser": true, 4 | "node": true 5 | }, 6 | "rules": { 7 | "no-console": 0, 8 | "no-empty": [1, { "allowEmptyCatch": true }] 9 | }, 10 | "extends": "eslint:recommended" 11 | } 12 | -------------------------------------------------------------------------------- /server/node_modules/debug/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | example 5 | *.sock 6 | dist 7 | yarn.lock 8 | coverage 9 | bower.json 10 | -------------------------------------------------------------------------------- /server/node_modules/debug/.travis.yml: -------------------------------------------------------------------------------- 1 | 2 | language: node_js 3 | node_js: 4 | - "6" 5 | - "5" 6 | - "4" 7 | 8 | install: 9 | - make node_modules 10 | 11 | script: 12 | - make lint 13 | - make test 14 | - make coveralls 15 | -------------------------------------------------------------------------------- /server/node_modules/debug/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "debug", 3 | "repo": "visionmedia/debug", 4 | "description": "small debugging utility", 5 | "version": "2.6.9", 6 | "keywords": [ 7 | "debug", 8 | "log", 9 | "debugger" 10 | ], 11 | "main": "src/browser.js", 12 | "scripts": [ 13 | "src/browser.js", 14 | "src/debug.js" 15 | ], 16 | "dependencies": { 17 | "rauchg/ms.js": "0.7.1" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /server/node_modules/debug/node.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./src/node'); 2 | -------------------------------------------------------------------------------- /server/node_modules/debug/node_modules/ms/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ms", 3 | "version": "2.0.0", 4 | "description": "Tiny milisecond conversion utility", 5 | "repository": "zeit/ms", 6 | "main": "./index", 7 | "files": [ 8 | "index.js" 9 | ], 10 | "scripts": { 11 | "precommit": "lint-staged", 12 | "lint": "eslint lib/* bin/*", 13 | "test": "mocha tests.js" 14 | }, 15 | "eslintConfig": { 16 | "extends": "eslint:recommended", 17 | "env": { 18 | "node": true, 19 | "es6": true 20 | } 21 | }, 22 | "lint-staged": { 23 | "*.js": [ 24 | "npm run lint", 25 | "prettier --single-quote --write", 26 | "git add" 27 | ] 28 | }, 29 | "license": "MIT", 30 | "devDependencies": { 31 | "eslint": "3.19.0", 32 | "expect.js": "0.3.1", 33 | "husky": "0.13.3", 34 | "lint-staged": "3.4.1", 35 | "mocha": "3.4.1" 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /server/node_modules/debug/src/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Detect Electron renderer process, which is node, but we should 3 | * treat as a browser. 4 | */ 5 | 6 | if (typeof process !== 'undefined' && process.type === 'renderer') { 7 | module.exports = require('./browser.js'); 8 | } else { 9 | module.exports = require('./node.js'); 10 | } 11 | -------------------------------------------------------------------------------- /server/node_modules/debug/src/inspector-log.js: -------------------------------------------------------------------------------- 1 | module.exports = inspectorLog; 2 | 3 | // black hole 4 | const nullStream = new (require('stream').Writable)(); 5 | nullStream._write = () => {}; 6 | 7 | /** 8 | * Outputs a `console.log()` to the Node.js Inspector console *only*. 9 | */ 10 | function inspectorLog() { 11 | const stdout = console._stdout; 12 | console._stdout = nullStream; 13 | console.log.apply(console, arguments); 14 | console._stdout = stdout; 15 | } 16 | -------------------------------------------------------------------------------- /server/node_modules/decompress-response/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const PassThrough = require('stream').PassThrough; 3 | const zlib = require('zlib'); 4 | const mimicResponse = require('mimic-response'); 5 | 6 | module.exports = response => { 7 | // TODO: Use Array#includes when targeting Node.js 6 8 | if (['gzip', 'deflate'].indexOf(response.headers['content-encoding']) === -1) { 9 | return response; 10 | } 11 | 12 | const unzip = zlib.createUnzip(); 13 | const stream = new PassThrough(); 14 | 15 | mimicResponse(response, stream); 16 | 17 | unzip.on('error', err => { 18 | if (err.code === 'Z_BUF_ERROR') { 19 | stream.end(); 20 | return; 21 | } 22 | 23 | stream.emit('error', err); 24 | }); 25 | 26 | response.pipe(unzip).pipe(stream); 27 | 28 | return stream; 29 | }; 30 | -------------------------------------------------------------------------------- /server/node_modules/deep-extend/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./lib/deep-extend'); 2 | -------------------------------------------------------------------------------- /server/node_modules/defer-to-connect/dist/index.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { Socket } from 'net'; 3 | import { TLSSocket } from 'tls'; 4 | interface Listeners { 5 | connect?: () => void; 6 | secureConnect?: () => void; 7 | close?: (hadError: boolean) => void; 8 | } 9 | declare const deferToConnect: (socket: Socket | TLSSocket, fn: Listeners | (() => void)) => void; 10 | export default deferToConnect; 11 | -------------------------------------------------------------------------------- /server/node_modules/depd/lib/compat/event-listener-count.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * depd 3 | * Copyright(c) 2015 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | 'use strict' 8 | 9 | /** 10 | * Module exports. 11 | * @public 12 | */ 13 | 14 | module.exports = eventListenerCount 15 | 16 | /** 17 | * Get the count of listeners on an event emitter of a specific type. 18 | */ 19 | 20 | function eventListenerCount (emitter, type) { 21 | return emitter.listeners(type).length 22 | } 23 | -------------------------------------------------------------------------------- /server/node_modules/duplexer3/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "duplexer3", 3 | "version": "0.1.4", 4 | "description": "Like duplexer but using streams3", 5 | "engine": { 6 | "node": ">=4" 7 | }, 8 | "files": [ 9 | "index.js" 10 | ], 11 | "scripts": { 12 | "test": "mocha -R tap" 13 | }, 14 | "repository": "floatdrop/duplexer3", 15 | "keywords": [ 16 | "duplex", 17 | "duplexer", 18 | "stream", 19 | "stream3", 20 | "join", 21 | "combine" 22 | ], 23 | "author": "Conrad Pankoff (http://www.fknsrs.biz/)", 24 | "license": "BSD-3-Clause", 25 | "devDependencies": { 26 | "mocha": "^2.2.5" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /server/node_modules/emoji-regex/index.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'emoji-regex' { 2 | function emojiRegex(): RegExp; 3 | 4 | export default emojiRegex; 5 | } 6 | 7 | declare module 'emoji-regex/text' { 8 | function emojiRegex(): RegExp; 9 | 10 | export default emojiRegex; 11 | } 12 | 13 | declare module 'emoji-regex/es2015' { 14 | function emojiRegex(): RegExp; 15 | 16 | export default emojiRegex; 17 | } 18 | 19 | declare module 'emoji-regex/es2015/text' { 20 | function emojiRegex(): RegExp; 21 | 22 | export default emojiRegex; 23 | } 24 | -------------------------------------------------------------------------------- /server/node_modules/encodeurl/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.2 / 2018-01-21 2 | ================== 3 | 4 | * Fix encoding `%` as last character 5 | 6 | 1.0.1 / 2016-06-09 7 | ================== 8 | 9 | * Fix encoding unpaired surrogates at start/end of string 10 | 11 | 1.0.0 / 2016-06-08 12 | ================== 13 | 14 | * Initial release 15 | -------------------------------------------------------------------------------- /server/node_modules/engine.io-parser/build/cjs/commons.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.ERROR_PACKET = exports.PACKET_TYPES_REVERSE = exports.PACKET_TYPES = void 0; 4 | const PACKET_TYPES = Object.create(null); // no Map = no polyfill 5 | exports.PACKET_TYPES = PACKET_TYPES; 6 | PACKET_TYPES["open"] = "0"; 7 | PACKET_TYPES["close"] = "1"; 8 | PACKET_TYPES["ping"] = "2"; 9 | PACKET_TYPES["pong"] = "3"; 10 | PACKET_TYPES["message"] = "4"; 11 | PACKET_TYPES["upgrade"] = "5"; 12 | PACKET_TYPES["noop"] = "6"; 13 | const PACKET_TYPES_REVERSE = Object.create(null); 14 | exports.PACKET_TYPES_REVERSE = PACKET_TYPES_REVERSE; 15 | Object.keys(PACKET_TYPES).forEach(key => { 16 | PACKET_TYPES_REVERSE[PACKET_TYPES[key]] = key; 17 | }); 18 | const ERROR_PACKET = { type: "error", data: "parser error" }; 19 | exports.ERROR_PACKET = ERROR_PACKET; 20 | -------------------------------------------------------------------------------- /server/node_modules/engine.io-parser/build/cjs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "engine.io-parser", 3 | "type": "commonjs", 4 | "browser": { 5 | "./encodePacket.js": "./encodePacket.browser.js", 6 | "./decodePacket.js": "./decodePacket.browser.js" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /server/node_modules/engine.io-parser/build/esm/commons.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | declare const PACKET_TYPES: any; 3 | declare const PACKET_TYPES_REVERSE: any; 4 | declare const ERROR_PACKET: Packet; 5 | export { PACKET_TYPES, PACKET_TYPES_REVERSE, ERROR_PACKET }; 6 | export declare type PacketType = "open" | "close" | "ping" | "pong" | "message" | "upgrade" | "noop" | "error"; 7 | export declare type RawData = string | Buffer | ArrayBuffer | ArrayBufferView | Blob; 8 | export interface Packet { 9 | type: PacketType; 10 | options?: { 11 | compress: boolean; 12 | }; 13 | data?: RawData; 14 | } 15 | export declare type BinaryType = "nodebuffer" | "arraybuffer" | "blob"; 16 | -------------------------------------------------------------------------------- /server/node_modules/engine.io-parser/build/esm/commons.js: -------------------------------------------------------------------------------- 1 | const PACKET_TYPES = Object.create(null); // no Map = no polyfill 2 | PACKET_TYPES["open"] = "0"; 3 | PACKET_TYPES["close"] = "1"; 4 | PACKET_TYPES["ping"] = "2"; 5 | PACKET_TYPES["pong"] = "3"; 6 | PACKET_TYPES["message"] = "4"; 7 | PACKET_TYPES["upgrade"] = "5"; 8 | PACKET_TYPES["noop"] = "6"; 9 | const PACKET_TYPES_REVERSE = Object.create(null); 10 | Object.keys(PACKET_TYPES).forEach(key => { 11 | PACKET_TYPES_REVERSE[PACKET_TYPES[key]] = key; 12 | }); 13 | const ERROR_PACKET = { type: "error", data: "parser error" }; 14 | export { PACKET_TYPES, PACKET_TYPES_REVERSE, ERROR_PACKET }; 15 | -------------------------------------------------------------------------------- /server/node_modules/engine.io-parser/build/esm/decodePacket.browser.d.ts: -------------------------------------------------------------------------------- 1 | import { Packet, BinaryType, RawData } from "./commons.js"; 2 | declare const decodePacket: (encodedPacket: RawData, binaryType?: BinaryType) => Packet; 3 | export default decodePacket; 4 | -------------------------------------------------------------------------------- /server/node_modules/engine.io-parser/build/esm/decodePacket.d.ts: -------------------------------------------------------------------------------- 1 | import { Packet, BinaryType, RawData } from "./commons.js"; 2 | declare const decodePacket: (encodedPacket: RawData, binaryType?: BinaryType) => Packet; 3 | export default decodePacket; 4 | -------------------------------------------------------------------------------- /server/node_modules/engine.io-parser/build/esm/encodePacket.browser.d.ts: -------------------------------------------------------------------------------- 1 | import { Packet, RawData } from "./commons.js"; 2 | declare const encodePacket: ({ type, data }: Packet, supportsBinary: boolean, callback: (encodedPacket: RawData) => void) => void; 3 | export default encodePacket; 4 | -------------------------------------------------------------------------------- /server/node_modules/engine.io-parser/build/esm/encodePacket.d.ts: -------------------------------------------------------------------------------- 1 | import { Packet, RawData } from "./commons.js"; 2 | declare const encodePacket: ({ type, data }: Packet, supportsBinary: boolean, callback: (encodedPacket: RawData) => void) => void; 3 | export default encodePacket; 4 | -------------------------------------------------------------------------------- /server/node_modules/engine.io-parser/build/esm/index.d.ts: -------------------------------------------------------------------------------- 1 | import encodePacket from "./encodePacket.js"; 2 | import decodePacket from "./decodePacket.js"; 3 | import { Packet, PacketType, RawData, BinaryType } from "./commons"; 4 | declare const encodePayload: (packets: Packet[], callback: (encodedPayload: string) => void) => void; 5 | declare const decodePayload: (encodedPayload: string, binaryType?: BinaryType) => Packet[]; 6 | export declare const protocol = 4; 7 | export { encodePacket, encodePayload, decodePacket, decodePayload, Packet, PacketType, RawData, BinaryType }; 8 | -------------------------------------------------------------------------------- /server/node_modules/engine.io-parser/build/esm/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "engine.io-parser", 3 | "type": "module", 4 | "browser": { 5 | "./encodePacket.js": "./encodePacket.browser.js", 6 | "./decodePacket.js": "./decodePacket.browser.js" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /server/node_modules/engine.io/build/parser-v3/utf8.d.ts: -------------------------------------------------------------------------------- 1 | /*! https://mths.be/utf8js v2.1.2 by @mathias */ 2 | declare var stringFromCharCode: (...codes: number[]) => string; 3 | declare function ucs2decode(string: any): any[]; 4 | declare function ucs2encode(array: any): string; 5 | declare function checkScalarValue(codePoint: any, strict: any): boolean; 6 | declare function createByte(codePoint: any, shift: any): string; 7 | declare function encodeCodePoint(codePoint: any, strict: any): string; 8 | declare function utf8encode(string: any, opts: any): string; 9 | declare function readContinuationByte(): number; 10 | declare function decodeSymbol(strict: any): any; 11 | declare var byteArray: any; 12 | declare var byteCount: any; 13 | declare var byteIndex: any; 14 | declare function utf8decode(byteString: any, opts: any): string; 15 | -------------------------------------------------------------------------------- /server/node_modules/engine.io/build/transports-uws/index.d.ts: -------------------------------------------------------------------------------- 1 | import { Polling } from "./polling"; 2 | import { WebSocket } from "./websocket"; 3 | declare const _default: { 4 | polling: typeof Polling; 5 | websocket: typeof WebSocket; 6 | }; 7 | export default _default; 8 | -------------------------------------------------------------------------------- /server/node_modules/engine.io/build/transports-uws/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const polling_1 = require("./polling"); 4 | const websocket_1 = require("./websocket"); 5 | exports.default = { 6 | polling: polling_1.Polling, 7 | websocket: websocket_1.WebSocket 8 | }; 9 | -------------------------------------------------------------------------------- /server/node_modules/engine.io/build/transports/index.d.ts: -------------------------------------------------------------------------------- 1 | import { Polling as XHR } from "./polling"; 2 | import { WebSocket } from "./websocket"; 3 | declare const _default: { 4 | polling: typeof polling; 5 | websocket: typeof WebSocket; 6 | }; 7 | export default _default; 8 | /** 9 | * Polling polymorphic constructor. 10 | * 11 | * @api private 12 | */ 13 | declare function polling(req: any): XHR; 14 | declare namespace polling { 15 | var upgradesTo: string[]; 16 | } 17 | -------------------------------------------------------------------------------- /server/node_modules/engine.io/build/transports/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const polling_1 = require("./polling"); 4 | const polling_jsonp_1 = require("./polling-jsonp"); 5 | const websocket_1 = require("./websocket"); 6 | exports.default = { 7 | polling: polling, 8 | websocket: websocket_1.WebSocket 9 | }; 10 | /** 11 | * Polling polymorphic constructor. 12 | * 13 | * @api private 14 | */ 15 | function polling(req) { 16 | if ("string" === typeof req._query.j) { 17 | return new polling_jsonp_1.JSONP(req); 18 | } 19 | else { 20 | return new polling_1.Polling(req); 21 | } 22 | } 23 | polling.upgradesTo = ["websocket"]; 24 | -------------------------------------------------------------------------------- /server/node_modules/engine.io/build/transports/polling-jsonp.d.ts: -------------------------------------------------------------------------------- 1 | import { Polling } from "./polling"; 2 | export declare class JSONP extends Polling { 3 | private readonly head; 4 | private readonly foot; 5 | /** 6 | * JSON-P polling transport. 7 | * 8 | * @api public 9 | */ 10 | constructor(req: any); 11 | /** 12 | * Handles incoming data. 13 | * Due to a bug in \n handling by browsers, we expect a escaped string. 14 | * 15 | * @api private 16 | */ 17 | onData(data: any): void; 18 | /** 19 | * Performs the write. 20 | * 21 | * @api private 22 | */ 23 | doWrite(data: any, options: any, callback: any): void; 24 | } 25 | -------------------------------------------------------------------------------- /server/node_modules/engine.io/node_modules/debug/src/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Detect Electron renderer / nwjs process, which is node, but we should 3 | * treat as a browser. 4 | */ 5 | 6 | if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) { 7 | module.exports = require('./browser.js'); 8 | } else { 9 | module.exports = require('./node.js'); 10 | } 11 | -------------------------------------------------------------------------------- /server/node_modules/engine.io/node_modules/ms/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ms", 3 | "version": "2.1.2", 4 | "description": "Tiny millisecond conversion utility", 5 | "repository": "zeit/ms", 6 | "main": "./index", 7 | "files": [ 8 | "index.js" 9 | ], 10 | "scripts": { 11 | "precommit": "lint-staged", 12 | "lint": "eslint lib/* bin/*", 13 | "test": "mocha tests.js" 14 | }, 15 | "eslintConfig": { 16 | "extends": "eslint:recommended", 17 | "env": { 18 | "node": true, 19 | "es6": true 20 | } 21 | }, 22 | "lint-staged": { 23 | "*.js": [ 24 | "npm run lint", 25 | "prettier --single-quote --write", 26 | "git add" 27 | ] 28 | }, 29 | "license": "MIT", 30 | "devDependencies": { 31 | "eslint": "4.12.1", 32 | "expect.js": "0.3.1", 33 | "husky": "0.14.3", 34 | "lint-staged": "5.0.0", 35 | "mocha": "4.0.1" 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /server/node_modules/engine.io/wrapper.mjs: -------------------------------------------------------------------------------- 1 | import lib from "./build/engine.io.js"; 2 | 3 | export const { Server, Socket, Transport, transports, listen, attach, parser, protocol } = lib; 4 | -------------------------------------------------------------------------------- /server/node_modules/escape-html/Readme.md: -------------------------------------------------------------------------------- 1 | 2 | # escape-html 3 | 4 | Escape string for use in HTML 5 | 6 | ## Example 7 | 8 | ```js 9 | var escape = require('escape-html'); 10 | var html = escape('foo & bar'); 11 | // -> foo & bar 12 | ``` 13 | 14 | ## Benchmark 15 | 16 | ``` 17 | $ npm run-script bench 18 | 19 | > escape-html@1.0.3 bench nodejs-escape-html 20 | > node benchmark/index.js 21 | 22 | 23 | http_parser@1.0 24 | node@0.10.33 25 | v8@3.14.5.9 26 | ares@1.9.0-DEV 27 | uv@0.10.29 28 | zlib@1.2.3 29 | modules@11 30 | openssl@1.0.1j 31 | 32 | 1 test completed. 33 | 2 tests completed. 34 | 3 tests completed. 35 | 36 | no special characters x 19,435,271 ops/sec ±0.85% (187 runs sampled) 37 | single special character x 6,132,421 ops/sec ±0.67% (194 runs sampled) 38 | many special characters x 3,175,826 ops/sec ±0.65% (193 runs sampled) 39 | ``` 40 | 41 | ## License 42 | 43 | MIT -------------------------------------------------------------------------------- /server/node_modules/escape-html/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "escape-html", 3 | "description": "Escape string for use in HTML", 4 | "version": "1.0.3", 5 | "license": "MIT", 6 | "keywords": [ 7 | "escape", 8 | "html", 9 | "utility" 10 | ], 11 | "repository": "component/escape-html", 12 | "devDependencies": { 13 | "benchmark": "1.0.0", 14 | "beautify-benchmark": "0.2.4" 15 | }, 16 | "files": [ 17 | "LICENSE", 18 | "Readme.md", 19 | "index.js" 20 | ], 21 | "scripts": { 22 | "bench": "node benchmark/index.js" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /server/node_modules/express/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * express 3 | * Copyright(c) 2009-2013 TJ Holowaychuk 4 | * Copyright(c) 2013 Roman Shtylman 5 | * Copyright(c) 2014-2015 Douglas Christopher Wilson 6 | * MIT Licensed 7 | */ 8 | 9 | 'use strict'; 10 | 11 | module.exports = require('./lib/express'); 12 | -------------------------------------------------------------------------------- /server/node_modules/forwarded/HISTORY.md: -------------------------------------------------------------------------------- 1 | 0.2.0 / 2021-05-31 2 | ================== 3 | 4 | * Use `req.socket` over deprecated `req.connection` 5 | 6 | 0.1.2 / 2017-09-14 7 | ================== 8 | 9 | * perf: improve header parsing 10 | * perf: reduce overhead when no `X-Forwarded-For` header 11 | 12 | 0.1.1 / 2017-09-10 13 | ================== 14 | 15 | * Fix trimming leading / trailing OWS 16 | * perf: hoist regular expression 17 | 18 | 0.1.0 / 2014-09-21 19 | ================== 20 | 21 | * Initial release 22 | -------------------------------------------------------------------------------- /server/node_modules/fsevents/fsevents.node: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/machadop1407/socket-io-react-example/45a24dd26fdb69c099e8bec5bb2f7fb402d4ff89/server/node_modules/fsevents/fsevents.node -------------------------------------------------------------------------------- /server/node_modules/glob-parent/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) 2015, 2019 Elan Shanker 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /server/node_modules/got/source/known-hook-events.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = [ 4 | 'beforeError', 5 | 'init', 6 | 'beforeRequest', 7 | 'beforeRedirect', 8 | 'beforeRetry', 9 | 'afterResponse' 10 | ]; 11 | -------------------------------------------------------------------------------- /server/node_modules/got/source/utils/deep-freeze.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const is = require('@sindresorhus/is'); 3 | 4 | module.exports = function deepFreeze(object) { 5 | for (const [key, value] of Object.entries(object)) { 6 | if (is.plainObject(value) || is.array(value)) { 7 | deepFreeze(object[key]); 8 | } 9 | } 10 | 11 | return Object.freeze(object); 12 | }; 13 | -------------------------------------------------------------------------------- /server/node_modules/got/source/utils/get-body-size.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const fs = require('fs'); 3 | const util = require('util'); 4 | const is = require('@sindresorhus/is'); 5 | const isFormData = require('./is-form-data'); 6 | 7 | module.exports = async options => { 8 | const {body} = options; 9 | 10 | if (options.headers['content-length']) { 11 | return Number(options.headers['content-length']); 12 | } 13 | 14 | if (!body && !options.stream) { 15 | return 0; 16 | } 17 | 18 | if (is.string(body)) { 19 | return Buffer.byteLength(body); 20 | } 21 | 22 | if (isFormData(body)) { 23 | return util.promisify(body.getLength.bind(body))(); 24 | } 25 | 26 | if (body instanceof fs.ReadStream) { 27 | const {size} = await util.promisify(fs.stat)(body.path); 28 | return size; 29 | } 30 | 31 | return null; 32 | }; 33 | -------------------------------------------------------------------------------- /server/node_modules/got/source/utils/is-form-data.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const is = require('@sindresorhus/is'); 3 | 4 | module.exports = body => is.nodeStream(body) && is.function(body.getBoundary); 5 | -------------------------------------------------------------------------------- /server/node_modules/got/source/utils/url-to-options.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const is = require('@sindresorhus/is'); 3 | 4 | module.exports = url => { 5 | const options = { 6 | protocol: url.protocol, 7 | hostname: url.hostname.startsWith('[') ? url.hostname.slice(1, -1) : url.hostname, 8 | hash: url.hash, 9 | search: url.search, 10 | pathname: url.pathname, 11 | href: url.href 12 | }; 13 | 14 | if (is.string(url.port) && url.port.length > 0) { 15 | options.port = Number(url.port); 16 | } 17 | 18 | if (url.username || url.password) { 19 | options.auth = `${url.username}:${url.password}`; 20 | } 21 | 22 | options.path = is.null(url.search) ? url.pathname : `${url.pathname}${url.search}`; 23 | 24 | return options; 25 | }; 26 | -------------------------------------------------------------------------------- /server/node_modules/graceful-fs/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter, Ben Noordhuis, and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /server/node_modules/graceful-fs/clone.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | module.exports = clone 4 | 5 | var getPrototypeOf = Object.getPrototypeOf || function (obj) { 6 | return obj.__proto__ 7 | } 8 | 9 | function clone (obj) { 10 | if (obj === null || typeof obj !== 'object') 11 | return obj 12 | 13 | if (obj instanceof Object) 14 | var copy = { __proto__: getPrototypeOf(obj) } 15 | else 16 | var copy = Object.create(null) 17 | 18 | Object.getOwnPropertyNames(obj).forEach(function (key) { 19 | Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key)) 20 | }) 21 | 22 | return copy 23 | } 24 | -------------------------------------------------------------------------------- /server/node_modules/has-flag/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = (flag, argv) => { 3 | argv = argv || process.argv; 4 | const prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--'); 5 | const pos = argv.indexOf(prefix + flag); 6 | const terminatorPos = argv.indexOf('--'); 7 | return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos); 8 | }; 9 | -------------------------------------------------------------------------------- /server/node_modules/has-flag/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "has-flag", 3 | "version": "3.0.0", 4 | "description": "Check if argv has a specific flag", 5 | "license": "MIT", 6 | "repository": "sindresorhus/has-flag", 7 | "author": { 8 | "name": "Sindre Sorhus", 9 | "email": "sindresorhus@gmail.com", 10 | "url": "sindresorhus.com" 11 | }, 12 | "engines": { 13 | "node": ">=4" 14 | }, 15 | "scripts": { 16 | "test": "xo && ava" 17 | }, 18 | "files": [ 19 | "index.js" 20 | ], 21 | "keywords": [ 22 | "has", 23 | "check", 24 | "detect", 25 | "contains", 26 | "find", 27 | "flag", 28 | "cli", 29 | "command-line", 30 | "argv", 31 | "process", 32 | "arg", 33 | "args", 34 | "argument", 35 | "arguments", 36 | "getopt", 37 | "minimist", 38 | "optimist" 39 | ], 40 | "devDependencies": { 41 | "ava": "*", 42 | "xo": "*" 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /server/node_modules/has-yarn/index.d.ts: -------------------------------------------------------------------------------- 1 | declare const hasYarn: { 2 | /** 3 | * Check if a project is using [Yarn](https://yarnpkg.com). 4 | * 5 | * @param cwd - Current working directory. Default: `process.cwd()`. 6 | * @returns Whether the project uses Yarn. 7 | */ 8 | (cwd?: string): boolean; 9 | 10 | // TODO: Remove this for the next major release, refactor the whole definition to: 11 | // declare function hasYarn(cwd?: string): boolean; 12 | // export = hasYarn; 13 | default: typeof hasYarn; 14 | }; 15 | 16 | export = hasYarn; 17 | -------------------------------------------------------------------------------- /server/node_modules/has-yarn/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const path = require('path'); 3 | const fs = require('fs'); 4 | 5 | const hasYarn = (cwd = process.cwd()) => fs.existsSync(path.resolve(cwd, 'yarn.lock')); 6 | 7 | module.exports = hasYarn; 8 | // TODO: Remove this for the next major release 9 | module.exports.default = hasYarn; 10 | -------------------------------------------------------------------------------- /server/node_modules/has-yarn/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "has-yarn", 3 | "version": "2.1.0", 4 | "description": "Check if a project is using Yarn", 5 | "license": "MIT", 6 | "repository": "sindresorhus/has-yarn", 7 | "author": { 8 | "name": "Sindre Sorhus", 9 | "email": "sindresorhus@gmail.com", 10 | "url": "sindresorhus.com" 11 | }, 12 | "engines": { 13 | "node": ">=8" 14 | }, 15 | "scripts": { 16 | "test": "xo && ava && tsd" 17 | }, 18 | "files": [ 19 | "index.js", 20 | "index.d.ts" 21 | ], 22 | "keywords": [ 23 | "yarn", 24 | "has", 25 | "detect", 26 | "is", 27 | "project", 28 | "app", 29 | "module", 30 | "package", 31 | "manager", 32 | "npm" 33 | ], 34 | "devDependencies": { 35 | "ava": "^1.4.1", 36 | "tsd": "^0.7.1", 37 | "xo": "^0.24.0" 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /server/node_modules/http-cache-semantics/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "http-cache-semantics", 3 | "version": "4.1.0", 4 | "description": "Parses Cache-Control and other headers. Helps building correct HTTP caches and proxies", 5 | "repository": "https://github.com/kornelski/http-cache-semantics.git", 6 | "main": "index.js", 7 | "scripts": { 8 | "test": "mocha" 9 | }, 10 | "files": [ 11 | "index.js" 12 | ], 13 | "author": "Kornel Lesiński (https://kornel.ski/)", 14 | "license": "BSD-2-Clause", 15 | "devDependencies": { 16 | "eslint": "^5.13.0", 17 | "eslint-plugin-prettier": "^3.0.1", 18 | "husky": "^0.14.3", 19 | "lint-staged": "^8.1.3", 20 | "mocha": "^5.1.0", 21 | "prettier": "^1.14.3", 22 | "prettier-eslint-cli": "^4.7.1" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /server/node_modules/iconv-lite/encodings/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | // Update this array if you add/rename/remove files in this directory. 4 | // We support Browserify by skipping automatic module discovery and requiring modules directly. 5 | var modules = [ 6 | require("./internal"), 7 | require("./utf16"), 8 | require("./utf7"), 9 | require("./sbcs-codec"), 10 | require("./sbcs-data"), 11 | require("./sbcs-data-generated"), 12 | require("./dbcs-codec"), 13 | require("./dbcs-data"), 14 | ]; 15 | 16 | // Put all encoding/alias/codec definitions to single object and export it. 17 | for (var i = 0; i < modules.length; i++) { 18 | var module = modules[i]; 19 | for (var enc in module) 20 | if (Object.prototype.hasOwnProperty.call(module, enc)) 21 | exports[enc] = module[enc]; 22 | } 23 | -------------------------------------------------------------------------------- /server/node_modules/ignore-by-default/LICENSE: -------------------------------------------------------------------------------- 1 | ISC License (ISC) 2 | Copyright (c) 2016, Mark Wubben 3 | 4 | Permission to use, copy, modify, and/or distribute this software for any purpose 5 | with or without fee is hereby granted, provided that the above copyright notice 6 | and this permission notice appear in all copies. 7 | 8 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 9 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND 10 | FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 11 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS 12 | OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 13 | TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF 14 | THIS SOFTWARE. 15 | -------------------------------------------------------------------------------- /server/node_modules/ignore-by-default/README.md: -------------------------------------------------------------------------------- 1 | # ignore-by-default 2 | 3 | This is a package aimed at Node.js development tools. It provides a list of 4 | directories that should probably be ignored by such tools, e.g. when watching 5 | for file changes. 6 | 7 | It's used by [AVA](https://www.npmjs.com/package/ava) and 8 | [nodemon](https://www.npmjs.com/package/nodemon). 9 | 10 | [Please contribute!](./CONTRIBUTING.md) 11 | 12 | ## Installation 13 | 14 | ``` 15 | npm install --save ignore-by-default 16 | ``` 17 | 18 | ## Usage 19 | 20 | The `ignore-by-default` module exports a `directories()` function, which will 21 | return an array of directory names. These are the ones you should ignore. 22 | 23 | ```js 24 | // ['.git', '.sass_cache', …] 25 | var ignoredDirectories = require('ignore-by-default').directories() 26 | ``` 27 | -------------------------------------------------------------------------------- /server/node_modules/ignore-by-default/index.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | exports.directories = function () { 4 | return [ 5 | '.git', // Git repository files, see 6 | '.nyc_output', // Temporary directory where nyc stores coverage data, see 7 | '.sass-cache', // Cache folder for node-sass, see 8 | 'bower_components', // Where Bower packages are installed, see 9 | 'coverage', // Standard output directory for code coverage reports, see 10 | 'node_modules' // Where Node modules are installed, see 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /server/node_modules/inherits/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 10 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND 11 | FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 12 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13 | LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 14 | OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15 | PERFORMANCE OF THIS SOFTWARE. 16 | 17 | -------------------------------------------------------------------------------- /server/node_modules/inherits/inherits.js: -------------------------------------------------------------------------------- 1 | try { 2 | var util = require('util'); 3 | /* istanbul ignore next */ 4 | if (typeof util.inherits !== 'function') throw ''; 5 | module.exports = util.inherits; 6 | } catch (e) { 7 | /* istanbul ignore next */ 8 | module.exports = require('./inherits_browser.js'); 9 | } 10 | -------------------------------------------------------------------------------- /server/node_modules/inherits/inherits_browser.js: -------------------------------------------------------------------------------- 1 | if (typeof Object.create === 'function') { 2 | // implementation from standard node.js 'util' module 3 | module.exports = function inherits(ctor, superCtor) { 4 | if (superCtor) { 5 | ctor.super_ = superCtor 6 | ctor.prototype = Object.create(superCtor.prototype, { 7 | constructor: { 8 | value: ctor, 9 | enumerable: false, 10 | writable: true, 11 | configurable: true 12 | } 13 | }) 14 | } 15 | }; 16 | } else { 17 | // old school shim for old browsers 18 | module.exports = function inherits(ctor, superCtor) { 19 | if (superCtor) { 20 | ctor.super_ = superCtor 21 | var TempCtor = function () {} 22 | TempCtor.prototype = superCtor.prototype 23 | ctor.prototype = new TempCtor() 24 | ctor.prototype.constructor = ctor 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /server/node_modules/inherits/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "inherits", 3 | "description": "Browser-friendly inheritance fully compatible with standard node.js inherits()", 4 | "version": "2.0.4", 5 | "keywords": [ 6 | "inheritance", 7 | "class", 8 | "klass", 9 | "oop", 10 | "object-oriented", 11 | "inherits", 12 | "browser", 13 | "browserify" 14 | ], 15 | "main": "./inherits.js", 16 | "browser": "./inherits_browser.js", 17 | "repository": "git://github.com/isaacs/inherits", 18 | "license": "ISC", 19 | "scripts": { 20 | "test": "tap" 21 | }, 22 | "devDependencies": { 23 | "tap": "^14.2.4" 24 | }, 25 | "files": [ 26 | "inherits.js", 27 | "inherits_browser.js" 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /server/node_modules/ini/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /server/node_modules/ipaddr.js/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ipaddr.js", 3 | "description": "A library for manipulating IPv4 and IPv6 addresses in JavaScript.", 4 | "version": "1.9.1", 5 | "author": "whitequark ", 6 | "directories": { 7 | "lib": "./lib" 8 | }, 9 | "dependencies": {}, 10 | "devDependencies": { 11 | "coffee-script": "~1.12.6", 12 | "nodeunit": "^0.11.3", 13 | "uglify-js": "~3.0.19" 14 | }, 15 | "scripts": { 16 | "test": "cake build test" 17 | }, 18 | "files": [ 19 | "lib/", 20 | "LICENSE", 21 | "ipaddr.min.js" 22 | ], 23 | "keywords": [ 24 | "ip", 25 | "ipv4", 26 | "ipv6" 27 | ], 28 | "repository": "git://github.com/whitequark/ipaddr.js", 29 | "main": "./lib/ipaddr.js", 30 | "engines": { 31 | "node": ">= 0.10" 32 | }, 33 | "license": "MIT", 34 | "types": "./lib/ipaddr.js.d.ts" 35 | } 36 | -------------------------------------------------------------------------------- /server/node_modules/is-binary-path/index.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | Check if a file path is a binary file. 3 | 4 | @example 5 | ``` 6 | import isBinaryPath = require('is-binary-path'); 7 | 8 | isBinaryPath('source/unicorn.png'); 9 | //=> true 10 | 11 | isBinaryPath('source/unicorn.txt'); 12 | //=> false 13 | ``` 14 | */ 15 | declare function isBinaryPath(filePath: string): boolean; 16 | 17 | export = isBinaryPath; 18 | -------------------------------------------------------------------------------- /server/node_modules/is-binary-path/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const path = require('path'); 3 | const binaryExtensions = require('binary-extensions'); 4 | 5 | const extensions = new Set(binaryExtensions); 6 | 7 | module.exports = filePath => extensions.has(path.extname(filePath).slice(1).toLowerCase()); 8 | -------------------------------------------------------------------------------- /server/node_modules/is-binary-path/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "is-binary-path", 3 | "version": "2.1.0", 4 | "description": "Check if a file path is a binary file", 5 | "license": "MIT", 6 | "repository": "sindresorhus/is-binary-path", 7 | "author": { 8 | "name": "Sindre Sorhus", 9 | "email": "sindresorhus@gmail.com", 10 | "url": "sindresorhus.com" 11 | }, 12 | "engines": { 13 | "node": ">=8" 14 | }, 15 | "scripts": { 16 | "test": "xo && ava && tsd" 17 | }, 18 | "files": [ 19 | "index.js", 20 | "index.d.ts" 21 | ], 22 | "keywords": [ 23 | "binary", 24 | "extensions", 25 | "extension", 26 | "file", 27 | "path", 28 | "check", 29 | "detect", 30 | "is" 31 | ], 32 | "dependencies": { 33 | "binary-extensions": "^2.0.0" 34 | }, 35 | "devDependencies": { 36 | "ava": "^1.4.1", 37 | "tsd": "^0.7.2", 38 | "xo": "^0.24.0" 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /server/node_modules/is-binary-path/readme.md: -------------------------------------------------------------------------------- 1 | # is-binary-path [![Build Status](https://travis-ci.org/sindresorhus/is-binary-path.svg?branch=master)](https://travis-ci.org/sindresorhus/is-binary-path) 2 | 3 | > Check if a file path is a binary file 4 | 5 | 6 | ## Install 7 | 8 | ``` 9 | $ npm install is-binary-path 10 | ``` 11 | 12 | 13 | ## Usage 14 | 15 | ```js 16 | const isBinaryPath = require('is-binary-path'); 17 | 18 | isBinaryPath('source/unicorn.png'); 19 | //=> true 20 | 21 | isBinaryPath('source/unicorn.txt'); 22 | //=> false 23 | ``` 24 | 25 | 26 | ## Related 27 | 28 | - [binary-extensions](https://github.com/sindresorhus/binary-extensions) - List of binary file extensions 29 | - [is-text-path](https://github.com/sindresorhus/is-text-path) - Check if a filepath is a text file 30 | 31 | 32 | ## License 33 | 34 | MIT © [Sindre Sorhus](https://sindresorhus.com), [Paul Miller](https://paulmillr.com) 35 | -------------------------------------------------------------------------------- /server/node_modules/is-ci/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | ## v2.0.0 4 | 5 | Breaking changes: 6 | 7 | * Drop support for Node.js end-of-life versions: 0.10, 0.12, 4, 5, 7, 8 | and 9 9 | 10 | Other changes: 11 | 12 | See [ci-info 13 | changelog](https://github.com/watson/ci-info/blob/master/CHANGELOG.md#v200) 14 | for a list of newly supported CI servers. 15 | -------------------------------------------------------------------------------- /server/node_modules/is-ci/bin.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 'use strict' 3 | 4 | process.exit(require('./') ? 0 : 1) 5 | -------------------------------------------------------------------------------- /server/node_modules/is-ci/index.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | module.exports = require('ci-info').isCI 4 | -------------------------------------------------------------------------------- /server/node_modules/is-extglob/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * is-extglob 3 | * 4 | * Copyright (c) 2014-2016, Jon Schlinkert. 5 | * Licensed under the MIT License. 6 | */ 7 | 8 | module.exports = function isExtglob(str) { 9 | if (typeof str !== 'string' || str === '') { 10 | return false; 11 | } 12 | 13 | var match; 14 | while ((match = /(\\).|([@?!+*]\(.*\))/g.exec(str))) { 15 | if (match[2]) return true; 16 | str = str.slice(match.index + match[0].length); 17 | } 18 | 19 | return false; 20 | }; 21 | -------------------------------------------------------------------------------- /server/node_modules/is-fullwidth-code-point/index.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | Check if the character represented by a given [Unicode code point](https://en.wikipedia.org/wiki/Code_point) is [fullwidth](https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms). 3 | 4 | @param codePoint - The [code point](https://en.wikipedia.org/wiki/Code_point) of a character. 5 | 6 | @example 7 | ``` 8 | import isFullwidthCodePoint from 'is-fullwidth-code-point'; 9 | 10 | isFullwidthCodePoint('谢'.codePointAt(0)); 11 | //=> true 12 | 13 | isFullwidthCodePoint('a'.codePointAt(0)); 14 | //=> false 15 | ``` 16 | */ 17 | export default function isFullwidthCodePoint(codePoint: number): boolean; 18 | -------------------------------------------------------------------------------- /server/node_modules/is-installed-globally/index.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | Check if your package was installed globally. 3 | 4 | @example 5 | ``` 6 | import isInstalledGlobally = require('is-installed-globally'); 7 | 8 | // With `npm install your-package` 9 | console.log(isInstalledGlobally); 10 | //=> false 11 | 12 | // With `npm install --global your-package` 13 | console.log(isInstalledGlobally); 14 | //=> true 15 | ``` 16 | */ 17 | declare const isInstalledGlobally: boolean; 18 | 19 | export = isInstalledGlobally; 20 | -------------------------------------------------------------------------------- /server/node_modules/is-installed-globally/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const fs = require('fs'); 3 | const globalDirs = require('global-dirs'); 4 | const isPathInside = require('is-path-inside'); 5 | 6 | module.exports = (() => { 7 | try { 8 | return ( 9 | isPathInside(__dirname, globalDirs.yarn.packages) || 10 | isPathInside(__dirname, fs.realpathSync(globalDirs.npm.packages)) 11 | ); 12 | } catch { 13 | return false; 14 | } 15 | })(); 16 | -------------------------------------------------------------------------------- /server/node_modules/is-npm/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const packageJson = process.env.npm_package_json; 4 | const userAgent = process.env.npm_config_user_agent; 5 | const isYarn = Boolean(userAgent && userAgent.startsWith('yarn')); 6 | const isNpm = Boolean(userAgent && userAgent.startsWith('npm')); 7 | const isNpm7 = Boolean(packageJson && packageJson.endsWith('package.json')); 8 | 9 | module.exports.isNpmOrYarn = isNpm || isNpm7 || isYarn; 10 | module.exports.isNpm = isNpm || isNpm7; 11 | module.exports.isYarn = isYarn; 12 | -------------------------------------------------------------------------------- /server/node_modules/is-npm/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "is-npm", 3 | "version": "5.0.0", 4 | "description": "Check if your code is running as an npm script", 5 | "license": "MIT", 6 | "repository": "sindresorhus/is-npm", 7 | "funding": "https://github.com/sponsors/sindresorhus", 8 | "author": { 9 | "name": "Sindre Sorhus", 10 | "email": "sindresorhus@gmail.com", 11 | "url": "https://sindresorhus.com" 12 | }, 13 | "engines": { 14 | "node": ">=10" 15 | }, 16 | "scripts": { 17 | "test": "xo && ava && tsd" 18 | }, 19 | "files": [ 20 | "index.js", 21 | "index.d.ts" 22 | ], 23 | "keywords": [ 24 | "npm", 25 | "yarn", 26 | "is", 27 | "check", 28 | "detect", 29 | "env", 30 | "environment", 31 | "run", 32 | "script" 33 | ], 34 | "devDependencies": { 35 | "ava": "^2.4.0", 36 | "tsd": "^0.11.0", 37 | "xo": "^0.30.0" 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /server/node_modules/is-number/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * is-number 3 | * 4 | * Copyright (c) 2014-present, Jon Schlinkert. 5 | * Released under the MIT License. 6 | */ 7 | 8 | 'use strict'; 9 | 10 | module.exports = function(num) { 11 | if (typeof num === 'number') { 12 | return num - num === 0; 13 | } 14 | if (typeof num === 'string' && num.trim() !== '') { 15 | return Number.isFinite ? Number.isFinite(+num) : isFinite(+num); 16 | } 17 | return false; 18 | }; 19 | -------------------------------------------------------------------------------- /server/node_modules/is-obj/index.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | Check if a value is an object. 3 | 4 | Keep in mind that array, function, regexp, etc, are objects in JavaScript. 5 | 6 | @example 7 | ``` 8 | import isObject = require('is-obj'); 9 | 10 | isObject({foo: 'bar'}); 11 | //=> true 12 | 13 | isObject([1, 2, 3]); 14 | //=> true 15 | 16 | isObject('foo'); 17 | //=> false 18 | ``` 19 | */ 20 | declare function isObject(value: unknown): value is object; 21 | 22 | export = isObject; 23 | -------------------------------------------------------------------------------- /server/node_modules/is-obj/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = value => { 4 | const type = typeof value; 5 | return value !== null && (type === 'object' || type === 'function'); 6 | }; 7 | -------------------------------------------------------------------------------- /server/node_modules/is-obj/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "is-obj", 3 | "version": "2.0.0", 4 | "description": "Check if a value is an object", 5 | "license": "MIT", 6 | "repository": "sindresorhus/is-obj", 7 | "author": { 8 | "name": "Sindre Sorhus", 9 | "email": "sindresorhus@gmail.com", 10 | "url": "sindresorhus.com" 11 | }, 12 | "engines": { 13 | "node": ">=8" 14 | }, 15 | "scripts": { 16 | "test": "xo && ava && tsd" 17 | }, 18 | "files": [ 19 | "index.js", 20 | "index.d.ts" 21 | ], 22 | "keywords": [ 23 | "object", 24 | "is", 25 | "check", 26 | "test", 27 | "type" 28 | ], 29 | "devDependencies": { 30 | "ava": "^1.4.1", 31 | "tsd": "^0.7.2", 32 | "xo": "^0.24.0" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /server/node_modules/is-obj/readme.md: -------------------------------------------------------------------------------- 1 | # is-obj [![Build Status](https://travis-ci.org/sindresorhus/is-obj.svg?branch=master)](https://travis-ci.org/sindresorhus/is-obj) 2 | 3 | > Check if a value is an object 4 | 5 | Keep in mind that array, function, regexp, etc, are objects in JavaScript.
6 | See [`is-plain-obj`](https://github.com/sindresorhus/is-plain-obj) if you want to check for plain objects. 7 | 8 | 9 | ## Install 10 | 11 | ``` 12 | $ npm install is-obj 13 | ``` 14 | 15 | 16 | ## Usage 17 | 18 | ```js 19 | const isObject = require('is-obj'); 20 | 21 | isObject({foo: 'bar'}); 22 | //=> true 23 | 24 | isObject([1, 2, 3]); 25 | //=> true 26 | 27 | isObject('foo'); 28 | //=> false 29 | ``` 30 | 31 | 32 | ## Related 33 | 34 | - [is](https://github.com/sindresorhus/is) - Type check values 35 | 36 | 37 | ## License 38 | 39 | MIT © [Sindre Sorhus](https://sindresorhus.com) 40 | -------------------------------------------------------------------------------- /server/node_modules/is-path-inside/index.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | Check if a path is inside another path. 3 | 4 | Note that relative paths are resolved against `process.cwd()` to make them absolute. 5 | 6 | _Important:_ This package is meant for use with path manipulation. It does not check if the paths exist nor does it resolve symlinks. You should not use this as a security mechanism to guard against access to certain places on the file system. 7 | 8 | @example 9 | ``` 10 | import isPathInside = require('is-path-inside'); 11 | 12 | isPathInside('a/b/c', 'a/b'); 13 | //=> true 14 | 15 | isPathInside('a/b/c', 'x/y'); 16 | //=> false 17 | 18 | isPathInside('a/b/c', 'a/b/c'); 19 | //=> false 20 | 21 | isPathInside('/Users/sindresorhus/dev/unicorn', '/Users/sindresorhus'); 22 | //=> true 23 | ``` 24 | */ 25 | declare function isPathInside(childPath: string, parentPath: string): boolean; 26 | 27 | export = isPathInside; 28 | -------------------------------------------------------------------------------- /server/node_modules/is-path-inside/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const path = require('path'); 3 | 4 | module.exports = (childPath, parentPath) => { 5 | const relation = path.relative(parentPath, childPath); 6 | return Boolean( 7 | relation && 8 | relation !== '..' && 9 | !relation.startsWith(`..${path.sep}`) && 10 | relation !== path.resolve(childPath) 11 | ); 12 | }; 13 | -------------------------------------------------------------------------------- /server/node_modules/is-path-inside/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "is-path-inside", 3 | "version": "3.0.3", 4 | "description": "Check if a path is inside another path", 5 | "license": "MIT", 6 | "repository": "sindresorhus/is-path-inside", 7 | "author": { 8 | "name": "Sindre Sorhus", 9 | "email": "sindresorhus@gmail.com", 10 | "url": "sindresorhus.com" 11 | }, 12 | "engines": { 13 | "node": ">=8" 14 | }, 15 | "scripts": { 16 | "test": "xo && ava && tsd" 17 | }, 18 | "files": [ 19 | "index.js", 20 | "index.d.ts" 21 | ], 22 | "keywords": [ 23 | "path", 24 | "inside", 25 | "folder", 26 | "directory", 27 | "dir", 28 | "file", 29 | "resolve" 30 | ], 31 | "devDependencies": { 32 | "ava": "^2.1.0", 33 | "tsd": "^0.7.2", 34 | "xo": "^0.24.0" 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /server/node_modules/is-typedarray/README.md: -------------------------------------------------------------------------------- 1 | # is-typedarray [![locked](http://badges.github.io/stability-badges/dist/locked.svg)](http://github.com/badges/stability-badges) 2 | 3 | Detect whether or not an object is a 4 | [Typed Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays). 5 | 6 | ## Usage 7 | 8 | [![NPM](https://nodei.co/npm/is-typedarray.png)](https://nodei.co/npm/is-typedarray/) 9 | 10 | ### isTypedArray(array) 11 | 12 | Returns `true` when array is a Typed Array, and `false` when it is not. 13 | 14 | ## License 15 | 16 | MIT. See [LICENSE.md](http://github.com/hughsk/is-typedarray/blob/master/LICENSE.md) for details. 17 | -------------------------------------------------------------------------------- /server/node_modules/is-typedarray/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "is-typedarray", 3 | "version": "1.0.0", 4 | "description": "Detect whether or not an object is a Typed Array", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "node test" 8 | }, 9 | "author": "Hugh Kennedy (http://hughsk.io/)", 10 | "license": "MIT", 11 | "dependencies": {}, 12 | "devDependencies": { 13 | "tape": "^2.13.1" 14 | }, 15 | "repository": { 16 | "type": "git", 17 | "url": "git://github.com/hughsk/is-typedarray.git" 18 | }, 19 | "keywords": [ 20 | "typed", 21 | "array", 22 | "detect", 23 | "is", 24 | "util" 25 | ], 26 | "bugs": { 27 | "url": "https://github.com/hughsk/is-typedarray/issues" 28 | }, 29 | "homepage": "https://github.com/hughsk/is-typedarray" 30 | } 31 | -------------------------------------------------------------------------------- /server/node_modules/is-yarn-global/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "8" 4 | - "6" 5 | -------------------------------------------------------------------------------- /server/node_modules/is-yarn-global/README.md: -------------------------------------------------------------------------------- 1 | # is-yarn-global 2 | 3 | [![](https://img.shields.io/travis/LitoMore/is-yarn-global/master.svg)](https://travis-ci.org/LitoMore/is-yarn-global) 4 | [![](https://img.shields.io/npm/v/is-yarn-global.svg)](https://www.npmjs.com/package/is-yarn-global) 5 | [![](https://img.shields.io/npm/l/is-yarn-global.svg)](https://github.com/LitoMore/is-yarn-global/blob/master/LICENSE) 6 | [![](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo) 7 | 8 | Check if installed by yarn globally without any `fs` calls 9 | 10 | ## Install 11 | 12 | ```bash 13 | $ npm install is-yarn-global 14 | ``` 15 | 16 | ## Usage 17 | 18 | Just require it in your package. 19 | 20 | ```javascript 21 | const isYarnGlobal = require('is-yarn-global'); 22 | 23 | console.log(isYarnGlobal()); 24 | ``` 25 | 26 | ## License 27 | 28 | MIT © [LitoMore](https://github.com/LitoMore) 29 | -------------------------------------------------------------------------------- /server/node_modules/is-yarn-global/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const path = require('path'); 4 | 5 | module.exports = function () { 6 | const isWindows = process.platform === 'win32'; 7 | const yarnPath = isWindows ? path.join('Yarn', 'config', 'global') : path.join('.config', 'yarn', 'global'); 8 | if (__dirname.includes(yarnPath)) { 9 | return true; 10 | } 11 | return false; 12 | }; 13 | -------------------------------------------------------------------------------- /server/node_modules/is-yarn-global/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "is-yarn-global", 3 | "version": "0.3.0", 4 | "description": "Check if installed by yarn globally without any `fs` calls", 5 | "repository": "git@github.com:LitoMore/is-yarn-global.git", 6 | "author": "LitoMore (litomore@gmail.com)", 7 | "license": "MIT", 8 | "scripts": { 9 | "test": "xo" 10 | }, 11 | "devDependencies": { 12 | "ava": "^0.24.0", 13 | "xo": "^0.18.2" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /server/node_modules/json-buffer/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | node_modules/* 3 | npm_debug.log 4 | -------------------------------------------------------------------------------- /server/node_modules/json-buffer/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - '0.10' 4 | -------------------------------------------------------------------------------- /server/node_modules/json-buffer/README.md: -------------------------------------------------------------------------------- 1 | # json-buffer 2 | 3 | JSON functions that can convert buffers! 4 | 5 | [![build status](https://secure.travis-ci.org/dominictarr/json-buffer.png)](http://travis-ci.org/dominictarr/json-buffer) 6 | 7 | [![testling badge](https://ci.testling.com/dominictarr/json-buffer.png)](https://ci.testling.com/dominictarr/json-buffer) 8 | 9 | JSON mangles buffers by converting to an array... 10 | which isn't helpful. json-buffers converts to base64 instead, 11 | and deconverts base64 to a buffer. 12 | 13 | ``` js 14 | var JSONB = require('json-buffer') 15 | var Buffer = require('buffer').Buffer 16 | 17 | var str = JSONB.stringify(new Buffer('hello there!')) 18 | 19 | console.log(JSONB.parse(str)) //GET a BUFFER back 20 | ``` 21 | 22 | ## License 23 | 24 | MIT 25 | -------------------------------------------------------------------------------- /server/node_modules/latest-version/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const packageJson = require('package-json'); 3 | 4 | const lastestVersion = async (packageName, options) => { 5 | const {version} = await packageJson(packageName.toLowerCase(), options); 6 | return version; 7 | }; 8 | 9 | module.exports = lastestVersion; 10 | // TODO: Remove this for the next major release 11 | module.exports.default = lastestVersion; 12 | -------------------------------------------------------------------------------- /server/node_modules/latest-version/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "latest-version", 3 | "version": "5.1.0", 4 | "description": "Get the latest version of an npm package", 5 | "license": "MIT", 6 | "repository": "sindresorhus/latest-version", 7 | "author": { 8 | "name": "Sindre Sorhus", 9 | "email": "sindresorhus@gmail.com", 10 | "url": "sindresorhus.com" 11 | }, 12 | "engines": { 13 | "node": ">=8" 14 | }, 15 | "scripts": { 16 | "test": "xo && ava && tsd" 17 | }, 18 | "files": [ 19 | "index.js", 20 | "index.d.ts" 21 | ], 22 | "keywords": [ 23 | "latest", 24 | "version", 25 | "npm", 26 | "pkg", 27 | "package", 28 | "package.json", 29 | "current", 30 | "module" 31 | ], 32 | "dependencies": { 33 | "package-json": "^6.3.0" 34 | }, 35 | "devDependencies": { 36 | "ava": "^1.4.1", 37 | "semver": "^6.0.0", 38 | "semver-regex": "^2.0.0", 39 | "tsd": "^0.7.2", 40 | "xo": "^0.24.0" 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /server/node_modules/lowercase-keys/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = function (obj) { 3 | var ret = {}; 4 | var keys = Object.keys(Object(obj)); 5 | 6 | for (var i = 0; i < keys.length; i++) { 7 | ret[keys[i].toLowerCase()] = obj[keys[i]]; 8 | } 9 | 10 | return ret; 11 | }; 12 | -------------------------------------------------------------------------------- /server/node_modules/lowercase-keys/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "lowercase-keys", 3 | "version": "1.0.1", 4 | "description": "Lowercase the keys of an object", 5 | "license": "MIT", 6 | "repository": "sindresorhus/lowercase-keys", 7 | "author": { 8 | "name": "Sindre Sorhus", 9 | "email": "sindresorhus@gmail.com", 10 | "url": "sindresorhus.com" 11 | }, 12 | "engines": { 13 | "node": ">=0.10.0" 14 | }, 15 | "scripts": { 16 | "test": "ava" 17 | }, 18 | "files": [ 19 | "index.js" 20 | ], 21 | "keywords": [ 22 | "object", 23 | "assign", 24 | "extend", 25 | "properties", 26 | "lowercase", 27 | "lower-case", 28 | "case", 29 | "keys", 30 | "key" 31 | ], 32 | "devDependencies": { 33 | "ava": "*" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /server/node_modules/lowercase-keys/readme.md: -------------------------------------------------------------------------------- 1 | # lowercase-keys [![Build Status](https://travis-ci.org/sindresorhus/lowercase-keys.svg?branch=master)](https://travis-ci.org/sindresorhus/lowercase-keys) 2 | 3 | > Lowercase the keys of an object 4 | 5 | 6 | ## Install 7 | 8 | ``` 9 | $ npm install --save lowercase-keys 10 | ``` 11 | 12 | 13 | ## Usage 14 | 15 | ```js 16 | var lowercaseKeys = require('lowercase-keys'); 17 | 18 | lowercaseKeys({FOO: true, bAr: false}); 19 | //=> {foo: true, bar: false} 20 | ``` 21 | 22 | 23 | ## API 24 | 25 | ### lowercaseKeys(object) 26 | 27 | Lowercases the keys and returns a new object. 28 | 29 | 30 | 31 | ## License 32 | 33 | MIT © [Sindre Sorhus](http://sindresorhus.com) 34 | -------------------------------------------------------------------------------- /server/node_modules/lru-cache/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /server/node_modules/lru-cache/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "lru-cache", 3 | "description": "A cache object that deletes the least-recently-used items.", 4 | "version": "6.0.0", 5 | "author": "Isaac Z. Schlueter ", 6 | "keywords": [ 7 | "mru", 8 | "lru", 9 | "cache" 10 | ], 11 | "scripts": { 12 | "test": "tap", 13 | "snap": "tap", 14 | "preversion": "npm test", 15 | "postversion": "npm publish", 16 | "prepublishOnly": "git push origin --follow-tags" 17 | }, 18 | "main": "index.js", 19 | "repository": "git://github.com/isaacs/node-lru-cache.git", 20 | "devDependencies": { 21 | "benchmark": "^2.1.4", 22 | "tap": "^14.10.7" 23 | }, 24 | "license": "ISC", 25 | "dependencies": { 26 | "yallist": "^4.0.0" 27 | }, 28 | "files": [ 29 | "index.js" 30 | ], 31 | "engines": { 32 | "node": ">=10" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /server/node_modules/make-dir/node_modules/.bin/semver: -------------------------------------------------------------------------------- 1 | ../../../semver/bin/semver.js -------------------------------------------------------------------------------- /server/node_modules/media-typer/HISTORY.md: -------------------------------------------------------------------------------- 1 | 0.3.0 / 2014-09-07 2 | ================== 3 | 4 | * Support Node.js 0.6 5 | * Throw error when parameter format invalid on parse 6 | 7 | 0.2.0 / 2014-06-18 8 | ================== 9 | 10 | * Add `typer.format()` to format media types 11 | 12 | 0.1.0 / 2014-06-17 13 | ================== 14 | 15 | * Accept `req` as argument to `parse` 16 | * Accept `res` as argument to `parse` 17 | * Parse media type with extra LWS between type and first parameter 18 | 19 | 0.0.0 / 2014-06-13 20 | ================== 21 | 22 | * Initial implementation 23 | -------------------------------------------------------------------------------- /server/node_modules/media-typer/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "media-typer", 3 | "description": "Simple RFC 6838 media type parser and formatter", 4 | "version": "0.3.0", 5 | "author": "Douglas Christopher Wilson ", 6 | "license": "MIT", 7 | "repository": "jshttp/media-typer", 8 | "devDependencies": { 9 | "istanbul": "0.3.2", 10 | "mocha": "~1.21.4", 11 | "should": "~4.0.4" 12 | }, 13 | "files": [ 14 | "LICENSE", 15 | "HISTORY.md", 16 | "index.js" 17 | ], 18 | "engines": { 19 | "node": ">= 0.6" 20 | }, 21 | "scripts": { 22 | "test": "mocha --reporter spec --check-leaks --bail test/", 23 | "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", 24 | "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /server/node_modules/merge-descriptors/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.1 / 2016-01-17 2 | ================== 3 | 4 | * perf: enable strict mode 5 | 6 | 1.0.0 / 2015-03-01 7 | ================== 8 | 9 | * Add option to only add new descriptors 10 | * Add simple argument validation 11 | * Add jsdoc to source file 12 | 13 | 0.0.2 / 2013-12-14 14 | ================== 15 | 16 | * Move repository to `component` organization 17 | 18 | 0.0.1 / 2013-10-29 19 | ================== 20 | 21 | * Initial release 22 | -------------------------------------------------------------------------------- /server/node_modules/methods/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.1.2 / 2016-01-17 2 | ================== 3 | 4 | * perf: enable strict mode 5 | 6 | 1.1.1 / 2014-12-30 7 | ================== 8 | 9 | * Improve `browserify` support 10 | 11 | 1.1.0 / 2014-07-05 12 | ================== 13 | 14 | * Add `CONNECT` method 15 | 16 | 1.0.1 / 2014-06-02 17 | ================== 18 | 19 | * Fix module to work with harmony transform 20 | 21 | 1.0.0 / 2014-05-08 22 | ================== 23 | 24 | * Add `PURGE` method 25 | 26 | 0.1.0 / 2013-10-28 27 | ================== 28 | 29 | * Add `http.METHODS` support 30 | -------------------------------------------------------------------------------- /server/node_modules/mime-db/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * mime-db 3 | * Copyright(c) 2014 Jonathan Ong 4 | * Copyright(c) 2015-2022 Douglas Christopher Wilson 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module exports. 10 | */ 11 | 12 | module.exports = require('./db.json') 13 | -------------------------------------------------------------------------------- /server/node_modules/mime/.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/machadop1407/socket-io-react-example/45a24dd26fdb69c099e8bec5bb2f7fb402d4ff89/server/node_modules/mime/.npmignore -------------------------------------------------------------------------------- /server/node_modules/mime/cli.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var mime = require('./mime.js'); 4 | var file = process.argv[2]; 5 | var type = mime.lookup(file); 6 | 7 | process.stdout.write(type + '\n'); 8 | 9 | -------------------------------------------------------------------------------- /server/node_modules/mimic-response/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | // We define these manually to ensure they're always copied 4 | // even if they would move up the prototype chain 5 | // https://nodejs.org/api/http.html#http_class_http_incomingmessage 6 | const knownProps = [ 7 | 'destroy', 8 | 'setTimeout', 9 | 'socket', 10 | 'headers', 11 | 'trailers', 12 | 'rawHeaders', 13 | 'statusCode', 14 | 'httpVersion', 15 | 'httpVersionMinor', 16 | 'httpVersionMajor', 17 | 'rawTrailers', 18 | 'statusMessage' 19 | ]; 20 | 21 | module.exports = (fromStream, toStream) => { 22 | const fromProps = new Set(Object.keys(fromStream).concat(knownProps)); 23 | 24 | for (const prop of fromProps) { 25 | // Don't overwrite existing properties 26 | if (prop in toStream) { 27 | continue; 28 | } 29 | 30 | toStream[prop] = typeof fromStream[prop] === 'function' ? fromStream[prop].bind(fromStream) : fromStream[prop]; 31 | } 32 | }; 33 | -------------------------------------------------------------------------------- /server/node_modules/mimic-response/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mimic-response", 3 | "version": "1.0.1", 4 | "description": "Mimic a Node.js HTTP response stream", 5 | "license": "MIT", 6 | "repository": "sindresorhus/mimic-response", 7 | "author": { 8 | "name": "Sindre Sorhus", 9 | "email": "sindresorhus@gmail.com", 10 | "url": "sindresorhus.com" 11 | }, 12 | "engines": { 13 | "node": ">=4" 14 | }, 15 | "scripts": { 16 | "test": "xo && ava" 17 | }, 18 | "files": [ 19 | "index.js" 20 | ], 21 | "keywords": [ 22 | "mimic", 23 | "response", 24 | "stream", 25 | "http", 26 | "https", 27 | "request", 28 | "get", 29 | "core" 30 | ], 31 | "devDependencies": { 32 | "ava": "*", 33 | "create-test-server": "^0.1.0", 34 | "pify": "^3.0.0", 35 | "xo": "*" 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /server/node_modules/minimatch/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /server/node_modules/minimatch/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "Isaac Z. Schlueter (http://blog.izs.me)", 3 | "name": "minimatch", 4 | "description": "a glob matcher in javascript", 5 | "version": "3.1.2", 6 | "publishConfig": { 7 | "tag": "v3-legacy" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "git://github.com/isaacs/minimatch.git" 12 | }, 13 | "main": "minimatch.js", 14 | "scripts": { 15 | "test": "tap", 16 | "preversion": "npm test", 17 | "postversion": "npm publish", 18 | "postpublish": "git push origin --all; git push origin --tags" 19 | }, 20 | "engines": { 21 | "node": "*" 22 | }, 23 | "dependencies": { 24 | "brace-expansion": "^1.1.7" 25 | }, 26 | "devDependencies": { 27 | "tap": "^15.1.6" 28 | }, 29 | "license": "ISC", 30 | "files": [ 31 | "minimatch.js" 32 | ] 33 | } 34 | -------------------------------------------------------------------------------- /server/node_modules/minimist/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.8" 4 | - "0.10" 5 | - "0.12" 6 | - "iojs" 7 | before_install: 8 | - npm install -g npm@~1.4.6 9 | -------------------------------------------------------------------------------- /server/node_modules/minimist/example/parse.js: -------------------------------------------------------------------------------- 1 | var argv = require('../')(process.argv.slice(2)); 2 | console.log(argv); 3 | -------------------------------------------------------------------------------- /server/node_modules/minimist/test/all_bool.js: -------------------------------------------------------------------------------- 1 | var parse = require('../'); 2 | var test = require('tape'); 3 | 4 | test('flag boolean true (default all --args to boolean)', function (t) { 5 | var argv = parse(['moo', '--honk', 'cow'], { 6 | boolean: true 7 | }); 8 | 9 | t.deepEqual(argv, { 10 | honk: true, 11 | _: ['moo', 'cow'] 12 | }); 13 | 14 | t.deepEqual(typeof argv.honk, 'boolean'); 15 | t.end(); 16 | }); 17 | 18 | test('flag boolean true only affects double hyphen arguments without equals signs', function (t) { 19 | var argv = parse(['moo', '--honk', 'cow', '-p', '55', '--tacos=good'], { 20 | boolean: true 21 | }); 22 | 23 | t.deepEqual(argv, { 24 | honk: true, 25 | tacos: 'good', 26 | p: 55, 27 | _: ['moo', 'cow'] 28 | }); 29 | 30 | t.deepEqual(typeof argv.honk, 'boolean'); 31 | t.end(); 32 | }); 33 | -------------------------------------------------------------------------------- /server/node_modules/minimist/test/dotted.js: -------------------------------------------------------------------------------- 1 | var parse = require('../'); 2 | var test = require('tape'); 3 | 4 | test('dotted alias', function (t) { 5 | var argv = parse(['--a.b', '22'], {default: {'a.b': 11}, alias: {'a.b': 'aa.bb'}}); 6 | t.equal(argv.a.b, 22); 7 | t.equal(argv.aa.bb, 22); 8 | t.end(); 9 | }); 10 | 11 | test('dotted default', function (t) { 12 | var argv = parse('', {default: {'a.b': 11}, alias: {'a.b': 'aa.bb'}}); 13 | t.equal(argv.a.b, 11); 14 | t.equal(argv.aa.bb, 11); 15 | t.end(); 16 | }); 17 | 18 | test('dotted default with no alias', function (t) { 19 | var argv = parse('', {default: {'a.b': 11}}); 20 | t.equal(argv.a.b, 11); 21 | t.end(); 22 | }); 23 | -------------------------------------------------------------------------------- /server/node_modules/minimist/test/kv_short.js: -------------------------------------------------------------------------------- 1 | var parse = require('../'); 2 | var test = require('tape'); 3 | 4 | test('short -k=v' , function (t) { 5 | t.plan(1); 6 | 7 | var argv = parse([ '-b=123' ]); 8 | t.deepEqual(argv, { b: 123, _: [] }); 9 | }); 10 | 11 | test('multi short -k=v' , function (t) { 12 | t.plan(1); 13 | 14 | var argv = parse([ '-a=whatever', '-b=robots' ]); 15 | t.deepEqual(argv, { a: 'whatever', b: 'robots', _: [] }); 16 | }); 17 | -------------------------------------------------------------------------------- /server/node_modules/minimist/test/long.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var parse = require('../'); 3 | 4 | test('long opts', function (t) { 5 | t.deepEqual( 6 | parse([ '--bool' ]), 7 | { bool : true, _ : [] }, 8 | 'long boolean' 9 | ); 10 | t.deepEqual( 11 | parse([ '--pow', 'xixxle' ]), 12 | { pow : 'xixxle', _ : [] }, 13 | 'long capture sp' 14 | ); 15 | t.deepEqual( 16 | parse([ '--pow=xixxle' ]), 17 | { pow : 'xixxle', _ : [] }, 18 | 'long capture eq' 19 | ); 20 | t.deepEqual( 21 | parse([ '--host', 'localhost', '--port', '555' ]), 22 | { host : 'localhost', port : 555, _ : [] }, 23 | 'long captures sp' 24 | ); 25 | t.deepEqual( 26 | parse([ '--host=localhost', '--port=555' ]), 27 | { host : 'localhost', port : 555, _ : [] }, 28 | 'long captures eq' 29 | ); 30 | t.end(); 31 | }); 32 | -------------------------------------------------------------------------------- /server/node_modules/minimist/test/parse_modified.js: -------------------------------------------------------------------------------- 1 | var parse = require('../'); 2 | var test = require('tape'); 3 | 4 | test('parse with modifier functions' , function (t) { 5 | t.plan(1); 6 | 7 | var argv = parse([ '-b', '123' ], { boolean: 'b' }); 8 | t.deepEqual(argv, { b: true, _: [123] }); 9 | }); 10 | -------------------------------------------------------------------------------- /server/node_modules/minimist/test/stop_early.js: -------------------------------------------------------------------------------- 1 | var parse = require('../'); 2 | var test = require('tape'); 3 | 4 | test('stops parsing on the first non-option when stopEarly is set', function (t) { 5 | var argv = parse(['--aaa', 'bbb', 'ccc', '--ddd'], { 6 | stopEarly: true 7 | }); 8 | 9 | t.deepEqual(argv, { 10 | aaa: 'bbb', 11 | _: ['ccc', '--ddd'] 12 | }); 13 | 14 | t.end(); 15 | }); 16 | -------------------------------------------------------------------------------- /server/node_modules/minimist/test/whitespace.js: -------------------------------------------------------------------------------- 1 | var parse = require('../'); 2 | var test = require('tape'); 3 | 4 | test('whitespace should be whitespace' , function (t) { 5 | t.plan(1); 6 | var x = parse([ '-x', '\t' ]).x; 7 | t.equal(x, '\t'); 8 | }); 9 | -------------------------------------------------------------------------------- /server/node_modules/ms/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ms", 3 | "version": "2.1.3", 4 | "description": "Tiny millisecond conversion utility", 5 | "repository": "vercel/ms", 6 | "main": "./index", 7 | "files": [ 8 | "index.js" 9 | ], 10 | "scripts": { 11 | "precommit": "lint-staged", 12 | "lint": "eslint lib/* bin/*", 13 | "test": "mocha tests.js" 14 | }, 15 | "eslintConfig": { 16 | "extends": "eslint:recommended", 17 | "env": { 18 | "node": true, 19 | "es6": true 20 | } 21 | }, 22 | "lint-staged": { 23 | "*.js": [ 24 | "npm run lint", 25 | "prettier --single-quote --write", 26 | "git add" 27 | ] 28 | }, 29 | "license": "MIT", 30 | "devDependencies": { 31 | "eslint": "4.18.2", 32 | "expect.js": "0.3.1", 33 | "husky": "0.14.3", 34 | "lint-staged": "5.0.0", 35 | "mocha": "4.0.1", 36 | "prettier": "2.0.5" 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /server/node_modules/nodemon/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "browser": true, 4 | "commonjs": true, 5 | "es2021": true 6 | }, 7 | "parserOptions": { 8 | "ecmaVersion": 12 9 | }, 10 | "rules": { 11 | "space-before-function-paren": [ 12 | 2, 13 | { 14 | "anonymous": "ignore", 15 | "named": "never" 16 | } 17 | ] 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /server/node_modules/nodemon/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "browser": true, 3 | "camelcase": true, 4 | "curly": true, 5 | "devel": true, 6 | "eqeqeq": true, 7 | "forin": true, 8 | "indent": 2, 9 | "noarg": true, 10 | "node": true, 11 | "quotmark": "single", 12 | "undef": true, 13 | "strict": false, 14 | "unused": true 15 | } 16 | 17 | -------------------------------------------------------------------------------- /server/node_modules/nodemon/.releaserc: -------------------------------------------------------------------------------- 1 | { 2 | "branches": ["main"] 3 | } 4 | -------------------------------------------------------------------------------- /server/node_modules/nodemon/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | cache: 3 | directories: 4 | - ~/.npm 5 | notifications: 6 | email: false 7 | node_js: 8 | - '14' 9 | - '12' 10 | - '10' 11 | before_install: 12 | - if [ "$TRAVIS_PULL_REQUEST_BRANCH" == "" ]; then echo "//registry.npmjs.org/:_authToken=\${NPM_TOKEN}" >> .npmrc; fi 13 | after_success: 14 | - npm run semantic-release 15 | branches: 16 | except: 17 | - /^v\d+\.\d+\.\d+$/ 18 | -------------------------------------------------------------------------------- /server/node_modules/nodemon/bin/nodemon.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | const cli = require('../lib/cli'); 4 | const nodemon = require('../lib/'); 5 | const options = cli.parse(process.argv); 6 | 7 | nodemon(options); 8 | 9 | const fs = require('fs'); 10 | 11 | // checks for available update and returns an instance 12 | const pkg = JSON.parse(fs.readFileSync(__dirname + '/../package.json')); 13 | 14 | if (pkg.version.indexOf('0.0.0') !== 0 && options.noUpdateNotifier !== true) { 15 | require('update-notifier')({ pkg }).notify(); 16 | } 17 | -------------------------------------------------------------------------------- /server/node_modules/nodemon/bin/windows-kill.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/machadop1407/socket-io-react-example/45a24dd26fdb69c099e8bec5bb2f7fb402d4ff89/server/node_modules/nodemon/bin/windows-kill.exe -------------------------------------------------------------------------------- /server/node_modules/nodemon/commitlint.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: ['@commitlint/config-conventional'], 3 | }; 4 | -------------------------------------------------------------------------------- /server/node_modules/nodemon/doc/cli/authors.txt: -------------------------------------------------------------------------------- 1 | 2 | Remy Sharp - author and maintainer 3 | https://github.com/remy 4 | https://twitter.com/rem 5 | 6 | Contributors: https://github.com/remy/nodemon/graphs/contributors ❤︎ 7 | 8 | Please help make nodemon better: https://github.com/remy/nodemon/ 9 | -------------------------------------------------------------------------------- /server/node_modules/nodemon/doc/cli/logo.txt: -------------------------------------------------------------------------------- 1 | ; ; 2 | kO. x0 3 | KMX, .:x0kc. 'KMN 4 | 0MMM0: 'oKMMMMMMMXd, ;OMMMX 5 | oMMMMMWKOONMMMMMMMMMMMMMWOOKWMMMMMx 6 | OMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK. 7 | .oWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMd. 8 | KMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMN 9 | KMMMMMMMMMMMMMMW0k0WMMMMMMMMMMMMMMW 10 | KMMMMMMMMMMMNk:. :xNMMMMMMMMMMMW 11 | KMMMMMMMMMMK OMMMMMMMMMMW 12 | KMMMMMMMMMMO xMMMMMMMMMMN 13 | KMMMMMMMMMMO xMMMMMMMMMMN 14 | KMMMMMMMMMMO xMMMMMMMMMMN 15 | KMMMMMMMMMMO xMMMMMMMMMMN 16 | KMMMMMMMMMMO xMMMMMMMMMMN 17 | KMMMMMMMMMNc ;NMMMMMMMMMN 18 | KMMMMMW0o' .lOWMMMMMN 19 | KMMKd; ,oKMMN 20 | kX: ,K0 -------------------------------------------------------------------------------- /server/node_modules/nodemon/doc/cli/topics.txt: -------------------------------------------------------------------------------- 1 | 2 | options .................. show all available nodemon options 3 | config ................... default config options using nodemon.json 4 | authors .................. contributors to this project 5 | logo ..................... <3 6 | whoami ................... I, AM, NODEMON \o/ 7 | 8 | Please support https://github.com/remy/nodemon/ 9 | -------------------------------------------------------------------------------- /server/node_modules/nodemon/doc/cli/usage.txt: -------------------------------------------------------------------------------- 1 | Usage: nodemon [nodemon options] [script.js] [args] 2 | 3 | See "nodemon --help" for more. 4 | -------------------------------------------------------------------------------- /server/node_modules/nodemon/lib/help/index.js: -------------------------------------------------------------------------------- 1 | var fs = require('fs'); 2 | var path = require('path'); 3 | const supportsColor = require('supports-color'); 4 | 5 | module.exports = help; 6 | 7 | const highlight = supportsColor.stdout ? '\x1B\[$1m' : ''; 8 | 9 | function help(item) { 10 | if (!item) { 11 | item = 'help'; 12 | } else if (item === true) { // if used with -h or --help and no args 13 | item = 'help'; 14 | } 15 | 16 | // cleanse the filename to only contain letters 17 | // aka: /\W/g but figured this was eaiser to read 18 | item = item.replace(/[^a-z]/gi, ''); 19 | 20 | try { 21 | var dir = path.join(__dirname, '..', '..', 'doc', 'cli', item + '.txt'); 22 | var body = fs.readFileSync(dir, 'utf8'); 23 | return body.replace(/\\x1B\[(.)m/g, highlight); 24 | } catch (e) { 25 | return '"' + item + '" help can\'t be found'; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /server/node_modules/nodemon/lib/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./nodemon'); -------------------------------------------------------------------------------- /server/node_modules/nodemon/lib/monitor/index.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | run: require('./run'), 3 | watch: require('./watch').watch, 4 | }; 5 | -------------------------------------------------------------------------------- /server/node_modules/nodemon/lib/monitor/signals.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | SIGHUP: 1, 3 | SIGINT: 2, 4 | SIGQUIT: 3, 5 | SIGILL: 4, 6 | SIGTRAP: 5, 7 | SIGABRT: 6, 8 | SIGBUS: 7, 9 | SIGFPE: 8, 10 | SIGKILL: 9, 11 | SIGUSR1: 10, 12 | SIGSEGV: 11, 13 | SIGUSR2: 12, 14 | SIGPIPE: 13, 15 | SIGALRM: 14, 16 | SIGTERM: 15, 17 | SIGSTKFLT: 16, 18 | SIGCHLD: 17, 19 | SIGCONT: 18, 20 | SIGSTOP: 19, 21 | SIGTSTP: 20, 22 | SIGTTIN: 21, 23 | SIGTTOU: 22, 24 | SIGURG: 23, 25 | SIGXCPU: 24, 26 | SIGXFSZ: 25, 27 | SIGVTALRM: 26, 28 | SIGPROF: 27, 29 | SIGWINCH: 28, 30 | SIGIO: 29, 31 | SIGPWR: 30, 32 | SIGSYS: 31, 33 | SIGRTMIN: 35, 34 | } 35 | -------------------------------------------------------------------------------- /server/node_modules/nodemon/lib/utils/colour.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Encodes a string in a colour: red, yellow or green 3 | * @param {String} c colour to highlight in 4 | * @param {String} str the string to encode 5 | * @return {String} coloured string for terminal printing 6 | */ 7 | function colour(c, str) { 8 | return (colour[c] || colour.black) + str + colour.black; 9 | } 10 | 11 | function strip(str) { 12 | re.lastIndex = 0; // reset position 13 | return str.replace(re, ''); 14 | } 15 | 16 | colour.red = '\x1B[31m'; 17 | colour.yellow = '\x1B[33m'; 18 | colour.green = '\x1B[32m'; 19 | colour.black = '\x1B[39m'; 20 | 21 | var reStr = Object.keys(colour).map(key => colour[key]).join('|'); 22 | var re = new RegExp(('(' + reStr + ')').replace(/\[/g, '\\['), 'g'); 23 | 24 | colour.strip = strip; 25 | 26 | module.exports = colour; 27 | -------------------------------------------------------------------------------- /server/node_modules/nodemon/node_modules/.bin/nodetouch: -------------------------------------------------------------------------------- 1 | ../../../touch/bin/nodetouch.js -------------------------------------------------------------------------------- /server/node_modules/nodemon/node_modules/.bin/semver: -------------------------------------------------------------------------------- 1 | ../semver/bin/semver -------------------------------------------------------------------------------- /server/node_modules/nodemon/node_modules/debug/node.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./src/node'); 2 | -------------------------------------------------------------------------------- /server/node_modules/nodemon/node_modules/debug/src/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | /** 4 | * Detect Electron renderer / nwjs process, which is node, but we should 5 | * treat as a browser. 6 | */ 7 | if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) { 8 | module.exports = require('./browser.js'); 9 | } else { 10 | module.exports = require('./node.js'); 11 | } 12 | 13 | -------------------------------------------------------------------------------- /server/node_modules/nodemon/node_modules/semver/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # changes log 2 | 3 | ## 5.7 4 | 5 | * Add `minVersion` method 6 | 7 | ## 5.6 8 | 9 | * Move boolean `loose` param to an options object, with 10 | backwards-compatibility protection. 11 | * Add ability to opt out of special prerelease version handling with 12 | the `includePrerelease` option flag. 13 | 14 | ## 5.5 15 | 16 | * Add version coercion capabilities 17 | 18 | ## 5.4 19 | 20 | * Add intersection checking 21 | 22 | ## 5.3 23 | 24 | * Add `minSatisfying` method 25 | 26 | ## 5.2 27 | 28 | * Add `prerelease(v)` that returns prerelease components 29 | 30 | ## 5.1 31 | 32 | * Add Backus-Naur for ranges 33 | * Remove excessively cute inspection methods 34 | 35 | ## 5.0 36 | 37 | * Remove AMD/Browserified build artifacts 38 | * Fix ltr and gtr when using the `*` range 39 | * Fix for range `*` with a prerelease identifier 40 | -------------------------------------------------------------------------------- /server/node_modules/nodemon/node_modules/semver/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /server/node_modules/nodemon/node_modules/semver/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "semver", 3 | "version": "5.7.1", 4 | "description": "The semantic version parser used by npm.", 5 | "main": "semver.js", 6 | "scripts": { 7 | "test": "tap", 8 | "preversion": "npm test", 9 | "postversion": "npm publish", 10 | "postpublish": "git push origin --all; git push origin --tags" 11 | }, 12 | "devDependencies": { 13 | "tap": "^13.0.0-rc.18" 14 | }, 15 | "license": "ISC", 16 | "repository": "https://github.com/npm/node-semver", 17 | "bin": { 18 | "semver": "./bin/semver" 19 | }, 20 | "files": [ 21 | "bin", 22 | "range.bnf", 23 | "semver.js" 24 | ], 25 | "tap": { 26 | "check-coverage": true 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /server/node_modules/nodemon/node_modules/semver/range.bnf: -------------------------------------------------------------------------------- 1 | range-set ::= range ( logical-or range ) * 2 | logical-or ::= ( ' ' ) * '||' ( ' ' ) * 3 | range ::= hyphen | simple ( ' ' simple ) * | '' 4 | hyphen ::= partial ' - ' partial 5 | simple ::= primitive | partial | tilde | caret 6 | primitive ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial 7 | partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )? 8 | xr ::= 'x' | 'X' | '*' | nr 9 | nr ::= '0' | [1-9] ( [0-9] ) * 10 | tilde ::= '~' partial 11 | caret ::= '^' partial 12 | qualifier ::= ( '-' pre )? ( '+' build )? 13 | pre ::= parts 14 | build ::= parts 15 | parts ::= part ( '.' part ) * 16 | part ::= nr | [-0-9A-Za-z]+ 17 | -------------------------------------------------------------------------------- /server/node_modules/nopt/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/machadop1407/socket-io-react-example/45a24dd26fdb69c099e8bec5bb2f7fb402d4ff89/server/node_modules/nopt/.gitignore -------------------------------------------------------------------------------- /server/node_modules/nopt/package.json: -------------------------------------------------------------------------------- 1 | { "name" : "nopt" 2 | , "version" : "1.0.10" 3 | , "description" : "Option parsing for Node, supporting types, shorthands, etc. Used by npm." 4 | , "author" : "Isaac Z. Schlueter (http://blog.izs.me/)" 5 | , "main" : "lib/nopt.js" 6 | , "scripts" : { "test" : "node lib/nopt.js" } 7 | , "repository" : "http://github.com/isaacs/nopt" 8 | , "bin" : "./bin/nopt.js" 9 | , "license" : 10 | { "type" : "MIT" 11 | , "url" : "https://github.com/isaacs/nopt/raw/master/LICENSE" } 12 | , "dependencies" : { "abbrev" : "1" }} 13 | -------------------------------------------------------------------------------- /server/node_modules/normalize-url/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "normalize-url", 3 | "version": "4.5.1", 4 | "description": "Normalize a URL", 5 | "license": "MIT", 6 | "repository": "sindresorhus/normalize-url", 7 | "author": { 8 | "name": "Sindre Sorhus", 9 | "email": "sindresorhus@gmail.com", 10 | "url": "sindresorhus.com" 11 | }, 12 | "engines": { 13 | "node": ">=8" 14 | }, 15 | "scripts": { 16 | "test": "xo && nyc ava && tsd" 17 | }, 18 | "files": [ 19 | "index.js", 20 | "index.d.ts" 21 | ], 22 | "keywords": [ 23 | "normalize", 24 | "url", 25 | "uri", 26 | "address", 27 | "string", 28 | "normalization", 29 | "normalisation", 30 | "query", 31 | "querystring", 32 | "simplify", 33 | "strip", 34 | "trim", 35 | "canonical" 36 | ], 37 | "devDependencies": { 38 | "ava": "^2.4.0", 39 | "coveralls": "^3.0.6", 40 | "nyc": "^14.1.1", 41 | "tsd": "^0.8.0", 42 | "xo": "^0.24.0" 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /server/node_modules/once/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /server/node_modules/once/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "once", 3 | "version": "1.4.0", 4 | "description": "Run a function exactly one time", 5 | "main": "once.js", 6 | "directories": { 7 | "test": "test" 8 | }, 9 | "dependencies": { 10 | "wrappy": "1" 11 | }, 12 | "devDependencies": { 13 | "tap": "^7.0.1" 14 | }, 15 | "scripts": { 16 | "test": "tap test/*.js" 17 | }, 18 | "files": [ 19 | "once.js" 20 | ], 21 | "repository": { 22 | "type": "git", 23 | "url": "git://github.com/isaacs/once" 24 | }, 25 | "keywords": [ 26 | "once", 27 | "function", 28 | "one", 29 | "single" 30 | ], 31 | "author": "Isaac Z. Schlueter (http://blog.izs.me/)", 32 | "license": "ISC" 33 | } 34 | -------------------------------------------------------------------------------- /server/node_modules/package-json/node_modules/.bin/semver: -------------------------------------------------------------------------------- 1 | ../../../semver/bin/semver.js -------------------------------------------------------------------------------- /server/node_modules/path-to-regexp/History.md: -------------------------------------------------------------------------------- 1 | 0.1.7 / 2015-07-28 2 | ================== 3 | 4 | * Fixed regression with escaped round brackets and matching groups. 5 | 6 | 0.1.6 / 2015-06-19 7 | ================== 8 | 9 | * Replace `index` feature by outputting all parameters, unnamed and named. 10 | 11 | 0.1.5 / 2015-05-08 12 | ================== 13 | 14 | * Add an index property for position in match result. 15 | 16 | 0.1.4 / 2015-03-05 17 | ================== 18 | 19 | * Add license information 20 | 21 | 0.1.3 / 2014-07-06 22 | ================== 23 | 24 | * Better array support 25 | * Improved support for trailing slash in non-ending mode 26 | 27 | 0.1.0 / 2014-03-06 28 | ================== 29 | 30 | * add options.end 31 | 32 | 0.0.2 / 2013-02-10 33 | ================== 34 | 35 | * Update to match current express 36 | * add .license property to component.json 37 | -------------------------------------------------------------------------------- /server/node_modules/path-to-regexp/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "path-to-regexp", 3 | "description": "Express style path to RegExp utility", 4 | "version": "0.1.7", 5 | "files": [ 6 | "index.js", 7 | "LICENSE" 8 | ], 9 | "scripts": { 10 | "test": "istanbul cover _mocha -- -R spec" 11 | }, 12 | "keywords": [ 13 | "express", 14 | "regexp" 15 | ], 16 | "component": { 17 | "scripts": { 18 | "path-to-regexp": "index.js" 19 | } 20 | }, 21 | "license": "MIT", 22 | "repository": { 23 | "type": "git", 24 | "url": "https://github.com/component/path-to-regexp.git" 25 | }, 26 | "devDependencies": { 27 | "mocha": "^1.17.1", 28 | "istanbul": "^0.2.6" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /server/node_modules/picomatch/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = require('./lib/picomatch'); 4 | -------------------------------------------------------------------------------- /server/node_modules/prepend-http/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = (url, opts) => { 3 | if (typeof url !== 'string') { 4 | throw new TypeError(`Expected \`url\` to be of type \`string\`, got \`${typeof url}\``); 5 | } 6 | 7 | url = url.trim(); 8 | opts = Object.assign({https: false}, opts); 9 | 10 | if (/^\.*\/|^(?!localhost)\w+:/.test(url)) { 11 | return url; 12 | } 13 | 14 | return url.replace(/^(?!(?:\w+:)?\/\/)/, opts.https ? 'https://' : 'http://'); 15 | }; 16 | -------------------------------------------------------------------------------- /server/node_modules/prepend-http/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "prepend-http", 3 | "version": "2.0.0", 4 | "description": "Prepend `http://` to humanized URLs like todomvc.com and localhost", 5 | "license": "MIT", 6 | "repository": "sindresorhus/prepend-http", 7 | "author": { 8 | "name": "Sindre Sorhus", 9 | "email": "sindresorhus@gmail.com", 10 | "url": "sindresorhus.com" 11 | }, 12 | "engines": { 13 | "node": ">=4" 14 | }, 15 | "scripts": { 16 | "test": "xo && ava" 17 | }, 18 | "files": [ 19 | "index.js" 20 | ], 21 | "keywords": [ 22 | "prepend", 23 | "protocol", 24 | "scheme", 25 | "url", 26 | "uri", 27 | "http", 28 | "https", 29 | "humanized" 30 | ], 31 | "devDependencies": { 32 | "ava": "*", 33 | "xo": "*" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /server/node_modules/pstree.remy/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | cache: 3 | directories: 4 | - ~/.npm 5 | notifications: 6 | email: false 7 | node_js: 8 | - '8' 9 | -------------------------------------------------------------------------------- /server/node_modules/pstree.remy/README.md: -------------------------------------------------------------------------------- 1 | # pstree.remy 2 | 3 | > Cross platform ps-tree (including unix flavours without ps) 4 | 5 | ## Installation 6 | 7 | ```shel 8 | npm install pstree.remy 9 | ``` 10 | 11 | ## Usage 12 | 13 | ```js 14 | const psTree = psTree require('pstree.remy'); 15 | 16 | psTree(PID, (err, pids) => { 17 | if (err) { 18 | console.error(err); 19 | } 20 | console.log(pids) 21 | }); 22 | 23 | console.log(psTree.hasPS 24 | ? "This platform has the ps shell command" 25 | : "This platform does not have the ps shell command"); 26 | ``` 27 | -------------------------------------------------------------------------------- /server/node_modules/pstree.remy/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "pstree.remy", 3 | "version": "1.1.8", 4 | "main": "lib/index.js", 5 | "prettier": { 6 | "trailingComma": "es5", 7 | "semi": true, 8 | "singleQuote": true 9 | }, 10 | "scripts": { 11 | "test": "tap tests/*.test.js", 12 | "_prepublish": "npm test" 13 | }, 14 | "keywords": [ 15 | "ps", 16 | "pstree", 17 | "ps tree" 18 | ], 19 | "author": "Remy Sharp", 20 | "license": "MIT", 21 | "repository": { 22 | "type": "git", 23 | "url": "https://github.com/remy/pstree.git" 24 | }, 25 | "devDependencies": { 26 | "tap": "^11.0.0" 27 | }, 28 | "directories": { 29 | "test": "tests" 30 | }, 31 | "dependencies": {}, 32 | "description": "Collects the full tree of processes from /proc" 33 | } 34 | -------------------------------------------------------------------------------- /server/node_modules/pstree.remy/tests/fixtures/index.js: -------------------------------------------------------------------------------- 1 | const spawn = require('child_process').spawn; 2 | function run() { 3 | spawn( 4 | 'sh', 5 | ['-c', 'node -e "setInterval(() => console.log(`running`), 200)"'], 6 | { 7 | stdio: 'pipe', 8 | } 9 | ); 10 | } 11 | 12 | var runCallCount = process.argv[2] || 1; 13 | for (var i = 0; i < runCallCount; i++) run(); 14 | -------------------------------------------------------------------------------- /server/node_modules/pump/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.10" 4 | 5 | script: "npm test" 6 | -------------------------------------------------------------------------------- /server/node_modules/pump/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "pump", 3 | "version": "3.0.0", 4 | "repository": "git://github.com/mafintosh/pump.git", 5 | "license": "MIT", 6 | "description": "pipe streams together and close all of them if one of them closes", 7 | "browser": { 8 | "fs": false 9 | }, 10 | "keywords": [ 11 | "streams", 12 | "pipe", 13 | "destroy", 14 | "callback" 15 | ], 16 | "author": "Mathias Buus Madsen ", 17 | "dependencies": { 18 | "end-of-stream": "^1.1.0", 19 | "once": "^1.3.1" 20 | }, 21 | "scripts": { 22 | "test": "node test-browser.js && node test-node.js" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /server/node_modules/pupa/index.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | Simple micro templating. 3 | 4 | @param template - Text with placeholders for `data` properties. 5 | @param data - Data to interpolate into `template`. 6 | 7 | @example 8 | ``` 9 | import pupa = require('pupa'); 10 | 11 | pupa('The mobile number of {name} is {phone.mobile}', { 12 | name: 'Sindre', 13 | phone: { 14 | mobile: '609 24 363' 15 | } 16 | }); 17 | //=> 'The mobile number of Sindre is 609 24 363' 18 | 19 | pupa('I like {0} and {1}', ['🦄', '🐮']); 20 | //=> 'I like 🦄 and 🐮' 21 | 22 | // Double braces encodes the HTML entities to avoid code injection 23 | pupa('I like {{0}} and {{1}}', ['
🦄
', '🐮']); 24 | //=> 'I like <br>🦄</br> and <i>🐮</i>' 25 | ``` 26 | */ 27 | declare function pupa( 28 | template: string, 29 | data: unknown[] | {[key: string]: any} 30 | ): string; 31 | 32 | export = pupa; 33 | -------------------------------------------------------------------------------- /server/node_modules/qs/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 4 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | max_line_length = 160 11 | quote_type = single 12 | 13 | [test/*] 14 | max_line_length = off 15 | 16 | [LICENSE.md] 17 | indent_size = off 18 | 19 | [*.md] 20 | max_line_length = off 21 | 22 | [*.json] 23 | max_line_length = off 24 | 25 | [Makefile] 26 | max_line_length = off 27 | 28 | [CHANGELOG.md] 29 | indent_style = space 30 | indent_size = 2 31 | 32 | [LICENSE] 33 | indent_size = 2 34 | max_line_length = off 35 | 36 | [coverage/**/*] 37 | indent_size = off 38 | indent_style = off 39 | indent = off 40 | max_line_length = off 41 | -------------------------------------------------------------------------------- /server/node_modules/qs/.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: [ljharb] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: npm/qs 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: # Replace with a single custom sponsorship URL 13 | -------------------------------------------------------------------------------- /server/node_modules/qs/.nycrc: -------------------------------------------------------------------------------- 1 | { 2 | "all": true, 3 | "check-coverage": false, 4 | "reporter": ["text-summary", "text", "html", "json"], 5 | "lines": 86, 6 | "statements": 85.93, 7 | "functions": 82.43, 8 | "branches": 76.06, 9 | "exclude": [ 10 | "coverage", 11 | "dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /server/node_modules/qs/lib/formats.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var replace = String.prototype.replace; 4 | var percentTwenties = /%20/g; 5 | 6 | var Format = { 7 | RFC1738: 'RFC1738', 8 | RFC3986: 'RFC3986' 9 | }; 10 | 11 | module.exports = { 12 | 'default': Format.RFC3986, 13 | formatters: { 14 | RFC1738: function (value) { 15 | return replace.call(value, percentTwenties, '+'); 16 | }, 17 | RFC3986: function (value) { 18 | return String(value); 19 | } 20 | }, 21 | RFC1738: Format.RFC1738, 22 | RFC3986: Format.RFC3986 23 | }; 24 | -------------------------------------------------------------------------------- /server/node_modules/qs/lib/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var stringify = require('./stringify'); 4 | var parse = require('./parse'); 5 | var formats = require('./formats'); 6 | 7 | module.exports = { 8 | formats: formats, 9 | parse: parse, 10 | stringify: stringify 11 | }; 12 | -------------------------------------------------------------------------------- /server/node_modules/rc/LICENSE.APACHE2: -------------------------------------------------------------------------------- 1 | Apache License, Version 2.0 2 | 3 | Copyright (c) 2011 Dominic Tarr 4 | 5 | Licensed under the Apache License, Version 2.0 (the "License"); 6 | you may not use this file except in compliance with the License. 7 | You may obtain a copy of the License at 8 | 9 | http://www.apache.org/licenses/LICENSE-2.0 10 | 11 | Unless required by applicable law or agreed to in writing, software 12 | distributed under the License is distributed on an "AS IS" BASIS, 13 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | See the License for the specific language governing permissions and 15 | limitations under the License. 16 | -------------------------------------------------------------------------------- /server/node_modules/rc/browser.js: -------------------------------------------------------------------------------- 1 | 2 | // when this is loaded into the browser, 3 | // just use the defaults... 4 | 5 | module.exports = function (name, defaults) { 6 | return defaults 7 | } 8 | -------------------------------------------------------------------------------- /server/node_modules/rc/cli.js: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env node 2 | var rc = require('./index') 3 | 4 | console.log(JSON.stringify(rc(process.argv[2]), false, 2)) 5 | -------------------------------------------------------------------------------- /server/node_modules/rc/node_modules/ini/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /server/node_modules/rc/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "rc", 3 | "version": "1.2.8", 4 | "description": "hardwired configuration loader", 5 | "main": "index.js", 6 | "browser": "browser.js", 7 | "scripts": { 8 | "test": "set -e; node test/test.js; node test/ini.js; node test/nested-env-vars.js" 9 | }, 10 | "repository": { 11 | "type": "git", 12 | "url": "https://github.com/dominictarr/rc.git" 13 | }, 14 | "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", 15 | "keywords": [ 16 | "config", 17 | "rc", 18 | "unix", 19 | "defaults" 20 | ], 21 | "bin": "./cli.js", 22 | "author": "Dominic Tarr (dominictarr.com)", 23 | "dependencies": { 24 | "deep-extend": "^0.6.0", 25 | "ini": "~1.3.0", 26 | "minimist": "^1.2.0", 27 | "strip-json-comments": "~2.0.1" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /server/node_modules/rc/test/ini.js: -------------------------------------------------------------------------------- 1 | var cc =require('../lib/utils') 2 | var INI = require('ini') 3 | var assert = require('assert') 4 | 5 | function test(obj) { 6 | 7 | var _json, _ini 8 | var json = cc.parse (_json = JSON.stringify(obj)) 9 | var ini = cc.parse (_ini = INI.stringify(obj)) 10 | console.log(_ini, _json) 11 | assert.deepEqual(json, ini) 12 | } 13 | 14 | 15 | test({hello: true}) 16 | 17 | -------------------------------------------------------------------------------- /server/node_modules/registry-auth-token/base64.js: -------------------------------------------------------------------------------- 1 | function decodeBase64 (base64) { 2 | return Buffer.from(base64, 'base64').toString('utf8') 3 | } 4 | 5 | function encodeBase64 (string) { 6 | return Buffer.from(string, 'utf8').toString('base64') 7 | } 8 | 9 | module.exports = { 10 | decodeBase64: decodeBase64, 11 | encodeBase64: encodeBase64 12 | } 13 | -------------------------------------------------------------------------------- /server/node_modules/registry-auth-token/node_modules/.bin/rc: -------------------------------------------------------------------------------- 1 | ../../../rc/cli.js -------------------------------------------------------------------------------- /server/node_modules/registry-auth-token/registry-url.js: -------------------------------------------------------------------------------- 1 | module.exports = function (scope, npmrc) { 2 | var rc = npmrc || require('rc')('npm', { registry: 'https://registry.npmjs.org/' }) 3 | var url = rc[scope + ':registry'] || rc.registry 4 | return url.slice(-1) === '/' ? url : url + '/' 5 | } 6 | -------------------------------------------------------------------------------- /server/node_modules/registry-url/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const rc = require('rc'); 3 | 4 | const registryUrl = scope => { 5 | const result = rc('npm', {registry: 'https://registry.npmjs.org/'}); 6 | const url = result[`${scope}:registry`] || result.config_registry || result.registry; 7 | return url.slice(-1) === '/' ? url : `${url}/`; 8 | }; 9 | 10 | module.exports = registryUrl; 11 | // TODO: Remove this for the next major release 12 | module.exports.default = registryUrl; 13 | -------------------------------------------------------------------------------- /server/node_modules/registry-url/node_modules/.bin/rc: -------------------------------------------------------------------------------- 1 | ../../../rc/cli.js -------------------------------------------------------------------------------- /server/node_modules/registry-url/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "registry-url", 3 | "version": "5.1.0", 4 | "description": "Get the set npm registry URL", 5 | "license": "MIT", 6 | "repository": "sindresorhus/registry-url", 7 | "author": { 8 | "name": "Sindre Sorhus", 9 | "email": "sindresorhus@gmail.com", 10 | "url": "sindresorhus.com" 11 | }, 12 | "engines": { 13 | "node": ">=8" 14 | }, 15 | "scripts": { 16 | "test": "xo && ava && tsd" 17 | }, 18 | "files": [ 19 | "index.js", 20 | "index.d.ts" 21 | ], 22 | "keywords": [ 23 | "npm", 24 | "conf", 25 | "config", 26 | "npmconf", 27 | "registry", 28 | "url", 29 | "uri", 30 | "scope" 31 | ], 32 | "dependencies": { 33 | "rc": "^1.2.8" 34 | }, 35 | "devDependencies": { 36 | "ava": "^1.4.1", 37 | "import-fresh": "^3.0.0", 38 | "tsd": "^0.7.2", 39 | "xo": "^0.24.0" 40 | }, 41 | "ava": { 42 | "serial": true 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /server/node_modules/semver-diff/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const semver = require('semver'); 3 | 4 | module.exports = (versionA, versionB) => { 5 | versionA = semver.parse(versionA); 6 | versionB = semver.parse(versionB); 7 | 8 | if (semver.compareBuild(versionA, versionB) >= 0) { 9 | return; 10 | } 11 | 12 | return semver.diff(versionA, versionB) || 'build'; 13 | }; 14 | -------------------------------------------------------------------------------- /server/node_modules/semver-diff/node_modules/.bin/semver: -------------------------------------------------------------------------------- 1 | ../../../semver/bin/semver.js -------------------------------------------------------------------------------- /server/node_modules/semver-diff/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "semver-diff", 3 | "version": "3.1.1", 4 | "description": "Get the diff type of two semver versions: 0.0.1 0.0.2 → patch", 5 | "license": "MIT", 6 | "repository": "sindresorhus/semver-diff", 7 | "author": { 8 | "name": "Sindre Sorhus", 9 | "email": "sindresorhus@gmail.com", 10 | "url": "sindresorhus.com" 11 | }, 12 | "engines": { 13 | "node": ">=8" 14 | }, 15 | "scripts": { 16 | "test": "xo && ava && tsd" 17 | }, 18 | "files": [ 19 | "index.js", 20 | "index.d.ts" 21 | ], 22 | "keywords": [ 23 | "semver", 24 | "version", 25 | "semantic", 26 | "diff", 27 | "difference" 28 | ], 29 | "dependencies": { 30 | "semver": "^6.3.0" 31 | }, 32 | "devDependencies": { 33 | "ava": "^2.4.0", 34 | "tsd": "^0.9.0", 35 | "xo": "^0.25.3" 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /server/node_modules/semver/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /server/node_modules/semver/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "semver", 3 | "version": "6.3.0", 4 | "description": "The semantic version parser used by npm.", 5 | "main": "semver.js", 6 | "scripts": { 7 | "test": "tap", 8 | "preversion": "npm test", 9 | "postversion": "npm publish", 10 | "postpublish": "git push origin --follow-tags" 11 | }, 12 | "devDependencies": { 13 | "tap": "^14.3.1" 14 | }, 15 | "license": "ISC", 16 | "repository": "https://github.com/npm/node-semver", 17 | "bin": { 18 | "semver": "./bin/semver.js" 19 | }, 20 | "files": [ 21 | "bin", 22 | "range.bnf", 23 | "semver.js" 24 | ], 25 | "tap": { 26 | "check-coverage": true 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /server/node_modules/semver/range.bnf: -------------------------------------------------------------------------------- 1 | range-set ::= range ( logical-or range ) * 2 | logical-or ::= ( ' ' ) * '||' ( ' ' ) * 3 | range ::= hyphen | simple ( ' ' simple ) * | '' 4 | hyphen ::= partial ' - ' partial 5 | simple ::= primitive | partial | tilde | caret 6 | primitive ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial 7 | partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )? 8 | xr ::= 'x' | 'X' | '*' | nr 9 | nr ::= '0' | [1-9] ( [0-9] ) * 10 | tilde ::= '~' partial 11 | caret ::= '^' partial 12 | qualifier ::= ( '-' pre )? ( '+' build )? 13 | pre ::= parts 14 | build ::= parts 15 | parts ::= part ( '.' part ) * 16 | part ::= nr | [-0-9A-Za-z]+ 17 | -------------------------------------------------------------------------------- /server/node_modules/send/node_modules/.bin/mime: -------------------------------------------------------------------------------- 1 | ../../../mime/cli.js -------------------------------------------------------------------------------- /server/node_modules/setprototypeof/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015, Wes Todd 2 | 3 | Permission to use, copy, modify, and/or distribute this software for any 4 | purpose with or without fee is hereby granted, provided that the above 5 | copyright notice and this permission notice appear in all copies. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 8 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 9 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 10 | SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 11 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 12 | OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 13 | CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 14 | -------------------------------------------------------------------------------- /server/node_modules/setprototypeof/index.d.ts: -------------------------------------------------------------------------------- 1 | declare function setPrototypeOf(o: any, proto: object | null): any; 2 | export = setPrototypeOf; 3 | -------------------------------------------------------------------------------- /server/node_modules/setprototypeof/index.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | /* eslint no-proto: 0 */ 3 | module.exports = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array ? setProtoOf : mixinProperties) 4 | 5 | function setProtoOf (obj, proto) { 6 | obj.__proto__ = proto 7 | return obj 8 | } 9 | 10 | function mixinProperties (obj, proto) { 11 | for (var prop in proto) { 12 | if (!Object.prototype.hasOwnProperty.call(obj, prop)) { 13 | obj[prop] = proto[prop] 14 | } 15 | } 16 | return obj 17 | } 18 | -------------------------------------------------------------------------------- /server/node_modules/setprototypeof/test/index.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | /* eslint-env mocha */ 3 | /* eslint no-proto: 0 */ 4 | var assert = require('assert') 5 | var setPrototypeOf = require('..') 6 | 7 | describe('setProtoOf(obj, proto)', function () { 8 | it('should merge objects', function () { 9 | var obj = { a: 1, b: 2 } 10 | var proto = { b: 3, c: 4 } 11 | var mergeObj = setPrototypeOf(obj, proto) 12 | 13 | if (Object.getPrototypeOf) { 14 | assert.strictEqual(Object.getPrototypeOf(obj), proto) 15 | } else if ({ __proto__: [] } instanceof Array) { 16 | assert.strictEqual(obj.__proto__, proto) 17 | } else { 18 | assert.strictEqual(obj.a, 1) 19 | assert.strictEqual(obj.b, 2) 20 | assert.strictEqual(obj.c, 4) 21 | } 22 | assert.strictEqual(mergeObj, obj) 23 | }) 24 | }) 25 | -------------------------------------------------------------------------------- /server/node_modules/signal-exit/LICENSE.txt: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) 2015, Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software 6 | for any purpose with or without fee is hereby granted, provided 7 | that the above copyright notice and this permission notice 8 | appear in all copies. 9 | 10 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES 12 | OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE 13 | LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES 14 | OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 15 | WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 16 | ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17 | -------------------------------------------------------------------------------- /server/node_modules/socket.io-adapter/Readme.md: -------------------------------------------------------------------------------- 1 | 2 | # socket.io-adapter 3 | 4 | Default socket.io in-memory adapter class. 5 | 6 | Compatibility table: 7 | 8 | | Adapter version | Socket.IO server version | 9 | |-----------------| ------------------------ | 10 | | 1.x.x | 1.x.x / 2.x.x | 11 | | 2.x.x | 3.x.x | 12 | 13 | ## How to use 14 | 15 | This module is not intended for end-user usage, but can be used as an 16 | interface to inherit from other adapters you might want to build. 17 | 18 | As an example of an adapter that builds on top of this, please take a look 19 | at [socket.io-redis](https://github.com/learnboost/socket.io-redis). 20 | 21 | ## License 22 | 23 | MIT 24 | -------------------------------------------------------------------------------- /server/node_modules/socket.io-parser/dist/binary.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Replaces every Buffer | ArrayBuffer | Blob | File in packet with a numbered placeholder. 3 | * 4 | * @param {Object} packet - socket.io event packet 5 | * @return {Object} with deconstructed packet and list of buffers 6 | * @public 7 | */ 8 | export declare function deconstructPacket(packet: any): { 9 | packet: any; 10 | buffers: any[]; 11 | }; 12 | /** 13 | * Reconstructs a binary packet from its placeholder packet and buffers 14 | * 15 | * @param {Object} packet - event packet with placeholders 16 | * @param {Array} buffers - binary buffers to put in placeholder positions 17 | * @return {Object} reconstructed packet 18 | * @public 19 | */ 20 | export declare function reconstructPacket(packet: any, buffers: any): any; 21 | -------------------------------------------------------------------------------- /server/node_modules/socket.io-parser/dist/is-binary.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Returns true if obj is a Buffer, an ArrayBuffer, a Blob or a File. 3 | * 4 | * @private 5 | */ 6 | export declare function isBinary(obj: any): boolean; 7 | export declare function hasBinary(obj: any, toJSON?: boolean): any; 8 | -------------------------------------------------------------------------------- /server/node_modules/socket.io-parser/node_modules/debug/src/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Detect Electron renderer / nwjs process, which is node, but we should 3 | * treat as a browser. 4 | */ 5 | 6 | if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) { 7 | module.exports = require('./browser.js'); 8 | } else { 9 | module.exports = require('./node.js'); 10 | } 11 | -------------------------------------------------------------------------------- /server/node_modules/socket.io-parser/node_modules/ms/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ms", 3 | "version": "2.1.2", 4 | "description": "Tiny millisecond conversion utility", 5 | "repository": "zeit/ms", 6 | "main": "./index", 7 | "files": [ 8 | "index.js" 9 | ], 10 | "scripts": { 11 | "precommit": "lint-staged", 12 | "lint": "eslint lib/* bin/*", 13 | "test": "mocha tests.js" 14 | }, 15 | "eslintConfig": { 16 | "extends": "eslint:recommended", 17 | "env": { 18 | "node": true, 19 | "es6": true 20 | } 21 | }, 22 | "lint-staged": { 23 | "*.js": [ 24 | "npm run lint", 25 | "prettier --single-quote --write", 26 | "git add" 27 | ] 28 | }, 29 | "license": "MIT", 30 | "devDependencies": { 31 | "eslint": "4.12.1", 32 | "expect.js": "0.3.1", 33 | "husky": "0.14.3", 34 | "lint-staged": "5.0.0", 35 | "mocha": "4.0.1" 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/dist/uws.d.ts: -------------------------------------------------------------------------------- 1 | export declare function patchAdapter(app: any): void; 2 | export declare function restoreAdapter(): void; 3 | export declare function serveFile(res: any, filepath: string): void; 4 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/debug/src/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Detect Electron renderer / nwjs process, which is node, but we should 3 | * treat as a browser. 4 | */ 5 | 6 | if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) { 7 | module.exports = require('./browser.js'); 8 | } else { 9 | module.exports = require('./node.js'); 10 | } 11 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/node_modules/ms/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ms", 3 | "version": "2.1.2", 4 | "description": "Tiny millisecond conversion utility", 5 | "repository": "zeit/ms", 6 | "main": "./index", 7 | "files": [ 8 | "index.js" 9 | ], 10 | "scripts": { 11 | "precommit": "lint-staged", 12 | "lint": "eslint lib/* bin/*", 13 | "test": "mocha tests.js" 14 | }, 15 | "eslintConfig": { 16 | "extends": "eslint:recommended", 17 | "env": { 18 | "node": true, 19 | "es6": true 20 | } 21 | }, 22 | "lint-staged": { 23 | "*.js": [ 24 | "npm run lint", 25 | "prettier --single-quote --write", 26 | "git add" 27 | ] 28 | }, 29 | "license": "MIT", 30 | "devDependencies": { 31 | "eslint": "4.12.1", 32 | "expect.js": "0.3.1", 33 | "husky": "0.14.3", 34 | "lint-staged": "5.0.0", 35 | "mocha": "4.0.1" 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /server/node_modules/socket.io/wrapper.mjs: -------------------------------------------------------------------------------- 1 | import io from "./dist/index.js"; 2 | 3 | export const {Server, Namespace, Socket} = io; 4 | -------------------------------------------------------------------------------- /server/node_modules/string-width/index.d.ts: -------------------------------------------------------------------------------- 1 | declare const stringWidth: { 2 | /** 3 | Get the visual width of a string - the number of columns required to display it. 4 | 5 | Some Unicode characters are [fullwidth](https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms) and use double the normal width. [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) are stripped and doesn't affect the width. 6 | 7 | @example 8 | ``` 9 | import stringWidth = require('string-width'); 10 | 11 | stringWidth('a'); 12 | //=> 1 13 | 14 | stringWidth('古'); 15 | //=> 2 16 | 17 | stringWidth('\u001B[1m古\u001B[22m'); 18 | //=> 2 19 | ``` 20 | */ 21 | (string: string): number; 22 | 23 | // TODO: remove this in the next major version, refactor the whole definition to: 24 | // declare function stringWidth(string: string): number; 25 | // export = stringWidth; 26 | default: typeof stringWidth; 27 | } 28 | 29 | export = stringWidth; 30 | -------------------------------------------------------------------------------- /server/node_modules/strip-ansi/index.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | Strip [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) from a string. 3 | 4 | @example 5 | ``` 6 | import stripAnsi = require('strip-ansi'); 7 | 8 | stripAnsi('\u001B[4mUnicorn\u001B[0m'); 9 | //=> 'Unicorn' 10 | 11 | stripAnsi('\u001B]8;;https://github.com\u0007Click\u001B]8;;\u0007'); 12 | //=> 'Click' 13 | ``` 14 | */ 15 | declare function stripAnsi(string: string): string; 16 | 17 | export = stripAnsi; 18 | -------------------------------------------------------------------------------- /server/node_modules/strip-ansi/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const ansiRegex = require('ansi-regex'); 3 | 4 | module.exports = string => typeof string === 'string' ? string.replace(ansiRegex(), '') : string; 5 | -------------------------------------------------------------------------------- /server/node_modules/supports-color/browser.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | stdout: false, 4 | stderr: false 5 | }; 6 | -------------------------------------------------------------------------------- /server/node_modules/to-readable-stream/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const {Readable} = require('stream'); 3 | 4 | module.exports = input => ( 5 | new Readable({ 6 | read() { 7 | this.push(input); 8 | this.push(null); 9 | } 10 | }) 11 | ); 12 | -------------------------------------------------------------------------------- /server/node_modules/to-readable-stream/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "to-readable-stream", 3 | "version": "1.0.0", 4 | "description": "Convert a string/Buffer/Uint8Array to a readable stream", 5 | "license": "MIT", 6 | "repository": "sindresorhus/to-readable-stream", 7 | "author": { 8 | "name": "Sindre Sorhus", 9 | "email": "sindresorhus@gmail.com", 10 | "url": "sindresorhus.com" 11 | }, 12 | "engines": { 13 | "node": ">=6" 14 | }, 15 | "scripts": { 16 | "test": "xo && ava" 17 | }, 18 | "files": [ 19 | "index.js" 20 | ], 21 | "keywords": [ 22 | "stream", 23 | "readablestream", 24 | "string", 25 | "buffer", 26 | "uint8array", 27 | "from", 28 | "into", 29 | "to", 30 | "transform", 31 | "convert", 32 | "readable", 33 | "pull" 34 | ], 35 | "devDependencies": { 36 | "ava": "*", 37 | "get-stream": "^3.0.0", 38 | "xo": "*" 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /server/node_modules/toidentifier/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.1 / 2021-11-14 2 | ================== 3 | 4 | * pref: enable strict mode 5 | 6 | 1.0.0 / 2018-07-09 7 | ================== 8 | 9 | * Initial release 10 | -------------------------------------------------------------------------------- /server/node_modules/toidentifier/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * toidentifier 3 | * Copyright(c) 2016 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | 'use strict' 8 | 9 | /** 10 | * Module exports. 11 | * @public 12 | */ 13 | 14 | module.exports = toIdentifier 15 | 16 | /** 17 | * Trasform the given string into a JavaScript identifier 18 | * 19 | * @param {string} str 20 | * @returns {string} 21 | * @public 22 | */ 23 | 24 | function toIdentifier (str) { 25 | return str 26 | .split(' ') 27 | .map(function (token) { 28 | return token.slice(0, 1).toUpperCase() + token.slice(1) 29 | }) 30 | .join('') 31 | .replace(/[^ _0-9a-z]/gi, '') 32 | } 33 | -------------------------------------------------------------------------------- /server/node_modules/touch/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /server/node_modules/touch/node_modules/.bin/nopt: -------------------------------------------------------------------------------- 1 | ../../../nopt/bin/nopt.js -------------------------------------------------------------------------------- /server/node_modules/touch/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "Isaac Z. Schlueter (http://blog.izs.me/)", 3 | "name": "touch", 4 | "description": "like touch(1) in node", 5 | "version": "3.1.0", 6 | "repository": "git://github.com/isaacs/node-touch.git", 7 | "bin": { 8 | "nodetouch": "./bin/nodetouch.js" 9 | }, 10 | "dependencies": { 11 | "nopt": "~1.0.10" 12 | }, 13 | "license": "ISC", 14 | "scripts": { 15 | "test": "tap test/*.js --100 -J", 16 | "preversion": "npm test", 17 | "postversion": "npm publish", 18 | "postpublish": "git push origin --all; git push origin --tags" 19 | }, 20 | "devDependencies": { 21 | "mutate-fs": "^1.1.0", 22 | "tap": "^10.7.0" 23 | }, 24 | "files": [ 25 | "index.js", 26 | "bin/nodetouch.js" 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /server/node_modules/type-fest/index.d.ts: -------------------------------------------------------------------------------- 1 | // These are all the basic types that's compatible with all supported TypeScript versions. 2 | export * from './base'; 3 | -------------------------------------------------------------------------------- /server/node_modules/type-fest/source/async-return-type.d.ts: -------------------------------------------------------------------------------- 1 | import {PromiseValue} from './promise-value'; 2 | 3 | type AsyncFunction = (...args: any[]) => Promise; 4 | 5 | /** 6 | Unwrap the return type of a function that returns a `Promise`. 7 | 8 | There has been [discussion](https://github.com/microsoft/TypeScript/pull/35998) about implementing this type in TypeScript. 9 | 10 | @example 11 | ```ts 12 | import {AsyncReturnType} from 'type-fest'; 13 | import {asyncFunction} from 'api'; 14 | 15 | // This type resolves to the unwrapped return type of `asyncFunction`. 16 | type Value = AsyncReturnType; 17 | 18 | async function doSomething(value: Value) {} 19 | 20 | asyncFunction().then(value => doSomething(value)); 21 | ``` 22 | */ 23 | export type AsyncReturnType = PromiseValue>; 24 | -------------------------------------------------------------------------------- /server/node_modules/type-fest/source/merge.d.ts: -------------------------------------------------------------------------------- 1 | import {Except} from './except'; 2 | 3 | /** 4 | Merge two types into a new type. Keys of the second type overrides keys of the first type. 5 | 6 | @example 7 | ``` 8 | import {Merge} from 'type-fest'; 9 | 10 | type Foo = { 11 | a: number; 12 | b: string; 13 | }; 14 | 15 | type Bar = { 16 | b: number; 17 | }; 18 | 19 | const ab: Merge = {a: 1, b: 2}; 20 | ``` 21 | */ 22 | export type Merge = Except> & SecondType; 23 | -------------------------------------------------------------------------------- /server/node_modules/type-fest/source/promisable.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | Create a type that represents either the value or the value wrapped in `PromiseLike`. 3 | 4 | Use-cases: 5 | - A function accepts a callback that may either return a value synchronously or may return a promised value. 6 | - This type could be the return type of `Promise#then()`, `Promise#catch()`, and `Promise#finally()` callbacks. 7 | 8 | Please upvote [this issue](https://github.com/microsoft/TypeScript/issues/31394) if you want to have this type as a built-in in TypeScript. 9 | 10 | @example 11 | ``` 12 | import {Promisable} from 'type-fest'; 13 | 14 | async function logger(getLogEntry: () => Promisable): Promise { 15 | const entry = await getLogEntry(); 16 | console.log(entry); 17 | } 18 | 19 | logger(() => 'foo'); 20 | logger(() => Promise.resolve('bar')); 21 | ``` 22 | */ 23 | export type Promisable = T | PromiseLike; 24 | -------------------------------------------------------------------------------- /server/node_modules/type-fest/source/stringified.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | Create a type with the keys of the given type changed to `string` type. 3 | 4 | Use-case: Changing interface values to strings in order to use them in a form model. 5 | 6 | @example 7 | ``` 8 | import {Stringified} from 'type-fest'; 9 | 10 | type Car { 11 | model: string; 12 | speed: number; 13 | } 14 | 15 | const carForm: Stringified = { 16 | model: 'Foo', 17 | speed: '101' 18 | }; 19 | ``` 20 | */ 21 | export type Stringified = {[KeyType in keyof ObjectType]: string}; 22 | -------------------------------------------------------------------------------- /server/node_modules/type-fest/source/utilities.d.ts: -------------------------------------------------------------------------------- 1 | export type UpperCaseCharacters = 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'I' | 'J' | 'K' | 'L' | 'M' | 'N' | 'O' | 'P' | 'Q' | 'R' | 'S' | 'T' | 'U' | 'V' | 'W' | 'X' | 'Y' | 'Z'; 2 | 3 | export type WordSeparators = '-' | '_' | ' '; 4 | -------------------------------------------------------------------------------- /server/node_modules/type-fest/ts41/index.d.ts: -------------------------------------------------------------------------------- 1 | // These are all the basic types that's compatible with all supported TypeScript versions. 2 | export * from '../base'; 3 | 4 | // These are special types that require at least TypeScript 4.1. 5 | export {CamelCase} from './camel-case'; 6 | export {KebabCase} from './kebab-case'; 7 | export {PascalCase} from './pascal-case'; 8 | export {SnakeCase} from './snake-case'; 9 | export {DelimiterCase} from './delimiter-case'; 10 | -------------------------------------------------------------------------------- /server/node_modules/type-fest/ts41/kebab-case.d.ts: -------------------------------------------------------------------------------- 1 | import {DelimiterCase} from './delimiter-case'; 2 | 3 | /** 4 | Convert a string literal to kebab-case. 5 | 6 | This can be useful when, for example, converting a camel-cased object property to a kebab-cased CSS class name or a command-line flag. 7 | 8 | @example 9 | ``` 10 | import {KebabCase} from 'type-fest'; 11 | 12 | // Simple 13 | 14 | const someVariable: KebabCase<'fooBar'> = 'foo-bar'; 15 | 16 | // Advanced 17 | 18 | type KebabCasedProps = { 19 | [K in keyof T as KebabCase]: T[K] 20 | }; 21 | 22 | interface CliOptions { 23 | dryRun: boolean; 24 | includeFile: string; 25 | foo: number; 26 | } 27 | 28 | const rawCliOptions: KebabCasedProps = { 29 | 'dry-run': true, 30 | 'include-file': 'bar.js', 31 | foo: 123 32 | }; 33 | ``` 34 | */ 35 | 36 | export type KebabCase = DelimiterCase; 37 | -------------------------------------------------------------------------------- /server/node_modules/type-fest/ts41/pascal-case.d.ts: -------------------------------------------------------------------------------- 1 | import {CamelCase} from './camel-case'; 2 | 3 | /** 4 | Converts a string literal to pascal-case. 5 | 6 | @example 7 | ``` 8 | import {PascalCase} from 'type-fest'; 9 | 10 | // Simple 11 | 12 | const someVariable: PascalCase<'foo-bar'> = 'FooBar'; 13 | 14 | // Advanced 15 | 16 | type PascalCaseProps = { 17 | [K in keyof T as PascalCase]: T[K] 18 | }; 19 | 20 | interface RawOptions { 21 | 'dry-run': boolean; 22 | 'full_family_name': string; 23 | foo: number; 24 | } 25 | 26 | const dbResult: CamelCasedProps = { 27 | DryRun: true, 28 | FullFamilyName: 'bar.js', 29 | Foo: 123 30 | }; 31 | ``` 32 | */ 33 | 34 | export type PascalCase = CamelCase extends string 35 | ? Capitalize> 36 | : CamelCase; 37 | -------------------------------------------------------------------------------- /server/node_modules/type-fest/ts41/snake-case.d.ts: -------------------------------------------------------------------------------- 1 | import {DelimiterCase} from './delimiter-case'; 2 | 3 | /** 4 | Convert a string literal to snake-case. 5 | 6 | This can be useful when, for example, converting a camel-cased object property to a snake-cased SQL column name. 7 | 8 | @example 9 | ``` 10 | import {SnakeCase} from 'type-fest'; 11 | 12 | // Simple 13 | 14 | const someVariable: SnakeCase<'fooBar'> = 'foo_bar'; 15 | 16 | // Advanced 17 | 18 | type SnakeCasedProps = { 19 | [K in keyof T as SnakeCase]: T[K] 20 | }; 21 | 22 | interface ModelProps { 23 | isHappy: boolean; 24 | fullFamilyName: string; 25 | foo: number; 26 | } 27 | 28 | const dbResult: SnakeCasedProps = { 29 | 'is_happy': true, 30 | 'full_family_name': 'Carla Smith', 31 | foo: 123 32 | }; 33 | ``` 34 | */ 35 | export type SnakeCase = DelimiterCase; 36 | -------------------------------------------------------------------------------- /server/node_modules/typedarray-to-buffer/.airtap.yml: -------------------------------------------------------------------------------- 1 | sauce_connect: true 2 | loopback: airtap.local 3 | browsers: 4 | - name: chrome 5 | version: latest 6 | - name: firefox 7 | version: latest 8 | - name: safari 9 | version: latest 10 | - name: microsoftedge 11 | version: latest 12 | - name: ie 13 | version: latest 14 | - name: iphone 15 | version: latest 16 | -------------------------------------------------------------------------------- /server/node_modules/typedarray-to-buffer/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - lts/* 4 | addons: 5 | sauce_connect: true 6 | hosts: 7 | - airtap.local 8 | env: 9 | global: 10 | - secure: i51rE9rZGHbcZWlL58j3H1qtL23OIV2r0X4TcQKNI3pw2mubdHFJmfPNNO19ItfReu8wwQMxOehKamwaNvqMiKWyHfn/QcThFQysqzgGZ6AgnUbYx9od6XFNDeWd1sVBf7QBAL07y7KWlYGWCwFwWjabSVySzQhEBdisPcskfkI= 11 | - secure: BKq6/5z9LK3KDkTjs7BGeBZ1KsWgz+MsAXZ4P64NSeVGFaBdXU45+ww1mwxXFt5l22/mhyOQZfebQl+kGVqRSZ+DEgQeCymkNZ6CD8c6w6cLuOJXiXwuu/cDM2DD0tfGeu2YZC7yEikP7BqEFwH3D324rRzSGLF2RSAAwkOI7bE= 12 | -------------------------------------------------------------------------------- /server/node_modules/typedarray-to-buffer/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Convert a typed array to a Buffer without a copy 3 | * 4 | * Author: Feross Aboukhadijeh 5 | * License: MIT 6 | * 7 | * `npm install typedarray-to-buffer` 8 | */ 9 | 10 | var isTypedArray = require('is-typedarray').strict 11 | 12 | module.exports = function typedarrayToBuffer (arr) { 13 | if (isTypedArray(arr)) { 14 | // To avoid a copy, use the typed array's underlying ArrayBuffer to back new Buffer 15 | var buf = Buffer.from(arr.buffer) 16 | if (arr.byteLength !== arr.buffer.byteLength) { 17 | // Respect the "view", i.e. byteOffset and byteLength, without doing a copy 18 | buf = buf.slice(arr.byteOffset, arr.byteOffset + arr.byteLength) 19 | } 20 | return buf 21 | } else { 22 | // Pass through all other types to `Buffer.from` 23 | return Buffer.from(arr) 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /server/node_modules/undefsafe/.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Release 2 | on: 3 | push: 4 | branches: 5 | - master 6 | jobs: 7 | release: 8 | name: Release 9 | runs-on: ubuntu-18.04 10 | steps: 11 | - name: Checkout 12 | uses: actions/checkout@v1 13 | - name: Setup Node.js 14 | uses: actions/setup-node@v1 15 | with: 16 | node-version: 16 17 | - name: Install dependencies 18 | run: npm ci 19 | - name: Test 20 | run: npm run test 21 | - name: Release 22 | env: 23 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 24 | NPM_TOKEN: ${{ secrets.NPM_TOKEN }} 25 | run: npx semantic-release 26 | -------------------------------------------------------------------------------- /server/node_modules/undefsafe/.jscsrc: -------------------------------------------------------------------------------- 1 | { 2 | "preset": "node-style-guide", 3 | "requireCapitalizedComments": null, 4 | "requireSpacesInAnonymousFunctionExpression": { 5 | "beforeOpeningCurlyBrace": true, 6 | "beforeOpeningRoundBrace": true 7 | }, 8 | "disallowSpacesInNamedFunctionExpression": { 9 | "beforeOpeningRoundBrace": true 10 | }, 11 | "excludeFiles": ["node_modules/**"], 12 | "disallowSpacesInFunction": null 13 | } 14 | -------------------------------------------------------------------------------- /server/node_modules/undefsafe/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "browser": false, 3 | "camelcase": true, 4 | "curly": true, 5 | "devel": true, 6 | "eqeqeq": true, 7 | "forin": true, 8 | "indent": 2, 9 | "noarg": true, 10 | "node": true, 11 | "quotmark": "single", 12 | "undef": true, 13 | "strict": false, 14 | "unused": true 15 | } 16 | 17 | -------------------------------------------------------------------------------- /server/node_modules/undefsafe/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: node_js 3 | cache: 4 | directories: 5 | - node_modules 6 | notifications: 7 | email: false 8 | node_js: 9 | - '4' 10 | before_install: 11 | - npm i -g npm@^2.0.0 12 | before_script: 13 | - npm prune 14 | after_success: 15 | - npm run semantic-release 16 | branches: 17 | except: 18 | - "/^v\\d+\\.\\d+\\.\\d+$/" 19 | -------------------------------------------------------------------------------- /server/node_modules/undefsafe/example.js: -------------------------------------------------------------------------------- 1 | var undefsafe = require('undefsafe'); 2 | 3 | var object = { 4 | a: { 5 | b: { 6 | c: 1, 7 | d: [1, 2, 3], 8 | e: 'remy' 9 | } 10 | } 11 | }; 12 | 13 | console.log(undefsafe(object, 'a.b.e')); // "remy" 14 | console.log(undefsafe(object, 'a.b.not.found')); // undefined 15 | -------------------------------------------------------------------------------- /server/node_modules/unique-string/index.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | Generate a unique random string. 3 | 4 | @returns A 32 character unique string. Matches the length of MD5, which is [unique enough](https://stackoverflow.com/a/2444336/64949) for non-crypto purposes. 5 | 6 | @example 7 | ``` 8 | import uniqueString = require('unique-string'); 9 | 10 | uniqueString(); 11 | //=> 'b4de2a49c8ffa3fbee04446f045483b2' 12 | ``` 13 | */ 14 | declare function uniqueString(): string; 15 | 16 | export = uniqueString; 17 | -------------------------------------------------------------------------------- /server/node_modules/unique-string/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const cryptoRandomString = require('crypto-random-string'); 3 | 4 | module.exports = () => cryptoRandomString(32); 5 | -------------------------------------------------------------------------------- /server/node_modules/unique-string/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "unique-string", 3 | "version": "2.0.0", 4 | "description": "Generate a unique random string", 5 | "license": "MIT", 6 | "repository": "sindresorhus/unique-string", 7 | "author": { 8 | "name": "Sindre Sorhus", 9 | "email": "sindresorhus@gmail.com", 10 | "url": "sindresorhus.com" 11 | }, 12 | "engines": { 13 | "node": ">=8" 14 | }, 15 | "scripts": { 16 | "test": "xo && ava && tsd" 17 | }, 18 | "files": [ 19 | "index.js", 20 | "index.d.ts" 21 | ], 22 | "keywords": [ 23 | "unique", 24 | "string", 25 | "random", 26 | "text", 27 | "id", 28 | "identifier", 29 | "slug", 30 | "hex" 31 | ], 32 | "dependencies": { 33 | "crypto-random-string": "^2.0.0" 34 | }, 35 | "devDependencies": { 36 | "ava": "^1.4.1", 37 | "tsd": "^0.7.2", 38 | "xo": "^0.24.0" 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /server/node_modules/unique-string/readme.md: -------------------------------------------------------------------------------- 1 | # unique-string [![Build Status](https://travis-ci.org/sindresorhus/unique-string.svg?branch=master)](https://travis-ci.org/sindresorhus/unique-string) 2 | 3 | > Generate a unique random string 4 | 5 | 6 | ## Install 7 | 8 | ``` 9 | $ npm install unique-string 10 | ``` 11 | 12 | 13 | ## Usage 14 | 15 | ```js 16 | const uniqueString = require('unique-string'); 17 | 18 | uniqueString(); 19 | //=> 'b4de2a49c8ffa3fbee04446f045483b2' 20 | ``` 21 | 22 | 23 | ## API 24 | 25 | ### uniqueString() 26 | 27 | Returns a 32 character unique string. Matches the length of MD5, which is [unique enough](https://stackoverflow.com/a/2444336/64949) for non-crypto purposes. 28 | 29 | 30 | ## License 31 | 32 | MIT © [Sindre Sorhus](https://sindresorhus.com) 33 | -------------------------------------------------------------------------------- /server/node_modules/unpipe/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.0 / 2015-06-14 2 | ================== 3 | 4 | * Initial release 5 | -------------------------------------------------------------------------------- /server/node_modules/unpipe/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "unpipe", 3 | "description": "Unpipe a stream from all destinations", 4 | "version": "1.0.0", 5 | "author": "Douglas Christopher Wilson ", 6 | "license": "MIT", 7 | "repository": "stream-utils/unpipe", 8 | "devDependencies": { 9 | "istanbul": "0.3.15", 10 | "mocha": "2.2.5", 11 | "readable-stream": "1.1.13" 12 | }, 13 | "files": [ 14 | "HISTORY.md", 15 | "LICENSE", 16 | "README.md", 17 | "index.js" 18 | ], 19 | "engines": { 20 | "node": ">= 0.8" 21 | }, 22 | "scripts": { 23 | "test": "mocha --reporter spec --bail --check-leaks test/", 24 | "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", 25 | "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/check.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable unicorn/no-process-exit */ 2 | 'use strict'; 3 | let updateNotifier = require('.'); 4 | 5 | const options = JSON.parse(process.argv[2]); 6 | 7 | updateNotifier = new updateNotifier.UpdateNotifier(options); 8 | 9 | (async () => { 10 | // Exit process when offline 11 | setTimeout(process.exit, 1000 * 30); 12 | 13 | const update = await updateNotifier.fetchInfo(); 14 | 15 | // Only update the last update check time on success 16 | updateNotifier.config.set('lastUpdateCheck', Date.now()); 17 | 18 | if (update.type && update.type !== 'latest') { 19 | updateNotifier.config.set('update', update); 20 | } 21 | 22 | // Call process exit explicitly to terminate the child process, 23 | // otherwise the child process will run forever, according to the Node.js docs 24 | process.exit(); 25 | })().catch(error => { 26 | console.error(error); 27 | process.exit(1); 28 | }); 29 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/.bin/is-ci: -------------------------------------------------------------------------------- 1 | ../../../is-ci/bin.js -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/.bin/semver: -------------------------------------------------------------------------------- 1 | ../semver/bin/semver.js -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/classes/index.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | SemVer: require('./semver.js'), 3 | Range: require('./range.js'), 4 | Comparator: require('./comparator.js') 5 | } 6 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/functions/clean.js: -------------------------------------------------------------------------------- 1 | const parse = require('./parse') 2 | const clean = (version, options) => { 3 | const s = parse(version.trim().replace(/^[=v]+/, ''), options) 4 | return s ? s.version : null 5 | } 6 | module.exports = clean 7 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/functions/compare-build.js: -------------------------------------------------------------------------------- 1 | const SemVer = require('../classes/semver') 2 | const compareBuild = (a, b, loose) => { 3 | const versionA = new SemVer(a, loose) 4 | const versionB = new SemVer(b, loose) 5 | return versionA.compare(versionB) || versionA.compareBuild(versionB) 6 | } 7 | module.exports = compareBuild 8 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/functions/compare-loose.js: -------------------------------------------------------------------------------- 1 | const compare = require('./compare') 2 | const compareLoose = (a, b) => compare(a, b, true) 3 | module.exports = compareLoose 4 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/functions/compare.js: -------------------------------------------------------------------------------- 1 | const SemVer = require('../classes/semver') 2 | const compare = (a, b, loose) => 3 | new SemVer(a, loose).compare(new SemVer(b, loose)) 4 | 5 | module.exports = compare 6 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/functions/diff.js: -------------------------------------------------------------------------------- 1 | const parse = require('./parse') 2 | const eq = require('./eq') 3 | 4 | const diff = (version1, version2) => { 5 | if (eq(version1, version2)) { 6 | return null 7 | } else { 8 | const v1 = parse(version1) 9 | const v2 = parse(version2) 10 | const hasPre = v1.prerelease.length || v2.prerelease.length 11 | const prefix = hasPre ? 'pre' : '' 12 | const defaultResult = hasPre ? 'prerelease' : '' 13 | for (const key in v1) { 14 | if (key === 'major' || key === 'minor' || key === 'patch') { 15 | if (v1[key] !== v2[key]) { 16 | return prefix + key 17 | } 18 | } 19 | } 20 | return defaultResult // may be undefined 21 | } 22 | } 23 | module.exports = diff 24 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/functions/eq.js: -------------------------------------------------------------------------------- 1 | const compare = require('./compare') 2 | const eq = (a, b, loose) => compare(a, b, loose) === 0 3 | module.exports = eq 4 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/functions/gt.js: -------------------------------------------------------------------------------- 1 | const compare = require('./compare') 2 | const gt = (a, b, loose) => compare(a, b, loose) > 0 3 | module.exports = gt 4 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/functions/gte.js: -------------------------------------------------------------------------------- 1 | const compare = require('./compare') 2 | const gte = (a, b, loose) => compare(a, b, loose) >= 0 3 | module.exports = gte 4 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/functions/inc.js: -------------------------------------------------------------------------------- 1 | const SemVer = require('../classes/semver') 2 | 3 | const inc = (version, release, options, identifier) => { 4 | if (typeof (options) === 'string') { 5 | identifier = options 6 | options = undefined 7 | } 8 | 9 | try { 10 | return new SemVer(version, options).inc(release, identifier).version 11 | } catch (er) { 12 | return null 13 | } 14 | } 15 | module.exports = inc 16 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/functions/lt.js: -------------------------------------------------------------------------------- 1 | const compare = require('./compare') 2 | const lt = (a, b, loose) => compare(a, b, loose) < 0 3 | module.exports = lt 4 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/functions/lte.js: -------------------------------------------------------------------------------- 1 | const compare = require('./compare') 2 | const lte = (a, b, loose) => compare(a, b, loose) <= 0 3 | module.exports = lte 4 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/functions/major.js: -------------------------------------------------------------------------------- 1 | const SemVer = require('../classes/semver') 2 | const major = (a, loose) => new SemVer(a, loose).major 3 | module.exports = major 4 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/functions/minor.js: -------------------------------------------------------------------------------- 1 | const SemVer = require('../classes/semver') 2 | const minor = (a, loose) => new SemVer(a, loose).minor 3 | module.exports = minor 4 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/functions/neq.js: -------------------------------------------------------------------------------- 1 | const compare = require('./compare') 2 | const neq = (a, b, loose) => compare(a, b, loose) !== 0 3 | module.exports = neq 4 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/functions/parse.js: -------------------------------------------------------------------------------- 1 | const {MAX_LENGTH} = require('../internal/constants') 2 | const { re, t } = require('../internal/re') 3 | const SemVer = require('../classes/semver') 4 | 5 | const parseOptions = require('../internal/parse-options') 6 | const parse = (version, options) => { 7 | options = parseOptions(options) 8 | 9 | if (version instanceof SemVer) { 10 | return version 11 | } 12 | 13 | if (typeof version !== 'string') { 14 | return null 15 | } 16 | 17 | if (version.length > MAX_LENGTH) { 18 | return null 19 | } 20 | 21 | const r = options.loose ? re[t.LOOSE] : re[t.FULL] 22 | if (!r.test(version)) { 23 | return null 24 | } 25 | 26 | try { 27 | return new SemVer(version, options) 28 | } catch (er) { 29 | return null 30 | } 31 | } 32 | 33 | module.exports = parse 34 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/functions/patch.js: -------------------------------------------------------------------------------- 1 | const SemVer = require('../classes/semver') 2 | const patch = (a, loose) => new SemVer(a, loose).patch 3 | module.exports = patch 4 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/functions/prerelease.js: -------------------------------------------------------------------------------- 1 | const parse = require('./parse') 2 | const prerelease = (version, options) => { 3 | const parsed = parse(version, options) 4 | return (parsed && parsed.prerelease.length) ? parsed.prerelease : null 5 | } 6 | module.exports = prerelease 7 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/functions/rcompare.js: -------------------------------------------------------------------------------- 1 | const compare = require('./compare') 2 | const rcompare = (a, b, loose) => compare(b, a, loose) 3 | module.exports = rcompare 4 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/functions/rsort.js: -------------------------------------------------------------------------------- 1 | const compareBuild = require('./compare-build') 2 | const rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose)) 3 | module.exports = rsort 4 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/functions/satisfies.js: -------------------------------------------------------------------------------- 1 | const Range = require('../classes/range') 2 | const satisfies = (version, range, options) => { 3 | try { 4 | range = new Range(range, options) 5 | } catch (er) { 6 | return false 7 | } 8 | return range.test(version) 9 | } 10 | module.exports = satisfies 11 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/functions/sort.js: -------------------------------------------------------------------------------- 1 | const compareBuild = require('./compare-build') 2 | const sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose)) 3 | module.exports = sort 4 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/functions/valid.js: -------------------------------------------------------------------------------- 1 | const parse = require('./parse') 2 | const valid = (version, options) => { 3 | const v = parse(version, options) 4 | return v ? v.version : null 5 | } 6 | module.exports = valid 7 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/internal/constants.js: -------------------------------------------------------------------------------- 1 | // Note: this is the semver.org version of the spec that it implements 2 | // Not necessarily the package version of this code. 3 | const SEMVER_SPEC_VERSION = '2.0.0' 4 | 5 | const MAX_LENGTH = 256 6 | const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 7 | /* istanbul ignore next */ 9007199254740991 8 | 9 | // Max safe segment length for coercion. 10 | const MAX_SAFE_COMPONENT_LENGTH = 16 11 | 12 | module.exports = { 13 | SEMVER_SPEC_VERSION, 14 | MAX_LENGTH, 15 | MAX_SAFE_INTEGER, 16 | MAX_SAFE_COMPONENT_LENGTH 17 | } 18 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/internal/debug.js: -------------------------------------------------------------------------------- 1 | const debug = ( 2 | typeof process === 'object' && 3 | process.env && 4 | process.env.NODE_DEBUG && 5 | /\bsemver\b/i.test(process.env.NODE_DEBUG) 6 | ) ? (...args) => console.error('SEMVER', ...args) 7 | : () => {} 8 | 9 | module.exports = debug 10 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/internal/identifiers.js: -------------------------------------------------------------------------------- 1 | const numeric = /^[0-9]+$/ 2 | const compareIdentifiers = (a, b) => { 3 | const anum = numeric.test(a) 4 | const bnum = numeric.test(b) 5 | 6 | if (anum && bnum) { 7 | a = +a 8 | b = +b 9 | } 10 | 11 | return a === b ? 0 12 | : (anum && !bnum) ? -1 13 | : (bnum && !anum) ? 1 14 | : a < b ? -1 15 | : 1 16 | } 17 | 18 | const rcompareIdentifiers = (a, b) => compareIdentifiers(b, a) 19 | 20 | module.exports = { 21 | compareIdentifiers, 22 | rcompareIdentifiers 23 | } 24 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/internal/parse-options.js: -------------------------------------------------------------------------------- 1 | // parse out just the options we care about so we always get a consistent 2 | // obj with keys in a consistent order. 3 | const opts = ['includePrerelease', 'loose', 'rtl'] 4 | const parseOptions = options => 5 | !options ? {} 6 | : typeof options !== 'object' ? { loose: true } 7 | : opts.filter(k => options[k]).reduce((options, k) => { 8 | options[k] = true 9 | return options 10 | }, {}) 11 | module.exports = parseOptions 12 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/preload.js: -------------------------------------------------------------------------------- 1 | // XXX remove in v8 or beyond 2 | module.exports = require('./index.js') 3 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/range.bnf: -------------------------------------------------------------------------------- 1 | range-set ::= range ( logical-or range ) * 2 | logical-or ::= ( ' ' ) * '||' ( ' ' ) * 3 | range ::= hyphen | simple ( ' ' simple ) * | '' 4 | hyphen ::= partial ' - ' partial 5 | simple ::= primitive | partial | tilde | caret 6 | primitive ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial 7 | partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )? 8 | xr ::= 'x' | 'X' | '*' | nr 9 | nr ::= '0' | [1-9] ( [0-9] ) * 10 | tilde ::= '~' partial 11 | caret ::= '^' partial 12 | qualifier ::= ( '-' pre )? ( '+' build )? 13 | pre ::= parts 14 | build ::= parts 15 | parts ::= part ( '.' part ) * 16 | part ::= nr | [-0-9A-Za-z]+ 17 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/ranges/gtr.js: -------------------------------------------------------------------------------- 1 | // Determine if version is greater than all the versions possible in the range. 2 | const outside = require('./outside') 3 | const gtr = (version, range, options) => outside(version, range, '>', options) 4 | module.exports = gtr 5 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/ranges/intersects.js: -------------------------------------------------------------------------------- 1 | const Range = require('../classes/range') 2 | const intersects = (r1, r2, options) => { 3 | r1 = new Range(r1, options) 4 | r2 = new Range(r2, options) 5 | return r1.intersects(r2) 6 | } 7 | module.exports = intersects 8 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/ranges/ltr.js: -------------------------------------------------------------------------------- 1 | const outside = require('./outside') 2 | // Determine if version is less than all the versions possible in the range 3 | const ltr = (version, range, options) => outside(version, range, '<', options) 4 | module.exports = ltr 5 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/ranges/max-satisfying.js: -------------------------------------------------------------------------------- 1 | const SemVer = require('../classes/semver') 2 | const Range = require('../classes/range') 3 | 4 | const maxSatisfying = (versions, range, options) => { 5 | let max = null 6 | let maxSV = null 7 | let rangeObj = null 8 | try { 9 | rangeObj = new Range(range, options) 10 | } catch (er) { 11 | return null 12 | } 13 | versions.forEach((v) => { 14 | if (rangeObj.test(v)) { 15 | // satisfies(v, range, options) 16 | if (!max || maxSV.compare(v) === -1) { 17 | // compare(max, v, true) 18 | max = v 19 | maxSV = new SemVer(max, options) 20 | } 21 | } 22 | }) 23 | return max 24 | } 25 | module.exports = maxSatisfying 26 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/ranges/min-satisfying.js: -------------------------------------------------------------------------------- 1 | const SemVer = require('../classes/semver') 2 | const Range = require('../classes/range') 3 | const minSatisfying = (versions, range, options) => { 4 | let min = null 5 | let minSV = null 6 | let rangeObj = null 7 | try { 8 | rangeObj = new Range(range, options) 9 | } catch (er) { 10 | return null 11 | } 12 | versions.forEach((v) => { 13 | if (rangeObj.test(v)) { 14 | // satisfies(v, range, options) 15 | if (!min || minSV.compare(v) === 1) { 16 | // compare(min, v, true) 17 | min = v 18 | minSV = new SemVer(min, options) 19 | } 20 | } 21 | }) 22 | return min 23 | } 24 | module.exports = minSatisfying 25 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/ranges/to-comparators.js: -------------------------------------------------------------------------------- 1 | const Range = require('../classes/range') 2 | 3 | // Mostly just for testing and legacy API reasons 4 | const toComparators = (range, options) => 5 | new Range(range, options).set 6 | .map(comp => comp.map(c => c.value).join(' ').trim().split(' ')) 7 | 8 | module.exports = toComparators 9 | -------------------------------------------------------------------------------- /server/node_modules/update-notifier/node_modules/semver/ranges/valid.js: -------------------------------------------------------------------------------- 1 | const Range = require('../classes/range') 2 | const validRange = (range, options) => { 3 | try { 4 | // Return '*' instead of '' so that truthiness works. 5 | // This will throw if it's invalid anyway 6 | return new Range(range, options).range || '*' 7 | } catch (er) { 8 | return null 9 | } 10 | } 11 | module.exports = validRange 12 | -------------------------------------------------------------------------------- /server/node_modules/url-parse-lax/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const url = require('url'); 3 | const prependHttp = require('prepend-http'); 4 | 5 | module.exports = (input, options) => { 6 | if (typeof input !== 'string') { 7 | throw new TypeError(`Expected \`url\` to be of type \`string\`, got \`${typeof input}\` instead.`); 8 | } 9 | 10 | const finalUrl = prependHttp(input, Object.assign({https: true}, options)); 11 | return url.parse(finalUrl); 12 | }; 13 | -------------------------------------------------------------------------------- /server/node_modules/url-parse-lax/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "url-parse-lax", 3 | "version": "3.0.0", 4 | "description": "Lax url.parse() with support for protocol-less URLs & IPs", 5 | "license": "MIT", 6 | "repository": "sindresorhus/url-parse-lax", 7 | "author": { 8 | "name": "Sindre Sorhus", 9 | "email": "sindresorhus@gmail.com", 10 | "url": "sindresorhus.com" 11 | }, 12 | "engines": { 13 | "node": ">=4" 14 | }, 15 | "scripts": { 16 | "test": "xo && ava" 17 | }, 18 | "files": [ 19 | "index.js" 20 | ], 21 | "keywords": [ 22 | "url", 23 | "uri", 24 | "parse", 25 | "parser", 26 | "loose", 27 | "lax", 28 | "protocol", 29 | "less", 30 | "protocol-less", 31 | "ip", 32 | "ipv4", 33 | "ipv6" 34 | ], 35 | "dependencies": { 36 | "prepend-http": "^2.0.0" 37 | }, 38 | "devDependencies": { 39 | "ava": "*", 40 | "xo": "*" 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /server/node_modules/utils-merge/.npmignore: -------------------------------------------------------------------------------- 1 | CONTRIBUTING.md 2 | Makefile 3 | docs/ 4 | examples/ 5 | reports/ 6 | test/ 7 | 8 | .jshintrc 9 | .travis.yml 10 | -------------------------------------------------------------------------------- /server/node_modules/utils-merge/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Merge object b with object a. 3 | * 4 | * var a = { foo: 'bar' } 5 | * , b = { bar: 'baz' }; 6 | * 7 | * merge(a, b); 8 | * // => { foo: 'bar', bar: 'baz' } 9 | * 10 | * @param {Object} a 11 | * @param {Object} b 12 | * @return {Object} 13 | * @api public 14 | */ 15 | 16 | exports = module.exports = function(a, b){ 17 | if (a && b) { 18 | for (var key in b) { 19 | a[key] = b[key]; 20 | } 21 | } 22 | return a; 23 | }; 24 | -------------------------------------------------------------------------------- /server/node_modules/widest-line/index.d.ts: -------------------------------------------------------------------------------- 1 | declare const widestLine: { 2 | /** 3 | Get the visual width of the widest line in a string - the number of columns required to display it. 4 | 5 | @example 6 | ``` 7 | import widestLine = require('widest-line'); 8 | 9 | widestLine('古\n\u001B[1m@\u001B[22m'); 10 | //=> 2 11 | ``` 12 | */ 13 | (input: string): number; 14 | 15 | // TODO: remove this in the next major version, refactor definition to: 16 | // declare function widestLine(input: string): number; 17 | // export = widestLine; 18 | default: typeof widestLine; 19 | }; 20 | 21 | export = widestLine; 22 | -------------------------------------------------------------------------------- /server/node_modules/widest-line/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const stringWidth = require('string-width'); 3 | 4 | const widestLine = input => { 5 | let max = 0; 6 | 7 | for (const line of input.split('\n')) { 8 | max = Math.max(max, stringWidth(line)); 9 | } 10 | 11 | return max; 12 | }; 13 | 14 | module.exports = widestLine; 15 | // TODO: remove this in the next major version 16 | module.exports.default = widestLine; 17 | -------------------------------------------------------------------------------- /server/node_modules/wrappy/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /server/node_modules/wrappy/README.md: -------------------------------------------------------------------------------- 1 | # wrappy 2 | 3 | Callback wrapping utility 4 | 5 | ## USAGE 6 | 7 | ```javascript 8 | var wrappy = require("wrappy") 9 | 10 | // var wrapper = wrappy(wrapperFunction) 11 | 12 | // make sure a cb is called only once 13 | // See also: http://npm.im/once for this specific use case 14 | var once = wrappy(function (cb) { 15 | var called = false 16 | return function () { 17 | if (called) return 18 | called = true 19 | return cb.apply(this, arguments) 20 | } 21 | }) 22 | 23 | function printBoo () { 24 | console.log('boo') 25 | } 26 | // has some rando property 27 | printBoo.iAmBooPrinter = true 28 | 29 | var onlyPrintOnce = once(printBoo) 30 | 31 | onlyPrintOnce() // prints 'boo' 32 | onlyPrintOnce() // does nothing 33 | 34 | // random property is retained! 35 | assert.equal(onlyPrintOnce.iAmBooPrinter, true) 36 | ``` 37 | -------------------------------------------------------------------------------- /server/node_modules/wrappy/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "wrappy", 3 | "version": "1.0.2", 4 | "description": "Callback wrapping utility", 5 | "main": "wrappy.js", 6 | "files": [ 7 | "wrappy.js" 8 | ], 9 | "directories": { 10 | "test": "test" 11 | }, 12 | "dependencies": {}, 13 | "devDependencies": { 14 | "tap": "^2.3.1" 15 | }, 16 | "scripts": { 17 | "test": "tap --coverage test/*.js" 18 | }, 19 | "repository": { 20 | "type": "git", 21 | "url": "https://github.com/npm/wrappy" 22 | }, 23 | "author": "Isaac Z. Schlueter (http://blog.izs.me/)", 24 | "license": "ISC", 25 | "bugs": { 26 | "url": "https://github.com/npm/wrappy/issues" 27 | }, 28 | "homepage": "https://github.com/npm/wrappy" 29 | } 30 | -------------------------------------------------------------------------------- /server/node_modules/write-file-atomic/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015, Rebecca Turner 2 | 3 | Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. 4 | 5 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 6 | 7 | -------------------------------------------------------------------------------- /server/node_modules/ws/browser.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function () { 4 | throw new Error( 5 | 'ws does not work in the browser. Browser clients must use the native ' + 6 | 'WebSocket object' 7 | ); 8 | }; 9 | -------------------------------------------------------------------------------- /server/node_modules/ws/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const WebSocket = require('./lib/websocket'); 4 | 5 | WebSocket.createWebSocketStream = require('./lib/stream'); 6 | WebSocket.Server = require('./lib/websocket-server'); 7 | WebSocket.Receiver = require('./lib/receiver'); 8 | WebSocket.Sender = require('./lib/sender'); 9 | 10 | WebSocket.WebSocket = WebSocket; 11 | WebSocket.WebSocketServer = WebSocket.Server; 12 | 13 | module.exports = WebSocket; 14 | -------------------------------------------------------------------------------- /server/node_modules/ws/lib/constants.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = { 4 | BINARY_TYPES: ['nodebuffer', 'arraybuffer', 'fragments'], 5 | EMPTY_BUFFER: Buffer.alloc(0), 6 | GUID: '258EAFA5-E914-47DA-95CA-C5AB0DC85B11', 7 | kForOnEventAttribute: Symbol('kIsForOnEventAttribute'), 8 | kListener: Symbol('kListener'), 9 | kStatusCode: Symbol('status-code'), 10 | kWebSocket: Symbol('websocket'), 11 | NOOP: () => {} 12 | }; 13 | -------------------------------------------------------------------------------- /server/node_modules/ws/wrapper.mjs: -------------------------------------------------------------------------------- 1 | import createWebSocketStream from './lib/stream.js'; 2 | import Receiver from './lib/receiver.js'; 3 | import Sender from './lib/sender.js'; 4 | import WebSocket from './lib/websocket.js'; 5 | import WebSocketServer from './lib/websocket-server.js'; 6 | 7 | export { createWebSocketStream, Receiver, Sender, WebSocket, WebSocketServer }; 8 | export default WebSocket; 9 | -------------------------------------------------------------------------------- /server/node_modules/xdg-basedir/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const os = require('os'); 3 | const path = require('path'); 4 | 5 | const homeDirectory = os.homedir(); 6 | const {env} = process; 7 | 8 | exports.data = env.XDG_DATA_HOME || 9 | (homeDirectory ? path.join(homeDirectory, '.local', 'share') : undefined); 10 | 11 | exports.config = env.XDG_CONFIG_HOME || 12 | (homeDirectory ? path.join(homeDirectory, '.config') : undefined); 13 | 14 | exports.cache = env.XDG_CACHE_HOME || (homeDirectory ? path.join(homeDirectory, '.cache') : undefined); 15 | 16 | exports.runtime = env.XDG_RUNTIME_DIR || undefined; 17 | 18 | exports.dataDirs = (env.XDG_DATA_DIRS || '/usr/local/share/:/usr/share/').split(':'); 19 | 20 | if (exports.data) { 21 | exports.dataDirs.unshift(exports.data); 22 | } 23 | 24 | exports.configDirs = (env.XDG_CONFIG_DIRS || '/etc/xdg').split(':'); 25 | 26 | if (exports.config) { 27 | exports.configDirs.unshift(exports.config); 28 | } 29 | -------------------------------------------------------------------------------- /server/node_modules/xdg-basedir/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "xdg-basedir", 3 | "version": "4.0.0", 4 | "description": "Get XDG Base Directory paths", 5 | "license": "MIT", 6 | "repository": "sindresorhus/xdg-basedir", 7 | "author": { 8 | "name": "Sindre Sorhus", 9 | "email": "sindresorhus@gmail.com", 10 | "url": "sindresorhus.com" 11 | }, 12 | "engines": { 13 | "node": ">=8" 14 | }, 15 | "scripts": { 16 | "test": "xo && ava && tsd" 17 | }, 18 | "files": [ 19 | "index.js", 20 | "index.d.ts" 21 | ], 22 | "keywords": [ 23 | "xdg", 24 | "base", 25 | "directory", 26 | "basedir", 27 | "path", 28 | "data", 29 | "config", 30 | "cache", 31 | "linux", 32 | "unix", 33 | "spec" 34 | ], 35 | "devDependencies": { 36 | "ava": "^1.4.1", 37 | "import-fresh": "^3.0.0", 38 | "tsd": "^0.7.2", 39 | "xo": "^0.24.0" 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /server/node_modules/yallist/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /server/node_modules/yallist/iterator.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | module.exports = function (Yallist) { 3 | Yallist.prototype[Symbol.iterator] = function* () { 4 | for (let walker = this.head; walker; walker = walker.next) { 5 | yield walker.value 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /server/node_modules/yallist/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "yallist", 3 | "version": "4.0.0", 4 | "description": "Yet Another Linked List", 5 | "main": "yallist.js", 6 | "directories": { 7 | "test": "test" 8 | }, 9 | "files": [ 10 | "yallist.js", 11 | "iterator.js" 12 | ], 13 | "dependencies": {}, 14 | "devDependencies": { 15 | "tap": "^12.1.0" 16 | }, 17 | "scripts": { 18 | "test": "tap test/*.js --100", 19 | "preversion": "npm test", 20 | "postversion": "npm publish", 21 | "postpublish": "git push origin --all; git push origin --tags" 22 | }, 23 | "repository": { 24 | "type": "git", 25 | "url": "git+https://github.com/isaacs/yallist.git" 26 | }, 27 | "author": "Isaac Z. Schlueter (http://blog.izs.me/)", 28 | "license": "ISC" 29 | } 30 | -------------------------------------------------------------------------------- /server/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "server", 3 | "version": "1.0.0", 4 | "main": "index.js", 5 | "license": "MIT", 6 | "scripts": { 7 | "start": "nodemon index.js" 8 | }, 9 | "dependencies": { 10 | "cors": "^2.8.5", 11 | "express": "^4.17.3", 12 | "nodemon": "^2.0.15", 13 | "socket.io": "^4.4.1" 14 | } 15 | } 16 | --------------------------------------------------------------------------------