├── .DS_Store ├── clients ├── package.json ├── public │ ├── favicon.ico │ ├── index.html │ ├── logo192.png │ ├── logo512.png │ ├── manifest.json │ └── robots.txt └── src │ ├── App.css │ ├── App.js │ ├── index.js │ ├── pages │ ├── Auth.js │ ├── Home.js │ └── Login.js │ └── reportWebVitals.js └── 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 ├── @szmarczak │ └── http-timer │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ └── source │ │ └── index.js ├── 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 ├── axios │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── SECURITY.md │ ├── UPGRADE_GUIDE.md │ ├── dist │ │ ├── axios.js │ │ ├── axios.map │ │ ├── axios.min.js │ │ └── axios.min.map │ ├── index.d.ts │ ├── index.js │ ├── lib │ │ ├── adapters │ │ │ ├── README.md │ │ │ ├── http.js │ │ │ └── xhr.js │ │ ├── axios.js │ │ ├── cancel │ │ │ ├── Cancel.js │ │ │ ├── CancelToken.js │ │ │ └── isCancel.js │ │ ├── core │ │ │ ├── Axios.js │ │ │ ├── InterceptorManager.js │ │ │ ├── README.md │ │ │ ├── buildFullPath.js │ │ │ ├── createError.js │ │ │ ├── dispatchRequest.js │ │ │ ├── enhanceError.js │ │ │ ├── mergeConfig.js │ │ │ ├── settle.js │ │ │ └── transformData.js │ │ ├── defaults.js │ │ ├── helpers │ │ │ ├── README.md │ │ │ ├── bind.js │ │ │ ├── buildURL.js │ │ │ ├── combineURLs.js │ │ │ ├── cookies.js │ │ │ ├── deprecatedMethod.js │ │ │ ├── isAbsoluteURL.js │ │ │ ├── isAxiosError.js │ │ │ ├── isURLSameOrigin.js │ │ │ ├── normalizeHeaderName.js │ │ │ ├── parseHeaders.js │ │ │ ├── spread.js │ │ │ └── validator.js │ │ └── utils.js │ └── package.json ├── balanced-match │ ├── .github │ │ └── FUNDING.yml │ ├── LICENSE.md │ ├── README.md │ ├── index.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 ├── 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 ├── 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 ├── follow-redirects │ ├── LICENSE │ ├── README.md │ ├── debug.js │ ├── http.js │ ├── https.js │ ├── 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 ├── jose │ ├── LICENSE.md │ ├── README.md │ ├── dist │ │ ├── browser │ │ │ ├── index.js │ │ │ ├── jwe │ │ │ │ ├── compact │ │ │ │ │ ├── decrypt.js │ │ │ │ │ └── encrypt.js │ │ │ │ ├── flattened │ │ │ │ │ ├── decrypt.js │ │ │ │ │ └── encrypt.js │ │ │ │ └── general │ │ │ │ │ ├── decrypt.js │ │ │ │ │ └── encrypt.js │ │ │ ├── jwk │ │ │ │ ├── embedded.js │ │ │ │ └── thumbprint.js │ │ │ ├── jwks │ │ │ │ ├── local.js │ │ │ │ └── remote.js │ │ │ ├── jws │ │ │ │ ├── compact │ │ │ │ │ ├── sign.js │ │ │ │ │ └── verify.js │ │ │ │ ├── flattened │ │ │ │ │ ├── sign.js │ │ │ │ │ └── verify.js │ │ │ │ └── general │ │ │ │ │ ├── sign.js │ │ │ │ │ └── verify.js │ │ │ ├── jwt │ │ │ │ ├── decrypt.js │ │ │ │ ├── encrypt.js │ │ │ │ ├── produce.js │ │ │ │ ├── sign.js │ │ │ │ ├── unsecured.js │ │ │ │ └── verify.js │ │ │ ├── key │ │ │ │ ├── export.js │ │ │ │ ├── generate_key_pair.js │ │ │ │ ├── generate_secret.js │ │ │ │ └── import.js │ │ │ ├── lib │ │ │ │ ├── aesgcmkw.js │ │ │ │ ├── buffer_utils.js │ │ │ │ ├── cek.js │ │ │ │ ├── check_iv_length.js │ │ │ │ ├── check_key_type.js │ │ │ │ ├── check_p2s.js │ │ │ │ ├── crypto_key.js │ │ │ │ ├── decrypt_key_management.js │ │ │ │ ├── encrypt_key_management.js │ │ │ │ ├── epoch.js │ │ │ │ ├── format_pem.js │ │ │ │ ├── invalid_key_input.js │ │ │ │ ├── is_disjoint.js │ │ │ │ ├── is_object.js │ │ │ │ ├── iv.js │ │ │ │ ├── jwt_claims_set.js │ │ │ │ ├── secs.js │ │ │ │ ├── validate_algorithms.js │ │ │ │ └── validate_crit.js │ │ │ ├── package.json │ │ │ ├── runtime │ │ │ │ ├── aeskw.js │ │ │ │ ├── asn1.js │ │ │ │ ├── base64url.js │ │ │ │ ├── bogus.js │ │ │ │ ├── check_cek_length.js │ │ │ │ ├── check_key_length.js │ │ │ │ ├── decrypt.js │ │ │ │ ├── digest.js │ │ │ │ ├── ecdhes.js │ │ │ │ ├── encrypt.js │ │ │ │ ├── env.js │ │ │ │ ├── fetch_jwks.js │ │ │ │ ├── generate.js │ │ │ │ ├── get_sign_verify_key.js │ │ │ │ ├── is_key_like.js │ │ │ │ ├── jwk_to_key.js │ │ │ │ ├── key_to_jwk.js │ │ │ │ ├── pbes2kw.js │ │ │ │ ├── random.js │ │ │ │ ├── rsaes.js │ │ │ │ ├── sign.js │ │ │ │ ├── subtle_dsa.js │ │ │ │ ├── subtle_rsaes.js │ │ │ │ ├── timing_safe_equal.js │ │ │ │ ├── verify.js │ │ │ │ ├── webcrypto.js │ │ │ │ └── zlib.js │ │ │ └── util │ │ │ │ ├── base64url.js │ │ │ │ ├── decode_jwt.js │ │ │ │ ├── decode_protected_header.js │ │ │ │ └── errors.js │ │ ├── node │ │ │ ├── cjs │ │ │ │ ├── index.js │ │ │ │ ├── jwe │ │ │ │ │ ├── compact │ │ │ │ │ │ ├── decrypt.js │ │ │ │ │ │ └── encrypt.js │ │ │ │ │ ├── flattened │ │ │ │ │ │ ├── decrypt.js │ │ │ │ │ │ └── encrypt.js │ │ │ │ │ └── general │ │ │ │ │ │ ├── decrypt.js │ │ │ │ │ │ └── encrypt.js │ │ │ │ ├── jwk │ │ │ │ │ ├── embedded.js │ │ │ │ │ └── thumbprint.js │ │ │ │ ├── jwks │ │ │ │ │ ├── local.js │ │ │ │ │ └── remote.js │ │ │ │ ├── jws │ │ │ │ │ ├── compact │ │ │ │ │ │ ├── sign.js │ │ │ │ │ │ └── verify.js │ │ │ │ │ ├── flattened │ │ │ │ │ │ ├── sign.js │ │ │ │ │ │ └── verify.js │ │ │ │ │ └── general │ │ │ │ │ │ ├── sign.js │ │ │ │ │ │ └── verify.js │ │ │ │ ├── jwt │ │ │ │ │ ├── decrypt.js │ │ │ │ │ ├── encrypt.js │ │ │ │ │ ├── produce.js │ │ │ │ │ ├── sign.js │ │ │ │ │ ├── unsecured.js │ │ │ │ │ └── verify.js │ │ │ │ ├── key │ │ │ │ │ ├── export.js │ │ │ │ │ ├── generate_key_pair.js │ │ │ │ │ ├── generate_secret.js │ │ │ │ │ └── import.js │ │ │ │ ├── lib │ │ │ │ │ ├── aesgcmkw.js │ │ │ │ │ ├── buffer_utils.js │ │ │ │ │ ├── cek.js │ │ │ │ │ ├── check_iv_length.js │ │ │ │ │ ├── check_key_type.js │ │ │ │ │ ├── check_p2s.js │ │ │ │ │ ├── crypto_key.js │ │ │ │ │ ├── decrypt_key_management.js │ │ │ │ │ ├── encrypt_key_management.js │ │ │ │ │ ├── epoch.js │ │ │ │ │ ├── format_pem.js │ │ │ │ │ ├── invalid_key_input.js │ │ │ │ │ ├── is_disjoint.js │ │ │ │ │ ├── is_object.js │ │ │ │ │ ├── iv.js │ │ │ │ │ ├── jwt_claims_set.js │ │ │ │ │ ├── secs.js │ │ │ │ │ ├── validate_algorithms.js │ │ │ │ │ └── validate_crit.js │ │ │ │ ├── runtime │ │ │ │ │ ├── aeskw.js │ │ │ │ │ ├── asn1.js │ │ │ │ │ ├── asn1_sequence_decoder.js │ │ │ │ │ ├── asn1_sequence_encoder.js │ │ │ │ │ ├── base64url.js │ │ │ │ │ ├── cbc_tag.js │ │ │ │ │ ├── check_cek_length.js │ │ │ │ │ ├── check_modulus_length.js │ │ │ │ │ ├── ciphers.js │ │ │ │ │ ├── decrypt.js │ │ │ │ │ ├── digest.js │ │ │ │ │ ├── dsa_digest.js │ │ │ │ │ ├── ecdhes.js │ │ │ │ │ ├── encrypt.js │ │ │ │ │ ├── env.js │ │ │ │ │ ├── fetch_jwks.js │ │ │ │ │ ├── generate.js │ │ │ │ │ ├── get_named_curve.js │ │ │ │ │ ├── get_sign_verify_key.js │ │ │ │ │ ├── hmac_digest.js │ │ │ │ │ ├── is_key_like.js │ │ │ │ │ ├── is_key_object.js │ │ │ │ │ ├── jwk_to_key.js │ │ │ │ │ ├── key_to_jwk.js │ │ │ │ │ ├── node_key.js │ │ │ │ │ ├── pbes2kw.js │ │ │ │ │ ├── random.js │ │ │ │ │ ├── rsaes.js │ │ │ │ │ ├── sign.js │ │ │ │ │ ├── timing_safe_equal.js │ │ │ │ │ ├── verify.js │ │ │ │ │ ├── webcrypto.js │ │ │ │ │ └── zlib.js │ │ │ │ └── util │ │ │ │ │ ├── base64url.js │ │ │ │ │ ├── decode_jwt.js │ │ │ │ │ ├── decode_protected_header.js │ │ │ │ │ └── errors.js │ │ │ └── esm │ │ │ │ ├── index.js │ │ │ │ ├── jwe │ │ │ │ ├── compact │ │ │ │ │ ├── decrypt.js │ │ │ │ │ └── encrypt.js │ │ │ │ ├── flattened │ │ │ │ │ ├── decrypt.js │ │ │ │ │ └── encrypt.js │ │ │ │ └── general │ │ │ │ │ ├── decrypt.js │ │ │ │ │ └── encrypt.js │ │ │ │ ├── jwk │ │ │ │ ├── embedded.js │ │ │ │ └── thumbprint.js │ │ │ │ ├── jwks │ │ │ │ ├── local.js │ │ │ │ └── remote.js │ │ │ │ ├── jws │ │ │ │ ├── compact │ │ │ │ │ ├── sign.js │ │ │ │ │ └── verify.js │ │ │ │ ├── flattened │ │ │ │ │ ├── sign.js │ │ │ │ │ └── verify.js │ │ │ │ └── general │ │ │ │ │ ├── sign.js │ │ │ │ │ └── verify.js │ │ │ │ ├── jwt │ │ │ │ ├── decrypt.js │ │ │ │ ├── encrypt.js │ │ │ │ ├── produce.js │ │ │ │ ├── sign.js │ │ │ │ ├── unsecured.js │ │ │ │ └── verify.js │ │ │ │ ├── key │ │ │ │ ├── export.js │ │ │ │ ├── generate_key_pair.js │ │ │ │ ├── generate_secret.js │ │ │ │ └── import.js │ │ │ │ ├── lib │ │ │ │ ├── aesgcmkw.js │ │ │ │ ├── buffer_utils.js │ │ │ │ ├── cek.js │ │ │ │ ├── check_iv_length.js │ │ │ │ ├── check_key_type.js │ │ │ │ ├── check_p2s.js │ │ │ │ ├── crypto_key.js │ │ │ │ ├── decrypt_key_management.js │ │ │ │ ├── encrypt_key_management.js │ │ │ │ ├── epoch.js │ │ │ │ ├── format_pem.js │ │ │ │ ├── invalid_key_input.js │ │ │ │ ├── is_disjoint.js │ │ │ │ ├── is_object.js │ │ │ │ ├── iv.js │ │ │ │ ├── jwt_claims_set.js │ │ │ │ ├── secs.js │ │ │ │ ├── validate_algorithms.js │ │ │ │ └── validate_crit.js │ │ │ │ ├── package.json │ │ │ │ ├── runtime │ │ │ │ ├── aeskw.js │ │ │ │ ├── asn1.js │ │ │ │ ├── asn1_sequence_decoder.js │ │ │ │ ├── asn1_sequence_encoder.js │ │ │ │ ├── base64url.js │ │ │ │ ├── cbc_tag.js │ │ │ │ ├── check_cek_length.js │ │ │ │ ├── check_modulus_length.js │ │ │ │ ├── ciphers.js │ │ │ │ ├── decrypt.js │ │ │ │ ├── digest.js │ │ │ │ ├── dsa_digest.js │ │ │ │ ├── ecdhes.js │ │ │ │ ├── encrypt.js │ │ │ │ ├── env.js │ │ │ │ ├── fetch_jwks.js │ │ │ │ ├── generate.js │ │ │ │ ├── get_named_curve.js │ │ │ │ ├── get_sign_verify_key.js │ │ │ │ ├── hmac_digest.js │ │ │ │ ├── is_key_like.js │ │ │ │ ├── is_key_object.js │ │ │ │ ├── jwk_to_key.js │ │ │ │ ├── key_to_jwk.js │ │ │ │ ├── node_key.js │ │ │ │ ├── pbes2kw.js │ │ │ │ ├── random.js │ │ │ │ ├── rsaes.js │ │ │ │ ├── sign.js │ │ │ │ ├── timing_safe_equal.js │ │ │ │ ├── verify.js │ │ │ │ ├── webcrypto.js │ │ │ │ └── zlib.js │ │ │ │ └── util │ │ │ │ ├── base64url.js │ │ │ │ ├── decode_jwt.js │ │ │ │ ├── decode_protected_header.js │ │ │ │ └── errors.js │ │ └── types │ │ │ ├── index.d.ts │ │ │ ├── jwe │ │ │ ├── compact │ │ │ │ ├── decrypt.d.ts │ │ │ │ └── encrypt.d.ts │ │ │ ├── flattened │ │ │ │ ├── decrypt.d.ts │ │ │ │ └── encrypt.d.ts │ │ │ └── general │ │ │ │ ├── decrypt.d.ts │ │ │ │ └── encrypt.d.ts │ │ │ ├── jwk │ │ │ ├── embedded.d.ts │ │ │ └── thumbprint.d.ts │ │ │ ├── jwks │ │ │ ├── local.d.ts │ │ │ └── remote.d.ts │ │ │ ├── jws │ │ │ ├── compact │ │ │ │ ├── sign.d.ts │ │ │ │ └── verify.d.ts │ │ │ ├── flattened │ │ │ │ ├── sign.d.ts │ │ │ │ └── verify.d.ts │ │ │ └── general │ │ │ │ ├── sign.d.ts │ │ │ │ └── verify.d.ts │ │ │ ├── jwt │ │ │ ├── decrypt.d.ts │ │ │ ├── encrypt.d.ts │ │ │ ├── produce.d.ts │ │ │ ├── sign.d.ts │ │ │ ├── unsecured.d.ts │ │ │ └── verify.d.ts │ │ │ ├── key │ │ │ ├── export.d.ts │ │ │ ├── generate_key_pair.d.ts │ │ │ ├── generate_secret.d.ts │ │ │ └── import.d.ts │ │ │ ├── types.d.ts │ │ │ └── util │ │ │ ├── base64url.d.ts │ │ │ ├── decode_jwt.d.ts │ │ │ ├── decode_protected_header.d.ts │ │ │ └── errors.d.ts │ └── 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 ├── 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 ├── stytch │ ├── LICENSE │ ├── README.md │ ├── dist │ │ ├── client.js │ │ ├── crypto_wallets.js │ │ ├── envs.js │ │ ├── errors.js │ │ ├── index.js │ │ ├── magic_links.js │ │ ├── oauth.js │ │ ├── otps.js │ │ ├── sessions.js │ │ ├── shared.js │ │ ├── totps.js │ │ ├── users.js │ │ └── webauthn.js │ ├── module.mjs │ ├── package.json │ └── types │ │ └── lib │ │ ├── client.d.ts │ │ ├── crypto_wallets.d.ts │ │ ├── envs.d.ts │ │ ├── errors.d.ts │ │ ├── index.d.ts │ │ ├── magic_links.d.ts │ │ ├── oauth.d.ts │ │ ├── otps.d.ts │ │ ├── sessions.d.ts │ │ ├── shared.d.ts │ │ ├── totps.d.ts │ │ ├── users.d.ts │ │ └── webauthn.d.ts ├── 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 │ │ │ ├── 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 ├── 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 /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/machadop1407/passwordless-auth-react/3e5dcd75c1cb1f1592060b4869c66d8723011b47/.DS_Store -------------------------------------------------------------------------------- /clients/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/machadop1407/passwordless-auth-react/3e5dcd75c1cb1f1592060b4869c66d8723011b47/clients/public/favicon.ico -------------------------------------------------------------------------------- /clients/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/machadop1407/passwordless-auth-react/3e5dcd75c1cb1f1592060b4869c66d8723011b47/clients/public/logo192.png -------------------------------------------------------------------------------- /clients/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/machadop1407/passwordless-auth-react/3e5dcd75c1cb1f1592060b4869c66d8723011b47/clients/public/logo512.png -------------------------------------------------------------------------------- /clients/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 | -------------------------------------------------------------------------------- /clients/public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /clients/src/App.js: -------------------------------------------------------------------------------- 1 | import './App.css'; 2 | import {BrowserRouter as Router, Routes, Route} from 'react-router-dom' 3 | import Home from './pages/Home'; 4 | import Login from './pages/Login'; 5 | import Auth from './pages/Auth'; 6 | 7 | function App() { 8 | return ( 9 |
10 | 11 | 12 | }/> 13 | }/> 14 | }/> 15 | 16 | 17 |
18 | ); 19 | } 20 | 21 | export default App; 22 | -------------------------------------------------------------------------------- /clients/src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom/client'; 3 | import App from './App'; 4 | import reportWebVitals from './reportWebVitals'; 5 | 6 | const root = ReactDOM.createRoot(document.getElementById('root')); 7 | root.render( 8 | 9 | 10 | 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 | -------------------------------------------------------------------------------- /clients/src/pages/Auth.js: -------------------------------------------------------------------------------- 1 | import Axios from "axios"; 2 | import React, { useEffect } from "react"; 3 | import { Navigate, useSearchParams } from "react-router-dom"; 4 | import Cookies from "universal-cookie"; 5 | 6 | function Auth() { 7 | const [searchParams] = useSearchParams(); 8 | const cookie = new Cookies(); 9 | 10 | useEffect(() => { 11 | Axios.post("http://localhost:3002/auth", { 12 | token: searchParams.get("token"), 13 | }).then((response) => { 14 | cookie.set("sessionToken", response.data); 15 | }); 16 | }); 17 | 18 | return ; 19 | } 20 | 21 | export default Auth; 22 | -------------------------------------------------------------------------------- /clients/src/pages/Home.js: -------------------------------------------------------------------------------- 1 | import Axios from "axios"; 2 | import React from "react"; 3 | import Cookies from "universal-cookie"; 4 | 5 | function Home() { 6 | const cookie = new Cookies(); 7 | const testAPI = () => { 8 | Axios.post( 9 | "http://localhost:3002/test", 10 | {}, 11 | { headers: { sessiontoken: cookie.get("sessionToken").session_token } } 12 | ) 13 | .then((resp) => { 14 | alert(resp.data); 15 | }) 16 | .catch((err) => { 17 | alert("USER NOT AUTHENTICATED"); 18 | }); 19 | }; 20 | return ( 21 |
22 | 23 |
24 | ); 25 | } 26 | 27 | export default Home; 28 | -------------------------------------------------------------------------------- /clients/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/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/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.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/axios/SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | ## Reporting a Vulnerability 4 | 5 | Please report security issues to jasonsaayman@gmail.com 6 | -------------------------------------------------------------------------------- /server/node_modules/axios/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./lib/axios'); -------------------------------------------------------------------------------- /server/node_modules/axios/lib/cancel/Cancel.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * A `Cancel` is an object that is thrown when an operation is canceled. 5 | * 6 | * @class 7 | * @param {string=} message The message. 8 | */ 9 | function Cancel(message) { 10 | this.message = message; 11 | } 12 | 13 | Cancel.prototype.toString = function toString() { 14 | return 'Cancel' + (this.message ? ': ' + this.message : ''); 15 | }; 16 | 17 | Cancel.prototype.__CANCEL__ = true; 18 | 19 | module.exports = Cancel; 20 | -------------------------------------------------------------------------------- /server/node_modules/axios/lib/cancel/isCancel.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function isCancel(value) { 4 | return !!(value && value.__CANCEL__); 5 | }; 6 | -------------------------------------------------------------------------------- /server/node_modules/axios/lib/core/README.md: -------------------------------------------------------------------------------- 1 | # axios // core 2 | 3 | The modules found in `core/` should be modules that are specific to the domain logic of axios. These modules would most likely not make sense to be consumed outside of the axios module, as their logic is too specific. Some examples of core modules are: 4 | 5 | - Dispatching requests 6 | - Requests sent via `adapters/` (see lib/adapters/README.md) 7 | - Managing interceptors 8 | - Handling config 9 | -------------------------------------------------------------------------------- /server/node_modules/axios/lib/core/buildFullPath.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var isAbsoluteURL = require('../helpers/isAbsoluteURL'); 4 | var combineURLs = require('../helpers/combineURLs'); 5 | 6 | /** 7 | * Creates a new URL by combining the baseURL with the requestedURL, 8 | * only when the requestedURL is not already an absolute URL. 9 | * If the requestURL is absolute, this function returns the requestedURL untouched. 10 | * 11 | * @param {string} baseURL The base URL 12 | * @param {string} requestedURL Absolute or relative URL to combine 13 | * @returns {string} The combined full path 14 | */ 15 | module.exports = function buildFullPath(baseURL, requestedURL) { 16 | if (baseURL && !isAbsoluteURL(requestedURL)) { 17 | return combineURLs(baseURL, requestedURL); 18 | } 19 | return requestedURL; 20 | }; 21 | -------------------------------------------------------------------------------- /server/node_modules/axios/lib/core/createError.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var enhanceError = require('./enhanceError'); 4 | 5 | /** 6 | * Create an Error with the specified message, config, error code, request and response. 7 | * 8 | * @param {string} message The error message. 9 | * @param {Object} config The config. 10 | * @param {string} [code] The error code (for example, 'ECONNABORTED'). 11 | * @param {Object} [request] The request. 12 | * @param {Object} [response] The response. 13 | * @returns {Error} The created error. 14 | */ 15 | module.exports = function createError(message, config, code, request, response) { 16 | var error = new Error(message); 17 | return enhanceError(error, config, code, request, response); 18 | }; 19 | -------------------------------------------------------------------------------- /server/node_modules/axios/lib/core/settle.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var createError = require('./createError'); 4 | 5 | /** 6 | * Resolve or reject a Promise based on response status. 7 | * 8 | * @param {Function} resolve A function that resolves the promise. 9 | * @param {Function} reject A function that rejects the promise. 10 | * @param {object} response The response. 11 | */ 12 | module.exports = function settle(resolve, reject, response) { 13 | var validateStatus = response.config.validateStatus; 14 | if (!response.status || !validateStatus || validateStatus(response.status)) { 15 | resolve(response); 16 | } else { 17 | reject(createError( 18 | 'Request failed with status code ' + response.status, 19 | response.config, 20 | null, 21 | response.request, 22 | response 23 | )); 24 | } 25 | }; 26 | -------------------------------------------------------------------------------- /server/node_modules/axios/lib/core/transformData.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var utils = require('./../utils'); 4 | var defaults = require('./../defaults'); 5 | 6 | /** 7 | * Transform the data for a request or a response 8 | * 9 | * @param {Object|String} data The data to be transformed 10 | * @param {Array} headers The headers for the request or response 11 | * @param {Array|Function} fns A single function or Array of functions 12 | * @returns {*} The resulting transformed data 13 | */ 14 | module.exports = function transformData(data, headers, fns) { 15 | var context = this || defaults; 16 | /*eslint no-param-reassign:0*/ 17 | utils.forEach(fns, function transform(fn) { 18 | data = fn.call(context, data, headers); 19 | }); 20 | 21 | return data; 22 | }; 23 | -------------------------------------------------------------------------------- /server/node_modules/axios/lib/helpers/README.md: -------------------------------------------------------------------------------- 1 | # axios // helpers 2 | 3 | The modules found in `helpers/` should be generic modules that are _not_ specific to the domain logic of axios. These modules could theoretically be published to npm on their own and consumed by other modules or apps. Some examples of generic modules are things like: 4 | 5 | - Browser polyfills 6 | - Managing cookies 7 | - Parsing HTTP headers 8 | -------------------------------------------------------------------------------- /server/node_modules/axios/lib/helpers/bind.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function bind(fn, thisArg) { 4 | return function wrap() { 5 | var args = new Array(arguments.length); 6 | for (var i = 0; i < args.length; i++) { 7 | args[i] = arguments[i]; 8 | } 9 | return fn.apply(thisArg, args); 10 | }; 11 | }; 12 | -------------------------------------------------------------------------------- /server/node_modules/axios/lib/helpers/combineURLs.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Creates a new URL by combining the specified URLs 5 | * 6 | * @param {string} baseURL The base URL 7 | * @param {string} relativeURL The relative URL 8 | * @returns {string} The combined URL 9 | */ 10 | module.exports = function combineURLs(baseURL, relativeURL) { 11 | return relativeURL 12 | ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '') 13 | : baseURL; 14 | }; 15 | -------------------------------------------------------------------------------- /server/node_modules/axios/lib/helpers/isAbsoluteURL.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Determines whether the specified URL is absolute 5 | * 6 | * @param {string} url The URL to test 7 | * @returns {boolean} True if the specified URL is absolute, otherwise false 8 | */ 9 | module.exports = function isAbsoluteURL(url) { 10 | // A URL is considered absolute if it begins with "://" or "//" (protocol-relative URL). 11 | // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed 12 | // by any combination of letters, digits, plus, period, or hyphen. 13 | return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url); 14 | }; 15 | -------------------------------------------------------------------------------- /server/node_modules/axios/lib/helpers/isAxiosError.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Determines whether the payload is an error thrown by Axios 5 | * 6 | * @param {*} payload The value to test 7 | * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false 8 | */ 9 | module.exports = function isAxiosError(payload) { 10 | return (typeof payload === 'object') && (payload.isAxiosError === true); 11 | }; 12 | -------------------------------------------------------------------------------- /server/node_modules/axios/lib/helpers/normalizeHeaderName.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var utils = require('../utils'); 4 | 5 | module.exports = function normalizeHeaderName(headers, normalizedName) { 6 | utils.forEach(headers, function processHeader(value, name) { 7 | if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) { 8 | headers[normalizedName] = value; 9 | delete headers[name]; 10 | } 11 | }); 12 | }; 13 | -------------------------------------------------------------------------------- /server/node_modules/axios/lib/helpers/spread.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Syntactic sugar for invoking a function and expanding an array for arguments. 5 | * 6 | * Common use case would be to use `Function.prototype.apply`. 7 | * 8 | * ```js 9 | * function f(x, y, z) {} 10 | * var args = [1, 2, 3]; 11 | * f.apply(null, args); 12 | * ``` 13 | * 14 | * With `spread` this example can be re-written. 15 | * 16 | * ```js 17 | * spread(function(x, y, z) {})([1, 2, 3]); 18 | * ``` 19 | * 20 | * @param {Function} callback 21 | * @returns {Function} 22 | */ 23 | module.exports = function spread(callback) { 24 | return function wrap(arr) { 25 | return callback.apply(null, arr); 26 | }; 27 | }; 28 | -------------------------------------------------------------------------------- /server/node_modules/balanced-match/.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | tidelift: "npm/balanced-match" 2 | patreon: juliangruber 3 | -------------------------------------------------------------------------------- /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/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.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/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/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/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/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/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/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/follow-redirects/debug.js: -------------------------------------------------------------------------------- 1 | var debug; 2 | 3 | module.exports = function () { 4 | if (!debug) { 5 | try { 6 | /* eslint global-require: off */ 7 | debug = require("debug")("follow-redirects"); 8 | } 9 | catch (error) { /* */ } 10 | if (typeof debug !== "function") { 11 | debug = function () { /* */ }; 12 | } 13 | } 14 | debug.apply(null, arguments); 15 | }; 16 | -------------------------------------------------------------------------------- /server/node_modules/follow-redirects/http.js: -------------------------------------------------------------------------------- 1 | module.exports = require("./").http; 2 | -------------------------------------------------------------------------------- /server/node_modules/follow-redirects/https.js: -------------------------------------------------------------------------------- 1 | module.exports = require("./").https; 2 | -------------------------------------------------------------------------------- /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/passwordless-auth-react/3e5dcd75c1cb1f1592060b4869c66d8723011b47/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/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-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/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/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/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-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-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/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/jose/dist/browser/jwk/embedded.js: -------------------------------------------------------------------------------- 1 | import { importJWK } from '../key/import.js'; 2 | import isObject from '../lib/is_object.js'; 3 | import { JWSInvalid } from '../util/errors.js'; 4 | export async function EmbeddedJWK(protectedHeader, token) { 5 | const joseHeader = { 6 | ...protectedHeader, 7 | ...token.header, 8 | }; 9 | if (!isObject(joseHeader.jwk)) { 10 | throw new JWSInvalid('"jwk" (JSON Web Key) Header Parameter must be a JSON object'); 11 | } 12 | const key = await importJWK({ ...joseHeader.jwk, ext: true }, joseHeader.alg, true); 13 | if (key instanceof Uint8Array || key.type !== 'public') { 14 | throw new JWSInvalid('"jwk" (JSON Web Key) Header Parameter must be a public key'); 15 | } 16 | return key; 17 | } 18 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/browser/jws/compact/sign.js: -------------------------------------------------------------------------------- 1 | import { FlattenedSign } from '../flattened/sign.js'; 2 | export class CompactSign { 3 | constructor(payload) { 4 | this._flattened = new FlattenedSign(payload); 5 | } 6 | setProtectedHeader(protectedHeader) { 7 | this._flattened.setProtectedHeader(protectedHeader); 8 | return this; 9 | } 10 | async sign(key, options) { 11 | const jws = await this._flattened.sign(key, options); 12 | if (jws.payload === undefined) { 13 | throw new TypeError('use the flattened module for creating JWS with b64: false'); 14 | } 15 | return `${jws.protected}.${jws.payload}.${jws.signature}`; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/browser/key/export.js: -------------------------------------------------------------------------------- 1 | import { toSPKI as exportPublic } from '../runtime/asn1.js'; 2 | import { toPKCS8 as exportPrivate } from '../runtime/asn1.js'; 3 | import keyToJWK from '../runtime/key_to_jwk.js'; 4 | export async function exportSPKI(key) { 5 | return exportPublic(key); 6 | } 7 | export async function exportPKCS8(key) { 8 | return exportPrivate(key); 9 | } 10 | export async function exportJWK(key) { 11 | return keyToJWK(key); 12 | } 13 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/browser/key/generate_key_pair.js: -------------------------------------------------------------------------------- 1 | import { generateKeyPair as generate } from '../runtime/generate.js'; 2 | export async function generateKeyPair(alg, options) { 3 | return generate(alg, options); 4 | } 5 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/browser/key/generate_secret.js: -------------------------------------------------------------------------------- 1 | import { generateSecret as generate } from '../runtime/generate.js'; 2 | export async function generateSecret(alg, options) { 3 | return generate(alg, options); 4 | } 5 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/browser/lib/aesgcmkw.js: -------------------------------------------------------------------------------- 1 | import encrypt from '../runtime/encrypt.js'; 2 | import decrypt from '../runtime/decrypt.js'; 3 | import generateIv from './iv.js'; 4 | import { encode as base64url } from '../runtime/base64url.js'; 5 | export async function wrap(alg, key, cek, iv) { 6 | const jweAlgorithm = alg.slice(0, 7); 7 | iv || (iv = generateIv(jweAlgorithm)); 8 | const { ciphertext: encryptedKey, tag } = await encrypt(jweAlgorithm, cek, key, iv, new Uint8Array(0)); 9 | return { encryptedKey, iv: base64url(iv), tag: base64url(tag) }; 10 | } 11 | export async function unwrap(alg, key, encryptedKey, iv, tag) { 12 | const jweAlgorithm = alg.slice(0, 7); 13 | return decrypt(jweAlgorithm, key, encryptedKey, iv, tag, new Uint8Array(0)); 14 | } 15 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/browser/lib/cek.js: -------------------------------------------------------------------------------- 1 | import { JOSENotSupported } from '../util/errors.js'; 2 | import random from '../runtime/random.js'; 3 | export function bitLength(alg) { 4 | switch (alg) { 5 | case 'A128GCM': 6 | return 128; 7 | case 'A192GCM': 8 | return 192; 9 | case 'A256GCM': 10 | case 'A128CBC-HS256': 11 | return 256; 12 | case 'A192CBC-HS384': 13 | return 384; 14 | case 'A256CBC-HS512': 15 | return 512; 16 | default: 17 | throw new JOSENotSupported(`Unsupported JWE Algorithm: ${alg}`); 18 | } 19 | } 20 | export default (alg) => random(new Uint8Array(bitLength(alg) >> 3)); 21 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/browser/lib/check_iv_length.js: -------------------------------------------------------------------------------- 1 | import { JWEInvalid } from '../util/errors.js'; 2 | import { bitLength } from './iv.js'; 3 | const checkIvLength = (enc, iv) => { 4 | if (iv.length << 3 !== bitLength(enc)) { 5 | throw new JWEInvalid('Invalid Initialization Vector length'); 6 | } 7 | }; 8 | export default checkIvLength; 9 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/browser/lib/check_p2s.js: -------------------------------------------------------------------------------- 1 | import { JWEInvalid } from '../util/errors.js'; 2 | export default function checkP2s(p2s) { 3 | if (!(p2s instanceof Uint8Array) || p2s.length < 8) { 4 | throw new JWEInvalid('PBES2 Salt Input must be 8 or more octets'); 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/browser/lib/epoch.js: -------------------------------------------------------------------------------- 1 | export default (date) => Math.floor(date.getTime() / 1000); 2 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/browser/lib/format_pem.js: -------------------------------------------------------------------------------- 1 | export default (b64, descriptor) => { 2 | const newlined = (b64.match(/.{1,64}/g) || []).join('\n'); 3 | return `-----BEGIN ${descriptor}-----\n${newlined}\n-----END ${descriptor}-----`; 4 | }; 5 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/browser/lib/is_disjoint.js: -------------------------------------------------------------------------------- 1 | const isDisjoint = (...headers) => { 2 | const sources = headers.filter(Boolean); 3 | if (sources.length === 0 || sources.length === 1) { 4 | return true; 5 | } 6 | let acc; 7 | for (const header of sources) { 8 | const parameters = Object.keys(header); 9 | if (!acc || acc.size === 0) { 10 | acc = new Set(parameters); 11 | continue; 12 | } 13 | for (const parameter of parameters) { 14 | if (acc.has(parameter)) { 15 | return false; 16 | } 17 | acc.add(parameter); 18 | } 19 | } 20 | return true; 21 | }; 22 | export default isDisjoint; 23 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/browser/lib/is_object.js: -------------------------------------------------------------------------------- 1 | function isObjectLike(value) { 2 | return typeof value === 'object' && value !== null; 3 | } 4 | export default function isObject(input) { 5 | if (!isObjectLike(input) || Object.prototype.toString.call(input) !== '[object Object]') { 6 | return false; 7 | } 8 | if (Object.getPrototypeOf(input) === null) { 9 | return true; 10 | } 11 | let proto = input; 12 | while (Object.getPrototypeOf(proto) !== null) { 13 | proto = Object.getPrototypeOf(proto); 14 | } 15 | return Object.getPrototypeOf(input) === proto; 16 | } 17 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/browser/lib/iv.js: -------------------------------------------------------------------------------- 1 | import { JOSENotSupported } from '../util/errors.js'; 2 | import random from '../runtime/random.js'; 3 | export function bitLength(alg) { 4 | switch (alg) { 5 | case 'A128GCM': 6 | case 'A128GCMKW': 7 | case 'A192GCM': 8 | case 'A192GCMKW': 9 | case 'A256GCM': 10 | case 'A256GCMKW': 11 | return 96; 12 | case 'A128CBC-HS256': 13 | case 'A192CBC-HS384': 14 | case 'A256CBC-HS512': 15 | return 128; 16 | default: 17 | throw new JOSENotSupported(`Unsupported JWE Algorithm: ${alg}`); 18 | } 19 | } 20 | export default (alg) => random(new Uint8Array(bitLength(alg) >> 3)); 21 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/browser/lib/validate_algorithms.js: -------------------------------------------------------------------------------- 1 | const validateAlgorithms = (option, algorithms) => { 2 | if (algorithms !== undefined && 3 | (!Array.isArray(algorithms) || algorithms.some((s) => typeof s !== 'string'))) { 4 | throw new TypeError(`"${option}" option must be an array of strings`); 5 | } 6 | if (!algorithms) { 7 | return undefined; 8 | } 9 | return new Set(algorithms); 10 | }; 11 | export default validateAlgorithms; 12 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/browser/package.json: -------------------------------------------------------------------------------- 1 | {"type": "module"} 2 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/browser/runtime/bogus.js: -------------------------------------------------------------------------------- 1 | const bogusWebCrypto = [ 2 | { hash: 'SHA-256', name: 'HMAC' }, 3 | true, 4 | ['sign'], 5 | ]; 6 | export default bogusWebCrypto; 7 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/browser/runtime/check_cek_length.js: -------------------------------------------------------------------------------- 1 | import { JWEInvalid } from '../util/errors.js'; 2 | const checkCekLength = (cek, expected) => { 3 | if (cek.length << 3 !== expected) { 4 | throw new JWEInvalid('Invalid Content Encryption Key length'); 5 | } 6 | }; 7 | export default checkCekLength; 8 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/browser/runtime/check_key_length.js: -------------------------------------------------------------------------------- 1 | export default (alg, key) => { 2 | if (alg.startsWith('RS') || alg.startsWith('PS')) { 3 | const { modulusLength } = key.algorithm; 4 | if (typeof modulusLength !== 'number' || modulusLength < 2048) { 5 | throw new TypeError(`${alg} requires key modulusLength to be 2048 bits or larger`); 6 | } 7 | } 8 | }; 9 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/browser/runtime/digest.js: -------------------------------------------------------------------------------- 1 | import crypto from './webcrypto.js'; 2 | const digest = async (algorithm, data) => { 3 | const subtleDigest = `SHA-${algorithm.slice(-3)}`; 4 | return new Uint8Array(await crypto.subtle.digest(subtleDigest, data)); 5 | }; 6 | export default digest; 7 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/browser/runtime/env.js: -------------------------------------------------------------------------------- 1 | export function isCloudflareWorkers() { 2 | return typeof WebSocketPair === 'function'; 3 | } 4 | export function isNodeJs() { 5 | try { 6 | return process.versions.node !== undefined; 7 | } 8 | catch (_a) { 9 | return false; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/browser/runtime/get_sign_verify_key.js: -------------------------------------------------------------------------------- 1 | import crypto, { isCryptoKey } from './webcrypto.js'; 2 | import { checkSigCryptoKey } from '../lib/crypto_key.js'; 3 | import invalidKeyInput from '../lib/invalid_key_input.js'; 4 | import { types } from './is_key_like.js'; 5 | export default function getCryptoKey(alg, key, usage) { 6 | if (isCryptoKey(key)) { 7 | checkSigCryptoKey(key, alg, usage); 8 | return key; 9 | } 10 | if (key instanceof Uint8Array) { 11 | if (!alg.startsWith('HS')) { 12 | throw new TypeError(invalidKeyInput(key, ...types)); 13 | } 14 | return crypto.subtle.importKey('raw', key, { hash: `SHA-${alg.slice(-3)}`, name: 'HMAC' }, false, [usage]); 15 | } 16 | throw new TypeError(invalidKeyInput(key, ...types, 'Uint8Array')); 17 | } 18 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/browser/runtime/is_key_like.js: -------------------------------------------------------------------------------- 1 | import { isCryptoKey } from './webcrypto.js'; 2 | export default (key) => { 3 | return isCryptoKey(key); 4 | }; 5 | export const types = ['CryptoKey']; 6 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/browser/runtime/key_to_jwk.js: -------------------------------------------------------------------------------- 1 | import crypto, { isCryptoKey } from './webcrypto.js'; 2 | import invalidKeyInput from '../lib/invalid_key_input.js'; 3 | import { encode as base64url } from './base64url.js'; 4 | import { types } from './is_key_like.js'; 5 | const keyToJWK = async (key) => { 6 | if (key instanceof Uint8Array) { 7 | return { 8 | kty: 'oct', 9 | k: base64url(key), 10 | }; 11 | } 12 | if (!isCryptoKey(key)) { 13 | throw new TypeError(invalidKeyInput(key, ...types, 'Uint8Array')); 14 | } 15 | if (!key.extractable) { 16 | throw new TypeError('non-extractable CryptoKey cannot be exported as a JWK'); 17 | } 18 | const { ext, key_ops, alg, use, ...jwk } = await crypto.subtle.exportKey('jwk', key); 19 | return jwk; 20 | }; 21 | export default keyToJWK; 22 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/browser/runtime/random.js: -------------------------------------------------------------------------------- 1 | import crypto from './webcrypto.js'; 2 | export default crypto.getRandomValues.bind(crypto); 3 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/browser/runtime/sign.js: -------------------------------------------------------------------------------- 1 | import subtleAlgorithm from './subtle_dsa.js'; 2 | import crypto from './webcrypto.js'; 3 | import checkKeyLength from './check_key_length.js'; 4 | import getSignKey from './get_sign_verify_key.js'; 5 | const sign = async (alg, key, data) => { 6 | const cryptoKey = await getSignKey(alg, key, 'sign'); 7 | checkKeyLength(alg, cryptoKey); 8 | const signature = await crypto.subtle.sign(subtleAlgorithm(alg, cryptoKey.algorithm), cryptoKey, data); 9 | return new Uint8Array(signature); 10 | }; 11 | export default sign; 12 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/browser/runtime/subtle_rsaes.js: -------------------------------------------------------------------------------- 1 | import { JOSENotSupported } from '../util/errors.js'; 2 | export default function subtleRsaEs(alg) { 3 | switch (alg) { 4 | case 'RSA-OAEP': 5 | case 'RSA-OAEP-256': 6 | case 'RSA-OAEP-384': 7 | case 'RSA-OAEP-512': 8 | return 'RSA-OAEP'; 9 | default: 10 | throw new JOSENotSupported(`alg ${alg} is not supported either by JOSE or your javascript runtime`); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/browser/runtime/timing_safe_equal.js: -------------------------------------------------------------------------------- 1 | const timingSafeEqual = (a, b) => { 2 | if (!(a instanceof Uint8Array)) { 3 | throw new TypeError('First argument must be a buffer'); 4 | } 5 | if (!(b instanceof Uint8Array)) { 6 | throw new TypeError('Second argument must be a buffer'); 7 | } 8 | if (a.length !== b.length) { 9 | throw new TypeError('Input buffers must have the same length'); 10 | } 11 | const len = a.length; 12 | let out = 0; 13 | let i = -1; 14 | while (++i < len) { 15 | out |= a[i] ^ b[i]; 16 | } 17 | return out === 0; 18 | }; 19 | export default timingSafeEqual; 20 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/browser/runtime/verify.js: -------------------------------------------------------------------------------- 1 | import subtleAlgorithm from './subtle_dsa.js'; 2 | import crypto from './webcrypto.js'; 3 | import checkKeyLength from './check_key_length.js'; 4 | import getVerifyKey from './get_sign_verify_key.js'; 5 | const verify = async (alg, key, signature, data) => { 6 | const cryptoKey = await getVerifyKey(alg, key, 'verify'); 7 | checkKeyLength(alg, cryptoKey); 8 | const algorithm = subtleAlgorithm(alg, cryptoKey.algorithm); 9 | try { 10 | return await crypto.subtle.verify(algorithm, cryptoKey, signature, data); 11 | } 12 | catch (_a) { 13 | return false; 14 | } 15 | }; 16 | export default verify; 17 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/browser/runtime/webcrypto.js: -------------------------------------------------------------------------------- 1 | export default crypto; 2 | export function isCryptoKey(key) { 3 | try { 4 | return (key != null && 5 | typeof key.extractable === 'boolean' && 6 | typeof key.algorithm.name === 'string' && 7 | typeof key.type === 'string'); 8 | } 9 | catch (_a) { 10 | return false; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/browser/runtime/zlib.js: -------------------------------------------------------------------------------- 1 | import { JOSENotSupported } from '../util/errors.js'; 2 | export const inflate = async () => { 3 | throw new JOSENotSupported('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `inflateRaw` decrypt option to provide Inflate Raw implementation.'); 4 | }; 5 | export const deflate = async () => { 6 | throw new JOSENotSupported('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `deflateRaw` encrypt option to provide Deflate Raw implementation.'); 7 | }; 8 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/browser/util/base64url.js: -------------------------------------------------------------------------------- 1 | import * as base64url from '../runtime/base64url.js'; 2 | export const encode = base64url.encode; 3 | export const decode = base64url.decode; 4 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/cjs/key/export.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.exportJWK = exports.exportPKCS8 = exports.exportSPKI = void 0; 4 | const asn1_js_1 = require("../runtime/asn1.js"); 5 | const asn1_js_2 = require("../runtime/asn1.js"); 6 | const key_to_jwk_js_1 = require("../runtime/key_to_jwk.js"); 7 | async function exportSPKI(key) { 8 | return (0, asn1_js_1.toSPKI)(key); 9 | } 10 | exports.exportSPKI = exportSPKI; 11 | async function exportPKCS8(key) { 12 | return (0, asn1_js_2.toPKCS8)(key); 13 | } 14 | exports.exportPKCS8 = exportPKCS8; 15 | async function exportJWK(key) { 16 | return (0, key_to_jwk_js_1.default)(key); 17 | } 18 | exports.exportJWK = exportJWK; 19 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/cjs/key/generate_key_pair.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.generateKeyPair = void 0; 4 | const generate_js_1 = require("../runtime/generate.js"); 5 | async function generateKeyPair(alg, options) { 6 | return (0, generate_js_1.generateKeyPair)(alg, options); 7 | } 8 | exports.generateKeyPair = generateKeyPair; 9 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/cjs/key/generate_secret.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.generateSecret = void 0; 4 | const generate_js_1 = require("../runtime/generate.js"); 5 | async function generateSecret(alg, options) { 6 | return (0, generate_js_1.generateSecret)(alg, options); 7 | } 8 | exports.generateSecret = generateSecret; 9 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/cjs/lib/check_iv_length.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const errors_js_1 = require("../util/errors.js"); 4 | const iv_js_1 = require("./iv.js"); 5 | const checkIvLength = (enc, iv) => { 6 | if (iv.length << 3 !== (0, iv_js_1.bitLength)(enc)) { 7 | throw new errors_js_1.JWEInvalid('Invalid Initialization Vector length'); 8 | } 9 | }; 10 | exports.default = checkIvLength; 11 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/cjs/lib/check_p2s.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const errors_js_1 = require("../util/errors.js"); 4 | function checkP2s(p2s) { 5 | if (!(p2s instanceof Uint8Array) || p2s.length < 8) { 6 | throw new errors_js_1.JWEInvalid('PBES2 Salt Input must be 8 or more octets'); 7 | } 8 | } 9 | exports.default = checkP2s; 10 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/cjs/lib/epoch.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.default = (date) => Math.floor(date.getTime() / 1000); 4 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/cjs/lib/format_pem.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.default = (b64, descriptor) => { 4 | const newlined = (b64.match(/.{1,64}/g) || []).join('\n'); 5 | return `-----BEGIN ${descriptor}-----\n${newlined}\n-----END ${descriptor}-----`; 6 | }; 7 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/cjs/lib/is_disjoint.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const isDisjoint = (...headers) => { 4 | const sources = headers.filter(Boolean); 5 | if (sources.length === 0 || sources.length === 1) { 6 | return true; 7 | } 8 | let acc; 9 | for (const header of sources) { 10 | const parameters = Object.keys(header); 11 | if (!acc || acc.size === 0) { 12 | acc = new Set(parameters); 13 | continue; 14 | } 15 | for (const parameter of parameters) { 16 | if (acc.has(parameter)) { 17 | return false; 18 | } 19 | acc.add(parameter); 20 | } 21 | } 22 | return true; 23 | }; 24 | exports.default = isDisjoint; 25 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/cjs/lib/is_object.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | function isObjectLike(value) { 4 | return typeof value === 'object' && value !== null; 5 | } 6 | function isObject(input) { 7 | if (!isObjectLike(input) || Object.prototype.toString.call(input) !== '[object Object]') { 8 | return false; 9 | } 10 | if (Object.getPrototypeOf(input) === null) { 11 | return true; 12 | } 13 | let proto = input; 14 | while (Object.getPrototypeOf(proto) !== null) { 15 | proto = Object.getPrototypeOf(proto); 16 | } 17 | return Object.getPrototypeOf(input) === proto; 18 | } 19 | exports.default = isObject; 20 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/cjs/lib/validate_algorithms.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const validateAlgorithms = (option, algorithms) => { 4 | if (algorithms !== undefined && 5 | (!Array.isArray(algorithms) || algorithms.some((s) => typeof s !== 'string'))) { 6 | throw new TypeError(`"${option}" option must be an array of strings`); 7 | } 8 | if (!algorithms) { 9 | return undefined; 10 | } 11 | return new Set(algorithms); 12 | }; 13 | exports.default = validateAlgorithms; 14 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/cjs/runtime/cbc_tag.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const crypto_1 = require("crypto"); 4 | const buffer_utils_js_1 = require("../lib/buffer_utils.js"); 5 | function cbcTag(aad, iv, ciphertext, macSize, macKey, keySize) { 6 | const macData = (0, buffer_utils_js_1.concat)(aad, iv, ciphertext, (0, buffer_utils_js_1.uint64be)(aad.length << 3)); 7 | const hmac = (0, crypto_1.createHmac)(`sha${macSize}`, macKey); 8 | hmac.update(macData); 9 | return hmac.digest().slice(0, keySize >> 3); 10 | } 11 | exports.default = cbcTag; 12 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/cjs/runtime/ciphers.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const crypto_1 = require("crypto"); 4 | let ciphers; 5 | exports.default = (algorithm) => { 6 | ciphers || (ciphers = new Set((0, crypto_1.getCiphers)())); 7 | return ciphers.has(algorithm); 8 | }; 9 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/cjs/runtime/digest.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const crypto_1 = require("crypto"); 4 | const digest = (algorithm, data) => (0, crypto_1.createHash)(algorithm).update(data).digest(); 5 | exports.default = digest; 6 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/cjs/runtime/dsa_digest.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const errors_js_1 = require("../util/errors.js"); 4 | function dsaDigest(alg) { 5 | switch (alg) { 6 | case 'PS256': 7 | case 'RS256': 8 | case 'ES256': 9 | case 'ES256K': 10 | return 'sha256'; 11 | case 'PS384': 12 | case 'RS384': 13 | case 'ES384': 14 | return 'sha384'; 15 | case 'PS512': 16 | case 'RS512': 17 | case 'ES512': 18 | return 'sha512'; 19 | case 'EdDSA': 20 | return undefined; 21 | default: 22 | throw new errors_js_1.JOSENotSupported(`alg ${alg} is not supported either by JOSE or your javascript runtime`); 23 | } 24 | } 25 | exports.default = dsaDigest; 26 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/cjs/runtime/env.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.isNodeJs = exports.isCloudflareWorkers = void 0; 4 | function isCloudflareWorkers() { 5 | return false; 6 | } 7 | exports.isCloudflareWorkers = isCloudflareWorkers; 8 | function isNodeJs() { 9 | return true; 10 | } 11 | exports.isNodeJs = isNodeJs; 12 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/cjs/runtime/hmac_digest.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const errors_js_1 = require("../util/errors.js"); 4 | function hmacDigest(alg) { 5 | switch (alg) { 6 | case 'HS256': 7 | return 'sha256'; 8 | case 'HS384': 9 | return 'sha384'; 10 | case 'HS512': 11 | return 'sha512'; 12 | default: 13 | throw new errors_js_1.JOSENotSupported(`alg ${alg} is not supported either by JOSE or your javascript runtime`); 14 | } 15 | } 16 | exports.default = hmacDigest; 17 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/cjs/runtime/is_key_like.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.types = void 0; 4 | const webcrypto_js_1 = require("./webcrypto.js"); 5 | const is_key_object_js_1 = require("./is_key_object.js"); 6 | exports.default = (key) => (0, is_key_object_js_1.default)(key) || (0, webcrypto_js_1.isCryptoKey)(key); 7 | const types = ['KeyObject']; 8 | exports.types = types; 9 | if (parseInt(process.versions.node) >= 16) { 10 | types.push('CryptoKey'); 11 | } 12 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/cjs/runtime/is_key_object.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const crypto_1 = require("crypto"); 4 | const util = require("util"); 5 | exports.default = util.types.isKeyObject 6 | ? (obj) => util.types.isKeyObject(obj) 7 | : (obj) => obj != null && obj instanceof crypto_1.KeyObject; 8 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/cjs/runtime/random.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.default = void 0; 4 | var crypto_1 = require("crypto"); 5 | Object.defineProperty(exports, "default", { enumerable: true, get: function () { return crypto_1.randomFillSync; } }); 6 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/cjs/runtime/timing_safe_equal.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const crypto_1 = require("crypto"); 4 | const timingSafeEqual = crypto_1.timingSafeEqual; 5 | exports.default = timingSafeEqual; 6 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/cjs/runtime/webcrypto.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.isCryptoKey = void 0; 4 | const crypto = require("crypto"); 5 | const util = require("util"); 6 | const webcrypto = crypto.webcrypto; 7 | exports.default = webcrypto; 8 | exports.isCryptoKey = util.types.isCryptoKey 9 | ? (obj) => util.types.isCryptoKey(obj) 10 | : 11 | (obj) => false; 12 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/cjs/runtime/zlib.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.deflate = exports.inflate = void 0; 4 | const util_1 = require("util"); 5 | const zlib_1 = require("zlib"); 6 | const inflateRaw = (0, util_1.promisify)(zlib_1.inflateRaw); 7 | const deflateRaw = (0, util_1.promisify)(zlib_1.deflateRaw); 8 | const inflate = (input) => inflateRaw(input); 9 | exports.inflate = inflate; 10 | const deflate = (input) => deflateRaw(input); 11 | exports.deflate = deflate; 12 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/cjs/util/base64url.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.decode = exports.encode = void 0; 4 | const base64url = require("../runtime/base64url.js"); 5 | exports.encode = base64url.encode; 6 | exports.decode = base64url.decode; 7 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/esm/jwk/embedded.js: -------------------------------------------------------------------------------- 1 | import { importJWK } from '../key/import.js'; 2 | import isObject from '../lib/is_object.js'; 3 | import { JWSInvalid } from '../util/errors.js'; 4 | export async function EmbeddedJWK(protectedHeader, token) { 5 | const joseHeader = { 6 | ...protectedHeader, 7 | ...token.header, 8 | }; 9 | if (!isObject(joseHeader.jwk)) { 10 | throw new JWSInvalid('"jwk" (JSON Web Key) Header Parameter must be a JSON object'); 11 | } 12 | const key = await importJWK({ ...joseHeader.jwk, ext: true }, joseHeader.alg, true); 13 | if (key instanceof Uint8Array || key.type !== 'public') { 14 | throw new JWSInvalid('"jwk" (JSON Web Key) Header Parameter must be a public key'); 15 | } 16 | return key; 17 | } 18 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/esm/jws/compact/sign.js: -------------------------------------------------------------------------------- 1 | import { FlattenedSign } from '../flattened/sign.js'; 2 | export class CompactSign { 3 | constructor(payload) { 4 | this._flattened = new FlattenedSign(payload); 5 | } 6 | setProtectedHeader(protectedHeader) { 7 | this._flattened.setProtectedHeader(protectedHeader); 8 | return this; 9 | } 10 | async sign(key, options) { 11 | const jws = await this._flattened.sign(key, options); 12 | if (jws.payload === undefined) { 13 | throw new TypeError('use the flattened module for creating JWS with b64: false'); 14 | } 15 | return `${jws.protected}.${jws.payload}.${jws.signature}`; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/esm/key/export.js: -------------------------------------------------------------------------------- 1 | import { toSPKI as exportPublic } from '../runtime/asn1.js'; 2 | import { toPKCS8 as exportPrivate } from '../runtime/asn1.js'; 3 | import keyToJWK from '../runtime/key_to_jwk.js'; 4 | export async function exportSPKI(key) { 5 | return exportPublic(key); 6 | } 7 | export async function exportPKCS8(key) { 8 | return exportPrivate(key); 9 | } 10 | export async function exportJWK(key) { 11 | return keyToJWK(key); 12 | } 13 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/esm/key/generate_key_pair.js: -------------------------------------------------------------------------------- 1 | import { generateKeyPair as generate } from '../runtime/generate.js'; 2 | export async function generateKeyPair(alg, options) { 3 | return generate(alg, options); 4 | } 5 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/esm/key/generate_secret.js: -------------------------------------------------------------------------------- 1 | import { generateSecret as generate } from '../runtime/generate.js'; 2 | export async function generateSecret(alg, options) { 3 | return generate(alg, options); 4 | } 5 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/esm/lib/aesgcmkw.js: -------------------------------------------------------------------------------- 1 | import encrypt from '../runtime/encrypt.js'; 2 | import decrypt from '../runtime/decrypt.js'; 3 | import generateIv from './iv.js'; 4 | import { encode as base64url } from '../runtime/base64url.js'; 5 | export async function wrap(alg, key, cek, iv) { 6 | const jweAlgorithm = alg.slice(0, 7); 7 | iv || (iv = generateIv(jweAlgorithm)); 8 | const { ciphertext: encryptedKey, tag } = await encrypt(jweAlgorithm, cek, key, iv, new Uint8Array(0)); 9 | return { encryptedKey, iv: base64url(iv), tag: base64url(tag) }; 10 | } 11 | export async function unwrap(alg, key, encryptedKey, iv, tag) { 12 | const jweAlgorithm = alg.slice(0, 7); 13 | return decrypt(jweAlgorithm, key, encryptedKey, iv, tag, new Uint8Array(0)); 14 | } 15 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/esm/lib/cek.js: -------------------------------------------------------------------------------- 1 | import { JOSENotSupported } from '../util/errors.js'; 2 | import random from '../runtime/random.js'; 3 | export function bitLength(alg) { 4 | switch (alg) { 5 | case 'A128GCM': 6 | return 128; 7 | case 'A192GCM': 8 | return 192; 9 | case 'A256GCM': 10 | case 'A128CBC-HS256': 11 | return 256; 12 | case 'A192CBC-HS384': 13 | return 384; 14 | case 'A256CBC-HS512': 15 | return 512; 16 | default: 17 | throw new JOSENotSupported(`Unsupported JWE Algorithm: ${alg}`); 18 | } 19 | } 20 | export default (alg) => random(new Uint8Array(bitLength(alg) >> 3)); 21 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/esm/lib/check_iv_length.js: -------------------------------------------------------------------------------- 1 | import { JWEInvalid } from '../util/errors.js'; 2 | import { bitLength } from './iv.js'; 3 | const checkIvLength = (enc, iv) => { 4 | if (iv.length << 3 !== bitLength(enc)) { 5 | throw new JWEInvalid('Invalid Initialization Vector length'); 6 | } 7 | }; 8 | export default checkIvLength; 9 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/esm/lib/check_p2s.js: -------------------------------------------------------------------------------- 1 | import { JWEInvalid } from '../util/errors.js'; 2 | export default function checkP2s(p2s) { 3 | if (!(p2s instanceof Uint8Array) || p2s.length < 8) { 4 | throw new JWEInvalid('PBES2 Salt Input must be 8 or more octets'); 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/esm/lib/epoch.js: -------------------------------------------------------------------------------- 1 | export default (date) => Math.floor(date.getTime() / 1000); 2 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/esm/lib/format_pem.js: -------------------------------------------------------------------------------- 1 | export default (b64, descriptor) => { 2 | const newlined = (b64.match(/.{1,64}/g) || []).join('\n'); 3 | return `-----BEGIN ${descriptor}-----\n${newlined}\n-----END ${descriptor}-----`; 4 | }; 5 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/esm/lib/is_disjoint.js: -------------------------------------------------------------------------------- 1 | const isDisjoint = (...headers) => { 2 | const sources = headers.filter(Boolean); 3 | if (sources.length === 0 || sources.length === 1) { 4 | return true; 5 | } 6 | let acc; 7 | for (const header of sources) { 8 | const parameters = Object.keys(header); 9 | if (!acc || acc.size === 0) { 10 | acc = new Set(parameters); 11 | continue; 12 | } 13 | for (const parameter of parameters) { 14 | if (acc.has(parameter)) { 15 | return false; 16 | } 17 | acc.add(parameter); 18 | } 19 | } 20 | return true; 21 | }; 22 | export default isDisjoint; 23 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/esm/lib/is_object.js: -------------------------------------------------------------------------------- 1 | function isObjectLike(value) { 2 | return typeof value === 'object' && value !== null; 3 | } 4 | export default function isObject(input) { 5 | if (!isObjectLike(input) || Object.prototype.toString.call(input) !== '[object Object]') { 6 | return false; 7 | } 8 | if (Object.getPrototypeOf(input) === null) { 9 | return true; 10 | } 11 | let proto = input; 12 | while (Object.getPrototypeOf(proto) !== null) { 13 | proto = Object.getPrototypeOf(proto); 14 | } 15 | return Object.getPrototypeOf(input) === proto; 16 | } 17 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/esm/lib/iv.js: -------------------------------------------------------------------------------- 1 | import { JOSENotSupported } from '../util/errors.js'; 2 | import random from '../runtime/random.js'; 3 | export function bitLength(alg) { 4 | switch (alg) { 5 | case 'A128GCM': 6 | case 'A128GCMKW': 7 | case 'A192GCM': 8 | case 'A192GCMKW': 9 | case 'A256GCM': 10 | case 'A256GCMKW': 11 | return 96; 12 | case 'A128CBC-HS256': 13 | case 'A192CBC-HS384': 14 | case 'A256CBC-HS512': 15 | return 128; 16 | default: 17 | throw new JOSENotSupported(`Unsupported JWE Algorithm: ${alg}`); 18 | } 19 | } 20 | export default (alg) => random(new Uint8Array(bitLength(alg) >> 3)); 21 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/esm/lib/validate_algorithms.js: -------------------------------------------------------------------------------- 1 | const validateAlgorithms = (option, algorithms) => { 2 | if (algorithms !== undefined && 3 | (!Array.isArray(algorithms) || algorithms.some((s) => typeof s !== 'string'))) { 4 | throw new TypeError(`"${option}" option must be an array of strings`); 5 | } 6 | if (!algorithms) { 7 | return undefined; 8 | } 9 | return new Set(algorithms); 10 | }; 11 | export default validateAlgorithms; 12 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/esm/package.json: -------------------------------------------------------------------------------- 1 | {"type": "module"} 2 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/esm/runtime/base64url.js: -------------------------------------------------------------------------------- 1 | import { Buffer } from 'buffer'; 2 | import { decoder } from '../lib/buffer_utils.js'; 3 | let encode; 4 | function normalize(input) { 5 | let encoded = input; 6 | if (encoded instanceof Uint8Array) { 7 | encoded = decoder.decode(encoded); 8 | } 9 | return encoded; 10 | } 11 | if (Buffer.isEncoding('base64url')) { 12 | encode = (input) => Buffer.from(input).toString('base64url'); 13 | } 14 | else { 15 | encode = (input) => Buffer.from(input).toString('base64').replace(/=/g, '').replace(/\+/g, '-').replace(/\//g, '_'); 16 | } 17 | export const decodeBase64 = (input) => Buffer.from(input, 'base64'); 18 | export const encodeBase64 = (input) => Buffer.from(input).toString('base64'); 19 | export { encode }; 20 | export const decode = (input) => Buffer.from(normalize(input), 'base64'); 21 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/esm/runtime/cbc_tag.js: -------------------------------------------------------------------------------- 1 | import { createHmac } from 'crypto'; 2 | import { concat, uint64be } from '../lib/buffer_utils.js'; 3 | export default function cbcTag(aad, iv, ciphertext, macSize, macKey, keySize) { 4 | const macData = concat(aad, iv, ciphertext, uint64be(aad.length << 3)); 5 | const hmac = createHmac(`sha${macSize}`, macKey); 6 | hmac.update(macData); 7 | return hmac.digest().slice(0, keySize >> 3); 8 | } 9 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/esm/runtime/ciphers.js: -------------------------------------------------------------------------------- 1 | import { getCiphers } from 'crypto'; 2 | let ciphers; 3 | export default (algorithm) => { 4 | ciphers || (ciphers = new Set(getCiphers())); 5 | return ciphers.has(algorithm); 6 | }; 7 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/esm/runtime/digest.js: -------------------------------------------------------------------------------- 1 | import { createHash } from 'crypto'; 2 | const digest = (algorithm, data) => createHash(algorithm).update(data).digest(); 3 | export default digest; 4 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/esm/runtime/dsa_digest.js: -------------------------------------------------------------------------------- 1 | import { JOSENotSupported } from '../util/errors.js'; 2 | export default function dsaDigest(alg) { 3 | switch (alg) { 4 | case 'PS256': 5 | case 'RS256': 6 | case 'ES256': 7 | case 'ES256K': 8 | return 'sha256'; 9 | case 'PS384': 10 | case 'RS384': 11 | case 'ES384': 12 | return 'sha384'; 13 | case 'PS512': 14 | case 'RS512': 15 | case 'ES512': 16 | return 'sha512'; 17 | case 'EdDSA': 18 | return undefined; 19 | default: 20 | throw new JOSENotSupported(`alg ${alg} is not supported either by JOSE or your javascript runtime`); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/esm/runtime/env.js: -------------------------------------------------------------------------------- 1 | export function isCloudflareWorkers() { 2 | return false; 3 | } 4 | export function isNodeJs() { 5 | return true; 6 | } 7 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/esm/runtime/hmac_digest.js: -------------------------------------------------------------------------------- 1 | import { JOSENotSupported } from '../util/errors.js'; 2 | export default function hmacDigest(alg) { 3 | switch (alg) { 4 | case 'HS256': 5 | return 'sha256'; 6 | case 'HS384': 7 | return 'sha384'; 8 | case 'HS512': 9 | return 'sha512'; 10 | default: 11 | throw new JOSENotSupported(`alg ${alg} is not supported either by JOSE or your javascript runtime`); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/esm/runtime/is_key_like.js: -------------------------------------------------------------------------------- 1 | import { isCryptoKey } from './webcrypto.js'; 2 | import isKeyObject from './is_key_object.js'; 3 | export default (key) => isKeyObject(key) || isCryptoKey(key); 4 | const types = ['KeyObject']; 5 | if (parseInt(process.versions.node) >= 16) { 6 | types.push('CryptoKey'); 7 | } 8 | export { types }; 9 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/esm/runtime/is_key_object.js: -------------------------------------------------------------------------------- 1 | import { KeyObject } from 'crypto'; 2 | import * as util from 'util'; 3 | export default util.types.isKeyObject 4 | ? (obj) => util.types.isKeyObject(obj) 5 | : (obj) => obj != null && obj instanceof KeyObject; 6 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/esm/runtime/random.js: -------------------------------------------------------------------------------- 1 | export { randomFillSync as default } from 'crypto'; 2 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/esm/runtime/sign.js: -------------------------------------------------------------------------------- 1 | import * as crypto from 'crypto'; 2 | import { promisify } from 'util'; 3 | import nodeDigest from './dsa_digest.js'; 4 | import hmacDigest from './hmac_digest.js'; 5 | import nodeKey from './node_key.js'; 6 | import getSignKey from './get_sign_verify_key.js'; 7 | let oneShotSign; 8 | if (crypto.sign.length > 3) { 9 | oneShotSign = promisify(crypto.sign); 10 | } 11 | else { 12 | oneShotSign = crypto.sign; 13 | } 14 | const sign = async (alg, key, data) => { 15 | const keyObject = getSignKey(alg, key, 'sign'); 16 | if (alg.startsWith('HS')) { 17 | const hmac = crypto.createHmac(hmacDigest(alg), keyObject); 18 | hmac.update(data); 19 | return hmac.digest(); 20 | } 21 | return oneShotSign(nodeDigest(alg), data, nodeKey(alg, keyObject)); 22 | }; 23 | export default sign; 24 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/esm/runtime/timing_safe_equal.js: -------------------------------------------------------------------------------- 1 | import { timingSafeEqual as impl } from 'crypto'; 2 | const timingSafeEqual = impl; 3 | export default timingSafeEqual; 4 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/esm/runtime/webcrypto.js: -------------------------------------------------------------------------------- 1 | import * as crypto from 'crypto'; 2 | import * as util from 'util'; 3 | const webcrypto = crypto.webcrypto; 4 | export default webcrypto; 5 | export const isCryptoKey = util.types.isCryptoKey 6 | ? (obj) => util.types.isCryptoKey(obj) 7 | : 8 | (obj) => false; 9 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/esm/runtime/zlib.js: -------------------------------------------------------------------------------- 1 | import { promisify } from 'util'; 2 | import { inflateRaw as inflateRawCb, deflateRaw as deflateRawCb } from 'zlib'; 3 | const inflateRaw = promisify(inflateRawCb); 4 | const deflateRaw = promisify(deflateRawCb); 5 | export const inflate = (input) => inflateRaw(input); 6 | export const deflate = (input) => deflateRaw(input); 7 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/node/esm/util/base64url.js: -------------------------------------------------------------------------------- 1 | import * as base64url from '../runtime/base64url.js'; 2 | export const encode = base64url.encode; 3 | export const decode = base64url.decode; 4 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/types/util/base64url.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Utility function to encode a string or Uint8Array as a base64url string. 3 | * 4 | * @param input Value that will be base64url-encoded. 5 | */ 6 | interface Base64UrlEncode { 7 | (input: Uint8Array | string): string; 8 | } 9 | /** 10 | * Utility function to decode a base64url encoded string. 11 | * 12 | * @param input Value that will be base64url-decoded. 13 | */ 14 | interface Base64UrlDecode { 15 | (input: Uint8Array | string): Uint8Array; 16 | } 17 | export declare const encode: Base64UrlEncode; 18 | export declare const decode: Base64UrlDecode; 19 | export {}; 20 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/types/util/decode_jwt.d.ts: -------------------------------------------------------------------------------- 1 | import type { JWTPayload } from '../types'; 2 | /** 3 | * Decodes a signed JSON Web Token payload. This does not validate the JWT Claims Set 4 | * types or values. This does not validate the JWS Signature. For a proper 5 | * Signed JWT Claims Set validation and JWS signature verification use `jose.jwtVerify()`. 6 | * For an encrypted JWT Claims Set validation and JWE decryption use `jose.jwtDecrypt()`. 7 | * 8 | * @param jwt JWT token in compact JWS serialization. 9 | * 10 | * @example Usage 11 | * ```js 12 | * const claims = jose.decodeJwt(token) 13 | * console.log(claims) 14 | * ``` 15 | */ 16 | export declare function decodeJwt(jwt: string): JWTPayload; 17 | -------------------------------------------------------------------------------- /server/node_modules/jose/dist/types/util/decode_protected_header.d.ts: -------------------------------------------------------------------------------- 1 | import type { JWSHeaderParameters, JWEHeaderParameters } from '../types'; 2 | export declare type ProtectedHeaderParameters = JWSHeaderParameters & JWEHeaderParameters; 3 | /** 4 | * Decodes the Protected Header of a JWE/JWS/JWT token utilizing any JOSE serialization. 5 | * 6 | * @param token JWE/JWS/JWT token in any JOSE serialization. 7 | * 8 | * @example Usage 9 | * ```js 10 | * const protectedHeader = jose.decodeProtectedHeader(token) 11 | * console.log(protectedHeader) 12 | * ``` 13 | */ 14 | export declare function decodeProtectedHeader(token: string | object): ProtectedHeaderParameters; 15 | -------------------------------------------------------------------------------- /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/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/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/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/passwordless-auth-react/3e5dcd75c1cb1f1592060b4869c66d8723011b47/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/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/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/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/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/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/passwordless-auth-react/3e5dcd75c1cb1f1592060b4869c66d8723011b47/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/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/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/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/passwordless-auth-react/3e5dcd75c1cb1f1592060b4869c66d8723011b47/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/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/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/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/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/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/stytch/dist/envs.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.live = exports.test = void 0; 7 | const test = "https://test.stytch.com/v1/"; 8 | exports.test = test; 9 | const live = "https://api.stytch.com/v1/"; 10 | exports.live = live; -------------------------------------------------------------------------------- /server/node_modules/stytch/dist/shared.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.request = request; 7 | 8 | var _errors = require("./errors"); 9 | 10 | function request(client, config) { 11 | return client.request(config).then(res => res.data).catch(err => { 12 | if (err.response) { 13 | // Received a structured error from the API 14 | throw new _errors.StytchError(err.response.data); 15 | } else if (err.request) { 16 | // No response received for the request. 17 | throw new _errors.RequestError(err.message, err.config); 18 | } else { 19 | // The request couldn't be sent for some reason. 20 | throw new _errors.RequestError(err.message, config); 21 | } 22 | }); 23 | } -------------------------------------------------------------------------------- /server/node_modules/stytch/module.mjs: -------------------------------------------------------------------------------- 1 | export * from "./dist/index.js"; 2 | -------------------------------------------------------------------------------- /server/node_modules/stytch/types/lib/envs.d.ts: -------------------------------------------------------------------------------- 1 | export declare const test = "https://test.stytch.com/v1/"; 2 | export declare const live = "https://api.stytch.com/v1/"; 3 | -------------------------------------------------------------------------------- /server/node_modules/stytch/types/lib/errors.d.ts: -------------------------------------------------------------------------------- 1 | import type { AxiosRequestConfig } from "axios"; 2 | export declare class StytchError extends Error { 3 | status_code: number; 4 | request_id: string; 5 | error_type: string; 6 | error_message: string; 7 | error_url: string; 8 | constructor(data: { 9 | status_code: number; 10 | request_id: string; 11 | error_type: string; 12 | error_message: string; 13 | error_url: string; 14 | }); 15 | } 16 | export declare class RequestError extends Error { 17 | request: AxiosRequestConfig; 18 | constructor(message: string, request: AxiosRequestConfig); 19 | } 20 | export declare class ClientError extends Error { 21 | code: string; 22 | cause: unknown; 23 | constructor(code: string, message: string, cause?: unknown); 24 | } 25 | -------------------------------------------------------------------------------- /server/node_modules/stytch/types/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | export { Client } from "./client"; 2 | export * as envs from "./envs"; 3 | export { UserSearchOperator } from "./users"; 4 | export * from "./errors"; 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/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/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/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/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/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/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( 11 | version instanceof SemVer ? version.version : version, 12 | options 13 | ).inc(release, identifier).version 14 | } catch (er) { 15 | return null 16 | } 17 | } 18 | module.exports = inc 19 | -------------------------------------------------------------------------------- /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((o, k) => { 8 | o[k] = true 9 | return o 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/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/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 | "stytch": "^3.13.1" 14 | } 15 | } 16 | --------------------------------------------------------------------------------